diff --git a/README.md b/README.md index 1b741ba..db92072 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,9 @@ npm run build ### CDN引用 ```bash -https://unpkg.com/hmap-js@1.3.2/dist/HMap.js -https://unpkg.com/hmap-js@1.3.2/dist/HMap.min.js -https://unpkg.com/hmap-js@1.3.2/dist/HMap.css +https://unpkg.com/hmap-js@1.3.4/dist/HMap.js +https://unpkg.com/hmap-js@1.3.4/dist/HMap.min.js +https://unpkg.com/hmap-js@1.3.4/dist/HMap.css ``` ### NPM包管理 diff --git a/dist/HMap.js b/dist/HMap.js index e140589..63ac1e5 100644 --- a/dist/HMap.js +++ b/dist/HMap.js @@ -2435,6 +2435,46 @@ var Layer = function (_mix) { console.log(e); } } + }, { + key: 'createVectorFeatureLayer', + value: function createVectorFeatureLayer(layerName, params) { + try { + var layer = this.getLayerByLayerName(layerName); + if (!(layer instanceof _constants.ol.layer.Vector)) { + layer = null; + } else if (this.map && layer instanceof _constants.ol.layer.Vector && !(params['addLayer'] === false)) { + this.map.removeLayer(layer); + layer = null; + } + if (!layer && params && params['layerUrl'] && params['create']) { + var proj = params['projection'] ? params['projection'] : 'EPSG:3857'; + var style = this.getStyleByParams(params['style']); + layer = new _constants.ol.layer.Vector({ + layerName: layerName, + params: params, + layerType: 'vector', + visible: params['visible'] === false ? params['visible'] : true, + opacity: params['opacity'] && typeof params['opacity'] === 'number' ? params['opacity'] : 1, + source: new _constants.ol.source.Vector({ + format: new _constants.ol.format.GeoJSON(), + crossOrigin: params['crossOrigin'] ? params['crossOrigin'] : undefined, + url: function url(extent) { + return params['layerUrl'] + extent.join(',') + ',' + proj; + }, + wrapX: false, + strategy: _constants.ol.loadingstrategy.bbox + }), + style: style + }); + } + if (this.map && layer && !(params['addLayer'] === false)) { + this.map.addLayer(layer); + } + return layer; + } catch (e) { + console.log(e); + } + } }, { key: 'createWMTSLayer', value: function createWMTSLayer(layerName, params) { @@ -2627,8 +2667,8 @@ var Layer = function (_mix) { value: function removeLayerByLayerName(layerName) { if (this.map) { var layer = this.getLayerByLayerName(layerName); - if (layer && layer instanceof _constants.ol.layer.Vector && layer.getSource() && layer.getSource().clear) { - layer.getSource().clear(); + if (layer) { + this.map.removeLayer(layer); } } } @@ -3961,6 +4001,114 @@ var Feature = function (_mix) { console.log(e); } } + }, { + key: 'getCenterExtentFromLine', + value: function getCenterExtentFromLine(line) { + try { + var geom = null; + if (!(line instanceof _constants.ol.geom.Geometry)) { + geom = new _constants.ol.format.WKT().readGeometry(line); + } + var MultiLine = new _constants.ol.geom.MultiLineString([]); + + if (geom && geom instanceof _constants.ol.geom.LineString) { + MultiLine.appendLineString(geom); + } else if (geom && geom instanceof _constants.ol.geom.MultiLineString) { + var multiGeoms = geom.getLineStrings(); + if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) { + multiGeoms.forEach(function (_geom) { + if (_geom && _geom instanceof _constants.ol.geom.LineString) { + MultiLine.appendLineString(geom); + } + }); + } + } + var extent = this._getExtent(MultiLine); + var center = _constants.ol.extent.getCenter(extent); + return { + extent: extent, + center: center + }; + } catch (e) { + console.error(e); + } + } + }, { + key: 'getCenterExtentFromPolygon', + value: function getCenterExtentFromPolygon(polygon) { + try { + var geom = null; + if (!(polygon instanceof _constants.ol.geom.Geometry)) { + geom = new _constants.ol.format.WKT().readGeometry(polygon); + } + var MultiPolygon = new _constants.ol.geom.MultiPolygon([]); + + if (geom && geom instanceof _constants.ol.geom.Polygon) { + MultiPolygon.appendPolygon(geom); + } else if (geom && geom instanceof _constants.ol.geom.MultiPolygon) { + var multiGeoms = geom.getPolygons(); + if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) { + multiGeoms.forEach(function (_geom) { + if (_geom && _geom instanceof _constants.ol.geom.Polygon) { + MultiPolygon.appendPolygon(geom); + } + }); + } + } + var extent = this._getExtent(MultiPolygon); + var center = _constants.ol.extent.getCenter(extent); + return { + extent: extent, + center: center + }; + } catch (e) { + console.error(e); + } + } + }, { + key: 'getGeomFromGeomData', + value: function getGeomFromGeomData(geomData, options) { + try { + var featureGeom = null; + if (geomData['geomType'] === 'GeoJSON') { + featureGeom = new _constants.ol.format.GeoJSON().readGeometry(geomData['geometry']); + } else if (geomData['geomType'] === 'WKT') { + featureGeom = new _constants.ol.format.WKT().readGeometry(geomData['geometry']); + } else if (geomData['geomType'] === 'EsriJSON') { + featureGeom = new _constants.ol.format.EsriJSON().readGeometry(geomData['geometry']); + } else if (geomData['geomType'] === 'Polyline') { + featureGeom = new _constants.ol.format.Polyline().readGeometry(geomData['geometry']); + } else if (Array.isArray(geomData['geometry']) && geomData['geometry'].length === 2) { + featureGeom = new _constants.ol.geom.Point(geomData['geometry']); + } + return featureGeom; + } catch (e) { + console.log(e); + } + } + }, { + key: 'getCenterExtentFromGeom', + value: function getCenterExtentFromGeom(geomData, options) { + var geom = this.getGeomFromGeomData(geomData, options); + var extent = this._getExtent(geom); + var center = _constants.ol.extent.getCenter(extent); + var bExtent = true; + extent.every(function (item) { + if (item === Infinity || isNaN(item) || item === undefined || item === null) { + bExtent = false; + return false; + } else { + return true; + } + }); + if (bExtent && options['zoomToExtent']) { + this.zoomToExtent(extent, true); + } + return { + extent: extent, + center: center + }; + } }, { key: 'setHeatLayerStyle', value: function setHeatLayerStyle(layerName, params) { @@ -4256,35 +4404,39 @@ var Style = function () { value: function getStyleByParams(options) { try { var style = null; - if (!options) { - style = new _constants.ol.style.Style({ - fill: new _constants.ol.style.Fill({ - color: 'rgba(67, 110, 238, 0.4)' - }), - stroke: new _constants.ol.style.Stroke({ - color: '#4781d9', - width: 2 - }), - image: new _constants.ol.style.Circle({ - radius: 7, + if (typeof options === 'function') { + style = options; + } else { + if (!options) { + style = new _constants.ol.style.Style({ fill: new _constants.ol.style.Fill({ - color: '#ffcc33' + color: 'rgba(67, 110, 238, 0.4)' + }), + stroke: new _constants.ol.style.Stroke({ + color: '#4781d9', + width: 2 + }), + image: new _constants.ol.style.Circle({ + radius: 7, + fill: new _constants.ol.style.Fill({ + color: '#ffcc33' + }) }) - }) - }); - } else { - style = new _constants.ol.style.Style({}); - if (options['stroke'] && this._getStroke(options['stroke'])) { - style.setStroke(this._getStroke(options['stroke'])); - } - if (options['text'] && this._getText(options['text'])) { - style.setText(this._getText(options['text'])); - } - if (options['fill'] && this._getFill(options['fill'])) { - style.setFill(this._getFill(options['fill'])); - } - if (options['icon']) { - style.setImage(this._getImage(options['icon'])); + }); + } else { + style = new _constants.ol.style.Style({}); + if (options['stroke'] && this._getStroke(options['stroke'])) { + style.setStroke(this._getStroke(options['stroke'])); + } + if (options['text'] && this._getText(options['text'])) { + style.setText(this._getText(options['text'])); + } + if (options['fill'] && this._getFill(options['fill'])) { + style.setFill(this._getFill(options['fill'])); + } + if (options['icon']) { + style.setImage(this._getImage(options['icon'])); + } } } return style; @@ -8889,6 +9041,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _mixin = __webpack_require__(46); @@ -8999,15 +9153,16 @@ var Map = function (_mix) { }, { key: '_addCopyRight', value: function _addCopyRight(params) { - var logo = { - href: 'https://aurorafe.github.io', - src: 'data:image/png;base64,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' - }; - if (params['href']) { - logo.href = params['href']; - } - if (params['src']) { - logo.src = params['src']; + var logo = false; + if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) !== 'object') { + logo = { + href: 'https://aurorafe.github.io', + src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACizSURBVHja7J1rjF3Xdd9/a59zX+feO8O3RHIoWhRJkXpRot6x7MSRlLZBPxgGktowWrQ1ECBBgib9VAT+YKBAPjsIkhYu3Lg1HTuJJb8aO3ETP6U2lS2OLDkWJT5mOBxKlDjkzH2/ztmrH865wztzL8mhxDtzz+VZxIVEYiTes8//v/Zaa//X2qKqJJbYrWomWYLEEgIkllhCgMQSSwiQWGIJARJLLCFAYoklBEgssYQAiSWWECCxxBICJJZYQoDEEksIkFhiCQESSywhQGKJJQRILLGEAIkllhAgscQSAiSWWEKAxBJLCJBYYgkBEkssIUBiiSUESCyx0TJ32H/Bf37+wnV/RkURFQCscRAFIx0UF0UQ24l+zgAOEAjoVpBHRO1TKvKYwO3ADmATkBnmMykgwNTkJf7lAz9hW2EJrKDIlR+SaHUvg33Roq8ppKOvH19rAUvAu8AFVV5y4AWQn1pjL4kxanxQjd6pI6CKWhAHFIv6JlwbUbCypr809Z/+Y3wJMATbAuwHHoo+9wIHgc1Aaj2/SLmVY/bSbWzKVUg5HdSuWk4LZEF2CjqnUAp/j8SWABngtugd3AbkFLaB7gWmBU6FlE92gGHY3hDw9leAD4ryCKIgsu54kmgXeLc6yd++/hDWwkN3nCLtBFhrrmwTPlAAeUQwKYN9wUI5glF8SUDkaHaIsEPhKQ33vp+q8qLAD4Bp4GxCgJtjtwNPAB8X9NfBFkE2HEAC5NwOzU6K775+FBE4esdJXBNgrXPlh5oh4OWIYMRgf2ShShgOxZsEPWshoDyiqo9Y5N8jfBv4CvCPwIWEAO/N8qD3Ar+F8O9AzBVUjYYpkHU7NDppvnviQbx0k8M7z+KsJkErBLzcLxgM9gc2JIY7PiToyeeKwL9C+Q0sfy7C54B/AmpJFWjtznULyKcgeB4NPnUF/CP4woFcqk2tneVbrz3Gibc/QEcFMXblE3Wif71fML9iIAcEY1xeEYxV/ZS1+rwIn4ryBkkIcN0dSQ6B/VO1fBaV3XFwkAoUUm0qrRzf+vmjnLiwN0SAWTV52w9/WO6LSJAZbxKIACK7LfJZ4E8FDo1a1GFG7Ls8I9r+smA/jsQrOLAoWbfNQnWSsxdvp9FOgwxAdxCR4F7BfMSEucA47wRRYGQtH7eBfBl4ZpRwN0oE+CiinxPkgTi+YqtCvZ3l4T0neXzfCbxME7XO1djST4JodxhrE3kAw+eAjyYEWGm/jeifAFNxTAtVhUY7w5GpGX7t8HG2FZawgYOqXGvLuEKCXzHh+UBn7EkgwBTCnwC/fWtUgUQGroMVg7E+wEcFPg3siqvnb7SzIfgPTbOlWAZr+rIEEYuqWclvG7oguS8qkX7fQp0hn2OPBAl2gXwaeBvRrzuuhGtxa+0AAvAvEP3jWIO/k+HI7jM8e/g4W4slRGWF5xexIIra1JXfr94J6EmM84Ql0vG3XRj+OMTALRkCySEV+0fAHXEFf8tPcWR3N+wpodZcOQmOwC5iaTVvY2nxQRr13YhpIaL9iTEgDwjyYUGKAo1bICeAOxD5I8Lq0C1FgG2inc8I8mAc35pvDZ0gxZHds/yzw8fZWiyj1qzy/AEiAc3mDqqV/TSbO6nV9tGo7Y1IsGon8KMX8oBBPiQwwa1Cggc14DPAtrEkgIqu+AAZkeCTovZj8QS/Q2Adjuya4dnDx9kysdQHfmMCRCzNxm1UywfptCcR6RD4eaqVgzRqdyDi95OgHeUERwTzlAl1rY3xj4Ws8jFV/SRCRlQQu/ITbwKs+AUW84Cif4Csr3LzZmQsvg0rOw/smuXpQ8fZUlxCfbc/5sfSbNxOpXKQdntTtBv4QIDv56lU7qZRn+onQVc2IatIUB97DqSs8gdq5AHGjQCrbItgf0dV9sbtDbUDBxTu3zXLM/eEnt920n1hD1gaEfg77U09IBdEFJGAwPeolO+mXp9azhP6SODcWiRQZK8N+B2ULWOWA5joI46gHxaCT0gcwQ/ct3OOpw9Ps2XiMrazslbZBX+ruYPqMviD/oQXRcQn8D2q5cM06rvolklXkKC5KhyaHO+cQATU6icU+8sq6qwKm8eBAGYK+CRIbKrcAnQCBxG4b9ccz9zzMlsmF9F2dtXLi6o9rdtCz9+ZHBzj9/43xifwc5RL99Js3B6RIOgnQTcc+lBEgtZYkyCjhk+o6O4xIkCoiBJ4VNBn4vRCOtZBEO7feZZnD7/M5olFtJlddcIbgrzZvI1K6VAIfq4N/isk6GBtJiLBzrD981o5wYcMFKNkeUxJoMivKjyk0SMO+zHXiQBmE8iHUd0UH/AbrAr37jrLs4enQ/C3citeSBjTK63WVsqlQ3Q6ExixA8Kea3m9DtbmKJfuo9m4PSLXABIQSak/ZMBjbLVDim618EGrFKyC1dgToC2irYNigw/GZQhFYAVrHe7feZZfO/QymwaAvxv6tFrbKZcOE/hFjPF5L2f6Im2sTVMu3UereVtPTtEbi/WQoKsdGlMVqcLTDnKPsw6S4PXYAbaqyIMqejQOi2+toRO43L97lmcPH2fTRAnbzg4AP7Sa2yiX7iHw81GZ8727K5EOGqQpl+6h2bw9nDxxlcOyZQHduPYTCEcRHmIdhJFDJ4BYHhXL0ThUfqwKrSDFA7vP8uyhaTYXy9h2ZhWuw2S13dpMudwF/81RconpYIMMlfI9NBs7o+T6KrKJMe4nCINAfciim4dNguHvAKIfRPSeOIC/0c7wwM4Znj00zZZiCfXdAdWegFZrO6XSPfidQuT5b+JyGT8kQekwjcYuRDpXF9DdE5EgNX45gYoeRvQQQj7eOwA8JuHcntFd7B49/7OHp9lcKGE7qVWHXGFNotXeQbl0qCfsGcKaiY+1uZAE9SnEXIUEGpFgLPsJZL9Rc7+j5vaY5wDsYoOETmv1/PV2liNTsz16fmcVIAMg9PyVpUME/sRNC3uuRYIgyIayidoexLT7w6Hot8tS6hxhiXQ8bNKKvUsJ7ow7AbYxouUfq0L9unr+IJI0b6dSvhvfn3jfCe9aayGhbCJPpXyQem0PIq3BO4H0JMZ5xkVA51nhsG8YaovsenTobxrZhNdP8dDuGZ49dJythUGS5vCEt9m8jUrlbvzORLQbrFecEckmglBFCuDl58CuOowLwjcp90fisRdAyxr3MYwiyh2EYzBjTYCRkz4E1uBblyO7Z8OEt3A1Pb+l2bydSjmUNxjZiEyzuxMUqFUOIgi5/BzYzEoS+EAq7CdQFH1BwzGMuTinAbIF2B53AozOegJt6xBYw4O7ZkJhW1TtWa3nDyXNt1GtHKDT3rRB4F9JAr9ToFq5G1By3nnAjfqMI+uEJJAjglGDfdGGA3m9mFaClMlhE8DcSuDvRHr+B29Yz++D2I2GA0iA73tRP8HuqzfVOCAPCuZolBi3Yvva8sDOZAe4CdYOHAQ4smuWpw9Ps7mwdBVJs9Jo3B5JmruqztGoLYbfw48S40Mogue9FXnLntGprTDwlKNhTqA/1TAxzsYtAsIM+1ubWwX8APfvCvX8m9+Xnn8UgNHbT7CTvn4CIhIUwDxqkIclzMTiuRMECQHeT9gT6fnv3zXHM4dfZvNN0vNv+LOt6CfY2UPiHmuE8b953CCPRiRok9itEgJd0fPP8szh46Gqs7la1blKz+8XIz3/6B+phv0EWcrle1B1yOYuIBKsTIybYSVIHhcEwb5sQxKkEvCP9Q7QsQZrhft2neWZe6YHSppvhp5/48OhDjbIUi7dS722B1W3f+dqgmQlJMHDEoI/SMA/tgTo6vkf2H2WXzv8MpuKw9XzjwIJVJ2w0b42harTHw5FibF5PMoJnIQEYxkCWWvwrRNNbJtmsljCtrKDKgw9ev7c0IRt65kYq7pUuifG3hxi7MBzAvOEwYpFX9ZlKUWyA4wD+FVoBimO7D7Ls4deYbIQ6flX2PD0/KNAAtShWjlAvX4HYFY+W/fiPrdnJyCWm16yAwwCf72V4eieMzxzaJpNhRLa6dfzg6XV2hGFPYXYe/6r7QTVyl0gkMudi8KhHl8XAE60E6hFj2tIDOfWI8BY7AC6fDlF2MyyqVDC+qkVF1evp55/JBJjm6Ne3Uu7tTXKbVZlQNFodvPErZ0TxJ4AVoVaOxt6/sPHQ21PsPF6/o11CClEfDLZi6TSpejGygGBvu0Jhx6JSNBJCBCfao8K9XaGh6OwZ0s+upxiJPT8GwV+F1XI52cpFE/jOK1rxzZBlBh3c4IUt9RhWWwJYFVod9Ih+A8fZ2uhhKrBav98/lDPf2gD9PzrD36AfGEWr3AGx2lc5ZqmAbdXZnrCoXREglugOhTLJNiP9PxH75jh6buPszlfGWE9/zqDP38Wr3gGxzQHhD4WYyxqBURWlkjbQDbcCazYUEDXDP9snO8oiN0O0LEOVh0enprhmcPH2VxYQoNrzeeP9PyMuedX8PKz5ItncJ0mqivB360E1Wt7qNb29fxZj7WAXE84lGHsr2uKzQ4gRKpOEY5OzfCRQ9NsypfQzupqT6+e/8DyiHLGNOlVdRCUXOEsheJpjGlFnr/Hyxkfax0a9Smq5f0oBhHF82Yj7ZAzkASW6LAs0hONo/+IDQFagYMrcGT3LB85fJzJfKnvkGvU9fzDAD9i8bxz5IunMaa5EszRbqhqQvBX7iIIPEQCapW7QJV8YS50DqsFdHkwj0Uk6IZDmYQAG2Jt38ExyoNTc3zk0DQThUVsKzcA/OGFdNUVl1OMK/hNBP45CsUziGkt5wFX1sRH1aFen6Ja2U8QeBgnbAqwNkW1uh8x3cOyVbKJBmE/weM9h2Wt8SPByBOgbR1cR3lo91l+9fA0hfwS2hqs5w+rPfHQ87/vsEd8srnzFIsnERP0ef6w1OvQqO+mWt6P7+ejkugVh6E2TbV8EBRy3vwyYVaQwFulHRozEow0ATq+g+vAQ1NnefrQNHkvBP+46Pnfq+cX8cl55ykU30RMp8/zm4gQ9foUtXLk+U1/O1g4gc6l0iVBfh4k6A+HPJAnon6Cn9plUV1CgGGCPzAYgaNTZ/nIoWny+aiZRXpfYCRvaG2jXArr/OFEh3Gt2xlEAnL58xSLbyzrflaHgqoSJbx3EQQ5jLn6ydYVFendKEIuPx+J6laSQLICT4AQ9RhHeqL4r+gImh8YBMMje2d5+vDxMOxZBf5u6DMOev41x/wEZL15JibeiIC+2n+F2uZGfYpKeT9BkMeY62sbuqFPpXI3zfpuuFY/wZhph0aOAIE1WBwe2zvDrx6cxsuGev5+8N/c+fyjDn5jAjxvnuLEm4A/IOZXBKVem6JaOUAQZBFZu6ah6/XDMYxTqHX6c6huP8GTBjkqIXo0IcBNBb9vXR7fO8MvH5zGy5X7pjeMs57/agkvYsl65ylMnMQMCHu6UyEajT1Uq/sJggzG+MgNShm64VCtcoB6fQ+KWXl+0ttP8Evj0U9gRgn8nSDFk3vP8MsHpynkyqifGlDtGe58/pEDP0ouNx9We64CfmMCGvXdVMr7sUG2P3y5QRJYTVGtHqBR30Pf7ZVEoY/pIUGMw6GRIIBVwbcpntp3ig8f/BnFbPWW1vP3gt/z5ihOnFru++0LeySgXt9DpXIQazPvC/wrdgLrUi3fRb26dzm57ks3zKpwKIYk2PAqUGAN7SDFU3ee5oP7XwnBbw39Ohal1dpBpdTV8/sxA7SiqmFYohKONI8CaEVANboXDNAUiODl5ygWTyOm3Qf+bthTr09RKR9AbeamhoIiAdamqVXDzrJ8fjYqkTorSeD2dJa9rLErkW4oAcLRJSH4nzr4ChO5StjMMkjV2dgRjiiPmZ5f1UZhiouTypDKZHHcNCKCGBc0wFrFBm3azSZBu4PVFp53lkJhPjrhNX3VHhGlXttDpbwf1cxQ1kPEYm2WevUuECGfn4kScHdlOBQlxlYU7c4dSicEuKb5VjA4PLXvFE/e9RrFbAj+0ZrP/349PjiuQzrjkc4VcVIZjAg4UdOOSPQoCmpJZRXrW8TOkEpfwjhlVNP0lltELKjSqN8RyRsy0dnHUJ4iHM0eZKhX7gQL+cJMfy6y3E8gWAT9KdDSWEipN4QA7cAhZeCXPnCKJ+96lXymOl56flVQJZXJks1vIp31MI4bhXVKFOyEPxeFeiIubkowmRaO2Y4GD4A9iejbaBRXhDufLGt7rM1GZx9DfRhELEGQo169MwqHZvoFdL39BEZjM5B3XQmghPKGjCs8ufc0Tx74GV6mgvXdFTH/6M3nv5FnDL9jJlcgW9yEm/YQiYCvdtVqXPmnYjF0MNI9cboTZBJ4HewZxDRAM9Tru5fr/MMH/+qdIEutug8RIefNXF1K/ZgQGBd+YqFuR5oE7vqC38VzLU984AxP7n+VbLaC7birEt746vk18v7pbJ7sxBZS6Vzo7/Va3z0kh5F2JFlQIEDEQdmGOPeBBKidpVnbRbV6gMD3ME573Z9OTIANslQr+1Br8fJzVyfBo4I1LrzkQ210SeCuG/gDl4lMwON3nOHx/a+SyVSwnXRf5SHWen5rcdMZcsXNpDJZNAqFrplodsHvtBFHo7xACXwfwSJmEpHDNJubqFTzGwT+lSVSG2SoVfYDMrifoAGSs5iHDaoG/X8KDR1JEgydAL4VAuswmQl48gMzPH7XK6TSFWwnOwD8MdbzW4uIIVMIwx6U64IfVYzTwUm1QcJ8YLFqOXOhzW0TDru3hhSxupNAt6F6OUTXBh/fhIdl6av3EwiRgM4iDws2MOhLwUhKqYdOAFGHTRmfJ+6c4Yl9r+KmK2g7s6JXexz0/Aqkcx7pjBc1nOs1/b6I4rodxG3TCSylmjJ/0ef4mTaXa5ZffyjLlJPCdhwCm8FNp8l6derVGqNwfrnmfoKcYh4LDzv1p6PXTzB0AhzavsjuTZd58q5XcVJltL1a2DYmen4xZLxCWO1RvWrCbkQwBozp0LYtlkoBp97q8Pq8z+l3Oswv+Pzzh3Ls3eGCpgiCNAo4LqRyeZxGBRsEUWK90SS4Tj9BtBOQA3lMEB29foKhE+CZQ6/gZas4qRK2nV3l+cdEz6+Km8ngOOlVFZ5VwBdAlI7fZrFW4423faZn2ry9FNBoWRzHsHOLw4GdKfKZDNbPYFWi2r/guClS6SytehVkNIb23FA/weOj108wdAJsmzwPSqjqHKDnbza3R9qe4uAZlnEI/1XJpTIY111OYq88IxHwhWYn4N1SgzffrvLybJN3FxUMpByhmDNUmsquzQ47J3NAFj+QFTuhESckQKM6WptfDwlEdHA41CE8J+gdyDsCJBg6AUJdz6BFG6f5/Io4aURMVNS8EgEYgU4AcwsNXp2r8vr5OhdLAZm0IZuRZZ9go4rQ1NYMmwo5UIOqXXb0GjIA46QZxZFtyyQoH0QVPO/cyvsJlBX9BMsjV3RjH8fdELCIpd3a1qPnj7mqU8GYsIutF/wtH2YvNnh5psrpC02qrQBjQm+/ep/zfaWQNezd7pFNGYJAV0Y5GpZIxXEiEd3okqBWOQCAVzi3skS6qp9gmQR24/J6d30XaFzn8/cAUiHtCm8vdfjhP5V4eaZGvROQSxmyKXOVDAECq2wtuOzZnMZ1DO2OvWoFaaRrAT39BGIgN2j4Vk8/gcWi0xt3P4G7fgszxnp+ERS7DGw/UDZ5KR69q8DmApx8p8m5BZ9qQ8lmBMf0w1iBu3c5THh+JICTVVSJhHNqY7AcV/oJ1Cr5wtl+EvT0EyzPIt2AnMBdnwWJv57/unuAtaAWMQar4Dqw93bD1G1pHms6vHXJcvJCh1+cb7NQsmRTsswCC6Rdw4FdabJZH7UNkEwUOkQkkPBUWW049UFk1EkQj36CoRMgnEogNBvbY6nnX9PLRgg6bVS7LkwRaeFKG9dApuAw6bncuTPFo/sz/ORkix++3sBLh7lAu6Psvz3F9mJ4qbfQxhhQm40UshqWD9Xi+1dOjUd/J7jBfgKi6tA69hMMnQBBkKXTmaRSOTi28/lFDJ1OExsojiMY6eCYdqQFCrFqRPEygpdxsb7y6nyLSl1JuYJv4dCuFHnPhK0BCI50sAIBmWWvaa3FbzUhHvjnhvsJeknQYl20Q0PPvSuVA1Sr++h0Ni/rfcbOBPyOT6fdxkgTx2mvfE6NQnc/JH5hUthzW4ogEHxf2VIQ9u1wSTm9vkExpo0jrUgJKwR+i067ORKnwDda9ev2E9Rqd0ZrtgoH3X6CJ6Ie4wxQY+i31QydAM3GLvz2JgxjfjmFWoyewMilCKCmr3ajQLUTUDfKnbtdchlotpU7t6XYNumEP6Mrqz3GtHGcNkEQ0Kw3sdYHidvVLSv7Cer1fQycNtFieRapHBUoDH+nG34SHE03GPf5/F5hnkxmBrFNVO6Lglh/+f0pULaWUmCxwK7tDts3O9Sbys7tLpm0DN5axOBIk0DfwnYaKDniOYNkjf0E3dHsRw22YKES+yrQ+A+tCufzn8GYGthTYSeX2Rctr78M/qXAEmj4p9mUcNeUS6Vm2bbdULWWScyqYWtOWAmyb+HKq3g5B2sPEXQ8jBPP6xzX2k9AAcwRE+YH8SbAuIJ/9Xz+djSdoQLBLxBJIWYPkKIWtJfBbyKXIAr7dqdotJTJCRPuDBY2uSaqI7lhGGUvYIPXEXmLXN4Fk6Ja7rZExpgE1+on6CbG7vARmhDgvYY9Ysl2J7atmM/vInoRsT+jo20qOkVT04DihCdZdMXShZzwwIE0roFAoayKCWCzm0II0OAtCH4Oeh7FjXpxz4FCpbIftdnYnqesqZ+g+2iphAAj5fmvPZ/fIEZoBe/wf8qLzPp3ss/bzx3ZTaQktdw0301zN3nQ8SPFKMJl3+eyX2a7ucCEnMLqxTAUwonkQJacNwcQzgH1hzkWZR12guvdTzBkSwhwg0WzK/P5TwwcUW5EaCn8uKQcu/gOF/wLHM6f5dGJQ+zJ3k7R5Mg7WRwxpIxDs2PxNaBuW9SCBm+1LvOP5RPck73IRzen2ZzKYO0VWUQYJli8/DkQQrnB8mAsjSUJrttPkBBgVMKegKz3FhMTJwA74GaWsGz94lKLv1ioc8F38IzldH2eM/XzbE1Psi+7kx3prWSNi+fkaAYtGrbDZb/ETONt3mkvUgt8flEzoEV+Y1uGggPWriSiquLlwwSyGo1GjGuZeU39BAkBNjbsMSYgl5snP/EGMMjzh0XPF5aaHFuo8Y4fMGEAcXAljP6X/CovlV/Hj8YlWtVwRCKCEUNKHFxx2eI61Kzy9cUGqPDxbR45x2B1tTjO4OXOIRoeONogE9tR8YP7CYIBYyETAqy75w/n889TuMq1RAawRnhhscmxi1Uu+hbPrKzrC+Di4JrrezULeEZoWOVbSw1U4JPb8mQcwVrt+W4COHheGA5VSgewNntTJkRvJAlqlQMIkCucGzqhEwJcD/wIue5tjDLY8yOGHy/WObZQ41JgyRp53weYCuSM0LTKtxfrgPJvdhRwzUoShGNTHHLePFYNtcr+aCeIcWKsKWq1O7E2i+PW8HIJATYI/IRTmidODpzP3+31/WG5zrFLdRZ8S0rkpp3eK5AxQkuVv1tqIsC/3VHAiAwOh7w5UKhV9xP42XCcpMSUBDZNPbqgw9uaEGBDPL+XPxvV+fvn85uIAT9YbISe31dckaGIqzISkuC7S020SwIzKBwS8t45DEq5cgANvBu6J2zE3sLQ4//l95hYL/hdVB3y+VkKy5dTmH7PH4H/ixdrLPiKK8NdzLQIDYXvlpp84d0qqooxMuB1Ktn8PMWJUxinjrVp4itCHH5pN9kBVoE/1KfM4BVO4zhNrHVYHmEehvsAfG+pyZcu1VnwA9LGDD3SECAl0AiU75bCcOhfb+/PCZSwXOt586BEdwiEO4FI8o4TAlwn5s/nZ/CKZ3DMAPBHAPqHpRbHLlZZ8C3ZdQB/1xcKkI4S479dagLwyW0F0o6g9soZc3jFqR+SQELZRNDJ4zit5EUnIdBVwK8GLz9LvngG12ks5wHLHtgIivAPi02OLVR5xw9uSrXnvewEaRFaVvmbKP9oBIqYlX3Cqi5IQM6bp1A8het2w6HEkh1gFfgFIVcIY35jWli7+oRXCFT5QanFsYU6b3cCio7Z0AJL2oQk+NZiA1B+c1uegmOWL9vrksCYgLw3jyjhxRo2h4ltYpzsADff84vi5WcpFE9iTLM/4TVCgPL9Uuj5RwH8XctGxPzG5QZ/vVCj7FvEWbkrheFQdyc4iePUsUGyE9zyBFgGvzdHoXgKY9rLSXAv+DtW+cFiky9drHG+HTDhyMiU1ruHZQo8d7nBVy/VWOqEo1l6O9GsdZGocadQPIVx66hN0r9blgBdPX94A3tX0uz0ef62wo9KLY4tVJlv+2xyRm+5FJZlF89dbvC1SzWWOsEKEvQSPuedC2XcTmPArfMJAW4B8Hf1/OcoTpyIwN8f9rRU+XGpwbFLVc63LZud0V0qCxRMeAj33OU6X7tUo+QHAxLjsPHe8+bJF0+BaaLWJAS4lR53Wc8/cQLT18zS1fMrL5aaHLtY43wrYNIxIz+JwQJ5EypLn7vc4LkeEvQ5AIRC/hxedycIi7wJAcY+5scu6/nDHtQBen6BF0stvnixxoWOZdI1sTlA6pIAgecvN3juUp2qb/tOjJXw8rqJ/DlyE2+CaSQEGPewx5jwdLQ4cYJQz98vbOvV87/rW4omfrDohkMCfGOxwV9frNPwbXhD/QoLpdQT+bfIFU+i0lwX7U1CgA2q9mS9eQoTb2CupedfivT8nSBMLGOqHej2E6jCt5YafPlSnZbt1w6pCliHCe8tvImTYU6gTkKA8Qp71qDnN4YfLzY4tlC9aXr+UagO5aJzgm8v1vnSQhV/gIBOEUQdJrzz5IunMaa5coJzQoA4gz/U8xcn3twQPf8okCBjhA7wd0tNvthVkUo/CcBQzJ/DK54CpxWeE+j4E8AdX/CPjp5/o22t/QSCUPDmEaBWOYCNdT/BLboDhINqzcjp+Tfa1tJPoFE/gZefpzAW/QS3GAHCZhYhl5+N9PyNCPxXJM0m+u33lpp8MdLz91zWMra2up/gC+9W8QclxjiIKF6kInWcOtZmxpYD7riBP5ufIV84M7iZZQP1/KOQD9xoP0HOm0dFqVYOoJ08Mob9BGZ8wA+Z/AyF4hlcd3T1/KOwE6y1nyDsLDsfCehq4U6Q7ACjl/Aqlkz+LMXiGdJOK5qs3MPyEdTzb3hOcEP9BOc2sp9gqDVZMxbg985SLJ4m5YSnmb0TQ0ZZz7/RtvZ+Aruqn2DdrnG0hFdmJAToB384JDbnzVGcOEXKCfX8GiM9/yjkBe+ln8Bxm1i7LiSoAW8nBBjg+btDVCcm3iQdYz3/KJDgxvsJTmLWo59AKaFcjDsBWjcX/L16/jcwxscOAH+c9PwbbTfaT5Dz5igWT2GWK21Dwr9wWSX+BFi6mV93XPX8o0CCtfYThKfsUTjkNCMYyRDwz5zAqbgTYIGbcFPeraDnHxUSIPC1yw2ev0o/QXg/geDl5yhMnkJMaxgEqCPyOkZejTkB5C2Qhfcb9twqev5RCYcE+OZig68u1KlfrZ9ADV4uDIfE3PR+ghLIaTAz8SaA2pdQ++b78vxr0fOL8EJpPPT8o0CCnBEC4JtLDb5yjX4CVQfPm6M4cTqarHGTcgLVU9jgNWxwId4EEHkRkV+897BnjXr+UoNjF8dHzz8K1aGcCIFVvr1U5y8uDe4nuHI/wTnyE6cxzk1qqhF5HZEThKXQodnwT4JN6ieovUPV50Zgueb5/Ag/Ktc5drHOQseSSsB/U0mwfD/BYhNDOJD36vcTnAXV6H6CDEaC9xSDKopIahp0EQ2GKsMz67CIlxR9RVSPrx38LoKSL8xQnHhz4Nba1fP/sNzgf75bY8G3uEaSYadDsIwITVX+ttTkf7xbxepV2is1vJ+gWDiFcdqovrfDMlGOA9OsgwZ16HhJ42haMm86JvOiXrcYpNGiKYXiKQrFk4Pn9nT1/Eu3jp5/oy0tQiOAvys1+cLCYBJcuZ/gXHQ/QeO9nhj/A7bzC6zPCl1LLHcABVVdAn4kyNI1wW/TCJbCxJt4hVmM8fv1/NGaf3+pyRcv1rnYuTX0/Bttvf0E/ztqr7x2P8E5CsXuHQvpteNY5JKKeVHFVFUMKibmBAh/qSI/AfP3g3c1RTUNElCYeJN8fhZjOtGU5n49//dKLb54scq7nfW5nCKxlf0EDat8JxIXtoKQBKsFdBCEJJg4hXEbaxzNrqB8D5FpJKriDbmSN3QCWLHdz7zCl3SANEI18vzFk3j52eiStJUxvxjBAj8sh+C/cIvq+UdjJwhJ8DeLDb503fsJzkX3E1yfBAothS8jcn58CBD9UjTAmB854n6lL+EVn8LESfKF2Z57eFeqOhGYrnY4tlDjrXZAPvH8G0qCjAhtC/9rscFXFqpUAxte+r2KBEYs+a6K1Glgr5EYO+J+BWN+CKzbHa9mfRdOLhvcP0Pt2RXgL54iXzgz+BLqaEVfqYaef67VYcJNwD8KljWCr8o3lnr6CeRq9xOci/oJGoP7CdSeNbh/Jsjl9XyGoRPAaO9HQYNXDOazqqYTgv80+cIZYJC2J/L8lTZ//k6N1xodio6TgH+E8oJw+BY8v9jgq5drLPnX6yc4HfUTrHjXHYN8Fg1eMaqrMBNzAriqyx+jCti2EedYyvGf9wqnwzHdMOCQS1AJPf8XLlZ5rdFhi2twEtyNHAnyEo5hfP5Sg68vq0iv1k8wF/UTXDkxNuI8b8Q9BrZtevDS/cS8CtR/26uIXchmy5+ZmHjjFdQMqPOH4P9Ztc2fv1vj5402W6NOLk0wN3K2LKBT+OrlOl+7vJZ+gvA+NkVfcSX1GULVcB9mhv2+10EMZwZ8HFTNCQj+UNXMrQR/KGx7rdrmv79T5eeNDpsdM0CNmNiokSDvhPcMPHe5wfPX7SeYI184PSfW/KGqnBiMk+gzzAhl6DmA269lEgExTcB8R1X/g4j8KbDLCAQivF5r8d/erfLGMvgTzx+nnaBqlecWGwD8RjRtoncMY9hPoPPZ3PzvNWpT3zGOj9pgQ/b3oRNg0/bvX7UmFAQZgK8DOwU+bcXsPFFvy+feqXK61WHSkUTRHFMS1KzyjcUGgvCbWz08x3QFdAq8BfppMN/csv3FNfxfH44vAdbUOK36X8TIOydq7c/+13cqU2daHfGSOn+sSeAZoaHKN5caWOCT2/JkHNRa5lX190T4xprxEescYM3fxHz9KwuV3zrbbL/qiSTVnjGoDuVE8K3ynaUGX7pUoekHrxrV3wK+NTKwGyXHESh/L2I+oWL+UpOwfyxIkDVCPVD9fqn9ly/U2p/AyN9zE3rEx5EACPjACZTftcrvK3o+4UG8KSDoeVR/v6P8bls5QfiOSQhwbcexAHzeqvmYVfN50CABU+zAH1g1n7dqPgZ8XmBhFIt5ozwctwa8hDCn6N+gfBzh1wUpJOAaZZ+vJZTvIPpXCP8X5cIof984TIe+AHzNYqdF5csCHwQ+gsjDCdxGCfn6MvA9RX+k8JqBs3H42nEajz4LOgvyfeCvrdqHBB4COSwi+4EJwCPpjBy2BUADKKvqKdDXFaYNTIOcAMpxepg43g9QAl5S9CVgiyD3WLX3CrIP5D5B94EUFS0gTCYtM+87pAGlIkgJuKxwNgS9nhHknxT9hcLluDalxv2CjMsCr1n0AshpgUtRyDQJbAN2AllGqOwWMzORt383+lwETim8quiMQS5q6JBia6KalBkTu7UZnlhiCQESSywhQGKJJQRILLGEAIkllhAgscQSAiSWWEKAxBJLCJBYYgkBEkssIUBiiSUESCyxhACJJZYQILHEEgIkllhCgMQSSwiQWGIJARJLLCFAYoklBEgssYQAiSWWECCxxEbN/v8AhJUoJvrkO6AAAAAASUVORK5CYII=' + }; + } else if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') { + logo = params; + } else { + logo = false; } return logo; } @@ -9092,6 +9247,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _constants = __webpack_require__(1); @@ -9357,16 +9514,28 @@ var BaseLayers = function () { }, { key: '_getAttribution', value: function _getAttribution(params) { - if (!params) { - params = {}; - params['url'] = 'https://aurorafe.github.io'; - params['messages'] = 'contributors.'; - params['title'] = 'HMap'; - } - var attribution = new _constants.ol.Attribution({ - html: '© ' + '' + params['title'] + ' ' + params['messages'] - }); - return attribution; + try { + var attribution = null; + if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) !== 'object') { + params = {}; + params['url'] = 'https://aurorafe.github.io'; + params['messages'] = 'contributors.'; + params['title'] = 'HMap'; + attribution = new _constants.ol.Attribution({ + html: '© ' + '' + params['title'] + ' ' + params['messages'] + }); + } else if ((typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') { + attribution = new _constants.ol.Attribution({ + html: '© ' + '' + params['title'] + ' ' + params['messages'] + }); + } else { + attribution = undefined; + } + return attribution; + } catch (e) { + console.log(e); + return undefined; + } } }]); @@ -24488,7 +24657,7 @@ module.exports = { "spec": ">=2.4.3 <3.0.0", "type": "range" }, - "E:\\codeRepository\\github\\HMap" + "E:\\github\\HMap" ] ], "_cnpm_publish_time": 1488570791097, @@ -24520,11 +24689,11 @@ module.exports = { "_requiredBy": [ "/" ], - "_resolved": "http://registry.npmjs.org/proj4/-/proj4-2.4.3.tgz", + "_resolved": "https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz", "_shasum": "f3bb7e631bffc047c36a1a3cc14533a03bbe9969", "_shrinkwrap": null, "_spec": "proj4@^2.4.3", - "_where": "E:\\codeRepository\\github\\HMap", + "_where": "E:\\github\\HMap", "author": "", "bugs": { "url": "https://github.com/proj4js/proj4js/issues" @@ -25738,7 +25907,7 @@ function sExpr(v, obj) { module.exports = { "name": "hmap-js", - "version": "1.3.2", + "version": "1.3.4", "private": false, "description": "WEBGIS API", "keywords": [ @@ -25760,8 +25929,6 @@ module.exports = { "test:watch": "mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js" }, "dependencies": { - "echarts": "^3.6.1", - "mathjs": "^3.12.0", "openlayers": "^4.0.1", "proj4": "^2.4.3" }, diff --git a/dist/HMap.js.map b/dist/HMap.js.map index 6f47a2d..7c5e1df 100644 --- a/dist/HMap.js.map +++ b/dist/HMap.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 217cfa0c5a8b0e653abf","webpack:///./~/core-js/modules/_export.js","webpack:///./src/constants.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/proj4/lib/constants/values.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/proj4/lib/common/adjust_lon.js","webpack:///./src/plot/Utils/PlotTypes.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./src/plot/Utils/utils.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./src/plot/Constants.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./src/utils/mixin.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/proj4/lib/common/asinz.js","webpack:///./~/proj4/lib/common/msfnz.js","webpack:///./src/layer/Layer.js","webpack:///./src/utils/utils.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/proj4/lib/common/adjust_lat.js","webpack:///./~/proj4/lib/common/sign.js","webpack:///./src/plot/Geometry/Arrow/AttackArrow.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/proj4/lib/common/e0fn.js","webpack:///./~/proj4/lib/common/e1fn.js","webpack:///./~/proj4/lib/common/e2fn.js","webpack:///./~/proj4/lib/common/e3fn.js","webpack:///./~/proj4/lib/common/mlfn.js","webpack:///./~/proj4/lib/common/phi2z.js","webpack:///./~/proj4/lib/common/tsfnz.js","webpack:///./src/dom/index.js","webpack:///./src/feature/feature.js","webpack:///./src/style/Style.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/proj4/lib/Proj.js","webpack:///./~/proj4/lib/common/gN.js","webpack:///./~/proj4/lib/common/imlfn.js","webpack:///./~/proj4/lib/common/pj_mlfn.js","webpack:///./~/proj4/lib/common/qsfnz.js","webpack:///./~/proj4/lib/match.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/event/Events.js","webpack:///./src/plot/Event/EventType.js","webpack:///./src/plot/Geometry/Arrow/FineArrow.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/mgrs/mgrs.js","webpack:///./~/proj4/lib/common/hypot.js","webpack:///./~/proj4/lib/common/pj_enfn.js","webpack:///./~/proj4/lib/common/pj_inv_mlfn.js","webpack:///./~/proj4/lib/common/sinh.js","webpack:///./~/proj4/lib/common/toPoint.js","webpack:///./~/proj4/lib/defs.js","webpack:///./~/proj4/lib/projString.js","webpack:///./~/proj4/lib/projections/etmerc.js","webpack:///./~/proj4/lib/transform.js","webpack:///./~/wkt-parser/index.js","webpack:///./src/index.js","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./src/config/config.js","webpack:///./src/dom/domUtil.js","webpack:///./src/event/appDrag.js","webpack:///./src/interaction/LayerSpyglass.js","webpack:///./src/interaction/MisplacesGlass.js","webpack:///./src/map/Controls.js","webpack:///./src/map/Interactions.js","webpack:///./src/map/Map.js","webpack:///./src/map/View.js","webpack:///./src/map/baseLayer.js","webpack:///./src/overlay/Overlay.js","webpack:///./src/overlay/Popover.js","webpack:///./src/plot/Event/PlotDraw.js","webpack:///./src/plot/Event/PlotEdit.js","webpack:///./src/plot/Geometry/Arc/Arc.js","webpack:///./src/plot/Geometry/Arrow/AssaultDirection.js","webpack:///./src/plot/Geometry/Arrow/DoubleArrow.js","webpack:///./src/plot/Geometry/Arrow/SquadCombat.js","webpack:///./src/plot/Geometry/Arrow/StraightArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedAttackArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedSquadCombat.js","webpack:///./src/plot/Geometry/Circle/Circle.js","webpack:///./src/plot/Geometry/Circle/Ellipse.js","webpack:///./src/plot/Geometry/Polygon/ClosedCurve.js","webpack:///./src/plot/Geometry/Polygon/FreePolygon.js","webpack:///./src/plot/Geometry/Polygon/GatheringPlace.js","webpack:///./src/plot/Geometry/Polygon/Lune.js","webpack:///./src/plot/Geometry/Polygon/Polygon.js","webpack:///./src/plot/Geometry/Polygon/RectAngle.js","webpack:///./src/plot/Geometry/Polygon/Sector.js","webpack:///./src/plot/Geometry/Polyline/Curve.js","webpack:///./src/plot/Geometry/Polyline/FreeHandLine.js","webpack:///./src/plot/Geometry/Polyline/Polyline.js","webpack:///./src/plot/Geometry/index.js","webpack:///./src/plot/index.js","webpack:///./src/plugins/CoordsTransform.js","webpack:///./src/plugins/GeomCoder.js","webpack:///./src/plugins/LayerSwitcher.js","webpack:///./src/plugins/MeasureTool.js","webpack:///./src/style/MapboxStyle.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_keyof.js","webpack:///./~/core-js/modules/_partial.js","webpack:///./~/core-js/modules/_path.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/shim.js","webpack:///./~/openlayers/dist/ol.js","webpack:///./~/proj4/lib/Point.js","webpack:///./~/proj4/lib/adjust_axis.js","webpack:///./~/proj4/lib/common/adjust_zone.js","webpack:///./~/proj4/lib/common/asinhy.js","webpack:///./~/proj4/lib/common/clens.js","webpack:///./~/proj4/lib/common/clens_cmplx.js","webpack:///./~/proj4/lib/common/cosh.js","webpack:///./~/proj4/lib/common/gatg.js","webpack:///./~/proj4/lib/common/iqsfnz.js","webpack:///./~/proj4/lib/common/log1py.js","webpack:///./~/proj4/lib/common/srat.js","webpack:///./~/proj4/lib/constants/Datum.js","webpack:///./~/proj4/lib/constants/Ellipsoid.js","webpack:///./~/proj4/lib/constants/PrimeMeridian.js","webpack:///./~/proj4/lib/constants/units.js","webpack:///./~/proj4/lib/core.js","webpack:///./~/proj4/lib/datum.js","webpack:///./~/proj4/lib/datumUtils.js","webpack:///./~/proj4/lib/datum_transform.js","webpack:///./~/proj4/lib/deriveConstants.js","webpack:///./~/proj4/lib/extend.js","webpack:///./~/proj4/lib/global.js","webpack:///./~/proj4/lib/index.js","webpack:///./~/proj4/lib/parseCode.js","webpack:///./~/proj4/lib/projections.js","webpack:///./~/proj4/lib/projections/aea.js","webpack:///./~/proj4/lib/projections/aeqd.js","webpack:///./~/proj4/lib/projections/cass.js","webpack:///./~/proj4/lib/projections/cea.js","webpack:///./~/proj4/lib/projections/eqc.js","webpack:///./~/proj4/lib/projections/eqdc.js","webpack:///./~/proj4/lib/projections/gauss.js","webpack:///./~/proj4/lib/projections/gnom.js","webpack:///./~/proj4/lib/projections/krovak.js","webpack:///./~/proj4/lib/projections/laea.js","webpack:///./~/proj4/lib/projections/lcc.js","webpack:///./~/proj4/lib/projections/longlat.js","webpack:///./~/proj4/lib/projections/merc.js","webpack:///./~/proj4/lib/projections/mill.js","webpack:///./~/proj4/lib/projections/moll.js","webpack:///./~/proj4/lib/projections/nzmg.js","webpack:///./~/proj4/lib/projections/omerc.js","webpack:///./~/proj4/lib/projections/ortho.js","webpack:///./~/proj4/lib/projections/poly.js","webpack:///./~/proj4/lib/projections/sinu.js","webpack:///./~/proj4/lib/projections/somerc.js","webpack:///./~/proj4/lib/projections/stere.js","webpack:///./~/proj4/lib/projections/sterea.js","webpack:///./~/proj4/lib/projections/tmerc.js","webpack:///./~/proj4/lib/projections/utm.js","webpack:///./~/proj4/lib/projections/vandg.js","webpack:///./~/proj4/lib/version.js","webpack:///./~/proj4/package.json","webpack:///./~/proj4/projs.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/wkt-parser/parser.js","webpack:///./~/wkt-parser/process.js","webpack:///./package.json"],"names":["X_PI","PI","a","ee","ol","proj4","config","PlotTypes","ARC","CURVE","GATHERING_PLACE","POLYLINE","FREE_LINE","POINT","RECTANGLE","CIRCLE","ELLIPSE","LUNE","SECTOR","CLOSED_CURVE","POLYGON","FREE_POLYGON","ATTACK_ARROW","DOUBLE_ARROW","STRAIGHT_ARROW","FINE_ARROW","ASSAULT_DIRECTION","TAILED_ATTACK_ARROW","SQUAD_COMBAT","TAILED_SQUAD_COMBAT","Constants","MathDistance","pnt1","pnt2","Math","sqrt","pow","wholeDistance","points","distance","Array","isArray","length","forEach","item","index","getBaseLength","Mid","point1","point2","getCircleCenterOfThreePoints","point3","pntA","pntB","pntC","pntD","getIntersectPoint","f","x","y","e","getAzimuth","startPoint","endPoint","azimuth","angle","asin","abs","getAngleOfThreePoints","isClockWise","pnt3","getPointOnLine","t","startPnt","endPnt","getCubicValue","cPnt1","cPnt2","max","min","tp","t2","t3","tp2","tp3","getThirdPoint","clockWise","alpha","dx","cos","dy","sin","inherits","childCtor","parentCtor","TempCtor","prototype","superClass_","constructor","base","me","methodName","varArgs","args","slice","call","arguments","apply","getArcPoints","center","radius","startAngle","endAngle","pnts","angleDiff","i","push","getBisectorNormals","normal","getNormal","bisectorNormalRight","bisectorNormalLeft","dt","dist","uX","uY","d1","d2","ZERO_TOLERANCE","dX1","dY1","dX2","dY2","getLeftMostControlPoint","controlPoints","controlX","controlY","normalRight","mid","pX","pY","n","nX","nY","a11","a12","a22","dX","dY","getRightMostControlPoint","count","normalLeft","getCurvePoints","leftControl","normals","normalPoints","concat","rightControl","FITTING_COUNT","pnt","getBezierPoints","bezierPoints","factor","getBinomialFactor","b","getFactorial","result","getQBSplinePoints","bSplinePoints","m","k","getQuadricBSplineFactor","res","TWO_PI","HALF_PI","mix","mixins","Mix","key","mixin","copyProperties","target","source","Reflect","ownKeys","desc","Object","getOwnPropertyDescriptor","defineProperty","MapboxStyle","Layer","map","Error","layerName","targetLayer","layers","getLayers","getArray","every","layer","get","console","log","error","currentLayer","Group","_layer","Tile","feature","tragetLayer","Feature","getSource","getFeatures","features","feat","params","vectorLayer","getLayerByLayerName","Vector","create","layerType","wrapX","style","Style","fill","Fill","color","stroke","Stroke","width","image","Circle","hasOwnProperty","set","selectable","_vectorLayer","addLayer","Heatmap","removeLayer","gradient","crossOrigin","undefined","blur","shadow","weight","extent","minResolution","maxResolution","opacity","visible","serviceUrl","ooLayer","getTitleLayerByLayerName","TileArcGISRest","url","Image","ImageWMS","LAYERS","STYLES","VERSION","WIDTH","HEIGHT","BBOX","SRS","CRS","REQUEST","TRANSPARENT","TILED","TILESORIGIN","SERVICE","FORMAT","TileWMS","proj","getStyleByParams","format","GeoJSON","join","strategy","loadingstrategy","bbox","projection","projectionExtent","getExtent","size","getWidth","levels","resolutions","matrixIds","z","WMTS","matrixSet","tileGrid","tilegrid","origin","getTopLeft","version","dimensions","TileGrid","tileSize","minZoom","XYZ","opaque","tilePixelRatio","maxZoom","tileUrlFunction","tileCoord","replace","toString","OSM","createXYZ","VectorTile","renderBuffer","renderMode","preload","MVT","overlaps","createMapboxStreetsV6Style","clear","getrandom","t1","isNaN","random","ra","du","round","getuuid","s","hexDigits","substr","floor","stamp","obj","trim","str","splitWords","split","PlotUtils","AttackArrow","geom","Polygon","type","headHeightFactor","headWidthFactor","neckHeightFactor","neckWidthFactor","headTailFactor","setPoints","getPointCount","setCoordinates","getPoints","tailLeft","tailRight","midTail","bonePnts","headPnts","getArrowHeadPoints","neckLeft","neckRight","tailWidthFactor","bodyPnts","getArrowBodyPoints","leftPnts","rightPnts","reverse","midPnt","len","midPnt1","midPnt2","arrowPnts","neckLeftPoint","neckRightPoint","lPoints","rPoints","headHeight","headPnt","tailWidth","headWidth","neckWidth","neckHeight","headEndPnt","neckEndPnt","headLeft","headRight","allLen","widthDif","tempLen","leftBodyPnts","rightBodyPnts","w","left","right","linePnt1","linePnt2","point","symPnt","distance1","distance2","Map","value","generate","updatePoint","DomUtil","id","getFeatureById","getLayerByName","geometry","Geometry","Point","WKT","readGeometry","multiFeatures","bExtent","Infinity","zoomToExtent","adjust","bleft","getBottomLeft","tright","getTopRight","xmin","ymin","xmax","ymax","buffer","isanimation","duration","view","getView","getSize","getCenter","fit","padding","setCenter","animate","coordinate","getMapCurrentExtent","containsXY","calculateExtent","_getGeometryFromPoint","getStyleByPoint","selectStyle","setStyle","attributes","setId","setProperties","_extent","adjustExtent","createVectorLayer","addFeature","multiPoint","MultiPoint","change","pointFeat","addPoint","getGeometry","appendPoint","multiGeoms","_geom","_getExtent","_geometry","setGeometry","info","line","linefeature","paths","readFeature","getStyleByLine","lines","MultiLine","MultiLineString","polyLine","addPolyline","LineString","appendLineString","getLineStrings","polygon","polygonFeature","getStyleByPolygon","polygons","MultiPolygon","polygonFeat","addPolygon","appendPolygon","getPolygons","createHeatMapLayer","setBlur","setRadius","setGradient","setVisible","setOpacity","layerNames","removeFeatureByLayerName","getLayerByFeatuer","removeFeature","ids","removeFeatureById","st","normalStyle","options","Icon","anchor","anchorXUnits","anchorYUnits","src","_getStroke","setStroke","_getText","setText","_getFill","setFill","setImage","_getImage","icon","lineCap","lineJoin","lineDash","lineDashOffset","miterLimit","text","Text","font","offsetX","offsetY","scale","rotation","textAlign","textBaseline","bindListener_","listenerObj","boundListener","evt","listener","bindTo","callOnce","unlistenByKey","findListener_","listeners","optThis","optSetDeleteIndex","ii","deleteIndex","getListeners","listenerMap","ol_lm","getListenerMap_","removeListeners_","removeEventListener","keys","listen","optOnce","addEventListener","listenOnce","unlisten","indexOf","splice","object","property","unlistenAll","CHANGE","CLICK","DBLCLICK","DRAGENTER","DRAGOVER","DROP","ERROR","KEYDOWN","KEYPRESS","LOAD","MOUSEDOWN","MOUSEMOVE","MOUSEOUT","MOUSEUP","MOUSEWHEEL","MSPOINTERDOWN","RESIZE","TOUCHSTART","TOUCHMOVE","TOUCHEND","WHEEL","FineArrow","headAngle","neckAngle","fixPointCount","pList","utils","HMap","require","window","Utils","PlotDraw","PlotEdit","Popover","CoordsTransform","LayerSwitcher","MeasureTool","LayerSpyglass","MisplacesGlass","GeomCoder","nullFunction","interactions","altShiftDragRotate","doubleClickZoom","keyboard","mouseWheelZoom","shiftDragZoom","dragPan","pinchRotate","pinchZoom","zoomDelta","zoomDuration","controls","attribution","attributionOptions","className","rotate","rotateOptions","zoom","zoomOptions","overViewMapVisible","scaleLineVisible","enableRotation","resolution","zoomFactor","logo","document","getElementById","getChildByTagName","container","getElementsByTagName","getElementsByClassName","root","_root","$","querySelector","bind","getClass","elem","getAttribute","getStyle","el","currentStyle","defaultView","css","getComputedStyle","tagName","createElement","appendChild","remove","parent","parentNode","removeChild","empty","firstChild","toFront","toBack","insertBefore","hasClass","name","classList","contains","RegExp","test","addClass","classes","add","setClass","removeClass","String","baseVal","createHidden","element","display","getDomEventKey","fn","context","addListener","eventKey","handler","attachEvent","removeListener","detachEvent","appDrag","interaction","Pointer","handleDownEvent","handleDragEvent","handleMoveEvent","handleUpEvent","customType","coordinate_","cursor_","feature_","previousCursor_","originalEvent","button","forEachFeatureAtPixel","pixel","moveable","dispatchEvent","originEvent","deltaX","deltaY","translate","getTargetElement","cursor","imagery","mousePosition","activate","getEventPixel","event","render","which","preventDefault","renderTool","on","frameState","pixelRatio","ctx","save","beginPath","arc","lineWidth","strokeStyle","clip","restore","half","centerX","centerY","originX","originY","sourceData","getImageData","data","dest","createImageData","destData","j","dI","dJ","sourceI","sourceJ","destOffset","sourceOffset","putImageData","Controls","control","defaults","getControls","extend","ScaleLine","getZoom","delta","View","currentResolution","getResolution","newResolution","constrainResolution","getAnimating","cancelAnimations","easing","easeOut","setResolution","Interactions","addPointHandlerClick","plotDraw","plotEdit","_lastDrawInteractionGeometry","ObservableObj","defs","setProj4","currentMapLines","currentMapPoints","currentMapPolygon","lineLayers","Set","pointLayers","polygonLayers","circleSerachFeat","popupOverlay","mapDiv","_addCopyRight","addBaseLayers","_addView","_addInteractions","_addControls","loadTilesWhileAnimating","loadTilesWhileInteracting","href","updateSize","option","BaseLayers","_view","fullExtent","setExtent","isBaseLayer","_getBaseLayerGroup","layerConfig","labelLayers","_layers","labelLayersConfig","_getXYZLayer","_getWMTSLayer","_getOSMLayer","_getImageWMSLayer","_getTileWMSLayer","_getMapboxVectorTileLayer","_getBaseLayerLabel","_labelLayersLayerNames","configM","labelLayer","baseLayer","createXYZLayer","setAttributions","_getAttribution","createOSMLayer","createWMTSLayer","createImageWMSLayer","createTileWMSLayer","createMapboxVectorTileLayer","Attribution","html","Overlay","getCoordinates","_getCoordinatesFromGeom","overlay","getOverlayById","creatEle","getElementForOverlay","marker","ele","iconOverlay","positioning","offset","stopEvent","setPosition","_addOverLayEvent","addOverlay","setElement","OverLay","onmousedown","onmouseover","selectColor","onmouseout","normalColor","spanEle","eleClass","top","fontSize","borderColor","borderWidth","height","borderRadius","innerHTML","Number","addOverlayPoint","removeOverlay","_id","overLay","_overlays","overlays","getOverlays","removeOverlayById","rOverlays","removeOverlayByLayerName","overlayElement","getElement","iconElement","_overlay","_overlayElement","_iconElement","getOverlayByLayerName","content","enableTouchScroll_","insertFirst","show","coord","HTMLElement","scrollTop","hide","marginLeft","clientWidth","isOpened","isTouchDevice_","createEvent","elm","scrollStartPos","touches","pageY","Events","Observable","plot","plotType","plotParams","mapViewport","getViewport","dblClickZoomInteraction","drawOverlay","drawLayer","disActive","deactiveMapTools","mapFirstClickHandler","removeEventHandlers","activateMapTools","createPlot","setMap","un","mapNextClickHandler","freehand","mapDoubleClickHandler","mapMouseMoveHandler","finishDrawing","drawEnd","getCoordinateFromPixel","getInteractions","DoubleClickZoom","removeInteraction","addInteraction","activePlot","ghostControlPoints","mouseOver","elementTable","activeControlPointId","mapDragPan","getMapParentElement","hiddenDiv","cPnts","getControlPoints","mapElement","controlPointMouseDownHandler","controlPointMouseMoveHandler2","position","stopImmediatePropagation","controlPointMouseMoveHandler","controlPointMouseUpHandler","isPlot","deactivate","setTimeout","plotMouseOverOutHandler","initHelperDom","initControlPoints","plotMouseDownHandler","disableMapDragPan","plotMouseUpHandler","plotMouseMoveHandler","newPoints","p","setPositioning","enableMapDragPan","destroyHelperDom","disconnectEventHandlers","DragPan","setActive","Arc","angle1","angle2","AssaultDirection","DoubleArrow","connPoint","tempPoint4","getTempPoint4","leftArrowPnts","rightArrowPnts","getArrowPoints","llBodyPnts","lArrowPnts","lrBodyPnts","rlBodyPnts","rArrowPnts","rrBodyPnts","SquadCombat","tailPnts","getTailPoints","StraightArrow","maxArrowLength","arrowLengthScale","leftPnt","rightPnt","TailedAttackArrow","swallowTailFactor","swallowTailPnt","TailedSquadCombat","generatePoints","Ellipse","majorRadius","minorRadius","ClosedCurve","FreePolygon","FREEHAND_POLYGON","GatheringPlace","d","Lune","RectAngle","isFill","coordinates","boundingExtent","fromExtent","start","end","Sector","Curve","FreeHandLine","FREEHAND_LINE","Polyline","Plot","_params","lng","lat","ret","outOfChina","dlat","transformlat","dlng","transformlng","radlat","magic","sqrtmagic","mglat","mglng","theta","atan2","bdLng","bdLat","lon","ggLng","ggLat","lontitude","latitude","tan","longtitude","atan","exp","factor_","GeometryLayout","XY","XYM","XYZM","geometryLayout_","geometryLayout","stride","getStrideForLayout","flatCoordinates","decodeDeltas","flipXY","_item","encodeDeltas","layout","encoded","lastNumbers","numbers","decodeFloats","num","encodeFloats","decodeSignedIntegers","encodeSignedIntegers","decodeUnsignedIntegers","encodeUnsignedIntegers","current","shift","charCodeAt","encodeUnsignedInteger","fromCharCode","optDest","optDestOffset","optCoordinates","baseLayers","_getBaseLayers","baseLayerNames","wgs84Sphere","Sphere","measureTypes","measureLength","measureArea","dragPanInteraction","clickCount","drawSketch","draw","beforeMeasurePointerMoveHandler","unByKey","drawPointermove","measureAreaTooltip","measureAreaClick","measureAreaTooltipElement","removeDrawInteraion","measureHelpTooltip","measureLengthClick","ev","addMeasureOverLay","addMeasurecircle","beforeDrawPointMoveHandler","addDrawInteraction","Draw","drawListener","getDragPanInteraction","getDoubleClickZoomInteraction","helpTooltipElement","border","whiteSpace","fontVariant","fontWeight","fontStretch","lineHeight","fontFamily","webkitUserSelect","backgroundColor","dragging","output","formatData","firstElementChild","drawPointerMoveHandler","uuid","createMeasureAreaTooltip","evts","area","getInteriorPoint","getLastCoordinate","addMeasureRemoveButton","sourceProj","getProjection","c1","transform","c2","haversineDistance","getMap","clone","getLinearRing","geodesicArea","tempMeasureTooltip","pos","btnImg","title","groupId","onclick","RemoveMeasure","closeBtn","lastCoord","items","strokedPolygon","iconCache","getIcon","iconName","imgSize","styles","cls","scalerank","labelrank","adminLevel","maritime","disputed","maki","getType","setColor","setWidth","getText","setFont"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,uBAAuB;AAC5G,mEAAmE;AACnE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,yB;;;;;;;;;;;;;;AChCA;;;;AACA;;;;AAIA;;;;;;AAVO,IAAMA,sBAAO,sBAAsB,MAAtB,GAA+B,KAA5C;AACA,IAAMC,kBAAK,wBAAX,CACA,IAAMC,gBAAI,SAAV,CACA,IAAMC,kBAAK,sBAAX;;AASA,IAAMC,sCAAN;AACA,IAAMC,sCAAN;AACA,IAAMC,0CAAN,C;;;;;;ACnBP;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA,uCAAuC,gC;;;;;;;;;;;;;;;;;;;;;;ACHvC;AACA;AACA,kBAAyB;AACzB,oBAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;ACNA;AACA;AACA,E;;;;;;ACFA;AACA;A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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACZA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;;AAEA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,E;;;;;;;;;;;;ACFO,IAAMd,wCAAgB,GAAtB;AACA,IAAM9B,0CAAiB,MAAvB;AACA,IAAM6C,0BAAS3I,KAAKjC,EAAL,GAAU,CAAzB;AACA,IAAM6K,4BAAU5I,KAAKjC,EAAL,GAAU,CAA1B,C;;;;;;ACPP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe;AACxB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,E;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD,OAAO,EAAE;AAC5D,E;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACXA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,4BAA4B;AAC5B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB,0BAA0B,GAAG;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA,OAAO;AACP;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,6CAA6C,EAAE;;AAEtG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,4DAA4D;AAC5D;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,sBAAsB,EAAE,EAAE;AAChD;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,aAAa;AACrC,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,uDAAuD,UAAU;;AAEjE;;AAEA,4FAA4F,wBAAwB;;AAEpH;AACA;AACA,KAAK,UAAU,cAAc;;AAE7B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,gCAAgC;;AAEhD;AACA;AACA;AACA,CAAC,kCAAkC,e;;;;;;AC9dnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACJA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA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1B,EAA6B;AAC3B,aAAKqW,QAAL;AACD;AACF;;;gCAMY;AACX,aAAO,KAAKzW,MAAL,CAAYkE,KAAZ,CAAkB,CAAlB,CAAP;AACD;;;oCAMgB;AACf,aAAO,KAAKlE,MAAL,CAAYI,MAAnB;AACD;;;gCAOY+V,K,EAAO5V,K,EAAO;AACzB,UAAIA,SAAS,CAAT,IAAcA,QAAQ,KAAKP,MAAL,CAAYI,MAAtC,EAA8C;AAC5C,aAAKJ,MAAL,CAAYO,KAAZ,IAAqB4V,KAArB;AACA,aAAKM,QAAL;AACD;AACF;;;oCAMgBN,K,EAAO;AACtB,WAAKO,WAAL,CAAiBP,KAAjB,EAAwB,KAAKnW,MAAL,CAAYI,MAAZ,GAAqB,CAA7C;AACD;;;oCAKgB,CAChB;;;;EA1QwB,cAAGwS,IAAH,CAAQC,O;;kBA6QpBF,W;;;;;;;ACvRf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,WAAW,eAAe;AAC/B;AACA,KAAK;AACL;AACA,E;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,kCAAkC,gCAAgC,aAAa;AACtF,6BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2DAA2D;AAC3D;AACA,gDAAgD,iBAAiB,EAAE;AACnE;AACA,0DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,E;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC;AACnE;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD,+BAA+B,SAAS,EAAE;AAC1C,CAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS,mBAAmB;AACvD,+BAA+B,aAAa;AAC5C;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA,CAAC,E;;;;;;ACND,yC;;;;;;ACAA;AACA;AACA,mDAAmD;AACnD;AACA,uCAAuC;AACvC,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACzBA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;;ACFgB;;AAEhB;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACPA;;IAAYgE,O;;;;QACHA,O,GAAAA,O;;;;;;;;;;;;;;;;;ACGT;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;IAEM/L,O;;;AACJ,mBAAanB,GAAb,EAAkB;AAAA;;AAAA;;AAEh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A;AACA;AACA;AACA;AACA,E;;;;;;;ACdA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,UAAU;AACf,GAAG;AACH,E;;;;;;ACXA,6E;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,U;;;;;;ACTD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,oBAAoB,EAAE;AAC7D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,E;;;;;;ACxBA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;AACb;AACA,E;;;;;;ACXA;AACA,mF;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,gBAAgB,uBAAuB,GAAG;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA,qBAAqB;AACrB,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+B;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,gFAAgF,sBAAsB;AACtG,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;;;;;;;;;ACjCA;AACA;AACA;AAC6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8FAAqB;AACrB,iGAAwB;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA,C;;;;;;;ACHA;AACA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;ACfA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;ACdO,IAAMgT,wCAAgB,SAAhBA,aAAgB,CAAUC,WAAV,EAAuB;AAClD,MAAIC,gBAAgB,SAAhBA,aAAgB,CAAUC,GAAV,EAAe;AACjC,QAAIC,WAAWH,YAAYG,QAA3B;AACA,QAAIC,SAASJ,YAAYI,MAAZ,IAAsBJ,YAAY3V,MAA/C;AACA,QAAI2V,YAAYK,QAAhB,EAA0B;AACxBC,oBAAcN,WAAd;AACD;AACD,WAAOG,SAAS1a,IAAT,CAAc2a,MAAd,EAAsBF,GAAtB,CAAP;AACD,GAPD;AAQAF,cAAYC,aAAZ,GAA4BA,aAA5B;AACA,SAAOA,aAAP;AACD,CAXM;;AAsBA,IAAMM,wCAAgB,SAAhBA,aAAgB,CAAUC,SAAV,EAAqBL,QAArB,EAA+BM,OAA/B,EAAwCC,iBAAxC,EAA2D;AACtF,MAAIV,cAAc,IAAlB;AACA,OAAK,IAAI7Z,IAAI,CAAR,EAAWwa,KAAKH,UAAU9e,MAA/B,EAAuCyE,IAAIwa,EAA3C,EAA+C,EAAExa,CAAjD,EAAoD;AAClD6Z,kBAAcQ,UAAUra,CAAV,CAAd;AACA,QAAI6Z,YAAYG,QAAZ,KAAyBA,QAAzB,IAAqCH,YAAYI,MAAZ,KAAuBK,OAAhE,EAAyE;AACvE,UAAIC,iBAAJ,EAAuB;AACrBV,oBAAYY,WAAZ,GAA0Bza,CAA1B;AACD;AACD,aAAO6Z,WAAP;AACD;AACF;AACD,SAAO/R,SAAP;AACD,CAZM;;AAoBA,IAAM4S,sCAAe,SAAfA,YAAe,CAAUxW,MAAV,EAAkB+J,IAAlB,EAAwB;AAClD,MAAI0M,cAAczW,OAAO0W,KAAzB;AACA,SAAOD,cAAcA,YAAY1M,IAAZ,CAAd,GAAkCnG,SAAzC;AACD,CAHM;;AAWA,IAAM+S,4CAAkB,SAAlBA,eAAkB,CAAU3W,MAAV,EAAkB;AAC/C,MAAIyW,cAAczW,OAAO0W,KAAzB;AACA,MAAI,CAACD,WAAL,EAAkB;AAChBA,kBAAczW,OAAO0W,KAAP,GAAe,EAA7B;AACD;AACD,SAAOD,WAAP;AACD,CANM;;AAcA,IAAMG,8CAAmB,SAAnBA,gBAAmB,CAAU5W,MAAV,EAAkB+J,IAAlB,EAAwB;AACtD,MAAIoM,YAAYK,aAAaxW,MAAb,EAAqB+J,IAArB,CAAhB;AACA,MAAIoM,SAAJ,EAAe;AACb,SAAK,IAAIra,IAAI,CAAR,EAAWwa,KAAKH,UAAU9e,MAA/B,EAAuCyE,IAAIwa,EAA3C,EAA+C,EAAExa,CAAjD,EAAoD;AAClDkE,aAAO6W,mBAAP,CAA2B9M,IAA3B,EAAiCoM,UAAUra,CAAV,EAAa8Z,aAA9C;AACApN,YAAM2N,UAAUra,CAAV,CAAN;AACD;AACDqa,cAAU9e,MAAV,GAAmB,CAAnB;AACA,QAAIof,cAAczW,OAAO0W,KAAzB;AACA,QAAID,WAAJ,EAAiB;AACf,aAAOA,YAAY1M,IAAZ,CAAP;AACA,UAAI1J,OAAOyW,IAAP,CAAYL,WAAZ,EAAyBpf,MAAzB,KAAoC,CAAxC,EAA2C;AACzC,eAAO2I,OAAO0W,KAAd;AACD;AACF;AACF;AACF,CAhBM;;AA2BA,IAAMK,0BAAS,SAATA,MAAS,CAAU/W,MAAV,EAAkB+J,IAAlB,EAAwB+L,QAAxB,EAAkCM,OAAlC,EAA2CY,OAA3C,EAAoD;AACxE,MAAIP,cAAcE,gBAAgB3W,MAAhB,CAAlB;AACA,MAAImW,YAAYM,YAAY1M,IAAZ,CAAhB;AACA,MAAI,CAACoM,SAAL,EAAgB;AACdA,gBAAYM,YAAY1M,IAAZ,IAAoB,EAAhC;AACD;AACD,MAAI4L,cAAcO,cAAcC,SAAd,EAAyBL,QAAzB,EAAmCM,OAAnC,EAA4C,KAA5C,CAAlB;AACA,MAAIT,WAAJ,EAAiB;AACf,QAAI,CAACqB,OAAL,EAAc;AAEZrB,kBAAYK,QAAZ,GAAuB,KAAvB;AACD;AACF,GALD,MAKO;AACLL,kBAA2C;AACzCI,cAAQK,OADiC;AAEzCJ,gBAAU,CAAC,CAACgB,OAF6B;AAGzClB,gBAAUA,QAH+B;AAIzC9V,cAAQA,MAJiC;AAKzC+J,YAAMA;AALmC,KAA3C;AAOA/J,WAAOiX,gBAAP,CAAwBlN,IAAxB,EAA8B2L,cAAcC,WAAd,CAA9B;AACAQ,cAAUpa,IAAV,CAAe4Z,WAAf;AACD;AACD,SAAOA,WAAP;AACD,CAxBM;;AAkCA,IAAMuB,kCAAa,SAAbA,UAAa,CAAUlX,MAAV,EAAkB+J,IAAlB,EAAwB+L,QAAxB,EAAkCM,OAAlC,EAA2C;AACnE,SAAOW,OAAO/W,MAAP,EAAe+J,IAAf,EAAqB+L,QAArB,EAA+BM,OAA/B,EAAwC,IAAxC,CAAP;AACD,CAFM;;AAWA,IAAMe,8BAAW,SAAXA,QAAW,CAAUnX,MAAV,EAAkB+J,IAAlB,EAAwB+L,QAAxB,EAAkCM,OAAlC,EAA2C;AACjE,MAAID,YAAYK,aAAaxW,MAAb,EAAqB+J,IAArB,CAAhB;AACA,MAAIoM,SAAJ,EAAe;AACb,QAAIR,cAAcO,cAAcC,SAAd,EAAyBL,QAAzB,EAAmCM,OAAnC,EAA4C,IAA5C,CAAlB;AACA,QAAIT,WAAJ,EAAiB;AACfM,oBAAcN,WAAd;AACD;AACF;AACF,CARM;;AAcA,IAAMM,wCAAgB,SAAhBA,aAAgB,CAAUpW,GAAV,EAAe;AAC1C,MAAIA,OAAOA,IAAIG,MAAf,EAAuB;AACrBH,QAAIG,MAAJ,CAAW6W,mBAAX,CAA+BhX,IAAIkK,IAAnC,EAAyClK,IAAI+V,aAA7C;AACA,QAAIO,YAAYK,aAAa3W,IAAIG,MAAjB,EAAyBH,IAAIkK,IAA7B,CAAhB;AACA,QAAIoM,SAAJ,EAAe;AACb,UAAIra,IAAI,iBAAiB+D,GAAjB,GAAuBA,IAAI0W,WAA3B,GAAyCJ,UAAUiB,OAAV,CAAkBvX,GAAlB,CAAjD;AACA,UAAI/D,MAAM,CAAC,CAAX,EAAc;AACZqa,kBAAUkB,MAAV,CAAiBvb,CAAjB,EAAoB,CAApB;AACD;AACD,UAAIqa,UAAU9e,MAAV,KAAqB,CAAzB,EAA4B;AAC1Buf,yBAAiB/W,IAAIG,MAArB,EAA6BH,IAAIkK,IAAjC;AACD;AACF;AACDvB,UAAM3I,GAAN;AACD;AACF,CAfM;AAoBA,IAAM2I,wBAAQ,SAARA,KAAQ,CAAU8O,MAAV,EAAkB;AACrC,OAAK,IAAIC,QAAT,IAAqBD,MAArB,EAA6B;AAC3B,WAAOA,OAAOC,QAAP,CAAP;AACD;AACF,CAJM;;AAUA,IAAMC,oCAAc,SAAdA,WAAc,CAAUxX,MAAV,EAAkB;AAC3C,MAAIyW,cAAcE,gBAAgB3W,MAAhB,CAAlB;AACA,OAAK,IAAI+J,IAAT,IAAiB0M,WAAjB,EAA8B;AAC5BG,qBAAiB5W,MAAjB,EAAyB+J,IAAzB;AACD;AACF,CALM,C;;;;;;;;;;;;kBC1LQ;AAMb0N,UAAQ,QANK;AAObC,SAAO,OAPM;AAQbC,YAAU,UARG;AASbC,aAAW,WATE;AAUbC,YAAU,UAVG;AAWbC,QAAM,MAXO;AAYbC,SAAO,OAZM;AAabC,WAAS,SAbI;AAcbC,YAAU,UAdG;AAebC,QAAM,MAfO;AAgBbC,aAAW,WAhBE;AAiBbC,aAAW,WAjBE;AAkBbC,YAAU,UAlBG;AAmBbC,WAAS,SAnBI;AAoBbC,cAAY,YApBC;AAqBbC,iBAAe,eArBF;AAsBbC,UAAQ,QAtBK;AAuBbC,cAAY,YAvBC;AAwBbC,aAAW,WAxBE;AAyBbC,YAAU,UAzBG;AA0BbC,SAAO;AA1BM,C;;;;;;;;;;;;;;;;ACGf;;;;AACA;;AACA;;IAAYlP,S;;AACZ;;IAAYlT,S;;;;;;;;;;;;IACNqiB,S;;;AACJ,qBAAa7hB,MAAb,EAAqBiL,MAArB,EAA6B;AAAA;;AAAA;;AAE3B,kBAAG2H,IAAH,CAAQC,OAAR,CAAgB1O,IAAhB,QAA2B,EAA3B;AACA,UAAK2O,IAAL,GAAY,oBAAU3T,UAAtB;AACA,UAAK6U,eAAL,GAAuB,GAAvB;AACA,UAAKd,eAAL,GAAuB,GAAvB;AACA,UAAKF,eAAL,GAAuB,IAAvB;AACA,UAAK8O,SAAL,GAAiBliB,KAAKjC,EAAL,GAAU,GAA3B;AACA,UAAKokB,SAAL,GAAiBniB,KAAKjC,EAAL,GAAU,EAA3B;AACA,UAAKqkB,aAAL,GAAqB,CAArB;AACA,UAAK7V,GAAL,CAAS,QAAT,EAAmBlB,MAAnB;AACA,UAAKmI,SAAL,CAAepT,MAAf;AAX2B;AAY5B;;;;+BAKW;AACV,UAAI;AACF,YAAI2E,OAAO,KAAK4O,SAAL,EAAX;AADE,mBAEiB,CAAC5O,KAAK,CAAL,CAAD,EAAUA,KAAK,CAAL,CAAV,CAFjB;AAAA,YAEGjF,IAFH;AAAA,YAESC,IAFT;;AAGF,YAAI4U,MAAM7B,UAAUlS,aAAV,CAAwBmE,IAAxB,CAAV;AACA,YAAIsQ,YAAYV,MAAM,KAAKP,eAA3B;AACA,YAAImB,YAAYZ,MAAM,KAAKrB,eAA3B;AACA,YAAIgC,YAAYX,MAAM,KAAKvB,eAA3B;AACA,YAAIQ,WAAWd,UAAU3P,aAAV,CAAwBpD,IAAxB,EAA8BD,IAA9B,EAAoCF,UAAUgJ,OAA9C,EAAuDyM,SAAvD,EAAkE,IAAlE,CAAf;AACA,YAAIxB,YAAYf,UAAU3P,aAAV,CAAwBpD,IAAxB,EAA8BD,IAA9B,EAAoCF,UAAUgJ,OAA9C,EAAuDyM,SAAvD,EAAkE,KAAlE,CAAhB;AACA,YAAIM,WAAW7C,UAAU3P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKmiB,SAAzC,EAAoD5M,SAApD,EAA+D,KAA/D,CAAf;AACA,YAAIM,YAAY9C,UAAU3P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKmiB,SAAzC,EAAoD5M,SAApD,EAA+D,IAA/D,CAAhB;AACA,YAAIpB,WAAWpB,UAAU3P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKoiB,SAAzC,EAAoD5M,SAApD,EAA+D,KAA/D,CAAf;AACA,YAAIpB,YAAYrB,UAAU3P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKoiB,SAAzC,EAAoD5M,SAApD,EAA+D,IAA/D,CAAhB;AACA,YAAI8M,QAAQ,CAACzO,QAAD,EAAWM,QAAX,EAAqByB,QAArB,EAA+B5V,IAA/B,EAAqC6V,SAArC,EAAgDzB,SAAhD,EAA2DN,SAA3D,CAAZ;AACA,aAAKH,cAAL,CAAoB,CAAC2O,KAAD,CAApB;AACD,OAfD,CAeE,OAAO3gB,CAAP,EAAU;AACV6I,gBAAQC,GAAR,CAAY9I,CAAZ;AACD;AACF;;;2BAMOmI,G,EAAK;AACX,UAAIA,OAAOA,eAAe,cAAG8M,GAA7B,EAAkC;AAChC,aAAK9M,GAAL,GAAWA,GAAX;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,CAAU,YAAV,CAAN;AACD;AACF;;;6BAMS;AACR,aAAO,KAAKD,GAAZ;AACD;;;6BAMS;AACR,aAAO,IAAP;AACD;;;8BAMU+M,K,EAAO;AAChB,WAAKxW,MAAL,GAAc,CAACwW,KAAD,GAAS,EAAT,GAAcA,KAA5B;AACA,UAAI,KAAKxW,MAAL,CAAYI,MAAZ,IAAsB,CAA1B,EAA6B;AAC3B,aAAKqW,QAAL;AACD;AACF;;;gCAMY;AACX,aAAO,KAAKzW,MAAL,CAAYkE,KAAZ,CAAkB,CAAlB,CAAP;AACD;;;oCAMgB;AACf,aAAO,KAAKlE,MAAL,CAAYI,MAAnB;AACD;;;gCAOY+V,K,EAAO5V,K,EAAO;AACzB,UAAIA,SAAS,CAAT,IAAcA,QAAQ,KAAKP,MAAL,CAAYI,MAAtC,EAA8C;AAC5C,aAAKJ,MAAL,CAAYO,KAAZ,IAAqB4V,KAArB;AACA,aAAKM,QAAL;AACD;AACF;;;oCAMgBN,K,EAAO;AACtB,WAAKO,WAAL,CAAiBP,KAAjB,EAAwB,KAAKnW,MAAL,CAAYI,MAAZ,GAAqB,CAA7C;AACD;;;oCAKgB,CAChB;;;;EAtHsB,cAAGwS,IAAH,CAAQC,O;;kBAyHlBgP,S;;;;;;;ACnIf;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sCAAsC;AAC7C;AACA;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,E;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;AClFA;AACA,qEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,E;;;;;;ACXA;AACA,UAAU;AACV,E;;;;;;ACFA;AACA;AACA;AACA,E;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,a;;;;;;ACRD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA,mC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,U;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzuBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;ACvBA;AACc;;AAEd;;AAEA;AACA;AACA;AACA,wBAAwB,GAAG,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;;;;;;;;;ACtDY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtIA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpKyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;AC/EA;AAAA;AACA;AACc;;;;AAId;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3JA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;IAAYK,K;;;;;;AAfZ,IAAMC,OAAO,EAAb;AACAA,KAAKlS,OAAL,GAAe,mBAAAmS,CAAQ,GAAR,EAA2BnS,OAA1C;;;AAgBAkS,KAAKrkB,EAAL;AACAukB,OAAOvkB,EAAP;AACAqkB,KAAKpkB,KAAL;AACAskB,OAAOtkB,KAAP;AACAokB,KAAK5L,GAAL;AACA4L,KAAKG,KAAL,GAAaJ,KAAb;AACAC,KAAKI,QAAL;AACAJ,KAAKK,QAAL;AA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CA;AACA;AACA;AACA,E;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,E;;;;;;ACtBA,wC;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA,yDAAuD;;AAEvD,8BAA8B,4BAA4B,gBAAgB,GAAG;;;;;;;ACJ7E;AACA;;AAEA,6BAA6B,qCAA4C;;AAEzE,sC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,6BAA6B,8BAA+B;;AAE5D,gC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gCAAgC;AACpF;AACA;AACA,KAAK;AACL;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;;AAEA,6BAA6B,iCAAgC,E;;;;;;;ACH7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA,CAAC,E;;;;;;;ACrBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACtBD,iC;;;;;;ACAA;AACA;;AAEA,4BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;;ACH5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,wBAAwB,UAAU,GAAG;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACbD;AACA;;AAEA,mG;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACVA;AACA;;AAEA,gCAAgC,+BAAyB,E;;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACZF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,iEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,8BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,KAAK;AACL;AACA,uCAAuC,cAAc,OAAO;AAC5D,uCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACpEA;AACA;;AAEA,8BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,8BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,+EAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,2EAA2E,oBAAoB,E;;;;;;;ACH/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA,kG;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;;AAEA,0CAA0C,iCAAoC,E;;;;;;ACH9E;AACA;AACA,8BAA8B,gCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,2CAA2C,E;;;;;;ACFlH;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA,8BAA8B,6BAA6B,E;;;;;;ACF3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA,8BAA8B,4CAA4C,E;;;;;;;ACF1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACTA;AACA;AACA;AACA,8DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;AACA;AACA,0DAA0D,oBAAoB,E;;;;;;;ACH9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,sDAAiD,oBAAoB;AACpH;AACA;AACA,GAAG,UAAU;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,gCAAgC;AACnD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uBAAuB,KAAK;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;AC1SD;AACA;AACA;AACA;AACA,qDAAmD;AACnD;AACA;AACA;AACA,qBAAqB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAoD;;AAEpD;AACA;AACA;AACA;AACA,kCAAkC;AAClC,CAAC;AACD;AACA,yBAAyB;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;ACpBxC;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA,+BAA+B,kCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,EAAE;AAC1C,wBAAwB,gBAAgB;AACxC,KAAK;AACL;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,kC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;;ACrED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,UAAU;AACV,CAAC,E;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,oBAAoB,uBAAuB,SAAS,IAAI;AACxD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,KAAK;AACL;AACA,sBAAsB,iCAAiC;AACvD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,oBAAoB,oBAAoB;;AAExC,0CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,eAAe,EAAE;AACzC,wBAAwB,gBAAgB;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,QAAQ,iCAAiC;AAClG,CAAC;AACD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6EAA6E,0BAA0B;;AAEvG;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,2FAA2F;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,sC;;;;;;AC7CA;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,Q;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,4BAA4B,mEAAmE;AAC/F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,qB;;;;;;;ACXD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,oC;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACfD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,4BAA4B;AACpG;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA,uCAAuC;AACvC,sCAAsC,yBAAyB;AAC/D,CAAC;;AAED;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL,GAAG;AACH;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA,CAAC;;AAED,mDAAmD,aAAa,EAAE;;AAElE,oBAAoB,wBAAwB;;AAE5C,sC;;;;;;ACtMA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AClBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AChBF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;;ACHvF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC7BD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,a;;;;;;ACND,0C;;;;;;ACAA,uC;;;;;;ACAA;AACA;;AAEA,8BAA8B,+BAA6B,E;;;;;;ACH3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;kIC/KA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA,gBAAgB,gBAAgB,wCAAwC,mDAAmD,UAAU,wBAAwB,sFAAsF,SAAS,UAAU,iBAAiB,sBAAsB,iBAAiB,uBAAuB,mBAAmB,eAAe,o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A;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnDA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACdA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACdgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;;AAEA;AACA;;;;;;;;ACLA;AACA;AACA,C;;;;;;;ACFA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChGA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClQA;AAAA;AACQ;;AAER,wBAAwB;AACxB,iCAAiC;AACjC,+BAA+B;AAC/B,kCAAkC;AAClC,iCAAiC;AACjC,+BAA+B;AAC/B,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,4BAA4B;AAC5B,+BAA+B;;;;;;;;ACf/B;AACA,OAAO,iBAAiB;AACxB,YAAY;AACZ;;;;;;;;;;ACHA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gE;;;;;;;;AC/DmE;;AAEnE;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;AClCA;AACwC;AACxC;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,gBAAgB;AAChB;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B,SAAS;AACT,cAAc;AACd,eAAe;AACf,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA,SAAS;AACT,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,WAAW;AACX,YAAY;AACZ,WAAW;;AAEX;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;ACjP4C;;AAE8D;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtC+B;AACK;AACpC;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8EAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2J;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AChIA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3GA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpHA;AACA;AACwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACnDA;AACA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACxG+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;;AAEvB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1IA;AACA;AACA;;AAEA;AACA;AACA;AACQ;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnGA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnDA;AACA;AACc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AClFmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1KA;AACA;AACuB;;AAEvB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,QAAQ;AACR,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0JAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrFuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC7KA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/DA;AAAA;AACA;;AAEA;AACA;AACA;AACA;;AAEuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5KA;AACA;AACA;AACY;;;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;;AAEuB;;AAEvB;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChI2B;;;;;;;ACA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;yDACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/tBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E","file":"HMap.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"HMap\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HMap\"] = factory();\n\telse\n\t\troot[\"HMap\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 440);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 217cfa0c5a8b0e653abf","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 0\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 静态常量\r\n */\r\n\r\nexport const X_PI = 3.14159265358979324 * 3000.0 / 180.0\r\nexport const PI = 3.1415926535897932384626 // PI\r\nexport const a = 6378245.0 // 北京54坐标系长半轴a=6378245m\r\nexport const ee = 0.00669342162296594323\r\n\r\nimport _proj4 from 'proj4'\r\nimport _ol from 'openlayers'\r\n// import _mathjs from '../node_modules/mathjs'\r\n// import _olx from '../node_modules/openlayers/externs'\r\n\r\nimport _config from './config/config'\r\n\r\nexport const ol = _ol\r\nexport const proj4 = _proj4\r\nexport const config = _config\r\n// export const mathjs = _mathjs\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants.js","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 2\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 3\n// module chunks = 0","export var PJD_3PARAM = 1;\nexport var PJD_7PARAM = 2;\nexport var PJD_WGS84 = 4; // WGS84 or equivalent\nexport var PJD_NODATUM = 5; // WGS84 or equivalent\nexport var SEC_TO_RAD = 4.84813681109535993589914102357e-6;\nexport var HALF_PI = Math.PI/2;\n// ellipoid pj_set_ell.c\nexport var SIXTH = 0.1666666666666666667;\n/* 1/6 */\nexport var RA4 = 0.04722222222222222222;\n/* 17/360 */\nexport var RA6 = 0.02215608465608465608;\nexport var EPSLN = (typeof Number.EPSILON === 'undefined') ? 1.0e-10 : Number.EPSILON;\nexport var D2R = 0.01745329251994329577;\nexport var R2D = 57.29577951308232088;\nexport var FORTPI = Math.PI/4;\nexport var TWO_PI = Math.PI * 2;\n// SPI is slightly greater than Math.PI, so values that exceed the -180..180\n// degree range by a tiny amount don't get wrapped. This prevents points that\n// have drifted from their original location along the 180th meridian (due to\n// floating point error) from changing their sign.\nexport var SPI = 3.14159265359;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/values.js\n// module id = 4\n// module chunks = 0","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 5\n// module chunks = 0","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 6\n// module chunks = 0","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 7\n// module chunks = 0","\nimport {TWO_PI, SPI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lon.js\n// module id = 8\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nconst PlotTypes = {\r\n ARC: 'Arc',\r\n CURVE: 'Curve',\r\n GATHERING_PLACE: 'GatheringPlace',\r\n POLYLINE: 'Polyline',\r\n FREE_LINE: 'FreeLine',\r\n POINT: 'point',\r\n RECTANGLE: 'RectAngle',\r\n CIRCLE: 'Circle',\r\n ELLIPSE: 'Ellipse',\r\n LUNE: 'Lune',\r\n SECTOR: 'Sector',\r\n CLOSED_CURVE: 'ClosedCurve',\r\n POLYGON: 'Polygon',\r\n FREE_POLYGON: 'FreePolygon',\r\n ATTACK_ARROW: 'AttackArrow',\r\n DOUBLE_ARROW: 'DoubleArrow',\r\n STRAIGHT_ARROW: 'StraightArrow',\r\n FINE_ARROW: 'FineArrow',\r\n ASSAULT_DIRECTION: 'AssaultDirection',\r\n TAILED_ATTACK_ARROW: 'TailedAttackArrow',\r\n SQUAD_COMBAT: 'SquadCombat',\r\n TAILED_SQUAD_COMBAT: 'TailedSquadCombat'\r\n}\r\n\r\nexport default PlotTypes\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/PlotTypes.js","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 10\n// module chunks = 0","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 11\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 12\n// module chunks = 0","import * as Constants from '../Constants'\r\n/**\r\n * 计算两个坐标之间的距离\r\n * @param pnt1\r\n * @param pnt2\r\n * @returns {number}\r\n * @constructor\r\n */\r\nexport const MathDistance = (pnt1, pnt2) => {\r\n return (Math.sqrt(Math.pow((pnt1[0] - pnt2[0]), 2) + Math.pow((pnt1[1] - pnt2[1]), 2)))\r\n}\r\n\r\n/**\r\n * 计算点集合的总距离\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const wholeDistance = (points) => {\r\n let distance = 0\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n points.forEach((item, index) => {\r\n if (index < points.length - 1) {\r\n distance += (MathDistance(item, points[index + 1]))\r\n }\r\n })\r\n }\r\n return distance\r\n}\r\n/**\r\n * 获取基础长度\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const getBaseLength = (points) => {\r\n return Math.pow(wholeDistance(points), 0.99)\r\n}\r\n\r\n/**\r\n * 求取两个坐标的中间值\r\n * @param point1\r\n * @param point2\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\nexport const Mid = (point1, point2) => {\r\n return [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n}\r\n\r\n/**\r\n * 通过三个点确定一个圆的中心点\r\n * @param point1\r\n * @param point2\r\n * @param point3\r\n */\r\nexport const getCircleCenterOfThreePoints = (point1, point2, point3) => {\r\n let pntA = [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n let pntB = [pntA[0] - point1[1] + point2[1], pntA[1] + point1[0] - point2[0]]\r\n let pntC = [(point1[0] + point3[0]) / 2, (point1[1] + point3[1]) / 2]\r\n let pntD = [pntC[0] - point1[1] + point3[1], pntC[1] + point1[0] - point3[0]]\r\n return getIntersectPoint(pntA, pntB, pntC, pntD)\r\n}\r\n\r\n/**\r\n * 获取交集的点\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @param pntD\r\n * @returns {[*,*]}\r\n */\r\nexport const getIntersectPoint = (pntA, pntB, pntC, pntD) => {\r\n if (pntA[1] === pntB[1]) {\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let x = f * (pntA[1] - pntC[1]) + pntC[0]\r\n let y = pntA[1]\r\n return [x, y]\r\n }\r\n if (pntC[1] === pntD[1]) {\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let x = e * (pntC[1] - pntA[1]) + pntA[0]\r\n let y = pntC[1]\r\n return [x, y]\r\n }\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let y = (e * pntA[1] - pntA[0] - f * pntC[1] + pntC[0]) / (e - f)\r\n let x = e * y - e * pntA[1] + pntA[0]\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取方位角(地平经度)\r\n * @param startPoint\r\n * @param endPoint\r\n * @returns {*}\r\n */\r\nexport const getAzimuth = (startPoint, endPoint) => {\r\n let azimuth\r\n let angle = Math.asin(Math.abs(endPoint[1] - startPoint[1]) / (MathDistance(startPoint, endPoint)))\r\n if (endPoint[1] >= startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = angle + Math.PI\r\n } else if (endPoint[1] >= startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = Math.PI * 2 - angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = Math.PI - angle\r\n }\r\n return azimuth\r\n}\r\n\r\n/**\r\n * 通过三个点获取方位角\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @returns {number}\r\n */\r\nexport const getAngleOfThreePoints = (pntA, pntB, pntC) => {\r\n let angle = getAzimuth(pntB, pntA) - getAzimuth(pntB, pntC)\r\n return ((angle < 0) ? (angle + Math.PI * 2) : angle)\r\n}\r\n\r\n/**\r\n * 判断是否是顺时针\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {boolean}\r\n */\r\nexport const isClockWise = (pnt1, pnt2, pnt3) => {\r\n return ((pnt3[1] - pnt1[1]) * (pnt2[0] - pnt1[0]) > (pnt2[1] - pnt1[1]) * (pnt3[0] - pnt1[0]))\r\n}\r\n\r\n/**\r\n * 获取线上的点\r\n * @param t\r\n * @param startPnt\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getPointOnLine = (t, startPnt, endPnt) => {\r\n let x = startPnt[0] + (t * (endPnt[0] - startPnt[0]))\r\n let y = startPnt[1] + (t * (endPnt[1] - startPnt[1]))\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取立方值\r\n * @param t\r\n * @param startPnt\r\n * @param cPnt1\r\n * @param cPnt2\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getCubicValue = (t, startPnt, cPnt1, cPnt2, endPnt) => {\r\n t = Math.max(Math.min(t, 1), 0)\r\n let [tp, t2] = [(1 - t), (t * t)]\r\n let t3 = t2 * t\r\n let tp2 = tp * tp\r\n let tp3 = tp2 * tp\r\n let x = (tp3 * startPnt[0]) + (3 * tp2 * t * cPnt1[0]) + (3 * tp * t2 * cPnt2[0]) + (t3 * endPnt[0])\r\n let y = (tp3 * startPnt[1]) + (3 * tp2 * t * cPnt1[1]) + (3 * tp * t2 * cPnt2[1]) + (t3 * endPnt[1])\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 根据起止点和旋转方向求取第三个点\r\n * @param startPnt\r\n * @param endPnt\r\n * @param angle\r\n * @param distance\r\n * @param clockWise\r\n * @returns {[*,*]}\r\n */\r\nexport const getThirdPoint = (startPnt, endPnt, angle, distance, clockWise) => {\r\n let azimuth = getAzimuth(startPnt, endPnt)\r\n let alpha = clockWise ? (azimuth + angle) : (azimuth - angle)\r\n let dx = distance * Math.cos(alpha)\r\n let dy = distance * Math.sin(alpha)\r\n return ([endPnt[0] + dx, endPnt[1] + dy])\r\n}\r\n\r\n/**\r\n * 函数继承\r\n * @param childCtor\r\n * @param parentCtor\r\n */\r\nexport const inherits = (childCtor, parentCtor) => {\r\n /** @constructor */\r\n function TempCtor () {\r\n }\r\n\r\n TempCtor.prototype = parentCtor.prototype\r\n childCtor.superClass_ = parentCtor.prototype\r\n childCtor.prototype = new TempCtor()\r\n /** @override */\r\n childCtor.prototype.constructor = childCtor\r\n childCtor.base = function (me, methodName, varArgs) {\r\n let args = Array.prototype.slice.call(arguments, 2)\r\n return parentCtor.prototype[methodName].apply(me, args)\r\n }\r\n}\r\n\r\n/**\r\n * 插值弓形线段点\r\n * @param center\r\n * @param radius\r\n * @param startAngle\r\n * @param endAngle\r\n * @returns {null}\r\n */\r\nexport const getArcPoints = (center, radius, startAngle, endAngle) => {\r\n let [x, y, pnts, angleDiff] = [null, null, [], (endAngle - startAngle)]\r\n angleDiff = ((angleDiff < 0) ? (angleDiff + (Math.PI * 2)) : angleDiff)\r\n for (let i = 0; i <= 100; i++) {\r\n let angle = startAngle + angleDiff * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n pnts.push([x, y])\r\n }\r\n return pnts\r\n}\r\n\r\n/**\r\n * getBisectorNormals\r\n * @param t\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getBisectorNormals = (t, pnt1, pnt2, pnt3) => {\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let [bisectorNormalRight, bisectorNormalLeft, dt, x, y] = [null, null, null, null, null]\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let uX = normal[0] / dist\r\n let uY = normal[1] / dist\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let d2 = MathDistance(pnt2, pnt3)\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n if (isClockWise(pnt1, pnt2, pnt3)) {\r\n dt = t * d1\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalLeft = [x, y]\r\n } else {\r\n dt = t * d1\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalLeft = [x, y]\r\n }\r\n } else {\r\n x = pnt2[0] + t * (pnt1[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt1[1] - pnt2[1])\r\n bisectorNormalRight = [x, y]\r\n x = pnt2[0] + t * (pnt3[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt3[1] - pnt2[1])\r\n bisectorNormalLeft = [x, y]\r\n }\r\n return [bisectorNormalRight, bisectorNormalLeft]\r\n}\r\n\r\n/**\r\n * 获取默认三点的内切圆\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getNormal = (pnt1, pnt2, pnt3) => {\r\n let dX1 = pnt1[0] - pnt2[0]\r\n let dY1 = pnt1[1] - pnt2[1]\r\n let d1 = Math.sqrt(dX1 * dX1 + dY1 * dY1)\r\n dX1 /= d1\r\n dY1 /= d1\r\n let dX2 = pnt3[0] - pnt2[0]\r\n let dY2 = pnt3[1] - pnt2[1]\r\n let d2 = Math.sqrt(dX2 * dX2 + dY2 * dY2)\r\n dX2 /= d2\r\n dY2 /= d2\r\n let uX = dX1 + dX2\r\n let uY = dY1 + dY2\r\n return [uX, uY]\r\n}\r\n\r\n/**\r\n * 获取左边控制点\r\n * @param controlPoints\r\n * @returns {[*,*]}\r\n */\r\nexport const getLeftMostControlPoint = (controlPoints, t) => {\r\n let [pnt1, pnt2, pnt3, controlX, controlY] = [controlPoints[0], controlPoints[1], controlPoints[2], null, null]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalRight = pnts[0]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt1, pnt2)\r\n let pX = pnt1[0] - mid[0]\r\n let pY = pnt1[1] - mid[1]\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalRight[0] - mid[0]\r\n let dY = normalRight[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt1[0] + t * (pnt2[0] - pnt1[0])\r\n controlY = pnt1[1] + t * (pnt2[1] - pnt1[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 获取右边控制点\r\n * @param controlPoints\r\n * @param t\r\n * @returns {[*,*]}\r\n */\r\nexport const getRightMostControlPoint = (controlPoints, t) => {\r\n let count = controlPoints.length\r\n let pnt1 = controlPoints[count - 3]\r\n let pnt2 = controlPoints[count - 2]\r\n let pnt3 = controlPoints[count - 1]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalLeft = pnts[1]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let [controlX, controlY] = [null, null]\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt2, pnt3)\r\n let pX = pnt3[0] - mid[0]\r\n let pY = pnt3[1] - mid[1]\r\n let d1 = MathDistance(pnt2, pnt3)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalLeft[0] - mid[0]\r\n let dY = normalLeft[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt3[0] + t * (pnt2[0] - pnt3[0])\r\n controlY = pnt3[1] + t * (pnt2[1] - pnt3[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 插值曲线点\r\n * @param t\r\n * @param controlPoints\r\n * @returns {null}\r\n */\r\nexport const getCurvePoints = (t, controlPoints) => {\r\n let leftControl = getLeftMostControlPoint(controlPoints, t)\r\n let [pnt1, pnt2, pnt3, normals, points] = [null, null, null, [leftControl], []]\r\n for (let i = 0; i < controlPoints.length - 2; i++) {\r\n [pnt1, pnt2, pnt3] = [controlPoints[i], controlPoints[i + 1], controlPoints[i + 2]]\r\n let normalPoints = getBisectorNormals(t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let rightControl = getRightMostControlPoint(controlPoints, t)\r\n if (rightControl) {\r\n normals.push(rightControl)\r\n }\r\n for (let i = 0; i < controlPoints.length - 1; i++) {\r\n pnt1 = controlPoints[i]\r\n pnt2 = controlPoints[i + 1]\r\n points.push(pnt1)\r\n for (let t = 0; t < Constants.FITTING_COUNT; t++) {\r\n let pnt = getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n points.push(pnt)\r\n }\r\n points.push(pnt2)\r\n }\r\n return points\r\n}\r\n\r\n/**\r\n * 贝塞尔曲线\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getBezierPoints = function (points) {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let bezierPoints = []\r\n let n = points.length - 1\r\n for (let t = 0; t <= 1; t += 0.01) {\r\n let [x, y] = [0, 0]\r\n for (let index = 0; index <= n; index++) {\r\n let factor = getBinomialFactor(n, index)\r\n let a = Math.pow(t, index)\r\n let b = Math.pow((1 - t), (n - index))\r\n x += factor * a * b * points[index][0]\r\n y += factor * a * b * points[index][1]\r\n }\r\n bezierPoints.push([x, y])\r\n }\r\n bezierPoints.push(points[n])\r\n return bezierPoints\r\n }\r\n}\r\n\r\n/**\r\n * 获取阶乘数据\r\n * @param n\r\n * @returns {number}\r\n */\r\nexport const getFactorial = (n) => {\r\n let result = 1\r\n switch (n) {\r\n case (n <= 1):\r\n result = 1\r\n break\r\n case (n === 2):\r\n result = 2\r\n break\r\n case (n === 3):\r\n result = 6\r\n break\r\n case (n === 24):\r\n result = 24\r\n break\r\n case (n === 5):\r\n result = 120\r\n break\r\n default:\r\n for (let i = 1; i <= n; i++) {\r\n result *= i\r\n }\r\n break\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 获取二项分布\r\n * @param n\r\n * @param index\r\n * @returns {number}\r\n */\r\nexport const getBinomialFactor = (n, index) => {\r\n return (getFactorial(n) / (getFactorial(index) * getFactorial(n - index)))\r\n}\r\n\r\n/**\r\n * 插值线性点\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getQBSplinePoints = points => {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let [n, bSplinePoints] = [2, []]\r\n let m = points.length - n - 1\r\n bSplinePoints.push(points[0])\r\n for (let i = 0; i <= m; i++) {\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n let [x, y] = [0, 0]\r\n for (let k = 0; k <= n; k++) {\r\n let factor = getQuadricBSplineFactor(k, t)\r\n x += factor * points[i + k][0]\r\n y += factor * points[i + k][1]\r\n }\r\n bSplinePoints.push([x, y])\r\n }\r\n }\r\n bSplinePoints.push(points[points.length - 1])\r\n return bSplinePoints\r\n }\r\n}\r\n\r\n/**\r\n * 得到二次线性因子\r\n * @param k\r\n * @param t\r\n * @returns {number}\r\n */\r\nexport const getQuadricBSplineFactor = (k, t) => {\r\n let res = 0\r\n if (k === 0) {\r\n res = Math.pow(t - 1, 2) / 2\r\n } else if (k === 1) {\r\n res = (-2 * Math.pow(t, 2) + 2 * t + 1) / 2\r\n } else if (k === 2) {\r\n res = Math.pow(t, 2) / 2\r\n }\r\n return res\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/utils.js","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 14\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 15\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 16\n// module chunks = 0","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 17\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 18\n// module chunks = 0","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-html.js\n// module id = 19\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 20\n// module chunks = 0","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 21\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 23\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 24\n// module chunks = 0","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_strict-method.js\n// module id = 25\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 常用变量\r\n */\r\nexport const FITTING_COUNT = 100\r\nexport const ZERO_TOLERANCE = 0.0001\r\nexport const TWO_PI = Math.PI * 2\r\nexport const HALF_PI = Math.PI / 2\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Constants.js","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-methods.js\n// module id = 27\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-sap.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 31\n// module chunks = 0","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_metadata.js\n// module id = 32\n// module chunks = 0","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-array.js\n// module id = 33\n// module chunks = 0","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 34\n// module chunks = 0","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 35\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 36\n// module chunks = 0","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 37\n// module chunks = 0","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 38\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 39\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 40\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 41\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 42\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 43\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-index.js\n// module id = 44\n// module chunks = 0","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 45\n// module chunks = 0","const mix = (...mixins) => {\r\n class Mix {}\r\n // 以编程方式给Mix类添加\r\n\r\n // mixins的所有方法和访问器\r\n for (let key in mixins) {\r\n let mixin = mixins[key]\r\n copyProperties(Mix, mixin)\r\n copyProperties(Mix.prototype, mixin.prototype)\r\n }\r\n return Mix\r\n}\r\n\r\nconst copyProperties = (target, source) => {\r\n for (let key of Reflect.ownKeys(source)) {\r\n if (key !== 'constructor' && key !== 'prototype' && key !== 'name' && key !== 'length') {\r\n let desc = Object.getOwnPropertyDescriptor(source, key)\r\n Object.defineProperty(target, key, desc)\r\n }\r\n }\r\n}\r\n\r\nexport default mix\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/mixin.js","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_add-to-unscopables.js\n// module id = 47\n// module chunks = 0","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 48\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 49\n// module chunks = 0","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 50\n// module chunks = 0","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-trim.js\n// module id = 51\n// module chunks = 0","export default function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinz.js\n// module id = 52\n// module chunks = 0","export default function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/msfnz.js\n// module id = 53\n// module chunks = 0","import { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport * as MapboxStyle from '../style/MapboxStyle'\r\nimport Style from '../style/Style'\r\n\r\nclass Layer extends mix(Style) {\r\n constructor (map) {\r\n super()\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取专题图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getTitleLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerType') === 'title' && layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 根据图层名获取底图\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getBaseLayerByLayerName (layerName) {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer') && _layer.get('layerName') === layerName) {\r\n currentLayer = _layer\r\n }\r\n })\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取底图图层组\r\n * @returns {*}\r\n */\r\n getBaseLayers () {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n currentLayer = layer\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过要素获取图层\r\n * @param feature\r\n * @returns {*}\r\n */\r\n getLayerByFeatuer (feature) {\r\n let tragetLayer = null\r\n if (this.map) {\r\n if (feature instanceof ol.Feature) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n let source = layer.getSource()\r\n if (source.getFeatures) {\r\n let features = source.getFeatures()\r\n features.forEach(feat => {\r\n if (feat === feature) {\r\n tragetLayer = layer\r\n }\r\n })\r\n }\r\n })\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n return tragetLayer\r\n }\r\n\r\n /**\r\n * 创建临时图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorLayer (layerName, params) {\r\n try {\r\n if (this.map) {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n if (params && params.create) {\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n source: new ol.source.Vector({\r\n wrapX: false\r\n }),\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n }\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n return vectorLayer\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建热力图图层\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createHeatMapLayer (layerName, params) {\r\n try {\r\n let currentLayer = null\r\n if (this.map) {\r\n currentLayer = this.getLayerByLayerName(layerName)\r\n if (!(currentLayer instanceof ol.layer.Heatmap)) {\r\n currentLayer = null\r\n } else if ((currentLayer instanceof ol.layer.Heatmap) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(currentLayer)\r\n currentLayer = null\r\n }\r\n if (!currentLayer && params && params['create']) {\r\n currentLayer = new ol.layer.Heatmap({\r\n layerName: layerName,\r\n gradient: (params['gradient'] ? params['gradient'] : ['#00f', '#0ff', '#0f0', '#ff0', '#f00']),\r\n source: new ol.source.Vector({\r\n wrapX: false,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n }),\r\n blur: (params['blur'] ? params['blur'] : 15),\r\n radius: (params['radius'] ? params['radius'] : 8),\r\n shadow: (params['shadow'] ? params['shadow'] : 250),\r\n weight: (params['weight'] ? params['weight'] : 'weight'),\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n minResolution: (params['minResolution'] ? params['minResolution'] : undefined),\r\n maxResolution: (params['maxResolution'] ? params['maxResolution'] : undefined),\r\n opacity: (params['opacity'] ? params['opacity'] : 1),\r\n visible: ((params['visible'] === false) ? params['visible'] : true)\r\n })\r\n if (params && params.hasOwnProperty('selectable')) {\r\n currentLayer.set('selectable', params.selectable)\r\n }\r\n }\r\n if (currentLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(currentLayer)\r\n }\r\n return currentLayer\r\n } else {\r\n throw new Error('未创建地图对象!')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 创建专题图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createTitleLayer (layerName, params) {\r\n try {\r\n let serviceUrl = params['serviceUrl']\r\n if (!serviceUrl) return null\r\n let ooLayer = this.getTitleLayerByLayerName(layerName)\r\n if (ooLayer && ooLayer instanceof ol.layer.Tile && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(ooLayer)\r\n ooLayer = null\r\n }\r\n if (!ooLayer && params['create']) {\r\n ooLayer = new ol.layer.Tile({\r\n layerName: layerName,\r\n layerType: 'title',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n source: new ol.source.TileArcGISRest({\r\n url: serviceUrl,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: params,\r\n wrapX: false\r\n }),\r\n wrapX: false\r\n })\r\n }\r\n if (this.map && ooLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(ooLayer)\r\n }\r\n return ooLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建ImageWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createImageWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建TileWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createTileWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.TileWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: ((params['tiled'] === false) ? params['tiled'] : true),\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WFS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWfsVectorLayer (layerName, params) {\r\n try {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n let proj = params['projection'] ? params['projection'] : 'EPSG:3857'\r\n let style = this.getStyleByParams(params['style'])\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: function (extent) {\r\n return params['layerUrl'] + extent.join(',') + ',' + proj\r\n },\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n if (!(params['addLayer'] === false)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n }\r\n return vectorLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WMTS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWMTSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create'] && params['levels']) {\r\n let projection = ol.proj.get((params['projection'] ? params['projection'] : 'EPSG:3857'))\r\n let projectionExtent = projection.getExtent()\r\n let size = ol.extent.getWidth(projectionExtent) / 256\r\n let levels = params['levels']\r\n let resolutions = new Array(levels)\r\n let matrixIds = new Array(levels)\r\n for (let z = 0; z < levels; ++z) {\r\n // generate resolutions and matrixIds arrays for this WMTS\r\n resolutions[z] = size / Math.pow(2, z)\r\n matrixIds[z] = z\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.WMTS({\r\n url: params['layerUrl'],\r\n layer: (params['layer'] ? params['layer'] : '0'),\r\n matrixSet: (params['matrixSet'] ? params['matrixSet'] : 'EPSG:3857'),\r\n format: (params['format'] ? params['format'] : 'image/png'),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n tileGrid: new ol.tilegrid.WMTS({\r\n origin: ol.extent.getTopLeft(projectionExtent),\r\n resolutions: resolutions,\r\n matrixIds: matrixIds,\r\n version: (params['version'] ? params['version'] : '1.0.0'),\r\n dimensions: (params['dimensions'] ? params['dimensions'] : undefined)\r\n }),\r\n style: (params['style'] ? params['style'] : 'default'),\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建XYZ图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createXYZLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n if (params['tileGrid'] && params['tileGrid']['resolutions']) {\r\n tileGrid = new ol.tilegrid.TileGrid({\r\n tileSize: (params['tileGrid']['tileSize'] ? params['tileGrid']['tileSize'] : 256),\r\n origin: (params['tileGrid']['origin'] ? params['tileGrid']['origin'] : undefined),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n resolutions: params['tileGrid']['resolutions'],\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0)\r\n })\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.XYZ({\r\n wrapX: false,\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tileSize: (params['tileSize'] ? params['tileSize'] : 256),\r\n opaque: (params['opaque'] === true) ? params['opaque'] : false, // 图层是否不透明(主题相关)\r\n tilePixelRatio: (params['tilePixelRatio'] ? params['tilePixelRatio'] : 1), // todo 对于高分辨率设备,例如苹果等可能2、3(移动端开发需要注意)\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n maxZoom: (params['maxZoom'] ? params['maxZoom'] : 18),\r\n minZoom: (params['minZoom'] ? params['minZoom'] : 0),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n tileUrlFunction: function (tileCoord) {\r\n let url = (params['layerUrl']).replace('{z}',\r\n (tileCoord[0]).toString()).replace('{x}',\r\n tileCoord[1].toString()).replace('{y}',\r\n (-tileCoord[2] - 1).toString())\r\n return url\r\n }\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建OSM图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createOSMLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.OSM({\r\n wrapX: false,\r\n opaque: (params['opaque'] === false) ? params['opaque'] : true, // 图层是否不透明(主题相关)\r\n url: params['layerUrl'] ? params['layerUrl'] : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建Mapbox矢量图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createMapboxVectorTileLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n if (params['tileGrid']) {\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n tileGrid = new ol.tilegrid.createXYZ({\r\n tileSize: (params['tileGrid']['tileSize'] ? params['tileGrid']['tileSize'] : 256),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0),\r\n maxZoom: ((params['tileGrid']['maxZoom'] && typeof params['tileGrid']['maxZoom'] === 'number') ? params['tileGrid']['maxZoom'] : 22)\r\n })\r\n }\r\n layer = new ol.layer.VectorTile({\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n renderBuffer: ((params['renderBuffer'] && (typeof params['renderBuffer'] === 'number')) ? params['renderBuffer'] : 100),\r\n renderMode: (params['renderMode'] ? params['renderMode'] : 'hybrid'), // 渲染方式image,hybrid,vector,性能由高到低\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n minResolution: ((params['minResolution'] && typeof params['minResolution'] === 'number') ? params['minResolution'] : undefined),\r\n maxResolution: ((params['maxResolution'] && typeof params['maxResolution'] === 'number') ? params['maxResolution'] : undefined),\r\n preload: ((params['preload'] && typeof params['preload'] === 'number') ? params['preload'] : 0),\r\n source: new ol.source.VectorTile({\r\n format: new ol.format.MVT(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n overlaps: (params['overlaps'] ? params['overlaps'] : true),\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tilePixelRatio: ((params['tilePixelRatio'] && typeof params['tilePixelRatio'] === 'number') ? params['tilePixelRatio'] : 1),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n }),\r\n style: MapboxStyle.createMapboxStreetsV6Style()\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除图层\r\n * @param layerName\r\n */\r\n removeLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().clear) {\r\n layer.getSource().clear()\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除专题图层\r\n * @param layerName\r\n */\r\n removeTileLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getTitleLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除所有图层(除底图)\r\n */\r\n removeAllLayer () {\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (!layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default Layer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/Layer.js","/**\r\n * 获取两数值之间的随机值\r\n * @param t1 <下限>\r\n * @param t2 <上限>\r\n * @param t3 <需要保留的小数位, 不能大于十五位>\r\n * @returns {*}\r\n */\r\nexport const getrandom = (t1, t2, t3) => {\r\n if (!t1 || isNaN(t1)) {\r\n t1 = 0\r\n }\r\n if (!t2 || isNaN(t2)) {\r\n t2 = 1\r\n }\r\n if (!t3 || isNaN(t3)) {\r\n t3 = 0\r\n }\r\n t3 = t3 > 15 ? 15 : t3\r\n let [ra, du] = [(Math.random() * (t2 - t1) + t1), (Math.pow(10, t3))]\r\n ra = (Math.round(ra * du) / du)\r\n return ra\r\n}\r\n\r\n/**\r\n * 获取id\r\n * @returns {*|string|!Array.}\r\n */\r\nexport const getuuid = () => {\r\n let [ s, hexDigits ] = [ [], '0123456789abcdef' ]\r\n for (let i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\r\n }\r\n s[14] = '4'\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)\r\n s[8] = s[13] = s[18] = s[23] = '-'\r\n return (s.join(''))\r\n}\r\n\r\n/**\r\n * 添加标识\r\n * @param obj\r\n * @returns {*}\r\n */\r\nexport const stamp = function (obj) {\r\n let key = '_p_id_'\r\n obj[key] = obj[key] || (getuuid())\r\n return obj[key]\r\n}\r\n\r\n/**\r\n * 去除字符串前后空格\r\n * @param str\r\n * @returns {*}\r\n */\r\nexport const trim = (str) => {\r\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '')\r\n}\r\n\r\n/**\r\n * 将类名截取成数组\r\n * @param str\r\n * @returns {Array|*}\r\n */\r\nexport const splitWords = (str) => {\r\n return trim(str).split(/\\s+/)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/utils.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 56\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 57\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 58\n// module chunks = 0","import {HALF_PI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) < HALF_PI) ? x : (x - (sign(x) * Math.PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lat.js\n// module id = 59\n// module chunks = 0","export default function(x) {\n return x<0 ? -1 : 1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sign.js\n// module id = 60\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 进攻方向\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass AttackArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.headTailFactor = 0.8\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(tailLeft, tailRight) / PlotUtils.getBaseLength(bonePnts)\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points, tailLeft, tailRight) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n len = PlotUtils.MathDistance(headPnt, points[points.length - 2])\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n if (headHeight > tailWidth * this.headTailFactor) {\r\n headHeight = tailWidth * this.headTailFactor\r\n }\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n headHeight = headHeight > len ? len : headHeight\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default AttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AttackArrow.js","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 62\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 63\n// module chunks = 0","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fix-re-wks.js\n// module id = 64\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_flags.js\n// module id = 65\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_invoke.js\n// module id = 66\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-regexp.js\n// module id = 67\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 68\n// module chunks = 0","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-forced-pam.js\n// module id = 69\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 70\n// module chunks = 0","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 71\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed.js\n// module id = 72\n// module chunks = 0","export default function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e0fn.js\n// module id = 73\n// module chunks = 0","export default function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e1fn.js\n// module id = 74\n// module chunks = 0","export default function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e2fn.js\n// module id = 75\n// module chunks = 0","export default function(x) {\n return (x * x * x * (35 / 3072));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e3fn.js\n// module id = 76\n// module chunks = 0","export default function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/mlfn.js\n// module id = 77\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = HALF_PI - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = HALF_PI - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/phi2z.js\n// module id = 78\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (HALF_PI - phi)) / con);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/tsfnz.js\n// module id = 79\n// module chunks = 0","import * as DomUtil from './domUtil'\r\nexport { DomUtil }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/index.js","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 要素相关处理\r\n */\r\nimport { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Style from '../style/Style'\r\nimport Layer from '../layer/Layer'\r\n\r\nclass Feature extends mix(Style, Layer) {\r\n constructor (map) {\r\n super()\r\n this.map = map\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取Feature\r\n * @param id\r\n * @returns {*}\r\n */\r\n getFeatureById (id) {\r\n let layers = this.map.getLayers()\r\n let feature = null\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().getFeatureById) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n })\r\n return feature\r\n }\r\n\r\n /**\r\n * 通过id和layerName获取Feature\r\n * (若在当前layerName查不到,则查询全部图层)\r\n * @param id\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getFeatureById2LayerName (id, layerName) {\r\n let feature = null\r\n if (layerName) {\r\n let layer = this.getLayerByName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n }\r\n if (!feature || !(feature instanceof ol.Feature)) {\r\n feature = this.getFeatureById(id)\r\n }\r\n return feature\r\n }\r\n\r\n /**\r\n * 从属性信息中获取空间信息\r\n * @param point\r\n * @returns {*}\r\n * @private\r\n */\r\n _getGeometryFromPoint (point) {\r\n let geometry = null\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry\r\n }\r\n\r\n /**\r\n * 获取当前范围\r\n * @param multiFeatures\r\n * @private\r\n */\r\n _getExtent (multiFeatures) {\r\n let extent = multiFeatures.getExtent()\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return extent\r\n }\r\n\r\n /**\r\n * 调整当前要素范围\r\n * @param extent\r\n * @returns {*}\r\n */\r\n adjustExtent (extent) {\r\n if (this.map) {\r\n let width = ol.extent.getWidth(extent)\r\n let adjust = 0.2\r\n if (width < 0.05) {\r\n let bleft = ol.extent.getBottomLeft(extent) // 获取xmin,ymin\r\n let tright = ol.extent.getTopRight(extent) // 获取xmax,ymax\r\n let xmin = bleft[0] - adjust\r\n let ymin = bleft[1] - adjust\r\n let xmax = tright[0] + adjust\r\n let ymax = tright[1] + adjust\r\n extent = ol.extent.buffer([xmin, ymin, xmax, ymax], adjust)\r\n }\r\n return extent\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到当前范围\r\n * @param extent\r\n * @param isanimation\r\n * @param duration\r\n */\r\n zoomToExtent (extent, isanimation, duration) {\r\n if (this.map) {\r\n let view = this.map.getView()\r\n let size = this.map.getSize()\r\n /**\r\n * @type {ol.Coordinate} center The center of the view.\r\n */\r\n let center = ol.extent.getCenter(extent)\r\n if (!isanimation) {\r\n view.fit(extent, size, {\r\n padding: [350, 200, 200, 350]\r\n })\r\n view.setCenter(center)\r\n } else {\r\n if (!duration) {\r\n duration = 800\r\n view.animate({\r\n center: center,\r\n duration: duration\r\n })\r\n view.fit(extent, {\r\n size: size,\r\n duration: duration\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coordinate (当前点坐标)\r\n */\r\n movePointToView (coordinate) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coordinate[0], coordinate[1]))) {\r\n this.map.getView().animate({\r\n center: [coordinate[0], coordinate[1]],\r\n duration: 400\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置视图中心点\r\n * @param coordinate (传入坐标)\r\n */\r\n setViewCenter (coordinate) {\r\n if (coordinate && Array.isArray(coordinate) && this.map) {\r\n this.map.getView().animate({\r\n center: coordinate,\r\n duration: 800\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.map.getView().calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 添加单点\r\n * @param point\r\n * @param params\r\n * @returns {ol.Feature|ol.format.Feature|*|ol.render.Feature|Feature}\r\n */\r\n addPoint (point, params) {\r\n try {\r\n let geometry = this._getGeometryFromPoint(point)\r\n let feature = new ol.Feature({\r\n geometry: geometry,\r\n params: params\r\n })\r\n let style = this.getStyleByPoint(point['attributes']['style'])\r\n let selectStyle = this.getStyleByPoint(point['attributes']['selectStyle'])\r\n if (style && feature) {\r\n feature.setStyle(style)\r\n feature.set('style', style)\r\n if (selectStyle) {\r\n feature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n // let id = (point['attributes']['id'] ? point['attributes']['id'] : (point['attributes']['ID'] ? point['attributes']['ID'] : params['id']))\r\n let id = (point.attributes['id'] || point.attributes['ID'] || params['id'])\r\n feature.setId(id)\r\n feature.setProperties(point['attributes'])\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = geometry.getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(feature)\r\n }\r\n return feature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个点\r\n * @param points\r\n * @param params\r\n */\r\n addPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(point => {\r\n let pointFeat = this.addPoint(point, params)\r\n if (pointFeat && pointFeat instanceof ol.Feature) {\r\n let geom = pointFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geom.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置点的空间信息\r\n * @param point\r\n * @param geometry\r\n */\r\n setPointGeometry (point, geometry) {\r\n if (point && geometry && point instanceof ol.Feature) {\r\n let _geometry = this._getGeometryFromPoint({\r\n geometry: geometry\r\n })\r\n point.setGeometry(_geometry)\r\n } else {\r\n console.info('传入数据有误!')\r\n }\r\n }\r\n\r\n /**\r\n * 添加线要素\r\n * @param line\r\n * @param params\r\n * @returns {*}\r\n */\r\n addPolyline (line, params) {\r\n try {\r\n let linefeature = null\r\n if (line.geometry.hasOwnProperty('paths')) {\r\n let feat = {\r\n 'type': 'Feature',\r\n 'geometry': {\r\n 'type': 'MultiLineString',\r\n 'coordinates': line.geometry.paths\r\n }\r\n }\r\n linefeature = (new ol.format.GeoJSON()).readFeature(feat)\r\n } else {\r\n linefeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(line.geometry)\r\n })\r\n }\r\n let style = this.getStyleByLine(line['attributes']['style'])\r\n let selectStyle = this.getStyleByLine(line['attributes']['selectStyle'])\r\n let extent = linefeature.getGeometry().getExtent()\r\n if (style && linefeature) {\r\n linefeature.setStyle(style)\r\n linefeature.set('style', style)\r\n if (selectStyle) {\r\n linefeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (line['attributes'] && (line.attributes['ID'] || line.attributes['id'])) {\r\n let id = (line.attributes['id'] || line.attributes['ID'] || params['id'])\r\n linefeature.setId(id)\r\n linefeature.setProperties(line.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(linefeature)\r\n }\r\n return linefeature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多条线要素\r\n * @param lines\r\n * @param params\r\n */\r\n addPolylines (lines, params) {\r\n try {\r\n if (lines && Array.isArray(lines)) {\r\n let [MultiLine, change] = [(new ol.geom.MultiLineString([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n lines.forEach(line => {\r\n let polyLine = this.addPolyline(line, params)\r\n if (polyLine && polyLine instanceof ol.Feature) {\r\n let geom = polyLine.getGeometry()\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiLine)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加面要素\r\n * @param polygon\r\n * @param params\r\n * @returns {ol.render.Feature|ol.format.Feature|Feature|*|ol.Feature}\r\n */\r\n addPolygon (polygon, params) {\r\n try {\r\n if (polygon && polygon['geometry']) {\r\n let polygonFeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(polygon.geometry)\r\n })\r\n let style = this.getStyleByPolygon(polygon['attributes']['style'])\r\n let selectStyle = this.getStyleByPolygon(polygon['attributes']['selectStyle'])\r\n let extent = polygonFeature.getGeometry().getExtent()\r\n if (style && polygonFeature) {\r\n polygonFeature.setStyle(style)\r\n if (selectStyle) {\r\n polygonFeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (polygon['attributes'] && (polygon.attributes['ID'] || polygon.attributes['id'])) {\r\n let id = (polygon.attributes['id'] || polygon.attributes['ID'] || params['id'])\r\n polygonFeature.setId(id)\r\n polygonFeature.setProperties(polygon.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(polygonFeature)\r\n }\r\n return polygonFeature\r\n } else {\r\n console.info('传入的数据不标准!')\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个面\r\n * @param polygons\r\n * @param params\r\n */\r\n addPolygons (polygons, params) {\r\n try {\r\n if (polygons && Array.isArray(polygons)) {\r\n let [MultiPolygon, change] = [(new ol.geom.MultiPolygon([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n polygons.forEach(polygon => {\r\n let polygonFeat = this.addPolygon(polygon, params)\r\n if (polygonFeat && polygonFeat instanceof ol.Feature) {\r\n let geom = polygonFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiPolygon)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加热力图要素\r\n * @param points\r\n * @param params\r\n * @returns {string}\r\n */\r\n addHeatFeatures (points, params) {\r\n try {\r\n let feature = ''\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(item => {\r\n if (item && item['geometry']) {\r\n let geometry = this._getGeometryFromPoint(item)\r\n if (geometry && geometry instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geometry)\r\n } else if (geometry && geometry instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geometry.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (params['layerName']) {\r\n feature = new ol.Feature({\r\n geometry: multiPoint,\r\n params: params\r\n })\r\n params['create'] = true\r\n let layer = this.createHeatMapLayer(params['layerName'], params)\r\n if (layer && layer instanceof ol.layer.Heatmap) {\r\n layer.getSource().addFeature(feature)\r\n }\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置热力图样式\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n setHeatLayerStyle (layerName, params) {\r\n try {\r\n let layer = null\r\n if (layerName) {\r\n layerName = layerName.trim()\r\n let _layer = this.getLayerByLayerName(layerName)\r\n if (_layer && _layer instanceof ol.layer.Heatmap) {\r\n layer = _layer\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n switch (key) {\r\n case 'blur':\r\n layer.setBlur(params[key])\r\n break\r\n case 'radius':\r\n layer.setRadius(params[key])\r\n break\r\n case 'gradient':\r\n layer.setGradient(params[key])\r\n break\r\n case 'visible':\r\n layer.setVisible(params[key])\r\n break\r\n case 'opacity':\r\n layer.setOpacity(params[key])\r\n break\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过图层名移除要素\r\n * @param layerName\r\n */\r\n removeFeatureByLayerName (layerName) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n layer.getSource().clear()\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个图层的要素\r\n * @param layerNames \r\n */\r\n removeFeatureByLayerNames (layerNames) {\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(item => {\r\n this.removeFeatureByLayerName(item)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前要素\r\n * @param feature\r\n */\r\n removeFeature (feature) {\r\n if (feature && feature instanceof ol.Feature) {\r\n let tragetLayer = this.getLayerByFeatuer(feature)\r\n if (tragetLayer) {\r\n let source = tragetLayer.getSource()\r\n if (source && source.removeFeature) {\r\n source.removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除要素\r\n * @param id\r\n * @param layerName\r\n */\r\n removeFeatureById (id, layerName) {\r\n if (this.map && id) {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个要素\r\n * @param ids\r\n * @param layerName\r\n */\r\n removeFeatureByIds (ids, layerName) {\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(item => {\r\n this.removeFeatureById(item, layerName)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 高亮要素\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n highLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let selectStyle = feat.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feat.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let selectStyle = feature.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feature.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮状态\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n unHighLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let normalStyle = feat.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feat.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let normalStyle = feature.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feature.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n}\r\nexport default Feature\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/feature/feature.js","import { ol } from '../constants'\r\nclass Style {\r\n /**\r\n * 获取点样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPoint (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 0.75,\r\n src: 'data:image/png;base64,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0p8zAAA6GWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0xMS0wM1QxMToyNTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYmQ2NmM5OS1jOWY2LTQwZDktOTc2NC1iZGEwNWJiOTVhZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjRRCfkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAXBJREFUeNqs1TFrFEEUB/DfDWIlBISx9QMErO9bbBpJoQloISZVIjZWWomFYB3sRItTPJjKTxCYKoWkUZvYBY8IQkgRiGczyHG3FzZ386+W9/b9eFPsbE9LRk3/Bu6jwR3cKq1f+IqE9zHl0+nZ3hTUwyO8xE2X5zee4W1MeTwDjpr+dbzDuqtlgM2Y8vl/sGw2wF2L5RPWY8rjUApbS2DK7Bb0Rk1/BT+xYrn8we2AjQqYYmwErKmXtYDViuBqQKwIxoCLiuBFwHFF8DjgoCJ4EPCxIjgI+IyjCtgRhqF81NsVwO2Y8nmAmPIXvFgCe16MmftwF68ROkJ/8TSm/Kb1gi3ovXIvhg7YZkz5w2RxZqi8sNNhu51prHXDiU33yu+gLXsx5cdtjcuOtYsfLfXveDJvaC4YUz7Dg5bWw9Jz1Q3FlPcxnCgNS81CYMmrOc+LZ9T0D0dN/7DLu9c6mgnjmuB+19N0Bb/VBk+6gv8GAHn5ZfPg+9pTAAAAAElFTkSuQmCC'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取线样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByLine (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n width: 4,\r\n color: '#0000EE'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取面样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPolygon (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 根据params获取样式信息\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleByParams (options) {\r\n try {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取图标样式\r\n * @param options\r\n * @returns {*}\r\n * @private\r\n */\r\n _getImage (options) {\r\n try {\r\n let icon = new ol.style.Icon({\r\n anchor: (options['imageAnchor'] ? options['imageAnchor'] : [0.5, 0.5]),\r\n anchorXUnits: (options['imageAnchorXUnits'] ? options['imageAnchorXUnits'] : 'fraction'),\r\n anchorYUnits: (options['imageAnchorYUnits'] ? options['imageAnchorYUnits'] : 'fraction'),\r\n opacity: (options['imageOpacity'] ? options['imageOpacity'] : 1),\r\n src: (options['imageSrc'] ? options['imageSrc'] : 1)\r\n })\r\n if (icon && icon instanceof ol.style.Icon) {\r\n return icon\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线条样式\r\n * @param options\r\n * @returns {ol.style.Stroke}\r\n * @private\r\n */\r\n _getStroke (options) {\r\n try {\r\n let stroke = new ol.style.Stroke({\r\n color: (options['strokeColor'] ? options['strokeColor'] : undefined),\r\n lineCap: (options['strokeLineCap'] ? options['strokeLineCap'] : 'round'),\r\n lineJoin: (options['strokeLineJoin'] ? options['strokeLineJoin'] : 'round'),\r\n lineDash: (options['strokeLineDash'] ? options['strokeLineDash'] : undefined),\r\n lineDashOffset: (options['strokeLineDashOffset'] ? options['strokeLineDashOffset'] : '0'),\r\n miterLimit: (options['strokeMiterLimit'] ? options['strokeMiterLimit'] : 10),\r\n width: (options['strokeWidth'] ? options['strokeWidth'] : undefined)\r\n })\r\n if (stroke && stroke instanceof ol.style.Stroke) {\r\n return stroke\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取样式文本\r\n * @param options\r\n * @returns {ol.style.Text}\r\n * @private\r\n */\r\n _getText (options) {\r\n try {\r\n let text = new ol.style.Text({\r\n font: (options['textFont'] ? options['textFont'] : '10px sans-serif'),\r\n offsetX: (options['textOffsetX'] ? options['textOffsetX'] : 0),\r\n offsetY: (options['textOffsetY'] ? options['textOffsetY'] : 0),\r\n scale: (options['textScale'] ? options['textScale'] : undefined),\r\n rotation: (options['textRotation'] ? options['textRotation'] : 0),\r\n text: (options['text'] ? options['text'] : undefined),\r\n textAlign: (options['textAlign'] ? options['textAlign'] : 'start'),\r\n textBaseline: (options['textBaseline'] ? options['textBaseline'] : 'alphabetic')\r\n })\r\n if (options['textFill']) {\r\n text.setFill(this._getFill(options['textFill']))\r\n }\r\n if (options['textStroke']) {\r\n text.setStroke(this._getStroke(options['textStroke']))\r\n }\r\n if (text && text instanceof ol.style.Text) {\r\n return text\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取填充颜色\r\n * @param options\r\n * @returns {ol.style.Fill}\r\n * @private\r\n */\r\n _getFill (options) {\r\n try {\r\n let fill = new ol.style.Fill({\r\n color: (options['fillColor'] ? options['fillColor'] : undefined)\r\n })\r\n if (fill && fill instanceof ol.style.Fill) {\r\n return fill\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport default Style\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/Style.js","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-fill.js\n// module id = 83\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_create-property.js\n// module id = 84\n// module chunks = 0","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 85\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 86\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails-is-regexp.js\n// module id = 87\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 88\n// module chunks = 0","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 89\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 91\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 92\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 93\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-expm1.js\n// module id = 94\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-sign.js\n// module id = 95\n// module chunks = 0","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_microtask.js\n// module id = 96\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 97\n// module chunks = 0","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 98\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_species-constructor.js\n// module id = 99\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-at.js\n// module id = 100\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-context.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-repeat.js\n// module id = 102\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-ws.js\n// module id = 103\n// module chunks = 0","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_task.js\n// module id = 104\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-buffer.js\n// module id = 105\n// module chunks = 0","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-define.js\n// module id = 106\n// module chunks = 0","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 107\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.iterator.js\n// module id = 108\n// module chunks = 0","import parseCode from './parseCode';\nimport extend from './extend';\nimport projections from './projections';\nimport {sphere as dc_sphere, eccentricity as dc_eccentricity} from './deriveConstants';\nimport Datum from './constants/Datum';\nimport datum from './datum';\nimport match from './match';\n\nfunction Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = parseCode(srsCode);\n if(typeof json !== 'object'){\n callback(srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback(srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = match(Datum, json.datumCode);\n if (datumDef) {\n json.datum_params = datumDef.towgs84 ? datumDef.towgs84.split(',') : null;\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n var sphere_ = dc_sphere(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = dc_eccentricity(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var datumObj = json.datum || datum(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2);\n\n extend(this, json); // transfer everything over from the projection because we don't know what we'll need\n extend(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calulated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n}\nProjection.projections = projections;\nProjection.projections.start();\nexport default Projection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/Proj.js\n// module id = 109\n// module chunks = 0","export default function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gN.js\n// module id = 110\n// module chunks = 0","export default function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/imlfn.js\n// module id = 111\n// module chunks = 0","export default function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_mlfn.js\n// module id = 112\n// module chunks = 0","export default function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/qsfnz.js\n// module id = 113\n// module chunks = 0","var ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nexport default function match(obj, key) {\n if (obj[key]) {\n return obj[key];\n }\n var keys = Object.keys(obj);\n var lkey = key.toLowerCase().replace(ignoredChar, '');\n var i = -1;\n var testkey, processedKey;\n while (++i < keys.length) {\n testkey = keys[i];\n processedKey = testkey.toLowerCase().replace(ignoredChar, '');\n if (processedKey === lkey) {\n return obj[testkey];\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/match.js\n// module id = 114\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 115\n// module chunks = 0","/**\r\n * bindListener\r\n * @param listenerObj\r\n * @returns {boundListener}\r\n * @private\r\n */\r\nexport const bindListener_ = function (listenerObj) {\r\n let boundListener = function (evt) {\r\n let listener = listenerObj.listener\r\n let bindTo = listenerObj.bindTo || listenerObj.target\r\n if (listenerObj.callOnce) {\r\n unlistenByKey(listenerObj)\r\n }\r\n return listener.call(bindTo, evt)\r\n }\r\n listenerObj.boundListener = boundListener\r\n return boundListener\r\n}\r\n\r\n/**\r\n * findListener\r\n * @param listeners\r\n * @param listener\r\n * @param optThis\r\n * @param optSetDeleteIndex\r\n * @returns {*}\r\n * @private\r\n */\r\nexport const findListener_ = function (listeners, listener, optThis, optSetDeleteIndex) {\r\n let listenerObj = null\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n listenerObj = listeners[i]\r\n if (listenerObj.listener === listener && listenerObj.bindTo === optThis) {\r\n if (optSetDeleteIndex) {\r\n listenerObj.deleteIndex = i\r\n }\r\n return listenerObj\r\n }\r\n }\r\n return undefined\r\n}\r\n\r\n/**\r\n * get Listeners\r\n * @param target\r\n * @param type\r\n * @returns {undefined}\r\n */\r\nexport const getListeners = function (target, type) {\r\n let listenerMap = target.ol_lm\r\n return listenerMap ? listenerMap[type] : undefined\r\n}\r\n\r\n/**\r\n * Get the lookup of listeners. If one does not exist on the target, it is\r\n * @param target\r\n * @returns {{}|*}\r\n * @private\r\n */\r\nexport const getListenerMap_ = function (target) {\r\n let listenerMap = target.ol_lm\r\n if (!listenerMap) {\r\n listenerMap = target.ol_lm = {}\r\n }\r\n return listenerMap\r\n}\r\n\r\n/**\r\n * Clean up all listener objects of the given type\r\n * @param target\r\n * @param type\r\n * @private\r\n */\r\nexport const removeListeners_ = function (target, type) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n target.removeEventListener(type, listeners[i].boundListener)\r\n clear(listeners[i])\r\n }\r\n listeners.length = 0\r\n let listenerMap = target.ol_lm\r\n if (listenerMap) {\r\n delete listenerMap[type]\r\n if (Object.keys(listenerMap).length === 0) {\r\n delete target.ol_lm\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Registers an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n * @param optOnce\r\n * @returns {*}\r\n */\r\nexport const listen = function (target, type, listener, optThis, optOnce) {\r\n let listenerMap = getListenerMap_(target)\r\n let listeners = listenerMap[type]\r\n if (!listeners) {\r\n listeners = listenerMap[type] = []\r\n }\r\n let listenerObj = findListener_(listeners, listener, optThis, false)\r\n if (listenerObj) {\r\n if (!optOnce) {\r\n // Turn one-off listener into a permanent one.\r\n listenerObj.callOnce = false\r\n }\r\n } else {\r\n listenerObj = /** @type {ol.EventsKey} */ ({\r\n bindTo: optThis,\r\n callOnce: !!optOnce,\r\n listener: listener,\r\n target: target,\r\n type: type\r\n })\r\n target.addEventListener(type, bindListener_(listenerObj))\r\n listeners.push(listenerObj)\r\n }\r\n return listenerObj\r\n}\r\n\r\n/**\r\n * Registers a one-off event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param opt_this\r\n * @returns {*}\r\n */\r\nexport const listenOnce = function (target, type, listener, optThis) {\r\n return listen(target, type, listener, optThis, true)\r\n}\r\n\r\n/**\r\n * Unregisters an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n */\r\nexport const unlisten = function (target, type, listener, optThis) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n let listenerObj = findListener_(listeners, listener, optThis, true)\r\n if (listenerObj) {\r\n unlistenByKey(listenerObj)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters event listeners on an event target. The argument passed to this function is the key returned from\r\n * @param key\r\n */\r\nexport const unlistenByKey = function (key) {\r\n if (key && key.target) {\r\n key.target.removeEventListener(key.type, key.boundListener)\r\n let listeners = getListeners(key.target, key.type)\r\n if (listeners) {\r\n let i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key)\r\n if (i !== -1) {\r\n listeners.splice(i, 1)\r\n }\r\n if (listeners.length === 0) {\r\n removeListeners_(key.target, key.type)\r\n }\r\n }\r\n clear(key)\r\n }\r\n}\r\n/**\r\n * clear object attr\r\n * @param object\r\n */\r\nexport const clear = function (object) {\r\n for (let property in object) {\r\n delete object[property]\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters all event listeners on an event target.\r\n * @param {ol.EventTargetLike} target Target.\r\n */\r\nexport const unlistenAll = function (target) {\r\n let listenerMap = getListenerMap_(target)\r\n for (let type in listenerMap) {\r\n removeListeners_(target, type)\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Events.js","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nexport default {\r\n /**\r\n * Generic change event. Triggered when the revision counter is increased.\r\n * @event ol.events.Event#change\r\n * @api\r\n */\r\n CHANGE: 'change',\r\n CLICK: 'click',\r\n DBLCLICK: 'dblclick',\r\n DRAGENTER: 'dragenter',\r\n DRAGOVER: 'dragover',\r\n DROP: 'drop',\r\n ERROR: 'error',\r\n KEYDOWN: 'keydown',\r\n KEYPRESS: 'keypress',\r\n LOAD: 'load',\r\n MOUSEDOWN: 'mousedown',\r\n MOUSEMOVE: 'mousemove',\r\n MOUSEOUT: 'mouseout',\r\n MOUSEUP: 'mouseup',\r\n MOUSEWHEEL: 'mousewheel',\r\n MSPOINTERDOWN: 'MSPointerDown',\r\n RESIZE: 'resize',\r\n TOUCHSTART: 'touchstart',\r\n TOUCHMOVE: 'touchmove',\r\n TOUCHEND: 'touchend',\r\n WHEEL: 'wheel'\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/EventType.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单尖头箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass FineArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FINE_ARROW\r\n this.tailWidthFactor = 0.1\r\n this.neckWidthFactor = 0.2\r\n this.headWidthFactor = 0.25\r\n this.headAngle = Math.PI / 8.5\r\n this.neckAngle = Math.PI / 13\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let len = PlotUtils.getBaseLength(pnts)\r\n let tailWidth = len * this.tailWidthFactor\r\n let neckWidth = len * this.neckWidthFactor\r\n let headWidth = len * this.headWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, true)\r\n let tailRight = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, false)\r\n let headLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, true)\r\n let pList = [tailLeft, neckLeft, headLeft, pnt2, headRight, neckRight, tailRight]\r\n this.setCoordinates([pList])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FineArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/FineArrow.js","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-number-value.js\n// module id = 119\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-copy-within.js\n// module id = 120\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-from-iterable.js\n// module id = 121\n// module chunks = 0","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-reduce.js\n// module id = 122\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_bind.js\n// module id = 123\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 124\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-to-json.js\n// module id = 125\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-weak.js\n// module id = 126\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 127\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-integer.js\n// module id = 128\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 129\n// module chunks = 0","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 130\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-log1p.js\n// module id = 131\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-assign.js\n// module id = 132\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 133\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn-ext.js\n// module id = 134\n// module chunks = 0","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 135\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-to-array.js\n// module id = 136\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_own-keys.js\n// module id = 137\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-float.js\n// module id = 138\n// module chunks = 0","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-int.js\n// module id = 139\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_same-value.js\n// module id = 140\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-pad.js\n// module id = 141\n// module chunks = 0","exports.f = require('./_wks');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-ext.js\n// module id = 142\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 143\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.flags.js\n// module id = 144\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.set.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-map.js\n// module id = 146\n// module chunks = 0","\n\n\n/**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\nvar NUM_100K_SETS = 6;\n\n/**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n/**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\nvar A = 65; // A\nvar I = 73; // I\nvar O = 79; // O\nvar V = 86; // V\nvar Z = 90; // Z\nexport default {\n forward: forward,\n inverse: inverse,\n toPoint: toPoint\n};\n/**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\nexport function forward(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n};\n\n/**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\nexport function inverse(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n};\n\nexport function toPoint(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n};\n/**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\nfunction degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n}\n\n/**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\nfunction radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n}\n\n/**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\nfunction LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n}\n\n/**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\nfunction UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n}\n\n/**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\nfunction getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n}\n\n/**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\nfunction encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n}\n\n/**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\nfunction get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n}\n\n/**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\nfunction get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n}\n\n/**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\nfunction getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n}\n\n/**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\nfunction decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n}\n\n/**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100´k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\nfunction getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n}\n\n/**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\nfunction getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n}\n\n/**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\nfunction getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mgrs/mgrs.js\n// module id = 147\n// module chunks = 0","export default function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/hypot.js\n// module id = 148\n// module chunks = 0","var C00 = 1;\nvar C02 = 0.25;\nvar C04 = 0.046875;\nvar C06 = 0.01953125;\nvar C08 = 0.01068115234375;\nvar C22 = 0.75;\nvar C44 = 0.46875;\nvar C46 = 0.01302083333333333333;\nvar C48 = 0.00712076822916666666;\nvar C66 = 0.36458333333333333333;\nvar C68 = 0.00569661458333333333;\nvar C88 = 0.3076171875;\n\nexport default function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_enfn.js\n// module id = 149\n// module chunks = 0","import pj_mlfn from \"./pj_mlfn\";\nimport {EPSLN} from '../constants/values';\n\nvar MAX_ITER = 20;\n\nexport default function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < EPSLN) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_inv_mlfn.js\n// module id = 150\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sinh.js\n// module id = 151\n// module chunks = 0","export default function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/toPoint.js\n// module id = 152\n// module chunks = 0","import globals from './global';\nimport parseProj from './projString';\nimport wkt from 'wkt-parser';\n\nfunction defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = parseProj(arguments[1]);\n }\n else {\n defs[name] = wkt(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n}\nglobals(defs);\nexport default defs;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/defs.js\n// module id = 153\n// module chunks = 0","import {D2R} from './constants/values';\nimport PrimeMeridian from './constants/PrimeMeridian';\nimport units from './constants/units';\nimport match from './match';\n\nexport default function(defData) {\n var self = {};\n var paramObj = defData.split('+').map(function(v) {\n return v.trim();\n }).filter(function(a) {\n return a;\n }).reduce(function(p, a) {\n var split = a.split('=');\n split.push(true);\n p[split[0].toLowerCase()] = split[1];\n return p;\n }, {});\n var paramName, paramVal, paramOutname;\n var params = {\n proj: 'projName',\n datum: 'datumCode',\n rf: function(v) {\n self.rf = parseFloat(v);\n },\n lat_0: function(v) {\n self.lat0 = v * D2R;\n },\n lat_1: function(v) {\n self.lat1 = v * D2R;\n },\n lat_2: function(v) {\n self.lat2 = v * D2R;\n },\n lat_ts: function(v) {\n self.lat_ts = v * D2R;\n },\n lon_0: function(v) {\n self.long0 = v * D2R;\n },\n lon_1: function(v) {\n self.long1 = v * D2R;\n },\n lon_2: function(v) {\n self.long2 = v * D2R;\n },\n alpha: function(v) {\n self.alpha = parseFloat(v) * D2R;\n },\n lonc: function(v) {\n self.longc = v * D2R;\n },\n x_0: function(v) {\n self.x0 = parseFloat(v);\n },\n y_0: function(v) {\n self.y0 = parseFloat(v);\n },\n k_0: function(v) {\n self.k0 = parseFloat(v);\n },\n k: function(v) {\n self.k0 = parseFloat(v);\n },\n a: function(v) {\n self.a = parseFloat(v);\n },\n b: function(v) {\n self.b = parseFloat(v);\n },\n r_a: function() {\n self.R_A = true;\n },\n zone: function(v) {\n self.zone = parseInt(v, 10);\n },\n south: function() {\n self.utmSouth = true;\n },\n towgs84: function(v) {\n self.datum_params = v.split(\",\").map(function(a) {\n return parseFloat(a);\n });\n },\n to_meter: function(v) {\n self.to_meter = parseFloat(v);\n },\n units: function(v) {\n self.units = v;\n var unit = match(units, v);\n if (unit) {\n self.to_meter = unit.to_meter;\n }\n },\n from_greenwich: function(v) {\n self.from_greenwich = v * D2R;\n },\n pm: function(v) {\n var pm = match(PrimeMeridian, v);\n self.from_greenwich = (pm ? pm : parseFloat(v)) * D2R;\n },\n nadgrids: function(v) {\n if (v === '@null') {\n self.datumCode = 'none';\n }\n else {\n self.nadgrids = v;\n }\n },\n axis: function(v) {\n var legalAxis = \"ewnsud\";\n if (v.length === 3 && legalAxis.indexOf(v.substr(0, 1)) !== -1 && legalAxis.indexOf(v.substr(1, 1)) !== -1 && legalAxis.indexOf(v.substr(2, 1)) !== -1) {\n self.axis = v;\n }\n }\n };\n for (paramName in paramObj) {\n paramVal = paramObj[paramName];\n if (paramName in params) {\n paramOutname = params[paramName];\n if (typeof paramOutname === 'function') {\n paramOutname(paramVal);\n }\n else {\n self[paramOutname] = paramVal;\n }\n }\n else {\n self[paramName] = paramVal;\n }\n }\n if(typeof self.datumCode === 'string' && self.datumCode !== \"WGS84\"){\n self.datumCode = self.datumCode.toLowerCase();\n }\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projString.js\n// module id = 154\n// module chunks = 0","// Heavily based on this etmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\nimport sinh from '../common/sinh';\nimport hypot from '../common/hypot';\nimport asinhy from '../common/asinhy';\nimport gatg from '../common/gatg';\nimport clens from '../common/clens';\nimport clens_cmplx from '../common/clens_cmplx';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n if (this.es === undefined || this.es <= 0) {\n throw new Error('incorrect elliptical usage');\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = gatg(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + clens(this.gtu, 2 * Z));\n}\n\nexport function forward(p) {\n var Ce = adjust_lon(p.x - this.long0);\n var Cn = p.y;\n\n Cn = gatg(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, hypot(sin_Cn, cos_Cn * cos_Ce));\n Ce = asinhy(Math.tan(Ce));\n\n var tmp = clens_cmplx(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\nexport function inverse(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = clens_cmplx(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(sinh(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, hypot(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = adjust_lon(Ce + this.long0);\n lat = gatg(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/etmerc.js\n// module id = 155\n// module chunks = 0","import {D2R, R2D, PJD_3PARAM, PJD_7PARAM} from './constants/values';\nimport datum_transform from './datum_transform';\nimport adjust_axis from './adjust_axis';\nimport proj from './Proj';\nimport toPoint from './common/toPoint';\nfunction checkNotWGS(source, dest) {\n return ((source.datum.datum_type === PJD_3PARAM || source.datum.datum_type === PJD_7PARAM) && dest.datumCode !== 'WGS84') || ((dest.datum.datum_type === PJD_3PARAM || dest.datum.datum_type === PJD_7PARAM) && source.datumCode !== 'WGS84');\n}\n\nexport default function transform(source, dest, point) {\n var wgs84;\n if (Array.isArray(point)) {\n point = toPoint(point);\n }\n\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new proj('WGS84');\n point = transform(source, wgs84, point);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (source.axis !== 'enu') {\n point = adjust_axis(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * D2R,\n y: point.y * D2R\n };\n }\n else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = datum_transform(source.datum, dest.datum, point);\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * R2D,\n y: point.y * R2D\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter\n };\n }\n }\n\n // DGR, 2010/11/12\n if (dest.axis !== 'enu') {\n return adjust_axis(dest, true, point);\n }\n\n return point;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/transform.js\n// module id = 156\n// module chunks = 0","var D2R = 0.01745329251994329577;\nimport parser from './parser';\nimport {sExpr} from './process';\n\n\n\nfunction rename(obj, params) {\n var outName = params[0];\n var inName = params[1];\n if (!(outName in obj) && (inName in obj)) {\n obj[outName] = obj[inName];\n if (params.length === 3) {\n obj[outName] = params[2](obj[outName]);\n }\n }\n}\n\nfunction d2r(input) {\n return input * D2R;\n}\n\nfunction cleanWKT(wkt) {\n if (wkt.type === 'GEOGCS') {\n wkt.projName = 'longlat';\n } else if (wkt.type === 'LOCAL_CS') {\n wkt.projName = 'identity';\n wkt.local = true;\n } else {\n if (typeof wkt.PROJECTION === 'object') {\n wkt.projName = Object.keys(wkt.PROJECTION)[0];\n } else {\n wkt.projName = wkt.PROJECTION;\n }\n }\n if (wkt.UNIT) {\n wkt.units = wkt.UNIT.name.toLowerCase();\n if (wkt.units === 'metre') {\n wkt.units = 'meter';\n }\n if (wkt.UNIT.convert) {\n if (wkt.type === 'GEOGCS') {\n if (wkt.DATUM && wkt.DATUM.SPHEROID) {\n wkt.to_meter = wkt.UNIT.convert*wkt.DATUM.SPHEROID.a;\n }\n } else {\n wkt.to_meter = wkt.UNIT.convert, 10;\n }\n }\n }\n var geogcs = wkt.GEOGCS;\n if (wkt.type === 'GEOGCS') {\n geogcs = wkt;\n }\n if (geogcs) {\n //if(wkt.GEOGCS.PRIMEM&&wkt.GEOGCS.PRIMEM.convert){\n // wkt.from_greenwich=wkt.GEOGCS.PRIMEM.convert*D2R;\n //}\n if (geogcs.DATUM) {\n wkt.datumCode = geogcs.DATUM.name.toLowerCase();\n } else {\n wkt.datumCode = geogcs.name.toLowerCase();\n }\n if (wkt.datumCode.slice(0, 2) === 'd_') {\n wkt.datumCode = wkt.datumCode.slice(2);\n }\n if (wkt.datumCode === 'new_zealand_geodetic_datum_1949' || wkt.datumCode === 'new_zealand_1949') {\n wkt.datumCode = 'nzgd49';\n }\n if (wkt.datumCode === 'wgs_1984') {\n if (wkt.PROJECTION === 'Mercator_Auxiliary_Sphere') {\n wkt.sphere = true;\n }\n wkt.datumCode = 'wgs84';\n }\n if (wkt.datumCode.slice(-6) === '_ferro') {\n wkt.datumCode = wkt.datumCode.slice(0, - 6);\n }\n if (wkt.datumCode.slice(-8) === '_jakarta') {\n wkt.datumCode = wkt.datumCode.slice(0, - 8);\n }\n if (~wkt.datumCode.indexOf('belge')) {\n wkt.datumCode = 'rnb72';\n }\n if (geogcs.DATUM && geogcs.DATUM.SPHEROID) {\n wkt.ellps = geogcs.DATUM.SPHEROID.name.replace('_19', '').replace(/[Cc]larke\\_18/, 'clrk');\n if (wkt.ellps.toLowerCase().slice(0, 13) === 'international') {\n wkt.ellps = 'intl';\n }\n\n wkt.a = geogcs.DATUM.SPHEROID.a;\n wkt.rf = parseFloat(geogcs.DATUM.SPHEROID.rf, 10);\n }\n if (~wkt.datumCode.indexOf('osgb_1936')) {\n wkt.datumCode = 'osgb36';\n }\n if (~wkt.datumCode.indexOf('osni_1952')) {\n wkt.datumCode = 'osni52';\n }\n if (~wkt.datumCode.indexOf('tm65')\n || ~wkt.datumCode.indexOf('geodetic_datum_of_1965')) {\n wkt.datumCode = 'ire65';\n }\n }\n if (wkt.b && !isFinite(wkt.b)) {\n wkt.b = wkt.a;\n }\n\n function toMeter(input) {\n var ratio = wkt.to_meter || 1;\n return input * ratio;\n }\n var renamer = function(a) {\n return rename(wkt, a);\n };\n var list = [\n ['standard_parallel_1', 'Standard_Parallel_1'],\n ['standard_parallel_2', 'Standard_Parallel_2'],\n ['false_easting', 'False_Easting'],\n ['false_northing', 'False_Northing'],\n ['central_meridian', 'Central_Meridian'],\n ['latitude_of_origin', 'Latitude_Of_Origin'],\n ['latitude_of_origin', 'Central_Parallel'],\n ['scale_factor', 'Scale_Factor'],\n ['k0', 'scale_factor'],\n ['latitude_of_center', 'Latitude_of_center'],\n ['lat0', 'latitude_of_center', d2r],\n ['longitude_of_center', 'Longitude_Of_Center'],\n ['longc', 'longitude_of_center', d2r],\n ['x0', 'false_easting', toMeter],\n ['y0', 'false_northing', toMeter],\n ['long0', 'central_meridian', d2r],\n ['lat0', 'latitude_of_origin', d2r],\n ['lat0', 'standard_parallel_1', d2r],\n ['lat1', 'standard_parallel_1', d2r],\n ['lat2', 'standard_parallel_2', d2r],\n ['alpha', 'azimuth', d2r],\n ['srsCode', 'name']\n ];\n list.forEach(renamer);\n if (!wkt.long0 && wkt.longc && (wkt.projName === 'Albers_Conic_Equal_Area' || wkt.projName === 'Lambert_Azimuthal_Equal_Area')) {\n wkt.long0 = wkt.longc;\n }\n if (!wkt.lat_ts && wkt.lat1 && (wkt.projName === 'Stereographic_South_Pole' || wkt.projName === 'Polar Stereographic (variant B)')) {\n wkt.lat0 = d2r(wkt.lat1 > 0 ? 90 : -90);\n wkt.lat_ts = wkt.lat1;\n }\n}\nexport default function(wkt) {\n var lisp = parser(wkt);\n var type = lisp.shift();\n var name = lisp.shift();\n lisp.unshift(['name', name]);\n lisp.unshift(['type', type]);\n var obj = {};\n sExpr(lisp, obj);\n cleanWKT(obj);\n return obj;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/index.js\n// module id = 157\n// module chunks = 0","const HMap = {}\r\nHMap.version = require('../package.json').version\r\nimport {ol, proj4} from './constants'\r\nimport Map from './map/Map'\r\nimport Layer from './layer/Layer'\r\nimport Feature from './feature/feature'\r\nimport CoordsTransform from './plugins/CoordsTransform'\r\nimport LayerSwitcher from './plugins/LayerSwitcher'\r\nimport MeasureTool from './plugins/MeasureTool'\r\nimport LayerSpyglass from './interaction/LayerSpyglass'\r\nimport MisplacesGlass from './interaction/MisplacesGlass'\r\nimport GeomCoder from './plugins/GeomCoder'\r\nimport PlotDraw from './plot/Event/PlotDraw'\r\nimport PlotEdit from './plot/Event/PlotEdit'\r\nimport Popover from './overlay/Popover'\r\nimport * as utils from './utils/utils'\r\n\r\nHMap.ol = ol\r\nwindow.ol = ol\r\nHMap.proj4 = proj4\r\nwindow.proj4 = proj4\r\nHMap.Map = Map\r\nHMap.Utils = utils\r\nHMap.PlotDraw = PlotDraw\r\nHMap.PlotEdit = PlotEdit\r\nHMap.Layer = Layer\r\nHMap.Feature = Feature\r\nHMap.Popover = Popover\r\nHMap.CoordsTransform = CoordsTransform\r\nHMap.LayerSwitcher = LayerSwitcher\r\nHMap.MeasureTool = MeasureTool\r\nHMap.LayerSpyglass = LayerSpyglass\r\nHMap.MisplacesGlass = MisplacesGlass\r\nHMap.GeomCoder = GeomCoder\r\n\r\n/**\r\n * Inherit the prototype methods from one constructor into another.\r\n *\r\n * Usage:\r\n *\r\n * function ParentClass(a, b) { }\r\n * ParentClass.prototype.foo = function(a) { }\r\n *\r\n * function ChildClass(a, b, c) {\r\n * // Call parent constructor\r\n * ParentClass.call(this, a, b);\r\n * }\r\n * HMap.inherits(ChildClass, ParentClass);\r\n *\r\n * var child = new ChildClass('a', 'b', 'see');\r\n * child.foo(); // This works.\r\n *\r\n * @param {!Function} childCtor Child constructor.\r\n * @param {!Function} parentCtor Parent constructor.\r\n * @function\r\n * @api\r\n */\r\nHMap.inherits = function (childCtor, parentCtor) {\r\n childCtor.prototype = Object.create(parentCtor.prototype)\r\n childCtor.prototype.constructor = childCtor\r\n}\r\n\r\n/**\r\n * A reusable function, used e.g. as a default for callbacks.\r\n *\r\n * @return {undefined} Nothing.\r\n */\r\nHMap.nullFunction = function () {\r\n}\r\n\r\nexport default HMap\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-polyfill/lib/index.js\n// module id = 159\n// module chunks = 0","const config = {\r\n interactions: {\r\n altShiftDragRotate: true,\r\n doubleClickZoom: true,\r\n keyboard: true,\r\n mouseWheelZoom: true,\r\n shiftDragZoom: true,\r\n dragPan: true,\r\n pinchRotate: true,\r\n pinchZoom: true,\r\n zoomDelta: 5, // 缩放增量(默认一级)\r\n zoomDuration: 5 // 缩放持续时间\r\n },\r\n controls: {\r\n attribution: true,\r\n attributionOptions: {\r\n className: 'ol-attribution', // Default\r\n target: 'attributionTarget'\r\n },\r\n rotate: true,\r\n rotateOptions: {\r\n className: 'ol-rotate', // Default\r\n target: 'rotateTarget'\r\n },\r\n zoom: true,\r\n zoomOptions: {\r\n className: 'ol-zoom', // Default\r\n target: 'zoomTarget'\r\n },\r\n overViewMapVisible: false,\r\n scaleLineVisible: true\r\n },\r\n view: {\r\n center: [0, 0],\r\n // constrainRotation: false, // 旋转角度约束\r\n enableRotation: true, // 是否允许旋转\r\n extent: [],\r\n // maxResolution: 0, // 非必须参数\r\n // minResolution: 0,\r\n // maxZoom: 19,\r\n // minZoom: 0,\r\n projection: 'EPSG:3857',\r\n resolutions: [],\r\n rotation: 0,\r\n resolution: '',\r\n zoom: 0, // resolution\r\n zoomFactor: 2 // 用于约束分变率的缩放因子(高分辨率设备需要注意)\r\n },\r\n logo: {}\r\n}\r\n\r\nexport default config\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/config/config.js","import { splitWords, stamp } from '../utils/utils'\r\n\r\n/**\r\n * 通过id获取dom\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const get = (id) => {\r\n return typeof id === 'string' ? document.getElementById(id) : id\r\n}\r\n\r\n/**\r\n * 获取父节点下指定的子节点\r\n * @param str\r\n * @param container\r\n * @returns {NodeList|*}\r\n */\r\nexport const getChildByTagName = (str, container) => {\r\n return container.getElementsByTagName(str)\r\n}\r\n\r\n/**\r\n * 通过类名获取元素\r\n * @param str\r\n * @param container\r\n * @param root\r\n * @returns {HTMLElement}\r\n */\r\nexport const getElementsByClassName = (str, container, root) => {\r\n let _root = root || window\r\n let $ = _root.document.querySelector.bind(_root.document)\r\n // let $$ = _root.document.querySelectorAll.bind(_root.document)\r\n let target = $(str)\r\n return target\r\n}\r\n\r\n/**\r\n * 获取dom class\r\n * @param elem\r\n * @returns {*|getAttribute|string|string}\r\n */\r\nexport const getClass = (elem) => {\r\n return elem.getAttribute && elem.getAttribute('class') || ''\r\n}\r\n\r\n/**\r\n * 获取dom样式列表()\r\n * @param el\r\n * @param style\r\n * @returns {*}\r\n */\r\nexport const getStyle = (el, style) => {\r\n let value = el.style[style] || (el.currentStyle && el.currentStyle[style])\r\n if ((!value || value === 'auto') && document.defaultView) {\r\n let css = document.defaultView.getComputedStyle(el, null)\r\n value = css ? css[style] : null\r\n }\r\n return value === 'auto' ? null : value\r\n}\r\n\r\n/**\r\n * 创建dom\r\n * @param tagName (标签名)\r\n * @param className (类名)\r\n * @param container (容器)\r\n * @param id (唯一标识)\r\n * @returns {Element}\r\n */\r\nexport const create = (tagName, className, container, id) => {\r\n let el = document.createElement(tagName)\r\n el.className = className || ''\r\n if (id) {\r\n el.id = id\r\n }\r\n if (container) {\r\n container.appendChild(el)\r\n }\r\n return el\r\n}\r\n\r\n/**\r\n * 移除当前dom\r\n * @param el\r\n */\r\nexport const remove = (el) => {\r\n let parent = el.parentNode\r\n if (parent) {\r\n parent.removeChild(el)\r\n }\r\n}\r\n\r\n/**\r\n * 将dom致空\r\n * @param el\r\n */\r\nexport const empty = (el) => {\r\n while (el.firstChild) {\r\n el.removeChild(el.firstChild)\r\n }\r\n}\r\n\r\n/**\r\n * 添加到容器前方\r\n * @param el\r\n */\r\nexport const toFront = (el) => {\r\n el.parentNode.appendChild(el)\r\n}\r\n\r\n/**\r\n * 添加到容器后放\r\n * @param el\r\n */\r\nexport const toBack = (el) => {\r\n let parent = el.parentNode\r\n parent.insertBefore(el, parent.firstChild)\r\n}\r\n\r\n/**\r\n * 判断DOM对象是否有此类名\r\n * @param el\r\n * @param name\r\n * @returns {boolean}\r\n */\r\nexport const hasClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n return el.classList.contains(name)\r\n }\r\n let className = getClass(el)\r\n return className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className)\r\n}\r\n\r\n/**\r\n * 添加类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const addClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n let classes = splitWords(name)\r\n for (let i = 0, len = classes.length; i < len; i++) {\r\n el.classList.add(classes[i])\r\n }\r\n } else if (!hasClass(el, name)) {\r\n let className = getClass(el)\r\n setClass(el, (className ? className + ' ' : '') + name)\r\n }\r\n}\r\n\r\n/**\r\n * 移除类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const removeClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n el.classList.remove(name)\r\n } else {\r\n setClass(el, String.trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')))\r\n }\r\n}\r\n\r\n/**\r\n * 设置class\r\n * @param el\r\n * @param name\r\n */\r\nexport const setClass = (el, name) => {\r\n if (el.className.baseVal === undefined) {\r\n el.className = name\r\n } else {\r\n el.className.baseVal = name\r\n }\r\n}\r\n\r\n/**\r\n * 创建一个隐藏的元素\r\n * @param tagName\r\n * @param parent\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const createHidden = (tagName, parent, id) => {\r\n let element = document.createElement(tagName)\r\n element.style.display = 'none'\r\n if (id) {\r\n element.id = id\r\n }\r\n if (parent) {\r\n parent.appendChild(element)\r\n }\r\n return element\r\n}\r\n\r\n/**\r\n * 获取事件唯一标识\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {string}\r\n */\r\nexport const getDomEventKey = (type, fn, context) => {\r\n return '_p_dom_event_' + type + '_' + stamp(fn) + (context ? '_' + stamp(context) : '')\r\n}\r\n\r\n/**\r\n * 对DOM对象添加事件监听\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {*}\r\n */\r\nexport const addListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (handler) {\r\n return this\r\n }\r\n handler = function (e) {\r\n return fn.call(context || element, e)\r\n }\r\n if ('addEventListener' in element) {\r\n element.addEventListener(type, handler, false)\r\n } else if ('attachEvent' in element) {\r\n element.attachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = handler\r\n return this\r\n}\r\n\r\n/**\r\n * 移除DOM对象监听事件\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {removeListener}\r\n */\r\nexport const removeListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (!handler) {\r\n return this\r\n }\r\n if ('removeEventListener' in element) {\r\n element.removeEventListener(type, handler, false)\r\n } else if ('detachEvent' in element) {\r\n element.detachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = null\r\n return this\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/domUtil.js","import { ol } from '../constants'\r\nclass appDrag extends (ol.interaction.Pointer) {\r\n constructor () {\r\n super()\r\n ol.interaction.Pointer.call(this, {\r\n handleDownEvent: this.handleDownEvent,\r\n handleDragEvent: this.handleDragEvent,\r\n handleMoveEvent: this.handleMoveEvent,\r\n handleUpEvent: this.handleUpEvent\r\n })\r\n\r\n this.customType = 'appDrag'\r\n /**\r\n * @type {ol.Pixel}\r\n * @private\r\n */\r\n this.coordinate_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.cursor_ = 'pointer'\r\n\r\n /**\r\n * @type {ol.Feature}\r\n * @private\r\n */\r\n this.feature_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.previousCursor_ = undefined\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n * @return {boolean} `true` to start the drag sequence.\r\n */\r\n handleDownEvent (evt) {\r\n if (evt.originalEvent.button === 0) {\r\n let map = evt.map\r\n let feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n if (feature && feature.get('params') && feature.get('params').moveable) {\r\n this.coordinate_ = evt.coordinate\r\n this.feature_ = feature\r\n }\r\n map.dispatchEvent({\r\n type: 'mouseDownEvent',\r\n originEvent: evt,\r\n value: feature\r\n })\r\n return !!feature\r\n }\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n */\r\n handleDragEvent (evt) {\r\n if (!this.coordinate_) {\r\n return\r\n }\r\n let deltaX = evt.coordinate[0] - this.coordinate_[0]\r\n let deltaY = evt.coordinate[1] - this.coordinate_[1]\r\n let geometry = /** @type {ol.geom.SimpleGeometry} */\r\n (this.feature_.getGeometry())\r\n geometry.translate(deltaX, deltaY)\r\n this.coordinate_[0] = evt.coordinate[0]\r\n this.coordinate_[1] = evt.coordinate[1]\r\n this.feature_.dispatchEvent('featureMove')\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Event.\r\n */\r\n handleMoveEvent (evt) {\r\n if (this.cursor_) {\r\n let map = evt.map\r\n let feature = null\r\n if (this.feature_) {\r\n feature = this.feature_\r\n } else {\r\n feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n }\r\n let element = evt.map.getTargetElement()\r\n if (feature) {\r\n if (element.style.cursor !== this.cursor_) {\r\n this.previousCursor_ = element.style.cursor\r\n element.style.cursor = this.cursor_\r\n }\r\n } else if (this.previousCursor_ !== undefined) {\r\n element.style.cursor = this.previousCursor_\r\n this.previousCursor_ = undefined\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return {boolean} `false` to stop the drag sequence.\r\n */\r\n handleUpEvent () {\r\n this.coordinate_ = null\r\n this.feature_ = null\r\n return false\r\n }\r\n}\r\n\r\nexport default appDrag\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/appDrag.js","import { ol } from '../constants'\r\n\r\nclass LayerSpyglass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n // 在渲染之前处理渲染图层\r\n this.imagery.on('precompose', event => {\r\n let [ctx, pixelRatio] = [event.context, event.frameState.pixelRatio]\r\n ctx.save()\r\n ctx.beginPath()\r\n if (this.mousePosition) {\r\n ctx.arc(this.mousePosition[0] * pixelRatio, this.mousePosition[1] * pixelRatio,\r\n this.radius * pixelRatio, 0, 2 * Math.PI)\r\n ctx.lineWidth = 5 * pixelRatio\r\n ctx.strokeStyle = 'rgba(0,0,0,0.5)'\r\n ctx.stroke()\r\n }\r\n ctx.clip()\r\n })\r\n\r\n this.imagery.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSpyglass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/LayerSpyglass.js","import { ol } from '../constants'\r\n\r\nclass MisplacesGlass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n this.imagery.on('postcompose', event => {\r\n if (this.mousePosition) {\r\n let context = event.context\r\n let pixelRatio = event.frameState.pixelRatio\r\n let half = this.radius * pixelRatio\r\n let centerX = this.mousePosition[0] * pixelRatio\r\n let centerY = this.mousePosition[1] * pixelRatio\r\n let originX = centerX - half\r\n let originY = centerY - half\r\n let size = 2 * half + 1\r\n let sourceData = context.getImageData(originX, originY, size, size).data\r\n let dest = context.createImageData(size, size)\r\n let destData = dest.data\r\n for (let j = 0; j < size; ++j) {\r\n for (let i = 0; i < size; ++i) {\r\n let dI = i - half\r\n let dJ = j - half\r\n let dist = Math.sqrt(dI * dI + dJ * dJ)\r\n let sourceI = i\r\n let sourceJ = j\r\n if (dist < half) {\r\n sourceI = Math.round(half + dI / 2)\r\n sourceJ = Math.round(half + dJ / 2)\r\n }\r\n let destOffset = (j * size + i) * 4\r\n let sourceOffset = (sourceJ * size + sourceI) * 4\r\n destData[destOffset] = sourceData[sourceOffset]\r\n destData[destOffset + 1] = sourceData[sourceOffset + 1]\r\n destData[destOffset + 2] = sourceData[sourceOffset + 2]\r\n destData[destOffset + 3] = sourceData[sourceOffset + 3]\r\n }\r\n }\r\n context.beginPath()\r\n context.arc(centerX, centerY, half, 0, 2 * Math.PI)\r\n context.lineWidth = 3 * pixelRatio\r\n context.strokeStyle = 'rgba(255,255,255,0.5)'\r\n context.putImageData(dest, originX, originY)\r\n context.stroke()\r\n context.restore()\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default MisplacesGlass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/MisplacesGlass.js","import { ol } from '../constants'\r\nclass Controls {\r\n _addControls (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.control.defaults({\r\n attribution: (options['attribution'] === false ? options['attribution'] : true),\r\n rotate: (options['rotate'] === false ? options['rotate'] : true),\r\n zoom: (options['zoom'] === false ? options['zoom'] : true)\r\n })\r\n }\r\n\r\n _addScaleLine () {\r\n let control = this.map.getControls()\r\n control.extend([\r\n new ol.control.ScaleLine() // 比例尺控件\r\n ])\r\n }\r\n\r\n /**\r\n * 放大\r\n */\r\n zoomIn (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom + 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n /**\r\n * 缩小\r\n */\r\n zoomOut (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom - 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n\r\n zoomByDelta (delta, duration) {\r\n let view = this.map.getView()\r\n if (!view || !(view instanceof ol.View)) {\r\n return false\r\n } else {\r\n let currentResolution = view.getResolution()\r\n if (currentResolution) {\r\n let newResolution = view.constrainResolution(currentResolution, delta)\r\n if (duration > 0) {\r\n if (view.getAnimating()) {\r\n view.cancelAnimations()\r\n }\r\n view.animate({\r\n resolution: newResolution,\r\n duration: duration,\r\n easing: ol.easing.easeOut\r\n })\r\n } else {\r\n view.setResolution(newResolution)\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Controls.js","import { ol } from '../constants'\r\nimport appDrag from '../event/appDrag'\r\nclass Interactions {\r\n _addInteractions (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.interaction.defaults({\r\n altShiftDragRotate: ((options['altShiftDragRotate'] === false) ? options['altShiftDragRotate'] : true),\r\n doubleClickZoom: ((options['doubleClickZoom'] === false) ? options['doubleClickZoom'] : true),\r\n keyboard: ((options['keyboard'] === false) ? options['keyboard'] : true),\r\n mouseWheelZoom: ((options['mouseWheelZoom'] === false) ? options['mouseWheelZoom'] : true),\r\n shiftDragZoom: ((options['shiftDragZoom'] === false) ? options['shiftDragZoom'] : true),\r\n dragPan: ((options['dragPan'] === false) ? options['dragPan'] : true),\r\n pinchRotate: ((options['pinchRotate'] === false) ? options['pinchRotate'] : true),\r\n pinchZoom: ((options['pinchZoom'] === false) ? options['pinchZoom'] : true),\r\n zoomDelta: ((options['zoomDelta'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDelta'] : 1), // 缩放增量(默认一级)\r\n zoomDuration: (options['zoomDuration'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDuration'] : 300 // 缩放持续时间\r\n }).extend([new appDrag()])\r\n }\r\n}\r\n\r\nexport default Interactions\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Interactions.js","import mix from '../utils/mixin'\r\nimport { ol, proj4 } from '../constants'\r\n\r\nimport BaseLayers from './baseLayer'\r\nimport Controls from './Controls'\r\nimport Interactions from './Interactions'\r\nimport View from './View'\r\nimport Layer from '../layer/Layer'\r\nimport Feature from '../feature/feature'\r\nimport Style from '../style/Style'\r\nimport Overlay from '../overlay/Overlay'\r\n\r\nclass Map extends mix(BaseLayers, Controls, Interactions, Style, Layer, View, Feature, Overlay) {\r\n constructor () {\r\n super()\r\n this.addPointHandlerClick = null\r\n this.plotDraw = null // 标绘工具\r\n this.plotEdit = null\r\n this._lastDrawInteractionGeometry = null\r\n window.ObservableObj = new ol.Object()\r\n proj4.defs('EPSG:4490', '+proj=longlat +ellps=GRS80 +no_defs')\r\n ol.proj.setProj4(proj4)\r\n\r\n /**\r\n * 当前地图线要素\r\n * @type {Array}\r\n */\r\n this.currentMapLines = []\r\n /**\r\n * 当前地图点要素\r\n * @type {Array}\r\n */\r\n this.currentMapPoints = []\r\n /**\r\n * 当前地图面要素\r\n * @type {Array}\r\n */\r\n this.currentMapPolygon = []\r\n /**\r\n * 当前地图线图层\r\n * @type {Array}\r\n */\r\n this.lineLayers = new Set()\r\n /**\r\n * 当前地图点图层\r\n * @type {Array}\r\n */\r\n this.pointLayers = new Set()\r\n /**\r\n * 当前地图面图层\r\n * @type {Array}\r\n */\r\n this.polygonLayers = new Set()\r\n /**\r\n * 周边搜索要素\r\n * @type {null}\r\n */\r\n this.circleSerachFeat = null\r\n /**\r\n * 当前地图气泡\r\n * @type {null}\r\n */\r\n this.popupOverlay = null\r\n }\r\n\r\n /**\r\n * 初始化当前地图\r\n * @param mapDiv\r\n * @param params\r\n */\r\n initMap (mapDiv, params) {\r\n let options = params || {}\r\n let logo = this._addCopyRight((options['logo'] || {}))\r\n let layers = this.addBaseLayers(options['baseLayers'], options['view'])\r\n let view = this._addView(options['view'])\r\n let interactions = this._addInteractions(options['interactions'])\r\n let controls = this._addControls(options['controls'])\r\n /**\r\n * 当前地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = new ol.Map({\r\n target: mapDiv,\r\n loadTilesWhileAnimating: false,\r\n loadTilesWhileInteracting: false,\r\n logo: logo,\r\n layers: layers,\r\n view: view,\r\n interactions: interactions,\r\n controls: controls\r\n })\r\n\r\n this.map.on('click', event => {\r\n console.log(event.coordinate)\r\n })\r\n }\r\n\r\n /**\r\n * 添加版权信息\r\n * @returns {boolean}\r\n * @private\r\n */\r\n _addCopyRight (params) {\r\n let logo = {\r\n href: 'https://aurorafe.github.io',\r\n src: 'data:image/png;base64,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'\r\n }\r\n if (params['href']) {\r\n logo.href = params['href']\r\n }\r\n if (params['src']) {\r\n logo.src = params['src']\r\n }\r\n return logo\r\n }\r\n\r\n /**\r\n * 获取当前地图\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 设置地图实例\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 更新地图\r\n */\r\n updateSize () {\r\n this.map.updateSize()\r\n }\r\n}\r\n\r\nexport default Map\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Map.js","import { ol } from '../constants'\r\nclass View {\r\n _addView (params) {\r\n let option = params || {}\r\n return new ol.View({\r\n center: ((option['center'] && Array.isArray(option['center'])) ? option['center'] : [0, 0]),\r\n zoom: ((option['zoom'] && (typeof option['zoom'] === 'number')) ? option['zoom'] : 0),\r\n zoomFactor: ((option['zoomFactor'] && (typeof option['zoomFactor'] === 'number')) ? option['zoomFactor'] : 2),\r\n rotation: ((option['rotation'] && (typeof option['rotation'] === 'number')) ? option['rotation'] : 0),\r\n enableRotation: (option['enableRotation'] === false ? option['enableRotation'] : true),\r\n projection: (option['projection'] ? option['projection'] : 'EPSG:3857'),\r\n extent: ((option['extent'] && Array.isArray(option['extent']) && option['extent'].length === 4) ? option['extent'] : undefined),\r\n resolutions: ((option['resolutions'] && Array.isArray(option['resolutions']) && option['resolutions'].length > 0) ? option['resolutions'] : undefined)\r\n })\r\n }\r\n}\r\n\r\nexport default View\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/View.js","import {ol} from '../constants'\r\nclass BaseLayers {\r\n\r\n /**\r\n * 添加底图\r\n * @param params\r\n * @param view\r\n * @returns {[*]}\r\n */\r\n addBaseLayers (params, view) {\r\n let options = params || []\r\n let _view = view || {}\r\n if (_view) {\r\n /**\r\n * 投影\r\n * @type {ol.proj.Projection}\r\n */\r\n this.projection = ol.proj.get((_view['projection'] ? _view.projection : 'EPSG:3857'))\r\n /**\r\n * 显示范围\r\n */\r\n this.fullExtent = _view['fullExtent'] ? _view.fullExtent : undefined\r\n /**\r\n * 投影范围\r\n */\r\n if (this.fullExtent) {\r\n this.projection.setExtent(this.fullExtent)\r\n }\r\n /**\r\n * 瓦片原点\r\n * @desc 设置瓦片原点的目的是因为部分地图切图原点不是[0,0]\r\n * 为保证正确加载,所以必须设置瓦片原点。\r\n */\r\n this.origin = _view.origin\r\n /**\r\n * 瓦片大小\r\n * @desc 切片大小,典型值有256, 512.\r\n * 默认256\r\n */\r\n this.tileSize = _view.tileSize\r\n /**\r\n * 分辨率\r\n * @type Array\r\n */\r\n this.resolutions = _view['resolutions']\r\n }\r\n\r\n if (!options || !Array.isArray(options) || options.length <= 0) {\r\n return [new ol.layer.Group({\r\n layers: [new ol.layer.Tile({\r\n source: new ol.source.OSM()\r\n })],\r\n isBaseLayer: true\r\n })]\r\n } else {\r\n return [new ol.layer.Group({\r\n layers: this._getBaseLayerGroup(params),\r\n isBaseLayer: true\r\n })]\r\n }\r\n }\r\n\r\n /**\r\n * 获取图层组\r\n * @returns {ol.layer.Group}\r\n */\r\n _getBaseLayerGroup (layerConfig) {\r\n let [layers, labelLayers, _layers, labelLayersConfig] = [[], [], [], []]\r\n if (layerConfig && Array.isArray(layerConfig) && layerConfig.length > 0) {\r\n layerConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n let layer = null\r\n switch (config['layerType']) {\r\n case 'TileXYZ':\r\n layer = this._getXYZLayer(config)\r\n break\r\n case 'TitleWMTS':\r\n layer = this._getWMTSLayer(config)\r\n break\r\n case 'OSM':\r\n layer = this._getOSMLayer(config)\r\n break\r\n case 'ImageWMS':\r\n layer = this._getImageWMSLayer(config)\r\n break\r\n case 'TileWMS':\r\n layer = this._getTileWMSLayer(config)\r\n break\r\n case 'MapboxVectorTile':\r\n layer = this._getMapboxVectorTileLayer(config)\r\n break\r\n }\r\n if (layer) layers.push(layer)\r\n if (config['label']) {\r\n labelLayersConfig.push(config['label'])\r\n }\r\n }\r\n })\r\n }\r\n labelLayers = this._getBaseLayerLabel(labelLayersConfig)\r\n _layers = layers.concat(labelLayers)\r\n return _layers\r\n }\r\n\r\n /**\r\n * 主要处理标注层\r\n * @param labelLayersConfig\r\n * @returns {null}\r\n * @private\r\n */\r\n _getBaseLayerLabel (labelLayersConfig) {\r\n let [labelLayers, _labelLayersLayerNames] = [[], (new Set())]\r\n if (labelLayersConfig && Array.isArray(labelLayersConfig) && labelLayersConfig.length > 0) {\r\n labelLayersConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n _labelLayersLayerNames.add(config['layerName'])\r\n }\r\n });\r\n [...(_labelLayersLayerNames)].forEach(layerName => {\r\n labelLayersConfig.every(configM => {\r\n if (configM && configM['layerName'] === layerName) {\r\n let labelLayer = null\r\n switch (configM['layerType']) {\r\n case 'TileXYZ':\r\n labelLayer = this._getXYZLayer(configM)\r\n break\r\n case 'OSM':\r\n labelLayer = this._getOSMLayer(configM)\r\n break\r\n case 'TitleWMTS':\r\n labelLayer = this._getWMTSLayer(configM)\r\n break\r\n case 'ImageWMS':\r\n labelLayer = this._getImageWMSLayer(configM)\r\n break\r\n case 'TileWMS':\r\n labelLayer = this._getTileWMSLayer(configM)\r\n break\r\n case 'MapboxVectorTile':\r\n labelLayer = this._getMapboxVectorTileLayer(configM)\r\n break\r\n }\r\n if (labelLayer) labelLayers.push(labelLayer)\r\n return false\r\n }\r\n return true\r\n })\r\n })\r\n }\r\n return labelLayers\r\n }\r\n\r\n /**\r\n * 获取标准XYZ图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getXYZLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n config['tileSize'] = this.tileSize\r\n if (!config.hasOwnProperty('tileGrid')) {\r\n config['tileGrid'] = {}\r\n config['tileGrid']['tileSize'] = this.tileSize\r\n config['tileGrid']['origin'] = this.origin\r\n config['tileGrid']['extent'] = this.fullExtent\r\n config['tileGrid']['resolutions'] = this.resolutions\r\n }\r\n let baseLayer = this.createXYZLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 加载开源OSM图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getOSMLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createOSMLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取标准WMTS图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getWMTSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createWMTSLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Images WMS 方式加载\r\n * @param config\r\n * @private\r\n */\r\n _getImageWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createImageWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Image) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Title WMS 方式加载\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getTileWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTileWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加MapBox的矢量图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getMapboxVectorTileLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createMapboxVectorTileLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取版权信息\r\n * @returns {Xr.Attribution|Jr.Attribution|Wr.Attribution|*|ol.Attribution|ol.control.Attribution}\r\n * @private\r\n */\r\n _getAttribution (params) {\r\n if (!params) {\r\n params = {}\r\n params['url'] = 'https://aurorafe.github.io'\r\n params['messages'] = 'contributors.'\r\n params['title'] = 'HMap'\r\n }\r\n let attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n return attribution\r\n }\r\n}\r\n\r\nexport default BaseLayers\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/baseLayer.js","import { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { trim } from '../utils/utils'\r\nimport Feature from '../feature/feature'\r\nimport mix from '../utils/mixin'\r\nclass Overlay extends mix(Feature) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 从空间数据中解析坐标\r\n * @param point\r\n */\r\n _getCoordinatesFromGeom (point) {\r\n let [ geometry ] = [ null ]\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry.getCoordinates()\r\n }\r\n /**\r\n * 添加字体图标要素\r\n * @param point\r\n * @param params\r\n */\r\n addOverlayPoint (point, params, index) {\r\n try {\r\n if (point && point['geometry']) {\r\n let coordinate = this._getCoordinatesFromGeom(point)\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n let id = (point['attributes']['id'] || point['attributes']['ID'] || params['id'])\r\n let overlay = this.map.getOverlayById(id)\r\n let creatEle = this.getElementForOverlay(point, params, index)\r\n let [marker, ele] = [creatEle['marker'], creatEle['ele']]\r\n if (!overlay) {\r\n let iconOverlay = new ol.Overlay({\r\n element: marker,\r\n positioning: 'center-center',\r\n id: id,\r\n offset: [0, 0],\r\n stopEvent: true\r\n })\r\n iconOverlay.setPosition(coordinate)\r\n iconOverlay.setProperties(point['attributes'])\r\n if (params) {\r\n iconOverlay.set('params', params)\r\n if (params['layerName']) {\r\n iconOverlay.set('layerName', params.layerName)\r\n }\r\n }\r\n this._addOverLayEvent(marker, ele, iconOverlay)\r\n this.map.addOverlay(iconOverlay)\r\n } else {\r\n this._addOverLayEvent(marker, ele, overlay)\r\n overlay.setElement(marker)\r\n }\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = (new ol.geom.Point(coordinate)).getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加要素事件\r\n * @param marker\r\n * @param OverLay\r\n * @private\r\n */\r\n _addOverLayEvent (marker, ele, OverLay) {\r\n marker.onmousedown = function (event) {\r\n if (event.button === 2) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'rightMenuEvt',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n } else if (event.button === 0) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'overlayEvent',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n marker.onmouseover = function (event) {\r\n ele.style.color = ele.selectColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseoverOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n marker.onmouseout = function (event) {\r\n ele.style.color = ele.normalColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseOutOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取OverLay Dom\r\n * @param point\r\n * @param params\r\n * @param index\r\n * @returns {Element}\r\n */\r\n getElementForOverlay (point, params, index) {\r\n let marker = document.createElement('div')\r\n marker.className = 'overlay-point-content'\r\n let style = point['attributes']['style'] || params['style']\r\n let [ele, spanEle] = ['', '']\r\n if (style['element']) {\r\n ele = document.createElement('div')\r\n let eleClass = (style['element']['className'] ? style['element']['className'] : 'maker-point')\r\n DomUtil.addClass(ele, 'iconfont')\r\n DomUtil.addClass(ele, eleClass)\r\n ele.style.top = style['element']['top'] ? style['element']['top'] : '-100%'\r\n ele.style.left = style['element']['left'] ? style['element']['left'] : '100%'\r\n ele.style.fontSize = style['element']['fontSize'] ? style['element']['fontSize'] : '16px'\r\n ele.style.borderColor = style['element']['borderColor'] ? style['element']['borderColor'] : '#2A2A2A'\r\n ele.style.borderWidth = style['element']['borderWidth'] ? style['element']['borderWidth'] : '1px'\r\n ele.style.opacity = style['element']['opacity'] ? style['element']['opacity'] : 1\r\n ele.style.width = style['element']['width'] ? style['element']['width'] : '100%'\r\n ele.style.height = style['element']['height'] ? style['element']['height'] : '100%'\r\n ele.style.borderRadius = style['element']['borderRadius'] ? style['element']['borderRadius'] : '0px'\r\n ele.normalColor = ele.style.color = style['element']['color'] ? style['element']['color'] : '#1b9de8'\r\n ele.selectColor = style['element']['selectColor'] ? style['element']['selectColor'] : '#F61717'\r\n ele.innerHTML = style['element']['text'] ? style['element']['text'] : ''\r\n if (params['orderBy']) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(index) + 1\r\n } else if (params['orderByNum'] && point['attributes']['number'] !== undefined && point['attributes']['number'] !== '' && point['attributes']['number'] !== null) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(point['attributes']['number']) + 1\r\n }\r\n if (spanEle) {\r\n ele.appendChild(spanEle)\r\n }\r\n marker.appendChild(ele)\r\n }\r\n return ({\r\n marker: marker,\r\n ele: ele\r\n })\r\n }\r\n\r\n /**\r\n * 添加多个OverLay\r\n * @param points\r\n * @param params\r\n */\r\n addOverlayPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let multiPoint = new ol.geom.MultiPoint([])\r\n let change = false\r\n points.forEach((item, index) => {\r\n if (item && item['geometry']) {\r\n let _geom = this._getGeometryFromPoint(item)\r\n if (_geom) {\r\n this.addOverlayPoint(item, params, index)\r\n multiPoint.appendPoint(_geom)\r\n }\r\n }\r\n })\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = !params['zoomToExtent']\r\n change = true\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除overlay\r\n * @param overlay\r\n */\r\n removeOverLay (overlay) {\r\n try {\r\n if (overlay && overlay instanceof ol.Overlay && this.map) {\r\n this.map.removeOverlay(overlay)\r\n return overlay\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除overlay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n removeOverlayById (id) {\r\n try {\r\n if (this.map && id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n if (overLay && overLay instanceof ol.Overlay) {\r\n this.map.removeOverlay(overLay)\r\n }\r\n return overLay\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除OverLay\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n let len = overlays.length\r\n for (let i = 0; i < len; i++) {\r\n if (overlays[i] && overlays[i].get('layerName') === layerName) {\r\n _overlays.push(overlays[i])\r\n this.map.removeOverlay(overlays[i])\r\n i--\r\n }\r\n }\r\n }\r\n return _overlays\r\n }\r\n\r\n /**\r\n * 通过id数组移除OverLay\r\n * @param ids\r\n * @returns {Array}\r\n */\r\n removeOverlayByIds (ids) {\r\n try {\r\n let overlays = []\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(id => {\r\n if (id) {\r\n let overlay = this.removeOverlayById(id)\r\n overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerNames移除Overlay\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.removeOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n highLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.selectColor\r\n DomUtil.addClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.selectColor\r\n DomUtil.addClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n unHighLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.normalColor\r\n DomUtil.removeClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.normalColor\r\n DomUtil.removeClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取OverLay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n getOverLayById (id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n return overLay\r\n }\r\n\r\n /**\r\n * 通过LayerNames获取OverLays\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n getOverLaysByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.getOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取OverLays\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n getOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n overlays.forEach(overlay => {\r\n if (overlay && overlay.get('layerName') === layerName) {\r\n _overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return _overlays\r\n }\r\n}\r\n\r\nexport default Overlay\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Overlay.js","/**\r\n * Created by FDD on 2017/5/14.\r\n * @desc 用于地图弹出气泡\r\n */\r\nimport { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { getuuid } from '../utils/utils'\r\nlet Popover = function (map, params) {\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n\r\n /**\r\n * 当前气泡配置项\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n /**\r\n * 是否自动平移(不传时默认自动平移)\r\n */\r\n if (this.options['autoPan'] === undefined) {\r\n this.options['autoPan'] = true\r\n }\r\n\r\n /**\r\n * 气泡偏移量\r\n */\r\n if (!this.options['offset']) {\r\n this.options.offset = [0, 0]\r\n }\r\n\r\n /**\r\n * 平移时是否有动画效果\r\n */\r\n if (this.options['autoPanAnimation'] === undefined) {\r\n this.options['autoPanAnimation'] = {\r\n duration: 250\r\n }\r\n }\r\n\r\n /**\r\n * 气泡类名\r\n */\r\n if (!this.options['className']) {\r\n this.options['className'] = 'ol-popup'\r\n }\r\n\r\n /**\r\n * 气泡透明度\r\n */\r\n if (this.options['opacity'] === undefined) {\r\n this.options['opacity'] = 1\r\n }\r\n\r\n /**\r\n * 获取id\r\n */\r\n if (this.options['id'] === undefined || this.options['id'] === null) {\r\n this.options['id'] = getuuid()\r\n }\r\n\r\n this.container = DomUtil.create('div', this.options['className'])\r\n this.content = document.createElement('div')\r\n this.content.className = 'ol-popup-content'\r\n this.container.appendChild(this.content)\r\n\r\n this.enableTouchScroll_(this.content)\r\n this.options.element = this.container\r\n ol.Overlay.call(this, {\r\n element: this.container,\r\n stopEvent: true,\r\n offset: this.options['offset'],\r\n id: this.options['id'],\r\n insertFirst: ((this.options.hasOwnProperty('insertFirst')) ? this.options.insertFirst : true)\r\n })\r\n}\r\nol.inherits(Popover, ol.Overlay)\r\n\r\n/**\r\n * 显示当前气泡\r\n * @param coord\r\n * @param html\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.show = function (coord, html) {\r\n if (html instanceof HTMLElement) {\r\n this.content.innerHTML = ''\r\n this.content.appendChild(html)\r\n } else {\r\n this.content.innerHTML = html\r\n }\r\n this.container.style.display = 'block'\r\n this.content.scrollTop = 0\r\n this.setPosition(coord)\r\n this.updateSize()\r\n return this\r\n}\r\n\r\n/**\r\n * 隐藏当前气泡\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.hide = function () {\r\n this.container.style.display = 'none'\r\n return this\r\n}\r\n\r\n/**\r\n * 更新气泡大小\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.updateSize = function () {\r\n this.container.style.marginLeft = (-this.container.clientWidth / 2) - 1 + 'px'\r\n this.container.style.display = 'block'\r\n this.container.style.opacity = 1\r\n this.content.scrollTop = 0\r\n return this\r\n}\r\n\r\n/**\r\n * 返回气泡状态值\r\n * @returns {boolean}\r\n */\r\nPopover.prototype.isOpened = function () {\r\n return (this.container.style.display === 'block')\r\n}\r\n\r\n/**\r\n * 判断是否为移动设备(触摸)\r\n * @returns {boolean}\r\n * @private\r\n */\r\nPopover.prototype.isTouchDevice_ = function () {\r\n try {\r\n document.createEvent('TouchEvent')\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\n/**\r\n * 允许触摸滚动\r\n * @param elm\r\n * @private\r\n */\r\nPopover.prototype.enableTouchScroll_ = function (elm) {\r\n if (this.isTouchDevice_()) {\r\n let scrollStartPos = 0\r\n elm.addEventListener('touchstart', event => {\r\n scrollStartPos = this.scrollTop + event.touches[0].pageY\r\n }, false)\r\n elm.addEventListener('touchmove', event => {\r\n this.scrollTop = scrollStartPos - event.touches[0].pageY\r\n }, false)\r\n }\r\n}\r\n\r\nexport default Popover\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Popover.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc PlotDraw\r\n */\r\n\r\nimport { ol } from '../../constants'\r\nimport { MathDistance } from '../Utils/utils'\r\nimport EventType from './EventType'\r\nimport * as Events from '../../event/Events'\r\nimport mix from '../../utils/mixin'\r\nimport Layer from '../../layer/Layer'\r\nimport Plot from '../index'\r\nconst Observable = ol.Observable\r\nclass PlotDraw extends mix(Observable, Plot, Layer) {\r\n constructor (map, params) {\r\n super()\r\n ol.Observable.call(this, [])\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n this.options = params || {}\r\n /**\r\n * 交互点\r\n * @type {null}\r\n */\r\n this.points = null\r\n /**\r\n * 当前标绘工具\r\n * @type {null}\r\n */\r\n this.plot = null\r\n /**\r\n * 当前要素\r\n * @type {null}\r\n */\r\n this.feature = null\r\n /**\r\n * 标绘类型\r\n * @type {null}\r\n */\r\n this.plotType = null\r\n /**\r\n * 当前标绘参数\r\n * @type {null}\r\n */\r\n this.plotParams = null\r\n /**\r\n * 当前地图视图\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 地图双击交互\r\n * @type {null}\r\n */\r\n this.dblClickZoomInteraction = null\r\n\r\n /**\r\n * 绘制OverLay\r\n * @type {null}\r\n */\r\n this.drawOverlay = null\r\n\r\n /**\r\n * 事件监听器\r\n * @type {*}\r\n */\r\n this.Observable = new ol.Object()\r\n\r\n /**\r\n * 创建图层名称\r\n * @type {string}\r\n */\r\n this.layerName = 'GISPLOTLAYER'\r\n\r\n /**\r\n * 当前矢量图层\r\n * @type {*}\r\n */\r\n this.drawLayer = this.createVectorLayer(this.layerName, {\r\n create: true\r\n })\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param type\r\n * @param params\r\n */\r\n active (type, params) {\r\n this.disActive()\r\n this.deactiveMapTools()\r\n this.map.on('click', this.mapFirstClickHandler, this)\r\n this.plotType = type\r\n this.plotParams = params\r\n }\r\n\r\n /**\r\n * 取消激活状态\r\n */\r\n disActive () {\r\n this.removeEventHandlers()\r\n this.map.removeLayer(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.feature = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.activateMapTools()\r\n }\r\n\r\n /**\r\n * PLOT是否处于激活状态\r\n * @returns {boolean}\r\n */\r\n isDrawing () {\r\n return (this.plotType !== null)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 激活工具后第一次点击事件\r\n * @param event\r\n */\r\n mapFirstClickHandler (event) {\r\n this.points.push(event.coordinate)\r\n this.plot = this.createPlot(this.plotType, this.points, this.plotParams)\r\n this.plot.setMap(this.map)\r\n this.feature = new ol.Feature(this.plot)\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.on('click', this.mapNextClickHandler, this)\r\n if (!this.plot.freehand) {\r\n this.map.on('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this, false)\r\n }\r\n\r\n /**\r\n * 地图点击事件处理\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapNextClickHandler (event) {\r\n if (!this.plot.freehand) {\r\n if (MathDistance(event.coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n }\r\n this.points.push(event.coordinate)\r\n this.plot.setPoints(this.points)\r\n if (this.plot.fixPointCount === this.plot.getPointCount()) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n if (this.plot && this.plot.freehand) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n }\r\n\r\n /**\r\n * 地图双击事件处理\r\n * @param event\r\n */\r\n mapDoubleClickHandler (event) {\r\n event.preventDefault()\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 鼠标移动事件\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapMouseMoveHandler (event) {\r\n let coordinate = this.map.getCoordinateFromPixel([event.offsetX, event.offsetY])\r\n if (MathDistance(coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n if (!this.plot.freehand) {\r\n let pnts = this.points.concat([coordinate])\r\n this.plot.setPoints(pnts)\r\n } else {\r\n this.points.push(coordinate)\r\n this.plot.setPoints(this.points)\r\n }\r\n }\r\n\r\n /**\r\n * 移除事件监听\r\n */\r\n removeEventHandlers () {\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.un('click', this.mapNextClickHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this)\r\n this.map.un('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n\r\n /**\r\n * 绘制结束\r\n */\r\n drawEnd (event) {\r\n this.Observable.dispatchEvent({\r\n type: 'drawEnd',\r\n event: event,\r\n feature: this.feature\r\n })\r\n if (this.feature && this.options['isClear']) {\r\n this.drawLayer.getSource().removeFeature(this.feature)\r\n }\r\n this.activateMapTools()\r\n this.removeEventHandlers()\r\n this.map.removeOverlay(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.feature = null\r\n }\r\n\r\n /**\r\n * 添加要素\r\n */\r\n addFeature () {\r\n this.feature = new ol.Feature(this.plot)\r\n if (this.feature && this.drawLayer) {\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n }\r\n }\r\n\r\n /**\r\n * 取消激活地图交互工具\r\n */\r\n deactiveMapTools () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DoubleClickZoom) {\r\n this.dblClickZoomInteraction = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活已取消的地图工具\r\n * 还原之前状态\r\n */\r\n activateMapTools () {\r\n if (this.dblClickZoomInteraction && this.dblClickZoomInteraction instanceof ol.interaction.DoubleClickZoom) {\r\n this.map.addInteraction(this.dblClickZoomInteraction)\r\n this.dblClickZoomInteraction = null\r\n }\r\n }\r\n}\r\n\r\nexport default PlotDraw\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotDraw.js","import { ol } from '../../constants'\r\nimport EventType from './EventType'\r\nimport { DomUtil } from '../../dom'\r\nimport * as Events from '../../event/Events'\r\nconst Observable = ol.Observable\r\nclass PlotEdit extends Observable {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 激活绘制工具\r\n * @type {null}\r\n */\r\n this.activePlot = null\r\n /**\r\n * 开始点\r\n * @type {null}\r\n */\r\n this.startPoint = null\r\n /**\r\n * clone的控制点\r\n * @type {null}\r\n */\r\n this.ghostControlPoints = null\r\n /**\r\n * 控制点\r\n * @type {null}\r\n */\r\n this.controlPoints = null\r\n /**\r\n * 鼠标移入\r\n * @type {boolean}\r\n */\r\n this.mouseOver = false\r\n /**\r\n * 元素\r\n * @type {{}}\r\n */\r\n this.elementTable = {}\r\n /**\r\n * 当前激活的控制点的ID\r\n * @type {null}\r\n */\r\n this.activeControlPointId = null\r\n /**\r\n * 地图拖拽交互\r\n * @type {null}\r\n */\r\n this.mapDragPan = null\r\n }\r\n\r\n /**\r\n * 初始化提示DOM\r\n * @returns {boolean}\r\n */\r\n initHelperDom () {\r\n if (!this.map || !this.activePlot) {\r\n return false\r\n }\r\n let parent = this.getMapParentElement()\r\n if (!parent) {\r\n return false\r\n } else {\r\n let hiddenDiv = DomUtil.createHidden('div', parent, 'plot-helper-hidden-div')\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n DomUtil.create('div', 'plot-helper-control-point-div', hiddenDiv, id)\r\n this.elementTable[id] = index\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图元素的父元素\r\n * @returns {*}\r\n */\r\n getMapParentElement () {\r\n let mapElement = this.map.getTargetElement()\r\n if (!mapElement) {\r\n return false\r\n } else {\r\n return mapElement.parentNode\r\n }\r\n }\r\n\r\n /**\r\n * 销毁帮助提示DOM\r\n */\r\n destroyHelperDom () {\r\n if (this.controlPoints && Array.isArray(this.controlPoints) && this.controlPoints.length > 0) {\r\n this.controlPoints.forEach((item, index) => {\r\n if (item && item instanceof ol.Overlay) {\r\n this.map.removeOverlay(item)\r\n }\r\n let element = DomUtil.get('plot-helper-control-point-div' + '-' + index)\r\n if (element) {\r\n DomUtil.removeListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.removeListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n }\r\n })\r\n this.controlPoints = []\r\n }\r\n let parent = this.getMapParentElement()\r\n let hiddenDiv = DomUtil.get('plot-helper-hidden-div')\r\n if (hiddenDiv && parent) {\r\n DomUtil.remove(hiddenDiv, parent)\r\n }\r\n }\r\n\r\n /**\r\n * 初始化要素控制点\r\n */\r\n initControlPoints () {\r\n this.controlPoints = []\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n this.elementTable[id] = index\r\n let element = DomUtil.get(id)\r\n let pnt = new ol.Overlay({\r\n id: id,\r\n position: cPnts[index],\r\n positioning: 'center-center',\r\n element: element\r\n })\r\n this.controlPoints.push(pnt)\r\n this.map.addOverlay(pnt)\r\n this.map.render()\r\n DomUtil.addListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.addListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler2 (e) {\r\n e.stopImmediatePropagation()\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标按下事件\r\n * @param e\r\n */\r\n controlPointMouseDownHandler (e) {\r\n let id = e.target.id\r\n this.activeControlPointId = id\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this, false)\r\n Events.listen(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this, false)\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler (e) {\r\n let coordinate = this.map.getCoordinateFromPixel([e.offsetX, e.offsetY])\r\n if (this.activeControlPointId) {\r\n let plot = this.activePlot.getGeometry()\r\n let index = this.elementTable[this.activeControlPointId]\r\n plot.updatePoint(coordinate, index)\r\n let overlay = this.map.getOverlayById(this.activeControlPointId)\r\n overlay.setPosition(coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标抬起事件\r\n * @param e\r\n */\r\n controlPointMouseUpHandler (e) {\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param plot\r\n * @returns {boolean}\r\n */\r\n activate (plot) {\r\n try {\r\n if (!plot || !(plot instanceof ol.Feature) || plot === this.activePlot) {\r\n return false\r\n } else {\r\n let geom = plot.getGeometry()\r\n if (!geom.isPlot()) {\r\n return false\r\n } else {\r\n this.deactivate()\r\n this.activePlot = plot\r\n window.setTimeout(() => {\r\n // this.dispatchEvent(new EditEvent(EditEvent.ACTIVE_PLOT_CHANGE, this.activePlot))\r\n }, 500)\r\n this.map.on('pointermove', this.plotMouseOverOutHandler, this)\r\n this.initHelperDom()\r\n this.initControlPoints()\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素的控制点\r\n * @returns {Array}\r\n */\r\n getControlPoints () {\r\n let points = []\r\n if (this.activePlot) {\r\n let geom = this.activePlot.getGeometry()\r\n if (geom) {\r\n points = geom.getPoints()\r\n }\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 鼠标移出要编辑的要素范围\r\n * @param e\r\n * @returns {T|undefined}\r\n */\r\n plotMouseOverOutHandler (e) {\r\n try {\r\n let feature = this.map.forEachFeatureAtPixel(e.pixel, function (feature, layer) {\r\n return feature\r\n })\r\n if (feature && feature === this.activePlot) {\r\n if (!this.mouseOver) {\r\n this.mouseOver = true\r\n this.map.getViewport().style.cursor = 'move'\r\n this.map.on('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n } else {\r\n if (this.mouseOver) {\r\n this.mouseOver = false\r\n this.map.getViewport().style.cursor = 'default'\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 在要编辑的要素按下鼠标按键\r\n * @param e\r\n */\r\n plotMouseDownHandler (e) {\r\n this.ghostControlPoints = this.getControlPoints()\r\n this.startPoint = e.coordinate\r\n this.disableMapDragPan()\r\n this.map.on('pointerup', this.plotMouseUpHandler, this)\r\n this.map.on('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 在要编辑的要素上移动鼠标\r\n * @param e\r\n */\r\n plotMouseMoveHandler (e) {\r\n try {\r\n let point = e.coordinate\r\n let [dx, dy, newPoints] = [(point[0] - this.startPoint[0]), (point[1] - this.startPoint[1]), []]\r\n if (this.ghostControlPoints && Array.isArray(this.ghostControlPoints) && this.ghostControlPoints.length > 0) {\r\n this.ghostControlPoints.forEach((item, index) => {\r\n let p = this.ghostControlPoints[index]\r\n let coordinate = [p[0] + dx, p[1] + dy]\r\n newPoints.push(coordinate)\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n let overlay = this.map.getOverlayById(id)\r\n overlay.setPosition(coordinate)\r\n overlay.setPositioning('center-center')\r\n })\r\n }\r\n let plot = this.activePlot.getGeometry()\r\n plot.setPoints(newPoints)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 鼠标抬起事件\r\n * @param e\r\n */\r\n plotMouseUpHandler (e) {\r\n this.enableMapDragPan()\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消事件关联\r\n */\r\n disconnectEventHandlers () {\r\n this.map.un('pointermove', this.plotMouseOverOutHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消激活工具\r\n */\r\n deactivate () {\r\n this.activePlot = null\r\n this.mouseOver = false\r\n this.destroyHelperDom()\r\n this.disconnectEventHandlers()\r\n this.elementTable = {}\r\n this.activeControlPointId = null\r\n this.startPoint = null\r\n }\r\n\r\n /**\r\n * 禁止地图的拖拽平移\r\n */\r\n disableMapDragPan () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DragPan) {\r\n this.mapDragPan = item\r\n item.setActive(false)\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活地图的拖拽平移\r\n */\r\n enableMapDragPan () {\r\n if (this.mapDragPan && this.mapDragPan instanceof ol.interaction.DragPan) {\r\n this.mapDragPan.setActive(true)\r\n this.map.addInteraction(this.mapDragPan)\r\n this.mapDragPan = null\r\n }\r\n }\r\n}\r\nexport default PlotEdit\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotEdit.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画弓形算法,继承线要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Arc extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.ARC\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let count = this.getPointCount()\r\n if (count < 2) return\r\n if (count === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [this.points[0], this.points[1], this.points[2], null, null]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n this.setCoordinates(PlotUtils.getArcPoints(center, radius, startAngle, endAngle))\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Arc\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arc/Arc.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单直箭头\r\n * @Inherits FineArrow\r\n */\r\nimport FineArrow from './FineArrow'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nclass AssaultDirection extends FineArrow {\r\n constructor (points, params) {\r\n super()\r\n FineArrow.call(this, points, params)\r\n this.tailWidthFactor = 0.05\r\n this.neckWidthFactor = 0.1\r\n this.headWidthFactor = 0.15\r\n this.type = PlotTypes.ASSAULT_DIRECTION\r\n this.headAngle = Math.PI / 4\r\n this.neckAngle = Math.PI * 0.17741\r\n this.setPoints(points)\r\n this.set('params', params)\r\n }\r\n}\r\n\r\nexport default AssaultDirection\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AssaultDirection.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 双箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass DoubleArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.DOUBLE_ARROW\r\n this.headHeightFactor = 0.25\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.connPoint = null\r\n this.tempPoint4 = null\r\n this.fixPointCount = 4\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n let [pnt1, pnt2, pnt3] = [this.points[0], this.points[1], this.points[2]]\r\n if (count === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else if (count === 3) {\r\n this.tempPoint4 = this.getTempPoint4(pnt1, pnt2, pnt3)\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else if (count === 4) {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = this.points[4]\r\n }\r\n let [leftArrowPnts, rightArrowPnts] = [undefined, undefined]\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n leftArrowPnts = this.getArrowPoints(pnt1, this.connPoint, this.tempPoint4, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt2, pnt3, true)\r\n } else {\r\n leftArrowPnts = this.getArrowPoints(pnt2, this.connPoint, pnt3, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt1, this.tempPoint4, true)\r\n }\r\n let m = leftArrowPnts.length\r\n let t = (m - 5) / 2\r\n let llBodyPnts = leftArrowPnts.slice(0, t)\r\n let lArrowPnts = leftArrowPnts.slice(t, t + 5)\r\n let lrBodyPnts = leftArrowPnts.slice(t + 5, m)\r\n let rlBodyPnts = rightArrowPnts.slice(0, t)\r\n let rArrowPnts = rightArrowPnts.slice(t, t + 5)\r\n let rrBodyPnts = rightArrowPnts.slice(t + 5, m)\r\n rlBodyPnts = PlotUtils.getBezierPoints(rlBodyPnts)\r\n let bodyPnts = PlotUtils.getBezierPoints(rrBodyPnts.concat(llBodyPnts.slice(1)))\r\n lrBodyPnts = PlotUtils.getBezierPoints(lrBodyPnts)\r\n let pnts = rlBodyPnts.concat(rArrowPnts, bodyPnts, lArrowPnts, lrBodyPnts)\r\n this.setCoordinates([pnts])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n if (this.getPointCount() === 3 && this.tempPoint4 !== null) {\r\n this.points.push(this.tempPoint4)\r\n }\r\n if (this.connPoint !== null) {\r\n this.points.push(this.connPoint)\r\n }\r\n }\r\n}\r\n\r\nexport default DoubleArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/DoubleArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass SquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[1])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[1]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n return ([tailLeft, tailRight])\r\n }\r\n}\r\n\r\nexport default SquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/SquadCombat.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 细直箭头\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass StraightArrow extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.STRAIGHT_ARROW\r\n this.fixPointCount = 2\r\n this.maxArrowLength = 3000000\r\n this.arrowLengthScale = 5\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n if (count < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let distance = PlotUtils.MathDistance(pnt1, pnt2)\r\n let len = distance / this.arrowLengthScale\r\n len = ((len > this.maxArrowLength) ? this.maxArrowLength : len)\r\n let leftPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, false)\r\n let rightPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, true)\r\n this.setCoordinates([pnt1, pnt2, leftPnt, pnt2, rightPnt])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default StraightArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/StraightArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 进攻方向(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass TailedAttackArrow extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.headTailFactor = 0.8\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n let allLen = PlotUtils.getBaseLength(bonePnts)\r\n let len = allLen * this.tailWidthFactor * this.swallowTailFactor\r\n this.swallowTailPnt = PlotUtils.getThirdPoint(bonePnts[1], bonePnts[0], 0, len, true)\r\n let factor = tailWidth / allLen\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, factor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [this.swallowTailPnt, leftPnts[0]])])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n}\r\n\r\nexport default TailedAttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedAttackArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass TailedSquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[2])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[2]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [tailPnts[1], leftPnts[0]])])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n let len = tailWidth * this.swallowTailFactor\r\n let swallowTailPnt = PlotUtils.getThirdPoint(points[1], points[0], 0, len, true)\r\n return ([tailLeft, swallowTailPnt, tailRight])\r\n }\r\n}\r\n\r\nexport default TailedSquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedSquadCombat.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Circle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CIRCLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n let center = this.points[0]\r\n let radius = PlotUtils.MathDistance(center, this.points[1])\r\n this.setCoordinates([this.generatePoints(center, radius)])\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param radius\r\n * @returns {null}\r\n */\r\n generatePoints (center, radius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= 100; i++) {\r\n angle = Math.PI * 2 * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Circle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Circle.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Ellipse extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ELLIPSE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let [pnt1, pnt2] = [this.points[0], this.points[1]]\r\n let center = PlotUtils.Mid(pnt1, pnt2)\r\n let majorRadius = Math.abs((pnt1[0] - pnt2[0]) / 2)\r\n let minorRadius = Math.abs((pnt1[1] - pnt2[1]) / 2)\r\n let res = this.generatePoints(center, majorRadius, minorRadius)\r\n this.setCoordinates([res])\r\n }\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param majorRadius\r\n * @param minorRadius\r\n * @returns {*}\r\n */\r\n generatePoints (center, majorRadius, minorRadius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= Constants.FITTING_COUNT; i++) {\r\n angle = Math.PI * 2 * i / Constants.FITTING_COUNT\r\n x = center[0] + majorRadius * Math.cos(angle)\r\n y = center[1] + minorRadius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Ellipse\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Ellipse.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 闭合曲面\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass ClosedCurve extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CLOSED_CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n pnts.push(pnts[0], pnts[1])\r\n let [normals, pList] = [[], []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnts[i], pnts[i + 1], pnts[i + 2])\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let pnt1 = pnts[i]\r\n let pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default ClosedCurve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/ClosedCurve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由面\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreePolygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FREEHAND_POLYGON\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreePolygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/FreePolygon.js","/**\r\n * Created by FDD on 2017/5/27.\r\n * @desc 集结地\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass GatheringPlace extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.GATHERING_PLACE\r\n this.t = 0.4\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let pnts = this.getPoints()\r\n let points = this.getPointCount()\r\n if (pnts.length < 2) {\r\n return false\r\n } else {\r\n if (points === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid) / 0.9\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d, true)\r\n pnts = [pnts[0], pnt, pnts[1]]\r\n }\r\n let mid = PlotUtils.Mid(pnts[0], pnts[2])\r\n pnts.push(mid, pnts[0], pnts[1])\r\n let [normals, pnt1, pnt2, pnt3, pList] = [[], undefined, undefined, undefined, []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pnt3 = pnts[i + 2]\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default GatheringPlace\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/GatheringPlace.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 弓形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Lune extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.LUNE\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n if (this.getPointCount() === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid)\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d)\r\n pnts.push(pnt)\r\n }\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [pnts[0], pnts[1], pnts[2], undefined, undefined]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n pnts = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pnts.push(pnts[0])\r\n this.setCoordinates([pnts])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Lune\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Lune.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 多边形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.POLYGON\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Polygon.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 规则矩形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass RectAngle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.RECTANGLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n this.isFill = ((params['isFill'] === false) ? params['isFill'] : true)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.points.length === 2) {\r\n let coordinates = []\r\n if (this.isFill) {\r\n let extent = ol.extent.boundingExtent(this.points)\r\n let polygon = ol.geom.Polygon.fromExtent(extent)\r\n coordinates = polygon.getCoordinates()\r\n } else {\r\n let start = this.points[0]\r\n let end = this.points[1]\r\n coordinates = [start, [start[0], end[1]], end, [end[0], start[1]], start]\r\n }\r\n this.setCoordinates(coordinates)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default RectAngle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/RectAngle.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 扇形\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Sector extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.SECTOR\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [center, pnt2, pnt3] = [pnts[0], pnts[1], pnts[2]]\r\n let radius = PlotUtils.MathDistance(pnt2, center)\r\n let startAngle = PlotUtils.getAzimuth(pnt2, center)\r\n let endAngle = PlotUtils.getAzimuth(pnt3, center)\r\n let pList = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pList.push(center, pList[0])\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Sector\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Sector.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘曲线算法\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Curve extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let points = PlotUtils.getCurvePoints(this.t, this.points)\r\n this.setCoordinates(points)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Curve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Curve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由线\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreeHandLine extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.FREEHAND_LINE\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreeHandLine\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/FreeHandLine.js","import PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polyline extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.POLYLINE\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polyline\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Polyline.js","/**\r\n * Created by FDD on 2017/5/20.\r\n * @desc 标绘图形构造类\r\n */\r\nimport Polyline from './Polyline/Polyline'\r\nimport Arc from './Arc/Arc'\r\nimport Circle from './Circle/Circle'\r\nimport Curve from './Polyline/Curve'\r\nimport FreeHandLine from './Polyline/FreeHandLine'\r\nimport RectAngle from './Polygon/RectAngle'\r\nimport Ellipse from './Circle/Ellipse'\r\nimport Lune from './Polygon/Lune'\r\nimport Sector from './Polygon/Sector'\r\nimport ClosedCurve from './Polygon/ClosedCurve'\r\nimport Polygon from './Polygon/Polygon'\r\nimport FreePolygon from './Polygon/FreePolygon'\r\nimport AttackArrow from './Arrow/AttackArrow'\r\nimport DoubleArrow from './Arrow/DoubleArrow'\r\nimport StraightArrow from './Arrow/StraightArrow'\r\nimport FineArrow from './Arrow/FineArrow'\r\nimport AssaultDirection from './Arrow/AssaultDirection'\r\nimport TailedAttackArrow from './Arrow/TailedAttackArrow'\r\nimport SquadCombat from './Arrow/SquadCombat'\r\nimport TailedSquadCombat from './Arrow/TailedSquadCombat'\r\nimport GatheringPlace from './Polygon/GatheringPlace'\r\nexport default {\r\n Polyline: Polyline,\r\n Arc: Arc,\r\n Circle: Circle,\r\n Curve: Curve,\r\n FreeHandLine: FreeHandLine,\r\n RectAngle: RectAngle,\r\n Ellipse: Ellipse,\r\n Lune: Lune,\r\n Sector: Sector,\r\n ClosedCurve: ClosedCurve,\r\n Polygon: Polygon,\r\n FreePolygon: FreePolygon,\r\n AttackArrow: AttackArrow,\r\n DoubleArrow: DoubleArrow,\r\n StraightArrow: StraightArrow,\r\n FineArrow: FineArrow,\r\n AssaultDirection: AssaultDirection,\r\n TailedAttackArrow: TailedAttackArrow,\r\n SquadCombat: SquadCombat,\r\n TailedSquadCombat: TailedSquadCombat,\r\n GatheringPlace: GatheringPlace\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/index.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 基于openlayer的动态标绘\r\n */\r\nimport { ol } from '../constants'\r\nimport Plots from './Geometry/index'\r\nimport PlotTypes from './Utils/PlotTypes'\r\nclass Plot {\r\n constructor (map) {\r\n this.version = '1.0.0'\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 创建Plot\r\n * @param type\r\n * @param points\r\n * @param _params\r\n * @returns {*}\r\n */\r\n createPlot (type, points, _params) {\r\n let params = _params || {}\r\n switch (type) {\r\n case PlotTypes.POLYLINE:\r\n return new Plots.Polyline(points, params)\r\n case PlotTypes.ARC:\r\n return new Plots.Arc(points, params)\r\n case PlotTypes.CIRCLE:\r\n return new Plots.Circle(points, params)\r\n case PlotTypes.CURVE:\r\n return new Plots.Curve(points, params)\r\n case PlotTypes.FREE_LINE:\r\n return new Plots.FreeHandLine(points, params)\r\n case PlotTypes.RECTANGLE:\r\n return new Plots.RectAngle(points, params)\r\n case PlotTypes.ELLIPSE:\r\n return new Plots.Ellipse(points, params)\r\n case PlotTypes.LUNE:\r\n return new Plots.Lune(points, params)\r\n case PlotTypes.SECTOR:\r\n return new Plots.Sector(points, params)\r\n case PlotTypes.CLOSED_CURVE:\r\n return new Plots.ClosedCurve(points, params)\r\n case PlotTypes.POLYGON:\r\n return new Plots.Polygon(points, params)\r\n case PlotTypes.ATTACK_ARROW:\r\n return new Plots.AttackArrow(points, params)\r\n case PlotTypes.FREE_POLYGON:\r\n return new Plots.FreePolygon(points, params)\r\n case PlotTypes.DOUBLE_ARROW:\r\n return new Plots.DoubleArrow(points, params)\r\n case PlotTypes.STRAIGHT_ARROW:\r\n return new Plots.StraightArrow(points, params)\r\n case PlotTypes.FINE_ARROW:\r\n return new Plots.FineArrow(points, params)\r\n case PlotTypes.ASSAULT_DIRECTION:\r\n return new Plots.AssaultDirection(points, params)\r\n case PlotTypes.TAILED_ATTACK_ARROW:\r\n return new Plots.TailedAttackArrow(points, params)\r\n case PlotTypes.SQUAD_COMBAT:\r\n return new Plots.SquadCombat(points, params)\r\n case PlotTypes.TAILED_SQUAD_COMBAT:\r\n return new Plots.TailedSquadCombat(points, params)\r\n case PlotTypes.GATHERING_PLACE:\r\n return new Plots.GatheringPlace(points, params)\r\n }\r\n return null\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n generate () {}\r\n}\r\nexport default Plot\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/index.js","/**\r\n * Created by FDD on 2017/2/24.\r\n * @desc 原作者 Wandergis \r\n * 在此基础上添加优化和处理,并改写为es6\r\n */\r\nimport {PI, X_PI, a, ee} from '../constants'\r\nclass CoordsTransform {\r\n /**\r\n * 转换纬度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlat (lng, lat) {\r\n let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 转换经度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlng (lng, lat) {\r\n let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 判断坐标是否在国内(国外坐标不需转换)\r\n * @param lng\r\n * @param lat\r\n * @returns {boolean}\r\n */\r\n outOfChina (lng, lat) {\r\n // 纬度3.86~53.55,经度73.66~135.05\r\n return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55)\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))坐标转WGS84\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02towgs84 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [lng * 2 - mglng, lat * 2 - mglat]\r\n }\r\n }\r\n\r\n /**\r\n * WGS84转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n wgs84togcj02 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [mglng, mglat]\r\n }\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))转百度坐标系\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02tobd (lng, lat) {\r\n let z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * X_PI)\r\n let theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * X_PI)\r\n let bdLng = z * Math.cos(theta) + 0.0065\r\n let bdLat = z * Math.sin(theta) + 0.006\r\n return [bdLng, bdLat]\r\n }\r\n\r\n /**\r\n * 百度坐标系转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lon\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n bdtogcj02 (lon, lat) {\r\n let x = lon - 0.0065\r\n let y = lat - 0.006\r\n let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI)\r\n let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI)\r\n let ggLng = z * Math.cos(theta)\r\n let ggLat = z * Math.sin(theta)\r\n return [ggLng, ggLat]\r\n }\r\n\r\n /**\r\n * 经纬度转Mercator\r\n * @param lontitude\r\n * @param latitude\r\n * @returns {[*,*]}\r\n */\r\n lonLatToMercator (lontitude, latitude) {\r\n let x = lontitude * 20037508.34 / 180\r\n let y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180)\r\n y = y * 20037508.34 / 180\r\n return [x, y]\r\n }\r\n\r\n /**\r\n * Mercator转经纬度\r\n * @param x\r\n * @param y\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\n MercatorTolonLat (x, y) {\r\n let longtitude = x / 20037508.34 * 180\r\n let latitude = y / 20037508.34 * 180\r\n latitude = 180 / Math.PI * (2 * Math.atan(Math.exp(latitude * Math.PI / 180)) - Math.PI / 2)\r\n return [longtitude, latitude]\r\n }\r\n}\r\n\r\nexport default CoordsTransform\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CoordsTransform.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 空间数据加密解密算法\r\n */\r\nclass GeomCoder {\r\n constructor (params) {\r\n /**\r\n * 当前参数信息\r\n * @type {{}}\r\n */\r\n this.options = (!params) ? {} : params\r\n /**\r\n * 版本信息\r\n * @type {string}\r\n */\r\n this.version = '1.0.0'\r\n /**\r\n * @private\r\n * @type {number}\r\n */\r\n this.factor_ = this.options.factor ? this.options.factor : 1e5\r\n\r\n /**\r\n * 空间数据模型\r\n * @type {{XY: string, XYM: string, XYZ: string, XYZM: string}}\r\n */\r\n this.GeometryLayout = {\r\n XY: 'XY',\r\n XYM: 'XYM',\r\n XYZ: 'XYZ',\r\n XYZM: 'XYZM'\r\n }\r\n\r\n /**\r\n * @private\r\n * @type {ol.geom.GeometryLayout}\r\n */\r\n this.geometryLayout_ = this.options.geometryLayout ? this.options.geometryLayout : this.GeometryLayout.XY\r\n }\r\n\r\n // readGeometryFromEnCodes (codes) {\r\n // if (codes && Array.isArray(codes) && codes.length > 0) { // 压缩后的数组\r\n //\r\n // } else if (typeof codes === 'string') { // 压缩后的字符串\r\n //\r\n // }\r\n // }\r\n\r\n /**\r\n * 读取加密数据\r\n * @param text\r\n * @returns {Array}\r\n */\r\n readCoordinatesFromText (text) {\r\n let stride = this.getStrideForLayout(this.geometryLayout_)\r\n let flatCoordinates = this.decodeDeltas(text, stride)\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n let coordinates = this.coordinates(flatCoordinates, 0, flatCoordinates.length, stride)\r\n return coordinates\r\n }\r\n\r\n /**\r\n * 加密空间数组\r\n * @param coordinates\r\n * @param stride\r\n * @returns {*}\r\n */\r\n writeCoordinatesText (coordinates, stride) {\r\n /**\r\n * 实际是将坐标数组转成一纬数组\r\n * @type {*}\r\n */\r\n let flatCoordinates = []\r\n if (coordinates && Array.isArray(coordinates) && coordinates.length > 0) {\r\n coordinates.forEach(item => {\r\n if (item && Array.isArray(item) && item.length > 0) {\r\n item.forEach(_item => {\r\n if (_item) {\r\n flatCoordinates.push(_item)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n if (!stride) {\r\n stride = 2\r\n }\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n return (this.encodeDeltas(flatCoordinates, stride))\r\n }\r\n\r\n /**\r\n * 判断传入数据类型是否是文本类型\r\n * @param source\r\n * @returns {*}\r\n * @private\r\n */\r\n getText_ (source) {\r\n if (typeof source === 'string') {\r\n return source\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n /**\r\n * 所传标准数据长度\r\n * @param layout\r\n * @returns {*}\r\n */\r\n getStrideForLayout (layout) {\r\n let stride = null\r\n if (layout === this.GeometryLayout.XY) {\r\n stride = 2\r\n } else if (layout === this.GeometryLayout.XYZ || layout === this.GeometryLayout.XYM) {\r\n stride = 3\r\n } else if (layout === this.GeometryLayout.XYZM) {\r\n stride = 4\r\n }\r\n return (stride)\r\n }\r\n\r\n /**\r\n * 解码增量值(核心算法)\r\n * @param encoded\r\n * @param stride\r\n * @returns {Array.}\r\n */\r\n decodeDeltas (encoded, stride) {\r\n /** @type {Array.} */\r\n let lastNumbers = new Array(stride)\r\n for (let d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n let numbers = this.decodeFloats(encoded, this.factor_)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (let d = 0; d < stride; ++d, ++i) {\r\n lastNumbers[d] += numbers[i]\r\n numbers[i] = lastNumbers[d]\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码增量值\r\n * @param numbers\r\n * @param stride\r\n * @returns {*}\r\n */\r\n encodeDeltas (numbers, stride) {\r\n let [d, lastNumbers, i, ii] = [null, (new Array(stride)), null, null]\r\n for (d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (d = 0; d < stride; ++d, ++i) {\r\n let num = numbers[i]\r\n let delta = num - lastNumbers[d]\r\n lastNumbers[d] = num\r\n numbers[i] = delta\r\n }\r\n }\r\n return this.encodeFloats(numbers)\r\n }\r\n\r\n /**\r\n * 解码浮点数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeFloats (encoded) {\r\n let numbers = this.decodeSignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] /= this.factor_\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码浮点数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeFloats (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] = Math.round(numbers[i] * this.factor_)\r\n }\r\n return this.encodeSignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码有符号整数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeSignedIntegers (encoded) {\r\n let numbers = this.decodeUnsignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1)\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码有符号整数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeSignedIntegers (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num < 0) ? ~(num << 1) : (num << 1)\r\n }\r\n return this.encodeUnsignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码无符号整数\r\n * @param encoded\r\n * @returns {null}\r\n */\r\n decodeUnsignedIntegers (encoded) {\r\n let [numbers, current, shift, i, ii] = [[], 0, 0, null, null]\r\n for (i = 0, ii = encoded.length; i < ii; ++i) {\r\n let b = encoded.charCodeAt(i) - 63\r\n current |= (b & 0x1f) << shift\r\n if (b < 0x20) {\r\n numbers.push(current)\r\n current = 0\r\n shift = 0\r\n } else {\r\n shift += 5\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码无符号整数数组\r\n * @param numbers\r\n * @returns {string}\r\n */\r\n encodeUnsignedIntegers (numbers) {\r\n let [encoded, i, ii] = ['', null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n encoded += this.encodeUnsignedInteger(numbers[i])\r\n }\r\n return encoded\r\n }\r\n\r\n /**\r\n * 编码无符号整数\r\n * @param num\r\n * @returns {null}\r\n */\r\n encodeUnsignedInteger (num) {\r\n let [value, encoded] = ['', '']\r\n while (num >= 0x20) {\r\n value = (0x20 | (num & 0x1f)) + 63\r\n encoded += String.fromCharCode(value)\r\n num >>= 5\r\n }\r\n value = num + 63\r\n encoded += String.fromCharCode(value)\r\n return encoded\r\n }\r\n\r\n /**\r\n * 反转XY坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optDest\r\n * @param optDestOffset\r\n * @returns {string}\r\n */\r\n flipXY (flatCoordinates, offset, end, stride, optDest, optDestOffset) {\r\n let [dest, destOffset] = ['', '']\r\n if (optDest !== undefined) {\r\n dest = optDest\r\n destOffset = optDestOffset !== undefined ? optDestOffset : 0\r\n } else {\r\n dest = []\r\n destOffset = 0\r\n }\r\n let j = offset\r\n while (j < end) {\r\n let x = flatCoordinates[j++]\r\n dest[destOffset++] = flatCoordinates[j++]\r\n dest[destOffset++] = x\r\n for (let k = 2; k < stride; ++k) {\r\n dest[destOffset++] = flatCoordinates[j++]\r\n }\r\n }\r\n dest.length = destOffset\r\n return dest\r\n }\r\n\r\n /**\r\n * 读取字符串坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optCoordinates\r\n * @returns {Array}\r\n */\r\n coordinates (flatCoordinates, offset, end, stride, optCoordinates) {\r\n let coordinates = optCoordinates !== undefined ? optCoordinates : []\r\n let [i, j] = [0, null]\r\n for (j = offset; j < end; j += stride) {\r\n coordinates[i++] = flatCoordinates.slice(j, j + stride)\r\n }\r\n coordinates.length = i\r\n return coordinates\r\n }\r\n}\r\n\r\nexport default GeomCoder\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/GeomCoder.js","import { ol } from '../constants'\r\nclass LayerSwitcher {\r\n constructor (map) {\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前底图(包含标注层)\r\n * @private\r\n */\r\n _getBaseLayers () {\r\n if (this.map) {\r\n this.baseLayers = []\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer')) {\r\n this.baseLayers.push(_layer)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图除标注层的layerNames\r\n * @returns {Array|*}\r\n */\r\n getBaseLayerNames () {\r\n this._getBaseLayers()\r\n this.baseLayerNames = []\r\n if (this.baseLayers && Array.isArray(this.baseLayers) && this.baseLayers.length > 0) {\r\n this.baseLayerNames = this.baseLayers.map(layer => {\r\n let layerName = ''\r\n if (layer.get('layerNames') && !layer.get('alias')) {\r\n layerName = layer.get('layerNames')\r\n }\r\n return layerName\r\n })\r\n }\r\n return this.baseLayerNames\r\n }\r\n\r\n /**\r\n * 图层切换\r\n * @param layerName\r\n */\r\n switchLayer (layerName) {\r\n this._getBaseLayers()\r\n this.baseLayers.forEach(layer => {\r\n if (layer.get('layerName') === layerName || layer.get('alias') === layerName) {\r\n layer.set('isDefault', true)\r\n layer.setVisible(true)\r\n } else {\r\n layer.set('isDefault', false)\r\n layer.setVisible(false)\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n * @returns {ol.Map}\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n return this.map\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图对象\r\n * @returns {*|null|ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/LayerSwitcher.js","import mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport { ol } from '../constants'\r\nimport * as utils from '../utils/utils'\r\nclass MeasureTool extends mix(Layer) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n /**\r\n * 计算工具\r\n * @type {ol.Sphere}\r\n */\r\n this.wgs84Sphere = new ol.Sphere(6378137)\r\n /**\r\n * 测量类型(目前预制两种,测距和测面)\r\n * @type {{measureLength: string, measureArea: string}}\r\n */\r\n this.measureTypes = {\r\n measureLength: 'measureLength',\r\n measureArea: 'measureArea'\r\n }\r\n /**\r\n * 拖拽交互\r\n * @type {null}\r\n */\r\n this.dragPanInteraction = null\r\n\r\n /**\r\n * 双击交互\r\n * @type {null}\r\n */\r\n this.DoubleClickZoom = null\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 初始设置\r\n * @param params\r\n */\r\n setUp (params) {\r\n /**\r\n * 当前设置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n /**\r\n * 测量工具所处图层\r\n * @type {*}\r\n */\r\n this.layerName = this.options['layerName'] || 'measureTool'\r\n /**\r\n * 点击计数器\r\n * @type {number}\r\n */\r\n this.clickCount = ''\r\n /**\r\n * 测量结果\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * draw对象\r\n * @type {null}\r\n */\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n }\r\n this.draw = null\r\n\r\n /**\r\n * 移动事件处理\r\n * @type {null}\r\n */\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n }\r\n this.beforeMeasurePointerMoveHandler = null\r\n /**\r\n * 处理机\r\n * @type {null}\r\n */\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n }\r\n this.listener = null\r\n /**\r\n * 当前所画要素\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * 画点事件处理\r\n * @type {null}\r\n */\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n }\r\n this.drawPointermove = null\r\n /**\r\n * 面积测量提示\r\n * @type {null}\r\n */\r\n this.measureAreaTooltip = null\r\n /**\r\n * 测面的单击事件\r\n */\r\n if (this.measureAreaClick) {\r\n ol.Observable.unByKey(this.measureAreaClick)\r\n }\r\n this.measureAreaClick = null\r\n\r\n this.measureAreaTooltipElement = null\r\n\r\n this.removeDrawInteraion()\r\n\r\n /**\r\n * 测量提示信息\r\n * @type {string}\r\n */\r\n if (this.measureHelpTooltip) {\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip = ''\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n this.measureLengthClick = this.map.on('click', eventP => {\r\n let ev = this.map.on('singleclick', event => {\r\n if (!this.clickCount) {\r\n this.clickCount = utils.getuuid()\r\n this.drawSketch.length = '起点'\r\n }\r\n this.addMeasureOverLay(event.coordinate, this.drawSketch.length)\r\n this.addMeasurecircle(event.coordinate)\r\n ol.Observable.unByKey(ev)\r\n })\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.measureAreaClick = this.map.on('click', event => {\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n }\r\n this.addDrawInteraction()\r\n }\r\n\r\n /**\r\n * 添加画笔交互\r\n */\r\n addDrawInteraction () {\r\n let [ type ] = [ '' ]\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n type = 'LineString'\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n type = 'Polygon'\r\n }\r\n this.options['create'] = true\r\n this.layer = this.createVectorLayer(this.layerName, this.options)\r\n this.layer.setStyle(new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(242,123,57,1)',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(255,0,0,1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,1)'\r\n })\r\n })\r\n }))\r\n this.draw = new ol.interaction.Draw({\r\n source: this.layer.getSource(),\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(254, 164, 164, 1)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(252, 129, 129, 1)',\r\n width: 3\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 1,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n this.map.addInteraction(this.draw)\r\n this.drawListener()\r\n this.getDragPanInteraction().setActive(false)\r\n this.getDoubleClickZoomInteraction().setActive(false)\r\n }\r\n /**\r\n * 移除交互工具\r\n */\r\n removeDrawInteraion () {\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n this.draw = null\r\n }\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n this.listener = null\r\n }\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n this.drawPointermove = null\r\n }\r\n if (this.measureLengthClick) {\r\n ol.Observable.unByKey(this.measureLengthClick)\r\n this.measureLengthClick = null\r\n }\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n this.beforeMeasurePointerMoveHandler = null\r\n }\r\n }\r\n\r\n /**\r\n * 点击之前的提示信息\r\n * @param event\r\n */\r\n beforeDrawPointMoveHandler (event) {\r\n if (!this.measureHelpTooltip) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n helpTooltipElement.className = 'BMapLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '单击开始测量'\r\n } else {\r\n helpTooltipElement.className = 'BMapLabel BMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.style.height = '20px'\r\n helpTooltipElement.style.lineHeight = '20px'\r\n helpTooltipElement.innerHTML = '单击开始测面,双击结束'\r\n }\r\n this.measureHelpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, -10],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n\r\n /**\r\n * 点击之后的事件处理\r\n * @param event\r\n */\r\n drawPointerMoveHandler (event) {\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n if (event.dragging) {\r\n return\r\n }\r\n let helpTooltipElement = this.measureHelpTooltip.getElement()\r\n helpTooltipElement.className = ' BMapLabel BMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '总长:
单击确定地点,双击结束'\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 画笔事件处理机\r\n */\r\n drawListener () {\r\n this.draw.on('drawstart', event => {\r\n this.drawSketch = event.feature\r\n this.drawSketch.set('uuid', utils.getuuid())\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n ol.Observable.unByKey(this.listener)\r\n this.beforeMeasurePointerMoveHandler = null\r\n this.listener = null\r\n this.listener = this.drawSketch.getGeometry().on('change', evt => {\r\n let geom = evt.target\r\n if (geom instanceof ol.geom.LineString) {\r\n let output = this.formatData(geom)\r\n this.drawSketch.length = output\r\n this.measureHelpTooltip.getElement().firstElementChild.firstElementChild.innerHTML = output\r\n }\r\n })\r\n this.drawPointermove = this.map.on('pointermove', this.drawPointerMoveHandler, this)\r\n } else if (this.measureTypes.measureArea === this.options['measureType']) {\r\n let uuid = utils.getuuid()\r\n this.createMeasureAreaTooltip()\r\n this.drawSketch.set('uuid', uuid)\r\n this.measureAreaTooltip.set('uuid', uuid)\r\n this.listener = this.drawSketch.getGeometry().on('change', evts => {\r\n let geom = evts.target\r\n let area = this.formatData(geom)\r\n if (this.measureAreaTooltip) {\r\n this.measureAreaTooltipElement.innerHTML = '面积' + area\r\n this.measureAreaTooltip.setPosition(geom.getInteriorPoint().getCoordinates())\r\n }\r\n })\r\n }\r\n })\r\n this.draw.on('drawend', ev => {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n this.addMeasureOverLay(ev.feature.getGeometry().getLastCoordinate(), this.drawSketch.length, '止点')\r\n this.addMeasurecircle(ev.feature.getGeometry().getLastCoordinate())\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.addMeasureRemoveButton(ev.feature.getGeometry().getCoordinates()[0][0])\r\n }\r\n this.listener = null\r\n this.drawSketch = null\r\n this.removeDrawInteraion()\r\n })\r\n }\r\n\r\n /**\r\n * 测量结果格式化\r\n * @param geom\r\n * @returns {*}\r\n */\r\n formatData (geom) {\r\n let output = 0\r\n if (geom) {\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n let [coordinates, length] = [geom.getCoordinates(), 0]\r\n let sourceProj = this.map.getView().getProjection()\r\n for (let i = 0, ii = coordinates.length - 1; i < ii; ++i) {\r\n let c1 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326')\r\n let c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'EPSG:4326')\r\n length += this.wgs84Sphere.haversineDistance(c1, c2)\r\n }\r\n if (length > 100) {\r\n output = (Math.round(length / 1000 * 100) / 100) + ' ' + '千米'\r\n } else {\r\n output = (Math.round(length * 100) / 100) + ' ' + '米'\r\n }\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n let sourceProj = this.getMap().getView().getProjection()\r\n let geometry = /** @type {ol.geom.Polygon} */(geom.clone().transform(\r\n sourceProj, 'EPSG:4326'))\r\n let coordinates = geometry.getLinearRing(0).getCoordinates()\r\n let area = Math.abs(this.wgs84Sphere.geodesicArea(coordinates))\r\n if (area > 10000000000) {\r\n output = (Math.round(area / (1000 * 1000 * 10000) * 100) / 100) + ' ' + '万平方公里'\r\n } else if (area > 1000000 && area < 10000000000) {\r\n output = (Math.round(area / (1000 * 1000) * 100) / 100) + ' ' + '平方公里'\r\n } else {\r\n output = (Math.round(area * 100) / 100) + ' ' + '平方米'\r\n }\r\n }\r\n }\r\n return output\r\n }\r\n\r\n /**\r\n * 添加点击测量时的圆圈\r\n * @param coordinate\r\n */\r\n addMeasurecircle (coordinate) {\r\n let feature = new ol.Feature({\r\n uuid: this.drawSketch.get('uuid'),\r\n geometry: new ol.geom.Point(coordinate)\r\n })\r\n this.layer.getSource().addFeature(feature)\r\n }\r\n\r\n /**\r\n * 添加测量结果Overlay\r\n * @param coordinate\r\n * @param length\r\n * @param type\r\n */\r\n addMeasureOverLay (coordinate, length, type) {\r\n let helpTooltipElement = document.createElement('label')\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n if (type === '止点') {\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.className = ' BMapLabel BMap_disLabel'\r\n helpTooltipElement.innerHTML = \"总长\" + length + ''\r\n this.addMeasureRemoveButton(coordinate)\r\n } else {\r\n helpTooltipElement.className = 'BMapLabel'\r\n helpTooltipElement.innerHTML = \"\" + length + ''\r\n }\r\n let tempMeasureTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [10, -10],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(tempMeasureTooltip)\r\n tempMeasureTooltip.setPosition(coordinate)\r\n tempMeasureTooltip.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 添加移除按钮\r\n * @param coordinate\r\n */\r\n addMeasureRemoveButton (coordinate) {\r\n let pos = [coordinate[0] - 5 * this.map.getView().getResolution(), coordinate[1]]\r\n let btnImg = document.createElement('img')\r\n btnImg.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEYzMzc1RDY3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEYzMzc1RDc3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RjMzNzVENDdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0RjMzNzVENTdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsDx84AAAAC3SURBVHjavJIxDoMwDEV/ok5wDCbu0DvAdUBIwMLFSs/AxDXY6tZ2SCGVUikd+ifn20+2k5hHVd0AXJGmGQw+UyWMxY8KQGpbUNcB23aYHIsnuSgIy8dlAQ2DgwWSmD0YE5ReAq5pQOMIrKsDRByjKGC/dsxz2L7XQgU8JB7n4qDoY6SYF4J+p72T7/zeOXqr03SMx8XnsTUX7UgElKVCyDK3s8Tsae6sv/8ceceZ6jr1k99fAgwAsZy0Sa2HgDcAAAAASUVORK5CYII='\r\n btnImg.style.cursor = 'pointer'\r\n btnImg.title = '清除测量结果'\r\n btnImg.groupId = this.drawSketch.get('uuid')\r\n btnImg.pos = coordinate\r\n btnImg.onclick = evt => {\r\n this.RemoveMeasure(btnImg.groupId, coordinate)\r\n }\r\n let closeBtn = new ol.Overlay({\r\n element: btnImg,\r\n offset: [-2, -6],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(closeBtn)\r\n closeBtn.setPosition(pos)\r\n closeBtn.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 面积测量结果\r\n */\r\n createMeasureAreaTooltip () {\r\n this.measureAreaTooltipElement = document.createElement('div')\r\n this.measureAreaTooltipElement.style.marginLeft = '-6.25em'\r\n this.measureAreaTooltipElement.className = 'measureTooltip hidden'\r\n this.measureAreaTooltip = new ol.Overlay({\r\n element: this.measureAreaTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left'\r\n })\r\n this.map.addOverlay(this.measureAreaTooltip)\r\n }\r\n\r\n /**\r\n * 移除测量结果\r\n * @param groupId\r\n * @param pos\r\n * @constructor\r\n */\r\n RemoveMeasure (groupId, pos) {\r\n let overlays = this.getMap().getOverlays().getArray()\r\n if (overlays && Array.isArray(overlays)) {\r\n let length = overlays.length\r\n // TODO 注意地图移除Overlay时数组长度会变化\r\n for (let j = 0, i = 0; j < length; j++) {\r\n i++\r\n if (overlays[length - i] && overlays[length - i] instanceof ol.Overlay && overlays[length - i].get('uuid') === groupId) {\r\n this.map.removeOverlay(overlays[length - i])\r\n }\r\n }\r\n }\r\n if (this.layer && this.layer.getSource()) {\r\n let source = this.layer.getSource()\r\n let features = source.getFeatures()\r\n features.forEach(function (feat) {\r\n let lastCoord = feat.getGeometry().getLastCoordinate()\r\n if ((lastCoord[0] === pos[0] && lastCoord[1] === pos[1]) || feat.get('uuid') === groupId) {\r\n source.removeFeature(feat)\r\n }\r\n }, this)\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图拖拽漫游交互\r\n * @returns {ol.interaction.DragPan|*|null}\r\n */\r\n getDragPanInteraction () {\r\n if (!this.dragPanInteraction) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DragPan) {\r\n this.dragPanInteraction = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.dragPanInteraction\r\n }\r\n\r\n /**\r\n * 获取双击放大交互\r\n * @returns {ol.interaction.DoubleClickZoom|*|null}\r\n */\r\n getDoubleClickZoomInteraction () {\r\n if (!this.DoubleClickZoom) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DoubleClickZoom) {\r\n this.DoubleClickZoom = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.DoubleClickZoom\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\nexport default MeasureTool\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/MeasureTool.js","// Styles for the mapbox-streets-v6 vector tile data set. Loosely based on\r\n// http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6.json\r\nimport {ol} from '../constants'\r\n/**\r\n * V6Style\r\n * @returns {Function}\r\n */\r\nexport const createMapboxStreetsV6Style = () => {\r\n let fill = new ol.style.Fill({color: ''})\r\n let stroke = new ol.style.Stroke({color: '', width: 1})\r\n let polygon = new ol.style.Style({fill: fill})\r\n let strokedPolygon = new ol.style.Style({fill: fill, stroke: stroke})\r\n let line = new ol.style.Style({stroke: stroke})\r\n let text = new ol.style.Style({\r\n text: new ol.style.Text({\r\n text: '', fill: fill, stroke: stroke\r\n })\r\n })\r\n let iconCache = {}\r\n\r\n function getIcon (iconName) {\r\n let icon = iconCache[iconName]\r\n if (!icon) {\r\n icon = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: 'https://cdn.rawgit.com/mapbox/maki/master/icons/' + iconName + '-15.svg',\r\n imgSize: [15, 15]\r\n })\r\n })\r\n iconCache[iconName] = icon\r\n }\r\n return icon\r\n }\r\n\r\n let styles = []\r\n return function (feature, resolution) {\r\n let length = 0\r\n let layer = feature.get('layer')\r\n let cls = feature.get('class')\r\n let type = feature.get('type')\r\n let scalerank = feature.get('scalerank')\r\n let labelrank = feature.get('labelrank')\r\n let adminLevel = feature.get('admin_level')\r\n let maritime = feature.get('maritime')\r\n let disputed = feature.get('disputed')\r\n let maki = feature.get('maki')\r\n let geom = feature.getGeometry().getType()\r\n if (layer === 'landuse' && cls === 'park') {\r\n fill.setColor('#d8e8c8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'cemetery') {\r\n fill.setColor('#e0e4dd')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'hospital') {\r\n fill.setColor('#fde')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'school') {\r\n fill.setColor('#f0e8f8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'wood') {\r\n fill.setColor('rgb(233,238,223)')\r\n styles[length++] = polygon\r\n } else if (layer === 'waterway' &&\r\n cls !== 'river' && cls !== 'stream' && cls !== 'canal') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && cls === 'river') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && (cls === 'stream' ||\r\n cls === 'canal')) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'water') {\r\n fill.setColor('#a0c8f0')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'Polygon') {\r\n fill.setColor('rgb(242,239,235)')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'LineString' &&\r\n resolution <= 76.43702828517625) {\r\n stroke.setColor('#f0ede9')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'building') {\r\n fill.setColor('#f2eae2')\r\n stroke.setColor('#dfdbd7')\r\n stroke.setWidth(1)\r\n styles[length++] = strokedPolygon\r\n } else if (layer === 'tunnel' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && (cls === 'street' ||\r\n cls === 'street_limited') && geom === 'LineString') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway' &&\r\n resolution <= 4891.96981025128) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 0 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 1 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'country_label' && scalerank === 1) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 2 &&\r\n resolution <= 19567.87924100512) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 3 &&\r\n resolution <= 9783.93962050256) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 4 &&\r\n resolution <= 4891.96981025128) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 1 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 2 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 3 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 4 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'city' &&\r\n resolution <= 1222.99245256282) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'town' &&\r\n resolution <= 305.748113140705) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'village' &&\r\n resolution <= 38.21851414258813) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' &&\r\n resolution <= 19.109257071294063 && (type === 'hamlet' ||\r\n type === 'suburb' || type === 'neighbourhood')) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Arial Narrow\"')\r\n fill.setColor('#633')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'poi_label' && resolution <= 19.109257071294063 &&\r\n scalerank === 1 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 9.554628535647032 &&\r\n scalerank === 2 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 4.777314267823516 &&\r\n scalerank === 3 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 2.388657133911758 &&\r\n scalerank === 4 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 1.194328566955879 &&\r\n scalerank >= 5 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n }\r\n styles.length = length\r\n return styles\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/MapboxStyle.js","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/fn/regexp/escape.js\n// module id = 200\n// module chunks = 0","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-constructor.js\n// module id = 201\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-create.js\n// module id = 202\n// module chunks = 0","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_date-to-primitive.js\n// module id = 203\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-keys.js\n// module id = 204\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_keyof.js\n// module id = 205\n// module chunks = 0","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_partial.js\n// module id = 206\n// module chunks = 0","module.exports = require('./_global');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_path.js\n// module id = 207\n// module chunks = 0","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_replacer.js\n// module id = 208\n// module chunks = 0","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.regexp.escape.js\n// module id = 209\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.copy-within.js\n// module id = 210\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.every.js\n// module id = 211\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.fill.js\n// module id = 212\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.filter.js\n// module id = 213\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find-index.js\n// module id = 214\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find.js\n// module id = 215\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.for-each.js\n// module id = 216\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.from.js\n// module id = 217\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.index-of.js\n// module id = 218\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.is-array.js\n// module id = 219\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.join.js\n// module id = 220\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.last-index-of.js\n// module id = 221\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.map.js\n// module id = 222\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.of.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce-right.js\n// module id = 224\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce.js\n// module id = 225\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.slice.js\n// module id = 226\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.some.js\n// module id = 227\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.sort.js\n// module id = 228\n// module chunks = 0","require('./_set-species')('Array');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.species.js\n// module id = 229\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.now.js\n// module id = 230\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-iso-string.js\n// module id = 231\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-json.js\n// module id = 232\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-primitive.js\n// module id = 233\n// module chunks = 0","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-string.js\n// module id = 234\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.bind.js\n// module id = 235\n// module chunks = 0","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.has-instance.js\n// module id = 236\n// module chunks = 0","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.name.js\n// module id = 237\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.acosh.js\n// module id = 238\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.asinh.js\n// module id = 239\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.atanh.js\n// module id = 240\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cbrt.js\n// module id = 241\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.clz32.js\n// module id = 242\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cosh.js\n// module id = 243\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.expm1.js\n// module id = 244\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.fround.js\n// module id = 245\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.hypot.js\n// module id = 246\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.imul.js\n// module id = 247\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log10.js\n// module id = 248\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log1p.js\n// module id = 249\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log2.js\n// module id = 250\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sign.js\n// module id = 251\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sinh.js\n// module id = 252\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.tanh.js\n// module id = 253\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.trunc.js\n// module id = 254\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.constructor.js\n// module id = 255\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.epsilon.js\n// module id = 256\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-finite.js\n// module id = 257\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-integer.js\n// module id = 258\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-nan.js\n// module id = 259\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-safe-integer.js\n// module id = 260\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.max-safe-integer.js\n// module id = 261\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.min-safe-integer.js\n// module id = 262\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-float.js\n// module id = 263\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-int.js\n// module id = 264\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-fixed.js\n// module id = 265\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-precision.js\n// module id = 266\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.assign.js\n// module id = 267\n// module chunks = 0","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.create.js\n// module id = 268\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-properties.js\n// module id = 269\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-property.js\n// module id = 270\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.freeze.js\n// module id = 271\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 272\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-names.js\n// module id = 273\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-prototype-of.js\n// module id = 274\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-extensible.js\n// module id = 275\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-frozen.js\n// module id = 276\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-sealed.js\n// module id = 277\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is.js\n// module id = 278\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.keys.js\n// module id = 279\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.prevent-extensions.js\n// module id = 280\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.seal.js\n// module id = 281\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.set-prototype-of.js\n// module id = 282\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.to-string.js\n// module id = 283\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-float.js\n// module id = 284\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-int.js\n// module id = 285\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.promise.js\n// module id = 286\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.apply.js\n// module id = 287\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.construct.js\n// module id = 288\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.define-property.js\n// module id = 289\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.delete-property.js\n// module id = 290\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.enumerate.js\n// module id = 291\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 292\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 293\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get.js\n// module id = 294\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.has.js\n// module id = 295\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.is-extensible.js\n// module id = 296\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.own-keys.js\n// module id = 297\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 298\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 299\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set.js\n// module id = 300\n// module chunks = 0","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.constructor.js\n// module id = 301\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.match.js\n// module id = 302\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.replace.js\n// module id = 303\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.search.js\n// module id = 304\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.split.js\n// module id = 305\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.to-string.js\n// module id = 306\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.anchor.js\n// module id = 307\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.big.js\n// module id = 308\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.blink.js\n// module id = 309\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.bold.js\n// module id = 310\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.code-point-at.js\n// module id = 311\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.ends-with.js\n// module id = 312\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fixed.js\n// module id = 313\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontcolor.js\n// module id = 314\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontsize.js\n// module id = 315\n// module chunks = 0","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.from-code-point.js\n// module id = 316\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.includes.js\n// module id = 317\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.italics.js\n// module id = 318\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.iterator.js\n// module id = 319\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.link.js\n// module id = 320\n// module chunks = 0","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.raw.js\n// module id = 321\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.repeat.js\n// module id = 322\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.small.js\n// module id = 323\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.starts-with.js\n// module id = 324\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.strike.js\n// module id = 325\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sub.js\n// module id = 326\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sup.js\n// module id = 327\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.trim.js\n// module id = 328\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.symbol.js\n// module id = 329\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.array-buffer.js\n// module id = 330\n// module chunks = 0","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.data-view.js\n// module id = 331\n// module chunks = 0","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float32-array.js\n// module id = 332\n// module chunks = 0","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float64-array.js\n// module id = 333\n// module chunks = 0","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int16-array.js\n// module id = 334\n// module chunks = 0","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int32-array.js\n// module id = 335\n// module chunks = 0","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int8-array.js\n// module id = 336\n// module chunks = 0","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint16-array.js\n// module id = 337\n// module chunks = 0","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint32-array.js\n// module id = 338\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-array.js\n// module id = 339\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n// module id = 340\n// module chunks = 0","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-set.js\n// module id = 341\n// module chunks = 0","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.array.includes.js\n// module id = 342\n// module chunks = 0","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.asap.js\n// module id = 343\n// module chunks = 0","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.error.is-error.js\n// module id = 344\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.map.to-json.js\n// module id = 345\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.iaddh.js\n// module id = 346\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.imulh.js\n// module id = 347\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.isubh.js\n// module id = 348\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.umulh.js\n// module id = 349\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-getter.js\n// module id = 350\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-setter.js\n// module id = 351\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.entries.js\n// module id = 352\n// module chunks = 0","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 353\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-getter.js\n// module id = 354\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-setter.js\n// module id = 355\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.values.js\n// module id = 356\n// module chunks = 0","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.observable.js\n// module id = 357\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 358\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 359\n// module chunks = 0","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 360\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 361\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 362\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 363\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 364\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 365\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.metadata.js\n// module id = 366\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.set.to-json.js\n// module id = 367\n// module chunks = 0","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.at.js\n// module id = 368\n// module chunks = 0","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.match-all.js\n// module id = 369\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-end.js\n// module id = 370\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-start.js\n// module id = 371\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-left.js\n// module id = 372\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-right.js\n// module id = 373\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.async-iterator.js\n// module id = 374\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.observable.js\n// module id = 375\n// module chunks = 0","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.system.global.js\n// module id = 376\n// module chunks = 0","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.dom.iterable.js\n// module id = 377\n// module chunks = 0","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.immediate.js\n// module id = 378\n// module chunks = 0","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.timers.js\n// module id = 379\n// module chunks = 0","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/shim.js\n// module id = 380\n// module chunks = 0","// OpenLayers. See https://openlayers.org/\n// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md\n// Version: v4.1.1\n;(function (root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory();\n } else if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else {\n root.ol = factory();\n }\n}(this, function () {\n var OPENLAYERS = {};\n var k,ba=this;function t(a,b){var c=OPENLAYERS,d=a.split(\".\"),c=c||ba;d[0]in c||!c.execScript||c.execScript(\"var \"+d[0]);for(var e;d.length&&(e=d.shift());)d.length||void 0===b?c[e]&&Object.prototype.hasOwnProperty.call(c,e)?c=c[e]:c=c[e]={}:c[e]=b};var ca,da;function ea(a,b){return a>b?1:ac)for(c=1;c>>0,d,e=0;e=b.da&&a.ga<=b.ja&&a.ja>=b.ga};function xa(a,b,c){return Math.min(Math.max(a,b),c)}var ya=function(){var a;\"cosh\"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function za(a){sa(0c*b?c+b:c}function Ea(a,b,c){return a+c*(b-a)};function Fa(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function Ga(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function Ha(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:b[0]=b[1]=a;return b};function Ia(a){for(var b=Ja(),c=0,d=a.length;cd&&(h|=4);ge&&(h|=2);h||(h=1);return h}function Ja(){return[Infinity,Infinity,-Infinity,-Infinity]}function Wa(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Xa(a,b){var c=a[0],d=a[1];return Wa(c,d,c,d,b)}function Ya(a,b,c,d,e){e=Wa(Infinity,Infinity,-Infinity,-Infinity,e);return Za(e,a,b,c,d)}\nfunction $a(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function ab(a,b){b[0]a[2]&&(a[2]=b[2]);b[1]a[3]&&(a[3]=b[3]);return a}function La(a,b){b[0]a[2]&&(a[2]=b[0]);b[1]a[3]&&(a[3]=b[1])}function Za(a,b,c,d,e){for(;cb[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function hb(a){return a[2]Db?f=Db:f<-Db&&(f=-Db);b[e+1]=f}return b}function Gb(a,b,c){var d=a.length;c=1>=1;return c.join(\"\")};function kc(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;sa(na(this.b,function(a,b){return b-a}),17);this.maxZoom=this.b.length-1;this.g=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins,sa(this.c.length==this.b.length,20));var b=a.extent;void 0===b||this.g||this.c||(this.g=fb(b));sa(!this.g&&this.c||this.g&&!this.c,18);this.i=null;void 0!==a.tileSizes&&(this.i=a.tileSizes,sa(this.i.length==this.b.length,19));this.f=void 0!==a.tileSize?a.tileSize:\nthis.i?null:256;sa(!this.f&&this.i||this.f&&!this.i,22);this.u=void 0!==b?b:null;this.a=null;this.j=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new ta(Math.min(0,a[0]),Math.max(a[0]-1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&lc(this,b)}var mc=[0,0,0];k=kc.prototype;k.mh=function(a,b,c){a=nc(this,a,b);for(var d=a.da,e=a.ba;d<=e;++d)for(var f=a.ga,g=a.ja;f<=g;++f)c([b,d,f])};\nfunction oc(a,b,c,d,e){e=a.Ua(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,nc(a,e,b,d)))return!0;--b}return!1}k.D=function(){return this.u};k.Ni=function(){return this.maxZoom};k.Oi=function(){return this.minZoom};k.Uc=function(a){return this.g?this.g:this.c[a]};k.La=function(a){return this.b[a]};k.Pi=function(){return this.b};function pc(a,b,c,d){return b[0]Na.ba)if(wa(C,new ta(Da(A.da,wb),Da(A.ba,wb),A.ga,A.ja))||A.ba-A.da+1>wb&&wa(C,Na)){p=!0;break a}}}p=!1}else p=!0}}else p=!1;p?(l in v&&delete v[l],p=h.b,p in x||(x[p]=!0,r[l]=h)):v[l]=h}b=[r,v];c=b[0];b=b[1];for(var Z in this.o)Z in c?(this.j[Z]||(this.o[Z].style.display=\"\",this.j[Z]=!0),delete c[Z]):Z in b?(this.j[Z]&&(this.o[Z].style.display=\"none\",delete this.j[Z]),delete b[Z]):(jd(this.o[Z]),delete this.o[Z],delete this.j[Z]);for(Z in c)d=document.createElement(\"LI\"),\nd.innerHTML=c[Z].b,this.I.appendChild(d),this.o[Z]=d,this.j[Z]=!0;for(Z in b)d=document.createElement(\"LI\"),d.innerHTML=b[Z].b,d.style.display=\"none\",this.I.appendChild(d),this.o[Z]=d;Z=!tb(this.j)||!tb(a.logos);this.G!=Z&&(this.element.style.display=Z?\"\":\"none\",this.G=Z);Z&&tb(this.j)?this.element.classList.add(\"ol-logo-only\"):this.element.classList.remove(\"ol-logo-only\");var Ta;a=a.logos;Z=this.T;for(Ta in Z)Ta in a||(jd(Z[Ta]),delete Z[Ta]);for(var Pb in a)b=a[Pb],b instanceof HTMLElement&&(this.v.appendChild(b),\nZ[Pb]=b),Pb in Z||(Ta=new Image,Ta.src=Pb,\"\"===b?c=Ta:(c=document.createElement(\"a\"),c.href=b,c.appendChild(Ta)),this.v.appendChild(c),Z[Pb]=c);this.v.style.display=tb(a)?\"none\":\"\"}else this.G&&(this.element.style.display=\"none\",this.G=!1)}k=ld.prototype;k.Pm=function(a){a.preventDefault();nd(this)};function nd(a){a.element.classList.toggle(\"ol-collapsed\");a.c?id(a.A,a.C):id(a.C,a.A);a.c=!a.c}k.Om=function(){return this.l};\nk.Rm=function(a){this.l!==a&&(this.l=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.c&&nd(this))};k.Qm=function(a){this.l&&this.c!==a&&nd(this)};k.Nm=function(){return this.c};function od(a){return Math.pow(a,3)}function pd(a){return 1-od(1-a)}function qd(a){return 3*a*a-2*a*a*a}function rd(a){return a};function sd(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-rotate\",c=void 0!==a.label?a.label:\"\\u21e7\";this.c=null;\"string\"===typeof c?(this.c=document.createElement(\"span\"),this.c.className=\"ol-compass\",this.c.textContent=c):(this.c=c,this.c.classList.add(\"ol-compass\"));var d=a.tipLabel?a.tipLabel:\"Reset rotation\",c=document.createElement(\"button\");c.className=b+\"-reset\";c.setAttribute(\"type\",\"button\");c.title=d;c.appendChild(this.c);z(c,\"click\",sd.prototype.A,this);d=document.createElement(\"div\");\nd.className=b+\" ol-unselectable ol-control\";d.appendChild(c);b=a.render?a.render:td;this.l=a.resetNorth?a.resetNorth:void 0;kd.call(this,{element:d,render:b,target:a.target});this.o=void 0!==a.duration?a.duration:250;this.j=void 0!==a.autoHide?a.autoHide:!0;this.v=void 0;this.j&&this.element.classList.add(\"ol-hidden\")}u(sd,kd);sd.prototype.A=function(a){a.preventDefault();this.l?this.l():(a=this.a.$())&&void 0!==a.Sa()&&(0=Math.abs(d-h[0])&&25>=l)return!0}return!1}function he(a){var b=ie(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType=\"mouse\";return b}k=fe.prototype;\nk.am=function(a){if(!ge(this,a)){(1).toString()in this.a&&this.cancel(a);var b=he(a);this.a[(1).toString()]=a;je(this.b,\"pointerdown\",b,a)}};k.bm=function(a){if(!ge(this,a)){var b=he(a);je(this.b,\"pointermove\",b,a)}};k.em=function(a){if(!ge(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=he(a),je(this.b,\"pointerup\",b,a),delete this.a[(1).toString()])}};k.dm=function(a){if(!ge(this,a)){var b=he(a);ke(this.b,b,a)}};k.cm=function(a){if(!ge(this,a)){var b=he(a);le(this.b,b,a)}};\nk.cancel=function(a){var b=he(a);this.b.cancel(b,a);delete this.a[(1).toString()]};function me(a){ee.call(this,a,{MSPointerDown:this.jm,MSPointerMove:this.km,MSPointerUp:this.nm,MSPointerOut:this.lm,MSPointerOver:this.mm,MSPointerCancel:this.im,MSGotPointerCapture:this.gm,MSLostPointerCapture:this.hm});this.a=a.g;this.g=[\"\",\"unavailable\",\"touch\",\"pen\",\"mouse\"]}u(me,ee);function ne(a,b){var c=b;\"number\"===typeof b.pointerType&&(c=ie(b,b),c.pointerType=a.g[b.pointerType]);return c}k=me.prototype;\nk.jm=function(a){this.a[a.pointerId.toString()]=a;var b=ne(this,a);je(this.b,\"pointerdown\",b,a)};k.km=function(a){var b=ne(this,a);je(this.b,\"pointermove\",b,a)};k.nm=function(a){var b=ne(this,a);je(this.b,\"pointerup\",b,a);delete this.a[a.pointerId.toString()]};k.lm=function(a){var b=ne(this,a);le(this.b,b,a)};k.mm=function(a){var b=ne(this,a);ke(this.b,b,a)};k.im=function(a){var b=ne(this,a);this.b.cancel(b,a);delete this.a[a.pointerId.toString()]};\nk.hm=function(a){this.b.b(new oe(\"lostpointercapture\",a,a))};k.gm=function(a){this.b.b(new oe(\"gotpointercapture\",a,a))};function pe(a){ee.call(this,a,{pointerdown:this.Yo,pointermove:this.Zo,pointerup:this.bp,pointerout:this.$o,pointerover:this.ap,pointercancel:this.Xo,gotpointercapture:this.pl,lostpointercapture:this.$l})}u(pe,ee);k=pe.prototype;k.Yo=function(a){qe(this.b,a)};k.Zo=function(a){qe(this.b,a)};k.bp=function(a){qe(this.b,a)};k.$o=function(a){qe(this.b,a)};k.ap=function(a){qe(this.b,a)};k.Xo=function(a){qe(this.b,a)};k.$l=function(a){qe(this.b,a)};k.pl=function(a){qe(this.b,a)};function oe(a,b,c){Lc.call(this,a);this.b=b;a=c?c:{};this.buttons=se(a);this.pressure=te(a,this.buttons);this.bubbles=\"bubbles\"in a?a.bubbles:!1;this.cancelable=\"cancelable\"in a?a.cancelable:!1;this.view=\"view\"in a?a.view:null;this.detail=\"detail\"in a?a.detail:null;this.screenX=\"screenX\"in a?a.screenX:0;this.screenY=\"screenY\"in a?a.screenY:0;this.clientX=\"clientX\"in a?a.clientX:0;this.clientY=\"clientY\"in a?a.clientY:0;this.button=\"button\"in a?a.button:0;this.relatedTarget=\"relatedTarget\"in a?a.relatedTarget:\nnull;this.pointerId=\"pointerId\"in a?a.pointerId:0;this.width=\"width\"in a?a.width:0;this.height=\"height\"in a?a.height:0;this.pointerType=\"pointerType\"in a?a.pointerType:\"\";this.isPrimary=\"isPrimary\"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}u(oe,Lc);function se(a){if(a.buttons||ue)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}\nfunction te(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var ue=!1;try{ue=1===(new MouseEvent(\"click\",{buttons:1})).buttons}catch(a){};function ve(a,b){ee.call(this,a,{touchstart:this.gq,touchmove:this.fq,touchend:this.eq,touchcancel:this.cq});this.a=a.g;this.j=b;this.g=void 0;this.f=0;this.c=void 0}u(ve,ee);k=ve.prototype;k.dj=function(){this.f=0;this.c=void 0};\nfunction we(a,b,c){b=ie(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.f;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.g===c.identifier;b.pointerType=\"touch\";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}\nfunction xe(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g,h;for(g=0;g=b.length){var e=[],f,g,h;for(f=0;f>1;){var l=2*b+1,m=2*b+2,l=mb;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}function Me(a){var b=a.o,c=a.b,d=a.g,e=0,f=c.length,g,h,l;for(h=0;h>1)-1;0<=b;b--)Ke(a,b)};function Ne(a,b){Ie.call(this,function(b){return a.apply(null,b)},function(a){return a[0].hb()});this.u=b;this.j=0;this.f={}}u(Ne,Ie);Ne.prototype.i=function(a){var b=Ie.prototype.i.call(this,a);b&&z(a[0],\"change\",this.l,this);return b};Ne.prototype.l=function(a){a=a.target;var b=a.V();if(2===b||3===b||4===b||5===b)Hc(a,\"change\",this.l,this),a=a.hb(),a in this.f&&(delete this.f[a],--this.j),this.u()};\nfunction Oe(a,b,c){for(var d=0,e,f;a.je)return 1;if(e>d)return-1}return 0};function Xe(a,b){a[0]+=b[0];a[1]+=b[1];return a}function Ye(a,b){var c=a[0],d=a[1],e=b[0],f=b[1],g=e[0],e=e[1],h=f[0],f=f[1],l=h-g,m=f-e,c=l||m?(l*(c-g)+m*(d-e))/(l*l+m*m||0):0;0>=c||(1<=c?(g=h,e=f):(g+=c*l,e+=c*m));return[g,e]}\nfunction Ze(a,b,c){a=Da(a+180,360)-180;var d=Math.abs(3600*a);c=c||0;var e=Math.pow(10,c),f=Math.floor(d/3600),g=Math.floor((d-3600*f)/60),d=Math.ceil((d-3600*f-60*g)*e)/e;60<=d&&(d=0,g+=1);60<=g&&(g=0,f+=1);return f+\"\\u00b0 \"+Ve(g)+\"\\u2032 \"+Ve(d,c)+\"\\u2033 \"+b.charAt(0>a?1:0)}function $e(a,b,c){return a?b.replace(\"{x}\",a[0].toFixed(c)).replace(\"{y}\",a[1].toFixed(c)):\"\"}function af(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}\nfunction cf(a,b){var c=Math.cos(b),d=Math.sin(b),e=a[1]*c+a[0]*d;a[0]=a[0]*c-a[1]*d;a[1]=e;return a}function df(a,b){a[0]*=b;a[1]*=b}function ef(a,b){var c=a[0]-b[0],d=a[1]-b[1];return c*c+d*d}function ff(a,b){return Math.sqrt(ef(a,b))}function gf(a,b){return ef(a,Ye(a,b))}function hf(a,b){return $e(a,\"{x}, {y}\",b)};function jf(){return!0}function kf(){return!1};function lf(){Qc.call(this);this.o=Ja();this.u=-1;this.i={};this.l=this.f=0}u(lf,Qc);k=lf.prototype;k.Ab=function(a,b){var c=b?b:[NaN,NaN];this.Hb(a[0],a[1],c,Infinity);return c};k.sb=function(a){return this.Sc(a[0],a[1])};k.Sc=kf;k.D=function(a){this.u!=this.g&&(this.o=this.se(this.o),this.u=this.g);var b=this.o;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Qb=function(a){return this.Td(a*a)};k.tb=function(a,b){this.Fc(dc(a,b));return this};function mf(a,b,c,d,e,f){for(var g=f?f:[],h=0;ba||this.f&&a<=this.f)return this;var b=a.toString();if(this.i.hasOwnProperty(b))return this.i[b];var c=this.od(a);if(c.ia().lengthe&&(e=f);f=h;g=l}return e}function wf(a,b,c,d,e){var f,g;f=0;for(g=c.length;fh){for(;br&&(m=n,r=B)}r>e&&(l[(m-b)/d]=1,q+dKa&&NaKa)&&(0>C&&wbC)||(y[A++]=p,y[A++]=g,B=p,aa=g);p=Ra;g=ra}}y[A++]=p;y[A++]=g}g=A}h.push(g);b=n}return g};function Gf(a,b){of.call(this);this.c=this.j=-1;this.pa(a,b)}u(Gf,of);k=Gf.prototype;k.clone=function(){var a=new Gf(null);Hf(a,this.la,this.B.slice());return a};k.Hb=function(a,b,c,d){if(df&&0<(m-h)*(f-l)-(e-h)*(n-l)&&g++:n<=f&&0>(m-h)*(f-l)-(e-h)*(n-l)&&g--;h=m;l=n}return!!g}function Kf(a,b,c,d,e,f){if(!c.length||!Jf(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;bp&&(m=(m+n)/2,Kf(a,b,c,d,m,q)&&(v=m,p=x));m=n}isNaN(v)&&(v=e[f]);return g?(g.push(v,q),g):[v,q]};function Mf(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:Mf(a,b,c,d,function(a,b){var c=!1,d=Va(e,a),f=Va(e,b);if(1===d||1===f)c=!0;else{var g=e[0],h=e[1],r=e[2],v=e[3],x=b[0],y=b[1],A=(y-a[1])/(x-a[0]);f&2&&!(d&2)&&(c=x-(y-v)/A,c=c>=g&&c<=r);c||!(f&4)||d&4||(c=y-(x-r)*A,c=c>=h&&c<=v);c||!(f&8)||d&8||(c=x-(y-h)/A,c=c>=g&&c<=r);c||!(f&16)||d&16||(c=y-(x-g)*A,c=c>=h&&c<=v)}return c}):!1}\nfunction Of(a,b,c,d,e){var f=c[0];if(!(Nf(a,b,f,d,e)||Jf(a,b,f,d,e[0],e[1])||Jf(a,b,f,d,e[0],e[3])||Jf(a,b,f,d,e[2],e[1])||Jf(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;ba||this.c.length<=a)return null;var b=new Gf(null);Hf(b,this.la,this.B.slice(a?this.c[a-1]:0,this.c[a]));return b};k.Oc=function(){var a=this.la,b=this.B,c=this.c,d=[],e=0,f,g;f=0;for(g=c.length;f=this.i&&a<=this.a){b=this.l||0;var c,d;if(this.f){d=ga(this.f,a,1);b+=d;if(d==this.f.length-1)return b;c=this.f[d];d=c/this.f[d+1]}else c=this.a,d=this.C;b+=Math.log(c/a)/Math.log(d)}return b};\nk.Mf=function(a,b){var c=b||{},d=c.size;d||(d=dg(this));var e;a instanceof of?\"Circle\"===a.S()?(a=a.D(),e=Vf(a),e.rotate(this.Sa(),kb(a))):e=a:(sa(Array.isArray(a),24),sa(!hb(a),25),e=Vf(a));var f=c.padding?c.padding:[0,0,0,0],g=void 0!==c.constrainResolution?c.constrainResolution:!0,h=void 0!==c.nearest?c.nearest:!1,l;void 0!==c.minResolution?l=c.minResolution:void 0!==c.maxZoom?l=this.constrainResolution(this.a,c.maxZoom-this.l,0):l=0;var m=e.ia(),n=this.Sa(),p=Math.cos(-n),n=Math.sin(-n),q=Infinity,\nr=Infinity,v=-Infinity,x=-Infinity;e=e.sa();for(var y=0,A=m.length;yc.b.length)c=!1;else{var d=Date.now()-c.f,e=c.b.length-3;if(c.b[e+2]d;)f-=3;var d=c.b[e+2]-c.b[f+2],g=c.b[e]-c.b[f],e=c.b[e+1]-c.b[f+1];c.g=Math.atan2(e,g);c.a=Math.sqrt(g*g+e*e)/d;c=c.a>c.c}}c&&(c=this.a,c=(c.c-c.a)/c.i,e=this.a.g,f=a.za(),f=b.Ka(f),b=b.Xa([f[0]-c*Math.cos(e),f[1]-c*Math.sin(e)]),a.animate({center:a.Gc(b),duration:500,\neasing:pd}));$f(a,1,-1);return!1}function Eg(a){if(0=this.u}function Qg(a){if(yg(a)){var b=this.a,c=a.pixel;b.c=this.f;b.g=c;Ng(b);Mg(b);this.b(new Tg(Ug,a.coordinate,a))}}Og.prototype.U=function(){return this.a.U()};\nOg.prototype.j=oa;function Rg(a){if(!yg(a))return!0;this.a.setMap(null);this.o(a,this.f,a.pixel)&&(this.j(a),this.b(new Tg(Vg,a.coordinate,a)));return!1}function Pg(a){if(yg(a)&&rg(a)&&this.C(a)){this.f=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.f;b.c=this.f;b.g=c;Ng(b);Mg(b);this.b(new Tg(Wg,a.coordinate,a));return!0}return!1}var Wg=\"boxstart\",Ug=\"boxdrag\",Vg=\"boxend\";function Tg(a,b,c){Lc.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}u(Tg,Lc);function Xg(a){a=a?a:{};var b=a.condition?a.condition:wg;this.G=void 0!==a.duration?a.duration:200;this.I=void 0!==a.out?a.out:!1;Og.call(this,{condition:b,className:a.className||\"ol-dragzoom\"})}u(Xg,Og);\nXg.prototype.j=function(){var a=this.v,b=a.$(),c=a.Nb(),d=this.U().D();if(this.I){var e=b.hd(c),d=[a.Ka(cb(d)),a.Ka(eb(d))],a=Wa(Infinity,Infinity,-Infinity,-Infinity,void 0),f,g;f=0;for(g=d.length;fMath.abs(d)?dh:eh;if(this.l===dh){b=b.$();this.o?clearTimeout(this.o):\n$f(b,1,1);this.o=setTimeout(this.G.bind(this),400);var c=b.Ra()*Math.pow(2,d/300),e=b.i,f=b.a,g=0;cf&&(c=Math.min(c,1.5*f),g=-1);if(this.a){var h=bg(b,c,this.a);b.lb(b.Gc(h))}b.$c(c);!g&&this.Z&&b.animate({resolution:b.constrainResolution(c,0g&&b.animate({resolution:f,easing:pd,anchor:this.a,duration:500});this.f=a;return!1}this.j+=d;d=Math.max(this.ea-\n(a-this.f),0);clearTimeout(this.u);this.u=setTimeout(this.I.bind(this,b),d);return!1}bh.prototype.G=function(){this.o=void 0;$f(this.v.$(),1,-1)};bh.prototype.I=function(a){a=a.$();a.Kc()&&a.kd();mg(a,-xa(this.j,-1,1),this.a,this.A);this.l=void 0;this.j=0;this.a=null;this.u=this.f=void 0};bh.prototype.T=function(a){this.C=a;a||(this.a=null)};var dh=\"trackpad\",eh=\"wheel\";function fh(a){Ag.call(this,{handleDownEvent:gh,handleDragEvent:hh,handleUpEvent:ih});a=a||{};this.f=null;this.j=void 0;this.a=!1;this.o=0;this.C=void 0!==a.threshold?a.threshold:.3;this.u=void 0!==a.duration?a.duration:250}u(fh,Ag);\nfunction hh(a){var b=0,c=this.l[0],d=this.l[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.o+=b,!this.a&&Math.abs(this.o)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.c.getBoundingClientRect();d=Cg(this.l);d[0]-=c.left;d[1]-=c.top;this.f=a.Xa(d);this.a&&(c=a.$(),d=c.Sa(),a.render(),lg(c,d+b,this.f))}function ih(a){if(2>this.l.length){a=a.map.$();$f(a,1,-1);if(this.a){var b=a.Sa(),c=this.f,d=this.u,b=a.constrainRotation(b,0);lg(a,b,c,d)}return!1}return!0}\nfunction gh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.j=void 0,this.a=!1,this.o=0,this.A||$f(a.$(),1,1),!0):!1}fh.prototype.bd=kf;function jh(a){Ag.call(this,{handleDownEvent:kh,handleDragEvent:lh,handleUpEvent:nh});a=a?a:{};this.o=a.constrainResolution||!1;this.f=null;this.u=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}u(jh,Ag);\nfunction lh(a){var b=1,c=this.l[0],d=this.l[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;a=a.map;var e=a.$(),d=e.Ra(),f=e.a,g=e.i,c=d*b;c>f?(b=f/d,c=f):cthis.l.length){a=a.map.$();$f(a,1,-1);var b=a.Ra();if(this.o||ba.a){var c=this.f,d=this.u,b=a.constrainResolution(b,0,this.j-1);ng(a,b,c,d)}return!1}return!0}function kh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.a=void 0,this.j=1,this.A||$f(a.$(),1,1),!0):!1}jh.prototype.bd=kf;function oh(a){a=a?a:{};var b=new D,c=new ig(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new Hg);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new og({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new Dg({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new fh);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new jh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));if(void 0!==a.keyboard?\na.keyboard:1)b.push(new Yg),b.push(new $g({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new bh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new Xg({duration:a.zoomDuration}));return b};function ph(a){Qc.call(this);var b=qb({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.H(b);this.a={layer:this,Ie:!0}}u(ph,Qc);\nfunction qh(a){a.a.opacity=xa(a.jc(),0,1);a.a.uj=a.Vf();a.a.visible=a.Lb();a.a.extent=a.D();a.a.zIndex=a.Aa();a.a.maxResolution=a.hc();a.a.minResolution=Math.max(a.ic(),0);return a.a}k=ph.prototype;k.D=function(){return this.get(\"extent\")};k.hc=function(){return this.get(\"maxResolution\")};k.ic=function(){return this.get(\"minResolution\")};k.jc=function(){return this.get(\"opacity\")};k.Lb=function(){return this.get(\"visible\")};k.Aa=function(){return this.get(\"zIndex\")};\nk.xc=function(a){this.set(\"extent\",a)};k.Cc=function(a){this.set(\"maxResolution\",a)};k.Dc=function(a){this.set(\"minResolution\",a)};k.yc=function(a){this.set(\"opacity\",a)};k.zc=function(a){this.set(\"visible\",a)};k.Xb=function(a){this.set(\"zIndex\",a)};function rh(a){var b=a||{};a=qb({},b);delete a.layers;b=b.layers;ph.call(this,a);this.i=[];this.c={};z(this,Sc(sh),this.Cl,this);b?Array.isArray(b)?b=new D(b.slice(),{unique:!0}):sa(b instanceof D,43):b=new D(void 0,{unique:!0});this.pi(b)}u(rh,ph);k=rh.prototype;k.Gd=function(){};k.Ee=function(){this.Lb()&&this.s()};\nk.Cl=function(){this.i.forEach(Bc);this.i.length=0;var a=this.sd();this.i.push(z(a,\"add\",this.Bl,this),z(a,\"remove\",this.Dl,this));for(var b in this.c)this.c[b].forEach(Bc);rb(this.c);var a=a.a,c,d;b=0;for(c=a.length;b=a.minResolution&&bp[2])m=[r+q*Math.ceil((p[0]-r)/q),a[1]]}p=b.layerStatesArray;for(q=p.length-1;0<=q;--q){var v=p[q],r=v.layer;if(uh(v,n)&&f.call(g,r)&&(v=Mh(this,r),r.ka()&&(l=v.Ba(r.ka().G?m:a,b,c,h,e)),l))return l}};\nk.xi=function(a,b,c,d,e){return void 0!==this.Ba(a,b,c,jf,this,d,e)};function Mh(a,b){var c=w(b).toString();if(c in a.c)return a.c[c];var d=b.Gd(a);a.c[c]=d;a.u[c]=z(d,\"change\",a.Al,a);return d}k.Al=function(){this.l.render()};k.Dg=oa;k.Hp=function(a,b){for(var c in this.c)if(!(b&&c in b.layerStates)){var d=c,e=this.c[d];delete this.c[d];Bc(this.u[d]);delete this.u[d];Kc(e)}};function Nh(a,b){for(var c in a.c)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.Hp.bind(a));break}}\nfunction la(a,b){return a.zIndex-b.zIndex};function Oh(a,b,c,d,e){Lc.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}u(Oh,Lc);var Ph=[0,0,0,1],Qh=[],Rh=[0,0,0,1];function Sh(a,b,c,d){b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function Th(){}k=Th.prototype;k.oc=function(){};k.td=function(){};k.ac=function(){};k.te=function(){};k.ue=function(){};k.Rb=function(){};k.pc=function(){};k.qc=function(){};k.rc=function(){};k.sc=function(){};k.tc=function(){};k.Ac=function(){};k.Na=function(){};k.Wb=function(){};k.Ub=function(){};function Uh(a,b,c,d,e){this.g=a;this.v=b;this.c=c;this.O=d;this.Gb=e;this.N=this.b=this.a=this.$a=this.Z=this.I=null;this.ea=this.T=this.o=this.G=this.C=this.A=0;this.fa=!1;this.i=this.mb=0;this.na=!1;this.qa=0;this.Fa=\"\";this.Ja=this.$b=0;this.Ha=!1;this.j=this.Va=0;this.ta=this.l=this.f=null;this.u=[];this.yb=yh()}u(Uh,Th);\nfunction Vh(a,b,c){if(a.N){b=mf(b,0,c,2,a.O,a.u);c=a.g;var d=a.yb,e=c.globalAlpha;1!=a.o&&(c.globalAlpha=e*a.o);var f=a.mb;a.fa&&(f+=a.Gb);var g,h;g=0;for(h=b.length;gradius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}\"}\nu(li,ji);var mi=new li;\nfunction ni(){this.b=\"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;if(f==0.0){offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}\"}\nu(ni,ki);var oi=new ni;function pi(a,b){this.G=a.getUniformLocation(b,\"n\");this.qa=a.getUniformLocation(b,\"k\");this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ta=a.getUniformLocation(b,\"l\");this.g=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"p\");this.Z=a.getUniformLocation(b,\"o\");this.j=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\");this.O=a.getAttribLocation(b,\"g\")};function qi(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ri(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};function si(a,b){this.origin=kb(b);this.Gb=yh();this.Va=yh();this.yb=yh();this.Ja=qi();this.b=[];this.o=null;this.g=[];this.f=[];this.a=[];this.u=null;this.j=void 0}u(si,Th);\nsi.prototype.i=function(a,b,c,d,e,f,g,h,l,m,n){var p=a.b,q,r,v,x,y,A,B,aa;this.j&&(q=p.isEnabled(p.STENCIL_TEST),r=p.getParameter(p.STENCIL_FUNC),v=p.getParameter(p.STENCIL_VALUE_MASK),x=p.getParameter(p.STENCIL_REF),y=p.getParameter(p.STENCIL_WRITEMASK),A=p.getParameter(p.STENCIL_FAIL),B=p.getParameter(p.STENCIL_PASS_DEPTH_PASS),aa=p.getParameter(p.STENCIL_PASS_DEPTH_FAIL),p.enable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilMask(255),p.stencilFunc(p.ALWAYS,1,255),p.stencilOp(p.KEEP,p.KEEP,\np.REPLACE),this.j.i(a,b,c,d,e,f,g,h,l,m,n),p.stencilMask(0),p.stencilFunc(p.NOTEQUAL,1,255));ti(a,34962,this.u);ti(a,34963,this.o);f=this.qf(p,a,e,f);var Ra=zh(this.Gb);Fh(Ra,2/(c*e[0]),2/(c*e[1]));Eh(Ra,-d);Gh(Ra,-(b[0]-this.origin[0]),-(b[1]-this.origin[1]));b=zh(this.yb);Fh(b,2/e[0],2/e[1]);e=zh(this.Va);d&&Eh(e,-d);p.uniformMatrix4fv(f.g,!1,ri(this.Ja,Ra));p.uniformMatrix4fv(f.i,!1,ri(this.Ja,b));p.uniformMatrix4fv(f.c,!1,ri(this.Ja,e));p.uniform1f(f.a,g);var ra;l?(m?a=this.ve(p,a,h,l,n):(p.clear(p.COLOR_BUFFER_BIT|\np.DEPTH_BUFFER_BIT),this.Pd(p,a,h,!0),a=(a=l(null))?a:void 0),ra=a):this.Pd(p,a,h,!1);this.rf(p,f);this.j&&(q||p.disable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilFunc(r,x,v),p.stencilMask(y),p.stencilOp(A,aa,B));return ra};function ui(a,b,c,d){a.drawElements(4,d-c,b.f?5125:5123,c*(b.f?4:2))};var vi=[0,0,0,1],wi=[],xi=[0,0,0,1];function yi(a,b,c,d,e,f){a=(c-a)*(f-b)-(e-a)*(d-b);return a<=zi&&a>=-zi?void 0:0h;h+=d)this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=0,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=1,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=2,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+\n1],this.a[e++]=3,this.a[e++]=this.A,this.b[f++]=g,this.b[f++]=g+1,this.b[f++]=g+2,this.b[f++]=g+2,this.b[f++]=g+3,this.b[f++]=g,g+=4}else this.c.s&&(this.l.pop(),this.l.length&&(d=this.l[this.l.length-1],this.c.fillColor=d[0],this.c.strokeColor=d[1],this.c.lineWidth=d[2],this.c.s=!1))};k.Bb=function(){this.u=new Ai(this.a);this.o=new Ai(this.b);this.g.push(this.b.length);!this.O.length&&0=g;)m=this.g[l],h=this.f[l],h=w(h).toString(),c[h]&&(e!==f&&ui(a,b,e,f),f=m),l--,e=m;e!==f&&ui(a,b,e,f);e=f=g}}};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.O.length-1;0<=f;--f)for(g=this.l[f],a.uniform4fv(this.v.G,g[0]),Fi(this,a,g[1],g[2]),l=this.O[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};function Fi(a,b,c,d){b.uniform4fv(a.v.Z,c);b.uniform1f(a.v.qa,d)}\nk.Na=function(a,b){var c,d;b?(c=b.g,this.c.lineDash=c?c:wi,c=b.f,this.c.lineDashOffset=c?c:0,c=b.a,c instanceof CanvasGradient||c instanceof CanvasPattern?c=xi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||xi,d=b.c,d=void 0!==d?d:1):(c=[0,0,0,0],d=0);var e=a?a.b:[0,0,0,0];e instanceof CanvasGradient||e instanceof CanvasPattern?e=vi:e=bd(e).map(function(a,b){return 3!=b?a/255:a})||vi;this.c.strokeColor&&ja(this.c.strokeColor,c)&&this.c.fillColor&&ja(this.c.fillColor,e)&&this.c.lineWidth===d||(this.c.s=\n!0,this.c.fillColor=e,this.c.strokeColor=c,this.c.lineWidth=d,this.l.push([e,c,d]))};function Gi(){this.b=\"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(Gi,ji);var Hi=new Gi;\nfunction Ii(){this.b=\"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}\"}u(Ii,ki);var Ji=new Ii;\nfunction Ki(a,b){this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"k\");this.g=a.getUniformLocation(b,\"h\");this.u=a.getAttribLocation(b,\"e\");this.v=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"c\");this.A=a.getAttribLocation(b,\"g\");this.C=a.getAttribLocation(b,\"d\")};function Li(a,b){this.j=a;this.b=b;this.a={};this.c={};this.g={};this.o=this.u=this.i=this.l=null;(this.f=fa(da,\"OES_element_index_uint\"))&&b.getExtension(\"OES_element_index_uint\");z(this.j,\"webglcontextlost\",this.No,this);z(this.j,\"webglcontextrestored\",this.Oo,this)}u(Li,Jc);\nfunction ti(a,b,c){var d=a.b,e=c.b,f=String(w(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.f?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,c.a);a.a[f]={nc:c,buffer:g}}}function Di(a,b){var c=a.b,d=String(w(b)),e=a.a[d];c.isContextLost()||c.deleteBuffer(e.buffer);delete a.a[d]}k=Li.prototype;\nk.ra=function(){Ic(this.j);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.g)a.deleteProgram(this.g[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.i);a.deleteRenderbuffer(this.o);a.deleteTexture(this.u)}};k.Mo=function(){return this.b};\nfunction Mi(a){if(!a.i){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=Ni(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.i=c;\na.u=d;a.o=e}return a.i}function Oi(a,b){var c=String(w(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.S());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function Ei(a,b,c){var d=w(b)+\"/\"+w(c);if(d in a.g)return a.g[d];var e=a.b,f=e.createProgram();e.attachShader(f,Oi(a,b));e.attachShader(f,Oi(a,c));e.linkProgram(f);return a.g[d]=f}k.No=function(){rb(this.a);rb(this.c);rb(this.g);this.o=this.u=this.i=this.l=null};k.Oo=function(){};\nk.Vc=function(a){if(a==this.l)return!1;this.b.useProgram(a);this.l=a;return!0};function Pi(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function Ni(a,b,c){var d=Pi(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}\nfunction Qi(a,b){var c=Pi(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function Ri(a,b){si.call(this,0,b);this.G=this.C=void 0;this.A=[];this.v=[];this.ta=void 0;this.l=[];this.c=[];this.Z=this.I=void 0;this.qa=null;this.na=this.mb=this.fa=this.ea=this.T=this.$a=void 0;this.Ha=[];this.O=[];this.$b=void 0}u(Ri,si);k=Ri.prototype;k.Cb=function(a){var b=this.u,c=this.o,d=this.Ha,e=this.O,f=a.b;return function(){if(!f.isContextLost()){var g,h;g=0;for(h=d.length;g=g;){h=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,h,l),l=d(m)))return l;l=h;p--}};\nk.Wb=function(a){var b=a.Jc(),c=a.Y(1),d=a.ye(),e=a.kg(1),f=a.f,g=a.Tc(),h=a.o,l=a.j,m=a.kc();a=a.c;var n;this.l.length?(n=this.l[this.l.length-1],w(n)!=w(c)&&(this.A.push(this.b.length),this.l.push(c))):this.l.push(c);this.c.length?(n=this.c[this.c.length-1],w(n)!=w(e)&&(this.v.push(this.b.length),this.c.push(e))):this.c.push(e);this.C=b[0];this.G=b[1];this.ta=m[1];this.I=d[1];this.Z=d[0];this.$a=f;this.T=g[0];this.ea=g[1];this.mb=l;this.fa=h;this.na=a;this.$b=m[0]};function Ui(a,b,c){var d=b-c;return a[0]===a[d]&&a[1]===a[d+1]&&3<(b-0)/c?!!sf(a,0,b,c):!1};function Vi(){this.b=\"precision mediump float;varying float a;varying vec2 b;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((b.x+1.0)/2.0*o.x*p,(b.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(Vi,ji);var Wi=new Vi;\nfunction Xi(){this.b=\"varying float a;varying vec2 b;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;b=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}\"}\nu(Xi,ki);var Yi=new Xi;function Zi(a,b){this.G=a.getUniformLocation(b,\"n\");this.qa=a.getUniformLocation(b,\"k\");this.Z=a.getUniformLocation(b,\"l\");this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ta=a.getUniformLocation(b,\"p\");this.g=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"o\");this.f=a.getAttribLocation(b,\"g\");this.l=a.getAttribLocation(b,\"d\");this.o=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\")};function $i(a,b){si.call(this,0,b);this.v=null;this.O=[];this.l=[];this.c={strokeColor:null,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0,s:!1}}u($i,si);\nfunction aj(a,b,c,d){var e,f=a.a.length,g=a.b.length,h=\"bevel\"===a.c.lineJoin?0:\"miter\"===a.c.lineJoin?1:2,l=\"butt\"===a.c.lineCap?0:\"square\"===a.c.lineCap?1:2,m=Ui(b,c,d),n,p,q,r=g,v=1,x,y,A;for(e=0;ec&&(this.g.push(c),this.f.push(b),this.c.s&&(this.l.push(c),this.c.s=!1))};\nfunction lj(a,b,c,d){Ui(b,b.length,d)||(b.push(b[0]),b.push(b[1]));aj(a,b,b.length,d);if(c.length){var e;b=0;for(e=c.length;b=m;)q=this.g[p],\nn=this.f[p],n=w(n).toString(),c[n]&&(h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT)),l=q),p--,h=q;h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT));h=l=m}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.l.length-1;0<=f;--f)for(g=this.O[f],nj(this,a,g[0],g[1],g[2]),l=this.l[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};function nj(a,b,c,d,e){b.uniform4fv(a.v.G,c);b.uniform1f(a.v.qa,d);b.uniform1f(a.v.Z,e)}\nk.Na=function(a,b){var c=b.i;this.c.lineCap=void 0!==c?c:\"round\";c=b.g;this.c.lineDash=c?c:wi;c=b.f;this.c.lineDashOffset=c?c:0;c=b.j;this.c.lineJoin=void 0!==c?c:\"round\";c=b.a;c instanceof CanvasGradient||c instanceof CanvasPattern?c=xi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||xi;var d=b.c,d=void 0!==d?d:1,e=b.l,e=void 0!==e?e:10;this.c.strokeColor&&ja(this.c.strokeColor,c)&&this.c.lineWidth===d&&this.c.miterLimit===e||(this.c.s=!0,this.c.strokeColor=c,this.c.lineWidth=d,this.c.miterLimit=\ne,this.O.push([c,d,e]))};var fj=3,cj=5,ej=7,dj=11,gj=13,hj=17,ij=19,jj=23;function oj(){this.b=\"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(oj,ji);var pj=new oj;function qj(){this.b=\"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}\"}u(qj,ki);var rj=new qj;\nfunction sj(a,b){this.G=a.getUniformLocation(b,\"e\");this.c=a.getUniformLocation(b,\"d\");this.i=a.getUniformLocation(b,\"c\");this.a=a.getUniformLocation(b,\"f\");this.g=a.getUniformLocation(b,\"b\");this.b=a.getAttribLocation(b,\"a\")};function tj(a){a=a||{};this.a=void 0!==a.color?a.color:null;this.i=a.lineCap;this.g=void 0!==a.lineDash?a.lineDash:null;this.f=a.lineDashOffset;this.j=a.lineJoin;this.l=a.miterLimit;this.c=a.width;this.b=void 0}k=tj.prototype;k.clone=function(){var a=this.a;return new tj({color:a&&a.slice?a.slice():a||void 0,lineCap:this.i,lineDash:this.g?this.g.slice():void 0,lineDashOffset:this.f,lineJoin:this.j,miterLimit:this.l,width:this.c})};k.Do=function(){return this.a};k.Qk=function(){return this.i};\nk.Eo=function(){return this.g};k.Rk=function(){return this.f};k.Sk=function(){return this.j};k.Xk=function(){return this.l};k.Fo=function(){return this.c};k.Go=function(a){this.a=a;this.b=void 0};k.Rp=function(a){this.i=a;this.b=void 0};k.setLineDash=function(a){this.g=a;this.b=void 0};k.Sp=function(a){this.f=a;this.b=void 0};k.Tp=function(a){this.j=a;this.b=void 0};k.Wp=function(a){this.l=a;this.b=void 0};k.Zp=function(a){this.c=a;this.b=void 0};function uj(a){this.b=this.a=this.g=void 0;this.i=void 0===a?!0:a;this.c=0}function vj(a){var b=a.b;if(b){var c=b.next,d=b.ub;c&&(c.ub=d);d&&(d.next=c);a.b=c||d;a.g===a.a?(a.b=void 0,a.g=void 0,a.a=void 0):a.g===b?a.g=a.b:a.a===b&&(a.a=d?a.b.ub:a.b);a.c--}}function wj(a){a.b=a.g;if(a.b)return a.b.data}function xj(a){if(a.b&&a.b.next)return a.b=a.b.next,a.b.data}function yj(a){if(a.b&&a.b.next)return a.b.next.data}function zj(a){if(a.b&&a.b.ub)return a.b=a.b.ub,a.b.data}\nfunction Aj(a){if(a.b&&a.b.ub)return a.b.ub.data}function Bj(a){if(a.b)return a.b.data}uj.prototype.concat=function(a){if(a.b){if(this.b){var b=this.b.next;this.b.next=a.g;a.g.ub=this.b;b.ub=a.a;a.a.next=b;this.c+=a.c}else this.b=a.b,this.g=a.g,this.a=a.a,this.c=a.c;a.b=void 0;a.g=void 0;a.a=void 0;a.c=0}};var Cj,Dj,Ej,Fj;\n(function(){var a={},b={ma:a};(function(c){if(\"object\"===typeof a&&\"undefined\"!==typeof b)b.ma=c();else{var d;\"undefined\"!==typeof window?d=window:\"undefined\"!==typeof global?d=global:\"undefined\"!==typeof self?d=self:d=this;d.Dq=c()}})(function(){return function d(a,b,g){function e(h,l){if(!b[h]){if(!a[h]){var m=\"function\"==typeof require&&require;if(!l&&m)return m(h,!0);if(f)return f(h,!0);m=Error(\"Cannot find module '\"+h+\"'\");throw m.code=\"MODULE_NOT_FOUND\",m;}m=b[h]={ma:{}};a[h][0].call(m.ma,function(b){var d=\na[h][1][b];return e(d?d:b)},m,m.ma,d,a,b,g)}return b[h].ma}for(var f=\"function\"==typeof require&&require,m=0;mf;){if(600m-l/2?-1:1);d(a,b,Math.max(f,Math.floor(b-m*n/l+p)),Math.min(g,Math.floor(b+(l-m)*n/l+p)),q)}l=a[b];m=f;n=g;e(a,f,b);for(0q(a[m],l);)m++;\nfor(;0b?1:0}b.ma=d},{}],2:[function(a,b){function d(a,b){if(!(this instanceof d))return new d(a,b);this.Df=Math.max(4,a||9);this.Xg=Math.max(2,Math.ceil(.4*this.Df));b&&this.ak(b);this.clear()}function e(a,b){h(a,0,a.children.length,b,a)}function h(a,b,d,e,f){f||(f=x(null));f.da=Infinity;f.ga=Infinity;f.ba=-Infinity;f.ja=-Infinity;for(var g;b<\nd;b++)g=a.children[b],l(f,a.gb?e(g):g);return f}function l(a,b){a.da=Math.min(a.da,b.da);a.ga=Math.min(a.ga,b.ga);a.ba=Math.max(a.ba,b.ba);a.ja=Math.max(a.ja,b.ja)}function m(a,b){return a.da-b.da}function n(a,b){return a.ga-b.ga}function p(a){return(a.ba-a.da)*(a.ja-a.ga)}function q(a){return a.ba-a.da+(a.ja-a.ga)}function r(a,b){return a.da<=b.da&&a.ga<=b.ga&&b.ba<=a.ba&&b.ja<=a.ja}function v(a,b){return b.da<=a.ba&&b.ga<=a.ja&&b.ba>=a.da&&b.ja>=a.ga}function x(a){return{children:a,height:1,gb:!0,\nda:Infinity,ga:Infinity,ba:-Infinity,ja:-Infinity}}function y(a,b,d,e,f){for(var g=[b,d],h;g.length;)d=g.pop(),b=g.pop(),d-b<=e||(h=b+Math.ceil((d-b)/e/2)*e,A(a,h,b,d,f),g.push(b,h,h,d))}b.ma=d;var A=a(\"quickselect\");d.prototype={all:function(){return this.Sg(this.data,[])},search:function(a){var b=this.data,d=[],e=this.xb;if(!v(a,b))return d;for(var f=[],g,h,l,m;b;){g=0;for(h=b.children.length;gthis.Df)this.fk(e,b),b--;else break;this.Vj(d,\ne,b)},fk:function(a,b){var d=a[b],f=d.children.length,g=this.Xg;this.Wj(d,g,f);f=this.Xj(d,g,f);f=x(d.children.splice(f,d.children.length-f));f.height=d.height;f.gb=d.gb;e(d,this.xb);e(f,this.xb);b?a[b-1].children.push(f):this.Zg(d,f)},Zg:function(a,b){this.data=x([a,b]);this.data.height=a.height+1;this.data.gb=!1;e(this.data,this.xb)},Xj:function(a,b,d){var e,f,g,l,m,n,q;m=n=Infinity;for(e=b;e<=d-b;e++)f=h(a,0,e,this.xb),g=h(a,e,d,this.xb),l=Math.max(0,Math.min(f.ba,g.ba)-Math.max(f.da,g.da))*Math.max(0,\nMath.min(f.ja,g.ja)-Math.max(f.ga,g.ga)),f=p(f)+p(g),l=b;n--)p=a.children[n],l(g,a.gb?e(p):p),m+=q(g);return m},Vj:function(a,b,d){for(;0<=d;d--)l(b[d],a)},\nZj:function(a){for(var b=a.length-1,d;0<=b;b--)0===a[b].children.length?0f?b[g]:f,n=p;else for(g=b.length-c,n=m=Sj(a,b[g],b[g+1],l++),f=b[g],g-=c,h=0;g>=h;g-=c)p=Sj(a,b[g],b[g+1],l++),r.push(Tj(n,p,d)),q.push([Math.min(n.x,p.x),Math.min(n.y,p.y),Math.max(n.x,p.x),Math.max(n.y,p.y)]),f=b[g]>f?b[g]:\nf,n=p;r.push(Tj(p,m,d));q.push([Math.min(n.x,p.x),Math.min(n.y,p.y),Math.max(n.x,p.x),Math.max(n.y,p.y)]);e.load(q,r);return f}function Qj(a,b,c){var d=wj(a),e=d,f=xj(a),g=!1;do{var h=c?yi(f.X.x,f.X.y,e.X.x,e.X.y,e.aa.x,e.aa.y):yi(e.aa.x,e.aa.y,e.X.x,e.X.y,f.X.x,f.X.y);void 0===h?(Uj(e,f,a,b),g=!0,f===d&&(d=yj(a)),f=e,zj(a)):e.X.vb!==h&&(e.X.vb=h,g=!0);e=f;f=xj(a)}while(e!==d);return g}\nfunction Pj(a,b,c,d,e){Qj(a,e,!0);for(var f=wj(a);f.X.x!==b;)f=xj(a);b=f.X;d={x:d,y:b.y,fb:-1};var g=Infinity,h,l,m,n;m=Vj({aa:b,X:d},e,!0);h=0;for(l=m.length;hzi&&d<1-zi&&c>zi&&c<1-zi||e&&0<=d&&1>=d&&0<=c&&1>=c))return[a.x+d*(b.x-a.x),a.y+d*(b.y-a.y)]}\nfunction bk(a,b,c,d,e){if(void 0===b.vb||void 0===d.vb)return!1;var f=(c.x-d.x)*(b.y-d.y)>(c.y-d.y)*(b.x-d.x);e=(e.x-d.x)*(b.y-d.y)<(e.y-d.y)*(b.x-d.x);a=(a.x-b.x)*(d.y-b.y)>(a.y-b.y)*(d.x-b.x);c=(c.x-b.x)*(d.y-b.y)<(c.y-b.y)*(d.x-b.x);b=b.vb?c||a:c&&a;return(d.vb?e||f:e&&f)&&b}k=Mj.prototype;\nk.rc=function(a,b){var c=a.md(),d=a.sa(),e=this.b.length,f=this.j.b.length,g,h,l,m;g=0;for(h=c.length;ge&&(this.g.push(e),this.f.push(b),this.l.s&&(this.c.push(e),this.l.s=!1));this.j.b.length>f&&mj(this.j,b,f)};\nk.tc=function(a,b){var c=a.Oc(),d=a.sa();if(0=m;)q=this.g[p],n=this.f[p],n=w(n).toString(),\nc[n]&&(h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT)),l=q),p--,h=q;h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT));h=l=m}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.c.length-1;0<=f;--f)for(g=this.O[f],a.uniform4fv(this.v.G,g),l=this.c[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};\nk.Na=function(a,b){var c=a?a.b:[0,0,0,0];c instanceof CanvasGradient||c instanceof CanvasPattern?c=vi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||vi;this.l.fillColor&&ja(c,this.l.fillColor)||(this.l.fillColor=c,this.l.s=!0,this.O.push(c));b?this.j.Na(null,b):this.j.Na(null,new tj({color:[0,0,0,0],lineWidth:0}))};function ck(){}ck.prototype.i=function(){};function dk(a,b,c){this.f=b;this.j=a;this.c=c;this.a={}}u(dk,hi);function ek(a,b){var c=[],d;for(d in a.a){var e=a.a[d],f;for(f in e)c.push(e[f].Cb(b))}return function(){for(var a=c.length,b,d=0;dd?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||\n(c=a.$().za(),c=a.Ka(c),b=[c[0]+b[0],c[1]+b[1]],a.$().animate({center:a.Xa(b),duration:this.j.duration,easing:this.j.easing}))}}};k.Ll=function(){yk(this)};k.gj=function(a){this.set(tk,a)};k.setMap=function(a){this.set(uk,a)};k.nj=function(a){this.set(vk,a)};k.Me=function(a){this.set(wk,a)};function zk(a,b){var c=a.getBoundingClientRect(),d=c.left+window.pageXOffset,c=c.top+window.pageYOffset;return[d,c,d+b[0],c+b[1]]}k.qj=function(a){this.set(xk,a)};\nfunction Ak(a,b){a.a.visible!==b&&(a.c.style.display=b?\"\":\"none\",a.a.visible=b)}\nfunction yk(a){var b=a.Le(),c=a.Rh();if(b&&b.a&&c){var c=b.Ka(c),d=b.Nb(),b=a.c.style,e=a.wh(),f=a.xh();Ak(a,!0);var g=e[0],e=e[1];if(\"bottom-right\"==f||\"center-right\"==f||\"top-right\"==f)\"\"!==a.a.He&&(a.a.He=b.left=\"\"),g=Math.round(d[0]-c[0]-g)+\"px\",a.a.lf!=g&&(a.a.lf=b.right=g);else{\"\"!==a.a.lf&&(a.a.lf=b.right=\"\");if(\"bottom-center\"==f||\"center-center\"==f||\"top-center\"==f)g-=a.c.offsetWidth/2;g=Math.round(c[0]+g)+\"px\";a.a.He!=g&&(a.a.He=b.left=g)}if(\"bottom-left\"==f||\"bottom-center\"==f||\"bottom-right\"==\nf)\"\"!==a.a.uf&&(a.a.uf=b.top=\"\"),c=Math.round(d[1]-c[1]-e)+\"px\",a.a.re!=c&&(a.a.re=b.bottom=c);else{\"\"!==a.a.re&&(a.a.re=b.bottom=\"\");if(\"center-left\"==f||\"center-center\"==f||\"center-right\"==f)e-=a.c.offsetHeight/2;c=Math.round(c[1]+e)+\"px\";a.a.uf!=c&&(a.a.uf=b.top=c)}}else Ak(a,!1)}var tk=\"element\",uk=\"map\",vk=\"offset\",wk=\"position\",xk=\"positioning\";function Bk(a){function b(a){a=h.Of(a);l.a.$().lb(a);window.removeEventListener(\"mousemove\",c);window.removeEventListener(\"mouseup\",b)}function c(a){a=h.Of({clientX:a.clientX-n.offsetWidth/2,clientY:a.clientY+n.offsetHeight/2});m.Me(a)}a=a?a:{};this.j=void 0!==a.collapsed?a.collapsed:!0;this.l=void 0!==a.collapsible?a.collapsible:!0;this.l||(this.j=!1);var d=void 0!==a.className?a.className:\"ol-overviewmap\",e=void 0!==a.tipLabel?a.tipLabel:\"Overview map\",f=void 0!==a.collapseLabel?a.collapseLabel:\n\"\\u00ab\";\"string\"===typeof f?(this.v=document.createElement(\"span\"),this.v.textContent=f):this.v=f;f=void 0!==a.label?a.label:\"\\u00bb\";\"string\"===typeof f?(this.A=document.createElement(\"span\"),this.A.textContent=f):this.A=f;var g=this.l&&!this.j?this.v:this.A,f=document.createElement(\"button\");f.setAttribute(\"type\",\"button\");f.title=e;f.appendChild(g);z(f,\"click\",this.Vm,this);this.C=document.createElement(\"DIV\");this.C.className=\"ol-overviewmap-map\";var h=this.c=new H({controls:new D,interactions:new D,\nview:a.view});a.layers&&a.layers.forEach(function(a){h.$g(a)},this);e=document.createElement(\"DIV\");e.className=\"ol-overviewmap-box\";e.style.boxSizing=\"border-box\";this.o=new sk({position:[0,0],positioning:\"bottom-left\",element:e});this.c.ah(this.o);e=document.createElement(\"div\");e.className=d+\" ol-unselectable ol-control\"+(this.j&&this.l?\" ol-collapsed\":\"\")+(this.l?\"\":\" ol-uncollapsible\");e.appendChild(this.C);e.appendChild(f);kd.call(this,{element:e,render:a.render?a.render:Ck,target:a.target});\nvar l=this,m=this.o,n=this.o.Rd();n.addEventListener(\"mousedown\",function(){window.addEventListener(\"mousemove\",c);window.addEventListener(\"mouseup\",b)})}u(Bk,kd);k=Bk.prototype;k.setMap=function(a){var b=this.a;a!==b&&(b&&((b=b.$())&&Hc(b,Sc(\"rotation\"),this.Fe,this),this.c.Ke(null)),kd.prototype.setMap.call(this,a),a&&(this.c.Ke(this.C),this.u.push(z(a,\"propertychange\",this.Fl,this)),this.c.Qh().fc()||this.c.lj(a.Mc()),a=a.$()))&&(z(a,Sc(\"rotation\"),this.Fe,this),hg(a)&&(this.c.Cd(),Dk(this)))};\nk.Fl=function(a){\"view\"===a.key&&((a=a.oldValue)&&Hc(a,Sc(\"rotation\"),this.Fe,this),a=this.a.$(),z(a,Sc(\"rotation\"),this.Fe,this))};k.Fe=function(){this.c.$().Ne(this.a.$().Sa())};function Ck(){var a=this.a,b=this.c;if(a.a&&b.a){var c=a.Nb(),a=a.$().hd(c),d=b.Nb(),c=b.$().hd(d),e=b.Ka(fb(a)),f=b.Ka(db(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?Dk(this):Ua(c,a)||(a=this.c,c=this.a.$(),a.$().lb(c.za()))}Ek(this)}\nfunction Dk(a){var b=a.a;a=a.c;var c=b.Nb(),b=b.$().hd(c);a=a.$();ob(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.Mf(b)}function Ek(a){var b=a.a,c=a.c;if(b.a&&c.a){var d=b.Nb(),e=b.$(),f=c.$(),c=e.Sa(),b=a.o,g=a.o.Rd(),h=e.hd(d),d=f.Ra(),e=cb(h),f=eb(h),l;if(a=a.a.$().za())l=[e[0]-a[0],e[1]-a[1]],cf(l,c),Xe(l,a);b.Me(l);g&&(g.style.width=Math.abs((e[0]-f[0])/d)+\"px\",g.style.height=Math.abs((f[1]-e[1])/d)+\"px\")}}k.Vm=function(a){a.preventDefault();Fk(this)};\nfunction Fk(a){a.element.classList.toggle(\"ol-collapsed\");a.j?id(a.v,a.A):id(a.A,a.v);a.j=!a.j;var b=a.c;a.j||b.a||(b.Cd(),Dk(a),Gc(b,\"postrender\",function(){Ek(this)},a))}k.Um=function(){return this.l};k.Xm=function(a){this.l!==a&&(this.l=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.j&&Fk(this))};k.Wm=function(a){this.l&&this.j!==a&&Fk(this)};k.Tm=function(){return this.j};k.bl=function(){return this.c};function Gk(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-scale-line\";this.l=document.createElement(\"DIV\");this.l.className=b+\"-inner\";this.c=document.createElement(\"DIV\");this.c.className=b+\" ol-unselectable\";this.c.appendChild(this.l);this.v=null;this.o=void 0!==a.minWidth?a.minWidth:64;this.j=!1;this.C=void 0;this.A=\"\";kd.call(this,{element:this.c,render:a.render?a.render:Hk,target:a.target});z(this,Sc(Ik),this.I,this);this.G(a.units||\"metric\")}u(Gk,kd);var Jk=[1,2,5];\nGk.prototype.Kb=function(){return this.get(Ik)};function Hk(a){(a=a.frameState)?this.v=a.viewState:this.v=null;Kk(this)}Gk.prototype.I=function(){Kk(this)};Gk.prototype.G=function(a){this.set(Ik,a)};\nfunction Kk(a){var b=a.v;if(b){var c=b.projection,d=c.uc(),b=Rb(c,b.resolution,b.center)*d,d=a.o*b,c=\"\",e=a.Kb();\"degrees\"==e?(c=xb.degrees,b/=c,dd?(c=\"in\",b/=.0254):1609.344>d?(c=\"ft\",b/=.3048):(c=\"mi\",b/=1609.344):\"nautical\"==e?(b/=1852,c=\"nm\"):\"metric\"==e?.001>d?(c=\"\\u03bcm\",b*=1E6):1>d?(c=\"mm\",b*=1E3):1E3>d?c=\"m\":(c=\"km\",b/=1E3):\"us\"==e?.9144>d?(c=\"in\",b*=39.37):1609.344>d?(c=\"ft\",b/=.30480061):(c=\"mi\",b/=1609.3472):\nsa(!1,33);for(var e=3*Math.floor(Math.log(a.o*b)/Math.log(10)),f;;){f=Jk[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.c.style.display=\"none\";a.j=!1;return}if(d>=a.o)break;++e}b=f+\" \"+c;a.A!=b&&(a.l.innerHTML=b,a.A=b);a.C!=d&&(a.l.style.width=d+\"px\",a.C=d);a.j||(a.c.style.display=\"\",a.j=!0)}else a.j&&(a.c.style.display=\"none\",a.j=!1)}var Ik=\"units\";function Lk(a){a=a?a:{};this.c=void 0;this.j=Mk;this.A=this.o=0;this.I=null;this.ea=!1;this.T=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:\"ol-zoomslider\",c=document.createElement(\"button\");c.setAttribute(\"type\",\"button\");c.className=b+\"-thumb ol-unselectable\";var d=document.createElement(\"div\");d.className=b+\" ol-unselectable ol-control\";d.appendChild(c);this.l=new Ae(d);z(this.l,\"pointerdown\",this.tl,this);z(this.l,\"pointermove\",this.rl,this);z(this.l,\"pointerup\",this.sl,\nthis);z(d,\"click\",this.ql,this);z(c,\"click\",Mc);kd.call(this,{element:d,render:a.render?a.render:Nk})}u(Lk,kd);Lk.prototype.ra=function(){Kc(this.l);kd.prototype.ra.call(this)};var Mk=0;k=Lk.prototype;k.setMap=function(a){kd.prototype.setMap.call(this,a);a&&a.render()};\nfunction Nk(a){if(a.frameState){if(!this.ea){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.I=[b,e];c>d?(this.j=1,this.A=c-b):(this.j=Mk,this.o=d-e);this.ea=!0}a=a.frameState.viewState.resolution;a!==this.c&&(this.c=a,Ok(this,a))}}\nk.ql=function(a){var b=this.a.$();a=Pk(this,xa(1===this.j?(a.offsetX-this.I[0]/2)/this.A:(a.offsetY-this.I[1]/2)/this.o,0,1));b.animate({resolution:b.constrainResolution(a),duration:this.T,easing:pd})};k.tl=function(a){this.v||a.b.target!==this.element.firstElementChild||($f(this.a.$(),1,1),this.C=a.clientX,this.G=a.clientY,this.v=!0)};\nk.rl=function(a){if(this.v){var b=this.element.firstElementChild;this.c=Pk(this,xa(1===this.j?(a.clientX-this.C+parseInt(b.style.left,10))/this.A:(a.clientY-this.G+parseInt(b.style.top,10))/this.o,0,1));this.a.$().$c(this.c);Ok(this,this.c);this.C=a.clientX;this.G=a.clientY}};k.sl=function(){if(this.v){var a=this.a.$();$f(a,1,-1);a.animate({resolution:a.constrainResolution(this.c),duration:this.T,easing:pd});this.v=!1;this.G=this.C=void 0}};\nfunction Ok(a,b){var c;c=1-gg(a.a.$())(b);var d=a.element.firstElementChild;1==a.j?d.style.left=a.A*c+\"px\":d.style.top=a.o*c+\"px\"}function Pk(a,b){return fg(a.a.$())(1-b)};function Qk(a){a=a?a:{};this.c=a.extent?a.extent:null;var b=void 0!==a.className?a.className:\"ol-zoom-extent\",c=void 0!==a.label?a.label:\"E\",d=void 0!==a.tipLabel?a.tipLabel:\"Fit to extent\",e=document.createElement(\"button\");e.setAttribute(\"type\",\"button\");e.title=d;e.appendChild(\"string\"===typeof c?document.createTextNode(c):c);z(e,\"click\",this.j,this);c=document.createElement(\"div\");c.className=b+\" ol-unselectable ol-control\";c.appendChild(e);kd.call(this,{element:c,target:a.target})}u(Qk,kd);\nQk.prototype.j=function(a){a.preventDefault();a=this.a.$();var b=this.c?this.c:a.o.D();a.Mf(b)};function Rk(a){Qc.call(this);a=a?a:{};this.a=null;z(this,Sc(Sk),this.rm,this);this.bg(void 0!==a.tracking?a.tracking:!1)}u(Rk,Qc);k=Rk.prototype;k.ra=function(){this.bg(!1);Qc.prototype.ra.call(this)};\nk.Ro=function(a){if(null!==a.alpha){var b=Ca(a.alpha);this.set(Tk,b);\"boolean\"===typeof a.absolute&&a.absolute?this.set(Uk,b):\"number\"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set(Uk,Ca(a.webkitCompassHeading))}null!==a.beta&&this.set(Vk,Ca(a.beta));null!==a.gamma&&this.set(Wk,Ca(a.gamma));this.s()};k.Bk=function(){return this.get(Tk)};k.Ek=function(){return this.get(Vk)};k.Kk=function(){return this.get(Wk)};k.qm=function(){return this.get(Uk)};k.Mh=function(){return this.get(Sk)};\nk.rm=function(){if(Wd){var a=this.Mh();a&&!this.a?this.a=z(window,\"deviceorientation\",this.Ro,this):a||null===this.a||(Bc(this.a),this.a=null)}};k.bg=function(a){this.set(Sk,a)};var Tk=\"alpha\",Vk=\"beta\",Wk=\"gamma\",Uk=\"heading\",Sk=\"tracking\";function Xk(a){this.f=a.opacity;this.o=a.rotateWithView;this.j=a.rotation;this.c=a.scale;this.u=a.snapToPixel}k=Xk.prototype;k.Ye=function(){return this.f};k.Ze=function(){return this.o};k.$e=function(){return this.j};k.af=function(){return this.c};k.ze=function(){return this.u};k.vd=function(a){this.f=a};k.bf=function(a){this.j=a};k.wd=function(a){this.c=a};function Yk(a){this.A=this.v=this.i=null;this.Wa=void 0!==a.fill?a.fill:null;this.qa=[0,0];this.b=a.points;this.a=void 0!==a.radius?a.radius:a.radius1;this.g=void 0!==a.radius2?a.radius2:this.a;this.l=void 0!==a.angle?a.angle:0;this.Za=void 0!==a.stroke?a.stroke:null;this.G=this.ta=this.C=null;this.O=a.atlasManager;Zk(this,this.O);Xk.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?\na.snapToPixel:!0})}u(Yk,Xk);k=Yk.prototype;k.clone=function(){var a=new Yk({fill:this.Ca()?this.Ca().clone():void 0,points:this.g!==this.a?this.b/2:this.b,radius:this.a,radius2:this.g,angle:this.l,snapToPixel:this.u,stroke:this.Da()?this.Da().clone():void 0,rotation:this.j,rotateWithView:this.o,atlasManager:this.O});a.vd(this.f);a.wd(this.c);return a};k.Jc=function(){return this.C};k.Ji=function(){return this.l};k.Ca=function(){return this.Wa};k.kg=function(){return this.A};k.Y=function(){return this.v};\nk.ye=function(){return this.G};k.Xe=function(){return 2};k.Tc=function(){return this.qa};k.Ki=function(){return this.b};k.Li=function(){return this.a};k.yh=function(){return this.g};k.kc=function(){return this.ta};k.Da=function(){return this.Za};k.Gh=function(){};k.load=function(){};k.xj=function(){};\nfunction Zk(a,b){var c,d=\"\",e=\"\",f=0,g=null,h,l=0;a.Za&&(h=a.Za.a,null===h&&(h=Rh),h=fd(h),l=a.Za.c,void 0===l&&(l=1),g=a.Za.g,Ud||(g=null),e=a.Za.j,void 0===e&&(e=\"round\"),d=a.Za.i,void 0===d&&(d=\"round\"),f=a.Za.l,void 0===f&&(f=10));var m=2*(a.a+l)+1,d={strokeStyle:h,vj:l,size:m,lineCap:d,lineDash:g,lineJoin:e,miterLimit:f};void 0===b?(e=hd(m,m),a.v=e.canvas,c=m=a.v.width,a.jh(d,e,0,0),a.Wa?a.A=a.v:(e=hd(d.size,d.size),a.A=e.canvas,a.ih(d,e,0,0))):(m=Math.round(m),(e=!a.Wa)&&(c=a.ih.bind(a,d)),\na.Za?(f=a.Za,void 0===f.b&&(f.b=\"s\",f.b=f.a?\"string\"===typeof f.a?f.b+f.a:f.b+w(f.a).toString():f.b+\"-\",f.b+=\",\"+(void 0!==f.i?f.i.toString():\"-\")+\",\"+(f.g?f.g.toString():\"-\")+\",\"+(void 0!==f.f?f.f:\"-\")+\",\"+(void 0!==f.j?f.j:\"-\")+\",\"+(void 0!==f.l?f.l.toString():\"-\")+\",\"+(void 0!==f.c?f.c.toString():\"-\")),f=f.b):f=\"-\",a.Wa?(g=a.Wa,void 0===g.a&&(g.a=g.b instanceof CanvasPattern||g.b instanceof CanvasGradient?w(g.b).toString():\"f\"+(g.b?dd(g.b):\"-\")),g=g.a):g=\"-\",a.i&&f==a.i[1]&&g==a.i[2]&&a.a==a.i[3]&&\na.g==a.i[4]&&a.l==a.i[5]&&a.b==a.i[6]||(a.i=[\"r\"+f+g+(void 0!==a.a?a.a.toString():\"-\")+(void 0!==a.g?a.g.toString():\"-\")+(void 0!==a.l?a.l.toString():\"-\")+(void 0!==a.b?a.b.toString():\"-\"),f,g,a.a,a.g,a.l,a.b]),d=b.add(a.i[0],m,m,a.jh.bind(a,d),c),a.v=d.image,a.qa=[d.offsetX,d.offsetY],c=d.image.width,a.A=e?d.Ul:a.v);a.C=[m/2,m/2];a.ta=[m,m];a.G=[c,c]}\nk.jh=function(a,b,c,d){var e;b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();if(Infinity===this.b)b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);else for(this.g!==this.a&&(this.b*=2),c=0;c<=this.b;c++)d=2*c*Math.PI/this.b-Math.PI/2+this.l,e=c%2?this.g:this.a,b.lineTo(a.size/2+e*Math.cos(d),a.size/2+e*Math.sin(d));this.Wa&&(c=this.Wa.b,null===c&&(c=Ph),b.fillStyle=fd(c),b.fill());this.Za&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.vj,a.lineDash&&b.setLineDash(a.lineDash),b.lineCap=a.lineCap,\nb.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};\nk.ih=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();if(Infinity===this.b)b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);else{this.g!==this.a&&(this.b*=2);var e;for(c=0;c<=this.b;c++)e=2*c*Math.PI/this.b-Math.PI/2+this.l,d=c%2?this.g:this.a,b.lineTo(a.size/2+d*Math.cos(e),a.size/2+d*Math.sin(e))}b.fillStyle=Ph;b.fill();this.Za&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.vj,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function $k(a){a=a||{};Yk.call(this,{points:Infinity,fill:a.fill,radius:a.radius,snapToPixel:a.snapToPixel,stroke:a.stroke,atlasManager:a.atlasManager})}u($k,Yk);$k.prototype.clone=function(){var a=new $k({fill:this.Ca()?this.Ca().clone():void 0,stroke:this.Da()?this.Da().clone():void 0,radius:this.a,snapToPixel:this.u,atlasManager:this.O});a.vd(this.f);a.wd(this.c);return a};$k.prototype.Zc=function(a){this.a=a;Zk(this,this.O)};function al(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}al.prototype.clone=function(){var a=this.b;return new al({color:a&&a.slice?a.slice():a||void 0})};al.prototype.g=function(){return this.b};al.prototype.c=function(a){this.b=a;this.a=void 0};function bl(a){a=a||{};this.Ic=null;this.Qa=cl;void 0!==a.geometry&&this.Ta(a.geometry);this.Wa=void 0!==a.fill?a.fill:null;this.N=void 0!==a.image?a.image:null;this.Za=void 0!==a.stroke?a.stroke:null;this.Fa=void 0!==a.text?a.text:null;this.Bj=a.zIndex}k=bl.prototype;\nk.clone=function(){var a=this.U();a&&a.clone&&(a=a.clone());return new bl({geometry:a,fill:this.Ca()?this.Ca().clone():void 0,image:this.Y()?this.Y().clone():void 0,stroke:this.Da()?this.Da().clone():void 0,text:this.Oa()?this.Oa().clone():void 0,zIndex:this.Aa()})};k.U=function(){return this.Ic};k.Lk=function(){return this.Qa};k.Ca=function(){return this.Wa};k.mf=function(a){this.Wa=a};k.Y=function(){return this.N};k.Hg=function(a){this.N=a};k.Da=function(){return this.Za};\nk.nf=function(a){this.Za=a};k.Oa=function(){return this.Fa};k.pf=function(a){this.Fa=a};k.Aa=function(){return this.Bj};k.Ta=function(a){\"function\"===typeof a?this.Qa=a:\"string\"===typeof a?this.Qa=function(b){return b.get(a)}:a?a&&(this.Qa=function(){return a}):this.Qa=cl;this.Ic=a};k.Xb=function(a){this.Bj=a};function dl(a){if(\"function\"!==typeof a){var b;Array.isArray(a)?b=a:(sa(a instanceof bl,41),b=[a]);a=function(){return b}}return a}var el=null;\nfunction fl(){if(!el){var a=new al({color:\"rgba(255,255,255,0.4)\"}),b=new tj({color:\"#3399CC\",width:1.25});el=[new bl({image:new $k({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return el}\nfunction gl(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new bl({fill:new al({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new bl({stroke:new tj({color:b,width:5})}),new bl({stroke:new tj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new bl({image:new $k({radius:6,fill:new al({color:c}),stroke:new tj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,\na.Point);return a}function cl(a){return a.U()};function I(a){Qc.call(this);this.a=void 0;this.c=\"geometry\";this.f=null;this.j=void 0;this.i=null;z(this,Sc(this.c),this.De,this);void 0!==a&&(a instanceof lf||!a?this.Ta(a):this.H(a))}u(I,Qc);k=I.prototype;k.clone=function(){var a=new I(this.M());a.Yc(this.c);var b=this.U();b&&a.Ta(b.clone());(b=this.f)&&a.cg(b);return a};k.U=function(){return this.get(this.c)};k.sm=function(){return this.a};k.Mk=function(){return this.c};k.tm=function(){return this.f};k.Rc=function(){return this.j};k.vl=function(){this.s()};\nk.De=function(){this.i&&(Bc(this.i),this.i=null);var a=this.U();a&&(this.i=z(a,\"change\",this.vl,this));this.s()};k.Ta=function(a){this.set(this.c,a)};k.cg=function(a){this.j=(this.f=a)?hl(a):void 0;this.s()};k.lc=function(a){this.a=a;this.s()};k.Yc=function(a){Hc(this,Sc(this.c),this.De,this);this.c=a;z(this,Sc(this.c),this.De,this);this.De()};\nfunction hl(a){var b;if(\"function\"===typeof a)2==a.length?b=function(b){return a(this,b)}:b=a;else{var c;Array.isArray(a)?c=a:(sa(a instanceof bl,41),c=[a]);b=function(){return c}}return b};var il=document.implementation.createDocument(\"\",\"\",null);function kl(a,b){return il.createElementNS(a,b)}function ll(a,b){return ml(a,b,[]).join(\"\")}function ml(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)ml(a,b,c);return c}function nl(a){return a instanceof Document}function pl(a){return a instanceof Node}\nfunction ql(a){return(new DOMParser).parseFromString(a,\"application/xml\")}function rl(a,b){return function(c,d){var e=a.call(b,c,d);void 0!==e&&ha(d[d.length-1],e)}}function sl(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&d[d.length-1].push(e)}}function tl(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&(d[d.length-1]=e)}}\nfunction ul(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){var e=c[c.length-1],f=b.localName,g;f in e?g=e[f]:g=e[f]=[];g.push(d)}}}function J(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function K(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}\nfunction vl(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=wl(d.localName)}xl(b,c,e,f)}}function wl(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return kl(e,d)}}var yl=wl();function zl(a,b){for(var c=b.length,d=Array(c),e=0;eh.status){var a=b.S(),e;\"json\"==a||\"text\"==a?e=h.responseText:\"xml\"==a?(e=h.responseXML)||(e=ql(h.responseText)):\"arraybuffer\"==a&&(e=h.response);e?c.call(this,b.Pa(e,{featureProjection:g}),b.jb(e)):d.call(this)}else d.call(this)}.bind(this);h.onerror=function(){d.call(this)}.bind(this);\nh.send()}}function Dl(a,b){return Cl(a,b,function(a){this.gd(a)},oa)};function El(){this.i=this.defaultDataProjection=null}function Fl(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.jb(b),featureProjection:c.featureProjection});return Gl(a,d)}function Gl(a,b){return qb({dataProjection:a.defaultDataProjection,featureProjection:a.i},b)}\nfunction Hl(a,b,c){var d=c?Tb(c.featureProjection):null,e=c?Tb(c.dataProjection):null,f;d&&e&&!bc(d,e)?a instanceof lf?f=(b?a.clone():a).tb(b?d:e,b?e:d):f=gc(b?a.slice():a,b?d:e,b?e:d):f=a;if(b&&c&&c.decimals){var g=Math.pow(10,c.decimals);a=function(a){for(var b=0,c=a.length;b>1),h=+ea(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=Ea(a[b],a[b+d],c),h=Ea(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=\ng,f[1]=h,f):[g,h]}function Ll(a,b,c,d,e,f){if(c==b)return null;if(e>1,ea||this.c.length<=a)return null;var b=new N(null);b.ca(this.la,this.B.slice(a?this.c[a-1]:0,this.c[a]));return b};\nk.Nc=function(){var a=this.B,b=this.c,c=this.la,d=[],e=0,f,g;f=0;for(g=b.length;fa||b<=a)return null;b=new E(null);b.ca(this.la,this.B.slice(a*this.a,(a+1)*this.a));return b};k.Zd=function(){var a=this.B,b=this.la,c=this.a,d=[],e,f;e=0;for(f=a.length;ea||this.c.length<=a)return null;var b;a?(b=this.c[a-1],b=b[b.length-1]):b=0;a=this.c[a].slice();var c=a[a.length-1];if(b){var d,e;d=0;for(e=a.length;da||this.f&&ad;++d){var e=parseInt(c[d],10).toString(16);c[d]=1==e.length?\"0\"+e:e}Om(a,c.join(\"\"))}function vp(a,b,c){a={node:a};var d=b.S(),e,f;\"GeometryCollection\"==d?(e=b.Qf(),f=wp):\"MultiPoint\"==d?(e=b.Zd(),f=xp):\"MultiLineString\"==d?(e=b.Nc(),f=yp):\"MultiPolygon\"==d?(e=b.md(),f=zp):sa(!1,39);Bl(a,Ap,f,e,c)}function Bp(a,b,c){Bl({node:a},Cp,Dp,[b],c)}\nfunction Ep(a,b,c){var d={node:a};b.a&&a.setAttribute(\"id\",b.a);a=b.M();var e={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};e[b.c]=1;var f=Object.keys(a||{}).sort().filter(function(a){return!e[a]});if(0>1,m=-7;f=d?f-1:0;var n=d?-1:1,y=a[b+f];f+=n;d=y&(1<<-m)-1;y>>=-m;for(m+=g;0>=-m;for(m+=e;0>1,n=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;p=e?0:p-1;var A=e?1:-1,B=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,e=l):(e=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-e))&&(e--,g*=2),b=1<=e+m?b+n/g:b+n*Math.pow(2,1-m),2<=b*g&&(e++,g/=2),e+m>=l?(b=0,e=l):1<=e+m?(b=(b*g-1)*Math.pow(2,f),e+=m):(b=b*Math.pow(2,m-1)*Math.pow(2,f),e=0));for(;8<=f;a[d+p]=b&255,p+=A,b/=256,f-=8);e=e<>4;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<3;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<10;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<17;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<24;if(128>g)return h(a,f,b);g=e[d.ha++];\nif(128>g)return h(a,f|(g&1)<<31,b);throw Error(\"Expected varint not more than 10 bytes\");}function h(a,b,d){return d?4294967296*b+(a>>>0):4294967296*(b>>>0)+(a>>>0)}b.ma=d;var l=a(\"ieee754\");d.c=0;d.g=1;d.b=2;d.a=5;d.prototype={ug:function(a,b,d){for(d=d||this.length;this.ha>3,g=this.ha;this.type=e&7;a(f,b,this);this.ha===g&&this.bq(e)}return b},op:function(){var a=l.read(this.nc,this.ha,!0,23,4);this.ha+=4;return a},kp:function(){var a=l.read(this.nc,this.ha,!0,52,8);this.ha+=\n8;return a},Ma:function(a){var b=this.nc,d,f;f=b[this.ha++];d=f&127;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<7;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<14;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<21;if(128>f)return d;f=b[this.ha];return e(d|(f&15)<<28,a,this)},Ap:function(){return this.Ma(!0)},be:function(){var a=this.Ma();return 1===a%2?(a+1)/-2:a/2},ip:function(){return!!this.Ma()},Ag:function(){for(var a=this.Ma()+this.ha,b=this.nc,d=\"\",e=this.ha;ea)break;var l,A,B;if(1===h)128>f&&(g=f);else if(2===h)l=b[e+1],128===(l&192)&&(g=(f&31)<<6|l&63,127>=g&&(g=null));else if(3===h){if(l=b[e+1],A=b[e+2],128===(l&192)&&128===(A&192)&&(g=(f&15)<<12|(l&63)<<6|A&63,2047>=g||55296<=g&&57343>=g))g=null}else 4===h&&(l=b[e+1],A=b[e+2],B=b[e+3],128===(l&192)&&128===(A&192)&&128===(B&192)&&(g=(f&15)<<18|(l&63)<<12|(A&63)<<6|B&63,65535>=g||1114112<=g))&&(g=null);null===g?(g=65533,h=1):65535>>10&1023|\n55296),g=56320|g&1023);d+=String.fromCharCode(g);e+=h}this.ha=a;return d},bq:function(a){a&=7;if(a===d.c)for(;127>=3),e--,1===d||2===d)f+=a.be(),g+=a.be(),1===d&&(x&&v.push(x),x=[]),x.push(new h(f,g));else if(7===d)x&&x.push(x[0].clone());else throw Error(\"unknown command \"+d);x&&v.push(x);return v};d.prototype.bbox=function(){var a=this.Ec;a.ha=this.Af;for(var b=a.Ma()+a.ha,d=1,e=0,f=0,g=0,h=Infinity,x=-Infinity,y=Infinity,A=-Infinity;a.ha<\nb;)if(e||(e=a.Ma(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.be(),g+=a.be(),fx&&(x=f),gA&&(A=g);else if(7!==d)throw Error(\"unknown command \"+d);return[h,y,x,A]}},{\"point-geometry\":1}],5:[function(a,b){function d(a,b){this.version=1;this.name=null;this.extent=4096;this.length=0;this.Ec=a;this.ne=[];this.pe=[];this.me=[];a.ug(e,this,b);this.length=this.me.length}function e(a,b,d){15===a?b.version=d.Ma():1===a?b.name=d.Ag():5===a?b.extent=d.Ma():2===a?b.me.push(d.ha):3===a?b.ne.push(d.Ag()):\n4===a&&b.pe.push(h(d))}function h(a){for(var b=null,d=a.Ma()+a.ha;a.ha>3,b=1===b?a.Ag():2===b?a.op():3===b?a.kp():4===b?a.Ap():5===b?a.Ma():6===b?a.be():7===b?a.ip():null;return b}var l=a(\"./vectortilefeature.js\");b.ma=d;d.prototype.feature=function(a){if(0>a||a>=this.me.length)throw Error(\"feature index out of bounds\");this.Ec.ha=this.me[a];a=this.Ec.Ma()+this.Ec.ha;return new l(this.Ec,a,this.extent,this.ne,this.pe)}},{\"./vectortilefeature.js\":4}]},{},[2])(2)});Ej=b.ma})();function jq(a,b,c,d){this.g=a;this.b=b;this.i=c;this.c=d}k=jq.prototype;k.get=function(a){return this.c[a]};k.Sb=function(){return this.i};k.D=function(){this.a||(this.a=\"Point\"===this.g?Xa(this.b):Ya(this.b,0,this.b.length,2));return this.a};k.gc=function(){return this.b};k.ia=jq.prototype.gc;k.U=function(){return this};k.Nn=function(){return this.c};k.Td=jq.prototype.U;k.sa=function(){return 2};k.Rc=oa;k.S=function(){return this.g};function kq(a){El.call(this);a=a?a:{};this.defaultDataProjection=new zb({code:\"\",units:\"tile-pixels\"});this.b=a.featureClass?a.featureClass:jq;this.g=a.geometryName;this.a=a.layerName?a.layerName:\"layer\";this.c=a.layers?a.layers:null}u(kq,El);k=kq.prototype;k.S=function(){return\"arraybuffer\"};\nk.Pa=function(a,b){var c=this.c,d=new Dj(a),d=new Ej.Tj(d),e=[],f=this.b,g,h,l;for(l in d.layers)if(!c||-1!=c.indexOf(l)){g=d.layers[l];for(var m=0,n=g.length;me?~(e<<1):e<<1;c=\"\";d=0;for(e=a.length;d>=5;h+=String.fromCharCode(g+63);c+=h}return c}\nfunction Qq(a,b){var c=b?b:1E5,d=[],e=0,f=0,g,h;g=0;for(h=a.length;gl?(d.push(e),f=e=0):f+=5}e=0;for(f=d.length;e>1):g>>1;e=0;for(f=d.length;e=b||\".\"==b||\"-\"==b){c.type=4;var d,b=a.b,e=!1,f=!1;do{if(\".\"==d)e=!0;else if(\"e\"==d||\"E\"==d)f=!0;d=a.a.charAt(++a.b)}while(\"0\"<=d&&\"9\">=d||\".\"==d&&(void 0===e||!e)||!f&&(\"e\"==d||\"E\"==d)||f&&(\"-\"==d||\"+\"==d));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if(\"a\"<=b&&\"z\">=b||\"A\"<=b&&\"Z\">=b){c.type=1;b=a.b;do d=a.a.charAt(++a.b);while(\"a\"<=d&&\"z\">=\nd||\"A\"<=d&&\"Z\">=d);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(\" \"==b||\"\\t\"==b||\"\\r\"==b||\"\\n\"==b)return zr(a);if(\"\"===b)c.type=6;else throw Error(\"Unexpected character: \"+b);}return c}function vr(a){this.g=a;this.a=\"XY\"}function xr(a){a.b=zr(a.g)}function Ar(a,b){var c=a.b.type==b;c&&xr(a);return c}\nfunction yr(a){var b=a.b;if(Ar(a,1)){var b=b.value,c=\"XY\",d=a.b;1==a.b.type&&(d=d.value,\"Z\"===d?c=\"XYZ\":\"M\"===d?c=\"XYM\":\"ZM\"===d&&(c=\"XYZM\"),\"XY\"!==c&&xr(a));a.a=c;if(\"GEOMETRYCOLLECTION\"==b){a:{if(Ar(a,2)){b=[];do b.push(yr(a));while(Ar(a,5));if(Ar(a,3)){a=b;break a}}else if(Br(a)){a=[];break a}throw Error(Cr(a));}return new sm(a)}d=Dr[b];c=Er[b];if(!d||!c)throw Error(\"Invalid geometry type: \"+b);b=d.call(a);return new c(b,a.a)}throw Error(Cr(a));}k=vr.prototype;\nk.ng=function(){if(Ar(this,2)){var a=Fr(this);if(Ar(this,3))return a}else if(Br(this))return null;throw Error(Cr(this));};k.mg=function(){if(Ar(this,2)){var a=Gr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.og=function(){if(Ar(this,2)){var a=Hr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};\nk.Vo=function(){if(Ar(this,2)){var a;if(2==this.b.type)for(a=[this.ng()];Ar(this,5);)a.push(this.ng());else a=Gr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.Uo=function(){if(Ar(this,2)){var a=Hr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.Wo=function(){if(Ar(this,2)){for(var a=[this.og()];Ar(this,5);)a.push(this.og());if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};\nfunction Fr(a){for(var b=[],c=a.a.length,d=0;d=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:bb(a,this.sb,this)):!1};\nk.lb=function(a){var b=this.a,c=a.slice();c[b]=c[0]+(this.B[b]-this.B[0]);var d;for(d=1;df[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+c,\nd[1],d[2]+c,d[3]]);c=this.u[0];f=this.u[1];h=-1;m=Math.pow(this.I*g,2);p=[];q=[];g=0;for(l=Cs.length;gKa&&(a.Wa(b,e),Ra=0);ra>Ka&&(b.stroke(),ra=0);Ra||ra||(b.beginPath(),y=A=NaN);++n;break;case 2:q=C[1];r=m[q];C=\nm[q+1];B=m[q+2]-r;q=m[q+3]-C;q=Math.sqrt(B*B+q*q);b.moveTo(r+q,C);b.arc(r,C,q,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=C[1];r=C[2];Na=C[3];wb=C[4]*c;Z=C[5]*c;var Pb=C[6],cc=C[7],$c=C[8],re=C[9];Ta=C[10];B=C[11];aa=C[12];var Jd=C[13],ug=C[14];for(Ta&&(B+=e);qNa.width?\nNa.width-$c:ug,sq=Pb+re>Na.height?Na.height-re:Pb;b.drawImage(Na,$c,re,mh,sq,C,Ta,mh*c,sq*c);1!=cc&&(b.globalAlpha=bf);(1!=aa||B)&&b.setTransform.apply(b,x)}++n;break;case 5:q=C[1];r=C[2];Z=C[3];Pb=C[4]*c;cc=C[5]*c;B=C[6];aa=C[7]*c;Na=C[8];wb=C[9];for((Ta=C[10])&&(B+=e);qthis.c&&(this.c=this.g.lineWidth,this.f=null)};function et(a,b,c,d){Vs.call(this,a,b,c,d);this.f=null;this.g={gh:void 0,Nd:void 0,Hd:void 0,Id:null,Jd:void 0,Kd:void 0,Ld:void 0,Md:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}u(et,Vs);\nfunction ft(a,b,c,d,e){var f=a.g,g=void 0!==f.fillStyle,f=void 0!=f.strokeStyle,h=d.length,l=[1];a.a.push(l);a.b.push(l);for(l=0;lthis.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineDashOffset=void 0,c.lineJoin=void 0,c.lineWidth=void 0,\nc.miterLimit=void 0)};function gt(a,b){var c=a.g,d=c.fillStyle,e=c.strokeStyle,f=c.lineCap,g=c.lineDash,h=c.lineDashOffset,l=c.lineJoin,m=c.lineWidth,n=c.miterLimit;if(void 0!==d&&(\"string\"!==typeof d||c.gh!=d)){var p=[9,d];\"string\"!==typeof d&&(d=b.D(),p.push([d[0],d[3]]));a.a.push(p);c.gh=c.fillStyle}void 0===e||c.Nd==e&&c.Hd==f&&ja(c.Id,g)&&c.Jd==h&&c.Kd==l&&c.Ld==m&&c.Md==n||(a.a.push([10,e,m,f,l,n,g,h,!0,1]),c.Nd=e,c.Hd=f,c.Id=g,c.Jd=h,c.Kd=l,c.Ld=m,c.Md=n)};function ht(a,b,c,d){Vs.call(this,a,b,c,d);this.G=this.C=this.A=null;this.Fa=\"\";this.o=this.l=0;this.u=void 0;this.O=this.v=0;this.j=this.f=this.g=null}u(ht,Vs);\nht.prototype.Ac=function(a,b,c,d,e,f){if(\"\"!==this.Fa&&this.j&&(this.g||this.f)){if(this.g){e=this.g;var g=this.A;if(!g||g.fillStyle!=e.fillStyle){var h=[9,e.fillStyle];this.a.push(h);this.b.push(h);g?g.fillStyle=e.fillStyle:this.A={fillStyle:e.fillStyle}}}this.f&&(e=this.f,g=this.C,g&&g.lineCap==e.lineCap&&g.lineDash==e.lineDash&&g.lineDashOffset==e.lineDashOffset&&g.lineJoin==e.lineJoin&&g.lineWidth==e.lineWidth&&g.miterLimit==e.miterLimit&&g.strokeStyle==e.strokeStyle||(h=[10,e.strokeStyle,e.lineWidth,\ne.lineCap,e.lineJoin,e.miterLimit,e.lineDash,e.lineDashOffset,!1,1],this.a.push(h),this.b.push(h),g?(g.lineCap=e.lineCap,g.lineDash=e.lineDash,g.lineDashOffset=e.lineDashOffset,g.lineJoin=e.lineJoin,g.lineWidth=e.lineWidth,g.miterLimit=e.miterLimit,g.strokeStyle=e.strokeStyle):this.C={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}));e=this.j;g=this.G;g&&g.font==e.font&&g.textAlign==\ne.textAlign&&g.textBaseline==e.textBaseline||(h=[11,e.font,e.textAlign,e.textBaseline],this.a.push(h),this.b.push(h),g?(g.font=e.font,g.textAlign=e.textAlign,g.textBaseline=e.textBaseline):this.G={font:e.font,textAlign:e.textAlign,textBaseline:e.textBaseline});Xs(this,f);e=this.coordinates.length;a=Ws(this,a,b,c,d,!1,!1);a=[5,e,a,this.Fa,this.l,this.o,this.v,this.O,!!this.g,!!this.f,this.u];this.a.push(a);this.b.push(a);$s(this,f)}};\nht.prototype.Ub=function(a){if(a){var b=a.Ca();b?(b=b.b,b=fd(b?b:Ph),this.g?this.g.fillStyle=b:this.g={fillStyle:b}):this.g=null;var c=a.Da();if(c){var b=c.a,d=c.i,e=c.g,f=c.f,g=c.j,h=c.c,c=c.l,d=void 0!==d?d:\"round\",e=e?e.slice():Qh,f=void 0!==f?f:0,g=void 0!==g?g:\"round\",h=void 0!==h?h:1,c=void 0!==c?c:10,b=fd(b?b:Rh);if(this.f){var l=this.f;l.lineCap=d;l.lineDash=e;l.lineDashOffset=f;l.lineJoin=g;l.lineWidth=h;l.miterLimit=c;l.strokeStyle=b}else this.f={lineCap:d,lineDash:e,lineDashOffset:f,lineJoin:g,\nlineWidth:h,miterLimit:c,strokeStyle:b}}else this.f=null;var m=a.a,b=a.g,d=a.c,e=a.l,h=a.i,c=a.b,f=a.Oa(),g=a.f,l=a.j;a=void 0!==m?m:\"10px sans-serif\";g=void 0!==g?g:\"center\";l=void 0!==l?l:\"middle\";this.j?(m=this.j,m.font=a,m.textAlign=g,m.textBaseline=l):this.j={font:a,textAlign:g,textBaseline:l};this.Fa=void 0!==f?f:\"\";this.l=void 0!==b?b:0;this.o=void 0!==d?d:0;this.u=void 0!==e?e:!1;this.v=void 0!==h?h:0;this.O=void 0!==c?c:1}else this.Fa=\"\"};function it(a,b,c,d,e){this.v=a;this.c=b;this.o=d;this.u=c;this.f=e;this.a={};this.j=hd(1,1);this.l=yh()}u(it,hi);var jt={0:[[!0]]};function kt(a,b,c){var d,e=Math.floor(a.length/2);if(b>=e)for(d=e;d=d;)kt(c,a+b,a+d),kt(c,a+d,a+b),kt(c,a-d,a+b),kt(c,a-b,a+d),kt(c,a-b,a-d),kt(c,a-d,a-b),kt(c,a+d,a-b),kt(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);return jt[a]=c}function mt(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].Se()}}\nit.prototype.Ba=function(a,b,c,d,e,f){d=Math.round(d);var g=2*d+1,h=Hh(this.l,d+.5,d+.5,1/b,-1/b,-c,-a[0],-a[1]),l=this.j;l.canvas.width!==g||l.canvas.height!==g?(l.canvas.width=g,l.canvas.height=g):l.clearRect(0,0,g,g);var m;void 0!==this.f&&(m=Ja(),La(m,a),Ma(m,b*(this.f+d),m));var n=lt(d);return nt(this,l,h,c,e,function(a){for(var b=l.getImageData(0,0,g,g).data,c=0;ca.ba&&(a.ba=d.ba),d.gaa.ja&&(a.ja=d.ja)):a[b][c]=d:(a[b]={},a[b][c]=d)}\nfunction yt(a,b,c,d,e,f,g,h,l,m){var n=w(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,v,x,y,A,B;for(B=g;B>=q;--B)for(v=nc(c,f,B,v),x=c.La(B),y=v.da;y<=v.ba;++y)for(A=v.ga;A<=v.ja;++A)g-B<=h?(r=b.Pc(B,y,A,d,e),0==r.V()&&(p[r.hb()]=!0,r.hb()in a.a||a.i([r,n,sc(c,r.Ga),x])),l&&l.call(m,r)):b.Mg(B,y,A,e)};function zt(a){qt.call(this,a);this.fa=yh()}u(zt,qt);function At(a,b,c){var d=b.pixelRatio,e=b.size[0]*d,f=b.size[1]*d,g=b.viewState.rotation,h=fb(c),l=eb(c),m=db(c);c=cb(c);Dh(b.coordinateToPixelTransform,h);Dh(b.coordinateToPixelTransform,l);Dh(b.coordinateToPixelTransform,m);Dh(b.coordinateToPixelTransform,c);a.save();Sh(a,-g,e/2,f/2);a.beginPath();a.moveTo(h[0]*d,h[1]*d);a.lineTo(l[0]*d,l[1]*d);a.lineTo(m[0]*d,m[1]*d);a.lineTo(c[0]*d,c[1]*d);a.clip();Sh(a,g,e/2,f/2)}\nfunction Bt(a,b,c,d,e){var f=a.a;if(Oc(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;Sh(c,-l,g/2,h/2);a=e?e:Ct(a,d,0);f.b(new Oh(b,new Uh(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));Sh(c,l,g/2,h/2)}}zt.prototype.v=function(a,b,c,d){if(this.Ba(a,b,0,jf,this))return c.call(d,this.a,null)};zt.prototype.cf=function(a,b,c,d){Bt(this,\"postcompose\",a,b,d)};\nfunction Ct(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return Hh(a.fa,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};function Dt(a,b){return w(a)-w(b)}function Et(a,b){var c=.5*a/b;return c*c}function Ft(a,b,c,d,e,f){var g=!1,h,l;if(h=c.Y())l=h.Xe(),2==l||3==l?h.xj(e,f):(0==l&&h.load(),h.Gh(e,f),g=!0);if(e=(0,c.Qa)(b))d=e.Td(d),(0,Gt[d.S()])(a,d,c,b);return g}\nvar Gt={Point:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Xe())return;var f=a.b(c.Aa(),\"Image\");f.Wb(e);f.sc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(b.ia(),0,2,2,b,d)},LineString:function(a,b,c,d){var e=c.Da();if(e){var f=a.b(c.Aa(),\"LineString\");f.Na(null,e);f.Rb(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(ai(b),0,2,2,b,d)},Polygon:function(a,b,c,d){var e=c.Ca(),f=c.Da();if(e||f){var g=a.b(c.Aa(),\"Polygon\");g.Na(e,f);g.tc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(Tf(b),\n0,2,2,b,d)},MultiPoint:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Xe())return;var f=a.b(c.Aa(),\"Image\");f.Wb(e);f.qc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=b.ia(),a.Ac(c,0,c.length,b.sa(),b,d)},MultiLineString:function(a,b,c,d){var e=c.Da();if(e){var f=a.b(c.Aa(),\"LineString\");f.Na(null,e);f.pc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=bi(b),a.Ac(c,0,c.length,2,b,d)},MultiPolygon:function(a,b,c,d){var e=c.Ca(),f=c.Da();if(f||e){var g=a.b(c.Aa(),\"Polygon\");g.Na(e,f);g.rc(b,d)}if(e=\nc.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=di(b),a.Ac(c,0,c.length,2,b,d)},GeometryCollection:function(a,b,c,d){b=b.a;var e,f;e=0;for(f=b.length;el[2];)++aa,n=m*aa,n=Ct(this,a,n),p.i(x,e,n,g,f),h-=m;n=Ct(this,a,0)}Sh(x,g,A/2,B/2);x!=c&&(Bt(this,\"render\",x,a,n),c.drawImage(x.canvas,-r,-v),x.translate(-r,-v));x.globalAlpha=y}q&&c.restore();this.cf(c,a,b,n)};\nHt.prototype.Ba=function(a,b,c,d,e){if(this.i){var f=this.a,g={};return this.i.Ba(a,b.viewState.resolution,b.viewState.rotation,c,{},function(a){var b=w(a).toString();if(!(b in g))return g[b]=!0,d.call(e,a,f)})}};Ht.prototype.A=function(){st(this)};\nHt.prototype.ud=function(a){function b(a){var b,d=a.Rc();d?b=d.call(a,m):(d=c.i)&&(b=d(a,m));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;ea.le:e<=a.le}a.o?(e=b.coordinate,c=a.j.U(),a.f===iu?d=a.a:a.f===hu?(d=a.a[0],d=d[d.length-1],pu(a,b)&&(e=a.o.slice())):(d=a.a,d=d[d.length-1]),d[0]=e[0],d[1]=e[1],a.Qa(a.a,c),a.G&&a.G.U().pa(e),c instanceof F&&a.f!==hu?(a.C||(a.C=new I(new N(null))),c=c.vh(0),e=a.C.U(),e.ca(c.la,c.ia())):a.I&&(e=a.C.U(),e.pa(a.I)),ru(a)):(e=b.coordinate.slice(),a.G?a.G.U().pa(e):(a.G=new I(new E(e)),\nru(a)));return!0}function pu(a,b){var c=!1;if(a.j){var d=!1,e=[a.o];a.f===ju?d=a.a.length>a.Ha:a.f===hu&&(d=a.a[0].length>a.Ha,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f=a.Ja&&(a.u?f.pop():e=!0),f.push(c.slice()),a.Qa(f,d)):a.f===hu&&(f=a.a[0],f.length>=a.Ja&&(a.u?f.pop():e=!0),f.push(c.slice()),e&&(a.o=f[0]),a.Qa(a.a,d));ru(a);e&&a.Qd()}\nk.Ep=function(){if(this.j){var a=this.j.U(),b,c;this.f===ju?(b=this.a,b.splice(-2,1),this.Qa(b,a),2<=b.length&&(this.o=b[b.length-2].slice())):this.f===hu&&(b=this.a[0],b.splice(-2,1),c=this.C.U(),c.pa(b),this.Qa(this.a,a));0===b.length&&(this.o=null);ru(this)}};\nk.Qd=function(){var a=qu(this),b=this.a,c=a.U();this.f===ju?(b.pop(),this.Qa(b,c)):this.f===hu&&(b[0].pop(),this.Qa(b,c),b=c.W());\"MultiPoint\"===this.Z?a.Ta(new P([b])):\"MultiLineString\"===this.Z?a.Ta(new O([b])):\"MultiPolygon\"===this.Z&&a.Ta(new Q([b]));this.b(new su(\"drawend\",a));this.Va&&this.Va.push(a);this.Gb&&this.Gb.zb(a)};function qu(a){a.o=null;var b=a.j;b&&(a.j=null,a.G=null,a.C=null,a.na.ka().clear(!0));return b}\nk.nn=function(a){var b=a.U();this.j=a;this.a=b.W();a=this.a[this.a.length-1];this.o=a.slice();this.a.push(a.slice());ru(this);this.b(new su(\"drawstart\",this.j))};k.bd=kf;function ru(a){var b=[];a.j&&b.push(a.j);a.C&&b.push(a.C);a.G&&b.push(a.G);a=a.na.ka();a.clear(!0);a.gd(b)}k.ji=function(){var a=this.v,b=this.c();a&&b||qu(this);this.na.setMap(b?a:null)};\nfunction gu(a){var b;\"Point\"===a||\"MultiPoint\"===a?b=iu:\"LineString\"===a||\"MultiLineString\"===a?b=ju:\"Polygon\"===a||\"MultiPolygon\"===a?b=hu:\"Circle\"===a&&(b=ou);return b}var iu=\"Point\",ju=\"LineString\",hu=\"Polygon\",ou=\"Circle\";function su(a,b){Lc.call(this,a);this.feature=b}u(su,Lc);function tu(a){this.a=this.j=null;this.C=!1;this.G=this.o=null;a||(a={});a.extent&&this.f(a.extent);Ag.call(this,{handleDownEvent:uu,handleDragEvent:vu,handleEvent:wu,handleUpEvent:xu});this.u=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.boxStyle?a.boxStyle:yu(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.I=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.pointerStyle?a.pointerStyle:zu(),updateWhileAnimating:!0,updateWhileInteracting:!0})}u(tu,Ag);\nfunction wu(a){if(!(a instanceof Kd))return!0;if(\"pointermove\"==a.type&&!this.A){var b=a.pixel,c=a.map,d=Au(this,b,c);d||(d=c.Xa(b));Bu(this,d)}Bg.call(this,a);return!1}\nfunction uu(a){function b(a){var b=null,c=null;a[0]==e[0]?b=e[2]:a[0]==e[2]&&(b=e[0]);a[1]==e[1]?c=e[3]:a[1]==e[3]&&(c=e[1]);return null!==b&&null!==c?[b,c]:null}var c=a.pixel,d=a.map,e=this.D();(a=Au(this,c,d))&&e?(c=a[0]==e[0]||a[0]==e[2]?a[0]:null,d=a[1]==e[1]||a[1]==e[3]?a[1]:null,null!==c&&null!==d?this.a=Cu(b(a)):null!==c?this.a=Du(b([c,e[1]]),b([c,e[3]])):null!==d&&(this.a=Du(b([e[0],d]),b([e[2],d])))):(a=d.Xa(c),this.f([a[0],a[1],a[0],a[1]]),this.a=Cu(a));return!0}\nfunction vu(a){this.a&&(a=a.coordinate,this.f(this.a(a)),Bu(this,a));return!0}function xu(){this.a=null;var a=this.D();a&&gb(a)||this.f(null);return!1}function yu(){var a=gl();return function(){return a.Polygon}}function zu(){var a=gl();return function(){return a.Point}}function Cu(a){return function(b){return Ia([a,b])}}function Du(a,b){return a[0]==b[0]?function(c){return Ia([a,[c[0],b[1]]])}:a[1]==b[1]?function(c){return Ia([a,[b[0],c[1]]])}:null}\nfunction Au(a,b,c){function d(a,b){return gf(e,a)-gf(e,b)}var e=c.Xa(b),f=a.D();if(f){f=[[[f[0],f[1]],[f[0],f[3]]],[[f[0],f[3]],[f[2],f[3]]],[[f[2],f[3]],[f[2],f[1]]],[[f[2],f[1]],[f[0],f[1]]]];f.sort(d);var f=f[0],g=Ye(e,f),h=c.Ka(g);if(10>=ff(b,h))return b=c.Ka(f[0]),c=c.Ka(f[1]),b=ef(h,b),c=ef(h,c),a.C=10>=Math.sqrt(Math.min(b,c)),a.C&&(g=b>c?f[1]:f[0]),g}return null}function Bu(a,b){var c=a.G;c?c.U().pa(b):(c=new I(new E(b)),a.G=c,a.I.ka().zb(c))}\ntu.prototype.setMap=function(a){this.u.setMap(a);this.I.setMap(a);Ag.prototype.setMap.call(this,a)};tu.prototype.D=function(){return this.j};tu.prototype.f=function(a){this.j=a?a:null;var b=this.o;b?a?b.Ta(Vf(a)):b.Ta(void 0):(this.o=b=a?new I(Vf(a)):new I({}),this.u.ka().zb(b));this.b(new Eu(this.j))};function Eu(a){Lc.call(this,Fu);this.b=a}u(Eu,Lc);var Fu=\"extentchanged\";function Gu(a){Ag.call(this,{handleDownEvent:Hu,handleDragEvent:Iu,handleEvent:Ju,handleUpEvent:Ku});this.Gb=a.condition?a.condition:zg;this.Va=function(a){return vg(a)&&tg(a)};this.yb=a.deleteCondition?a.deleteCondition:this.Va;this.Ha=this.f=null;this.Ja=[0,0];this.C=this.I=!1;this.a=new Gj;this.fa=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.o=this.na=!1;this.j=[];this.G=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?a.style:Lu(),updateWhileAnimating:!0,updateWhileInteracting:!0});\nthis.T={Point:this.wn,LineString:this.li,LinearRing:this.li,Polygon:this.xn,MultiPoint:this.tn,MultiLineString:this.sn,MultiPolygon:this.vn,Circle:this.lq,GeometryCollection:this.rn};this.u=a.features;this.u.forEach(this.fg,this);z(this.u,\"add\",this.pn,this);z(this.u,\"remove\",this.qn,this);this.Z=null}u(Gu,Ag);k=Gu.prototype;k.fg=function(a){var b=a.U();b&&b.S()in this.T&&this.T[b.S()].call(this,a,b);(b=this.v)&&b.a&&this.c()&&Mu(this,this.Ja,b);z(a,\"change\",this.ki,this)};\nfunction Nu(a,b){a.C||(a.C=!0,a.b(new Ou(\"modifystart\",a.u,b)))}function Pu(a,b){Qu(a,b);a.f&&!a.u.fc()&&(a.G.ka().Db(a.f),a.f=null);Hc(b,\"change\",a.ki,a)}function Qu(a,b){var c=a.a,d=[];c.forEach(function(a){b===a.feature&&d.push(a)});for(var e=d.length-1;0<=e;--e)c.remove(d[e])}k.Ia=function(a){this.f&&!a&&(this.G.ka().Db(this.f),this.f=null);Ag.prototype.Ia.call(this,a)};k.setMap=function(a){this.G.setMap(a);Ag.prototype.setMap.call(this,a)};k.pn=function(a){this.fg(a.element)};\nk.ki=function(a){this.o||(a=a.target,Pu(this,a),this.fg(a))};k.qn=function(a){Pu(this,a.element)};k.wn=function(a,b){var c=b.W(),c={feature:a,geometry:b,oa:[c,c]};this.a.Ea(b.D(),c)};k.tn=function(a,b){var c=b.W(),d,e,f;e=0;for(f=c.length;em?h[1]:h[0]),Ru(a,l),m=1,c=f.length;mm&&(m=0);g=p.geometry;e=f=g.W();d=!1;switch(g.S()){case \"MultiLineString\":2c&&(a.index+=e)})}function Lu(){var a=gl();return function(){return a.Point}}function Ou(a,b,c){Lc.call(this,a);this.features=b;this.mapBrowserEvent=c}u(Ou,Lc);function Wu(a){kg.call(this,{handleEvent:Xu});a=a?a:{};this.C=a.condition?a.condition:tg;this.A=a.addCondition?a.addCondition:kf;this.G=a.removeCondition?a.removeCondition:kf;this.I=a.toggleCondition?a.toggleCondition:wg;this.o=a.multi?a.multi:!1;this.l=a.filter?a.filter:jf;this.j=a.hitTolerance?a.hitTolerance:0;this.f=new S({source:new T({useSpatialIndex:!1,features:a.features,wrapX:a.wrapX}),style:a.style?a.style:Yu(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(a.layers)if(\"function\"===\ntypeof a.layers)a=a.layers;else{var b=a.layers;a=function(a){return fa(b,a)}}else a=jf;this.u=a;this.a={};a=this.f.ka().i;z(a,\"add\",this.yn,this);z(a,\"remove\",this.Cn,this)}u(Wu,kg);k=Wu.prototype;k.zn=function(){return this.f.ka().i};k.An=function(){return this.j};k.Bn=function(a){a=w(a);return this.a[a]};\nfunction Xu(a){if(!this.C(a))return!0;var b=this.A(a),c=this.G(a),d=this.I(a),e=!b&&!c&&!d,f=a.map,g=this.f.ka().i,h=[],l=[];if(e){rb(this.a);f.we(a.pixel,function(a,b){if(this.l(a,b)){l.push(a);var c=w(a);this.a[c]=b;return!this.o}}.bind(this),{layerFilter:this.u,hitTolerance:this.j});for(e=g.fc()-1;0<=e;--e){var f=g.item(e),m=l.indexOf(f);-1d?g[1]:g[0],c=b.Ka(l)}else this.I&&(l=Ye(e,g),c=b.Ka(l),ff(d,c)<=this.f&&(f=!0,this.fa&&(e=b.Ka(g[0]),h=b.Ka(g[1]),e=ef(c,e),d=ef(c,h),h=Math.sqrt(Math.min(e,\nd)),h=h<=this.f)))&&(l=e>d?g[1]:g[0],c=b.Ka(l));f&&(c=[Math.round(c[0]),Math.round(c[1])])}b=l;f&&(a.coordinate=b.slice(0,2),a.pixel=c);return Bg.call(this,a)}function cv(){var a=sb(this.u);a.length&&(a.forEach(this.zj,this),this.u={});return!1}function dv(a,b){return gf(this.G,a.oa)-gf(this.G,b.oa)};function ev(a){Ag.call(this,{handleDownEvent:fv,handleDragEvent:gv,handleMoveEvent:hv,handleUpEvent:iv});a=a?a:{};this.f=void 0;this.a=null;this.o=void 0!==a.features?a.features:null;var b;if(a.layers)if(\"function\"===typeof a.layers)b=a.layers;else{var c=a.layers;b=function(a){return fa(c,a)}}else b=jf;this.G=b;this.u=a.hitTolerance?a.hitTolerance:0;this.j=null;z(this,Sc(\"active\"),this.C,this)}u(ev,Ag);\nfunction fv(a){this.j=jv(this,a.pixel,a.map);if(!this.a&&this.j){this.a=a.coordinate;hv.call(this,a);var b=this.o||new D([this.j]);this.b(new kv(\"translatestart\",b,a.coordinate));return!0}return!1}function iv(a){if(this.a){this.a=null;hv.call(this,a);var b=this.o||new D([this.j]);this.b(new kv(\"translateend\",b,a.coordinate));return!0}return!1}\nfunction gv(a){if(this.a){a=a.coordinate;var b=a[0]-this.a[0],c=a[1]-this.a[1],d=this.o||new D([this.j]);d.forEach(function(a){var d=a.U();d.translate(b,c);a.Ta(d)});this.a=a;this.b(new kv(\"translating\",d,a))}}function hv(a){var b=a.map.vc();jv(this,a.pixel,a.map)?(this.f=void 0!==this.f?this.f:b.style.cursor,b.style.cursor=this.a?\"-webkit-grabbing\":\"-webkit-grab\",b.style.cursor=this.a?\"grabbing\":\"grab\"):void 0!==this.f&&(b.style.cursor=this.f,this.f=void 0)}\nfunction jv(a,b,c){return c.we(b,function(a){if(!this.o||fa(this.o.a,a))return a}.bind(a),{layerFilter:a.G,hitTolerance:a.u})}ev.prototype.I=function(){return this.u};ev.prototype.Z=function(a){this.u=a};ev.prototype.setMap=function(a){var b=this.v;Ag.prototype.setMap.call(this,a);lv(this,b)};ev.prototype.C=function(){lv(this,null)};function lv(a,b){var c=a.v,d=a.c();c&&d||void 0===a.f||(c||(c=b),c.vc().style.cursor=a.f,a.f=void 0)}\nfunction kv(a,b,c){Lc.call(this,a);this.features=b;this.coordinate=c}u(kv,Lc);function U(a){a=a?a:{};var b=qb({},a);delete b.gradient;delete b.radius;delete b.blur;delete b.shadow;delete b.weight;S.call(this,b);this.j=null;this.T=void 0!==a.shadow?a.shadow:250;this.Z=void 0;this.I=null;z(this,Sc(mv),this.wl,this);this.kj(a.gradient?a.gradient:nv);this.ej(void 0!==a.blur?a.blur:15);this.Zc(void 0!==a.radius?a.radius:8);z(this,Sc(ov),this.Yf,this);z(this,Sc(pv),this.Yf,this);this.Yf();var c=a.weight?a.weight:\"weight\",d;\"string\"===typeof c?d=function(a){return a.get(c)}:d=c;this.f(function(a){a=\nd(a);a=void 0!==a?xa(a,0,1):1;var b=255*a|0,c=this.I[b];c||(c=[new bl({image:new co({opacity:a,src:this.Z})})],this.I[b]=c);return c}.bind(this));this.set(It,null);z(this,\"render\",this.Nl,this)}u(U,S);var nv=[\"#00f\",\"#0ff\",\"#0f0\",\"#ff0\",\"#f00\"];k=U.prototype;k.nh=function(){return this.get(ov)};k.uh=function(){return this.get(mv)};k.ri=function(){return this.get(pv)};\nk.wl=function(){for(var a=this.uh(),b=hd(1,256),c=b.createLinearGradient(0,0,1,256),d=1/(a.length-1),e=0,f=a.length;ePb&&(Pb=$c,m=cc)}if(!Pb){g=null;break a}Pb=g[m];g[m]=g[l];g[l]=Pb;for(m=l+1;mthis.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])p,v=!1;if(0a.u),v)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(r=[(c[0]+d[0])/2,(c[1]+d[1])/2],q=a.a(r),n=[(e[0]+b[0])/2,(e[1]+b[1])/2],p=a.a(n),wv(a,b,c,r,n,f,g,q,p,m-1),wv(a,n,r,d,e,p,q,h,l,m-1)):(r=[(b[0]+c[0])/2,(b[1]+c[1])/2],q=a.a(r),n=[(d[0]+e[0])/2,(d[1]+e[1])/2],p=a.a(n),wv(a,b,r,n,e,f,q,p,l,m-1),wv(a,r,c,d,n,q,g,h,p,m-1));return}if(r){if(!a.o)return;a.l=!0}a.c.push({source:[f,h,l],target:[b,d,e]});a.c.push({source:[f,g,h],target:[b,c,d]})}}\nfunction xv(a){var b=Ja();a.c.forEach(function(a){a=a.source;La(b,a[0]);La(b,a[1]);La(b,a[2])});return b};function yv(a,b,c,d,e,f){this.u=b;this.o=a.D();var g=b.D(),h=g?mb(c,g):c,g=sv(a,b,kb(h),d);this.j=new vv(a,b,h,this.o,.5*g);this.c=d;this.g=c;a=xv(this.j);this.l=(this.Eb=f(a,g,e))?this.Eb.a:1;this.de=this.f=null;e=2;f=[];this.Eb&&(e=0,f=this.Eb.i);Fs.call(this,c,d,this.l,e,f)}u(yv,Fs);yv.prototype.ra=function(){1==this.state&&(Bc(this.de),this.de=null);Fs.prototype.ra.call(this)};yv.prototype.Y=function(){return this.f};\nyv.prototype.ce=function(){var a=this.Eb.V();2==a&&(this.f=uv(ib(this.g)/this.c,jb(this.g)/this.c,this.l,this.Eb.resolution,0,this.c,this.g,this.j,[{extent:this.Eb.D(),image:this.Eb.Y()}],0));this.state=a;this.s()};yv.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=this.Eb.V();2==a||3==a?this.ce():(this.de=z(this.Eb,\"change\",function(){var a=this.Eb.V();if(2==a||3==a)Bc(this.de),this.de=null,this.ce()},this),this.Eb.load())}};function zv(a){Tt.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.v=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.ea=0}u(zv,Tt);function Av(a,b){a.v&&(b=a.v[ga(a.v,b,0)]);return b}\nzv.prototype.Y=function(a,b,c,d){var e=this.c;if(e&&d&&!bc(e,d)){if(this.a){if(this.ea==this.g&&bc(this.a.u,d)&&this.a.resolution==b&&this.a.a==c&&$a(this.a.D(),a))return this.a;Kc(this.a);this.a=null}this.a=new yv(e,d,a,b,c,function(a,b,c){return this.Lc(a,b,c,e)}.bind(this));this.ea=this.g;return this.a}e&&(d=e);return this.Lc(a,b,c,d)};zv.prototype.l=function(a){a=a.target;switch(a.V()){case 1:this.b(new Bv(Cv,a));break;case 2:this.b(new Bv(Dv,a));break;case 3:this.b(new Bv(Ev,a))}};\nfunction Fv(a,b){a.Y().src=b}function Bv(a,b){Lc.call(this,a);this.image=b}u(Bv,Lc);var Cv=\"imageloadstart\",Dv=\"imageloadend\",Ev=\"imageloaderror\";function Gv(a){zv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.fa=a.canvasFunction;this.I=null;this.T=0;this.na=void 0!==a.ratio?a.ratio:1.5}u(Gv,zv);Gv.prototype.Lc=function(a,b,c,d){b=Av(this,b);var e=this.I;if(e&&this.T==this.g&&e.resolution==b&&e.a==c&&Ua(e.D(),a))return e;a=a.slice();ob(a,this.na);(d=this.fa(a,b,c,[ib(a)/b*c,jb(a)/b*c],d))&&(e=new Hs(a,b,c,this.j,d));this.I=e;this.T=this.g;return e};function Hv(a){this.i=a.source;this.Va=yh();this.f=hd();this.o=[0,0];this.Ha=void 0==a.renderBuffer?100:a.renderBuffer;this.A=null;Gv.call(this,{attributions:a.attributions,canvasFunction:this.pk.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.i.V()});this.C=null;this.u=void 0;this.Bi(a.style);z(this.i,\"change\",this.ho,this)}u(Hv,Gv);k=Hv.prototype;\nk.pk=function(a,b,c,d,e){var f=new it(.5*b/c,a,b,this.i.Ha,this.Ha);this.i.Xd(a,b,e);var g=!1;this.i.bc(a,function(a){var d;if(!(d=g)){var e;(d=a.Rc())?e=d.call(a,b):this.u&&(e=this.u(a,b));if(e){var h,p=!1;Array.isArray(e)||(e=[e]);d=0;for(h=e.length;da[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.i||\n(this.i=hd(1,1)),this.i.clearRect(0,0,1,1),this.i.drawImage(this.N.Y(),a[0],a[1],1,1,0,0,1,1),e=this.i.getImageData(0,0,1,1).data,0=d)this.state=4;else if(this.u=new vv(a,c,f,e,d*(void 0!==m?m:.5)),this.u.c.length)if(this.f=b.Qc(d),c=xv(this.u),e&&(a.a?(c[1]=xa(c[1],e[1],e[3]),c[3]=xa(c[3],e[1],e[3])):c=mb(c,e)),gb(c)){a=\nnc(b,c,this.f);for(b=a.da;b<=a.ba;b++)for(c=a.ga;c<=a.ja;c++)(m=l(this.f,b,c,g))&&this.g.push(m);this.g.length||(this.state=4)}else this.state=4;else this.state=4;else this.state=4}u(aw,Is);aw.prototype.ra=function(){1==this.state&&(this.Ad.forEach(Bc),this.Ad=null);Is.prototype.ra.call(this)};aw.prototype.Y=function(){return this.v};\naw.prototype.ce=function(){var a=[];this.g.forEach(function(b){b&&2==b.V()&&a.push({extent:this.c.Ua(b.Ga),image:b.Y()})},this);this.g.length=0;if(a.length){var b=this.o[0],c=this.l.eb(b),d=\"number\"===typeof c?c:c[0],c=\"number\"===typeof c?c:c[1],b=this.l.La(b),e=this.c.La(this.f),f=this.l.Ua(this.o);this.v=uv(d,c,this.A,e,this.c.D(),b,f,this.u,a,this.O,this.C);this.state=2}else this.state=3;this.s()};\naw.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=0;this.Ad=[];this.g.forEach(function(b){var c=b.V();if(0==c||1==c){a++;var d;d=z(b,\"change\",function(){var c=b.V();if(2==c||3==c||4==c)Bc(d),a--,a||(this.Ad.forEach(Bc),this.Ad=null,this.ce())},this);this.Ad.push(d)}},this);this.g.forEach(function(a){0==a.V()&&a.load()});a||setTimeout(this.ce.bind(this),0)}};function bw(a,b){var c=/\\{z\\}/g,d=/\\{x\\}/g,e=/\\{y\\}/g,f=/\\{-y\\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;sa(a,55);return(a.ja-a.ga+1+g[2]).toString()})}}function cw(a,b){for(var c=a.length,d=Array(c),e=0;ea.highWaterMark}gw.prototype.ld=function(a){for(var b,c;hw(this);){b=this.a.cd;c=b.Ga[0].toString();var d;if(d=c in a)b=b.Ga,d=ua(a[c],b[1],b[2]);if(d)break;else Kc(this.pop())}};function iw(a){Tt.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.na=void 0!==a.opaque?a.opaque:!1;this.Va=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new gw(a.cacheSize);this.l=[0,0];this.wc=\"\"}u(iw,Tt);k=iw.prototype;k.Ei=function(){return hw(this.a)};k.ld=function(a,b){var c=this.Ud(a);c&&c.ld(b)};\nfunction rt(a,b,c,d,e){b=a.Ud(b);if(!b)return!1;for(var f=!0,g,h,l=d.da;l<=d.ba;++l)for(var m=d.ga;m<=d.ja;++m)g=a.Tb(c,l,m),h=!1,b.b.hasOwnProperty(g)&&(g=b.get(g),(h=2===g.V())&&(h=!1!==e(g))),h||(f=!1);return f}k.Rf=function(){return 0};function jw(a,b){a.wc!==b&&(a.wc=b,a.s())}k.Tb=function(a,b,c){return a+\"/\"+b+\"/\"+c};k.Uf=function(){return this.na};k.ab=function(){return this.tileGrid};k.Jb=function(a){return this.tileGrid?this.tileGrid:tc(a)};\nk.Ud=function(a){var b=this.c;return b&&!bc(b,a)?null:this.a};k.pb=function(){return this.Va};k.Vd=function(a,b,c){c=this.Jb(c);b=this.pb(b);a=Ha(c.eb(a),this.l);return 1==b?a:Ga(a,b,this.l)};function kw(a,b,c){var d=void 0!==c?c:a.c;c=a.Jb(d);if(a.G&&d.g){var e=b;b=e[0];a=sc(c,e);d=uc(d);Qa(d,a)?b=e:(e=ib(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.Xf(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.D();c=(c=f?nc(c,f,e):c.a?c.a[e]:null)?ua(c,d,a):!0}return c?b:null}\nk.va=function(){this.a.clear();this.s()};k.Mg=oa;function lw(a,b){Lc.call(this,a);this.tile=b}u(lw,Lc);function mw(a){iw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.Hc?this.Hc.bind(this):ew;this.urls=null;a.urls?this.cb(a.urls):a.url&&this.ib(a.url);a.tileUrlFunction&&this.bb(a.tileUrlFunction)}u(mw,iw);k=mw.prototype;k.ob=function(){return this.tileLoadFunction};\nk.qb=function(){return this.tileUrlFunction};k.rb=function(){return this.urls};k.Fi=function(a){a=a.target;switch(a.V()){case 1:this.b(new lw(\"tileloadstart\",a));break;case 2:this.b(new lw(\"tileloadend\",a));break;case 3:this.b(new lw(\"tileloaderror\",a))}};k.wb=function(a){this.a.clear();this.tileLoadFunction=a;this.s()};k.bb=function(a,b){this.tileUrlFunction=a;\"undefined\"!==typeof b?jw(this,b):this.s()};\nk.ib=function(a){var b=this.urls=fw(a);this.bb(this.Hc?this.Hc.bind(this):cw(b,this.tileGrid),a)};k.cb=function(a){this.urls=a;var b=a.join(\"\\n\");this.bb(this.Hc?this.Hc.bind(this):cw(a,this.tileGrid),b)};k.Mg=function(a,b,c){a=this.Tb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function W(a){mw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:nw,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=a.tileClass?a.tileClass:Ks;this.f={};this.u={};this.Ha=a.reprojectionErrorThreshold;this.C=\n!1}u(W,mw);k=W.prototype;k.Ei=function(){if(hw(this.a))return!0;for(var a in this.f)if(hw(this.f[a]))return!0;return!1};k.ld=function(a,b){var c=this.Ud(a);this.a.ld(this.a==c?b:{});for(var d in this.f){var e=this.f[d];e.ld(e==c?b:{})}};k.Rf=function(a){return this.c&&a&&!bc(this.c,a)?0:this.Sf()};k.Sf=function(){return 0};k.Uf=function(a){return this.c&&a&&!bc(this.c,a)?!1:mw.prototype.Uf.call(this,a)};\nk.Jb=function(a){var b=this.c;return!this.tileGrid||b&&!bc(b,a)?(b=w(a).toString(),b in this.u||(this.u[b]=tc(a)),this.u[b]):this.tileGrid};k.Ud=function(a){var b=this.c;if(!b||bc(b,a))return this.a;a=w(a).toString();a in this.f||(this.f[a]=new gw(this.a.highWaterMark));return this.f[a]};function ow(a,b,c,d,e,f,g){b=[b,c,d];e=(c=kw(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:\"\",a.crossOrigin,a.tileLoadFunction);e.key=g;z(e,\"change\",a.Fi,a);return e}\nk.Pc=function(a,b,c,d,e){if(this.c&&e&&!bc(this.c,e)){var f=this.Ud(e);c=[a,b,c];var g;a=this.Tb.apply(this,c);f.b.hasOwnProperty(a)&&(g=f.get(a));b=this.wc;if(g&&g.key==b)return g;var h=this.c,l=this.Jb(h),m=this.Jb(e),n=kw(this,c,e);d=new aw(h,l,e,m,c,n,this.pb(d),this.Sf(),function(a,b,c,d){return pw(this,a,b,c,d,h)}.bind(this),this.Ha,this.C);d.key=b;g?(d.a=g,f.replace(a,d)):f.set(a,d);return d}return pw(this,a,b,c,d,e)};\nfunction pw(a,b,c,d,e,f){var g,h=a.Tb(b,c,d),l=a.wc;if(a.a.b.hasOwnProperty(h)){if(g=a.a.get(h),g.key!=l){var m=g;g=ow(a,b,c,d,e,f,l);0==m.V()?g.a=m.a:g.a=m;if(g.a){b=g.a;c=g;do{if(2==b.V()){b.a=null;break}else 1==b.V()?c=b:0==b.V()?c.a=b.a:c=b;b=c.a}while(b)}a.a.replace(h,g)}}else g=ow(a,b,c,d,e,f,l),a.a.set(h,g);return g}k.Ob=function(a){if(this.C!=a){this.C=a;for(var b in this.f)this.f[b].clear();this.s()}};k.Pb=function(a,b){var c=Tb(a);c&&(c=w(c).toString(),c in this.u||(this.u[c]=b))};\nfunction nw(a,b){a.Y().src=b};function qw(a){this.A=void 0!==a.hidpi?a.hidpi:!1;W.call(this,{cacheSize:a.cacheSize,crossOrigin:\"anonymous\",opaque:!0,projection:Tb(\"EPSG:3857\"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:\"loading\",tileLoadFunction:a.tileLoadFunction,tilePixelRatio:this.A?2:1,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.I=void 0!==a.culture?a.culture:\"en-us\";this.v=void 0!==a.maxZoom?a.maxZoom:-1;this.i=a.key;this.o=a.imagerySet;$v(\"https://dev.virtualearth.net/REST/v1/Imagery/Metadata/\"+this.o+\"?uriScheme=https&include=ImageryProviders&key=\"+\nthis.i,this.fa.bind(this),void 0,\"jsonp\")}u(qw,W);var rw=new xc({html:'Terms of Use'});qw.prototype.T=function(){return this.i};qw.prototype.ea=function(){return this.o};\nqw.prototype.fa=function(a){if(200!=a.statusCode||\"OK\"!=a.statusDescription||\"ValidCredentials\"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)Vt(this,\"error\");else{var b=a.brandLogoUri;-1==b.indexOf(\"https\")&&(b=b.replace(\"http\",\"https\"));var c=a.resourceSets[0].resources[0],d=-1==this.v?c.zoomMax:this.v;a=uc(this.c);var e=wc({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:(c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight])/this.pb()});\nthis.tileGrid=e;var f=this.I,g=this.A;this.tileUrlFunction=dw(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace(\"{subdomain}\",a).replace(\"{culture}\",f);return function(a){if(a)return ic(a[0],a[1],-a[2]-1,b),a=d,g&&(a+=\"&dpi=d1&device=mobile\"),a.replace(\"{quadkey}\",jc(b))}}));if(c.imageryProviders){var h=Sb(Tb(\"EPSG:4326\"),this.c);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;\na=pb([a[1],a[0],a[3],a[2]],h);var g,l;for(g=b;g<=f;++g)l=g.toString(),b=nc(e,a,g),l in c?c[l].push(b):c[l]=[b]});return new xc({html:b,tileRanges:c})});a.push(rw);this.ua(a)}this.Z=b;Vt(this,\"ready\")}};function sw(a){a=a||{};var b=void 0!==a.projection?a.projection:\"EPSG:3857\",c=void 0!==a.tileGrid?a.tileGrid:wc({extent:uc(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,\nwrapX:void 0!==a.wrapX?a.wrapX:!0})}u(sw,W);function tw(a){this.v=a.account;this.A=a.map||\"\";this.i=a.config||{};this.o={};sw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:\"loading\",wrapX:a.wrapX});uw(this)}u(tw,sw);k=tw.prototype;k.Gk=function(){return this.i};k.iq=function(a){qb(this.i,a);uw(this)};k.Np=function(a){this.i=a||{};uw(this)};\nfunction uw(a){var b=JSON.stringify(a.i);if(a.o[b])vw(a,a.o[b]);else{var c=\"https://\"+a.v+\".cartodb.com/api/v1/map\";a.A&&(c+=\"/named/\"+a.A);var d=new XMLHttpRequest;d.addEventListener(\"load\",a.yl.bind(a,b));d.addEventListener(\"error\",a.xl.bind(a));d.open(\"POST\",c);d.setRequestHeader(\"Content-type\",\"application/json\");d.send(JSON.stringify(a.i))}}\nk.yl=function(a,b){var c=b.target;if(!c.status||200<=c.status&&300>c.status){var d;try{d=JSON.parse(c.responseText)}catch(e){Vt(this,\"error\");return}vw(this,d);this.o[a]=d;Vt(this,\"ready\")}else Vt(this,\"error\")};k.xl=function(){Vt(this,\"error\")};function vw(a,b){a.ib(\"https://\"+b.cdn_url.https+\"/\"+a.v+\"/api/v1/map/\"+b.layergroupid+\"/{z}/{x}/{y}.png\")};function X(a){T.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.C=void 0;this.I=void 0!==a.distance?a.distance:20;this.A=[];this.Qa=a.geometryFunction||function(a){a=a.U();sa(a instanceof E,10);return a};this.v=a.source;this.v.J(\"change\",X.prototype.bj,this)}u(X,T);k=X.prototype;k.Qn=function(){return this.I};k.Rn=function(){return this.v};k.Xd=function(a,b,c){this.v.Xd(a,b,c);b!==this.C&&(this.clear(),this.C=b,ww(this),this.gd(this.A))};\nk.Op=function(a){this.I=a;this.bj()};k.bj=function(){this.clear();ww(this);this.gd(this.A);this.s()};function ww(a){if(void 0!==a.C){a.A.length=0;for(var b=Ja(),c=a.I*a.C,d=a.v.We(),e={},f=0,g=d.length;fm*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};qb(e,this.f);d=yw(d,e);d=new Gs(a,b,c,this.j,d,this.I,this.i);z(d,\"change\",this.l,this)}else d=null;this.N=d;this.A=this.g;return d};k.Yn=function(){return this.i};k.ao=function(a){qb(this.f,a);this.s()};k.$n=function(a){this.N=null;this.i=a;this.s()};function Bw(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=a.imageLoadFunction?a.imageLoadFunction:Fv;zv.call(this,{attributions:a.attributions,logo:a.logo,projection:Tb(a.projection)});this.N=new Gs(b,void 0,1,this.j,a.url,c,d);this.i=a.imageSize?a.imageSize:null;z(this.N,\"change\",this.l,this)}u(Bw,zv);Bw.prototype.Lc=function(a){return nb(a,this.N.D())?this.N:null};\nBw.prototype.l=function(a){if(2==this.N.V()){var b=this.N.D(),c=this.N.Y(),d,e;this.i?(d=this.i[0],e=this.i[1]):(d=c.width,e=c.height);b=Math.ceil(ib(b)/(jb(b)/e));if(b!=d){var b=hd(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.N.Hg(f)}}zv.prototype.l.call(this,a)};function Cw(a){a=a||{};zv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.fa=void 0!==a.crossOrigin?a.crossOrigin:null;this.f=a.url;this.u=a.imageLoadFunction?a.imageLoadFunction:Fv;this.i=a.params||{};this.o=!0;Dw(this);this.T=a.serverType;this.na=void 0!==a.hidpi?a.hidpi:!0;this.N=null;this.A=[0,0];this.I=0;this.C=void 0!==a.ratio?a.ratio:1.5}u(Cw,zv);var Ew=[101,101];k=Cw.prototype;\nk.io=function(a,b,c,d){if(void 0!==this.f){var e=lb(a,b,0,Ew),f={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};qb(f,this.i,d);d=Math.floor((e[3]-a[1])/b);f[this.o?\"I\":\"X\"]=Math.floor((a[0]-e[0])/b);f[this.o?\"J\":\"Y\"]=d;return Fw(this,e,Ew,1,Tb(c),f)}};k.ko=function(){return this.i};\nk.Lc=function(a,b,c,d){if(void 0===this.f)return null;b=Av(this,b);1==c||this.na&&void 0!==this.T||(c=1);var e=b/c,f=kb(a),g=lb(f,e,0,[Math.ceil(ib(a)/e),Math.ceil(jb(a)/e)]);a=lb(f,e,0,[Math.ceil(this.C*ib(a)/e),Math.ceil(this.C*jb(a)/e)]);if((f=this.N)&&this.I==this.g&&f.resolution==b&&f.a==c&&Ua(f.D(),g))return f;g={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetMap\",FORMAT:\"image/png\",TRANSPARENT:!0};qb(g,this.i);this.A[0]=Math.round(ib(a)/e);this.A[1]=Math.round(jb(a)/e);d=Fw(this,a,this.A,c,d,g);\nthis.N=new Gs(a,b,c,this.j,d,this.fa,this.u);this.I=this.g;z(this.N,\"change\",this.l,this);return this.N};k.jo=function(){return this.u};\nfunction Fw(a,b,c,d,e,f){sa(void 0!==a.f,9);f[a.o?\"CRS\":\"SRS\"]=e.nb;\"STYLES\"in a.i||(f.STYLES=\"\");if(1!=d)switch(a.T){case \"geoserver\":d=90*d+.5|0;f.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in f?f.FORMAT_OPTIONS+(\";dpi:\"+d):\"dpi:\"+d;break;case \"mapserver\":f.MAP_RESOLUTION=90*d;break;case \"carmentaserver\":case \"qgis\":f.DPI=90*d;break;default:sa(!1,8)}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.o&&\"ne\"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(\",\");return yw(a.f,f)}k.lo=function(){return this.f};\nk.mo=function(a){this.N=null;this.u=a;this.s()};k.no=function(a){a!=this.f&&(this.f=a,this.N=null,this.s())};k.oo=function(a){qb(this.i,a);Dw(this);this.N=null;this.s()};function Dw(a){a.o=0<=We(a.i.VERSION||\"1.3.0\")};function Gw(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Hw];sw.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:\"anonymous\",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:\"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png\",wrapX:a.wrapX})}u(Gw,sw);var Hw=new xc({html:'© OpenStreetMap contributors.'});(function(){var a={},b={ma:a};(function(c){if(\"object\"===typeof a&&\"undefined\"!==typeof b)b.ma=c();else{var d;\"undefined\"!==typeof window?d=window:\"undefined\"!==typeof global?d=global:\"undefined\"!==typeof self?d=self:d=this;d.Cq=c()}})(function(){return function d(a,b,g){function e(h,l){if(!b[h]){if(!a[h]){var m=\"function\"==typeof require&&require;if(!l&&m)return m(h,!0);if(f)return f(h,!0);m=Error(\"Cannot find module '\"+h+\"'\");throw m.code=\"MODULE_NOT_FOUND\",m;}m=b[h]={ma:{}};a[h][0].call(m.ma,function(b){var d=\na[h][1][b];return e(d?d:b)},m,m.ma,d,a,b,g)}return b[h].ma}for(var f=\"function\"==typeof require&&require,m=0;mthis.bk;)this.Fd.shift().jd(null,null)};l.prototype.Vg=function(){if(0===this.oe&&0Stamen Design, under CC BY 3.0.'}),Hw],Rw={terrain:{Ib:\"jpg\",opaque:!0},\"terrain-background\":{Ib:\"jpg\",opaque:!0},\"terrain-labels\":{Ib:\"png\",opaque:!1},\"terrain-lines\":{Ib:\"png\",opaque:!1},\"toner-background\":{Ib:\"png\",opaque:!0},toner:{Ib:\"png\",opaque:!0},\"toner-hybrid\":{Ib:\"png\",opaque:!1},\"toner-labels\":{Ib:\"png\",opaque:!1},\"toner-lines\":{Ib:\"png\",opaque:!1},\"toner-lite\":{Ib:\"png\",\nopaque:!0},watercolor:{Ib:\"jpg\",opaque:!0}},Qw={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};function Tw(a){a=a||{};W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.i=a.params||{};this.o=Ja();jw(this,Uw(this))}u(Tw,W);function Uw(a){var b=0,c=[],d;for(d in a.i)c[b++]=d+\"-\"+a.i[d];return c.join(\"/\")}Tw.prototype.v=function(){return this.i};\nTw.prototype.pb=function(a){return a};\nTw.prototype.Hc=function(a,b,c){var d=this.tileGrid;d||(d=this.Jb(c));if(!(d.b.length<=a[0])){var e=d.Ua(a,this.o),f=Ha(d.eb(a[0]),this.l);1!=b&&(f=Ga(f,b,this.l));d={F:\"image\",FORMAT:\"PNG32\",TRANSPARENT:!0};qb(d,this.i);var g=this.urls;g?(c=c.nb.split(\":\").pop(),d.SIZE=f[0]+\",\"+f[1],d.BBOX=e.join(\",\"),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[Da((a[1]<a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ue();return}this.Ci(b)}else this.Ue()};k.po=function(){this.Ue()};k.kl=function(){return this.i};\nk.Ci=function(a){var b=Tb(\"EPSG:4326\"),c=this.c,d;if(a.bounds){var e=Sb(b,c);d=pb(a.bounds,e)}var f=a.minzoom||0,e=a.maxzoom||22;this.tileGrid=c=wc({extent:uc(c),maxZoom:e,minZoom:f});this.tileUrlFunction=cw(a.tiles,c);if(void 0!==a.attribution&&!this.j){b=void 0!==d?d:b.D();d={};for(var g;f<=e;++f)g=f.toString(),d[g]=[nc(c,b,f)];this.ua([new xc({html:a.attribution,tileRanges:d})])}this.i=a;Vt(this,\"ready\")};k.Ue=function(){Vt(this,\"error\")};function Yw(a){iw.call(this,{projection:Tb(\"EPSG:3857\"),state:\"loading\"});this.u=void 0!==a.preemptive?a.preemptive:!0;this.o=ew;this.f=void 0;this.i=a.jsonp||!1;if(a.url)if(this.i)$v(a.url,this.jg.bind(this),this.Ve.bind(this));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",this.uo.bind(this));b.addEventListener(\"error\",this.to.bind(this));b.open(\"GET\",a.url);b.send()}else a.tileJSON?this.jg(a.tileJSON):sa(!1,51)}u(Yw,iw);k=Yw.prototype;\nk.uo=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ve();return}this.jg(b)}else this.Ve()};k.to=function(){this.Ve()};k.hl=function(){return this.f};k.vk=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Ae(a,b),Zw(this.Pc(b[0],b[1],b[2],1,this.c),a,c,d,e)):!0===e?setTimeout(function(){c.call(d,null)},0):c.call(d,null)};k.Ve=function(){Vt(this,\"error\")};\nk.jg=function(a){var b=Tb(\"EPSG:4326\"),c=this.c,d;if(a.bounds){var e=Sb(b,c);d=pb(a.bounds,e)}var f=a.minzoom||0,e=a.maxzoom||22;this.tileGrid=c=wc({extent:uc(c),maxZoom:e,minZoom:f});this.f=a.template;var g=a.grids;if(g){this.o=cw(g,c);if(void 0!==a.attribution){b=void 0!==d?d:b.D();for(d={};f<=e;++f)g=f.toString(),d[g]=[nc(c,b,f)];this.ua([new xc({html:a.attribution,tileRanges:d})])}Vt(this,\"ready\")}else Vt(this,\"error\")};\nk.Pc=function(a,b,c,d,e){var f=this.Tb(a,b,c);if(this.a.b.hasOwnProperty(f))return this.a.get(f);a=[a,b,c];b=kw(this,a,e);d=this.o(b,d,e);d=new $w(a,void 0!==d?0:4,void 0!==d?d:\"\",this.tileGrid.Ua(a),this.u,this.i);this.a.set(f,d);return d};k.Mg=function(a,b,c){a=this.Tb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function $w(a,b,c,d,e,f){Is.call(this,a,b);this.o=c;this.g=d;this.v=e;this.c=this.l=this.f=null;this.u=f}u($w,Is);k=$w.prototype;k.Y=function(){return null};\nk.getData=function(a){if(!this.f||!this.l)return null;var b=this.f[Math.floor((1-(a[1]-this.g[1])/(this.g[3]-this.g[1]))*this.f.length)];if(\"string\"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.g[0])/(this.g[2]-this.g[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.l&&(b=this.l[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};\nfunction Zw(a,b,c,d,e){0==a.state&&!0===e?(Gc(a,\"change\",function(){c.call(d,this.getData(b))},a),ax(a)):!0===e?setTimeout(function(){c.call(d,this.getData(b))}.bind(a),0):c.call(d,a.getData(b))}k.hb=function(){return this.o};k.Ce=function(){this.state=3;this.s()};k.Di=function(a){this.f=a.grid;this.l=a.keys;this.c=a.data;this.state=4;this.s()};\nfunction ax(a){if(0==a.state)if(a.state=1,a.u)$v(a.o,a.Di.bind(a),a.Ce.bind(a));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",a.so.bind(a));b.addEventListener(\"error\",a.ro.bind(a));b.open(\"GET\",a.o);b.send()}}k.so=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ce();return}this.Di(b)}else this.Ce()};k.ro=function(){this.Ce()};k.load=function(){this.v&&ax(this)};function bx(a){a=a||{};var b=a.params||{};W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!(\"TRANSPARENT\"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.v=void 0!==a.gutter?a.gutter:0;this.i=b;this.o=!0;this.A=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.I=\"\";\ncx(this);this.ea=Ja();dx(this);jw(this,ex(this))}u(bx,W);k=bx.prototype;\nk.vo=function(a,b,c,d){c=Tb(c);var e=this.tileGrid;e||(e=this.Jb(c));b=e.Ae(a,b);if(!(e.b.length<=b[0])){var f=e.La(b[0]),g=e.Ua(b,this.ea),e=Ha(e.eb(b[0]),this.l),h=this.v;h&&(e=Fa(e,h,this.l),g=Ma(g,f*h,g));h={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};qb(h,this.i,d);d=Math.floor((g[3]-a[1])/f);h[this.o?\"I\":\"X\"]=Math.floor((a[0]-g[0])/f);h[this.o?\"J\":\"Y\"]=d;return fx(this,b,e,g,1,c,h)}};k.Sf=function(){return this.v};\nk.Tb=function(a,b,c){return this.I+W.prototype.Tb.call(this,a,b,c)};k.wo=function(){return this.i};\nfunction fx(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.o?\"CRS\":\"SRS\"]=f.nb;\"STYLES\"in a.i||(g.STYLES=\"\");if(1!=e)switch(a.A){case \"geoserver\":c=90*e+.5|0;g.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in g?g.FORMAT_OPTIONS+(\";dpi:\"+c):\"dpi:\"+c;break;case \"mapserver\":g.MAP_RESOLUTION=90*e;break;case \"carmentaserver\":case \"qgis\":g.DPI=90*e;break;default:sa(!1,52)}f=f.b;a.o&&\"ne\"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(\",\");return yw(1==h.length?h[0]:h[Da((b[1]<<\nb[0])+b[2],h.length)],g)}}k.pb=function(a){return this.T&&void 0!==this.A?a:1};function cx(a){var b=0,c=[];if(a.urls){var d,e;d=0;for(e=a.urls.length;df||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case ox:for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1;break;default:sa(!1,53)}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d=b+this.b&&f.height>=c+this.b)return h={offsetX:f.x+this.b,offsetY:f.y+this.b,image:this.i},this.c[a]=h,d.call(e,this.g,f.x+this.b,f.y+this.b),a=g,b+=this.b,d=c+this.b,f.width-b>f.height-d?(c={x:f.x+b,y:f.y,width:f.width-b,height:f.height},b={x:f.x,y:f.y+d,width:b,height:f.height-d},rx(this,a,c,b)):(c={x:f.x+b,y:f.y,width:f.width-b,height:d},b={x:f.x,y:f.y+d,width:f.width,height:f.height-d},rx(this,\na,c,b)),h;return null};function rx(a,b,c,d){b=[b,1];0this.g||c+this.b>this.g)return null;d=tx(this,!1,a,b,c,d,f);if(!d)return null;a=tx(this,!0,a,b,c,e?e:oa,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Ul:a.image}};\nfunction tx(a,b,c,d,e,f,g){var h=b?a.f:a.i,l,m,n;m=0;for(n=h.length;ma?qd(2*a):1-qd(2*(a-.5))});t(\"ol.extent.boundingExtent\",Ia);t(\"ol.extent.buffer\",Ma);\nt(\"ol.extent.containsCoordinate\",Qa);t(\"ol.extent.containsExtent\",Ua);t(\"ol.extent.containsXY\",Sa);t(\"ol.extent.createEmpty\",Ja);t(\"ol.extent.equals\",$a);t(\"ol.extent.extend\",ab);t(\"ol.extent.getBottomLeft\",cb);t(\"ol.extent.getBottomRight\",db);t(\"ol.extent.getCenter\",kb);t(\"ol.extent.getHeight\",jb);t(\"ol.extent.getIntersection\",mb);t(\"ol.extent.getSize\",function(a){return[a[2]-a[0],a[3]-a[1]]});t(\"ol.extent.getTopLeft\",fb);t(\"ol.extent.getTopRight\",eb);t(\"ol.extent.getWidth\",ib);\nt(\"ol.extent.intersects\",nb);t(\"ol.extent.isEmpty\",hb);t(\"ol.extent.applyTransform\",pb);t(\"ol.Feature\",I);I.prototype.clone=I.prototype.clone;I.prototype.getGeometry=I.prototype.U;I.prototype.getId=I.prototype.sm;I.prototype.getGeometryName=I.prototype.Mk;I.prototype.getStyle=I.prototype.tm;I.prototype.getStyleFunction=I.prototype.Rc;I.prototype.setGeometry=I.prototype.Ta;I.prototype.setStyle=I.prototype.cg;I.prototype.setId=I.prototype.lc;I.prototype.setGeometryName=I.prototype.Yc;\nt(\"ol.featureloader.xhr\",Dl);t(\"ol.Geolocation\",us);us.prototype.getAccuracy=us.prototype.zk;us.prototype.getAccuracyGeometry=us.prototype.Ak;us.prototype.getAltitude=us.prototype.Ck;us.prototype.getAltitudeAccuracy=us.prototype.Dk;us.prototype.getHeading=us.prototype.um;us.prototype.getPosition=us.prototype.vm;us.prototype.getProjection=us.prototype.Nh;us.prototype.getSpeed=us.prototype.gl;us.prototype.getTracking=us.prototype.Oh;us.prototype.getTrackingOptions=us.prototype.zh;\nus.prototype.setProjection=us.prototype.Ph;us.prototype.setTracking=us.prototype.Je;us.prototype.setTrackingOptions=us.prototype.sj;t(\"ol.Graticule\",As);As.prototype.getMap=As.prototype.ym;As.prototype.getMeridians=As.prototype.Wk;As.prototype.getParallels=As.prototype.cl;As.prototype.setMap=As.prototype.setMap;t(\"ol.has.DEVICE_PIXEL_RATIO\",Td);t(\"ol.has.CANVAS\",Vd);t(\"ol.has.DEVICE_ORIENTATION\",Wd);t(\"ol.has.GEOLOCATION\",Xd);t(\"ol.has.TOUCH\",Yd);t(\"ol.has.WEBGL\",Nd);Gs.prototype.getImage=Gs.prototype.Y;\nGs.prototype.load=Gs.prototype.load;Ks.prototype.getImage=Ks.prototype.Y;t(\"ol.inherits\",u);t(\"ol.interaction.defaults\",oh);t(\"ol.Kinetic\",ig);t(\"ol.loadingstrategy.all\",St);t(\"ol.loadingstrategy.bbox\",function(a){return[a]});t(\"ol.loadingstrategy.tile\",function(a){return function(b,c){var d=a.Qc(c),e=nc(a,b,d),f=[],d=[d,0,0];for(d[1]=e.da;d[1]<=e.ba;++d[1])for(d[2]=e.ga;d[2]<=e.ja;++d[2])f.push(a.Ua(d));return f}});t(\"ol.Map\",H);H.prototype.addControl=H.prototype.gk;H.prototype.addInteraction=H.prototype.hk;\nH.prototype.addLayer=H.prototype.$g;H.prototype.addOverlay=H.prototype.ah;H.prototype.forEachFeatureAtPixel=H.prototype.we;H.prototype.forEachLayerAtPixel=H.prototype.Em;H.prototype.hasFeatureAtPixel=H.prototype.Tl;H.prototype.getEventCoordinate=H.prototype.Of;H.prototype.getEventPixel=H.prototype.xe;H.prototype.getTarget=H.prototype.Wf;H.prototype.getTargetElement=H.prototype.vc;H.prototype.getCoordinateFromPixel=H.prototype.Xa;H.prototype.getControls=H.prototype.Hk;H.prototype.getOverlays=H.prototype.al;\nH.prototype.getOverlayById=H.prototype.$k;H.prototype.getInteractions=H.prototype.Nk;H.prototype.getLayerGroup=H.prototype.Mc;H.prototype.getLayers=H.prototype.Qh;H.prototype.getPixelFromCoordinate=H.prototype.Ka;H.prototype.getSize=H.prototype.Nb;H.prototype.getView=H.prototype.$;H.prototype.getViewport=H.prototype.nl;H.prototype.renderSync=H.prototype.Jp;H.prototype.render=H.prototype.render;H.prototype.removeControl=H.prototype.Cp;H.prototype.removeInteraction=H.prototype.Dp;\nH.prototype.removeLayer=H.prototype.Fp;H.prototype.removeOverlay=H.prototype.Gp;H.prototype.setLayerGroup=H.prototype.lj;H.prototype.setSize=H.prototype.Ig;H.prototype.setTarget=H.prototype.Ke;H.prototype.setView=H.prototype.Yp;H.prototype.updateSize=H.prototype.Cd;Hd.prototype.originalEvent=Hd.prototype.originalEvent;Hd.prototype.pixel=Hd.prototype.pixel;Hd.prototype.coordinate=Hd.prototype.coordinate;Hd.prototype.dragging=Hd.prototype.dragging;Gd.prototype.map=Gd.prototype.map;\nGd.prototype.frameState=Gd.prototype.frameState;t(\"ol.Object\",Qc);Qc.prototype.get=Qc.prototype.get;Qc.prototype.getKeys=Qc.prototype.P;Qc.prototype.getProperties=Qc.prototype.M;Qc.prototype.set=Qc.prototype.set;Qc.prototype.setProperties=Qc.prototype.H;Qc.prototype.unset=Qc.prototype.R;Uc.prototype.key=Uc.prototype.key;Uc.prototype.oldValue=Uc.prototype.oldValue;t(\"ol.Observable\",Pc);t(\"ol.Observable.unByKey\",function(a){if(Array.isArray(a))for(var b=0,c=a.length;be&&(e=0);f=c.TileMatrixSetLink[e].TileMatrixSet;g=c.TileMatrixSetLink[e].TileMatrixSetLimits;var h=c.Format[0];\"format\"in b&&(h=b.format);e=ma(c.Style,function(a){return\"style\"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var l={};\"Dimension\"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);l[b]=c});var m=ia(a.Contents.TileMatrixSet,function(a){return a.Identifier==f}),n;n=\"projection\"in b?Tb(b.projection):Tb(m.SupportedCRS.replace(/urn:ogc:def:crs:(\\w+):(.*:)?(\\w+)$/,\n\"$1:$3\"));var p=c.WGS84BoundingBox,q,r;void 0!==p&&(r=Tb(\"EPSG:4326\").D(),r=p[0]==r[0]&&p[2]==r[2],q=gc(p,\"EPSG:4326\",n),(p=n.D())&&(Ua(p,q)||(q=void 0)));g=kx(m,q,g);var v=[],m=b.requestEncoding,m=void 0!==m?m:\"\";if(\"OperationsMetadata\"in a&&\"GetTile\"in a.OperationsMetadata){q=a.OperationsMetadata.GetTile.DCP.HTTP.Get;for(var p=0,x=q.length;p 60) {\n return 60;\n }\n }\n return zone;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_zone.js\n// module id = 384\n// module chunks = 0","import hypot from './hypot';\nimport log1py from './log1py';\n\nexport default function(x) {\n var y = Math.abs(x);\n y = log1py(y * (1 + y / (hypot(1, y) + 1)));\n\n return x < 0 ? -y : y;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinhy.js\n// module id = 385\n// module chunks = 0","export default function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens.js\n// module id = 386\n// module chunks = 0","import sinh from './sinh';\nimport cosh from './cosh';\n\nexport default function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = sinh(arg_i);\n var cosh_arg_i = cosh(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens_cmplx.js\n// module id = 387\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/cosh.js\n// module id = 388\n// module chunks = 0","export default function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gatg.js\n// module id = 389\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * HALF_PI);\n }\n else {\n return HALF_PI;\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/iqsfnz.js\n// module id = 390\n// module chunks = 0","export default function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/log1py.js\n// module id = 391\n// module chunks = 0","export default function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/srat.js\n// module id = 392\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.wgs84 = {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n};\n\nexports.ch1903 = {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n};\n\nexports.ggrs87 = {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n};\n\nexports.nad83 = {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n};\n\nexports.nad27 = {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n};\n\nexports.potsdam = {\n towgs84: \"606.0,23.0,413.0\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n};\n\nexports.carthage = {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n};\n\nexports.hermannskogel = {\n towgs84: \"653.0,-212.0,449.0\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n};\n\nexports.ire65 = {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n};\n\nexports.rassadiran = {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n};\n\nexports.nzgd49 = {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n};\n\nexports.osgb36 = {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Airy 1830\"\n};\n\nexports.s_jtsk = {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n};\n\nexports.beduaram = {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n};\n\nexports.gunung_segara = {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n};\n\nexports.rnb72 = {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Datum.js\n// module id = 393\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n};\n\nexports.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n};\n\nexports.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n};\n\nexports.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n};\n\nexports.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n};\n\nexports.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n};\n\nexports.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n};\n\nexports.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n};\n\nexports.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n};\n\nexports.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n};\n\nexports.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n};\n\nexports.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n};\n\nexports.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n};\n\nexports.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n};\n\nexports.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n};\n\nexports.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n};\n\nexports.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n};\n\nexports.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n};\n\nexports.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n};\n\nexports.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n};\n\nexports.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n};\n\nexports.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n};\n\nexports.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n};\n\nexports.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n};\n\nexports.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n};\n\nexports.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n};\n\nexports.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n};\n\nexports.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n};\n\nexports.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n};\n\nexports.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n};\n\nexports.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n};\n\nexports.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n};\n\nexports.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n};\n\nexports.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n};\n\nexports.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n};\n\nexports.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n};\n\nexports.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n};\n\nexports.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n};\n\nexports.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n};\n\nexports.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n};\n\nexports.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n};\n\nexport var WGS84 = exports.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n};\n\nexports.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Ellipsoid.js\n// module id = 394\n// module chunks = 0","var exports = {};\nexport {exports as default};\n\nexports.greenwich = 0.0; //\"0dE\",\nexports.lisbon = -9.131906111111; //\"9d07'54.862\\\"W\",\nexports.paris = 2.337229166667; //\"2d20'14.025\\\"E\",\nexports.bogota = -74.080916666667; //\"74d04'51.3\\\"W\",\nexports.madrid = -3.687938888889; //\"3d41'16.58\\\"W\",\nexports.rome = 12.452333333333; //\"12d27'8.4\\\"E\",\nexports.bern = 7.439583333333; //\"7d26'22.5\\\"E\",\nexports.jakarta = 106.807719444444; //\"106d48'27.79\\\"E\",\nexports.ferro = -17.666666666667; //\"17d40'W\",\nexports.brussels = 4.367975; //\"4d22'4.71\\\"E\",\nexports.stockholm = 18.058277777778; //\"18d3'29.8\\\"E\",\nexports.athens = 23.7163375; //\"23d42'58.815\\\"E\",\nexports.oslo = 10.722916666667; //\"10d43'22.5\\\"E\"\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/PrimeMeridian.js\n// module id = 395\n// module chunks = 0","export default {\n ft: {to_meter: 0.3048},\n 'us-ft': {to_meter: 1200 / 3937}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/units.js\n// module id = 396\n// module chunks = 0","import proj from './Proj';\nimport transform from './transform';\nvar wgs84 = proj('WGS84');\n\nfunction transformer(from, to, coords) {\n var transformedArray;\n if (Array.isArray(coords)) {\n transformedArray = transform(from, to, coords);\n if (coords.length === 3) {\n return [transformedArray.x, transformedArray.y, transformedArray.z];\n }\n else {\n return [transformedArray.x, transformedArray.y];\n }\n }\n else {\n return transform(from, to, coords);\n }\n}\n\nfunction checkProj(item) {\n if (item instanceof proj) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return proj(item);\n}\nfunction proj4(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n }\n else {\n obj = {\n forward: function(coords) {\n return transformer(fromProj, toProj, coords);\n },\n inverse: function(coords) {\n return transformer(toProj, fromProj, coords);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n}\nexport default proj4;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/core.js\n// module id = 397\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_WGS84, PJD_NODATUM, SEC_TO_RAD} from './constants/values';\n\nfunction datum(datumCode, datum_params, a, b, es, ep2) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = PJD_NODATUM;\n } else {\n out.datum_type = PJD_WGS84;\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = PJD_3PARAM;\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = PJD_7PARAM;\n out.datum_params[3] *= SEC_TO_RAD;\n out.datum_params[4] *= SEC_TO_RAD;\n out.datum_params[5] *= SEC_TO_RAD;\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n}\n\nexport default datum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum.js\n// module id = 398\n// module chunks = 0","'use strict';\nimport {PJD_3PARAM, PJD_7PARAM, HALF_PI} from './constants/values';\nexport function compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === PJD_3PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === PJD_7PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n} // cs_compare_datums()\n\n/*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\nexport function geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI) {\n Latitude = -HALF_PI;\n } else if (Latitude > HALF_PI && Latitude < 1.001 * HALF_PI) {\n Latitude = HALF_PI;\n } else if ((Latitude < -HALF_PI) || (Latitude > HALF_PI)) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return null;\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n} // cs_geodetic_to_geocentric()\n\nexport function geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = HALF_PI;\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n} // cs_geocentric_to_geodetic()\n\n/****************************************************************/\n// pj_geocentic_to_wgs84( p )\n// p = point to transform in geocentric coordinates (x,y,z)\n\n\n/** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n*/\nexport function geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n} // cs_geocentric_to_wgs84\n\n/****************************************************************/\n// pj_geocentic_from_wgs84()\n// coordinate system definition,\n// point to transform in geocentric coordinates (x,y,z)\nexport function geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datumUtils.js\n// module id = 399\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_NODATUM} from './constants/values';\n\nimport {geodeticToGeocentric, geocentricToGeodetic, geocentricToWgs84, geocentricFromWgs84, compareDatums} from './datumUtils';\nfunction checkParams(type) {\n return (type === PJD_3PARAM || type === PJD_7PARAM);\n}\n\nexport default function(source, dest, point) {\n // Short cut if the datums are identical.\n if (compareDatums(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === PJD_NODATUM || dest.datum_type === PJD_NODATUM) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n\n // Do we need to go through geocentric coordinates?\n if (source.es === dest.es && source.a === dest.a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = geodeticToGeocentric(point, source.es, source.a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = geocentricToWgs84(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = geocentricFromWgs84(point, dest.datum_type, dest.datum_params);\n }\n return geocentricToGeodetic(point, dest.es, dest.a, dest.b);\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum_transform.js\n// module id = 400\n// module chunks = 0","import {SIXTH, RA4, RA6, EPSLN} from './constants/values';\nimport {default as Ellipsoid, WGS84} from './constants/Ellipsoid';\nimport match from './match';\n\nexport function eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (SIXTH + es * (RA4 + es * RA6));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n}\nexport function sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = match(Ellipsoid, ellps);\n if (!ellipse) {\n ellipse = WGS84;\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < EPSLN) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/deriveConstants.js\n// module id = 401\n// module chunks = 0","export default function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/extend.js\n// module id = 402\n// module chunks = 0","export default function(defs) {\n defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n defs('EPSG:4269', \"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\");\n defs('EPSG:3857', \"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\");\n\n defs.WGS84 = defs['EPSG:4326'];\n defs['EPSG:3785'] = defs['EPSG:3857']; // maintain backward compat, official code is 3857\n defs.GOOGLE = defs['EPSG:3857'];\n defs['EPSG:900913'] = defs['EPSG:3857'];\n defs['EPSG:102113'] = defs['EPSG:3857'];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/global.js\n// module id = 403\n// module chunks = 0","import proj4 from './core';\nimport Proj from \"./Proj\";\nimport Point from \"./Point\";\nimport common from \"./common/toPoint\";\nimport defs from \"./defs\";\nimport transform from \"./transform\";\nimport mgrs from \"mgrs\";\nimport version from \"./version\";\nimport includedProjections from \"../projs\";\n\nproj4.defaultDatum = 'WGS84'; //default datum\nproj4.Proj = Proj;\nproj4.WGS84 = new proj4.Proj('WGS84');\nproj4.Point = Point;\nproj4.toPoint = common;\nproj4.defs = defs;\nproj4.transform = transform;\nproj4.mgrs = mgrs;\nproj4.version = version;\nincludedProjections(proj4);\nexport default proj4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/index.js\n// module id = 404\n// module chunks = 0","import defs from './defs';\nimport wkt from 'wkt-parser';\nimport projStr from './projString';\nfunction testObj(code){\n return typeof code === 'string';\n}\nfunction testDef(code){\n return code in defs;\n}\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS']; \nfunction testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n}\nfunction testProj(code){\n return code[0] === '+';\n}\nfunction parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return defs[code];\n }\n if (testWKT(code)) {\n return wkt(code);\n }\n if (testProj(code)) {\n return projStr(code);\n }\n }else{\n return code;\n }\n}\n\nexport default parse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/parseCode.js\n// module id = 405\n// module chunks = 0","import merc from \"./projections/merc\";\nimport longlat from \"./projections/longlat\";\nvar projs = [merc, longlat];\nvar names = {};\nvar projStore = [];\n\nfunction add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n}\n\nexport {add};\n\nexport function get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n}\n\nexport function start() {\n projs.forEach(add);\n}\nexport default {\n start: start,\n add: add,\n get: get\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections.js\n// module id = 406\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs1 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs2 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n}\n\n/* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = qsfnz(this.e3, this.sin_phi, this.cos_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * adjust_lon(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = adjust_lon(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n}\n\n/* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n-------------------------------------------*/\nexport function phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = asinz(0.5 * qs);\n if (eccent < EPSLN) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n}\n\nexport var names = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n phi1z: phi1z\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aea.js\n// module id = 407\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport asinz from '../common/asinz';\nimport imlfn from '../common/imlfn';\n\n\n\nexport function init() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = adjust_lon(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n p.x = this.x0 + this.a * (HALF_PI - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (HALF_PI - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n p.x = this.x0 + this.a * (HALF_PI + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (HALF_PI + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c / Math.sin(c);\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = gN(this.a, this.e, this.sin_p12);\n Nl = gN(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= EPSLN) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n}\n\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * HALF_PI * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n }\n else {\n lat = asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = adjust_lon(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = gN(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = adjust_lon(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n lat = Math.atan((1 - this.es * F * this.sin_p12 / Math.sin(psi)) * Math.tan(psi) / (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n}\n\nexport var names = [\"Azimuthal_Equidistant\", \"aeqd\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aeqd.js\n// module id = 408\n// module chunks = 0","import mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nexport function init() {\n if (!this.sphere) {\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n}\n\n/* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = adjust_lon(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = gN(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = imlfn(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - HALF_PI) <= EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = gN(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = adjust_lon(lam + this.long0);\n p.y = adjust_lat(phi);\n return p;\n\n}\n\nexport var names = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cass.js\n// module id = 409\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport qsfnz from '../common/qsfnz';\nimport msfnz from '../common/msfnz';\nimport iqsfnz from '../common/iqsfnz';\n\n/*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n*/\nexport function init() {\n //no-op\n if (!this.sphere) {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n}\n\n/* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = qsfnz(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);\n lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"cea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cea.js\n// module id = 410\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\n\nexport function init() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n}\n\n// forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = adjust_lon(lon - this.long0);\n var dlat = adjust_lat(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n}\n\n// inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = adjust_lon(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = adjust_lat(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n}\n\nexport var names = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqc.js\n// module id = 411\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport msfnz from '../common/msfnz';\nimport mlfn from '../common/mlfn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml1 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < EPSLN) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml2 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n}\n\n/* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = mlfn(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + theta / this.ns);\n lat = adjust_lat(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = imlfn(ml, this.e0, this.e1, this.e2, this.e3);\n lon = adjust_lon(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n}\n\nexport var names = [\"Equidistant_Conic\", \"eqdc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqdc.js\n// module id = 412\n// module chunks = 0","import srat from '../common/srat';\nvar MAX_ITER = 20;\nimport {HALF_PI, FORTPI} from '../constants/values';\n\nexport function init() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + FORTPI) / (Math.pow(Math.tan(0.5 * this.lat0 + FORTPI), this.C) * srat(this.e * sphi, this.ratexp));\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + FORTPI), this.C) * srat(this.e * Math.sin(lat), this.ratexp)) - HALF_PI;\n p.x = this.C * lon;\n return p;\n}\n\nexport function inverse(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + FORTPI) / this.K, 1 / this.C);\n for (var i = MAX_ITER; i > 0; --i) {\n lat = 2 * Math.atan(num * srat(this.e * Math.sin(p.y), - 0.5 * this.e)) - HALF_PI;\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gauss\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gauss.js\n// module id = 413\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\n/*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n}\n\n/* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = asinz(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = adjust_lon(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gnom\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gnom.js\n// module id = 414\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n}\n\n/* ellipsoid */\n/* calculate xy from lat/lon */\n/* Constants, identical to inverse transform function */\nexport function forward(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = adjust_lon(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n}\n\n/* calculate lat/lon from xy */\nexport function inverse(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n}\n\nexport var names = [\"Krovak\", \"krovak\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/krovak.js\n// module id = 415\n// module chunks = 0","\nimport {HALF_PI, EPSLN, FORTPI} from '../constants/values';\n\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\nexport var S_POLE = 1;\n\nexport var N_POLE = 2;\nexport var EQUIT = 3;\nexport var OBLIQ = 4;\n\n/* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\nexport function init() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - HALF_PI) < EPSLN) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < EPSLN) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = qsfnz(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = qsfnz(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n}\n\n/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = adjust_lon(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= EPSLN) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.phi0) < EPSLN) {\n return null;\n }\n y = FORTPI - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = qsfnz(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = HALF_PI + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - HALF_PI;\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < EPSLN) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= EPSLN) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= EPSLN) ? this.phi0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = HALF_PI - phi;\n break;\n case this.S_POLE:\n phi -= HALF_PI;\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < EPSLN) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = adjust_lon(this.long0 + lam);\n p.y = phi;\n return p;\n}\n\n/* determine latitude from authalic latitude */\nvar P00 = 0.33333333333333333333;\n\nvar P01 = 0.17222222222222222222;\nvar P02 = 0.10257936507936507936;\nvar P10 = 0.06388888888888888888;\nvar P11 = 0.06640211640211640211;\nvar P20 = 0.01641501294219154443;\n\nfunction authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n}\n\nfunction authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n}\n\nexport var names = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/laea.js\n// module id = 416\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport sign from '../common/sign';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {HALF_PI, EPSLN} from '../constants/values';\nexport function init() {\n\n // array of: r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north\n //double c_lat; /* center latitude */\n //double c_lon; /* center longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = msfnz(this.e, sin1, cos1);\n var ts1 = tsfnz(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = msfnz(this.e, sin2, cos2);\n var ts2 = tsfnz(this.e, this.lat2, sin2);\n\n var ts0 = tsfnz(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n}\n\n// Lambert Conformal conic forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= EPSLN) {\n lat = sign(lat) * (HALF_PI - 2 * EPSLN);\n }\n\n var con = Math.abs(Math.abs(lat) - HALF_PI);\n var ts, rh1;\n if (con > EPSLN) {\n ts = tsfnz(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n}\n\n// Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -HALF_PI;\n }\n lon = adjust_lon(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Lambert Tangential Conformal Conic Projection\", \"Lambert_Conformal_Conic\", \"Lambert_Conformal_Conic_2SP\", \"lcc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/lcc.js\n// module id = 417\n// module chunks = 0","export function init() {\n //no-op for longlat\n}\n\nfunction identity(pt) {\n return pt;\n}\nexport {identity as forward};\nexport {identity as inverse};\nexport var names = [\"longlat\", \"identity\"];\nexport default {\n init: init,\n forward: identity,\n inverse: identity,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/longlat.js\n// module id = 418\n// module chunks = 0","import msfnz from '../common/msfnz';\n\nimport adjust_lon from '../common/adjust_lon';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport {FORTPI, R2D, EPSLN, HALF_PI} from '../constants/values';\nexport function init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n}\n\n/* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * R2D > 90 && lat * R2D < -90 && lon * R2D > 180 && lon * R2D < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(FORTPI + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = tsfnz(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n}\n\n/* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\nexport function inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = HALF_PI - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = adjust_lon(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/merc.js\n// module id = 419\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n/* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\nexport function init() {\n //no-op\n}\n\n/* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = adjust_lon(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Miller_Cylindrical\", \"mill\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/mill.js\n// module id = 420\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nexport function init() {}\nimport {EPSLN} from '../constants/values';\n/* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n for (var i = 0; true; i++) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < EPSLN) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < EPSLN) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = adjust_lon(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mollweide\", \"moll\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/moll.js\n// module id = 421\n// module chunks = 0","import {SEC_TO_RAD} from '../constants/values';\n\n/*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n/**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\nexport var iterations = 1;\n\nexport function init() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n}\n\n/**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / SEC_TO_RAD * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n}\n\n/**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * SEC_TO_RAD * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"New_Zealand_Map_Grid\", \"nzmg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/nzmg.js\n// module id = 422\n// module chunks = 0","import tsfnz from '../common/tsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {EPSLN, HALF_PI, FORTPI} from '../constants/values';\n\n/* Initialize the Oblique Mercator projection\n ------------------------------------------*/\nexport function init() {\n this.no_off = this.no_off || false;\n this.no_rot = this.no_rot || false;\n\n if (isNaN(this.k0)) {\n this.k0 = 1;\n }\n var sinlat = Math.sin(this.lat0);\n var coslat = Math.cos(this.lat0);\n var con = this.e * sinlat;\n\n this.bl = Math.sqrt(1 + this.es / (1 - this.es) * Math.pow(coslat, 4));\n this.al = this.a * this.bl * this.k0 * Math.sqrt(1 - this.es) / (1 - con * con);\n var t0 = tsfnz(this.e, this.lat0, sinlat);\n var dl = this.bl / coslat * Math.sqrt((1 - this.es) / (1 - con * con));\n if (dl * dl < 1) {\n dl = 1;\n }\n var fl;\n var gl;\n if (!isNaN(this.longc)) {\n //Central point and azimuth method\n\n if (this.lat0 >= 0) {\n fl = dl + Math.sqrt(dl * dl - 1);\n }\n else {\n fl = dl - Math.sqrt(dl * dl - 1);\n }\n this.el = fl * Math.pow(t0, this.bl);\n gl = 0.5 * (fl - 1 / fl);\n this.gamma0 = Math.asin(Math.sin(this.alpha) / dl);\n this.long0 = this.longc - Math.asin(gl * Math.tan(this.gamma0)) / this.bl;\n\n }\n else {\n //2 points method\n var t1 = tsfnz(this.e, this.lat1, Math.sin(this.lat1));\n var t2 = tsfnz(this.e, this.lat2, Math.sin(this.lat2));\n if (this.lat0 >= 0) {\n this.el = (dl + Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n else {\n this.el = (dl - Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n var hl = Math.pow(t1, this.bl);\n var ll = Math.pow(t2, this.bl);\n fl = this.el / hl;\n gl = 0.5 * (fl - 1 / fl);\n var jl = (this.el * this.el - ll * hl) / (this.el * this.el + ll * hl);\n var pl = (ll - hl) / (ll + hl);\n var dlon12 = adjust_lon(this.long1 - this.long2);\n this.long0 = 0.5 * (this.long1 + this.long2) - Math.atan(jl * Math.tan(0.5 * this.bl * (dlon12)) / pl) / this.bl;\n this.long0 = adjust_lon(this.long0);\n var dlon10 = adjust_lon(this.long1 - this.long0);\n this.gamma0 = Math.atan(Math.sin(this.bl * (dlon10)) / gl);\n this.alpha = Math.asin(dl * Math.sin(this.gamma0));\n }\n\n if (this.no_off) {\n this.uc = 0;\n }\n else {\n if (this.lat0 >= 0) {\n this.uc = this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n else {\n this.uc = -1 * this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n }\n\n}\n\n/* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var dlon = adjust_lon(lon - this.long0);\n var us, vs;\n var con;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n if (lat > 0) {\n con = -1;\n }\n else {\n con = 1;\n }\n vs = this.al / this.bl * Math.log(Math.tan(FORTPI + con * this.gamma0 * 0.5));\n us = -1 * con * HALF_PI * this.al / this.bl;\n }\n else {\n var t = tsfnz(this.e, lat, Math.sin(lat));\n var ql = this.el / Math.pow(t, this.bl);\n var sl = 0.5 * (ql - 1 / ql);\n var tl = 0.5 * (ql + 1 / ql);\n var vl = Math.sin(this.bl * (dlon));\n var ul = (sl * Math.sin(this.gamma0) - vl * Math.cos(this.gamma0)) / tl;\n if (Math.abs(Math.abs(ul) - 1) <= EPSLN) {\n vs = Number.POSITIVE_INFINITY;\n }\n else {\n vs = 0.5 * this.al * Math.log((1 - ul) / (1 + ul)) / this.bl;\n }\n if (Math.abs(Math.cos(this.bl * (dlon))) <= EPSLN) {\n us = this.al * this.bl * (dlon);\n }\n else {\n us = this.al * Math.atan2(sl * Math.cos(this.gamma0) + vl * Math.sin(this.gamma0), Math.cos(this.bl * dlon)) / this.bl;\n }\n }\n\n if (this.no_rot) {\n p.x = this.x0 + us;\n p.y = this.y0 + vs;\n }\n else {\n\n us -= this.uc;\n p.x = this.x0 + vs * Math.cos(this.alpha) + us * Math.sin(this.alpha);\n p.y = this.y0 + us * Math.cos(this.alpha) - vs * Math.sin(this.alpha);\n }\n return p;\n}\n\nexport function inverse(p) {\n var us, vs;\n if (this.no_rot) {\n vs = p.y - this.y0;\n us = p.x - this.x0;\n }\n else {\n vs = (p.x - this.x0) * Math.cos(this.alpha) - (p.y - this.y0) * Math.sin(this.alpha);\n us = (p.y - this.y0) * Math.cos(this.alpha) + (p.x - this.x0) * Math.sin(this.alpha);\n us += this.uc;\n }\n var qp = Math.exp(-1 * this.bl * vs / this.al);\n var sp = 0.5 * (qp - 1 / qp);\n var tp = 0.5 * (qp + 1 / qp);\n var vp = Math.sin(this.bl * us / this.al);\n var up = (vp * Math.cos(this.gamma0) + sp * Math.sin(this.gamma0)) / tp;\n var ts = Math.pow(this.el / Math.sqrt((1 + up) / (1 - up)), 1 / this.bl);\n if (Math.abs(up - 1) < EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n }\n else if (Math.abs(up + 1) < EPSLN) {\n p.x = this.long0;\n p.y = -1 * HALF_PI;\n }\n else {\n p.y = phi2z(this.e, ts);\n p.x = adjust_lon(this.long0 - Math.atan2(sp * Math.cos(this.gamma0) - vp * Math.sin(this.gamma0), Math.cos(this.bl * us / this.al)) / this.bl);\n }\n return p;\n}\n\nexport var names = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"omerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/omerc.js\n// module id = 423\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nexport function init() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n}\n\n/* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = asinz(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = asinz(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"ortho\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/ortho.js\n// module id = 424\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport mlfn from '../common/mlfn';\nimport {EPSLN} from '../constants/values';\n\nimport gN from '../common/gN';\nvar MAX_ITER = 20;\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n}\n\n/* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = adjust_lon(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (adjust_lat(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = gN(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= EPSLN) {\n lon = adjust_lon(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n lon = adjust_lon(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= EPSLN) {\n lat = 0;\n lon = adjust_lon(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = adjust_lon(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Polyconic\", \"poly\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/poly.js\n// module id = 425\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport pj_enfn from '../common/pj_enfn';\nvar MAX_ITER = 20;\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = pj_enfn(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n}\n\n/* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\nexport function forward(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = adjust_lon(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < EPSLN) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * pj_mlfn(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = asinz((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = asinz(Math.sin(lat) / this.n);\n }\n lon = adjust_lon(lon + this.long0);\n lat = adjust_lat(lat);\n }\n else {\n lat = pj_inv_mlfn(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < HALF_PI) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = adjust_lon(temp);\n }\n else if ((s - EPSLN) < HALF_PI) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Sinusoidal\", \"sinu\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sinu.js\n// module id = 426\n// module chunks = 0","/*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme à axe oblique et pour la transformation entre\n des systèmes de référence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\nexport function init() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n}\n\nexport function forward(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n}\n\nexport function inverse(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n}\n\nexport var names = [\"somerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/somerc.js\n// module id = 427\n// module chunks = 0","import {EPSLN, HALF_PI} from '../constants/values';\n\nimport sign from '../common/sign';\nimport msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (HALF_PI + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n}\n\nexport function init() {\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * (1 + sign(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * this.cons * msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / tsfnz(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = msfnz(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - HALF_PI;\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n}\n\n// Stereographic forward equations--mapping lat,long to x,y\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = adjust_lon(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= EPSLN && Math.abs(lat + this.lat0) <= EPSLN) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - HALF_PI;\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= EPSLN) {\n ts = tsfnz(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < EPSLN) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n}\n\n//* Stereographic inverse equations--mapping x,y to lat/long\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (0.5 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= EPSLN) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < EPSLN) {\n if (this.lat0 > 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (rh <= EPSLN) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * phi2z(this.e, ts);\n lon = this.con * adjust_lon(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= EPSLN) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * phi2z(this.e, Math.tan(0.5 * (HALF_PI + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n}\n\nexport var names = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n ssfn_: ssfn_\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/stere.js\n// module id = 428\n// module chunks = 0","import gauss from './gauss';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n gauss.init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n}\n\nexport function forward(p) {\n var sinc, cosc, cosl, k;\n p.x = adjust_lon(p.x - this.long0);\n gauss.forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n}\n\nexport function inverse(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n gauss.inverse.apply(this, [p]);\n p.x = adjust_lon(p.x + this.long0);\n return p;\n}\n\nexport var names = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"Polar_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sterea.js\n// module id = 429\n// module chunks = 0","// Heavily based on this tmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\nimport pj_enfn from '../common/pj_enfn';\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport adjust_lon from '../common/adjust_lon';\n\nimport {EPSLN, HALF_PI} from '../constants/values';\nimport sign from '../common/sign';\n\nexport function init() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.ml0 = pj_mlfn(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n}\n\n/**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < EPSLN) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > EPSLN) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > EPSLN ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = pj_mlfn(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\n/**\n Transverse Mercator Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = adjust_lon(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = pj_inv_mlfn(con, this.es, this.en);\n\n if (Math.abs(phi) < HALF_PI) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > EPSLN ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = adjust_lon(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = HALF_PI * sign(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Transverse_Mercator\", \"Transverse Mercator\", \"tmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/tmerc.js\n// module id = 430\n// module chunks = 0","import adjust_zone from '../common/adjust_zone';\nimport etmerc from './etmerc';\nexport var dependsOn = 'etmerc';\nimport {D2R} from '../constants/values';\n\n\nexport function init() {\n var zone = adjust_zone(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * D2R;\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n etmerc.init.apply(this);\n this.forward = etmerc.forward;\n this.inverse = etmerc.inverse;\n}\n\nexport var names = [\"Universal Transverse Mercator System\", \"utm\"];\nexport default {\n init: init,\n names: names,\n dependsOn: dependsOn\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/utm.js\n// module id = 431\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n/* Initialize the Van Der Grinten projection\n ----------------------------------------*/\nexport function init() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n}\n\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= EPSLN) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = asinz(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= EPSLN) || (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN)) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\nexport function inverse(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < EPSLN) {\n lon = this.long0;\n }\n else {\n lon = adjust_lon(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/vandg.js\n// module id = 432\n// module chunks = 0","export {version as default} from '../package.json';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/version.js\n// module id = 433\n// module chunks = 0","module.exports = {\n\t\"_args\": [\n\t\t[\n\t\t\t{\n\t\t\t\t\"raw\": \"proj4@^2.4.3\",\n\t\t\t\t\"scope\": null,\n\t\t\t\t\"escapedName\": \"proj4\",\n\t\t\t\t\"name\": \"proj4\",\n\t\t\t\t\"rawSpec\": \"^2.4.3\",\n\t\t\t\t\"spec\": \">=2.4.3 <3.0.0\",\n\t\t\t\t\"type\": \"range\"\n\t\t\t},\n\t\t\t\"E:\\\\codeRepository\\\\github\\\\HMap\"\n\t\t]\n\t],\n\t\"_cnpm_publish_time\": 1488570791097,\n\t\"_from\": \"proj4@>=2.4.3 <3.0.0\",\n\t\"_hasShrinkwrap\": false,\n\t\"_id\": \"proj4@2.4.3\",\n\t\"_inCache\": true,\n\t\"_location\": \"/proj4\",\n\t\"_nodeVersion\": \"6.9.2\",\n\t\"_npmOperationalInternal\": {\n\t\t\"host\": \"packages-18-east.internal.npmjs.com\",\n\t\t\"tmp\": \"tmp/proj4-2.4.3.tgz_1488570790416_0.3068596587982029\"\n\t},\n\t\"_npmUser\": {\n\t\t\"name\": \"cwmma\",\n\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t},\n\t\"_npmVersion\": \"4.0.5\",\n\t\"_phantomChildren\": {},\n\t\"_requested\": {\n\t\t\"raw\": \"proj4@^2.4.3\",\n\t\t\"scope\": null,\n\t\t\"escapedName\": \"proj4\",\n\t\t\"name\": \"proj4\",\n\t\t\"rawSpec\": \"^2.4.3\",\n\t\t\"spec\": \">=2.4.3 <3.0.0\",\n\t\t\"type\": \"range\"\n\t},\n\t\"_requiredBy\": [\n\t\t\"/\"\n\t],\n\t\"_resolved\": \"http://registry.npmjs.org/proj4/-/proj4-2.4.3.tgz\",\n\t\"_shasum\": \"f3bb7e631bffc047c36a1a3cc14533a03bbe9969\",\n\t\"_shrinkwrap\": null,\n\t\"_spec\": \"proj4@^2.4.3\",\n\t\"_where\": \"E:\\\\codeRepository\\\\github\\\\HMap\",\n\t\"author\": \"\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/proj4js/proj4js/issues\"\n\t},\n\t\"contributors\": [\n\t\t{\n\t\t\t\"name\": \"Mike Adair\",\n\t\t\t\"email\": \"madair@dmsolutions.ca\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Greenwood\",\n\t\t\t\"email\": \"rich@greenwoodmap.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Calvin Metcalf\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Marsden\",\n\t\t\t\"url\": \"http://www.winwaed.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"T. Mittan\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"D. Steinwand\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"S. Nelson\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"mgrs\": \"1.0.0\",\n\t\t\"wkt-parser\": \"^1.1.3\"\n\t},\n\t\"description\": \"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.\",\n\t\"devDependencies\": {\n\t\t\"chai\": \"~1.8.1\",\n\t\t\"curl\": \"git://github.com/cujojs/curl.git\",\n\t\t\"grunt\": \"~0.4.2\",\n\t\t\"grunt-cli\": \"~0.1.13\",\n\t\t\"grunt-contrib-connect\": \"~0.6.0\",\n\t\t\"grunt-contrib-jshint\": \"~1.1.0\",\n\t\t\"grunt-contrib-uglify\": \"~0.11.1\",\n\t\t\"grunt-mocha-phantomjs\": \"~0.4.0\",\n\t\t\"grunt-rollup\": \"^1.0.1\",\n\t\t\"istanbul\": \"~0.2.4\",\n\t\t\"mocha\": \"~1.17.1\",\n\t\t\"rollup\": \"^0.41.4\",\n\t\t\"rollup-plugin-json\": \"^2.0.1\",\n\t\t\"rollup-plugin-node-resolve\": \"^2.0.0\",\n\t\t\"tin\": \"~0.4.0\"\n\t},\n\t\"directories\": {\n\t\t\"test\": \"test\",\n\t\t\"doc\": \"docs\"\n\t},\n\t\"dist\": {\n\t\t\"shasum\": \"f3bb7e631bffc047c36a1a3cc14533a03bbe9969\",\n\t\t\"size\": 116887,\n\t\t\"noattachment\": false,\n\t\t\"tarball\": \"http://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n\t},\n\t\"gitHead\": \"e975a5462ad7abb23e33ea75281eb749e77e1510\",\n\t\"homepage\": \"https://github.com/proj4js/proj4js#readme\",\n\t\"license\": \"MIT\",\n\t\"main\": \"dist/proj4-src.js\",\n\t\"maintainers\": [\n\t\t{\n\t\t\t\"name\": \"ahocevar\",\n\t\t\t\"email\": \"andreas.hocevar@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"cwmma\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t}\n\t],\n\t\"module\": \"lib/index.js\",\n\t\"name\": \"proj4\",\n\t\"optionalDependencies\": {},\n\t\"publish_time\": 1488570791097,\n\t\"readme\": \"ERROR: No README data found!\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git://github.com/proj4js/proj4js.git\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"grunt\",\n\t\t\"build:tmerc\": \"grunt build:tmerc\",\n\t\t\"test\": \"npm run build && istanbul test _mocha test/test.js\"\n\t},\n\t\"version\": \"2.4.3\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/package.json\n// module id = 434\n// module chunks = 0","import tmerc from './lib/projections/tmerc';\nimport etmerc from './lib/projections/etmerc';\nimport utm from './lib/projections/utm';\nimport sterea from './lib/projections/sterea';\nimport stere from './lib/projections/stere';\nimport somerc from './lib/projections/somerc';\nimport omerc from './lib/projections/omerc';\nimport lcc from './lib/projections/lcc';\nimport krovak from './lib/projections/krovak';\nimport cass from './lib/projections/cass';\nimport laea from './lib/projections/laea';\nimport aea from './lib/projections/aea';\nimport gnom from './lib/projections/gnom';\nimport cea from './lib/projections/cea';\nimport eqc from './lib/projections/eqc';\nimport poly from './lib/projections/poly';\nimport nzmg from './lib/projections/nzmg';\nimport mill from './lib/projections/mill';\nimport sinu from './lib/projections/sinu';\nimport moll from './lib/projections/moll';\nimport eqdc from './lib/projections/eqdc';\nimport vandg from './lib/projections/vandg';\nimport aeqd from './lib/projections/aeqd';\nimport ortho from './lib/projections/ortho';\nexport default function(proj4){\n proj4.Proj.projections.add(tmerc);\n proj4.Proj.projections.add(etmerc);\n proj4.Proj.projections.add(utm);\n proj4.Proj.projections.add(sterea);\n proj4.Proj.projections.add(stere);\n proj4.Proj.projections.add(somerc);\n proj4.Proj.projections.add(omerc);\n proj4.Proj.projections.add(lcc);\n proj4.Proj.projections.add(krovak);\n proj4.Proj.projections.add(cass);\n proj4.Proj.projections.add(laea);\n proj4.Proj.projections.add(aea);\n proj4.Proj.projections.add(gnom);\n proj4.Proj.projections.add(cea);\n proj4.Proj.projections.add(eqc);\n proj4.Proj.projections.add(poly);\n proj4.Proj.projections.add(nzmg);\n proj4.Proj.projections.add(mill);\n proj4.Proj.projections.add(sinu);\n proj4.Proj.projections.add(moll);\n proj4.Proj.projections.add(eqdc);\n proj4.Proj.projections.add(vandg);\n proj4.Proj.projections.add(aeqd);\n proj4.Proj.projections.add(ortho);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/projs.js\n// module id = 435\n// module chunks = 0","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime.js\n// module id = 436\n// module chunks = 0","export default parseString;\n\nvar NEUTRAL = 1;\nvar KEYWORD = 2;\nvar NUMBER = 3;\nvar QUOTED = 4;\nvar AFTERQUOTE = 5;\nvar ENDED = -1;\nvar whitespace = /\\s/;\nvar latin = /[A-Za-z]/;\nvar keyword = /[A-Za-z84]/;\nvar endThings = /[,\\]]/;\nvar digets = /[\\d\\.E\\-\\+]/;\n// const ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nfunction Parser(text) {\n if (typeof text !== 'string') {\n throw new Error('not a string');\n }\n this.text = text.trim();\n this.level = 0;\n this.place = 0;\n this.root = null;\n this.stack = [];\n this.currentObject = null;\n this.state = NEUTRAL;\n}\nParser.prototype.readCharicter = function() {\n var char = this.text[this.place++];\n if (this.state !== QUOTED) {\n while (whitespace.test(char)) {\n if (this.place >= this.text.length) {\n return;\n }\n char = this.text[this.place++];\n }\n }\n switch (this.state) {\n case NEUTRAL:\n return this.neutral(char);\n case KEYWORD:\n return this.keyword(char)\n case QUOTED:\n return this.quoted(char);\n case AFTERQUOTE:\n return this.afterquote(char);\n case NUMBER:\n return this.number(char);\n case ENDED:\n return;\n }\n};\nParser.prototype.afterquote = function(char) {\n if (char === '\"') {\n this.word += '\"';\n this.state = QUOTED;\n return;\n }\n if (endThings.test(char)) {\n this.word = this.word.trim();\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in afterquote yet, index ' + this.place);\n};\nParser.prototype.afterItem = function(char) {\n if (char === ',') {\n if (this.word !== null) {\n this.currentObject.push(this.word);\n }\n this.word = null;\n this.state = NEUTRAL;\n return;\n }\n if (char === ']') {\n this.level--;\n if (this.word !== null) {\n this.currentObject.push(this.word);\n this.word = null;\n }\n this.state = NEUTRAL;\n this.currentObject = this.stack.pop();\n if (!this.currentObject) {\n this.state = ENDED;\n }\n\n return;\n }\n};\nParser.prototype.number = function(char) {\n if (digets.test(char)) {\n this.word += char;\n return;\n }\n if (endThings.test(char)) {\n this.word = parseFloat(this.word);\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in number yet, index ' + this.place);\n};\nParser.prototype.quoted = function(char) {\n if (char === '\"') {\n this.state = AFTERQUOTE;\n return;\n }\n this.word += char;\n return;\n};\nParser.prototype.keyword = function(char) {\n if (keyword.test(char)) {\n this.word += char;\n return;\n }\n if (char === '[') {\n var newObjects = [];\n newObjects.push(this.word);\n this.level++;\n if (this.root === null) {\n this.root = newObjects;\n } else {\n this.currentObject.push(newObjects);\n }\n this.stack.push(this.currentObject);\n this.currentObject = newObjects;\n this.state = NEUTRAL;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in keyword yet, index ' + this.place);\n};\nParser.prototype.neutral = function(char) {\n if (latin.test(char)) {\n this.word = char;\n this.state = KEYWORD;\n return;\n }\n if (char === '\"') {\n this.word = '';\n this.state = QUOTED;\n return;\n }\n if (digets.test(char)) {\n this.word = char;\n this.state = NUMBER;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in neutral yet, index ' + this.place);\n};\nParser.prototype.output = function() {\n while (this.place < this.text.length) {\n this.readCharicter();\n }\n if (this.state === ENDED) {\n return this.root;\n }\n throw new Error('unable to parse string \"' +this.text + '\". State is ' + this.state);\n};\n\nfunction parseString(txt) {\n var parser = new Parser(txt);\n return parser.output();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/parser.js\n// module id = 437\n// module chunks = 0","\n\nfunction mapit(obj, key, value) {\n if (Array.isArray(key)) {\n value.unshift(key);\n key = null;\n }\n var thing = key ? {} : obj;\n\n var out = value.reduce(function(newObj, item) {\n sExpr(item, newObj);\n return newObj\n }, thing);\n if (key) {\n obj[key] = out;\n }\n}\n\nexport function sExpr(v, obj) {\n if (!Array.isArray(v)) {\n obj[v] = true;\n return;\n }\n var key = v.shift();\n if (key === 'PARAMETER') {\n key = v.shift();\n }\n if (v.length === 1) {\n if (Array.isArray(v[0])) {\n obj[key] = {};\n sExpr(v[0], obj[key]);\n return;\n }\n obj[key] = v[0];\n return;\n }\n if (!v.length) {\n obj[key] = true;\n return;\n }\n if (key === 'TOWGS84') {\n obj[key] = v;\n return;\n }\n if (!Array.isArray(key)) {\n obj[key] = {};\n }\n\n var i;\n switch (key) {\n case 'UNIT':\n case 'PRIMEM':\n case 'VERT_DATUM':\n obj[key] = {\n name: v[0].toLowerCase(),\n convert: v[1]\n };\n if (v.length === 3) {\n sExpr(v[2], obj[key]);\n }\n return;\n case 'SPHEROID':\n case 'ELLIPSOID':\n obj[key] = {\n name: v[0],\n a: v[1],\n rf: v[2]\n };\n if (v.length === 4) {\n sExpr(v[3], obj[key]);\n }\n return;\n case 'PROJECTEDCRS':\n case 'PROJCRS':\n case 'GEOGCS':\n case 'GEOCCS':\n case 'PROJCS':\n case 'LOCAL_CS':\n case 'GEODCRS':\n case 'GEODETICCRS':\n case 'GEODETICDATUM':\n case 'EDATUM':\n case 'ENGINEERINGDATUM':\n case 'VERT_CS':\n case 'VERTCRS':\n case 'VERTICALCRS':\n case 'COMPD_CS':\n case 'COMPOUNDCRS':\n case 'ENGINEERINGCRS':\n case 'ENGCRS':\n case 'FITTED_CS':\n case 'LOCAL_DATUM':\n case 'DATUM':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n return;\n default:\n i = -1;\n while (++i < v.length) {\n if (!Array.isArray(v[i])) {\n return sExpr(v, obj[key]);\n }\n }\n return mapit(obj, key, v);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/process.js\n// module id = 438\n// module chunks = 0","module.exports = {\n\t\"name\": \"hmap-js\",\n\t\"version\": \"1.3.2\",\n\t\"private\": false,\n\t\"description\": \"WEBGIS API\",\n\t\"keywords\": [\n\t\t\"webgis\",\n\t\t\"canvas\",\n\t\t\"openlayer3\",\n\t\t\"es6\"\n\t],\n\t\"author\": \"FDD \",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/sakitam-fdd/HMap.git\"\n\t},\n\t\"main\": \"src/index.js\",\n\t\"scripts\": {\n\t\t\"build\": \"webpack --env build\",\n\t\t\"dev\": \"webpack --progress --colors --watch --env dev\",\n\t\t\"test\": \"mocha --compilers js:babel-core/register --colors ./test/*.spec.js\",\n\t\t\"test:watch\": \"mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js\"\n\t},\n\t\"dependencies\": {\n\t\t\"echarts\": \"^3.6.1\",\n\t\t\"mathjs\": \"^3.12.0\",\n\t\t\"openlayers\": \"^4.0.1\",\n\t\t\"proj4\": \"^2.4.3\"\n\t},\n\t\"devDependencies\": {\n\t\t\"babel\": \"^6.0.0\",\n\t\t\"babel-core\": \"^6.0.0\",\n\t\t\"babel-eslint\": \"^7.0.0\",\n\t\t\"babel-loader\": \"^6.0.0\",\n\t\t\"babel-polyfill\": \"^6.23.0\",\n\t\t\"babel-preset-env\": \"^1.2.1\",\n\t\t\"babel-plugin-istanbul\": \"^3.1.2\",\n\t\t\"babel-plugin-add-module-exports\": \"0.1.2\",\n\t\t\"babel-preset-es2015\": \"^6.0.0\",\n\t\t\"babel-preset-stage-3\": \"^6.24.1\",\n\t\t\"babel-plugin-transform-runtime\": \"^6.0.0\",\n\t\t\"babel-preset-stage-2\": \"^6.0.0\",\n\t\t\"babel-register\": \"^6.0.0\",\n\t\t\"eslint\": \"^3.14.1\",\n\t\t\"eslint-config-standard\": \"^6.2.1\",\n\t\t\"eslint-friendly-formatter\": \"^2.0.7\",\n\t\t\"eslint-loader\": \"^1.6.1\",\n\t\t\"eslint-plugin-html\": \"^2.0.0\",\n\t\t\"eslint-plugin-promise\": \"^3.4.0\",\n\t\t\"eslint-plugin-standard\": \"^2.0.1\",\n\t\t\"eventsource-polyfill\": \"^0.9.6\",\n\t\t\"yargs\": \"^6.0.0\",\n\t\t\"chalk\": \"^1.1.3\",\n\t\t\"mocha\": \"^2.0.0\",\n\t\t\"webpack\": \"^2.2.0\",\n\t\t\"webpack-dev-middleware\": \"^1.8.3\",\n\t\t\"webpack-hot-middleware\": \"^2.12.2\",\n\t\t\"webpack-merge\": \"^0.14.1\",\n\t\t\"friendly-errors-webpack-plugin\": \"^1.6.1\"\n\t},\n\t\"license\": \"MIT\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 439\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 4a4bfaccd7ce95d078f7","webpack:///./~/core-js/modules/_export.js","webpack:///./src/constants.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/proj4/lib/constants/values.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/proj4/lib/common/adjust_lon.js","webpack:///./src/plot/Utils/PlotTypes.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./src/plot/Utils/utils.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./src/plot/Constants.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./src/utils/mixin.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/proj4/lib/common/asinz.js","webpack:///./~/proj4/lib/common/msfnz.js","webpack:///./src/layer/Layer.js","webpack:///./src/utils/utils.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/proj4/lib/common/adjust_lat.js","webpack:///./~/proj4/lib/common/sign.js","webpack:///./src/plot/Geometry/Arrow/AttackArrow.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/proj4/lib/common/e0fn.js","webpack:///./~/proj4/lib/common/e1fn.js","webpack:///./~/proj4/lib/common/e2fn.js","webpack:///./~/proj4/lib/common/e3fn.js","webpack:///./~/proj4/lib/common/mlfn.js","webpack:///./~/proj4/lib/common/phi2z.js","webpack:///./~/proj4/lib/common/tsfnz.js","webpack:///./src/dom/index.js","webpack:///./src/feature/feature.js","webpack:///./src/style/Style.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/proj4/lib/Proj.js","webpack:///./~/proj4/lib/common/gN.js","webpack:///./~/proj4/lib/common/imlfn.js","webpack:///./~/proj4/lib/common/pj_mlfn.js","webpack:///./~/proj4/lib/common/qsfnz.js","webpack:///./~/proj4/lib/match.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/event/Events.js","webpack:///./src/plot/Event/EventType.js","webpack:///./src/plot/Geometry/Arrow/FineArrow.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/mgrs/mgrs.js","webpack:///./~/proj4/lib/common/hypot.js","webpack:///./~/proj4/lib/common/pj_enfn.js","webpack:///./~/proj4/lib/common/pj_inv_mlfn.js","webpack:///./~/proj4/lib/common/sinh.js","webpack:///./~/proj4/lib/common/toPoint.js","webpack:///./~/proj4/lib/defs.js","webpack:///./~/proj4/lib/projString.js","webpack:///./~/proj4/lib/projections/etmerc.js","webpack:///./~/proj4/lib/transform.js","webpack:///./~/wkt-parser/index.js","webpack:///./src/index.js","webpack:///./~/babel-polyfill/lib/index.js","webpack:///./src/config/config.js","webpack:///./src/dom/domUtil.js","webpack:///./src/event/appDrag.js","webpack:///./src/interaction/LayerSpyglass.js","webpack:///./src/interaction/MisplacesGlass.js","webpack:///./src/map/Controls.js","webpack:///./src/map/Interactions.js","webpack:///./src/map/Map.js","webpack:///./src/map/View.js","webpack:///./src/map/baseLayer.js","webpack:///./src/overlay/Overlay.js","webpack:///./src/overlay/Popover.js","webpack:///./src/plot/Event/PlotDraw.js","webpack:///./src/plot/Event/PlotEdit.js","webpack:///./src/plot/Geometry/Arc/Arc.js","webpack:///./src/plot/Geometry/Arrow/AssaultDirection.js","webpack:///./src/plot/Geometry/Arrow/DoubleArrow.js","webpack:///./src/plot/Geometry/Arrow/SquadCombat.js","webpack:///./src/plot/Geometry/Arrow/StraightArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedAttackArrow.js","webpack:///./src/plot/Geometry/Arrow/TailedSquadCombat.js","webpack:///./src/plot/Geometry/Circle/Circle.js","webpack:///./src/plot/Geometry/Circle/Ellipse.js","webpack:///./src/plot/Geometry/Polygon/ClosedCurve.js","webpack:///./src/plot/Geometry/Polygon/FreePolygon.js","webpack:///./src/plot/Geometry/Polygon/GatheringPlace.js","webpack:///./src/plot/Geometry/Polygon/Lune.js","webpack:///./src/plot/Geometry/Polygon/Polygon.js","webpack:///./src/plot/Geometry/Polygon/RectAngle.js","webpack:///./src/plot/Geometry/Polygon/Sector.js","webpack:///./src/plot/Geometry/Polyline/Curve.js","webpack:///./src/plot/Geometry/Polyline/FreeHandLine.js","webpack:///./src/plot/Geometry/Polyline/Polyline.js","webpack:///./src/plot/Geometry/index.js","webpack:///./src/plot/index.js","webpack:///./src/plugins/CoordsTransform.js","webpack:///./src/plugins/GeomCoder.js","webpack:///./src/plugins/LayerSwitcher.js","webpack:///./src/plugins/MeasureTool.js","webpack:///./src/style/MapboxStyle.js","webpack:///./~/core-js/fn/regexp/escape.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_keyof.js","webpack:///./~/core-js/modules/_partial.js","webpack:///./~/core-js/modules/_path.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/shim.js","webpack:///./~/openlayers/dist/ol.js","webpack:///./~/proj4/lib/Point.js","webpack:///./~/proj4/lib/adjust_axis.js","webpack:///./~/proj4/lib/common/adjust_zone.js","webpack:///./~/proj4/lib/common/asinhy.js","webpack:///./~/proj4/lib/common/clens.js","webpack:///./~/proj4/lib/common/clens_cmplx.js","webpack:///./~/proj4/lib/common/cosh.js","webpack:///./~/proj4/lib/common/gatg.js","webpack:///./~/proj4/lib/common/iqsfnz.js","webpack:///./~/proj4/lib/common/log1py.js","webpack:///./~/proj4/lib/common/srat.js","webpack:///./~/proj4/lib/constants/Datum.js","webpack:///./~/proj4/lib/constants/Ellipsoid.js","webpack:///./~/proj4/lib/constants/PrimeMeridian.js","webpack:///./~/proj4/lib/constants/units.js","webpack:///./~/proj4/lib/core.js","webpack:///./~/proj4/lib/datum.js","webpack:///./~/proj4/lib/datumUtils.js","webpack:///./~/proj4/lib/datum_transform.js","webpack:///./~/proj4/lib/deriveConstants.js","webpack:///./~/proj4/lib/extend.js","webpack:///./~/proj4/lib/global.js","webpack:///./~/proj4/lib/index.js","webpack:///./~/proj4/lib/parseCode.js","webpack:///./~/proj4/lib/projections.js","webpack:///./~/proj4/lib/projections/aea.js","webpack:///./~/proj4/lib/projections/aeqd.js","webpack:///./~/proj4/lib/projections/cass.js","webpack:///./~/proj4/lib/projections/cea.js","webpack:///./~/proj4/lib/projections/eqc.js","webpack:///./~/proj4/lib/projections/eqdc.js","webpack:///./~/proj4/lib/projections/gauss.js","webpack:///./~/proj4/lib/projections/gnom.js","webpack:///./~/proj4/lib/projections/krovak.js","webpack:///./~/proj4/lib/projections/laea.js","webpack:///./~/proj4/lib/projections/lcc.js","webpack:///./~/proj4/lib/projections/longlat.js","webpack:///./~/proj4/lib/projections/merc.js","webpack:///./~/proj4/lib/projections/mill.js","webpack:///./~/proj4/lib/projections/moll.js","webpack:///./~/proj4/lib/projections/nzmg.js","webpack:///./~/proj4/lib/projections/omerc.js","webpack:///./~/proj4/lib/projections/ortho.js","webpack:///./~/proj4/lib/projections/poly.js","webpack:///./~/proj4/lib/projections/sinu.js","webpack:///./~/proj4/lib/projections/somerc.js","webpack:///./~/proj4/lib/projections/stere.js","webpack:///./~/proj4/lib/projections/sterea.js","webpack:///./~/proj4/lib/projections/tmerc.js","webpack:///./~/proj4/lib/projections/utm.js","webpack:///./~/proj4/lib/projections/vandg.js","webpack:///./~/proj4/lib/version.js","webpack:///./~/proj4/package.json","webpack:///./~/proj4/projs.js","webpack:///./~/regenerator-runtime/runtime.js","webpack:///./~/wkt-parser/parser.js","webpack:///./~/wkt-parser/process.js","webpack:///./package.json"],"names":["X_PI","PI","a","ee","ol","proj4","config","PlotTypes","ARC","CURVE","GATHERING_PLACE","POLYLINE","FREE_LINE","POINT","RECTANGLE","CIRCLE","ELLIPSE","LUNE","SECTOR","CLOSED_CURVE","POLYGON","FREE_POLYGON","ATTACK_ARROW","DOUBLE_ARROW","STRAIGHT_ARROW","FINE_ARROW","ASSAULT_DIRECTION","TAILED_ATTACK_ARROW","SQUAD_COMBAT","TAILED_SQUAD_COMBAT","Constants","MathDistance","pnt1","pnt2","Math","sqrt","pow","wholeDistance","points","distance","Array","isArray","length","forEach","item","index","getBaseLength","Mid","point1","point2","getCircleCenterOfThreePoints","point3","pntA","pntB","pntC","pntD","getIntersectPoint","f","x","y","e","getAzimuth","startPoint","endPoint","azimuth","angle","asin","abs","getAngleOfThreePoints","isClockWise","pnt3","getPointOnLine","t","startPnt","endPnt","getCubicValue","cPnt1","cPnt2","max","min","tp","t2","t3","tp2","tp3","getThirdPoint","clockWise","alpha","dx","cos","dy","sin","inherits","childCtor","parentCtor","TempCtor","prototype","superClass_","constructor","base","me","methodName","varArgs","args","slice","call","arguments","apply","getArcPoints","center","radius","startAngle","endAngle","pnts","angleDiff","i","push","getBisectorNormals","normal","getNormal","bisectorNormalRight","bisectorNormalLeft","dt","dist","uX","uY","d1","d2","ZERO_TOLERANCE","dX1","dY1","dX2","dY2","getLeftMostControlPoint","controlPoints","controlX","controlY","normalRight","mid","pX","pY","n","nX","nY","a11","a12","a22","dX","dY","getRightMostControlPoint","count","normalLeft","getCurvePoints","leftControl","normals","normalPoints","concat","rightControl","FITTING_COUNT","pnt","getBezierPoints","bezierPoints","factor","getBinomialFactor","b","getFactorial","result","getQBSplinePoints","bSplinePoints","m","k","getQuadricBSplineFactor","res","TWO_PI","HALF_PI","mix","mixins","Mix","key","mixin","copyProperties","target","source","Reflect","ownKeys","desc","Object","getOwnPropertyDescriptor","defineProperty","MapboxStyle","Layer","map","Error","layerName","targetLayer","layers","getLayers","getArray","every","layer","get","console","log","error","currentLayer","Group","_layer","Tile","feature","tragetLayer","Feature","getSource","getFeatures","features","feat","params","vectorLayer","getLayerByLayerName","Vector","create","layerType","wrapX","style","Style","fill","Fill","color","stroke","Stroke","width","image","Circle","hasOwnProperty","set","selectable","_vectorLayer","addLayer","Heatmap","removeLayer","gradient","crossOrigin","undefined","blur","shadow","weight","extent","minResolution","maxResolution","opacity","visible","serviceUrl","ooLayer","getTitleLayerByLayerName","TileArcGISRest","url","Image","ImageWMS","LAYERS","STYLES","VERSION","WIDTH","HEIGHT","BBOX","SRS","CRS","REQUEST","TRANSPARENT","TILED","TILESORIGIN","SERVICE","FORMAT","TileWMS","proj","getStyleByParams","format","GeoJSON","join","strategy","loadingstrategy","bbox","projection","projectionExtent","getExtent","size","getWidth","levels","resolutions","matrixIds","z","WMTS","matrixSet","tileGrid","tilegrid","origin","getTopLeft","version","dimensions","TileGrid","tileSize","minZoom","XYZ","opaque","tilePixelRatio","maxZoom","tileUrlFunction","tileCoord","replace","toString","OSM","createXYZ","VectorTile","renderBuffer","renderMode","preload","MVT","overlaps","createMapboxStreetsV6Style","getrandom","t1","isNaN","random","ra","du","round","getuuid","s","hexDigits","substr","floor","stamp","obj","trim","str","splitWords","split","PlotUtils","AttackArrow","geom","Polygon","type","headHeightFactor","headWidthFactor","neckHeightFactor","neckWidthFactor","headTailFactor","setPoints","getPointCount","setCoordinates","getPoints","tailLeft","tailRight","midTail","bonePnts","headPnts","getArrowHeadPoints","neckLeft","neckRight","tailWidthFactor","bodyPnts","getArrowBodyPoints","leftPnts","rightPnts","reverse","midPnt","len","midPnt1","midPnt2","arrowPnts","neckLeftPoint","neckRightPoint","lPoints","rPoints","headHeight","headPnt","tailWidth","headWidth","neckWidth","neckHeight","headEndPnt","neckEndPnt","headLeft","headRight","allLen","widthDif","tempLen","leftBodyPnts","rightBodyPnts","w","left","right","linePnt1","linePnt2","point","symPnt","distance1","distance2","Map","value","generate","updatePoint","DomUtil","id","getFeatureById","getLayerByName","geometry","Geometry","Point","WKT","readGeometry","multiFeatures","bExtent","Infinity","zoomToExtent","adjust","bleft","getBottomLeft","tright","getTopRight","xmin","ymin","xmax","ymax","buffer","isanimation","duration","view","getView","getSize","getCenter","fit","padding","setCenter","animate","coordinate","getMapCurrentExtent","containsXY","calculateExtent","_getGeometryFromPoint","getStyleByPoint","selectStyle","setStyle","attributes","setId","setProperties","_extent","adjustExtent","createVectorLayer","addFeature","multiPoint","MultiPoint","change","pointFeat","addPoint","getGeometry","appendPoint","multiGeoms","_geom","_getExtent","_geometry","setGeometry","info","line","linefeature","paths","readFeature","getStyleByLine","lines","MultiLine","MultiLineString","polyLine","addPolyline","LineString","appendLineString","getLineStrings","polygon","polygonFeature","getStyleByPolygon","polygons","MultiPolygon","polygonFeat","addPolygon","appendPolygon","getPolygons","createHeatMapLayer","geomData","options","featureGeom","EsriJSON","Polyline","getGeomFromGeomData","setBlur","setRadius","setGradient","setVisible","setOpacity","clear","layerNames","removeFeatureByLayerName","getLayerByFeatuer","removeFeature","ids","removeFeatureById","st","normalStyle","Icon","anchor","anchorXUnits","anchorYUnits","src","_getStroke","setStroke","_getText","setText","_getFill","setFill","setImage","_getImage","icon","lineCap","lineJoin","lineDash","lineDashOffset","miterLimit","text","Text","font","offsetX","offsetY","scale","rotation","textAlign","textBaseline","bindListener_","listenerObj","boundListener","evt","listener","bindTo","callOnce","unlistenByKey","findListener_","listeners","optThis","optSetDeleteIndex","ii","deleteIndex","getListeners","listenerMap","ol_lm","getListenerMap_","removeListeners_","removeEventListener","keys","listen","optOnce","addEventListener","listenOnce","unlisten","indexOf","splice","object","property","unlistenAll","CHANGE","CLICK","DBLCLICK","DRAGENTER","DRAGOVER","DROP","ERROR","KEYDOWN","KEYPRESS","LOAD","MOUSEDOWN","MOUSEMOVE","MOUSEOUT","MOUSEUP","MOUSEWHEEL","MSPOINTERDOWN","RESIZE","TOUCHSTART","TOUCHMOVE","TOUCHEND","WHEEL","FineArrow","headAngle","neckAngle","fixPointCount","pList","utils","HMap","require","window","Utils","PlotDraw","PlotEdit","Popover","CoordsTransform","LayerSwitcher","MeasureTool","LayerSpyglass","MisplacesGlass","GeomCoder","nullFunction","interactions","altShiftDragRotate","doubleClickZoom","keyboard","mouseWheelZoom","shiftDragZoom","dragPan","pinchRotate","pinchZoom","zoomDelta","zoomDuration","controls","attribution","attributionOptions","className","rotate","rotateOptions","zoom","zoomOptions","overViewMapVisible","scaleLineVisible","enableRotation","resolution","zoomFactor","logo","document","getElementById","getChildByTagName","container","getElementsByTagName","getElementsByClassName","root","_root","$","querySelector","bind","getClass","elem","getAttribute","getStyle","el","currentStyle","defaultView","css","getComputedStyle","tagName","createElement","appendChild","remove","parent","parentNode","removeChild","empty","firstChild","toFront","toBack","insertBefore","hasClass","name","classList","contains","RegExp","test","addClass","classes","add","setClass","removeClass","String","baseVal","createHidden","element","display","getDomEventKey","fn","context","addListener","eventKey","handler","attachEvent","removeListener","detachEvent","appDrag","interaction","Pointer","handleDownEvent","handleDragEvent","handleMoveEvent","handleUpEvent","customType","coordinate_","cursor_","feature_","previousCursor_","originalEvent","button","forEachFeatureAtPixel","pixel","moveable","dispatchEvent","originEvent","deltaX","deltaY","translate","getTargetElement","cursor","imagery","mousePosition","activate","getEventPixel","event","render","which","preventDefault","renderTool","on","frameState","pixelRatio","ctx","save","beginPath","arc","lineWidth","strokeStyle","clip","restore","half","centerX","centerY","originX","originY","sourceData","getImageData","data","dest","createImageData","destData","j","dI","dJ","sourceI","sourceJ","destOffset","sourceOffset","putImageData","Controls","control","defaults","getControls","extend","ScaleLine","getZoom","delta","View","currentResolution","getResolution","newResolution","constrainResolution","getAnimating","cancelAnimations","easing","easeOut","setResolution","Interactions","addPointHandlerClick","plotDraw","plotEdit","_lastDrawInteractionGeometry","ObservableObj","defs","setProj4","currentMapLines","currentMapPoints","currentMapPolygon","lineLayers","Set","pointLayers","polygonLayers","circleSerachFeat","popupOverlay","mapDiv","_addCopyRight","addBaseLayers","_addView","_addInteractions","_addControls","loadTilesWhileAnimating","loadTilesWhileInteracting","href","updateSize","option","BaseLayers","_view","fullExtent","setExtent","isBaseLayer","_getBaseLayerGroup","layerConfig","labelLayers","_layers","labelLayersConfig","_getXYZLayer","_getWMTSLayer","_getOSMLayer","_getImageWMSLayer","_getTileWMSLayer","_getMapboxVectorTileLayer","_getBaseLayerLabel","_labelLayersLayerNames","configM","labelLayer","baseLayer","createXYZLayer","setAttributions","_getAttribution","createOSMLayer","createWMTSLayer","createImageWMSLayer","createTileWMSLayer","createMapboxVectorTileLayer","Attribution","html","Overlay","getCoordinates","_getCoordinatesFromGeom","overlay","getOverlayById","creatEle","getElementForOverlay","marker","ele","iconOverlay","positioning","offset","stopEvent","setPosition","_addOverLayEvent","addOverlay","setElement","OverLay","onmousedown","onmouseover","selectColor","onmouseout","normalColor","spanEle","eleClass","top","fontSize","borderColor","borderWidth","height","borderRadius","innerHTML","Number","addOverlayPoint","removeOverlay","_id","overLay","_overlays","overlays","getOverlays","removeOverlayById","rOverlays","removeOverlayByLayerName","overlayElement","getElement","iconElement","_overlay","_overlayElement","_iconElement","getOverlayByLayerName","content","enableTouchScroll_","insertFirst","show","coord","HTMLElement","scrollTop","hide","marginLeft","clientWidth","isOpened","isTouchDevice_","createEvent","elm","scrollStartPos","touches","pageY","Events","Observable","plot","plotType","plotParams","mapViewport","getViewport","dblClickZoomInteraction","drawOverlay","drawLayer","disActive","deactiveMapTools","mapFirstClickHandler","removeEventHandlers","activateMapTools","createPlot","setMap","un","mapNextClickHandler","freehand","mapDoubleClickHandler","mapMouseMoveHandler","finishDrawing","drawEnd","getCoordinateFromPixel","getInteractions","DoubleClickZoom","removeInteraction","addInteraction","activePlot","ghostControlPoints","mouseOver","elementTable","activeControlPointId","mapDragPan","getMapParentElement","hiddenDiv","cPnts","getControlPoints","mapElement","controlPointMouseDownHandler","controlPointMouseMoveHandler2","position","stopImmediatePropagation","controlPointMouseMoveHandler","controlPointMouseUpHandler","isPlot","deactivate","setTimeout","plotMouseOverOutHandler","initHelperDom","initControlPoints","plotMouseDownHandler","disableMapDragPan","plotMouseUpHandler","plotMouseMoveHandler","newPoints","p","setPositioning","enableMapDragPan","destroyHelperDom","disconnectEventHandlers","DragPan","setActive","Arc","angle1","angle2","AssaultDirection","DoubleArrow","connPoint","tempPoint4","getTempPoint4","leftArrowPnts","rightArrowPnts","getArrowPoints","llBodyPnts","lArrowPnts","lrBodyPnts","rlBodyPnts","rArrowPnts","rrBodyPnts","SquadCombat","tailPnts","getTailPoints","StraightArrow","maxArrowLength","arrowLengthScale","leftPnt","rightPnt","TailedAttackArrow","swallowTailFactor","swallowTailPnt","TailedSquadCombat","generatePoints","Ellipse","majorRadius","minorRadius","ClosedCurve","FreePolygon","FREEHAND_POLYGON","GatheringPlace","d","Lune","RectAngle","isFill","coordinates","boundingExtent","fromExtent","start","end","Sector","Curve","FreeHandLine","FREEHAND_LINE","Plot","_params","lng","lat","ret","outOfChina","dlat","transformlat","dlng","transformlng","radlat","magic","sqrtmagic","mglat","mglng","theta","atan2","bdLng","bdLat","lon","ggLng","ggLat","lontitude","latitude","tan","longtitude","atan","exp","factor_","GeometryLayout","XY","XYM","XYZM","geometryLayout_","geometryLayout","stride","getStrideForLayout","flatCoordinates","decodeDeltas","flipXY","_item","encodeDeltas","layout","encoded","lastNumbers","numbers","decodeFloats","num","encodeFloats","decodeSignedIntegers","encodeSignedIntegers","decodeUnsignedIntegers","encodeUnsignedIntegers","current","shift","charCodeAt","encodeUnsignedInteger","fromCharCode","optDest","optDestOffset","optCoordinates","baseLayers","_getBaseLayers","baseLayerNames","wgs84Sphere","Sphere","measureTypes","measureLength","measureArea","dragPanInteraction","clickCount","drawSketch","draw","beforeMeasurePointerMoveHandler","unByKey","drawPointermove","measureAreaTooltip","measureAreaClick","measureAreaTooltipElement","removeDrawInteraion","measureHelpTooltip","measureLengthClick","ev","addMeasureOverLay","addMeasurecircle","beforeDrawPointMoveHandler","addDrawInteraction","Draw","drawListener","getDragPanInteraction","getDoubleClickZoomInteraction","helpTooltipElement","border","whiteSpace","fontVariant","fontWeight","fontStretch","lineHeight","fontFamily","webkitUserSelect","backgroundColor","dragging","output","formatData","firstElementChild","drawPointerMoveHandler","uuid","createMeasureAreaTooltip","evts","area","getInteriorPoint","getLastCoordinate","addMeasureRemoveButton","sourceProj","getProjection","c1","transform","c2","haversineDistance","getMap","clone","getLinearRing","geodesicArea","tempMeasureTooltip","pos","btnImg","title","groupId","onclick","RemoveMeasure","closeBtn","lastCoord","items","strokedPolygon","iconCache","getIcon","iconName","imgSize","styles","cls","scalerank","labelrank","adminLevel","maritime","disputed","maki","getType","setColor","setWidth","getText","setFont"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,uBAAuB;AAC5G,mEAAmE;AACnE,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,yB;;;;;;;;;;;;;;AChCA;;;;AACA;;;;AAIA;;;;;;AAVO,IAAMA,sBAAO,sBAAsB,MAAtB,GAA+B,KAA5C;AACA,IAAMC,kBAAK,wBAAX,CACA,IAAMC,gBAAI,SAAV,CACA,IAAMC,kBAAK,sBAAX;;AASA,IAAMC,sCAAN;AACA,IAAMC,sCAAN;AACA,IAAMC,0CAAN,C;;;;;;ACnBP;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA,uCAAuC,gC;;;;;;;;;;;;;;;;;;;;;;ACHvC;AACA;AACA,kBAAyB;AACzB,oBAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,E;;;;;;ACNA;AACA;AACA,E;;;;;;ACFA;AACA;A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;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACZA,iBAAiB;;AAEjB;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;;AAEA;AACA;AACA,wCAAwC;AACxC,GAAG;AACH,E;;;;;;;;;;;;ACFO,IAAMd,wCAAgB,GAAtB;AACA,IAAM9B,0CAAiB,MAAvB;AACA,IAAM6C,0BAAS3I,KAAKjC,EAAL,GAAU,CAAzB;AACA,IAAM6K,4BAAU5I,KAAKjC,EAAL,GAAU,CAA1B,C;;;;;;ACPP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe;AACxB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,E;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD,OAAO,EAAE;AAC5D,E;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACXA,6BAA6B;AAC7B,qCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACnBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,4BAA4B;AAC5B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB,0BAA0B,GAAG;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA,OAAO;AACP;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,6CAA6C,EAAE;;AAEtG;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,mCAAmC;AACnC;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,4DAA4D;AAC5D;AACA,KAAK;AACL,sEAAsE;AACtE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,sBAAsB,EAAE,EAAE;AAChD;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,2BAA2B;AAC3B,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,aAAa;AACrC,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,uDAAuD,UAAU;;AAEjE;;AAEA,4FAA4F,wBAAwB;;AAEpH;AACA;AACA,KAAK,UAAU,cAAc;;AAE7B;AACA;AACA,KAAK;AACL;AACA,KAAK,WAAW,gCAAgC;;AAEhD;AACA;AACA;AACA,CAAC,kCAAkC,e;;;;;;AC9dnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACJA,uB;;;;;;ACAA;AACA;AACA;AACA;AACA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,E;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,UAAU;AACrC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,8BAA8B,qCAAqC;AACnE;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;;AAEA;AACA;AACA,+BAA+B,qBAAqB;AACpD,+BAA+B,SAAS,EAAE;AAC1C,CAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS,mBAAmB;AACvD,+BAA+B,aAAa;AAC5C;AACA,GAAG,UAAU;AACb;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA,CAAC,E;;;;;;ACND,yC;;;;;;ACAA;AACA;AACA,mDAAmD;AACnD;AACA,uCAAuC;AACvC,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACzBA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;ACFA;AACA;AACA,C;;;;;;;;ACFgB;;AAEhB;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBgB;;AAEhB;AACA;AACA;AACA;AACA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A;AACA,E;;;;;;;ACdA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACNA;AACA;AACA;AACA,a;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,UAAU;AACf,GAAG;AACH,E;;;;;;ACXA,6E;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA,0FAAgF,aAAa,EAAE;;AAE/F;AACA,qDAAqD,0BAA0B;AAC/E;AACA,E;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,4CAA4C,oCAAoC;AAChF,KAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,iCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,E;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,U;;;;;;ACTD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,oBAAoB,EAAE;AAC7D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,E;;;;;;ACxBA;AACA;AACA;AACA;AACA,E;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;AACb;AACA,E;;;;;;ACXA;AACA,mF;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,OAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA;AACA,OAAO,WAAW;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,gBAAgB,uBAAuB,GAAG;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA,qBAAqB;AACrB,GAAG;AACH,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;AACA;AACA,gDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,+B;;;;;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,gFAAgF,sBAAsB;AACtG,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,4B;;;;;;;;;;;;;;ACjCA;AACA;AACA;AAC6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8FAAqB;AACrB,iGAAwB;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpEA;AACA;AACA;AACA,C;;;;;;;ACHA;AACA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;ACfA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;ACdO,IAAMqT,wCAAgB,SAAhBA,aAAgB,CAAUC,WAAV,EAAuB;AAClD,MAAIC,gBAAgB,SAAhBA,aAAgB,CAAUC,GAAV,EAAe;AACjC,QAAIC,WAAWH,YAAYG,QAA3B;AACA,QAAIC,SAASJ,YAAYI,MAAZ,IAAsBJ,YAAYhW,MAA/C;AACA,QAAIgW,YAAYK,QAAhB,EAA0B;AACxBC,oBAAcN,WAAd;AACD;AACD,WAAOG,SAAS/a,IAAT,CAAcgb,MAAd,EAAsBF,GAAtB,CAAP;AACD,GAPD;AAQAF,cAAYC,aAAZ,GAA4BA,aAA5B;AACA,SAAOA,aAAP;AACD,CAXM;;AAsBA,IAAMM,wCAAgB,SAAhBA,aAAgB,CAAUC,SAAV,EAAqBL,QAArB,EAA+BM,OAA/B,EAAwCC,iBAAxC,EAA2D;AACtF,MAAIV,cAAc,IAAlB;AACA,OAAK,IAAIla,IAAI,CAAR,EAAW6a,KAAKH,UAAUnf,MAA/B,EAAuCyE,IAAI6a,EAA3C,EAA+C,EAAE7a,CAAjD,EAAoD;AAClDka,kBAAcQ,UAAU1a,CAAV,CAAd;AACA,QAAIka,YAAYG,QAAZ,KAAyBA,QAAzB,IAAqCH,YAAYI,MAAZ,KAAuBK,OAAhE,EAAyE;AACvE,UAAIC,iBAAJ,EAAuB;AACrBV,oBAAYY,WAAZ,GAA0B9a,CAA1B;AACD;AACD,aAAOka,WAAP;AACD;AACF;AACD,SAAOpS,SAAP;AACD,CAZM;;AAoBA,IAAMiT,sCAAe,SAAfA,YAAe,CAAU7W,MAAV,EAAkB8J,IAAlB,EAAwB;AAClD,MAAIgN,cAAc9W,OAAO+W,KAAzB;AACA,SAAOD,cAAcA,YAAYhN,IAAZ,CAAd,GAAkClG,SAAzC;AACD,CAHM;;AAWA,IAAMoT,4CAAkB,SAAlBA,eAAkB,CAAUhX,MAAV,EAAkB;AAC/C,MAAI8W,cAAc9W,OAAO+W,KAAzB;AACA,MAAI,CAACD,WAAL,EAAkB;AAChBA,kBAAc9W,OAAO+W,KAAP,GAAe,EAA7B;AACD;AACD,SAAOD,WAAP;AACD,CANM;;AAcA,IAAMG,8CAAmB,SAAnBA,gBAAmB,CAAUjX,MAAV,EAAkB8J,IAAlB,EAAwB;AACtD,MAAI0M,YAAYK,aAAa7W,MAAb,EAAqB8J,IAArB,CAAhB;AACA,MAAI0M,SAAJ,EAAe;AACb,SAAK,IAAI1a,IAAI,CAAR,EAAW6a,KAAKH,UAAUnf,MAA/B,EAAuCyE,IAAI6a,EAA3C,EAA+C,EAAE7a,CAAjD,EAAoD;AAClDkE,aAAOkX,mBAAP,CAA2BpN,IAA3B,EAAiC0M,UAAU1a,CAAV,EAAama,aAA9C;AACAvC,YAAM8C,UAAU1a,CAAV,CAAN;AACD;AACD0a,cAAUnf,MAAV,GAAmB,CAAnB;AACA,QAAIyf,cAAc9W,OAAO+W,KAAzB;AACA,QAAID,WAAJ,EAAiB;AACf,aAAOA,YAAYhN,IAAZ,CAAP;AACA,UAAIzJ,OAAO8W,IAAP,CAAYL,WAAZ,EAAyBzf,MAAzB,KAAoC,CAAxC,EAA2C;AACzC,eAAO2I,OAAO+W,KAAd;AACD;AACF;AACF;AACF,CAhBM;;AA2BA,IAAMK,0BAAS,SAATA,MAAS,CAAUpX,MAAV,EAAkB8J,IAAlB,EAAwBqM,QAAxB,EAAkCM,OAAlC,EAA2CY,OAA3C,EAAoD;AACxE,MAAIP,cAAcE,gBAAgBhX,MAAhB,CAAlB;AACA,MAAIwW,YAAYM,YAAYhN,IAAZ,CAAhB;AACA,MAAI,CAAC0M,SAAL,EAAgB;AACdA,gBAAYM,YAAYhN,IAAZ,IAAoB,EAAhC;AACD;AACD,MAAIkM,cAAcO,cAAcC,SAAd,EAAyBL,QAAzB,EAAmCM,OAAnC,EAA4C,KAA5C,CAAlB;AACA,MAAIT,WAAJ,EAAiB;AACf,QAAI,CAACqB,OAAL,EAAc;AAEZrB,kBAAYK,QAAZ,GAAuB,KAAvB;AACD;AACF,GALD,MAKO;AACLL,kBAA2C;AACzCI,cAAQK,OADiC;AAEzCJ,gBAAU,CAAC,CAACgB,OAF6B;AAGzClB,gBAAUA,QAH+B;AAIzCnW,cAAQA,MAJiC;AAKzC8J,YAAMA;AALmC,KAA3C;AAOA9J,WAAOsX,gBAAP,CAAwBxN,IAAxB,EAA8BiM,cAAcC,WAAd,CAA9B;AACAQ,cAAUza,IAAV,CAAeia,WAAf;AACD;AACD,SAAOA,WAAP;AACD,CAxBM;;AAkCA,IAAMuB,kCAAa,SAAbA,UAAa,CAAUvX,MAAV,EAAkB8J,IAAlB,EAAwBqM,QAAxB,EAAkCM,OAAlC,EAA2C;AACnE,SAAOW,OAAOpX,MAAP,EAAe8J,IAAf,EAAqBqM,QAArB,EAA+BM,OAA/B,EAAwC,IAAxC,CAAP;AACD,CAFM;;AAWA,IAAMe,8BAAW,SAAXA,QAAW,CAAUxX,MAAV,EAAkB8J,IAAlB,EAAwBqM,QAAxB,EAAkCM,OAAlC,EAA2C;AACjE,MAAID,YAAYK,aAAa7W,MAAb,EAAqB8J,IAArB,CAAhB;AACA,MAAI0M,SAAJ,EAAe;AACb,QAAIR,cAAcO,cAAcC,SAAd,EAAyBL,QAAzB,EAAmCM,OAAnC,EAA4C,IAA5C,CAAlB;AACA,QAAIT,WAAJ,EAAiB;AACfM,oBAAcN,WAAd;AACD;AACF;AACF,CARM;;AAcA,IAAMM,wCAAgB,SAAhBA,aAAgB,CAAUzW,GAAV,EAAe;AAC1C,MAAIA,OAAOA,IAAIG,MAAf,EAAuB;AACrBH,QAAIG,MAAJ,CAAWkX,mBAAX,CAA+BrX,IAAIiK,IAAnC,EAAyCjK,IAAIoW,aAA7C;AACA,QAAIO,YAAYK,aAAahX,IAAIG,MAAjB,EAAyBH,IAAIiK,IAA7B,CAAhB;AACA,QAAI0M,SAAJ,EAAe;AACb,UAAI1a,IAAI,iBAAiB+D,GAAjB,GAAuBA,IAAI+W,WAA3B,GAAyCJ,UAAUiB,OAAV,CAAkB5X,GAAlB,CAAjD;AACA,UAAI/D,MAAM,CAAC,CAAX,EAAc;AACZ0a,kBAAUkB,MAAV,CAAiB5b,CAAjB,EAAoB,CAApB;AACD;AACD,UAAI0a,UAAUnf,MAAV,KAAqB,CAAzB,EAA4B;AAC1B4f,yBAAiBpX,IAAIG,MAArB,EAA6BH,IAAIiK,IAAjC;AACD;AACF;AACD4J,UAAM7T,GAAN;AACD;AACF,CAfM;AAoBA,IAAM6T,wBAAQ,SAARA,KAAQ,CAAUiE,MAAV,EAAkB;AACrC,OAAK,IAAIC,QAAT,IAAqBD,MAArB,EAA6B;AAC3B,WAAOA,OAAOC,QAAP,CAAP;AACD;AACF,CAJM;;AAUA,IAAMC,oCAAc,SAAdA,WAAc,CAAU7X,MAAV,EAAkB;AAC3C,MAAI8W,cAAcE,gBAAgBhX,MAAhB,CAAlB;AACA,OAAK,IAAI8J,IAAT,IAAiBgN,WAAjB,EAA8B;AAC5BG,qBAAiBjX,MAAjB,EAAyB8J,IAAzB;AACD;AACF,CALM,C;;;;;;;;;;;;kBC1LQ;AAMbgO,UAAQ,QANK;AAObC,SAAO,OAPM;AAQbC,YAAU,UARG;AASbC,aAAW,WATE;AAUbC,YAAU,UAVG;AAWbC,QAAM,MAXO;AAYbC,SAAO,OAZM;AAabC,WAAS,SAbI;AAcbC,YAAU,UAdG;AAebC,QAAM,MAfO;AAgBbC,aAAW,WAhBE;AAiBbC,aAAW,WAjBE;AAkBbC,YAAU,UAlBG;AAmBbC,WAAS,SAnBI;AAoBbC,cAAY,YApBC;AAqBbC,iBAAe,eArBF;AAsBbC,UAAQ,QAtBK;AAuBbC,cAAY,YAvBC;AAwBbC,aAAW,WAxBE;AAyBbC,YAAU,UAzBG;AA0BbC,SAAO;AA1BM,C;;;;;;;;;;;;;;;;ACGf;;;;AACA;;AACA;;IAAYxP,S;;AACZ;;IAAYjT,S;;;;;;;;;;;;IACN0iB,S;;;AACJ,qBAAaliB,MAAb,EAAqBiL,MAArB,EAA6B;AAAA;;AAAA;;AAE3B,kBAAG0H,IAAH,CAAQC,OAAR,CAAgBzO,IAAhB,QAA2B,EAA3B;AACA,UAAK0O,IAAL,GAAY,oBAAU1T,UAAtB;AACA,UAAK4U,eAAL,GAAuB,GAAvB;AACA,UAAKd,eAAL,GAAuB,GAAvB;AACA,UAAKF,eAAL,GAAuB,IAAvB;AACA,UAAKoP,SAAL,GAAiBviB,KAAKjC,EAAL,GAAU,GAA3B;AACA,UAAKykB,SAAL,GAAiBxiB,KAAKjC,EAAL,GAAU,EAA3B;AACA,UAAK0kB,aAAL,GAAqB,CAArB;AACA,UAAKlW,GAAL,CAAS,QAAT,EAAmBlB,MAAnB;AACA,UAAKkI,SAAL,CAAenT,MAAf;AAX2B;AAY5B;;;;+BAKW;AACV,UAAI;AACF,YAAI2E,OAAO,KAAK2O,SAAL,EAAX;AADE,mBAEiB,CAAC3O,KAAK,CAAL,CAAD,EAAUA,KAAK,CAAL,CAAV,CAFjB;AAAA,YAEGjF,IAFH;AAAA,YAESC,IAFT;;AAGF,YAAI2U,MAAM7B,UAAUjS,aAAV,CAAwBmE,IAAxB,CAAV;AACA,YAAIqQ,YAAYV,MAAM,KAAKP,eAA3B;AACA,YAAImB,YAAYZ,MAAM,KAAKrB,eAA3B;AACA,YAAIgC,YAAYX,MAAM,KAAKvB,eAA3B;AACA,YAAIQ,WAAWd,UAAU1P,aAAV,CAAwBpD,IAAxB,EAA8BD,IAA9B,EAAoCF,UAAUgJ,OAA9C,EAAuDwM,SAAvD,EAAkE,IAAlE,CAAf;AACA,YAAIxB,YAAYf,UAAU1P,aAAV,CAAwBpD,IAAxB,EAA8BD,IAA9B,EAAoCF,UAAUgJ,OAA9C,EAAuDwM,SAAvD,EAAkE,KAAlE,CAAhB;AACA,YAAIM,WAAW7C,UAAU1P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKwiB,SAAzC,EAAoDlN,SAApD,EAA+D,KAA/D,CAAf;AACA,YAAIM,YAAY9C,UAAU1P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKwiB,SAAzC,EAAoDlN,SAApD,EAA+D,IAA/D,CAAhB;AACA,YAAIpB,WAAWpB,UAAU1P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKyiB,SAAzC,EAAoDlN,SAApD,EAA+D,KAA/D,CAAf;AACA,YAAIpB,YAAYrB,UAAU1P,aAAV,CAAwBrD,IAAxB,EAA8BC,IAA9B,EAAoC,KAAKyiB,SAAzC,EAAoDlN,SAApD,EAA+D,IAA/D,CAAhB;AACA,YAAIoN,QAAQ,CAAC/O,QAAD,EAAWM,QAAX,EAAqByB,QAArB,EAA+B3V,IAA/B,EAAqC4V,SAArC,EAAgDzB,SAAhD,EAA2DN,SAA3D,CAAZ;AACA,aAAKH,cAAL,CAAoB,CAACiP,KAAD,CAApB;AACD,OAfD,CAeE,OAAOhhB,CAAP,EAAU;AACV6I,gBAAQC,GAAR,CAAY9I,CAAZ;AACD;AACF;;;2BAMOmI,G,EAAK;AACX,UAAIA,OAAOA,eAAe,cAAG6M,GAA7B,EAAkC;AAChC,aAAK7M,GAAL,GAAWA,GAAX;AACD,OAFD,MAEO;AACL,cAAM,IAAIC,KAAJ,CAAU,YAAV,CAAN;AACD;AACF;;;6BAMS;AACR,aAAO,KAAKD,GAAZ;AACD;;;6BAMS;AACR,aAAO,IAAP;AACD;;;8BAMU8M,K,EAAO;AAChB,WAAKvW,MAAL,GAAc,CAACuW,KAAD,GAAS,EAAT,GAAcA,KAA5B;AACA,UAAI,KAAKvW,MAAL,CAAYI,MAAZ,IAAsB,CAA1B,EAA6B;AAC3B,aAAKoW,QAAL;AACD;AACF;;;gCAMY;AACX,aAAO,KAAKxW,MAAL,CAAYkE,KAAZ,CAAkB,CAAlB,CAAP;AACD;;;oCAMgB;AACf,aAAO,KAAKlE,MAAL,CAAYI,MAAnB;AACD;;;gCAOY8V,K,EAAO3V,K,EAAO;AACzB,UAAIA,SAAS,CAAT,IAAcA,QAAQ,KAAKP,MAAL,CAAYI,MAAtC,EAA8C;AAC5C,aAAKJ,MAAL,CAAYO,KAAZ,IAAqB2V,KAArB;AACA,aAAKM,QAAL;AACD;AACF;;;oCAMgBN,K,EAAO;AACtB,WAAKO,WAAL,CAAiBP,KAAjB,EAAwB,KAAKlW,MAAL,CAAYI,MAAZ,GAAqB,CAA7C;AACD;;;oCAKgB,CAChB;;;;EAtHsB,cAAGuS,IAAH,CAAQC,O;;kBAyHlBsP,S;;;;;;;ACnIf;AACA;AACA;AACA;AACA,E;;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACzBA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sCAAsC;AAC7C;AACA;AACA;AACA,E;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,SAAS;AACnC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,6DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,E;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;AClFA;AACA,qEAAsE,gBAAgB,UAAU,GAAG;AACnG,CAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,E;;;;;;ACXA;AACA,UAAU;AACV,E;;;;;;ACFA;AACA;AACA;AACA,E;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,UAAU,EAAE;AAC9C,mBAAmB,sCAAsC;AACzD,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,W;;;;;;AChCD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACZA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,E;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACTA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,a;;;;;;ACRD;AACA;AACA;AACA,E;;;;;;ACHA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA,mC;;;;;;;ACAA;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,wBAAwB,mEAAmE;AAC3F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,U;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;;AAEA,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,IAAI;AACf;AACA,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA,8CAA8C;AAC9C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzuBA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;ACvBA;AACc;;AAEd;;AAEA;AACA;AACA;AACA,wBAAwB,GAAG,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;;;;;;;;;;ACtDY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtIA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpKyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,OAAO;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;AC/EA;AAAA;AACA;AACc;;;;AAId;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3JA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;IAAYK,K;;;;;;AAfZ,IAAMC,OAAO,EAAb;AACAA,KAAKvS,OAAL,GAAe,mBAAAwS,CAAQ,GAAR,EAA2BxS,OAA1C;;;AAgBAuS,KAAK1kB,EAAL;AACA4kB,OAAO5kB,EAAP;AACA0kB,KAAKzkB,KAAL;AACA2kB,OAAO3kB,KAAP;AACAykB,KAAKlM,GAAL;AACAkM,KAAKG,KAAL,GAAaJ,KAAb;AACAC,KAAKI,QAAL;AACAJ,KAAKK,QAAL;AACAL,KAAKhZ,KAAL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ADtB,EACgC;AACrCP,aAAO/kC,QAAP,IAAmB4kC,QAAQU,IAAR,CAAnB;AACD;AACDP,WAAO/kC,MAAP,GAAgBA,MAAhB;AACA,WAAO+kC,MAAP;AACD,GA5RD;AA6RD,CAzTM,C;;;;;;ACPP;AACA,uD;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACfA;AACA;;AAEA;AACA;AACA,E;;;;;;;ACLA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,E;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,E;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA,E;;;;;;ACtBA,wC;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,E;;;;;;ACPA;AACA;AACA,yDAAuD;;AAEvD,8BAA8B,4BAA4B,gBAAgB,GAAG;;;;;;;ACJ7E;AACA;;AAEA,6BAA6B,qCAA4C;;AAEzE,sC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,6BAA6B,8BAA+B;;AAE5D,gC;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD,6B;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gCAAgC;AACpF;AACA;AACA,KAAK;AACL;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACpCD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;;AAEA,6BAA6B,iCAAgC,E;;;;;;;ACH7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA,CAAC,E;;;;;;;ACrBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACtBD,iC;;;;;;ACAA;AACA;;AAEA,4BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;;ACH5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC3BD;AACA;AACA;AACA;;AAEA;AACA,wEAAwE,wBAAwB,UAAU,GAAG;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACbD;AACA;;AAEA,mG;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACVA;AACA;;AAEA,gCAAgC,+BAAyB,E;;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACZF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,iEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA,4BAA4B,8BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,KAAK;AACL;AACA,uCAAuC,cAAc,OAAO;AAC5D,uCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACpEA;AACA;;AAEA,8BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;;AAEA,8BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,8BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,+EAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,2EAA2E,oBAAoB,E;;;;;;;ACH/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;AChHD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA,sBAAsB;AACtB,CAAC;AACD;AACA;AACA,kG;AACA;AACA,CAAC,E;;;;;;ACjBD;AACA;;AAEA,0CAA0C,iCAAoC,E;;;;;;ACH9E;AACA;AACA,8BAA8B,gCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,2CAA2C,E;;;;;;ACFlH;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA,8BAA8B,6BAA6B,E;;;;;;ACF3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA,8BAA8B,4CAA4C,E;;;;;;;ACF1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;ACTA;AACA;AACA;AACA,8DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;AACA;AACA,0DAA0D,oBAAoB,E;;;;;;;ACH9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,sDAAiD,oBAAoB;AACpH;AACA;AACA,GAAG,UAAU;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,gCAAgC;AACnD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uBAAuB,KAAK;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;AC1SD;AACA;AACA;AACA;AACA,qDAAmD;AACnD;AACA;AACA;AACA,qBAAqB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAoD;;AAEpD;AACA;AACA;AACA;AACA,kCAAkC;AAClC,CAAC;AACD;AACA,yBAAyB;AACzB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,GAAG;AACH,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACzBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;ACpBxC;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA,+BAA+B,kCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC,E;;;;;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,EAAE;AAC1C,wBAAwB,gBAAgB;AACxC,KAAK;AACL;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,kC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,E;;;;;;;ACrED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH,C;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,UAAU;AACV,CAAC,E;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC,E;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,oBAAoB,uBAAuB,SAAS,IAAI;AACxD,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,KAAK;AACL;AACA,sBAAsB,iCAAiC;AACvD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,oBAAoB,oBAAoB;;AAExC,0CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,eAAe,EAAE;AACzC,wBAAwB,gBAAgB;AACxC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,KAAK,QAAQ,iCAAiC;AAClG,CAAC;AACD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6EAA6E,0BAA0B;;AAEvG;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;AACD;AACA;AACA,2FAA2F;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED,sC;;;;;;AC7CA;AACA;AACA;AACA,CAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,CAAC,Q;;;;;;;ACJD;AACA;;AAEA;AACA;AACA,4BAA4B,mEAAmE;AAC/F,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC,qB;;;;;;;ACXD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,oC;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACfD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACfD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;;ACXD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,6DAA6D;AACvG;AACA,CAAC,E;;;;;;ACXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,E;;;;;;ACjBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,4BAA4B;AACpG;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA,uCAAuC;AACvC,sCAAsC,yBAAyB;AAC/D,CAAC;;AAED;AACA;AACA;;AAEA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL,GAAG;AACH;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,wBAAwB,aAAa;AACrC,KAAK;AACL;AACA,CAAC;;AAED,mDAAmD,aAAa,EAAE;;AAElE,oBAAoB,wBAAwB;;AAE5C,sC;;;;;;ACtMA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AClBF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;AChBF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,EAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA,EAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,E;;;;;;ACdF;AACA;;AAEA,uCAAuC,wCAAgD,E;;;;;;;ACHvF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;AC7BD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,e;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,a;;;;;;ACND,0C;;;;;;ACAA,uC;;;;;;ACAA;AACA;;AAEA,8BAA8B,+BAA6B,E;;;;;;ACH3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,E;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AoC,0CAA0C,kCAAkC,0CAA0C,kCAAkC,oCAAoC;AACtb,wCAAwC,+BAA+B,oCAAoC,+BAA+B,mCAAmC,wCAAwC,sCAAsC,kCAAkC,oCAAoC,0CAA0C,kCAAkC,0CAA0C,kCAAkC;AACzd,0CAA0C,wCAAwC,+BAA+B,oCAAoC,+BAA+B,mCAAmC,wCAAwC,sCAAsC,kCAAkC,oCAAoC,0CAA0C,kCAAkC,0CAA0C;AACje,oCAAoC,0CAA0C,wCAAwC,+BAA+B,oCAAoC;AACzL;AACA,CAAC;;;;;;;;;;;AC1/BwB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnDA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACdA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;AC/BA;AACA;AACA;AACA;AACA,C;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACdgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC/BA;AACA;AACA;;AAEA;AACA;;;;;;;;ACLA;AACA;AACA,C;;;;;;;ACFA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AChGA;AAAA;AACQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AClQA;AAAA;AACQ;;AAER,wBAAwB;AACxB,iCAAiC;AACjC,+BAA+B;AAC/B,kCAAkC;AAClC,iCAAiC;AACjC,+BAA+B;AAC/B,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAiC;AACjC,4BAA4B;AAC5B,oCAAoC;AACpC,4BAA4B;AAC5B,+BAA+B;;;;;;;;ACf/B;AACA,OAAO,iBAAiB;AACxB,YAAY;AACZ;;;;;;;;;;ACHA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gE;;;;;;;;AC/DmE;;AAEnE;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;AClCA;AACwC;AACxC;AACA;AACA,iBAAiB;AACjB,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH,gBAAgB;AAChB;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B,SAAS;AACT,cAAc;AACd,eAAe;AACf,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;AACR,SAAS;AACT,SAAS;AACT,SAAS;AACT;AACA;AACA,SAAS;AACT,YAAY;AACZ,YAAY;AACZ,WAAW;AACX,WAAW;AACX,YAAY;AACZ,WAAW;;AAEX;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;ACjP4C;;AAE8D;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtC+B;AACK;AACpC;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8EAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2J;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AChIA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3GA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACrEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpHA;AACA;AACwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACnDA;AACA;AACc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACxG+B;;AAE/B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACzSA;AACA;AACA;AACA;AACA;AACuB;AACvB;;AAEA;AACA,iBAAiB;AACjB,iBAAiB;AACjB,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;;AAEvB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1IA;AACA;AACA;;AAEA;AACA;AACA;AACQ;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnGA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACnDA;AACA;AACc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AClFmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AAC+B;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1KA;AACA;AACuB;;AAEvB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB,WAAW;AACX,aAAa;AACb,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,QAAQ;AACR,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;AACA;AACc;;AAEd;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,0JAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;AACuB;;AAEvB;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClHA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrFuB;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC7KA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/DA;AAAA;AACA;;AAEA;AACA;AACA;AACA;;AAEuB;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5KA;AACA;AACA;AACY;;;AAGZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC3BA;;AAEuB;;AAEvB;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChI2B;;;;;;;ACA3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;yDACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/tBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,E","file":"HMap.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"HMap\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HMap\"] = factory();\n\telse\n\t\troot[\"HMap\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 440);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4a4bfaccd7ce95d078f7","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 0\n// module chunks = 0","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 静态常量\r\n */\r\n\r\nexport const X_PI = 3.14159265358979324 * 3000.0 / 180.0\r\nexport const PI = 3.1415926535897932384626 // PI\r\nexport const a = 6378245.0 // 北京54坐标系长半轴a=6378245m\r\nexport const ee = 0.00669342162296594323\r\n\r\nimport _proj4 from 'proj4'\r\nimport _ol from 'openlayers'\r\n// import _mathjs from '../node_modules/mathjs'\r\n// import _olx from '../node_modules/openlayers/externs'\r\n\r\nimport _config from './config/config'\r\n\r\nexport const ol = _ol\r\nexport const proj4 = _proj4\r\nexport const config = _config\r\n// export const mathjs = _mathjs\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/constants.js","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 2\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 3\n// module chunks = 0","export var PJD_3PARAM = 1;\nexport var PJD_7PARAM = 2;\nexport var PJD_WGS84 = 4; // WGS84 or equivalent\nexport var PJD_NODATUM = 5; // WGS84 or equivalent\nexport var SEC_TO_RAD = 4.84813681109535993589914102357e-6;\nexport var HALF_PI = Math.PI/2;\n// ellipoid pj_set_ell.c\nexport var SIXTH = 0.1666666666666666667;\n/* 1/6 */\nexport var RA4 = 0.04722222222222222222;\n/* 17/360 */\nexport var RA6 = 0.02215608465608465608;\nexport var EPSLN = (typeof Number.EPSILON === 'undefined') ? 1.0e-10 : Number.EPSILON;\nexport var D2R = 0.01745329251994329577;\nexport var R2D = 57.29577951308232088;\nexport var FORTPI = Math.PI/4;\nexport var TWO_PI = Math.PI * 2;\n// SPI is slightly greater than Math.PI, so values that exceed the -180..180\n// degree range by a tiny amount don't get wrapped. This prevents points that\n// have drifted from their original location along the 180th meridian (due to\n// floating point error) from changing their sign.\nexport var SPI = 3.14159265359;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/values.js\n// module id = 4\n// module chunks = 0","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 5\n// module chunks = 0","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 6\n// module chunks = 0","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 7\n// module chunks = 0","\nimport {TWO_PI, SPI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lon.js\n// module id = 8\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nconst PlotTypes = {\r\n ARC: 'Arc',\r\n CURVE: 'Curve',\r\n GATHERING_PLACE: 'GatheringPlace',\r\n POLYLINE: 'Polyline',\r\n FREE_LINE: 'FreeLine',\r\n POINT: 'point',\r\n RECTANGLE: 'RectAngle',\r\n CIRCLE: 'Circle',\r\n ELLIPSE: 'Ellipse',\r\n LUNE: 'Lune',\r\n SECTOR: 'Sector',\r\n CLOSED_CURVE: 'ClosedCurve',\r\n POLYGON: 'Polygon',\r\n FREE_POLYGON: 'FreePolygon',\r\n ATTACK_ARROW: 'AttackArrow',\r\n DOUBLE_ARROW: 'DoubleArrow',\r\n STRAIGHT_ARROW: 'StraightArrow',\r\n FINE_ARROW: 'FineArrow',\r\n ASSAULT_DIRECTION: 'AssaultDirection',\r\n TAILED_ATTACK_ARROW: 'TailedAttackArrow',\r\n SQUAD_COMBAT: 'SquadCombat',\r\n TAILED_SQUAD_COMBAT: 'TailedSquadCombat'\r\n}\r\n\r\nexport default PlotTypes\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/PlotTypes.js","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 10\n// module chunks = 0","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 11\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 12\n// module chunks = 0","import * as Constants from '../Constants'\r\n/**\r\n * 计算两个坐标之间的距离\r\n * @param pnt1\r\n * @param pnt2\r\n * @returns {number}\r\n * @constructor\r\n */\r\nexport const MathDistance = (pnt1, pnt2) => {\r\n return (Math.sqrt(Math.pow((pnt1[0] - pnt2[0]), 2) + Math.pow((pnt1[1] - pnt2[1]), 2)))\r\n}\r\n\r\n/**\r\n * 计算点集合的总距离\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const wholeDistance = (points) => {\r\n let distance = 0\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n points.forEach((item, index) => {\r\n if (index < points.length - 1) {\r\n distance += (MathDistance(item, points[index + 1]))\r\n }\r\n })\r\n }\r\n return distance\r\n}\r\n/**\r\n * 获取基础长度\r\n * @param points\r\n * @returns {number}\r\n */\r\nexport const getBaseLength = (points) => {\r\n return Math.pow(wholeDistance(points), 0.99)\r\n}\r\n\r\n/**\r\n * 求取两个坐标的中间值\r\n * @param point1\r\n * @param point2\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\nexport const Mid = (point1, point2) => {\r\n return [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n}\r\n\r\n/**\r\n * 通过三个点确定一个圆的中心点\r\n * @param point1\r\n * @param point2\r\n * @param point3\r\n */\r\nexport const getCircleCenterOfThreePoints = (point1, point2, point3) => {\r\n let pntA = [(point1[0] + point2[0]) / 2, (point1[1] + point2[1]) / 2]\r\n let pntB = [pntA[0] - point1[1] + point2[1], pntA[1] + point1[0] - point2[0]]\r\n let pntC = [(point1[0] + point3[0]) / 2, (point1[1] + point3[1]) / 2]\r\n let pntD = [pntC[0] - point1[1] + point3[1], pntC[1] + point1[0] - point3[0]]\r\n return getIntersectPoint(pntA, pntB, pntC, pntD)\r\n}\r\n\r\n/**\r\n * 获取交集的点\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @param pntD\r\n * @returns {[*,*]}\r\n */\r\nexport const getIntersectPoint = (pntA, pntB, pntC, pntD) => {\r\n if (pntA[1] === pntB[1]) {\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let x = f * (pntA[1] - pntC[1]) + pntC[0]\r\n let y = pntA[1]\r\n return [x, y]\r\n }\r\n if (pntC[1] === pntD[1]) {\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let x = e * (pntC[1] - pntA[1]) + pntA[0]\r\n let y = pntC[1]\r\n return [x, y]\r\n }\r\n let e = (pntB[0] - pntA[0]) / (pntB[1] - pntA[1])\r\n let f = (pntD[0] - pntC[0]) / (pntD[1] - pntC[1])\r\n let y = (e * pntA[1] - pntA[0] - f * pntC[1] + pntC[0]) / (e - f)\r\n let x = e * y - e * pntA[1] + pntA[0]\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取方位角(地平经度)\r\n * @param startPoint\r\n * @param endPoint\r\n * @returns {*}\r\n */\r\nexport const getAzimuth = (startPoint, endPoint) => {\r\n let azimuth\r\n let angle = Math.asin(Math.abs(endPoint[1] - startPoint[1]) / (MathDistance(startPoint, endPoint)))\r\n if (endPoint[1] >= startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = angle + Math.PI\r\n } else if (endPoint[1] >= startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = Math.PI * 2 - angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] < startPoint[0]) {\r\n azimuth = angle\r\n } else if (endPoint[1] < startPoint[1] && endPoint[0] >= startPoint[0]) {\r\n azimuth = Math.PI - angle\r\n }\r\n return azimuth\r\n}\r\n\r\n/**\r\n * 通过三个点获取方位角\r\n * @param pntA\r\n * @param pntB\r\n * @param pntC\r\n * @returns {number}\r\n */\r\nexport const getAngleOfThreePoints = (pntA, pntB, pntC) => {\r\n let angle = getAzimuth(pntB, pntA) - getAzimuth(pntB, pntC)\r\n return ((angle < 0) ? (angle + Math.PI * 2) : angle)\r\n}\r\n\r\n/**\r\n * 判断是否是顺时针\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {boolean}\r\n */\r\nexport const isClockWise = (pnt1, pnt2, pnt3) => {\r\n return ((pnt3[1] - pnt1[1]) * (pnt2[0] - pnt1[0]) > (pnt2[1] - pnt1[1]) * (pnt3[0] - pnt1[0]))\r\n}\r\n\r\n/**\r\n * 获取线上的点\r\n * @param t\r\n * @param startPnt\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getPointOnLine = (t, startPnt, endPnt) => {\r\n let x = startPnt[0] + (t * (endPnt[0] - startPnt[0]))\r\n let y = startPnt[1] + (t * (endPnt[1] - startPnt[1]))\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 获取立方值\r\n * @param t\r\n * @param startPnt\r\n * @param cPnt1\r\n * @param cPnt2\r\n * @param endPnt\r\n * @returns {[*,*]}\r\n */\r\nexport const getCubicValue = (t, startPnt, cPnt1, cPnt2, endPnt) => {\r\n t = Math.max(Math.min(t, 1), 0)\r\n let [tp, t2] = [(1 - t), (t * t)]\r\n let t3 = t2 * t\r\n let tp2 = tp * tp\r\n let tp3 = tp2 * tp\r\n let x = (tp3 * startPnt[0]) + (3 * tp2 * t * cPnt1[0]) + (3 * tp * t2 * cPnt2[0]) + (t3 * endPnt[0])\r\n let y = (tp3 * startPnt[1]) + (3 * tp2 * t * cPnt1[1]) + (3 * tp * t2 * cPnt2[1]) + (t3 * endPnt[1])\r\n return [x, y]\r\n}\r\n\r\n/**\r\n * 根据起止点和旋转方向求取第三个点\r\n * @param startPnt\r\n * @param endPnt\r\n * @param angle\r\n * @param distance\r\n * @param clockWise\r\n * @returns {[*,*]}\r\n */\r\nexport const getThirdPoint = (startPnt, endPnt, angle, distance, clockWise) => {\r\n let azimuth = getAzimuth(startPnt, endPnt)\r\n let alpha = clockWise ? (azimuth + angle) : (azimuth - angle)\r\n let dx = distance * Math.cos(alpha)\r\n let dy = distance * Math.sin(alpha)\r\n return ([endPnt[0] + dx, endPnt[1] + dy])\r\n}\r\n\r\n/**\r\n * 函数继承\r\n * @param childCtor\r\n * @param parentCtor\r\n */\r\nexport const inherits = (childCtor, parentCtor) => {\r\n /** @constructor */\r\n function TempCtor () {\r\n }\r\n\r\n TempCtor.prototype = parentCtor.prototype\r\n childCtor.superClass_ = parentCtor.prototype\r\n childCtor.prototype = new TempCtor()\r\n /** @override */\r\n childCtor.prototype.constructor = childCtor\r\n childCtor.base = function (me, methodName, varArgs) {\r\n let args = Array.prototype.slice.call(arguments, 2)\r\n return parentCtor.prototype[methodName].apply(me, args)\r\n }\r\n}\r\n\r\n/**\r\n * 插值弓形线段点\r\n * @param center\r\n * @param radius\r\n * @param startAngle\r\n * @param endAngle\r\n * @returns {null}\r\n */\r\nexport const getArcPoints = (center, radius, startAngle, endAngle) => {\r\n let [x, y, pnts, angleDiff] = [null, null, [], (endAngle - startAngle)]\r\n angleDiff = ((angleDiff < 0) ? (angleDiff + (Math.PI * 2)) : angleDiff)\r\n for (let i = 0; i <= 100; i++) {\r\n let angle = startAngle + angleDiff * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n pnts.push([x, y])\r\n }\r\n return pnts\r\n}\r\n\r\n/**\r\n * getBisectorNormals\r\n * @param t\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getBisectorNormals = (t, pnt1, pnt2, pnt3) => {\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let [bisectorNormalRight, bisectorNormalLeft, dt, x, y] = [null, null, null, null, null]\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let uX = normal[0] / dist\r\n let uY = normal[1] / dist\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let d2 = MathDistance(pnt2, pnt3)\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n if (isClockWise(pnt1, pnt2, pnt3)) {\r\n dt = t * d1\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalLeft = [x, y]\r\n } else {\r\n dt = t * d1\r\n x = pnt2[0] + dt * uY\r\n y = pnt2[1] - dt * uX\r\n bisectorNormalRight = [x, y]\r\n dt = t * d2\r\n x = pnt2[0] - dt * uY\r\n y = pnt2[1] + dt * uX\r\n bisectorNormalLeft = [x, y]\r\n }\r\n } else {\r\n x = pnt2[0] + t * (pnt1[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt1[1] - pnt2[1])\r\n bisectorNormalRight = [x, y]\r\n x = pnt2[0] + t * (pnt3[0] - pnt2[0])\r\n y = pnt2[1] + t * (pnt3[1] - pnt2[1])\r\n bisectorNormalLeft = [x, y]\r\n }\r\n return [bisectorNormalRight, bisectorNormalLeft]\r\n}\r\n\r\n/**\r\n * 获取默认三点的内切圆\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @returns {[*,*]}\r\n */\r\nexport const getNormal = (pnt1, pnt2, pnt3) => {\r\n let dX1 = pnt1[0] - pnt2[0]\r\n let dY1 = pnt1[1] - pnt2[1]\r\n let d1 = Math.sqrt(dX1 * dX1 + dY1 * dY1)\r\n dX1 /= d1\r\n dY1 /= d1\r\n let dX2 = pnt3[0] - pnt2[0]\r\n let dY2 = pnt3[1] - pnt2[1]\r\n let d2 = Math.sqrt(dX2 * dX2 + dY2 * dY2)\r\n dX2 /= d2\r\n dY2 /= d2\r\n let uX = dX1 + dX2\r\n let uY = dY1 + dY2\r\n return [uX, uY]\r\n}\r\n\r\n/**\r\n * 获取左边控制点\r\n * @param controlPoints\r\n * @returns {[*,*]}\r\n */\r\nexport const getLeftMostControlPoint = (controlPoints, t) => {\r\n let [pnt1, pnt2, pnt3, controlX, controlY] = [controlPoints[0], controlPoints[1], controlPoints[2], null, null]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalRight = pnts[0]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt1, pnt2)\r\n let pX = pnt1[0] - mid[0]\r\n let pY = pnt1[1] - mid[1]\r\n let d1 = MathDistance(pnt1, pnt2)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalRight[0] - mid[0]\r\n let dY = normalRight[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt1[0] + t * (pnt2[0] - pnt1[0])\r\n controlY = pnt1[1] + t * (pnt2[1] - pnt1[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 获取右边控制点\r\n * @param controlPoints\r\n * @param t\r\n * @returns {[*,*]}\r\n */\r\nexport const getRightMostControlPoint = (controlPoints, t) => {\r\n let count = controlPoints.length\r\n let pnt1 = controlPoints[count - 3]\r\n let pnt2 = controlPoints[count - 2]\r\n let pnt3 = controlPoints[count - 1]\r\n let pnts = getBisectorNormals(0, pnt1, pnt2, pnt3)\r\n let normalLeft = pnts[1]\r\n let normal = getNormal(pnt1, pnt2, pnt3)\r\n let dist = Math.sqrt(normal[0] * normal[0] + normal[1] * normal[1])\r\n let [controlX, controlY] = [null, null]\r\n if (dist > Constants.ZERO_TOLERANCE) {\r\n let mid = Mid(pnt2, pnt3)\r\n let pX = pnt3[0] - mid[0]\r\n let pY = pnt3[1] - mid[1]\r\n let d1 = MathDistance(pnt2, pnt3)\r\n let n = 2.0 / d1\r\n let nX = -n * pY\r\n let nY = n * pX\r\n let a11 = nX * nX - nY * nY\r\n let a12 = 2 * nX * nY\r\n let a22 = nY * nY - nX * nX\r\n let dX = normalLeft[0] - mid[0]\r\n let dY = normalLeft[1] - mid[1]\r\n controlX = mid[0] + a11 * dX + a12 * dY\r\n controlY = mid[1] + a12 * dX + a22 * dY\r\n } else {\r\n controlX = pnt3[0] + t * (pnt2[0] - pnt3[0])\r\n controlY = pnt3[1] + t * (pnt2[1] - pnt3[1])\r\n }\r\n return [controlX, controlY]\r\n}\r\n\r\n/**\r\n * 插值曲线点\r\n * @param t\r\n * @param controlPoints\r\n * @returns {null}\r\n */\r\nexport const getCurvePoints = (t, controlPoints) => {\r\n let leftControl = getLeftMostControlPoint(controlPoints, t)\r\n let [pnt1, pnt2, pnt3, normals, points] = [null, null, null, [leftControl], []]\r\n for (let i = 0; i < controlPoints.length - 2; i++) {\r\n [pnt1, pnt2, pnt3] = [controlPoints[i], controlPoints[i + 1], controlPoints[i + 2]]\r\n let normalPoints = getBisectorNormals(t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let rightControl = getRightMostControlPoint(controlPoints, t)\r\n if (rightControl) {\r\n normals.push(rightControl)\r\n }\r\n for (let i = 0; i < controlPoints.length - 1; i++) {\r\n pnt1 = controlPoints[i]\r\n pnt2 = controlPoints[i + 1]\r\n points.push(pnt1)\r\n for (let t = 0; t < Constants.FITTING_COUNT; t++) {\r\n let pnt = getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n points.push(pnt)\r\n }\r\n points.push(pnt2)\r\n }\r\n return points\r\n}\r\n\r\n/**\r\n * 贝塞尔曲线\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getBezierPoints = function (points) {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let bezierPoints = []\r\n let n = points.length - 1\r\n for (let t = 0; t <= 1; t += 0.01) {\r\n let [x, y] = [0, 0]\r\n for (let index = 0; index <= n; index++) {\r\n let factor = getBinomialFactor(n, index)\r\n let a = Math.pow(t, index)\r\n let b = Math.pow((1 - t), (n - index))\r\n x += factor * a * b * points[index][0]\r\n y += factor * a * b * points[index][1]\r\n }\r\n bezierPoints.push([x, y])\r\n }\r\n bezierPoints.push(points[n])\r\n return bezierPoints\r\n }\r\n}\r\n\r\n/**\r\n * 获取阶乘数据\r\n * @param n\r\n * @returns {number}\r\n */\r\nexport const getFactorial = (n) => {\r\n let result = 1\r\n switch (n) {\r\n case (n <= 1):\r\n result = 1\r\n break\r\n case (n === 2):\r\n result = 2\r\n break\r\n case (n === 3):\r\n result = 6\r\n break\r\n case (n === 24):\r\n result = 24\r\n break\r\n case (n === 5):\r\n result = 120\r\n break\r\n default:\r\n for (let i = 1; i <= n; i++) {\r\n result *= i\r\n }\r\n break\r\n }\r\n return result\r\n}\r\n\r\n/**\r\n * 获取二项分布\r\n * @param n\r\n * @param index\r\n * @returns {number}\r\n */\r\nexport const getBinomialFactor = (n, index) => {\r\n return (getFactorial(n) / (getFactorial(index) * getFactorial(n - index)))\r\n}\r\n\r\n/**\r\n * 插值线性点\r\n * @param points\r\n * @returns {*}\r\n */\r\nexport const getQBSplinePoints = points => {\r\n if (points.length <= 2) {\r\n return points\r\n } else {\r\n let [n, bSplinePoints] = [2, []]\r\n let m = points.length - n - 1\r\n bSplinePoints.push(points[0])\r\n for (let i = 0; i <= m; i++) {\r\n for (let t = 0; t <= 1; t += 0.05) {\r\n let [x, y] = [0, 0]\r\n for (let k = 0; k <= n; k++) {\r\n let factor = getQuadricBSplineFactor(k, t)\r\n x += factor * points[i + k][0]\r\n y += factor * points[i + k][1]\r\n }\r\n bSplinePoints.push([x, y])\r\n }\r\n }\r\n bSplinePoints.push(points[points.length - 1])\r\n return bSplinePoints\r\n }\r\n}\r\n\r\n/**\r\n * 得到二次线性因子\r\n * @param k\r\n * @param t\r\n * @returns {number}\r\n */\r\nexport const getQuadricBSplineFactor = (k, t) => {\r\n let res = 0\r\n if (k === 0) {\r\n res = Math.pow(t - 1, 2) / 2\r\n } else if (k === 1) {\r\n res = (-2 * Math.pow(t, 2) + 2 * t + 1) / 2\r\n } else if (k === 2) {\r\n res = Math.pow(t, 2) / 2\r\n }\r\n return res\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Utils/utils.js","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 14\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 15\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 16\n// module chunks = 0","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 17\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 18\n// module chunks = 0","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-html.js\n// module id = 19\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 20\n// module chunks = 0","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 21\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 22\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 23\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 24\n// module chunks = 0","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_strict-method.js\n// module id = 25\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 常用变量\r\n */\r\nexport const FITTING_COUNT = 100\r\nexport const ZERO_TOLERANCE = 0.0001\r\nexport const TWO_PI = Math.PI * 2\r\nexport const HALF_PI = Math.PI / 2\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Constants.js","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-methods.js\n// module id = 27\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-sap.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 30\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 31\n// module chunks = 0","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_metadata.js\n// module id = 32\n// module chunks = 0","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-array.js\n// module id = 33\n// module chunks = 0","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 34\n// module chunks = 0","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 35\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 36\n// module chunks = 0","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 37\n// module chunks = 0","module.exports = false;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 38\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 39\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 40\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 41\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 42\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 43\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-index.js\n// module id = 44\n// module chunks = 0","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 45\n// module chunks = 0","const mix = (...mixins) => {\r\n class Mix {}\r\n // 以编程方式给Mix类添加\r\n\r\n // mixins的所有方法和访问器\r\n for (let key in mixins) {\r\n let mixin = mixins[key]\r\n copyProperties(Mix, mixin)\r\n copyProperties(Mix.prototype, mixin.prototype)\r\n }\r\n return Mix\r\n}\r\n\r\nconst copyProperties = (target, source) => {\r\n for (let key of Reflect.ownKeys(source)) {\r\n if (key !== 'constructor' && key !== 'prototype' && key !== 'name' && key !== 'length') {\r\n let desc = Object.getOwnPropertyDescriptor(source, key)\r\n Object.defineProperty(target, key, desc)\r\n }\r\n }\r\n}\r\n\r\nexport default mix\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/mixin.js","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_add-to-unscopables.js\n// module id = 47\n// module chunks = 0","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 48\n// module chunks = 0","module.exports = {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 49\n// module chunks = 0","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 50\n// module chunks = 0","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-trim.js\n// module id = 51\n// module chunks = 0","export default function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinz.js\n// module id = 52\n// module chunks = 0","export default function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/msfnz.js\n// module id = 53\n// module chunks = 0","import { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport * as MapboxStyle from '../style/MapboxStyle'\r\nimport Style from '../style/Style'\r\n\r\nclass Layer extends mix(Style) {\r\n constructor (map) {\r\n super()\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取专题图层\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getTitleLayerByLayerName (layerName) {\r\n try {\r\n let targetLayer = null\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.every(layer => {\r\n if (layer.get('layerType') === 'title' && layer.get('layerName') === layerName) {\r\n targetLayer = layer\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return targetLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 根据图层名获取底图\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getBaseLayerByLayerName (layerName) {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer') && _layer.get('layerName') === layerName) {\r\n currentLayer = _layer\r\n }\r\n })\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取底图图层组\r\n * @returns {*}\r\n */\r\n getBaseLayers () {\r\n try {\r\n let currentLayer = null\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n currentLayer = layer\r\n }\r\n })\r\n return currentLayer\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过要素获取图层\r\n * @param feature\r\n * @returns {*}\r\n */\r\n getLayerByFeatuer (feature) {\r\n let tragetLayer = null\r\n if (this.map) {\r\n if (feature instanceof ol.Feature) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n let source = layer.getSource()\r\n if (source.getFeatures) {\r\n let features = source.getFeatures()\r\n features.forEach(feat => {\r\n if (feat === feature) {\r\n tragetLayer = layer\r\n }\r\n })\r\n }\r\n })\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n return tragetLayer\r\n }\r\n\r\n /**\r\n * 创建临时图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorLayer (layerName, params) {\r\n try {\r\n if (this.map) {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n if (params && params.create) {\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n source: new ol.source.Vector({\r\n wrapX: false\r\n }),\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n }\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n return vectorLayer\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建热力图图层\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createHeatMapLayer (layerName, params) {\r\n try {\r\n let currentLayer = null\r\n if (this.map) {\r\n currentLayer = this.getLayerByLayerName(layerName)\r\n if (!(currentLayer instanceof ol.layer.Heatmap)) {\r\n currentLayer = null\r\n } else if ((currentLayer instanceof ol.layer.Heatmap) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(currentLayer)\r\n currentLayer = null\r\n }\r\n if (!currentLayer && params && params['create']) {\r\n currentLayer = new ol.layer.Heatmap({\r\n layerName: layerName,\r\n gradient: (params['gradient'] ? params['gradient'] : ['#00f', '#0ff', '#0f0', '#ff0', '#f00']),\r\n source: new ol.source.Vector({\r\n wrapX: false,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n }),\r\n blur: (params['blur'] ? params['blur'] : 15),\r\n radius: (params['radius'] ? params['radius'] : 8),\r\n shadow: (params['shadow'] ? params['shadow'] : 250),\r\n weight: (params['weight'] ? params['weight'] : 'weight'),\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n minResolution: (params['minResolution'] ? params['minResolution'] : undefined),\r\n maxResolution: (params['maxResolution'] ? params['maxResolution'] : undefined),\r\n opacity: (params['opacity'] ? params['opacity'] : 1),\r\n visible: ((params['visible'] === false) ? params['visible'] : true)\r\n })\r\n if (params && params.hasOwnProperty('selectable')) {\r\n currentLayer.set('selectable', params.selectable)\r\n }\r\n }\r\n if (currentLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(currentLayer)\r\n }\r\n return currentLayer\r\n } else {\r\n throw new Error('未创建地图对象!')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 创建专题图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createTitleLayer (layerName, params) {\r\n try {\r\n let serviceUrl = params['serviceUrl']\r\n if (!serviceUrl) return null\r\n let ooLayer = this.getTitleLayerByLayerName(layerName)\r\n if (ooLayer && ooLayer instanceof ol.layer.Tile && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(ooLayer)\r\n ooLayer = null\r\n }\r\n if (!ooLayer && params['create']) {\r\n ooLayer = new ol.layer.Tile({\r\n layerName: layerName,\r\n layerType: 'title',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n source: new ol.source.TileArcGISRest({\r\n url: serviceUrl,\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: params,\r\n wrapX: false\r\n }),\r\n wrapX: false\r\n })\r\n }\r\n if (this.map && ooLayer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(ooLayer)\r\n }\r\n return ooLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建ImageWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createImageWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Image({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.ImageWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: (params['tiled'] === false) ? params['tiled'] : true,\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建TileWMSLayer\r\n * @param layerName\r\n * @param params\r\n * @returns {string}\r\n */\r\n createTileWMSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Image)) {\r\n layer = null\r\n } else if ((layer instanceof ol.layer.Image) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: (params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1,\r\n source: new ol.source.TileWMS({\r\n url: params['layerUrl'],\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n params: {\r\n LAYERS: params['layers'], // require\r\n STYLES: params['style'] ? params['style'] : '',\r\n VERSION: params['version'] ? params['version'] : '1.3.0',\r\n WIDTH: params['width'] ? params['width'] : 256,\r\n HEIGHT: params['height'] ? params['height'] : 256,\r\n BBOX: params['bbox'], // require\r\n SRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n CRS: (params['srs'] ? params['srs'] : 'EPSG:3857'),\r\n REQUEST: 'GetMap',\r\n TRANSPARENT: true,\r\n TILED: ((params['tiled'] === false) ? params['tiled'] : true),\r\n TILESORIGIN: (params['tiledsorrigin'] ? params['tiledsorrigin'] : undefined),\r\n SERVICE: 'WMS',\r\n FORMAT: (params['format'] ? params['format'] : 'image/png')\r\n },\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WFS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWfsVectorLayer (layerName, params) {\r\n try {\r\n let vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!(vectorLayer instanceof ol.layer.Vector)) {\r\n vectorLayer = null\r\n }\r\n if (!vectorLayer) {\r\n let proj = params['projection'] ? params['projection'] : 'EPSG:3857'\r\n let style = this.getStyleByParams(params['style'])\r\n vectorLayer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: function (extent) {\r\n return params['layerUrl'] + extent.join(',') + ',' + proj\r\n },\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && vectorLayer) {\r\n if (params && params.hasOwnProperty('selectable')) {\r\n vectorLayer.set('selectable', params.selectable)\r\n }\r\n // 图层只添加一次\r\n let _vectorLayer = this.getLayerByLayerName(layerName)\r\n if (!_vectorLayer || !(_vectorLayer instanceof ol.layer.Vector)) {\r\n if (!(params['addLayer'] === false)) {\r\n this.map.addLayer(vectorLayer)\r\n }\r\n }\r\n }\r\n return vectorLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建矢量要素图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createVectorFeatureLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Vector)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Vector) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let proj = params['projection'] ? params['projection'] : 'EPSG:3857'\r\n let style = this.getStyleByParams(params['style'])\r\n layer = new ol.layer.Vector({\r\n layerName: layerName,\r\n params: params,\r\n layerType: 'vector',\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n url: function (extent) {\r\n return params['layerUrl'] + extent.join(',') + ',' + proj\r\n },\r\n wrapX: false,\r\n strategy: ol.loadingstrategy.bbox\r\n }),\r\n style: style\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建WMTS图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createWMTSLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create'] && params['levels']) {\r\n let projection = ol.proj.get((params['projection'] ? params['projection'] : 'EPSG:3857'))\r\n let projectionExtent = projection.getExtent()\r\n let size = ol.extent.getWidth(projectionExtent) / 256\r\n let levels = params['levels']\r\n let resolutions = new Array(levels)\r\n let matrixIds = new Array(levels)\r\n for (let z = 0; z < levels; ++z) {\r\n // generate resolutions and matrixIds arrays for this WMTS\r\n resolutions[z] = size / Math.pow(2, z)\r\n matrixIds[z] = z\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.WMTS({\r\n url: params['layerUrl'],\r\n layer: (params['layer'] ? params['layer'] : '0'),\r\n matrixSet: (params['matrixSet'] ? params['matrixSet'] : 'EPSG:3857'),\r\n format: (params['format'] ? params['format'] : 'image/png'),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: projection,\r\n tileGrid: new ol.tilegrid.WMTS({\r\n origin: ol.extent.getTopLeft(projectionExtent),\r\n resolutions: resolutions,\r\n matrixIds: matrixIds,\r\n version: (params['version'] ? params['version'] : '1.0.0'),\r\n dimensions: (params['dimensions'] ? params['dimensions'] : undefined)\r\n }),\r\n style: (params['style'] ? params['style'] : 'default'),\r\n wrapX: false\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建XYZ图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createXYZLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n if (params['tileGrid'] && params['tileGrid']['resolutions']) {\r\n tileGrid = new ol.tilegrid.TileGrid({\r\n tileSize: (params['tileGrid']['tileSize'] ? params['tileGrid']['tileSize'] : 256),\r\n origin: (params['tileGrid']['origin'] ? params['tileGrid']['origin'] : undefined),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n resolutions: params['tileGrid']['resolutions'],\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0)\r\n })\r\n }\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.XYZ({\r\n wrapX: false,\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tileSize: (params['tileSize'] ? params['tileSize'] : 256),\r\n opaque: (params['opaque'] === true) ? params['opaque'] : false, // 图层是否不透明(主题相关)\r\n tilePixelRatio: (params['tilePixelRatio'] ? params['tilePixelRatio'] : 1), // todo 对于高分辨率设备,例如苹果等可能2、3(移动端开发需要注意)\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n maxZoom: (params['maxZoom'] ? params['maxZoom'] : 18),\r\n minZoom: (params['minZoom'] ? params['minZoom'] : 0),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n tileUrlFunction: function (tileCoord) {\r\n let url = (params['layerUrl']).replace('{z}',\r\n (tileCoord[0]).toString()).replace('{x}',\r\n tileCoord[1].toString()).replace('{y}',\r\n (-tileCoord[2] - 1).toString())\r\n return url\r\n }\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建OSM图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createOSMLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params['create']) {\r\n layer = new ol.layer.Tile({\r\n layerName: layerName,\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n source: new ol.source.OSM({\r\n wrapX: false,\r\n opaque: (params['opaque'] === false) ? params['opaque'] : true, // 图层是否不透明(主题相关)\r\n url: params['layerUrl'] ? params['layerUrl'] : 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png',\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined)\r\n })\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 创建Mapbox矢量图层\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n createMapboxVectorTileLayer (layerName, params) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (!(layer instanceof ol.layer.Tile)) {\r\n layer = null\r\n } else if (this.map && (layer instanceof ol.layer.Tile) && !(params['addLayer'] === false)) {\r\n this.map.removeLayer(layer)\r\n layer = null\r\n }\r\n if (!layer && params && params['layerUrl'] && params['create']) {\r\n let tileGrid = null\r\n if (params['tileGrid']) {\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n tileGrid = new ol.tilegrid.createXYZ({\r\n tileSize: (params['tileGrid']['tileSize'] ? params['tileGrid']['tileSize'] : 256),\r\n extent: (params['tileGrid']['extent'] ? params['tileGrid']['extent'] : undefined),\r\n minZoom: ((params['tileGrid']['minZoom'] && typeof params['tileGrid']['minZoom'] === 'number') ? params['tileGrid']['minZoom'] : 0),\r\n maxZoom: ((params['tileGrid']['maxZoom'] && typeof params['tileGrid']['maxZoom'] === 'number') ? params['tileGrid']['maxZoom'] : 22)\r\n })\r\n }\r\n layer = new ol.layer.VectorTile({\r\n visible: (params['visible'] === false) ? params['visible'] : true,\r\n renderBuffer: ((params['renderBuffer'] && (typeof params['renderBuffer'] === 'number')) ? params['renderBuffer'] : 100),\r\n renderMode: (params['renderMode'] ? params['renderMode'] : 'hybrid'), // 渲染方式image,hybrid,vector,性能由高到低\r\n extent: (params['extent'] ? params['extent'] : undefined),\r\n opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1),\r\n minResolution: ((params['minResolution'] && typeof params['minResolution'] === 'number') ? params['minResolution'] : undefined),\r\n maxResolution: ((params['maxResolution'] && typeof params['maxResolution'] === 'number') ? params['maxResolution'] : undefined),\r\n preload: ((params['preload'] && typeof params['preload'] === 'number') ? params['preload'] : 0),\r\n source: new ol.source.VectorTile({\r\n format: new ol.format.MVT(),\r\n crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined),\r\n projection: (params['projection'] ? params['projection'] : 'EPSG:3857'),\r\n overlaps: (params['overlaps'] ? params['overlaps'] : true),\r\n tileGrid: ((tileGrid && tileGrid instanceof ol.tilegrid.TileGrid) ? tileGrid : undefined),\r\n tilePixelRatio: ((params['tilePixelRatio'] && typeof params['tilePixelRatio'] === 'number') ? params['tilePixelRatio'] : 1),\r\n url: params['layerUrl'],\r\n wrapX: false\r\n }),\r\n style: MapboxStyle.createMapboxStreetsV6Style()\r\n })\r\n }\r\n if (this.map && layer && !(params['addLayer'] === false)) {\r\n this.map.addLayer(layer)\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除图层\r\n * @param layerName\r\n */\r\n removeLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除专题图层\r\n * @param layerName\r\n */\r\n removeTileLayerByLayerName (layerName) {\r\n if (this.map) {\r\n let layer = this.getTitleLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n this.map.removeLayer(layer)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除所有图层(除底图)\r\n */\r\n removeAllLayer () {\r\n if (this.map) {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (!layer.get('isBaseLayer')) {\r\n this.map.removeLayer(layer)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default Layer\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layer/Layer.js","/**\r\n * 获取两数值之间的随机值\r\n * @param t1 <下限>\r\n * @param t2 <上限>\r\n * @param t3 <需要保留的小数位, 不能大于十五位>\r\n * @returns {*}\r\n */\r\nexport const getrandom = (t1, t2, t3) => {\r\n if (!t1 || isNaN(t1)) {\r\n t1 = 0\r\n }\r\n if (!t2 || isNaN(t2)) {\r\n t2 = 1\r\n }\r\n if (!t3 || isNaN(t3)) {\r\n t3 = 0\r\n }\r\n t3 = t3 > 15 ? 15 : t3\r\n let [ra, du] = [(Math.random() * (t2 - t1) + t1), (Math.pow(10, t3))]\r\n ra = (Math.round(ra * du) / du)\r\n return ra\r\n}\r\n\r\n/**\r\n * 获取id\r\n * @returns {*|string|!Array.}\r\n */\r\nexport const getuuid = () => {\r\n let [ s, hexDigits ] = [ [], '0123456789abcdef' ]\r\n for (let i = 0; i < 36; i++) {\r\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\r\n }\r\n s[14] = '4'\r\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)\r\n s[8] = s[13] = s[18] = s[23] = '-'\r\n return (s.join(''))\r\n}\r\n\r\n/**\r\n * 添加标识\r\n * @param obj\r\n * @returns {*}\r\n */\r\nexport const stamp = function (obj) {\r\n let key = '_p_id_'\r\n obj[key] = obj[key] || (getuuid())\r\n return obj[key]\r\n}\r\n\r\n/**\r\n * 去除字符串前后空格\r\n * @param str\r\n * @returns {*}\r\n */\r\nexport const trim = (str) => {\r\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '')\r\n}\r\n\r\n/**\r\n * 将类名截取成数组\r\n * @param str\r\n * @returns {Array|*}\r\n */\r\nexport const splitWords = (str) => {\r\n return trim(str).split(/\\s+/)\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/utils.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 56\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 57\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 58\n// module chunks = 0","import {HALF_PI} from '../constants/values';\nimport sign from './sign';\n\nexport default function(x) {\n return (Math.abs(x) < HALF_PI) ? x : (x - (sign(x) * Math.PI));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_lat.js\n// module id = 59\n// module chunks = 0","export default function(x) {\n return x<0 ? -1 : 1;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sign.js\n// module id = 60\n// module chunks = 0","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 进攻方向\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass AttackArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.headTailFactor = 0.8\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(tailLeft, tailRight) / PlotUtils.getBaseLength(bonePnts)\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points, tailLeft, tailRight) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n len = PlotUtils.MathDistance(headPnt, points[points.length - 2])\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n if (headHeight > tailWidth * this.headTailFactor) {\r\n headHeight = tailWidth * this.headTailFactor\r\n }\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n headHeight = headHeight > len ? len : headHeight\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default AttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AttackArrow.js","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 62\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 63\n// module chunks = 0","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fix-re-wks.js\n// module id = 64\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_flags.js\n// module id = 65\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_invoke.js\n// module id = 66\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-regexp.js\n// module id = 67\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 68\n// module chunks = 0","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-forced-pam.js\n// module id = 69\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 70\n// module chunks = 0","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 71\n// module chunks = 0","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed.js\n// module id = 72\n// module chunks = 0","export default function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e0fn.js\n// module id = 73\n// module chunks = 0","export default function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e1fn.js\n// module id = 74\n// module chunks = 0","export default function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e2fn.js\n// module id = 75\n// module chunks = 0","export default function(x) {\n return (x * x * x * (35 / 3072));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/e3fn.js\n// module id = 76\n// module chunks = 0","export default function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/mlfn.js\n// module id = 77\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = HALF_PI - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = HALF_PI - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/phi2z.js\n// module id = 78\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (HALF_PI - phi)) / con);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/tsfnz.js\n// module id = 79\n// module chunks = 0","import * as DomUtil from './domUtil'\r\nexport { DomUtil }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/index.js","/**\r\n * Created by FDD on 2017/2/22.\r\n * @desc 要素相关处理\r\n */\r\nimport { ol } from '../constants'\r\nimport mix from '../utils/mixin'\r\nimport Style from '../style/Style'\r\nimport Layer from '../layer/Layer'\r\n\r\nclass Feature extends mix(Style, Layer) {\r\n constructor (map) {\r\n super()\r\n this.map = map\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取Feature\r\n * @param id\r\n * @returns {*}\r\n */\r\n getFeatureById (id) {\r\n let layers = this.map.getLayers()\r\n let feature = null\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().getFeatureById) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n })\r\n return feature\r\n }\r\n\r\n /**\r\n * 通过id和layerName获取Feature\r\n * (若在当前layerName查不到,则查询全部图层)\r\n * @param id\r\n * @param layerName\r\n * @returns {*}\r\n */\r\n getFeatureById2LayerName (id, layerName) {\r\n let feature = null\r\n if (layerName) {\r\n let layer = this.getLayerByName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector) {\r\n feature = layer.getSource().getFeatureById(id)\r\n }\r\n }\r\n if (!feature || !(feature instanceof ol.Feature)) {\r\n feature = this.getFeatureById(id)\r\n }\r\n return feature\r\n }\r\n\r\n /**\r\n * 从属性信息中获取空间信息\r\n * @param point\r\n * @returns {*}\r\n * @private\r\n */\r\n _getGeometryFromPoint (point) {\r\n let geometry = null\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry\r\n }\r\n\r\n /**\r\n * 获取当前范围\r\n * @param multiFeatures\r\n * @private\r\n */\r\n _getExtent (multiFeatures) {\r\n let extent = multiFeatures.getExtent()\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return extent\r\n }\r\n\r\n /**\r\n * 调整当前要素范围\r\n * @param extent\r\n * @returns {*}\r\n */\r\n adjustExtent (extent) {\r\n if (this.map) {\r\n let width = ol.extent.getWidth(extent)\r\n let adjust = 0.2\r\n if (width < 0.05) {\r\n let bleft = ol.extent.getBottomLeft(extent) // 获取xmin,ymin\r\n let tright = ol.extent.getTopRight(extent) // 获取xmax,ymax\r\n let xmin = bleft[0] - adjust\r\n let ymin = bleft[1] - adjust\r\n let xmax = tright[0] + adjust\r\n let ymax = tright[1] + adjust\r\n extent = ol.extent.buffer([xmin, ymin, xmax, ymax], adjust)\r\n }\r\n return extent\r\n }\r\n }\r\n\r\n /**\r\n * 缩放到当前范围\r\n * @param extent\r\n * @param isanimation\r\n * @param duration\r\n */\r\n zoomToExtent (extent, isanimation, duration) {\r\n if (this.map) {\r\n let view = this.map.getView()\r\n let size = this.map.getSize()\r\n /**\r\n * @type {ol.Coordinate} center The center of the view.\r\n */\r\n let center = ol.extent.getCenter(extent)\r\n if (!isanimation) {\r\n view.fit(extent, size, {\r\n padding: [350, 200, 200, 350]\r\n })\r\n view.setCenter(center)\r\n } else {\r\n if (!duration) {\r\n duration = 800\r\n view.animate({\r\n center: center,\r\n duration: duration\r\n })\r\n view.fit(extent, {\r\n size: size,\r\n duration: duration\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 判断点是否在视图内,如果不在地图将自动平移\r\n * @param coordinate (当前点坐标)\r\n */\r\n movePointToView (coordinate) {\r\n if (this.map) {\r\n let extent = this.getMapCurrentExtent()\r\n if (!(ol.extent.containsXY(extent, coordinate[0], coordinate[1]))) {\r\n this.map.getView().animate({\r\n center: [coordinate[0], coordinate[1]],\r\n duration: 400\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置视图中心点\r\n * @param coordinate (传入坐标)\r\n */\r\n setViewCenter (coordinate) {\r\n if (coordinate && Array.isArray(coordinate) && this.map) {\r\n this.map.getView().animate({\r\n center: coordinate,\r\n duration: 800\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图的范围\r\n * @returns {ol.Extent}\r\n */\r\n getMapCurrentExtent () {\r\n if (this.map) {\r\n return this.map.getView().calculateExtent(this.map.getSize())\r\n }\r\n }\r\n\r\n /**\r\n * 添加单点\r\n * @param point\r\n * @param params\r\n * @returns {ol.Feature|ol.format.Feature|*|ol.render.Feature|Feature}\r\n */\r\n addPoint (point, params) {\r\n try {\r\n let geometry = this._getGeometryFromPoint(point)\r\n let feature = new ol.Feature({\r\n geometry: geometry,\r\n params: params\r\n })\r\n let style = this.getStyleByPoint(point['attributes']['style'])\r\n let selectStyle = this.getStyleByPoint(point['attributes']['selectStyle'])\r\n if (style && feature) {\r\n feature.setStyle(style)\r\n feature.set('style', style)\r\n if (selectStyle) {\r\n feature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n // let id = (point['attributes']['id'] ? point['attributes']['id'] : (point['attributes']['ID'] ? point['attributes']['ID'] : params['id']))\r\n let id = (point.attributes['id'] || point.attributes['ID'] || params['id'])\r\n feature.setId(id)\r\n feature.setProperties(point['attributes'])\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = geometry.getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(feature)\r\n }\r\n return feature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个点\r\n * @param points\r\n * @param params\r\n */\r\n addPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(point => {\r\n let pointFeat = this.addPoint(point, params)\r\n if (pointFeat && pointFeat instanceof ol.Feature) {\r\n let geom = pointFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geom.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置点的空间信息\r\n * @param point\r\n * @param geometry\r\n */\r\n setPointGeometry (point, geometry) {\r\n if (point && geometry && point instanceof ol.Feature) {\r\n let _geometry = this._getGeometryFromPoint({\r\n geometry: geometry\r\n })\r\n point.setGeometry(_geometry)\r\n } else {\r\n console.info('传入数据有误!')\r\n }\r\n }\r\n\r\n /**\r\n * 添加线要素\r\n * @param line\r\n * @param params\r\n * @returns {*}\r\n */\r\n addPolyline (line, params) {\r\n try {\r\n let linefeature = null\r\n if (line.geometry.hasOwnProperty('paths')) {\r\n let feat = {\r\n 'type': 'Feature',\r\n 'geometry': {\r\n 'type': 'MultiLineString',\r\n 'coordinates': line.geometry.paths\r\n }\r\n }\r\n linefeature = (new ol.format.GeoJSON()).readFeature(feat)\r\n } else {\r\n linefeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(line.geometry)\r\n })\r\n }\r\n let style = this.getStyleByLine(line['attributes']['style'])\r\n let selectStyle = this.getStyleByLine(line['attributes']['selectStyle'])\r\n let extent = linefeature.getGeometry().getExtent()\r\n if (style && linefeature) {\r\n linefeature.setStyle(style)\r\n linefeature.set('style', style)\r\n if (selectStyle) {\r\n linefeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (line['attributes'] && (line.attributes['ID'] || line.attributes['id'])) {\r\n let id = (line.attributes['id'] || line.attributes['ID'] || params['id'])\r\n linefeature.setId(id)\r\n linefeature.setProperties(line.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(linefeature)\r\n }\r\n return linefeature\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多条线要素\r\n * @param lines\r\n * @param params\r\n */\r\n addPolylines (lines, params) {\r\n try {\r\n if (lines && Array.isArray(lines)) {\r\n let [MultiLine, change] = [(new ol.geom.MultiLineString([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n lines.forEach(line => {\r\n let polyLine = this.addPolyline(line, params)\r\n if (polyLine && polyLine instanceof ol.Feature) {\r\n let geom = polyLine.getGeometry()\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiLine)\r\n }\r\n }\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加面要素\r\n * @param polygon\r\n * @param params\r\n * @returns {ol.render.Feature|ol.format.Feature|Feature|*|ol.Feature}\r\n */\r\n addPolygon (polygon, params) {\r\n try {\r\n if (polygon && polygon['geometry']) {\r\n let polygonFeature = new ol.Feature({\r\n geometry: new ol.format.WKT().readGeometry(polygon.geometry)\r\n })\r\n let style = this.getStyleByPolygon(polygon['attributes']['style'])\r\n let selectStyle = this.getStyleByPolygon(polygon['attributes']['selectStyle'])\r\n let extent = polygonFeature.getGeometry().getExtent()\r\n if (style && polygonFeature) {\r\n polygonFeature.setStyle(style)\r\n if (selectStyle) {\r\n polygonFeature.set('selectStyle', selectStyle)\r\n }\r\n }\r\n if (polygon['attributes'] && (polygon.attributes['ID'] || polygon.attributes['id'])) {\r\n let id = (polygon.attributes['id'] || polygon.attributes['ID'] || params['id'])\r\n polygonFeature.setId(id)\r\n polygonFeature.setProperties(polygon.attributes)\r\n }\r\n if (params['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n if (params['layerName']) {\r\n let layer = this.createVectorLayer(params['layerName'], {\r\n create: true\r\n })\r\n layer.getSource().addFeature(polygonFeature)\r\n }\r\n return polygonFeature\r\n } else {\r\n console.info('传入的数据不标准!')\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加多个面\r\n * @param polygons\r\n * @param params\r\n */\r\n addPolygons (polygons, params) {\r\n try {\r\n if (polygons && Array.isArray(polygons)) {\r\n let [MultiPolygon, change] = [(new ol.geom.MultiPolygon([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n polygons.forEach(polygon => {\r\n let polygonFeat = this.addPolygon(polygon, params)\r\n if (polygonFeat && polygonFeat instanceof ol.Feature) {\r\n let geom = polygonFeat.getGeometry()\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (change) {\r\n this._getExtent(MultiPolygon)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加热力图要素\r\n * @param points\r\n * @param params\r\n * @returns {string}\r\n */\r\n addHeatFeatures (points, params) {\r\n try {\r\n let feature = ''\r\n if (points && Array.isArray(points) && points.length > 0) {\r\n let [multiPoint, change] = [(new ol.geom.MultiPoint([])), false]\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = false\r\n change = true\r\n }\r\n points.forEach(item => {\r\n if (item && item['geometry']) {\r\n let geometry = this._getGeometryFromPoint(item)\r\n if (geometry && geometry instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(geometry)\r\n } else if (geometry && geometry instanceof ol.geom.MultiPoint) {\r\n let multiGeoms = geometry.getPoints()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Point) {\r\n multiPoint.appendPoint(_geom)\r\n }\r\n })\r\n }\r\n }\r\n }\r\n })\r\n if (params['layerName']) {\r\n feature = new ol.Feature({\r\n geometry: multiPoint,\r\n params: params\r\n })\r\n params['create'] = true\r\n let layer = this.createHeatMapLayer(params['layerName'], params)\r\n if (layer && layer instanceof ol.layer.Heatmap) {\r\n layer.getSource().addFeature(feature)\r\n }\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线当前范围和中心点\r\n * @param line\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromLine (line) {\r\n try {\r\n let geom = null\r\n if (!(line instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(line)\r\n }\r\n let [MultiLine] = [(new ol.geom.MultiLineString([]))]\r\n if (geom && geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiLineString) {\r\n let multiGeoms = geom.getLineStrings()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.LineString) {\r\n MultiLine.appendLineString(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiLine)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前面范围和中心点\r\n * @param polygon\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromPolygon (polygon) {\r\n try {\r\n let geom = null\r\n if (!(polygon instanceof ol.geom.Geometry)) {\r\n geom = (new ol.format.WKT()).readGeometry(polygon)\r\n }\r\n let [MultiPolygon] = [(new ol.geom.MultiPolygon([]))]\r\n if (geom && geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n } else if (geom && geom instanceof ol.geom.MultiPolygon) {\r\n let multiGeoms = geom.getPolygons()\r\n if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) {\r\n multiGeoms.forEach(_geom => {\r\n if (_geom && _geom instanceof ol.geom.Polygon) {\r\n MultiPolygon.appendPolygon(geom)\r\n }\r\n })\r\n }\r\n }\r\n let extent = this._getExtent(MultiPolygon)\r\n let center = ol.extent.getCenter(extent)\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n } catch (e) {\r\n console.error(e)\r\n }\r\n }\r\n\r\n /**\r\n * 读取空间信息\r\n * @param geomData\r\n * @param options\r\n * @returns {*}\r\n */\r\n getGeomFromGeomData (geomData, options) {\r\n try {\r\n let featureGeom = null\r\n if (geomData['geomType'] === 'GeoJSON') {\r\n featureGeom = (new ol.format.GeoJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'WKT') {\r\n featureGeom = (new ol.format.WKT()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'EsriJSON') {\r\n featureGeom = (new ol.format.EsriJSON()).readGeometry(geomData['geometry'])\r\n } else if (geomData['geomType'] === 'Polyline') {\r\n featureGeom = (new ol.format.Polyline()).readGeometry(geomData['geometry'])\r\n } else if (Array.isArray(geomData['geometry']) && geomData['geometry'].length === 2) {\r\n featureGeom = new ol.geom.Point(geomData['geometry'])\r\n }\r\n return featureGeom\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 简单兼容\r\n * @param geomData\r\n * @param options\r\n * @returns {{extent: *, center: ol.Coordinate}}\r\n */\r\n getCenterExtentFromGeom (geomData, options) {\r\n let geom = this.getGeomFromGeomData(geomData, options)\r\n let extent = this._getExtent(geom)\r\n let center = ol.extent.getCenter(extent)\r\n let bExtent = true\r\n extent.every(item => {\r\n if (item === Infinity || isNaN(item) || item === undefined || item === null) {\r\n bExtent = false\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n if (bExtent && options['zoomToExtent']) {\r\n this.zoomToExtent(extent, true)\r\n }\r\n return ({\r\n extent: extent,\r\n center: center\r\n })\r\n }\r\n\r\n /**\r\n * 设置热力图样式\r\n * @param layerName\r\n * @param params\r\n * @returns {*}\r\n */\r\n setHeatLayerStyle (layerName, params) {\r\n try {\r\n let layer = null\r\n if (layerName) {\r\n layerName = layerName.trim()\r\n let _layer = this.getLayerByLayerName(layerName)\r\n if (_layer && _layer instanceof ol.layer.Heatmap) {\r\n layer = _layer\r\n if (params && typeof params === 'object') {\r\n for (let key in params) {\r\n switch (key) {\r\n case 'blur':\r\n layer.setBlur(params[key])\r\n break\r\n case 'radius':\r\n layer.setRadius(params[key])\r\n break\r\n case 'gradient':\r\n layer.setGradient(params[key])\r\n break\r\n case 'visible':\r\n layer.setVisible(params[key])\r\n break\r\n case 'opacity':\r\n layer.setOpacity(params[key])\r\n break\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过图层名移除要素\r\n * @param layerName\r\n */\r\n removeFeatureByLayerName (layerName) {\r\n try {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n layer.getSource().clear()\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个图层的要素\r\n * @param layerNames \r\n */\r\n removeFeatureByLayerNames (layerNames) {\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(item => {\r\n this.removeFeatureByLayerName(item)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前要素\r\n * @param feature\r\n */\r\n removeFeature (feature) {\r\n if (feature && feature instanceof ol.Feature) {\r\n let tragetLayer = this.getLayerByFeatuer(feature)\r\n if (tragetLayer) {\r\n let source = tragetLayer.getSource()\r\n if (source && source.removeFeature) {\r\n source.removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n throw new Error('传入的不是要素!')\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除要素\r\n * @param id\r\n * @param layerName\r\n */\r\n removeFeatureById (id, layerName) {\r\n if (this.map && id) {\r\n if (layerName) {\r\n let layer = this.getLayerByLayerName(layerName)\r\n if (layer) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n } else {\r\n let layers = this.map.getLayers().getArray()\r\n layers.forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Vector && layer.getSource()) {\r\n let feature = layer.getSource().getFeatureById(id)\r\n if (feature && feature instanceof ol.Feature) {\r\n layer.getSource().removeFeature(feature)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 移除多个要素\r\n * @param ids\r\n * @param layerName\r\n */\r\n removeFeatureByIds (ids, layerName) {\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(item => {\r\n this.removeFeatureById(item, layerName)\r\n })\r\n } else {\r\n console.info('id为空或者不是数组!')\r\n }\r\n }\r\n\r\n /**\r\n * 高亮要素\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n highLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let selectStyle = feat.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feat.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let selectStyle = feature.get('selectStyle')\r\n if (selectStyle && selectStyle instanceof ol.style.Style) {\r\n feature.setStyle(selectStyle)\r\n } else if (selectStyle) {\r\n let st = this.getStyleByPoint(selectStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮状态\r\n * @param id (若传feat时其他参数可不传)\r\n * @param feat\r\n * @param layerName (传入id时layerName可不传)\r\n * @returns {*}\r\n */\r\n unHighLightFeature (id, feat, layerName) {\r\n if (!this.map) return\r\n if (feat && feat instanceof ol.Feature) {\r\n let normalStyle = feat.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feat.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feat.setStyle(st)\r\n }\r\n return feat\r\n } else if (id && id.trim() !== \"''\") {\r\n let feature = this.getFeatureById(id, layerName)\r\n if (feature && feature instanceof ol.Feature) {\r\n let normalStyle = feature.get('style')\r\n if (normalStyle && normalStyle instanceof ol.style.Style) {\r\n feature.setStyle(normalStyle)\r\n } else if (normalStyle) {\r\n let st = this.getStyleByPoint(normalStyle)\r\n feature.setStyle(st)\r\n }\r\n }\r\n return feature\r\n }\r\n }\r\n}\r\nexport default Feature\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/feature/feature.js","import { ol } from '../constants'\r\nclass Style {\r\n /**\r\n * 获取点样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPoint (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.5, 1],\r\n anchorXUnits: 'fraction',\r\n anchorYUnits: 'fraction',\r\n opacity: 0.75,\r\n src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAA6GWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0xMS0wM1QxMToyNTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZiZDY2Yzk5LWM5ZjYtNDBkOS05NzY0LWJkYTA1YmI5NWFmZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYmQ2NmM5OS1jOWY2LTQwZDktOTc2NC1iZGEwNWJiOTVhZmY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMTEtMDNUMTE6MjU6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NGIzODJiN2QtODBkNi00YmYzLTkwOTktOWYyMTZhOTAyNzUyPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTAzVDExOjI1OjM3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzA8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjRRCfkAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAXBJREFUeNqs1TFrFEEUB/DfDWIlBISx9QMErO9bbBpJoQloISZVIjZWWomFYB3sRItTPJjKTxCYKoWkUZvYBY8IQkgRiGczyHG3FzZ386+W9/b9eFPsbE9LRk3/Bu6jwR3cKq1f+IqE9zHl0+nZ3hTUwyO8xE2X5zee4W1MeTwDjpr+dbzDuqtlgM2Y8vl/sGw2wF2L5RPWY8rjUApbS2DK7Bb0Rk1/BT+xYrn8we2AjQqYYmwErKmXtYDViuBqQKwIxoCLiuBFwHFF8DjgoCJ4EPCxIjgI+IyjCtgRhqF81NsVwO2Y8nmAmPIXvFgCe16MmftwF68ROkJ/8TSm/Kb1gi3ovXIvhg7YZkz5w2RxZqi8sNNhu51prHXDiU33yu+gLXsx5cdtjcuOtYsfLfXveDJvaC4YUz7Dg5bWw9Jz1Q3FlPcxnCgNS81CYMmrOc+LZ9T0D0dN/7DLu9c6mgnjmuB+19N0Bb/VBk+6gv8GAHn5ZfPg+9pTAAAAAElFTkSuQmCC'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取线样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByLine (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n width: 4,\r\n color: '#0000EE'\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 获取面样式\r\n * @param options\r\n * @returns {ol.style.Style}\r\n */\r\n getStyleByPolygon (options) {\r\n let style = null\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n }\r\n return style\r\n }\r\n\r\n /**\r\n * 根据params获取样式信息\r\n * @param options\r\n * @returns {*}\r\n */\r\n getStyleByParams (options) {\r\n try {\r\n let style = null\r\n if (typeof options === 'function') {\r\n style = options\r\n } else {\r\n if (!options) {\r\n style = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#4781d9',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n } else {\r\n style = new ol.style.Style({})\r\n if (options['stroke'] && this._getStroke(options['stroke'])) {\r\n style.setStroke(this._getStroke(options['stroke']))\r\n }\r\n if (options['text'] && this._getText(options['text'])) {\r\n style.setText(this._getText(options['text']))\r\n }\r\n if (options['fill'] && this._getFill(options['fill'])) {\r\n style.setFill(this._getFill(options['fill']))\r\n }\r\n if (options['icon']) {\r\n style.setImage(this._getImage(options['icon']))\r\n }\r\n }\r\n }\r\n return style\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取图标样式\r\n * @param options\r\n * @returns {*}\r\n * @private\r\n */\r\n _getImage (options) {\r\n try {\r\n let icon = new ol.style.Icon({\r\n anchor: (options['imageAnchor'] ? options['imageAnchor'] : [0.5, 0.5]),\r\n anchorXUnits: (options['imageAnchorXUnits'] ? options['imageAnchorXUnits'] : 'fraction'),\r\n anchorYUnits: (options['imageAnchorYUnits'] ? options['imageAnchorYUnits'] : 'fraction'),\r\n opacity: (options['imageOpacity'] ? options['imageOpacity'] : 1),\r\n src: (options['imageSrc'] ? options['imageSrc'] : 1)\r\n })\r\n if (icon && icon instanceof ol.style.Icon) {\r\n return icon\r\n } else {\r\n return false\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取线条样式\r\n * @param options\r\n * @returns {ol.style.Stroke}\r\n * @private\r\n */\r\n _getStroke (options) {\r\n try {\r\n let stroke = new ol.style.Stroke({\r\n color: (options['strokeColor'] ? options['strokeColor'] : undefined),\r\n lineCap: (options['strokeLineCap'] ? options['strokeLineCap'] : 'round'),\r\n lineJoin: (options['strokeLineJoin'] ? options['strokeLineJoin'] : 'round'),\r\n lineDash: (options['strokeLineDash'] ? options['strokeLineDash'] : undefined),\r\n lineDashOffset: (options['strokeLineDashOffset'] ? options['strokeLineDashOffset'] : '0'),\r\n miterLimit: (options['strokeMiterLimit'] ? options['strokeMiterLimit'] : 10),\r\n width: (options['strokeWidth'] ? options['strokeWidth'] : undefined)\r\n })\r\n if (stroke && stroke instanceof ol.style.Stroke) {\r\n return stroke\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取样式文本\r\n * @param options\r\n * @returns {ol.style.Text}\r\n * @private\r\n */\r\n _getText (options) {\r\n try {\r\n let text = new ol.style.Text({\r\n font: (options['textFont'] ? options['textFont'] : '10px sans-serif'),\r\n offsetX: (options['textOffsetX'] ? options['textOffsetX'] : 0),\r\n offsetY: (options['textOffsetY'] ? options['textOffsetY'] : 0),\r\n scale: (options['textScale'] ? options['textScale'] : undefined),\r\n rotation: (options['textRotation'] ? options['textRotation'] : 0),\r\n text: (options['text'] ? options['text'] : undefined),\r\n textAlign: (options['textAlign'] ? options['textAlign'] : 'start'),\r\n textBaseline: (options['textBaseline'] ? options['textBaseline'] : 'alphabetic')\r\n })\r\n if (options['textFill']) {\r\n text.setFill(this._getFill(options['textFill']))\r\n }\r\n if (options['textStroke']) {\r\n text.setStroke(this._getStroke(options['textStroke']))\r\n }\r\n if (text && text instanceof ol.style.Text) {\r\n return text\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 获取填充颜色\r\n * @param options\r\n * @returns {ol.style.Fill}\r\n * @private\r\n */\r\n _getFill (options) {\r\n try {\r\n let fill = new ol.style.Fill({\r\n color: (options['fillColor'] ? options['fillColor'] : undefined)\r\n })\r\n if (fill && fill instanceof ol.style.Fill) {\r\n return fill\r\n } else {\r\n return false\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n}\r\n\r\nexport default Style\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/Style.js","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-fill.js\n// module id = 83\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_create-property.js\n// module id = 84\n// module chunks = 0","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 85\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 86\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails-is-regexp.js\n// module id = 87\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 88\n// module chunks = 0","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 89\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 91\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 92\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 93\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-expm1.js\n// module id = 94\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-sign.js\n// module id = 95\n// module chunks = 0","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_microtask.js\n// module id = 96\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 97\n// module chunks = 0","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 98\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_species-constructor.js\n// module id = 99\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-at.js\n// module id = 100\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-context.js\n// module id = 101\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-repeat.js\n// module id = 102\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-ws.js\n// module id = 103\n// module chunks = 0","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_task.js\n// module id = 104\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_typed-buffer.js\n// module id = 105\n// module chunks = 0","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-define.js\n// module id = 106\n// module chunks = 0","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 107\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.iterator.js\n// module id = 108\n// module chunks = 0","import parseCode from './parseCode';\nimport extend from './extend';\nimport projections from './projections';\nimport {sphere as dc_sphere, eccentricity as dc_eccentricity} from './deriveConstants';\nimport Datum from './constants/Datum';\nimport datum from './datum';\nimport match from './match';\n\nfunction Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = parseCode(srsCode);\n if(typeof json !== 'object'){\n callback(srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback(srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = match(Datum, json.datumCode);\n if (datumDef) {\n json.datum_params = datumDef.towgs84 ? datumDef.towgs84.split(',') : null;\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n var sphere_ = dc_sphere(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = dc_eccentricity(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var datumObj = json.datum || datum(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2);\n\n extend(this, json); // transfer everything over from the projection because we don't know what we'll need\n extend(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calulated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n}\nProjection.projections = projections;\nProjection.projections.start();\nexport default Projection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/Proj.js\n// module id = 109\n// module chunks = 0","export default function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gN.js\n// module id = 110\n// module chunks = 0","export default function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/imlfn.js\n// module id = 111\n// module chunks = 0","export default function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_mlfn.js\n// module id = 112\n// module chunks = 0","export default function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/qsfnz.js\n// module id = 113\n// module chunks = 0","var ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nexport default function match(obj, key) {\n if (obj[key]) {\n return obj[key];\n }\n var keys = Object.keys(obj);\n var lkey = key.toLowerCase().replace(ignoredChar, '');\n var i = -1;\n var testkey, processedKey;\n while (++i < keys.length) {\n testkey = keys[i];\n processedKey = testkey.toLowerCase().replace(ignoredChar, '');\n if (processedKey === lkey) {\n return obj[testkey];\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/match.js\n// module id = 114\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 115\n// module chunks = 0","/**\r\n * bindListener\r\n * @param listenerObj\r\n * @returns {boundListener}\r\n * @private\r\n */\r\nexport const bindListener_ = function (listenerObj) {\r\n let boundListener = function (evt) {\r\n let listener = listenerObj.listener\r\n let bindTo = listenerObj.bindTo || listenerObj.target\r\n if (listenerObj.callOnce) {\r\n unlistenByKey(listenerObj)\r\n }\r\n return listener.call(bindTo, evt)\r\n }\r\n listenerObj.boundListener = boundListener\r\n return boundListener\r\n}\r\n\r\n/**\r\n * findListener\r\n * @param listeners\r\n * @param listener\r\n * @param optThis\r\n * @param optSetDeleteIndex\r\n * @returns {*}\r\n * @private\r\n */\r\nexport const findListener_ = function (listeners, listener, optThis, optSetDeleteIndex) {\r\n let listenerObj = null\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n listenerObj = listeners[i]\r\n if (listenerObj.listener === listener && listenerObj.bindTo === optThis) {\r\n if (optSetDeleteIndex) {\r\n listenerObj.deleteIndex = i\r\n }\r\n return listenerObj\r\n }\r\n }\r\n return undefined\r\n}\r\n\r\n/**\r\n * get Listeners\r\n * @param target\r\n * @param type\r\n * @returns {undefined}\r\n */\r\nexport const getListeners = function (target, type) {\r\n let listenerMap = target.ol_lm\r\n return listenerMap ? listenerMap[type] : undefined\r\n}\r\n\r\n/**\r\n * Get the lookup of listeners. If one does not exist on the target, it is\r\n * @param target\r\n * @returns {{}|*}\r\n * @private\r\n */\r\nexport const getListenerMap_ = function (target) {\r\n let listenerMap = target.ol_lm\r\n if (!listenerMap) {\r\n listenerMap = target.ol_lm = {}\r\n }\r\n return listenerMap\r\n}\r\n\r\n/**\r\n * Clean up all listener objects of the given type\r\n * @param target\r\n * @param type\r\n * @private\r\n */\r\nexport const removeListeners_ = function (target, type) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n for (let i = 0, ii = listeners.length; i < ii; ++i) {\r\n target.removeEventListener(type, listeners[i].boundListener)\r\n clear(listeners[i])\r\n }\r\n listeners.length = 0\r\n let listenerMap = target.ol_lm\r\n if (listenerMap) {\r\n delete listenerMap[type]\r\n if (Object.keys(listenerMap).length === 0) {\r\n delete target.ol_lm\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Registers an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n * @param optOnce\r\n * @returns {*}\r\n */\r\nexport const listen = function (target, type, listener, optThis, optOnce) {\r\n let listenerMap = getListenerMap_(target)\r\n let listeners = listenerMap[type]\r\n if (!listeners) {\r\n listeners = listenerMap[type] = []\r\n }\r\n let listenerObj = findListener_(listeners, listener, optThis, false)\r\n if (listenerObj) {\r\n if (!optOnce) {\r\n // Turn one-off listener into a permanent one.\r\n listenerObj.callOnce = false\r\n }\r\n } else {\r\n listenerObj = /** @type {ol.EventsKey} */ ({\r\n bindTo: optThis,\r\n callOnce: !!optOnce,\r\n listener: listener,\r\n target: target,\r\n type: type\r\n })\r\n target.addEventListener(type, bindListener_(listenerObj))\r\n listeners.push(listenerObj)\r\n }\r\n return listenerObj\r\n}\r\n\r\n/**\r\n * Registers a one-off event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param opt_this\r\n * @returns {*}\r\n */\r\nexport const listenOnce = function (target, type, listener, optThis) {\r\n return listen(target, type, listener, optThis, true)\r\n}\r\n\r\n/**\r\n * Unregisters an event listener on an event target\r\n * @param target\r\n * @param type\r\n * @param listener\r\n * @param optThis\r\n */\r\nexport const unlisten = function (target, type, listener, optThis) {\r\n let listeners = getListeners(target, type)\r\n if (listeners) {\r\n let listenerObj = findListener_(listeners, listener, optThis, true)\r\n if (listenerObj) {\r\n unlistenByKey(listenerObj)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters event listeners on an event target. The argument passed to this function is the key returned from\r\n * @param key\r\n */\r\nexport const unlistenByKey = function (key) {\r\n if (key && key.target) {\r\n key.target.removeEventListener(key.type, key.boundListener)\r\n let listeners = getListeners(key.target, key.type)\r\n if (listeners) {\r\n let i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key)\r\n if (i !== -1) {\r\n listeners.splice(i, 1)\r\n }\r\n if (listeners.length === 0) {\r\n removeListeners_(key.target, key.type)\r\n }\r\n }\r\n clear(key)\r\n }\r\n}\r\n/**\r\n * clear object attr\r\n * @param object\r\n */\r\nexport const clear = function (object) {\r\n for (let property in object) {\r\n delete object[property]\r\n }\r\n}\r\n\r\n/**\r\n * Unregisters all event listeners on an event target.\r\n * @param {ol.EventTargetLike} target Target.\r\n */\r\nexport const unlistenAll = function (target) {\r\n let listenerMap = getListenerMap_(target)\r\n for (let type in listenerMap) {\r\n removeListeners_(target, type)\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/Events.js","/**\r\n * Created by FDD on 2017/5/20.\r\n */\r\nexport default {\r\n /**\r\n * Generic change event. Triggered when the revision counter is increased.\r\n * @event ol.events.Event#change\r\n * @api\r\n */\r\n CHANGE: 'change',\r\n CLICK: 'click',\r\n DBLCLICK: 'dblclick',\r\n DRAGENTER: 'dragenter',\r\n DRAGOVER: 'dragover',\r\n DROP: 'drop',\r\n ERROR: 'error',\r\n KEYDOWN: 'keydown',\r\n KEYPRESS: 'keypress',\r\n LOAD: 'load',\r\n MOUSEDOWN: 'mousedown',\r\n MOUSEMOVE: 'mousemove',\r\n MOUSEOUT: 'mouseout',\r\n MOUSEUP: 'mouseup',\r\n MOUSEWHEEL: 'mousewheel',\r\n MSPOINTERDOWN: 'MSPointerDown',\r\n RESIZE: 'resize',\r\n TOUCHSTART: 'touchstart',\r\n TOUCHMOVE: 'touchmove',\r\n TOUCHEND: 'touchend',\r\n WHEEL: 'wheel'\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/EventType.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单尖头箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass FineArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FINE_ARROW\r\n this.tailWidthFactor = 0.1\r\n this.neckWidthFactor = 0.2\r\n this.headWidthFactor = 0.25\r\n this.headAngle = Math.PI / 8.5\r\n this.neckAngle = Math.PI / 13\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let len = PlotUtils.getBaseLength(pnts)\r\n let tailWidth = len * this.tailWidthFactor\r\n let neckWidth = len * this.neckWidthFactor\r\n let headWidth = len * this.headWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, true)\r\n let tailRight = PlotUtils.getThirdPoint(pnt2, pnt1, Constants.HALF_PI, tailWidth, false)\r\n let headLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.headAngle, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(pnt1, pnt2, this.neckAngle, neckWidth, true)\r\n let pList = [tailLeft, neckLeft, headLeft, pnt2, headRight, neckRight, tailRight]\r\n this.setCoordinates([pList])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FineArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/FineArrow.js","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-number-value.js\n// module id = 119\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-copy-within.js\n// module id = 120\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-from-iterable.js\n// module id = 121\n// module chunks = 0","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-reduce.js\n// module id = 122\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_bind.js\n// module id = 123\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 124\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-to-json.js\n// module id = 125\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-weak.js\n// module id = 126\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 127\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-integer.js\n// module id = 128\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 129\n// module chunks = 0","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 130\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_math-log1p.js\n// module id = 131\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-assign.js\n// module id = 132\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 133\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn-ext.js\n// module id = 134\n// module chunks = 0","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 135\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-to-array.js\n// module id = 136\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_own-keys.js\n// module id = 137\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-float.js\n// module id = 138\n// module chunks = 0","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_parse-int.js\n// module id = 139\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_same-value.js\n// module id = 140\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-pad.js\n// module id = 141\n// module chunks = 0","exports.f = require('./_wks');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-ext.js\n// module id = 142\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 143\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.flags.js\n// module id = 144\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.set.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-map.js\n// module id = 146\n// module chunks = 0","\n\n\n/**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\nvar NUM_100K_SETS = 6;\n\n/**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n/**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\nvar A = 65; // A\nvar I = 73; // I\nvar O = 79; // O\nvar V = 86; // V\nvar Z = 90; // Z\nexport default {\n forward: forward,\n inverse: inverse,\n toPoint: toPoint\n};\n/**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\nexport function forward(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n};\n\n/**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\nexport function inverse(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n};\n\nexport function toPoint(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n};\n/**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\nfunction degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n}\n\n/**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\nfunction radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n}\n\n/**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\nfunction LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n}\n\n/**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\nfunction UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n}\n\n/**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\nfunction getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n}\n\n/**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\nfunction encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n}\n\n/**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\nfunction get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n}\n\n/**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\nfunction get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n}\n\n/**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\nfunction getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n}\n\n/**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\nfunction decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n}\n\n/**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100´k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\nfunction getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n}\n\n/**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\nfunction getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n}\n\n/**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\nfunction getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/mgrs/mgrs.js\n// module id = 147\n// module chunks = 0","export default function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/hypot.js\n// module id = 148\n// module chunks = 0","var C00 = 1;\nvar C02 = 0.25;\nvar C04 = 0.046875;\nvar C06 = 0.01953125;\nvar C08 = 0.01068115234375;\nvar C22 = 0.75;\nvar C44 = 0.46875;\nvar C46 = 0.01302083333333333333;\nvar C48 = 0.00712076822916666666;\nvar C66 = 0.36458333333333333333;\nvar C68 = 0.00569661458333333333;\nvar C88 = 0.3076171875;\n\nexport default function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_enfn.js\n// module id = 149\n// module chunks = 0","import pj_mlfn from \"./pj_mlfn\";\nimport {EPSLN} from '../constants/values';\n\nvar MAX_ITER = 20;\n\nexport default function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < EPSLN) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/pj_inv_mlfn.js\n// module id = 150\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/sinh.js\n// module id = 151\n// module chunks = 0","export default function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/toPoint.js\n// module id = 152\n// module chunks = 0","import globals from './global';\nimport parseProj from './projString';\nimport wkt from 'wkt-parser';\n\nfunction defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = parseProj(arguments[1]);\n }\n else {\n defs[name] = wkt(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n}\nglobals(defs);\nexport default defs;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/defs.js\n// module id = 153\n// module chunks = 0","import {D2R} from './constants/values';\nimport PrimeMeridian from './constants/PrimeMeridian';\nimport units from './constants/units';\nimport match from './match';\n\nexport default function(defData) {\n var self = {};\n var paramObj = defData.split('+').map(function(v) {\n return v.trim();\n }).filter(function(a) {\n return a;\n }).reduce(function(p, a) {\n var split = a.split('=');\n split.push(true);\n p[split[0].toLowerCase()] = split[1];\n return p;\n }, {});\n var paramName, paramVal, paramOutname;\n var params = {\n proj: 'projName',\n datum: 'datumCode',\n rf: function(v) {\n self.rf = parseFloat(v);\n },\n lat_0: function(v) {\n self.lat0 = v * D2R;\n },\n lat_1: function(v) {\n self.lat1 = v * D2R;\n },\n lat_2: function(v) {\n self.lat2 = v * D2R;\n },\n lat_ts: function(v) {\n self.lat_ts = v * D2R;\n },\n lon_0: function(v) {\n self.long0 = v * D2R;\n },\n lon_1: function(v) {\n self.long1 = v * D2R;\n },\n lon_2: function(v) {\n self.long2 = v * D2R;\n },\n alpha: function(v) {\n self.alpha = parseFloat(v) * D2R;\n },\n lonc: function(v) {\n self.longc = v * D2R;\n },\n x_0: function(v) {\n self.x0 = parseFloat(v);\n },\n y_0: function(v) {\n self.y0 = parseFloat(v);\n },\n k_0: function(v) {\n self.k0 = parseFloat(v);\n },\n k: function(v) {\n self.k0 = parseFloat(v);\n },\n a: function(v) {\n self.a = parseFloat(v);\n },\n b: function(v) {\n self.b = parseFloat(v);\n },\n r_a: function() {\n self.R_A = true;\n },\n zone: function(v) {\n self.zone = parseInt(v, 10);\n },\n south: function() {\n self.utmSouth = true;\n },\n towgs84: function(v) {\n self.datum_params = v.split(\",\").map(function(a) {\n return parseFloat(a);\n });\n },\n to_meter: function(v) {\n self.to_meter = parseFloat(v);\n },\n units: function(v) {\n self.units = v;\n var unit = match(units, v);\n if (unit) {\n self.to_meter = unit.to_meter;\n }\n },\n from_greenwich: function(v) {\n self.from_greenwich = v * D2R;\n },\n pm: function(v) {\n var pm = match(PrimeMeridian, v);\n self.from_greenwich = (pm ? pm : parseFloat(v)) * D2R;\n },\n nadgrids: function(v) {\n if (v === '@null') {\n self.datumCode = 'none';\n }\n else {\n self.nadgrids = v;\n }\n },\n axis: function(v) {\n var legalAxis = \"ewnsud\";\n if (v.length === 3 && legalAxis.indexOf(v.substr(0, 1)) !== -1 && legalAxis.indexOf(v.substr(1, 1)) !== -1 && legalAxis.indexOf(v.substr(2, 1)) !== -1) {\n self.axis = v;\n }\n }\n };\n for (paramName in paramObj) {\n paramVal = paramObj[paramName];\n if (paramName in params) {\n paramOutname = params[paramName];\n if (typeof paramOutname === 'function') {\n paramOutname(paramVal);\n }\n else {\n self[paramOutname] = paramVal;\n }\n }\n else {\n self[paramName] = paramVal;\n }\n }\n if(typeof self.datumCode === 'string' && self.datumCode !== \"WGS84\"){\n self.datumCode = self.datumCode.toLowerCase();\n }\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projString.js\n// module id = 154\n// module chunks = 0","// Heavily based on this etmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\nimport sinh from '../common/sinh';\nimport hypot from '../common/hypot';\nimport asinhy from '../common/asinhy';\nimport gatg from '../common/gatg';\nimport clens from '../common/clens';\nimport clens_cmplx from '../common/clens_cmplx';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n if (this.es === undefined || this.es <= 0) {\n throw new Error('incorrect elliptical usage');\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = gatg(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + clens(this.gtu, 2 * Z));\n}\n\nexport function forward(p) {\n var Ce = adjust_lon(p.x - this.long0);\n var Cn = p.y;\n\n Cn = gatg(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, hypot(sin_Cn, cos_Cn * cos_Ce));\n Ce = asinhy(Math.tan(Ce));\n\n var tmp = clens_cmplx(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\nexport function inverse(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = clens_cmplx(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(sinh(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, hypot(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = adjust_lon(Ce + this.long0);\n lat = gatg(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/etmerc.js\n// module id = 155\n// module chunks = 0","import {D2R, R2D, PJD_3PARAM, PJD_7PARAM} from './constants/values';\nimport datum_transform from './datum_transform';\nimport adjust_axis from './adjust_axis';\nimport proj from './Proj';\nimport toPoint from './common/toPoint';\nfunction checkNotWGS(source, dest) {\n return ((source.datum.datum_type === PJD_3PARAM || source.datum.datum_type === PJD_7PARAM) && dest.datumCode !== 'WGS84') || ((dest.datum.datum_type === PJD_3PARAM || dest.datum.datum_type === PJD_7PARAM) && source.datumCode !== 'WGS84');\n}\n\nexport default function transform(source, dest, point) {\n var wgs84;\n if (Array.isArray(point)) {\n point = toPoint(point);\n }\n\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new proj('WGS84');\n point = transform(source, wgs84, point);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (source.axis !== 'enu') {\n point = adjust_axis(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * D2R,\n y: point.y * D2R\n };\n }\n else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = datum_transform(source.datum, dest.datum, point);\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * R2D,\n y: point.y * R2D\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter\n };\n }\n }\n\n // DGR, 2010/11/12\n if (dest.axis !== 'enu') {\n return adjust_axis(dest, true, point);\n }\n\n return point;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/transform.js\n// module id = 156\n// module chunks = 0","var D2R = 0.01745329251994329577;\nimport parser from './parser';\nimport {sExpr} from './process';\n\n\n\nfunction rename(obj, params) {\n var outName = params[0];\n var inName = params[1];\n if (!(outName in obj) && (inName in obj)) {\n obj[outName] = obj[inName];\n if (params.length === 3) {\n obj[outName] = params[2](obj[outName]);\n }\n }\n}\n\nfunction d2r(input) {\n return input * D2R;\n}\n\nfunction cleanWKT(wkt) {\n if (wkt.type === 'GEOGCS') {\n wkt.projName = 'longlat';\n } else if (wkt.type === 'LOCAL_CS') {\n wkt.projName = 'identity';\n wkt.local = true;\n } else {\n if (typeof wkt.PROJECTION === 'object') {\n wkt.projName = Object.keys(wkt.PROJECTION)[0];\n } else {\n wkt.projName = wkt.PROJECTION;\n }\n }\n if (wkt.UNIT) {\n wkt.units = wkt.UNIT.name.toLowerCase();\n if (wkt.units === 'metre') {\n wkt.units = 'meter';\n }\n if (wkt.UNIT.convert) {\n if (wkt.type === 'GEOGCS') {\n if (wkt.DATUM && wkt.DATUM.SPHEROID) {\n wkt.to_meter = wkt.UNIT.convert*wkt.DATUM.SPHEROID.a;\n }\n } else {\n wkt.to_meter = wkt.UNIT.convert, 10;\n }\n }\n }\n var geogcs = wkt.GEOGCS;\n if (wkt.type === 'GEOGCS') {\n geogcs = wkt;\n }\n if (geogcs) {\n //if(wkt.GEOGCS.PRIMEM&&wkt.GEOGCS.PRIMEM.convert){\n // wkt.from_greenwich=wkt.GEOGCS.PRIMEM.convert*D2R;\n //}\n if (geogcs.DATUM) {\n wkt.datumCode = geogcs.DATUM.name.toLowerCase();\n } else {\n wkt.datumCode = geogcs.name.toLowerCase();\n }\n if (wkt.datumCode.slice(0, 2) === 'd_') {\n wkt.datumCode = wkt.datumCode.slice(2);\n }\n if (wkt.datumCode === 'new_zealand_geodetic_datum_1949' || wkt.datumCode === 'new_zealand_1949') {\n wkt.datumCode = 'nzgd49';\n }\n if (wkt.datumCode === 'wgs_1984') {\n if (wkt.PROJECTION === 'Mercator_Auxiliary_Sphere') {\n wkt.sphere = true;\n }\n wkt.datumCode = 'wgs84';\n }\n if (wkt.datumCode.slice(-6) === '_ferro') {\n wkt.datumCode = wkt.datumCode.slice(0, - 6);\n }\n if (wkt.datumCode.slice(-8) === '_jakarta') {\n wkt.datumCode = wkt.datumCode.slice(0, - 8);\n }\n if (~wkt.datumCode.indexOf('belge')) {\n wkt.datumCode = 'rnb72';\n }\n if (geogcs.DATUM && geogcs.DATUM.SPHEROID) {\n wkt.ellps = geogcs.DATUM.SPHEROID.name.replace('_19', '').replace(/[Cc]larke\\_18/, 'clrk');\n if (wkt.ellps.toLowerCase().slice(0, 13) === 'international') {\n wkt.ellps = 'intl';\n }\n\n wkt.a = geogcs.DATUM.SPHEROID.a;\n wkt.rf = parseFloat(geogcs.DATUM.SPHEROID.rf, 10);\n }\n if (~wkt.datumCode.indexOf('osgb_1936')) {\n wkt.datumCode = 'osgb36';\n }\n if (~wkt.datumCode.indexOf('osni_1952')) {\n wkt.datumCode = 'osni52';\n }\n if (~wkt.datumCode.indexOf('tm65')\n || ~wkt.datumCode.indexOf('geodetic_datum_of_1965')) {\n wkt.datumCode = 'ire65';\n }\n }\n if (wkt.b && !isFinite(wkt.b)) {\n wkt.b = wkt.a;\n }\n\n function toMeter(input) {\n var ratio = wkt.to_meter || 1;\n return input * ratio;\n }\n var renamer = function(a) {\n return rename(wkt, a);\n };\n var list = [\n ['standard_parallel_1', 'Standard_Parallel_1'],\n ['standard_parallel_2', 'Standard_Parallel_2'],\n ['false_easting', 'False_Easting'],\n ['false_northing', 'False_Northing'],\n ['central_meridian', 'Central_Meridian'],\n ['latitude_of_origin', 'Latitude_Of_Origin'],\n ['latitude_of_origin', 'Central_Parallel'],\n ['scale_factor', 'Scale_Factor'],\n ['k0', 'scale_factor'],\n ['latitude_of_center', 'Latitude_of_center'],\n ['lat0', 'latitude_of_center', d2r],\n ['longitude_of_center', 'Longitude_Of_Center'],\n ['longc', 'longitude_of_center', d2r],\n ['x0', 'false_easting', toMeter],\n ['y0', 'false_northing', toMeter],\n ['long0', 'central_meridian', d2r],\n ['lat0', 'latitude_of_origin', d2r],\n ['lat0', 'standard_parallel_1', d2r],\n ['lat1', 'standard_parallel_1', d2r],\n ['lat2', 'standard_parallel_2', d2r],\n ['alpha', 'azimuth', d2r],\n ['srsCode', 'name']\n ];\n list.forEach(renamer);\n if (!wkt.long0 && wkt.longc && (wkt.projName === 'Albers_Conic_Equal_Area' || wkt.projName === 'Lambert_Azimuthal_Equal_Area')) {\n wkt.long0 = wkt.longc;\n }\n if (!wkt.lat_ts && wkt.lat1 && (wkt.projName === 'Stereographic_South_Pole' || wkt.projName === 'Polar Stereographic (variant B)')) {\n wkt.lat0 = d2r(wkt.lat1 > 0 ? 90 : -90);\n wkt.lat_ts = wkt.lat1;\n }\n}\nexport default function(wkt) {\n var lisp = parser(wkt);\n var type = lisp.shift();\n var name = lisp.shift();\n lisp.unshift(['name', name]);\n lisp.unshift(['type', type]);\n var obj = {};\n sExpr(lisp, obj);\n cleanWKT(obj);\n return obj;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/index.js\n// module id = 157\n// module chunks = 0","const HMap = {}\r\nHMap.version = require('../package.json').version\r\nimport {ol, proj4} from './constants'\r\nimport Map from './map/Map'\r\nimport Layer from './layer/Layer'\r\nimport Feature from './feature/feature'\r\nimport CoordsTransform from './plugins/CoordsTransform'\r\nimport LayerSwitcher from './plugins/LayerSwitcher'\r\nimport MeasureTool from './plugins/MeasureTool'\r\nimport LayerSpyglass from './interaction/LayerSpyglass'\r\nimport MisplacesGlass from './interaction/MisplacesGlass'\r\nimport GeomCoder from './plugins/GeomCoder'\r\nimport PlotDraw from './plot/Event/PlotDraw'\r\nimport PlotEdit from './plot/Event/PlotEdit'\r\nimport Popover from './overlay/Popover'\r\nimport * as utils from './utils/utils'\r\n\r\nHMap.ol = ol\r\nwindow.ol = ol\r\nHMap.proj4 = proj4\r\nwindow.proj4 = proj4\r\nHMap.Map = Map\r\nHMap.Utils = utils\r\nHMap.PlotDraw = PlotDraw\r\nHMap.PlotEdit = PlotEdit\r\nHMap.Layer = Layer\r\nHMap.Feature = Feature\r\nHMap.Popover = Popover\r\nHMap.CoordsTransform = CoordsTransform\r\nHMap.LayerSwitcher = LayerSwitcher\r\nHMap.MeasureTool = MeasureTool\r\nHMap.LayerSpyglass = LayerSpyglass\r\nHMap.MisplacesGlass = MisplacesGlass\r\nHMap.GeomCoder = GeomCoder\r\n\r\n/**\r\n * Inherit the prototype methods from one constructor into another.\r\n *\r\n * Usage:\r\n *\r\n * function ParentClass(a, b) { }\r\n * ParentClass.prototype.foo = function(a) { }\r\n *\r\n * function ChildClass(a, b, c) {\r\n * // Call parent constructor\r\n * ParentClass.call(this, a, b);\r\n * }\r\n * HMap.inherits(ChildClass, ParentClass);\r\n *\r\n * var child = new ChildClass('a', 'b', 'see');\r\n * child.foo(); // This works.\r\n *\r\n * @param {!Function} childCtor Child constructor.\r\n * @param {!Function} parentCtor Parent constructor.\r\n * @function\r\n * @api\r\n */\r\nHMap.inherits = function (childCtor, parentCtor) {\r\n childCtor.prototype = Object.create(parentCtor.prototype)\r\n childCtor.prototype.constructor = childCtor\r\n}\r\n\r\n/**\r\n * A reusable function, used e.g. as a default for callbacks.\r\n *\r\n * @return {undefined} Nothing.\r\n */\r\nHMap.nullFunction = function () {\r\n}\r\n\r\nexport default HMap\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-polyfill/lib/index.js\n// module id = 159\n// module chunks = 0","const config = {\r\n interactions: {\r\n altShiftDragRotate: true,\r\n doubleClickZoom: true,\r\n keyboard: true,\r\n mouseWheelZoom: true,\r\n shiftDragZoom: true,\r\n dragPan: true,\r\n pinchRotate: true,\r\n pinchZoom: true,\r\n zoomDelta: 5, // 缩放增量(默认一级)\r\n zoomDuration: 5 // 缩放持续时间\r\n },\r\n controls: {\r\n attribution: true,\r\n attributionOptions: {\r\n className: 'ol-attribution', // Default\r\n target: 'attributionTarget'\r\n },\r\n rotate: true,\r\n rotateOptions: {\r\n className: 'ol-rotate', // Default\r\n target: 'rotateTarget'\r\n },\r\n zoom: true,\r\n zoomOptions: {\r\n className: 'ol-zoom', // Default\r\n target: 'zoomTarget'\r\n },\r\n overViewMapVisible: false,\r\n scaleLineVisible: true\r\n },\r\n view: {\r\n center: [0, 0],\r\n // constrainRotation: false, // 旋转角度约束\r\n enableRotation: true, // 是否允许旋转\r\n extent: [],\r\n // maxResolution: 0, // 非必须参数\r\n // minResolution: 0,\r\n // maxZoom: 19,\r\n // minZoom: 0,\r\n projection: 'EPSG:3857',\r\n resolutions: [],\r\n rotation: 0,\r\n resolution: '',\r\n zoom: 0, // resolution\r\n zoomFactor: 2 // 用于约束分变率的缩放因子(高分辨率设备需要注意)\r\n },\r\n logo: {}\r\n}\r\n\r\nexport default config\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/config/config.js","import { splitWords, stamp } from '../utils/utils'\r\n\r\n/**\r\n * 通过id获取dom\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const get = (id) => {\r\n return typeof id === 'string' ? document.getElementById(id) : id\r\n}\r\n\r\n/**\r\n * 获取父节点下指定的子节点\r\n * @param str\r\n * @param container\r\n * @returns {NodeList|*}\r\n */\r\nexport const getChildByTagName = (str, container) => {\r\n return container.getElementsByTagName(str)\r\n}\r\n\r\n/**\r\n * 通过类名获取元素\r\n * @param str\r\n * @param container\r\n * @param root\r\n * @returns {HTMLElement}\r\n */\r\nexport const getElementsByClassName = (str, container, root) => {\r\n let _root = root || window\r\n let $ = _root.document.querySelector.bind(_root.document)\r\n // let $$ = _root.document.querySelectorAll.bind(_root.document)\r\n let target = $(str)\r\n return target\r\n}\r\n\r\n/**\r\n * 获取dom class\r\n * @param elem\r\n * @returns {*|getAttribute|string|string}\r\n */\r\nexport const getClass = (elem) => {\r\n return elem.getAttribute && elem.getAttribute('class') || ''\r\n}\r\n\r\n/**\r\n * 获取dom样式列表()\r\n * @param el\r\n * @param style\r\n * @returns {*}\r\n */\r\nexport const getStyle = (el, style) => {\r\n let value = el.style[style] || (el.currentStyle && el.currentStyle[style])\r\n if ((!value || value === 'auto') && document.defaultView) {\r\n let css = document.defaultView.getComputedStyle(el, null)\r\n value = css ? css[style] : null\r\n }\r\n return value === 'auto' ? null : value\r\n}\r\n\r\n/**\r\n * 创建dom\r\n * @param tagName (标签名)\r\n * @param className (类名)\r\n * @param container (容器)\r\n * @param id (唯一标识)\r\n * @returns {Element}\r\n */\r\nexport const create = (tagName, className, container, id) => {\r\n let el = document.createElement(tagName)\r\n el.className = className || ''\r\n if (id) {\r\n el.id = id\r\n }\r\n if (container) {\r\n container.appendChild(el)\r\n }\r\n return el\r\n}\r\n\r\n/**\r\n * 移除当前dom\r\n * @param el\r\n */\r\nexport const remove = (el) => {\r\n let parent = el.parentNode\r\n if (parent) {\r\n parent.removeChild(el)\r\n }\r\n}\r\n\r\n/**\r\n * 将dom致空\r\n * @param el\r\n */\r\nexport const empty = (el) => {\r\n while (el.firstChild) {\r\n el.removeChild(el.firstChild)\r\n }\r\n}\r\n\r\n/**\r\n * 添加到容器前方\r\n * @param el\r\n */\r\nexport const toFront = (el) => {\r\n el.parentNode.appendChild(el)\r\n}\r\n\r\n/**\r\n * 添加到容器后放\r\n * @param el\r\n */\r\nexport const toBack = (el) => {\r\n let parent = el.parentNode\r\n parent.insertBefore(el, parent.firstChild)\r\n}\r\n\r\n/**\r\n * 判断DOM对象是否有此类名\r\n * @param el\r\n * @param name\r\n * @returns {boolean}\r\n */\r\nexport const hasClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n return el.classList.contains(name)\r\n }\r\n let className = getClass(el)\r\n return className.length > 0 && new RegExp('(^|\\\\s)' + name + '(\\\\s|$)').test(className)\r\n}\r\n\r\n/**\r\n * 添加类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const addClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n let classes = splitWords(name)\r\n for (let i = 0, len = classes.length; i < len; i++) {\r\n el.classList.add(classes[i])\r\n }\r\n } else if (!hasClass(el, name)) {\r\n let className = getClass(el)\r\n setClass(el, (className ? className + ' ' : '') + name)\r\n }\r\n}\r\n\r\n/**\r\n * 移除类名\r\n * @param el\r\n * @param name\r\n */\r\nexport const removeClass = (el, name) => {\r\n if (el.classList !== undefined) {\r\n el.classList.remove(name)\r\n } else {\r\n setClass(el, String.trim((' ' + getClass(el) + ' ').replace(' ' + name + ' ', ' ')))\r\n }\r\n}\r\n\r\n/**\r\n * 设置class\r\n * @param el\r\n * @param name\r\n */\r\nexport const setClass = (el, name) => {\r\n if (el.className.baseVal === undefined) {\r\n el.className = name\r\n } else {\r\n el.className.baseVal = name\r\n }\r\n}\r\n\r\n/**\r\n * 创建一个隐藏的元素\r\n * @param tagName\r\n * @param parent\r\n * @param id\r\n * @returns {Element}\r\n */\r\nexport const createHidden = (tagName, parent, id) => {\r\n let element = document.createElement(tagName)\r\n element.style.display = 'none'\r\n if (id) {\r\n element.id = id\r\n }\r\n if (parent) {\r\n parent.appendChild(element)\r\n }\r\n return element\r\n}\r\n\r\n/**\r\n * 获取事件唯一标识\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {string}\r\n */\r\nexport const getDomEventKey = (type, fn, context) => {\r\n return '_p_dom_event_' + type + '_' + stamp(fn) + (context ? '_' + stamp(context) : '')\r\n}\r\n\r\n/**\r\n * 对DOM对象添加事件监听\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {*}\r\n */\r\nexport const addListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (handler) {\r\n return this\r\n }\r\n handler = function (e) {\r\n return fn.call(context || element, e)\r\n }\r\n if ('addEventListener' in element) {\r\n element.addEventListener(type, handler, false)\r\n } else if ('attachEvent' in element) {\r\n element.attachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = handler\r\n return this\r\n}\r\n\r\n/**\r\n * 移除DOM对象监听事件\r\n * @param element\r\n * @param type\r\n * @param fn\r\n * @param context\r\n * @returns {removeListener}\r\n */\r\nexport const removeListener = function (element, type, fn, context) {\r\n let eventKey = getDomEventKey(type, fn, context)\r\n let handler = element[eventKey]\r\n if (!handler) {\r\n return this\r\n }\r\n if ('removeEventListener' in element) {\r\n element.removeEventListener(type, handler, false)\r\n } else if ('detachEvent' in element) {\r\n element.detachEvent('on' + type, handler)\r\n }\r\n element[eventKey] = null\r\n return this\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/dom/domUtil.js","import { ol } from '../constants'\r\nclass appDrag extends (ol.interaction.Pointer) {\r\n constructor () {\r\n super()\r\n ol.interaction.Pointer.call(this, {\r\n handleDownEvent: this.handleDownEvent,\r\n handleDragEvent: this.handleDragEvent,\r\n handleMoveEvent: this.handleMoveEvent,\r\n handleUpEvent: this.handleUpEvent\r\n })\r\n\r\n this.customType = 'appDrag'\r\n /**\r\n * @type {ol.Pixel}\r\n * @private\r\n */\r\n this.coordinate_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.cursor_ = 'pointer'\r\n\r\n /**\r\n * @type {ol.Feature}\r\n * @private\r\n */\r\n this.feature_ = null\r\n\r\n /**\r\n * @type {string|undefined}\r\n * @private\r\n */\r\n this.previousCursor_ = undefined\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n * @return {boolean} `true` to start the drag sequence.\r\n */\r\n handleDownEvent (evt) {\r\n if (evt.originalEvent.button === 0) {\r\n let map = evt.map\r\n let feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n if (feature && feature.get('params') && feature.get('params').moveable) {\r\n this.coordinate_ = evt.coordinate\r\n this.feature_ = feature\r\n }\r\n map.dispatchEvent({\r\n type: 'mouseDownEvent',\r\n originEvent: evt,\r\n value: feature\r\n })\r\n return !!feature\r\n }\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Map browser event.\r\n */\r\n handleDragEvent (evt) {\r\n if (!this.coordinate_) {\r\n return\r\n }\r\n let deltaX = evt.coordinate[0] - this.coordinate_[0]\r\n let deltaY = evt.coordinate[1] - this.coordinate_[1]\r\n let geometry = /** @type {ol.geom.SimpleGeometry} */\r\n (this.feature_.getGeometry())\r\n geometry.translate(deltaX, deltaY)\r\n this.coordinate_[0] = evt.coordinate[0]\r\n this.coordinate_[1] = evt.coordinate[1]\r\n this.feature_.dispatchEvent('featureMove')\r\n }\r\n\r\n /**\r\n * @param {ol.MapBrowserEvent} evt Event.\r\n */\r\n handleMoveEvent (evt) {\r\n if (this.cursor_) {\r\n let map = evt.map\r\n let feature = null\r\n if (this.feature_) {\r\n feature = this.feature_\r\n } else {\r\n feature = map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n return feature\r\n })\r\n }\r\n let element = evt.map.getTargetElement()\r\n if (feature) {\r\n if (element.style.cursor !== this.cursor_) {\r\n this.previousCursor_ = element.style.cursor\r\n element.style.cursor = this.cursor_\r\n }\r\n } else if (this.previousCursor_ !== undefined) {\r\n element.style.cursor = this.previousCursor_\r\n this.previousCursor_ = undefined\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return {boolean} `false` to stop the drag sequence.\r\n */\r\n handleUpEvent () {\r\n this.coordinate_ = null\r\n this.feature_ = null\r\n return false\r\n }\r\n}\r\n\r\nexport default appDrag\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/event/appDrag.js","import { ol } from '../constants'\r\n\r\nclass LayerSpyglass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n // 在渲染之前处理渲染图层\r\n this.imagery.on('precompose', event => {\r\n let [ctx, pixelRatio] = [event.context, event.frameState.pixelRatio]\r\n ctx.save()\r\n ctx.beginPath()\r\n if (this.mousePosition) {\r\n ctx.arc(this.mousePosition[0] * pixelRatio, this.mousePosition[1] * pixelRatio,\r\n this.radius * pixelRatio, 0, 2 * Math.PI)\r\n ctx.lineWidth = 5 * pixelRatio\r\n ctx.strokeStyle = 'rgba(0,0,0,0.5)'\r\n ctx.stroke()\r\n }\r\n ctx.clip()\r\n })\r\n\r\n this.imagery.on('postcompose', event => {\r\n let ctx = event.context\r\n ctx.restore()\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSpyglass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/LayerSpyglass.js","import { ol } from '../constants'\r\n\r\nclass MisplacesGlass {\r\n constructor (params) {\r\n this.options = params || {}\r\n /**\r\n * 当前地图对象\r\n */\r\n if (this.options.map && this.options.map instanceof ol.Map) {\r\n this.map = this.options.map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n */\r\n this.container = this.map.getTargetElement()\r\n /**\r\n * 当前滤镜图层\r\n */\r\n this.imagery = this.options['imagery']\r\n /**\r\n * 当前鼠标位置\r\n * @type {null}\r\n */\r\n this.mousePosition = null\r\n /**\r\n * 当前滤镜半径\r\n * @type {number}\r\n */\r\n this.radius = 0\r\n\r\n this.activate()\r\n }\r\n\r\n /**\r\n * 激活工具\r\n */\r\n activate () {\r\n this.container.addEventListener('mousemove', event => {\r\n this.mousePosition = this.map.getEventPixel(event)\r\n this.map.render()\r\n })\r\n\r\n this.container.addEventListener('mouseout', () => {\r\n this.map.render()\r\n })\r\n\r\n document.addEventListener('keydown', evt => {\r\n if (evt.which === 38) {\r\n this.radius = Math.min(this.radius + 5, 150)\r\n this.map.render()\r\n evt.preventDefault()\r\n } else if (evt.which === 40) {\r\n this.radius = Math.max(this.radius - 5, 25)\r\n this.map.render()\r\n evt.preventDefault()\r\n }\r\n })\r\n\r\n this.renderTool()\r\n }\r\n\r\n /**\r\n * 渲染工具\r\n */\r\n renderTool () {\r\n this.imagery.on('postcompose', event => {\r\n if (this.mousePosition) {\r\n let context = event.context\r\n let pixelRatio = event.frameState.pixelRatio\r\n let half = this.radius * pixelRatio\r\n let centerX = this.mousePosition[0] * pixelRatio\r\n let centerY = this.mousePosition[1] * pixelRatio\r\n let originX = centerX - half\r\n let originY = centerY - half\r\n let size = 2 * half + 1\r\n let sourceData = context.getImageData(originX, originY, size, size).data\r\n let dest = context.createImageData(size, size)\r\n let destData = dest.data\r\n for (let j = 0; j < size; ++j) {\r\n for (let i = 0; i < size; ++i) {\r\n let dI = i - half\r\n let dJ = j - half\r\n let dist = Math.sqrt(dI * dI + dJ * dJ)\r\n let sourceI = i\r\n let sourceJ = j\r\n if (dist < half) {\r\n sourceI = Math.round(half + dI / 2)\r\n sourceJ = Math.round(half + dJ / 2)\r\n }\r\n let destOffset = (j * size + i) * 4\r\n let sourceOffset = (sourceJ * size + sourceI) * 4\r\n destData[destOffset] = sourceData[sourceOffset]\r\n destData[destOffset + 1] = sourceData[sourceOffset + 1]\r\n destData[destOffset + 2] = sourceData[sourceOffset + 2]\r\n destData[destOffset + 3] = sourceData[sourceOffset + 3]\r\n }\r\n }\r\n context.beginPath()\r\n context.arc(centerX, centerY, half, 0, 2 * Math.PI)\r\n context.lineWidth = 3 * pixelRatio\r\n context.strokeStyle = 'rgba(255,255,255,0.5)'\r\n context.putImageData(dest, originX, originY)\r\n context.stroke()\r\n context.restore()\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 销毁事件\r\n */\r\n destroy () {\r\n console.log('destroying')\r\n }\r\n\r\n /**\r\n * 设置当前地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default MisplacesGlass\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/interaction/MisplacesGlass.js","import { ol } from '../constants'\r\nclass Controls {\r\n _addControls (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.control.defaults({\r\n attribution: (options['attribution'] === false ? options['attribution'] : true),\r\n rotate: (options['rotate'] === false ? options['rotate'] : true),\r\n zoom: (options['zoom'] === false ? options['zoom'] : true)\r\n })\r\n }\r\n\r\n _addScaleLine () {\r\n let control = this.map.getControls()\r\n control.extend([\r\n new ol.control.ScaleLine() // 比例尺控件\r\n ])\r\n }\r\n\r\n /**\r\n * 放大\r\n */\r\n zoomIn (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom + 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n /**\r\n * 缩小\r\n */\r\n zoomOut (duration) {\r\n let zoom = this.map.getView().getZoom()\r\n this.map.getView().animate({\r\n zoom: (zoom - 1),\r\n duration: ((duration && typeof duration === 'number') ? duration : 300)\r\n })\r\n }\r\n\r\n zoomByDelta (delta, duration) {\r\n let view = this.map.getView()\r\n if (!view || !(view instanceof ol.View)) {\r\n return false\r\n } else {\r\n let currentResolution = view.getResolution()\r\n if (currentResolution) {\r\n let newResolution = view.constrainResolution(currentResolution, delta)\r\n if (duration > 0) {\r\n if (view.getAnimating()) {\r\n view.cancelAnimations()\r\n }\r\n view.animate({\r\n resolution: newResolution,\r\n duration: duration,\r\n easing: ol.easing.easeOut\r\n })\r\n } else {\r\n view.setResolution(newResolution)\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Controls\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Controls.js","import { ol } from '../constants'\r\nimport appDrag from '../event/appDrag'\r\nclass Interactions {\r\n _addInteractions (params) {\r\n let options = params || {}\r\n /* eslint new-cap: [\"error\", { \"newIsCap\": false }] */\r\n return new ol.interaction.defaults({\r\n altShiftDragRotate: ((options['altShiftDragRotate'] === false) ? options['altShiftDragRotate'] : true),\r\n doubleClickZoom: ((options['doubleClickZoom'] === false) ? options['doubleClickZoom'] : true),\r\n keyboard: ((options['keyboard'] === false) ? options['keyboard'] : true),\r\n mouseWheelZoom: ((options['mouseWheelZoom'] === false) ? options['mouseWheelZoom'] : true),\r\n shiftDragZoom: ((options['shiftDragZoom'] === false) ? options['shiftDragZoom'] : true),\r\n dragPan: ((options['dragPan'] === false) ? options['dragPan'] : true),\r\n pinchRotate: ((options['pinchRotate'] === false) ? options['pinchRotate'] : true),\r\n pinchZoom: ((options['pinchZoom'] === false) ? options['pinchZoom'] : true),\r\n zoomDelta: ((options['zoomDelta'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDelta'] : 1), // 缩放增量(默认一级)\r\n zoomDuration: (options['zoomDuration'] && (typeof (options['zoomDelta'])) === 'number') ? options['zoomDuration'] : 300 // 缩放持续时间\r\n }).extend([new appDrag()])\r\n }\r\n}\r\n\r\nexport default Interactions\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Interactions.js","import mix from '../utils/mixin'\r\nimport { ol, proj4 } from '../constants'\r\n\r\nimport BaseLayers from './baseLayer'\r\nimport Controls from './Controls'\r\nimport Interactions from './Interactions'\r\nimport View from './View'\r\nimport Layer from '../layer/Layer'\r\nimport Feature from '../feature/feature'\r\nimport Style from '../style/Style'\r\nimport Overlay from '../overlay/Overlay'\r\n\r\nclass Map extends mix(BaseLayers, Controls, Interactions, Style, Layer, View, Feature, Overlay) {\r\n constructor () {\r\n super()\r\n this.addPointHandlerClick = null\r\n this.plotDraw = null // 标绘工具\r\n this.plotEdit = null\r\n this._lastDrawInteractionGeometry = null\r\n window.ObservableObj = new ol.Object()\r\n proj4.defs('EPSG:4490', '+proj=longlat +ellps=GRS80 +no_defs')\r\n ol.proj.setProj4(proj4)\r\n\r\n /**\r\n * 当前地图线要素\r\n * @type {Array}\r\n */\r\n this.currentMapLines = []\r\n /**\r\n * 当前地图点要素\r\n * @type {Array}\r\n */\r\n this.currentMapPoints = []\r\n /**\r\n * 当前地图面要素\r\n * @type {Array}\r\n */\r\n this.currentMapPolygon = []\r\n /**\r\n * 当前地图线图层\r\n * @type {Array}\r\n */\r\n this.lineLayers = new Set()\r\n /**\r\n * 当前地图点图层\r\n * @type {Array}\r\n */\r\n this.pointLayers = new Set()\r\n /**\r\n * 当前地图面图层\r\n * @type {Array}\r\n */\r\n this.polygonLayers = new Set()\r\n /**\r\n * 周边搜索要素\r\n * @type {null}\r\n */\r\n this.circleSerachFeat = null\r\n /**\r\n * 当前地图气泡\r\n * @type {null}\r\n */\r\n this.popupOverlay = null\r\n }\r\n\r\n /**\r\n * 初始化当前地图\r\n * @param mapDiv\r\n * @param params\r\n */\r\n initMap (mapDiv, params) {\r\n let options = params || {}\r\n let logo = this._addCopyRight((options['logo'] || {}))\r\n let layers = this.addBaseLayers(options['baseLayers'], options['view'])\r\n let view = this._addView(options['view'])\r\n let interactions = this._addInteractions(options['interactions'])\r\n let controls = this._addControls(options['controls'])\r\n /**\r\n * 当前地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = new ol.Map({\r\n target: mapDiv,\r\n loadTilesWhileAnimating: false,\r\n loadTilesWhileInteracting: false,\r\n logo: logo,\r\n layers: layers,\r\n view: view,\r\n interactions: interactions,\r\n controls: controls\r\n })\r\n\r\n this.map.on('click', event => {\r\n console.log(event.coordinate)\r\n })\r\n }\r\n\r\n /**\r\n * 添加版权信息\r\n * @returns {boolean}\r\n * @private\r\n */\r\n _addCopyRight (params) {\r\n let logo = false\r\n if (params && typeof params !== 'object') {\r\n logo = {\r\n href: 'https://aurorafe.github.io',\r\n src: 'data:image/png;base64,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'\r\n }\r\n } else if (typeof params === 'object') {\r\n logo = params\r\n } else {\r\n logo = false\r\n }\r\n return logo\r\n }\r\n\r\n /**\r\n * 获取当前地图\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 设置地图实例\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n }\r\n }\r\n\r\n /**\r\n * 更新地图\r\n */\r\n updateSize () {\r\n this.map.updateSize()\r\n }\r\n}\r\n\r\nexport default Map\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/Map.js","import { ol } from '../constants'\r\nclass View {\r\n _addView (params) {\r\n let option = params || {}\r\n return new ol.View({\r\n center: ((option['center'] && Array.isArray(option['center'])) ? option['center'] : [0, 0]),\r\n zoom: ((option['zoom'] && (typeof option['zoom'] === 'number')) ? option['zoom'] : 0),\r\n zoomFactor: ((option['zoomFactor'] && (typeof option['zoomFactor'] === 'number')) ? option['zoomFactor'] : 2),\r\n rotation: ((option['rotation'] && (typeof option['rotation'] === 'number')) ? option['rotation'] : 0),\r\n enableRotation: (option['enableRotation'] === false ? option['enableRotation'] : true),\r\n projection: (option['projection'] ? option['projection'] : 'EPSG:3857'),\r\n extent: ((option['extent'] && Array.isArray(option['extent']) && option['extent'].length === 4) ? option['extent'] : undefined),\r\n resolutions: ((option['resolutions'] && Array.isArray(option['resolutions']) && option['resolutions'].length > 0) ? option['resolutions'] : undefined)\r\n })\r\n }\r\n}\r\n\r\nexport default View\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/View.js","import {ol} from '../constants'\r\nclass BaseLayers {\r\n\r\n /**\r\n * 添加底图\r\n * @param params\r\n * @param view\r\n * @returns {[*]}\r\n */\r\n addBaseLayers (params, view) {\r\n let options = params || []\r\n let _view = view || {}\r\n if (_view) {\r\n /**\r\n * 投影\r\n * @type {ol.proj.Projection}\r\n */\r\n this.projection = ol.proj.get((_view['projection'] ? _view.projection : 'EPSG:3857'))\r\n /**\r\n * 显示范围\r\n */\r\n this.fullExtent = _view['fullExtent'] ? _view.fullExtent : undefined\r\n /**\r\n * 投影范围\r\n */\r\n if (this.fullExtent) {\r\n this.projection.setExtent(this.fullExtent)\r\n }\r\n /**\r\n * 瓦片原点\r\n * @desc 设置瓦片原点的目的是因为部分地图切图原点不是[0,0]\r\n * 为保证正确加载,所以必须设置瓦片原点。\r\n */\r\n this.origin = _view.origin\r\n /**\r\n * 瓦片大小\r\n * @desc 切片大小,典型值有256, 512.\r\n * 默认256\r\n */\r\n this.tileSize = _view.tileSize\r\n /**\r\n * 分辨率\r\n * @type Array\r\n */\r\n this.resolutions = _view['resolutions']\r\n }\r\n\r\n if (!options || !Array.isArray(options) || options.length <= 0) {\r\n return [new ol.layer.Group({\r\n layers: [new ol.layer.Tile({\r\n source: new ol.source.OSM()\r\n })],\r\n isBaseLayer: true\r\n })]\r\n } else {\r\n return [new ol.layer.Group({\r\n layers: this._getBaseLayerGroup(params),\r\n isBaseLayer: true\r\n })]\r\n }\r\n }\r\n\r\n /**\r\n * 获取图层组\r\n * @returns {ol.layer.Group}\r\n */\r\n _getBaseLayerGroup (layerConfig) {\r\n let [layers, labelLayers, _layers, labelLayersConfig] = [[], [], [], []]\r\n if (layerConfig && Array.isArray(layerConfig) && layerConfig.length > 0) {\r\n layerConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n let layer = null\r\n switch (config['layerType']) {\r\n case 'TileXYZ':\r\n layer = this._getXYZLayer(config)\r\n break\r\n case 'TitleWMTS':\r\n layer = this._getWMTSLayer(config)\r\n break\r\n case 'OSM':\r\n layer = this._getOSMLayer(config)\r\n break\r\n case 'ImageWMS':\r\n layer = this._getImageWMSLayer(config)\r\n break\r\n case 'TileWMS':\r\n layer = this._getTileWMSLayer(config)\r\n break\r\n case 'MapboxVectorTile':\r\n layer = this._getMapboxVectorTileLayer(config)\r\n break\r\n }\r\n if (layer) layers.push(layer)\r\n if (config['label']) {\r\n labelLayersConfig.push(config['label'])\r\n }\r\n }\r\n })\r\n }\r\n labelLayers = this._getBaseLayerLabel(labelLayersConfig)\r\n _layers = layers.concat(labelLayers)\r\n return _layers\r\n }\r\n\r\n /**\r\n * 主要处理标注层\r\n * @param labelLayersConfig\r\n * @returns {null}\r\n * @private\r\n */\r\n _getBaseLayerLabel (labelLayersConfig) {\r\n let [labelLayers, _labelLayersLayerNames] = [[], (new Set())]\r\n if (labelLayersConfig && Array.isArray(labelLayersConfig) && labelLayersConfig.length > 0) {\r\n labelLayersConfig.forEach(config => {\r\n if (config['layerName'] && config['layerUrl'] && config['layerType']) {\r\n _labelLayersLayerNames.add(config['layerName'])\r\n }\r\n });\r\n [...(_labelLayersLayerNames)].forEach(layerName => {\r\n labelLayersConfig.every(configM => {\r\n if (configM && configM['layerName'] === layerName) {\r\n let labelLayer = null\r\n switch (configM['layerType']) {\r\n case 'TileXYZ':\r\n labelLayer = this._getXYZLayer(configM)\r\n break\r\n case 'OSM':\r\n labelLayer = this._getOSMLayer(configM)\r\n break\r\n case 'TitleWMTS':\r\n labelLayer = this._getWMTSLayer(configM)\r\n break\r\n case 'ImageWMS':\r\n labelLayer = this._getImageWMSLayer(configM)\r\n break\r\n case 'TileWMS':\r\n labelLayer = this._getTileWMSLayer(configM)\r\n break\r\n case 'MapboxVectorTile':\r\n labelLayer = this._getMapboxVectorTileLayer(configM)\r\n break\r\n }\r\n if (labelLayer) labelLayers.push(labelLayer)\r\n return false\r\n }\r\n return true\r\n })\r\n })\r\n }\r\n return labelLayers\r\n }\r\n\r\n /**\r\n * 获取标准XYZ图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getXYZLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n config['tileSize'] = this.tileSize\r\n if (!config.hasOwnProperty('tileGrid')) {\r\n config['tileGrid'] = {}\r\n config['tileGrid']['tileSize'] = this.tileSize\r\n config['tileGrid']['origin'] = this.origin\r\n config['tileGrid']['extent'] = this.fullExtent\r\n config['tileGrid']['resolutions'] = this.resolutions\r\n }\r\n let baseLayer = this.createXYZLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 加载开源OSM图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getOSMLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createOSMLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取标准WMTS图层\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getWMTSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let baseLayer = this.createWMTSLayer(layerName, config)\r\n if (baseLayer && baseLayer instanceof ol.layer.Tile) {\r\n baseLayer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n baseLayer.set('isBaseLayer', true)\r\n baseLayer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n baseLayer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return baseLayer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Images WMS 方式加载\r\n * @param config\r\n * @private\r\n */\r\n _getImageWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createImageWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Image) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * Title WMS 方式加载\r\n * @param config\r\n * @returns {ol.layer.Tile}\r\n * @private\r\n */\r\n _getTileWMSLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createTileWMSLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.Tile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 添加MapBox的矢量图层\r\n * @param config\r\n * @returns {*}\r\n * @private\r\n */\r\n _getMapboxVectorTileLayer (config) {\r\n try {\r\n let layerName = config['layerName'] ? config.layerName : ''\r\n config['addLayer'] = false\r\n config['create'] = true\r\n let layer = this.createMapboxVectorTileLayer(layerName, config)\r\n if (layer && layer instanceof ol.layer.VectorTile) {\r\n layer.set('isDefault', ((config['isDefault'] === true) ? config['isDefault'] : false))\r\n layer.set('isBaseLayer', true)\r\n layer.set('alias', (config['alias'] ? config['alias'] : ''))\r\n layer.getSource().setAttributions(this._getAttribution(config['attribution']))\r\n }\r\n return layer\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取版权信息\r\n * @returns {Xr.Attribution|Jr.Attribution|Wr.Attribution|*|ol.Attribution|ol.control.Attribution}\r\n * @private\r\n */\r\n _getAttribution (params) {\r\n try {\r\n let attribution = null\r\n if (params && typeof params !== 'object') {\r\n params = {}\r\n params['url'] = 'https://aurorafe.github.io'\r\n params['messages'] = 'contributors.'\r\n params['title'] = 'HMap'\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else if (typeof params === 'object') {\r\n attribution = new ol.Attribution({\r\n html: '© ' + '' + params['title'] + ' ' + params['messages']\r\n })\r\n } else {\r\n attribution = undefined\r\n }\r\n return attribution\r\n } catch (e) {\r\n console.log(e)\r\n return undefined\r\n }\r\n }\r\n}\r\n\r\nexport default BaseLayers\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/map/baseLayer.js","import { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { trim } from '../utils/utils'\r\nimport Feature from '../feature/feature'\r\nimport mix from '../utils/mixin'\r\nclass Overlay extends mix(Feature) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 从空间数据中解析坐标\r\n * @param point\r\n */\r\n _getCoordinatesFromGeom (point) {\r\n let [ geometry ] = [ null ]\r\n if (point instanceof ol.geom.Geometry) {\r\n geometry = point\r\n } else if (Array.isArray(point.geometry)) {\r\n geometry = new ol.geom.Point(point.geometry)\r\n } else {\r\n geometry = new ol.format.WKT().readGeometry(point.geometry)\r\n }\r\n return geometry.getCoordinates()\r\n }\r\n /**\r\n * 添加字体图标要素\r\n * @param point\r\n * @param params\r\n */\r\n addOverlayPoint (point, params, index) {\r\n try {\r\n if (point && point['geometry']) {\r\n let coordinate = this._getCoordinatesFromGeom(point)\r\n if (point['attributes'] && (point['attributes']['id'] || point['attributes']['ID'])) {\r\n let id = (point['attributes']['id'] || point['attributes']['ID'] || params['id'])\r\n let overlay = this.map.getOverlayById(id)\r\n let creatEle = this.getElementForOverlay(point, params, index)\r\n let [marker, ele] = [creatEle['marker'], creatEle['ele']]\r\n if (!overlay) {\r\n let iconOverlay = new ol.Overlay({\r\n element: marker,\r\n positioning: 'center-center',\r\n id: id,\r\n offset: [0, 0],\r\n stopEvent: true\r\n })\r\n iconOverlay.setPosition(coordinate)\r\n iconOverlay.setProperties(point['attributes'])\r\n if (params) {\r\n iconOverlay.set('params', params)\r\n if (params['layerName']) {\r\n iconOverlay.set('layerName', params.layerName)\r\n }\r\n }\r\n this._addOverLayEvent(marker, ele, iconOverlay)\r\n this.map.addOverlay(iconOverlay)\r\n } else {\r\n this._addOverLayEvent(marker, ele, overlay)\r\n overlay.setElement(marker)\r\n }\r\n }\r\n if (params['zoomToExtent']) {\r\n let extent = (new ol.geom.Point(coordinate)).getExtent()\r\n let _extent = this.adjustExtent(extent)\r\n this.zoomToExtent(_extent, true)\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 添加要素事件\r\n * @param marker\r\n * @param OverLay\r\n * @private\r\n */\r\n _addOverLayEvent (marker, ele, OverLay) {\r\n marker.onmousedown = function (event) {\r\n if (event.button === 2) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'rightMenuEvt',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n } else if (event.button === 0) {\r\n window.ObservableObj.dispatchEvent({\r\n type: 'overlayEvent',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n marker.onmouseover = function (event) {\r\n ele.style.color = ele.selectColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseoverOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n marker.onmouseout = function (event) {\r\n ele.style.color = ele.normalColor\r\n window.ObservableObj.dispatchEvent({\r\n type: 'onMouseOutOverlay',\r\n originEvent: event,\r\n value: OverLay\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取OverLay Dom\r\n * @param point\r\n * @param params\r\n * @param index\r\n * @returns {Element}\r\n */\r\n getElementForOverlay (point, params, index) {\r\n let marker = document.createElement('div')\r\n marker.className = 'overlay-point-content'\r\n let style = point['attributes']['style'] || params['style']\r\n let [ele, spanEle] = ['', '']\r\n if (style['element']) {\r\n ele = document.createElement('div')\r\n let eleClass = (style['element']['className'] ? style['element']['className'] : 'maker-point')\r\n DomUtil.addClass(ele, 'iconfont')\r\n DomUtil.addClass(ele, eleClass)\r\n ele.style.top = style['element']['top'] ? style['element']['top'] : '-100%'\r\n ele.style.left = style['element']['left'] ? style['element']['left'] : '100%'\r\n ele.style.fontSize = style['element']['fontSize'] ? style['element']['fontSize'] : '16px'\r\n ele.style.borderColor = style['element']['borderColor'] ? style['element']['borderColor'] : '#2A2A2A'\r\n ele.style.borderWidth = style['element']['borderWidth'] ? style['element']['borderWidth'] : '1px'\r\n ele.style.opacity = style['element']['opacity'] ? style['element']['opacity'] : 1\r\n ele.style.width = style['element']['width'] ? style['element']['width'] : '100%'\r\n ele.style.height = style['element']['height'] ? style['element']['height'] : '100%'\r\n ele.style.borderRadius = style['element']['borderRadius'] ? style['element']['borderRadius'] : '0px'\r\n ele.normalColor = ele.style.color = style['element']['color'] ? style['element']['color'] : '#1b9de8'\r\n ele.selectColor = style['element']['selectColor'] ? style['element']['selectColor'] : '#F61717'\r\n ele.innerHTML = style['element']['text'] ? style['element']['text'] : ''\r\n if (params['orderBy']) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(index) + 1\r\n } else if (params['orderByNum'] && point['attributes']['number'] !== undefined && point['attributes']['number'] !== '' && point['attributes']['number'] !== null) {\r\n spanEle = document.createElement('span')\r\n spanEle.innerHTML = Number(point['attributes']['number']) + 1\r\n }\r\n if (spanEle) {\r\n ele.appendChild(spanEle)\r\n }\r\n marker.appendChild(ele)\r\n }\r\n return ({\r\n marker: marker,\r\n ele: ele\r\n })\r\n }\r\n\r\n /**\r\n * 添加多个OverLay\r\n * @param points\r\n * @param params\r\n */\r\n addOverlayPoints (points, params) {\r\n try {\r\n if (points && Array.isArray(points)) {\r\n let multiPoint = new ol.geom.MultiPoint([])\r\n let change = false\r\n points.forEach((item, index) => {\r\n if (item && item['geometry']) {\r\n let _geom = this._getGeometryFromPoint(item)\r\n if (_geom) {\r\n this.addOverlayPoint(item, params, index)\r\n multiPoint.appendPoint(_geom)\r\n }\r\n }\r\n })\r\n if (params['zoomToExtent']) {\r\n params['zoomToExtent'] = !params['zoomToExtent']\r\n change = true\r\n }\r\n if (change) {\r\n this._getExtent(multiPoint)\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 移除overlay\r\n * @param overlay\r\n */\r\n removeOverLay (overlay) {\r\n try {\r\n if (overlay && overlay instanceof ol.Overlay && this.map) {\r\n this.map.removeOverlay(overlay)\r\n return overlay\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过id移除overlay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n removeOverlayById (id) {\r\n try {\r\n if (this.map && id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n if (overLay && overLay instanceof ol.Overlay) {\r\n this.map.removeOverlay(overLay)\r\n }\r\n return overLay\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName移除OverLay\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n let len = overlays.length\r\n for (let i = 0; i < len; i++) {\r\n if (overlays[i] && overlays[i].get('layerName') === layerName) {\r\n _overlays.push(overlays[i])\r\n this.map.removeOverlay(overlays[i])\r\n i--\r\n }\r\n }\r\n }\r\n return _overlays\r\n }\r\n\r\n /**\r\n * 通过id数组移除OverLay\r\n * @param ids\r\n * @returns {Array}\r\n */\r\n removeOverlayByIds (ids) {\r\n try {\r\n let overlays = []\r\n if (ids && Array.isArray(ids) && ids.length > 0) {\r\n ids.forEach(id => {\r\n if (id) {\r\n let overlay = this.removeOverlayById(id)\r\n overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerNames移除Overlay\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n removeOverlayByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.removeOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n highLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.selectColor\r\n DomUtil.addClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.selectColor\r\n DomUtil.addClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 取消高亮OverLay\r\n * @param id\r\n * @param overlay\r\n * @returns {ol.Overlay}\r\n */\r\n unHighLightOverLay (id, overlay) {\r\n if (!this.map) return\r\n if (overlay && overlay instanceof ol.Overlay) {\r\n let overlayElement = overlay.getElement()\r\n let iconElement = overlayElement.getElementsByTagName('div')[0]\r\n iconElement.style.color = iconElement.normalColor\r\n DomUtil.removeClass(overlayElement, 'overlay-point-marker-raise')\r\n return overlay\r\n } else if (id && trim(id) !== \"''\") {\r\n let _overlay = this.map.getOverlayById(id)\r\n let _overlayElement = _overlay.getElement()\r\n let _iconElement = _overlayElement.getElementsByTagName('div')[0]\r\n _iconElement.style.color = _iconElement.normalColor\r\n DomUtil.removeClass(_overlayElement, 'overlay-point-marker-raise')\r\n return _overlay\r\n }\r\n }\r\n\r\n /**\r\n * 通过id获取OverLay\r\n * @param id\r\n * @returns {ol.Overlay}\r\n */\r\n getOverLayById (id) {\r\n let _id = trim(id)\r\n let overLay = this.map.getOverlayById(_id)\r\n return overLay\r\n }\r\n\r\n /**\r\n * 通过LayerNames获取OverLays\r\n * @param layerNames\r\n * @returns {Array}\r\n */\r\n getOverLaysByLayerNames (layerNames) {\r\n try {\r\n let overlays = []\r\n if (layerNames && Array.isArray(layerNames) && layerNames.length > 0) {\r\n layerNames.forEach(layerName => {\r\n if (layerName) {\r\n let rOverlays = this.getOverlayByLayerName(layerName)\r\n if (rOverlays && rOverlays.length > 0) {\r\n overlays = overlays.concat(rOverlays)\r\n }\r\n }\r\n })\r\n }\r\n return overlays\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 通过layerName获取OverLays\r\n * @param layerName\r\n * @returns {Array}\r\n */\r\n getOverlayByLayerName (layerName) {\r\n let _overlays = []\r\n if (this.map && layerName) {\r\n let overlays = this.map.getOverlays().getArray()\r\n overlays.forEach(overlay => {\r\n if (overlay && overlay.get('layerName') === layerName) {\r\n _overlays.push(overlay)\r\n }\r\n })\r\n }\r\n return _overlays\r\n }\r\n}\r\n\r\nexport default Overlay\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Overlay.js","/**\r\n * Created by FDD on 2017/5/14.\r\n * @desc 用于地图弹出气泡\r\n */\r\nimport { ol } from '../constants'\r\nimport { DomUtil } from '../dom'\r\nimport { getuuid } from '../utils/utils'\r\nlet Popover = function (map, params) {\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n\r\n /**\r\n * 当前气泡配置项\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n\r\n /**\r\n * 是否自动平移(不传时默认自动平移)\r\n */\r\n if (this.options['autoPan'] === undefined) {\r\n this.options['autoPan'] = true\r\n }\r\n\r\n /**\r\n * 气泡偏移量\r\n */\r\n if (!this.options['offset']) {\r\n this.options.offset = [0, 0]\r\n }\r\n\r\n /**\r\n * 平移时是否有动画效果\r\n */\r\n if (this.options['autoPanAnimation'] === undefined) {\r\n this.options['autoPanAnimation'] = {\r\n duration: 250\r\n }\r\n }\r\n\r\n /**\r\n * 气泡类名\r\n */\r\n if (!this.options['className']) {\r\n this.options['className'] = 'ol-popup'\r\n }\r\n\r\n /**\r\n * 气泡透明度\r\n */\r\n if (this.options['opacity'] === undefined) {\r\n this.options['opacity'] = 1\r\n }\r\n\r\n /**\r\n * 获取id\r\n */\r\n if (this.options['id'] === undefined || this.options['id'] === null) {\r\n this.options['id'] = getuuid()\r\n }\r\n\r\n this.container = DomUtil.create('div', this.options['className'])\r\n this.content = document.createElement('div')\r\n this.content.className = 'ol-popup-content'\r\n this.container.appendChild(this.content)\r\n\r\n this.enableTouchScroll_(this.content)\r\n this.options.element = this.container\r\n ol.Overlay.call(this, {\r\n element: this.container,\r\n stopEvent: true,\r\n offset: this.options['offset'],\r\n id: this.options['id'],\r\n insertFirst: ((this.options.hasOwnProperty('insertFirst')) ? this.options.insertFirst : true)\r\n })\r\n}\r\nol.inherits(Popover, ol.Overlay)\r\n\r\n/**\r\n * 显示当前气泡\r\n * @param coord\r\n * @param html\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.show = function (coord, html) {\r\n if (html instanceof HTMLElement) {\r\n this.content.innerHTML = ''\r\n this.content.appendChild(html)\r\n } else {\r\n this.content.innerHTML = html\r\n }\r\n this.container.style.display = 'block'\r\n this.content.scrollTop = 0\r\n this.setPosition(coord)\r\n this.updateSize()\r\n return this\r\n}\r\n\r\n/**\r\n * 隐藏当前气泡\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.hide = function () {\r\n this.container.style.display = 'none'\r\n return this\r\n}\r\n\r\n/**\r\n * 更新气泡大小\r\n * @returns {Popover}\r\n */\r\nPopover.prototype.updateSize = function () {\r\n this.container.style.marginLeft = (-this.container.clientWidth / 2) - 1 + 'px'\r\n this.container.style.display = 'block'\r\n this.container.style.opacity = 1\r\n this.content.scrollTop = 0\r\n return this\r\n}\r\n\r\n/**\r\n * 返回气泡状态值\r\n * @returns {boolean}\r\n */\r\nPopover.prototype.isOpened = function () {\r\n return (this.container.style.display === 'block')\r\n}\r\n\r\n/**\r\n * 判断是否为移动设备(触摸)\r\n * @returns {boolean}\r\n * @private\r\n */\r\nPopover.prototype.isTouchDevice_ = function () {\r\n try {\r\n document.createEvent('TouchEvent')\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\n/**\r\n * 允许触摸滚动\r\n * @param elm\r\n * @private\r\n */\r\nPopover.prototype.enableTouchScroll_ = function (elm) {\r\n if (this.isTouchDevice_()) {\r\n let scrollStartPos = 0\r\n elm.addEventListener('touchstart', event => {\r\n scrollStartPos = this.scrollTop + event.touches[0].pageY\r\n }, false)\r\n elm.addEventListener('touchmove', event => {\r\n this.scrollTop = scrollStartPos - event.touches[0].pageY\r\n }, false)\r\n }\r\n}\r\n\r\nexport default Popover\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/overlay/Popover.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc PlotDraw\r\n */\r\n\r\nimport { ol } from '../../constants'\r\nimport { MathDistance } from '../Utils/utils'\r\nimport EventType from './EventType'\r\nimport * as Events from '../../event/Events'\r\nimport mix from '../../utils/mixin'\r\nimport Layer from '../../layer/Layer'\r\nimport Plot from '../index'\r\nconst Observable = ol.Observable\r\nclass PlotDraw extends mix(Observable, Plot, Layer) {\r\n constructor (map, params) {\r\n super()\r\n ol.Observable.call(this, [])\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n this.options = params || {}\r\n /**\r\n * 交互点\r\n * @type {null}\r\n */\r\n this.points = null\r\n /**\r\n * 当前标绘工具\r\n * @type {null}\r\n */\r\n this.plot = null\r\n /**\r\n * 当前要素\r\n * @type {null}\r\n */\r\n this.feature = null\r\n /**\r\n * 标绘类型\r\n * @type {null}\r\n */\r\n this.plotType = null\r\n /**\r\n * 当前标绘参数\r\n * @type {null}\r\n */\r\n this.plotParams = null\r\n /**\r\n * 当前地图视图\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 地图双击交互\r\n * @type {null}\r\n */\r\n this.dblClickZoomInteraction = null\r\n\r\n /**\r\n * 绘制OverLay\r\n * @type {null}\r\n */\r\n this.drawOverlay = null\r\n\r\n /**\r\n * 事件监听器\r\n * @type {*}\r\n */\r\n this.Observable = new ol.Object()\r\n\r\n /**\r\n * 创建图层名称\r\n * @type {string}\r\n */\r\n this.layerName = 'GISPLOTLAYER'\r\n\r\n /**\r\n * 当前矢量图层\r\n * @type {*}\r\n */\r\n this.drawLayer = this.createVectorLayer(this.layerName, {\r\n create: true\r\n })\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param type\r\n * @param params\r\n */\r\n active (type, params) {\r\n this.disActive()\r\n this.deactiveMapTools()\r\n this.map.on('click', this.mapFirstClickHandler, this)\r\n this.plotType = type\r\n this.plotParams = params\r\n }\r\n\r\n /**\r\n * 取消激活状态\r\n */\r\n disActive () {\r\n this.removeEventHandlers()\r\n this.map.removeLayer(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.feature = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.activateMapTools()\r\n }\r\n\r\n /**\r\n * PLOT是否处于激活状态\r\n * @returns {boolean}\r\n */\r\n isDrawing () {\r\n return (this.plotType !== null)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 激活工具后第一次点击事件\r\n * @param event\r\n */\r\n mapFirstClickHandler (event) {\r\n this.points.push(event.coordinate)\r\n this.plot = this.createPlot(this.plotType, this.points, this.plotParams)\r\n this.plot.setMap(this.map)\r\n this.feature = new ol.Feature(this.plot)\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.on('click', this.mapNextClickHandler, this)\r\n if (!this.plot.freehand) {\r\n this.map.on('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this, false)\r\n }\r\n\r\n /**\r\n * 地图点击事件处理\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapNextClickHandler (event) {\r\n if (!this.plot.freehand) {\r\n if (MathDistance(event.coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n }\r\n this.points.push(event.coordinate)\r\n this.plot.setPoints(this.points)\r\n if (this.plot.fixPointCount === this.plot.getPointCount()) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n if (this.plot && this.plot.freehand) {\r\n this.mapDoubleClickHandler(event)\r\n }\r\n }\r\n\r\n /**\r\n * 地图双击事件处理\r\n * @param event\r\n */\r\n mapDoubleClickHandler (event) {\r\n event.preventDefault()\r\n this.plot.finishDrawing()\r\n this.drawEnd(event)\r\n }\r\n\r\n /**\r\n * 地图事件处理\r\n * 鼠标移动事件\r\n * @param event\r\n * @returns {boolean}\r\n */\r\n mapMouseMoveHandler (event) {\r\n let coordinate = this.map.getCoordinateFromPixel([event.offsetX, event.offsetY])\r\n if (MathDistance(coordinate, this.points[this.points.length - 1]) < 0.0001) {\r\n return false\r\n }\r\n if (!this.plot.freehand) {\r\n let pnts = this.points.concat([coordinate])\r\n this.plot.setPoints(pnts)\r\n } else {\r\n this.points.push(coordinate)\r\n this.plot.setPoints(this.points)\r\n }\r\n }\r\n\r\n /**\r\n * 移除事件监听\r\n */\r\n removeEventHandlers () {\r\n this.map.un('click', this.mapFirstClickHandler, this)\r\n this.map.un('click', this.mapNextClickHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.mapMouseMoveHandler, this)\r\n this.map.un('dblclick', this.mapDoubleClickHandler, this)\r\n }\r\n\r\n /**\r\n * 绘制结束\r\n */\r\n drawEnd (event) {\r\n this.Observable.dispatchEvent({\r\n type: 'drawEnd',\r\n event: event,\r\n feature: this.feature\r\n })\r\n if (this.feature && this.options['isClear']) {\r\n this.drawLayer.getSource().removeFeature(this.feature)\r\n }\r\n this.activateMapTools()\r\n this.removeEventHandlers()\r\n this.map.removeOverlay(this.drawOverlay)\r\n this.points = []\r\n this.plot = null\r\n this.plotType = null\r\n this.plotParams = null\r\n this.feature = null\r\n }\r\n\r\n /**\r\n * 添加要素\r\n */\r\n addFeature () {\r\n this.feature = new ol.Feature(this.plot)\r\n if (this.feature && this.drawLayer) {\r\n this.drawLayer.getSource().addFeature(this.feature)\r\n }\r\n }\r\n\r\n /**\r\n * 取消激活地图交互工具\r\n */\r\n deactiveMapTools () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DoubleClickZoom) {\r\n this.dblClickZoomInteraction = item\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活已取消的地图工具\r\n * 还原之前状态\r\n */\r\n activateMapTools () {\r\n if (this.dblClickZoomInteraction && this.dblClickZoomInteraction instanceof ol.interaction.DoubleClickZoom) {\r\n this.map.addInteraction(this.dblClickZoomInteraction)\r\n this.dblClickZoomInteraction = null\r\n }\r\n }\r\n}\r\n\r\nexport default PlotDraw\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotDraw.js","import { ol } from '../../constants'\r\nimport EventType from './EventType'\r\nimport { DomUtil } from '../../dom'\r\nimport * as Events from '../../event/Events'\r\nconst Observable = ol.Observable\r\nclass PlotEdit extends Observable {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n /**\r\n * 当前地图容器\r\n * @type {Element}\r\n */\r\n this.mapViewport = this.map.getViewport()\r\n /**\r\n * 激活绘制工具\r\n * @type {null}\r\n */\r\n this.activePlot = null\r\n /**\r\n * 开始点\r\n * @type {null}\r\n */\r\n this.startPoint = null\r\n /**\r\n * clone的控制点\r\n * @type {null}\r\n */\r\n this.ghostControlPoints = null\r\n /**\r\n * 控制点\r\n * @type {null}\r\n */\r\n this.controlPoints = null\r\n /**\r\n * 鼠标移入\r\n * @type {boolean}\r\n */\r\n this.mouseOver = false\r\n /**\r\n * 元素\r\n * @type {{}}\r\n */\r\n this.elementTable = {}\r\n /**\r\n * 当前激活的控制点的ID\r\n * @type {null}\r\n */\r\n this.activeControlPointId = null\r\n /**\r\n * 地图拖拽交互\r\n * @type {null}\r\n */\r\n this.mapDragPan = null\r\n }\r\n\r\n /**\r\n * 初始化提示DOM\r\n * @returns {boolean}\r\n */\r\n initHelperDom () {\r\n if (!this.map || !this.activePlot) {\r\n return false\r\n }\r\n let parent = this.getMapParentElement()\r\n if (!parent) {\r\n return false\r\n } else {\r\n let hiddenDiv = DomUtil.createHidden('div', parent, 'plot-helper-hidden-div')\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n DomUtil.create('div', 'plot-helper-control-point-div', hiddenDiv, id)\r\n this.elementTable[id] = index\r\n })\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图元素的父元素\r\n * @returns {*}\r\n */\r\n getMapParentElement () {\r\n let mapElement = this.map.getTargetElement()\r\n if (!mapElement) {\r\n return false\r\n } else {\r\n return mapElement.parentNode\r\n }\r\n }\r\n\r\n /**\r\n * 销毁帮助提示DOM\r\n */\r\n destroyHelperDom () {\r\n if (this.controlPoints && Array.isArray(this.controlPoints) && this.controlPoints.length > 0) {\r\n this.controlPoints.forEach((item, index) => {\r\n if (item && item instanceof ol.Overlay) {\r\n this.map.removeOverlay(item)\r\n }\r\n let element = DomUtil.get('plot-helper-control-point-div' + '-' + index)\r\n if (element) {\r\n DomUtil.removeListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.removeListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n }\r\n })\r\n this.controlPoints = []\r\n }\r\n let parent = this.getMapParentElement()\r\n let hiddenDiv = DomUtil.get('plot-helper-hidden-div')\r\n if (hiddenDiv && parent) {\r\n DomUtil.remove(hiddenDiv, parent)\r\n }\r\n }\r\n\r\n /**\r\n * 初始化要素控制点\r\n */\r\n initControlPoints () {\r\n this.controlPoints = []\r\n let cPnts = this.getControlPoints()\r\n if (cPnts && Array.isArray(cPnts) && cPnts.length > 0) {\r\n cPnts.forEach((item, index) => {\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n this.elementTable[id] = index\r\n let element = DomUtil.get(id)\r\n let pnt = new ol.Overlay({\r\n id: id,\r\n position: cPnts[index],\r\n positioning: 'center-center',\r\n element: element\r\n })\r\n this.controlPoints.push(pnt)\r\n this.map.addOverlay(pnt)\r\n this.map.render()\r\n DomUtil.addListener(element, 'mousedown', this.controlPointMouseDownHandler, this)\r\n DomUtil.addListener(element, 'mousemove', this.controlPointMouseMoveHandler2, this)\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler2 (e) {\r\n e.stopImmediatePropagation()\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标按下事件\r\n * @param e\r\n */\r\n controlPointMouseDownHandler (e) {\r\n let id = e.target.id\r\n this.activeControlPointId = id\r\n Events.listen(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this, false)\r\n Events.listen(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this, false)\r\n }\r\n\r\n /**\r\n * 对控制点的移动事件\r\n * @param e\r\n */\r\n controlPointMouseMoveHandler (e) {\r\n let coordinate = this.map.getCoordinateFromPixel([e.offsetX, e.offsetY])\r\n if (this.activeControlPointId) {\r\n let plot = this.activePlot.getGeometry()\r\n let index = this.elementTable[this.activeControlPointId]\r\n plot.updatePoint(coordinate, index)\r\n let overlay = this.map.getOverlayById(this.activeControlPointId)\r\n overlay.setPosition(coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 对控制点的鼠标抬起事件\r\n * @param e\r\n */\r\n controlPointMouseUpHandler (e) {\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n }\r\n\r\n /**\r\n * 激活工具\r\n * @param plot\r\n * @returns {boolean}\r\n */\r\n activate (plot) {\r\n try {\r\n if (!plot || !(plot instanceof ol.Feature) || plot === this.activePlot) {\r\n return false\r\n } else {\r\n let geom = plot.getGeometry()\r\n if (!geom.isPlot()) {\r\n return false\r\n } else {\r\n this.deactivate()\r\n this.activePlot = plot\r\n window.setTimeout(() => {\r\n // this.dispatchEvent(new EditEvent(EditEvent.ACTIVE_PLOT_CHANGE, this.activePlot))\r\n }, 500)\r\n this.map.on('pointermove', this.plotMouseOverOutHandler, this)\r\n this.initHelperDom()\r\n this.initControlPoints()\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 获取要素的控制点\r\n * @returns {Array}\r\n */\r\n getControlPoints () {\r\n let points = []\r\n if (this.activePlot) {\r\n let geom = this.activePlot.getGeometry()\r\n if (geom) {\r\n points = geom.getPoints()\r\n }\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 鼠标移出要编辑的要素范围\r\n * @param e\r\n * @returns {T|undefined}\r\n */\r\n plotMouseOverOutHandler (e) {\r\n try {\r\n let feature = this.map.forEachFeatureAtPixel(e.pixel, function (feature, layer) {\r\n return feature\r\n })\r\n if (feature && feature === this.activePlot) {\r\n if (!this.mouseOver) {\r\n this.mouseOver = true\r\n this.map.getViewport().style.cursor = 'move'\r\n this.map.on('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n } else {\r\n if (this.mouseOver) {\r\n this.mouseOver = false\r\n this.map.getViewport().style.cursor = 'default'\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n }\r\n }\r\n return feature\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 在要编辑的要素按下鼠标按键\r\n * @param e\r\n */\r\n plotMouseDownHandler (e) {\r\n this.ghostControlPoints = this.getControlPoints()\r\n this.startPoint = e.coordinate\r\n this.disableMapDragPan()\r\n this.map.on('pointerup', this.plotMouseUpHandler, this)\r\n this.map.on('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 在要编辑的要素上移动鼠标\r\n * @param e\r\n */\r\n plotMouseMoveHandler (e) {\r\n try {\r\n let point = e.coordinate\r\n let [dx, dy, newPoints] = [(point[0] - this.startPoint[0]), (point[1] - this.startPoint[1]), []]\r\n if (this.ghostControlPoints && Array.isArray(this.ghostControlPoints) && this.ghostControlPoints.length > 0) {\r\n this.ghostControlPoints.forEach((item, index) => {\r\n let p = this.ghostControlPoints[index]\r\n let coordinate = [p[0] + dx, p[1] + dy]\r\n newPoints.push(coordinate)\r\n let id = 'plot-helper-control-point-div' + '-' + index\r\n let overlay = this.map.getOverlayById(id)\r\n overlay.setPosition(coordinate)\r\n overlay.setPositioning('center-center')\r\n })\r\n }\r\n let plot = this.activePlot.getGeometry()\r\n plot.setPoints(newPoints)\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 鼠标抬起事件\r\n * @param e\r\n */\r\n plotMouseUpHandler (e) {\r\n this.enableMapDragPan()\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消事件关联\r\n */\r\n disconnectEventHandlers () {\r\n this.map.un('pointermove', this.plotMouseOverOutHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEMOVE, this.controlPointMouseMoveHandler, this)\r\n Events.unlisten(this.mapViewport, EventType.MOUSEUP, this.controlPointMouseUpHandler, this)\r\n this.map.un('pointerdown', this.plotMouseDownHandler, this)\r\n this.map.un('pointerup', this.plotMouseUpHandler, this)\r\n this.map.un('pointerdrag', this.plotMouseMoveHandler, this)\r\n }\r\n\r\n /**\r\n * 取消激活工具\r\n */\r\n deactivate () {\r\n this.activePlot = null\r\n this.mouseOver = false\r\n this.destroyHelperDom()\r\n this.disconnectEventHandlers()\r\n this.elementTable = {}\r\n this.activeControlPointId = null\r\n this.startPoint = null\r\n }\r\n\r\n /**\r\n * 禁止地图的拖拽平移\r\n */\r\n disableMapDragPan () {\r\n let interactions = this.map.getInteractions().getArray()\r\n interactions.every(item => {\r\n if (item instanceof ol.interaction.DragPan) {\r\n this.mapDragPan = item\r\n item.setActive(false)\r\n this.map.removeInteraction(item)\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 激活地图的拖拽平移\r\n */\r\n enableMapDragPan () {\r\n if (this.mapDragPan && this.mapDragPan instanceof ol.interaction.DragPan) {\r\n this.mapDragPan.setActive(true)\r\n this.map.addInteraction(this.mapDragPan)\r\n this.mapDragPan = null\r\n }\r\n }\r\n}\r\nexport default PlotEdit\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Event/PlotEdit.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画弓形算法,继承线要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Arc extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.ARC\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let count = this.getPointCount()\r\n if (count < 2) return\r\n if (count === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [this.points[0], this.points[1], this.points[2], null, null]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n this.setCoordinates(PlotUtils.getArcPoints(center, radius, startAngle, endAngle))\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Arc\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arc/Arc.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 粗单直箭头\r\n * @Inherits FineArrow\r\n */\r\nimport FineArrow from './FineArrow'\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nclass AssaultDirection extends FineArrow {\r\n constructor (points, params) {\r\n super()\r\n FineArrow.call(this, points, params)\r\n this.tailWidthFactor = 0.05\r\n this.neckWidthFactor = 0.1\r\n this.headWidthFactor = 0.15\r\n this.type = PlotTypes.ASSAULT_DIRECTION\r\n this.headAngle = Math.PI / 4\r\n this.neckAngle = Math.PI * 0.17741\r\n this.setPoints(points)\r\n this.set('params', params)\r\n }\r\n}\r\n\r\nexport default AssaultDirection\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/AssaultDirection.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 双箭头\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass DoubleArrow extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.DOUBLE_ARROW\r\n this.headHeightFactor = 0.25\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.connPoint = null\r\n this.tempPoint4 = null\r\n this.fixPointCount = 4\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n let [pnt1, pnt2, pnt3] = [this.points[0], this.points[1], this.points[2]]\r\n if (count === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else if (count === 3) {\r\n this.tempPoint4 = this.getTempPoint4(pnt1, pnt2, pnt3)\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else if (count === 4) {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = PlotUtils.Mid(pnt1, pnt2)\r\n } else {\r\n this.tempPoint4 = this.points[3]\r\n this.connPoint = this.points[4]\r\n }\r\n let [leftArrowPnts, rightArrowPnts] = [undefined, undefined]\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n leftArrowPnts = this.getArrowPoints(pnt1, this.connPoint, this.tempPoint4, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt2, pnt3, true)\r\n } else {\r\n leftArrowPnts = this.getArrowPoints(pnt2, this.connPoint, pnt3, false)\r\n rightArrowPnts = this.getArrowPoints(this.connPoint, pnt1, this.tempPoint4, true)\r\n }\r\n let m = leftArrowPnts.length\r\n let t = (m - 5) / 2\r\n let llBodyPnts = leftArrowPnts.slice(0, t)\r\n let lArrowPnts = leftArrowPnts.slice(t, t + 5)\r\n let lrBodyPnts = leftArrowPnts.slice(t + 5, m)\r\n let rlBodyPnts = rightArrowPnts.slice(0, t)\r\n let rArrowPnts = rightArrowPnts.slice(t, t + 5)\r\n let rrBodyPnts = rightArrowPnts.slice(t + 5, m)\r\n rlBodyPnts = PlotUtils.getBezierPoints(rlBodyPnts)\r\n let bodyPnts = PlotUtils.getBezierPoints(rrBodyPnts.concat(llBodyPnts.slice(1)))\r\n lrBodyPnts = PlotUtils.getBezierPoints(lrBodyPnts)\r\n let pnts = rlBodyPnts.concat(rArrowPnts, bodyPnts, lArrowPnts, lrBodyPnts)\r\n this.setCoordinates([pnts])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值箭形上的点\r\n * @param pnt1\r\n * @param pnt2\r\n * @param pnt3\r\n * @param clockWise\r\n * @returns {Array.}\r\n */\r\n getArrowPoints (pnt1, pnt2, pnt3, clockWise) {\r\n let midPnt = PlotUtils.Mid(pnt1, pnt2)\r\n let len = PlotUtils.MathDistance(midPnt, pnt3)\r\n let midPnt1 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.3, true)\r\n let midPnt2 = PlotUtils.getThirdPoint(pnt3, midPnt, 0, len * 0.5, true)\r\n midPnt1 = PlotUtils.getThirdPoint(midPnt, midPnt1, Constants.HALF_PI, len / 5, clockWise)\r\n midPnt2 = PlotUtils.getThirdPoint(midPnt, midPnt2, Constants.HALF_PI, len / 4, clockWise)\r\n let points = [midPnt, midPnt1, midPnt2, pnt3]\r\n let arrowPnts = this.getArrowHeadPoints(points)\r\n if (arrowPnts && Array.isArray(arrowPnts) && arrowPnts.length > 0) {\r\n let [neckLeftPoint, neckRightPoint] = [arrowPnts[0], arrowPnts[4]]\r\n let tailWidthFactor = PlotUtils.MathDistance(pnt1, pnt2) / PlotUtils.getBaseLength(points) / 2\r\n let bodyPnts = this.getArrowBodyPoints(points, neckLeftPoint, neckRightPoint, tailWidthFactor)\r\n if (bodyPnts) {\r\n let n = bodyPnts.length\r\n let lPoints = bodyPnts.slice(0, n / 2)\r\n let rPoints = bodyPnts.slice(n / 2, n)\r\n lPoints.push(neckLeftPoint)\r\n rPoints.push(neckRightPoint)\r\n lPoints = lPoints.reverse()\r\n lPoints.push(pnt2)\r\n rPoints = rPoints.reverse()\r\n rPoints.push(pnt1)\r\n return (lPoints.reverse().concat(arrowPnts, rPoints))\r\n }\r\n } else {\r\n throw new Error('插值出错')\r\n }\r\n }\r\n\r\n /**\r\n * 插值头部点\r\n * @param points\r\n * @returns {[*,*,*,*,*]}\r\n */\r\n getArrowHeadPoints (points) {\r\n try {\r\n let len = PlotUtils.getBaseLength(points)\r\n let headHeight = len * this.headHeightFactor\r\n let headPnt = points[points.length - 1]\r\n let headWidth = headHeight * this.headWidthFactor\r\n let neckWidth = headHeight * this.neckWidthFactor\r\n let neckHeight = headHeight * this.neckHeightFactor\r\n let headEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, headHeight, true)\r\n let neckEndPnt = PlotUtils.getThirdPoint(points[points.length - 2], headPnt, 0, neckHeight, true)\r\n let headLeft = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, false)\r\n let headRight = PlotUtils.getThirdPoint(headPnt, headEndPnt, Constants.HALF_PI, headWidth, true)\r\n let neckLeft = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, false)\r\n let neckRight = PlotUtils.getThirdPoint(headPnt, neckEndPnt, Constants.HALF_PI, neckWidth, true)\r\n return [neckLeft, headLeft, headPnt, headRight, neckRight]\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 插值面部分数据\r\n * @param points\r\n * @param neckLeft\r\n * @param neckRight\r\n * @param tailWidthFactor\r\n * @returns {Array.<*>}\r\n */\r\n getArrowBodyPoints (points, neckLeft, neckRight, tailWidthFactor) {\r\n let allLen = PlotUtils.wholeDistance(points)\r\n let len = PlotUtils.getBaseLength(points)\r\n let tailWidth = len * tailWidthFactor\r\n let neckWidth = PlotUtils.MathDistance(neckLeft, neckRight)\r\n let widthDif = (tailWidth - neckWidth) / 2\r\n let [tempLen, leftBodyPnts, rightBodyPnts] = [0, [], []]\r\n for (let i = 1; i < points.length - 1; i++) {\r\n let angle = PlotUtils.getAngleOfThreePoints(points[i - 1], points[i], points[i + 1]) / 2\r\n tempLen += PlotUtils.MathDistance(points[i - 1], points[i])\r\n let w = (tailWidth / 2 - tempLen / allLen * widthDif) / Math.sin(angle)\r\n let left = PlotUtils.getThirdPoint(points[i - 1], points[i], Math.PI - angle, w, true)\r\n let right = PlotUtils.getThirdPoint(points[i - 1], points[i], angle, w, false)\r\n leftBodyPnts.push(left)\r\n rightBodyPnts.push(right)\r\n }\r\n return leftBodyPnts.concat(rightBodyPnts)\r\n }\r\n\r\n /**\r\n * 获取对称点\r\n * @param linePnt1\r\n * @param linePnt2\r\n * @param point\r\n * @returns {*}\r\n */\r\n getTempPoint4 (linePnt1, linePnt2, point) {\r\n try {\r\n let midPnt = PlotUtils.Mid(linePnt1, linePnt2)\r\n let len = PlotUtils.MathDistance(midPnt, point)\r\n let angle = PlotUtils.getAngleOfThreePoints(linePnt1, midPnt, point)\r\n let [symPnt, distance1, distance2, mid] = [undefined, undefined, undefined, undefined]\r\n if (angle < Constants.HALF_PI) {\r\n distance1 = len * Math.sin(angle)\r\n distance2 = len * Math.cos(angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else if (angle >= Constants.HALF_PI && angle < Math.PI) {\r\n distance1 = len * Math.sin(Math.PI - angle)\r\n distance2 = len * Math.cos(Math.PI - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, false)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n } else if (angle >= Math.PI && angle < Math.PI * 1.5) {\r\n distance1 = len * Math.sin(angle - Math.PI)\r\n distance2 = len * Math.cos(angle - Math.PI)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, true)\r\n } else {\r\n distance1 = len * Math.sin(Math.PI * 2 - angle)\r\n distance2 = len * Math.cos(Math.PI * 2 - angle)\r\n mid = PlotUtils.getThirdPoint(linePnt1, midPnt, Constants.HALF_PI, distance1, true)\r\n symPnt = PlotUtils.getThirdPoint(midPnt, mid, Constants.HALF_PI, distance2, false)\r\n }\r\n return symPnt\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n if (this.getPointCount() === 3 && this.tempPoint4 !== null) {\r\n this.points.push(this.tempPoint4)\r\n }\r\n if (this.connPoint !== null) {\r\n this.points.push(this.connPoint)\r\n }\r\n }\r\n}\r\n\r\nexport default DoubleArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/DoubleArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass SquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[1])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[1]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse())])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n return ([tailLeft, tailRight])\r\n }\r\n}\r\n\r\nexport default SquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/SquadCombat.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 细直箭头\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass StraightArrow extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.STRAIGHT_ARROW\r\n this.fixPointCount = 2\r\n this.maxArrowLength = 3000000\r\n this.arrowLengthScale = 5\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let count = this.getPointCount()\r\n if (count < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [pnt1, pnt2] = [pnts[0], pnts[1]]\r\n let distance = PlotUtils.MathDistance(pnt1, pnt2)\r\n let len = distance / this.arrowLengthScale\r\n len = ((len > this.maxArrowLength) ? this.maxArrowLength : len)\r\n let leftPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, false)\r\n let rightPnt = PlotUtils.getThirdPoint(pnt1, pnt2, Math.PI / 6, len, true)\r\n this.setCoordinates([pnt1, pnt2, leftPnt, pnt2, rightPnt])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default StraightArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/StraightArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 进攻方向(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass TailedAttackArrow extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_ATTACK_ARROW\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.headTailFactor = 0.8\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n let [tailLeft, tailRight] = [pnts[0], pnts[1]]\r\n if (PlotUtils.isClockWise(pnts[0], pnts[1], pnts[2])) {\r\n tailLeft = pnts[1]\r\n tailRight = pnts[0]\r\n }\r\n let midTail = PlotUtils.Mid(tailLeft, tailRight)\r\n let bonePnts = [midTail].concat(pnts.slice(2))\r\n let headPnts = this.getArrowHeadPoints(bonePnts, tailLeft, tailRight)\r\n let [neckLeft, neckRight] = [headPnts[0], headPnts[4]]\r\n let tailWidth = PlotUtils.MathDistance(tailLeft, tailRight)\r\n let allLen = PlotUtils.getBaseLength(bonePnts)\r\n let len = allLen * this.tailWidthFactor * this.swallowTailFactor\r\n this.swallowTailPnt = PlotUtils.getThirdPoint(bonePnts[1], bonePnts[0], 0, len, true)\r\n let factor = tailWidth / allLen\r\n let bodyPnts = this.getArrowBodyPoints(bonePnts, neckLeft, neckRight, factor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailLeft].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailRight].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [this.swallowTailPnt, leftPnts[0]])])\r\n }\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n}\r\n\r\nexport default TailedAttackArrow\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedAttackArrow.js","/**\r\n * Created by FDD on 2017/5/26.\r\n * @desc 分队战斗行动(尾)\r\n * @Inherits AttackArrow\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport AttackArrow from './AttackArrow'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass TailedSquadCombat extends AttackArrow {\r\n constructor (points, params) {\r\n super()\r\n AttackArrow.call(this, points, params)\r\n this.type = PlotTypes.TAILED_SQUAD_COMBAT\r\n this.headHeightFactor = 0.18\r\n this.headWidthFactor = 0.3\r\n this.neckHeightFactor = 0.85\r\n this.neckWidthFactor = 0.15\r\n this.tailWidthFactor = 0.1\r\n this.swallowTailFactor = 1\r\n this.swallowTailPnt = null\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n try {\r\n let pnts = this.getPoints()\r\n let tailPnts = this.getTailPoints(pnts)\r\n let headPnts = this.getArrowHeadPoints(pnts, tailPnts[0], tailPnts[2])\r\n let neckLeft = headPnts[0]\r\n let neckRight = headPnts[4]\r\n let bodyPnts = this.getArrowBodyPoints(pnts, neckLeft, neckRight, this.tailWidthFactor)\r\n let count = bodyPnts.length\r\n let leftPnts = [tailPnts[0]].concat(bodyPnts.slice(0, count / 2))\r\n leftPnts.push(neckLeft)\r\n let rightPnts = [tailPnts[2]].concat(bodyPnts.slice(count / 2, count))\r\n rightPnts.push(neckRight)\r\n leftPnts = PlotUtils.getQBSplinePoints(leftPnts)\r\n rightPnts = PlotUtils.getQBSplinePoints(rightPnts)\r\n this.setCoordinates([leftPnts.concat(headPnts, rightPnts.reverse(), [tailPnts[1], leftPnts[0]])])\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n getTailPoints (points) {\r\n let allLen = PlotUtils.getBaseLength(points)\r\n let tailWidth = allLen * this.tailWidthFactor\r\n let tailLeft = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, false)\r\n let tailRight = PlotUtils.getThirdPoint(points[1], points[0], Constants.HALF_PI, tailWidth, true)\r\n let len = tailWidth * this.swallowTailFactor\r\n let swallowTailPnt = PlotUtils.getThirdPoint(points[1], points[0], 0, len, true)\r\n return ([tailLeft, swallowTailPnt, tailRight])\r\n }\r\n}\r\n\r\nexport default TailedSquadCombat\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Arrow/TailedSquadCombat.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Circle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CIRCLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n let center = this.points[0]\r\n let radius = PlotUtils.MathDistance(center, this.points[1])\r\n this.setCoordinates([this.generatePoints(center, radius)])\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param radius\r\n * @returns {null}\r\n */\r\n generatePoints (center, radius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= 100; i++) {\r\n angle = Math.PI * 2 * i / 100\r\n x = center[0] + radius * Math.cos(angle)\r\n y = center[1] + radius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Circle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Circle.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘画圆算法,继承面要素相关方法和属性\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Ellipse extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.ELLIPSE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let [pnt1, pnt2] = [this.points[0], this.points[1]]\r\n let center = PlotUtils.Mid(pnt1, pnt2)\r\n let majorRadius = Math.abs((pnt1[0] - pnt2[0]) / 2)\r\n let minorRadius = Math.abs((pnt1[1] - pnt2[1]) / 2)\r\n let res = this.generatePoints(center, majorRadius, minorRadius)\r\n this.setCoordinates([res])\r\n }\r\n }\r\n\r\n /**\r\n * 对圆边线进行插值\r\n * @param center\r\n * @param majorRadius\r\n * @param minorRadius\r\n * @returns {*}\r\n */\r\n generatePoints (center, majorRadius, minorRadius) {\r\n let [x, y, angle, points] = [null, null, null, []]\r\n for (let i = 0; i <= Constants.FITTING_COUNT; i++) {\r\n angle = Math.PI * 2 * i / Constants.FITTING_COUNT\r\n x = center[0] + majorRadius * Math.cos(angle)\r\n y = center[1] + minorRadius * Math.sin(angle)\r\n points.push([x, y])\r\n }\r\n return points\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Ellipse\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Circle/Ellipse.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 闭合曲面\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass ClosedCurve extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.CLOSED_CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n pnts.push(pnts[0], pnts[1])\r\n let [normals, pList] = [[], []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnts[i], pnts[i + 1], pnts[i + 2])\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n let pnt1 = pnts[i]\r\n let pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default ClosedCurve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/ClosedCurve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由面\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreePolygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.FREEHAND_POLYGON\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreePolygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/FreePolygon.js","/**\r\n * Created by FDD on 2017/5/27.\r\n * @desc 集结地\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport {ol} from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nimport * as Constants from '../../Constants'\r\nclass GatheringPlace extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.GATHERING_PLACE\r\n this.t = 0.4\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let pnts = this.getPoints()\r\n let points = this.getPointCount()\r\n if (pnts.length < 2) {\r\n return false\r\n } else {\r\n if (points === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid) / 0.9\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d, true)\r\n pnts = [pnts[0], pnt, pnts[1]]\r\n }\r\n let mid = PlotUtils.Mid(pnts[0], pnts[2])\r\n pnts.push(mid, pnts[0], pnts[1])\r\n let [normals, pnt1, pnt2, pnt3, pList] = [[], undefined, undefined, undefined, []]\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pnt3 = pnts[i + 2]\r\n let normalPoints = PlotUtils.getBisectorNormals(this.t, pnt1, pnt2, pnt3)\r\n normals = normals.concat(normalPoints)\r\n }\r\n let count = normals.length\r\n normals = [normals[count - 1]].concat(normals.slice(0, count - 1))\r\n for (let i = 0; i < pnts.length - 2; i++) {\r\n pnt1 = pnts[i]\r\n pnt2 = pnts[i + 1]\r\n pList.push(pnt1)\r\n for (let t = 0; t <= Constants.FITTING_COUNT; t++) {\r\n let pnt = PlotUtils.getCubicValue(t / Constants.FITTING_COUNT, pnt1, normals[i * 2], normals[i * 2 + 1], pnt2)\r\n pList.push(pnt)\r\n }\r\n pList.push(pnt2)\r\n }\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default GatheringPlace\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/GatheringPlace.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 弓形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as Constants from '../../Constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Lune extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.LUNE\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() < 2) {\r\n return false\r\n } else {\r\n let pnts = this.getPoints()\r\n if (this.getPointCount() === 2) {\r\n let mid = PlotUtils.Mid(pnts[0], pnts[1])\r\n let d = PlotUtils.MathDistance(pnts[0], mid)\r\n let pnt = PlotUtils.getThirdPoint(pnts[0], mid, Constants.HALF_PI, d)\r\n pnts.push(pnt)\r\n }\r\n let [pnt1, pnt2, pnt3, startAngle, endAngle] = [pnts[0], pnts[1], pnts[2], undefined, undefined]\r\n let center = PlotUtils.getCircleCenterOfThreePoints(pnt1, pnt2, pnt3)\r\n let radius = PlotUtils.MathDistance(pnt1, center)\r\n let angle1 = PlotUtils.getAzimuth(pnt1, center)\r\n let angle2 = PlotUtils.getAzimuth(pnt2, center)\r\n if (PlotUtils.isClockWise(pnt1, pnt2, pnt3)) {\r\n startAngle = angle2\r\n endAngle = angle1\r\n } else {\r\n startAngle = angle1\r\n endAngle = angle2\r\n }\r\n pnts = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pnts.push(pnts[0])\r\n this.setCoordinates([pnts])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Lune\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Lune.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 多边形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polygon extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.POLYGON\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates([this.points])\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polygon\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Polygon.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 规则矩形\r\n * @Inherits ol.geom.Polygon\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass RectAngle extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.RECTANGLE\r\n this.fixPointCount = 2\r\n this.set('params', params)\r\n this.setPoints(points)\r\n this.isFill = ((params['isFill'] === false) ? params['isFill'] : true)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.points.length === 2) {\r\n let coordinates = []\r\n if (this.isFill) {\r\n let extent = ol.extent.boundingExtent(this.points)\r\n let polygon = ol.geom.Polygon.fromExtent(extent)\r\n coordinates = polygon.getCoordinates()\r\n } else {\r\n let start = this.points[0]\r\n let end = this.points[1]\r\n coordinates = [start, [start[0], end[1]], end, [end[0], start[1]], start]\r\n }\r\n this.setCoordinates(coordinates)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default RectAngle\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/RectAngle.js","/**\r\n * Created by FDD on 2017/5/25.\r\n * @desc 扇形\r\n * @Inherits ol.geom.Polygon\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Sector extends (ol.geom.Polygon) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.Polygon.call(this, [])\r\n this.type = PlotTypes.SECTOR\r\n this.fixPointCount = 3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n let points = this.getPointCount()\r\n if (points < 2) {\r\n return false\r\n } else if (points === 2) {\r\n this.setCoordinates([this.points])\r\n } else {\r\n let pnts = this.getPoints()\r\n let [center, pnt2, pnt3] = [pnts[0], pnts[1], pnts[2]]\r\n let radius = PlotUtils.MathDistance(pnt2, center)\r\n let startAngle = PlotUtils.getAzimuth(pnt2, center)\r\n let endAngle = PlotUtils.getAzimuth(pnt3, center)\r\n let pList = PlotUtils.getArcPoints(center, radius, startAngle, endAngle)\r\n pList.push(center, pList[0])\r\n this.setCoordinates([pList])\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Sector\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polygon/Sector.js","/**\r\n * Created by FDD on 2017/5/22.\r\n * @desc 标绘曲线算法\r\n */\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nimport * as PlotUtils from '../../Utils/utils'\r\nclass Curve extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.CURVE\r\n this.t = 0.3\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n if (this.getPointCount() === 2) {\r\n this.setCoordinates(this.points)\r\n } else {\r\n let points = PlotUtils.getCurvePoints(this.t, this.points)\r\n this.setCoordinates(points)\r\n }\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Curve\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Curve.js","/**\r\n * Created by FDD on 2017/5/24.\r\n * @desc 自由线\r\n * @Inherits ol.geom.LineString\r\n */\r\n\r\nimport PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass FreeHandLine extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.FREEHAND_LINE\r\n this.freehand = true\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default FreeHandLine\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/FreeHandLine.js","import PlotTypes from '../../Utils/PlotTypes'\r\nimport { ol } from '../../../constants'\r\nclass Polyline extends (ol.geom.LineString) {\r\n constructor (points, params) {\r\n super()\r\n ol.geom.LineString.call(this, [])\r\n this.type = PlotTypes.POLYLINE\r\n this.set('params', params)\r\n this.setPoints(points)\r\n }\r\n\r\n /**\r\n * 执行动作\r\n */\r\n generate () {\r\n this.setCoordinates(this.points)\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n /**\r\n * 结束绘制\r\n */\r\n finishDrawing () {\r\n }\r\n}\r\n\r\nexport default Polyline\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/Polyline/Polyline.js","/**\r\n * Created by FDD on 2017/5/20.\r\n * @desc 标绘图形构造类\r\n */\r\nimport Polyline from './Polyline/Polyline'\r\nimport Arc from './Arc/Arc'\r\nimport Circle from './Circle/Circle'\r\nimport Curve from './Polyline/Curve'\r\nimport FreeHandLine from './Polyline/FreeHandLine'\r\nimport RectAngle from './Polygon/RectAngle'\r\nimport Ellipse from './Circle/Ellipse'\r\nimport Lune from './Polygon/Lune'\r\nimport Sector from './Polygon/Sector'\r\nimport ClosedCurve from './Polygon/ClosedCurve'\r\nimport Polygon from './Polygon/Polygon'\r\nimport FreePolygon from './Polygon/FreePolygon'\r\nimport AttackArrow from './Arrow/AttackArrow'\r\nimport DoubleArrow from './Arrow/DoubleArrow'\r\nimport StraightArrow from './Arrow/StraightArrow'\r\nimport FineArrow from './Arrow/FineArrow'\r\nimport AssaultDirection from './Arrow/AssaultDirection'\r\nimport TailedAttackArrow from './Arrow/TailedAttackArrow'\r\nimport SquadCombat from './Arrow/SquadCombat'\r\nimport TailedSquadCombat from './Arrow/TailedSquadCombat'\r\nimport GatheringPlace from './Polygon/GatheringPlace'\r\nexport default {\r\n Polyline: Polyline,\r\n Arc: Arc,\r\n Circle: Circle,\r\n Curve: Curve,\r\n FreeHandLine: FreeHandLine,\r\n RectAngle: RectAngle,\r\n Ellipse: Ellipse,\r\n Lune: Lune,\r\n Sector: Sector,\r\n ClosedCurve: ClosedCurve,\r\n Polygon: Polygon,\r\n FreePolygon: FreePolygon,\r\n AttackArrow: AttackArrow,\r\n DoubleArrow: DoubleArrow,\r\n StraightArrow: StraightArrow,\r\n FineArrow: FineArrow,\r\n AssaultDirection: AssaultDirection,\r\n TailedAttackArrow: TailedAttackArrow,\r\n SquadCombat: SquadCombat,\r\n TailedSquadCombat: TailedSquadCombat,\r\n GatheringPlace: GatheringPlace\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/Geometry/index.js","/**\r\n * Created by FDD on 2017/5/15.\r\n * @desc 基于openlayer的动态标绘\r\n */\r\nimport { ol } from '../constants'\r\nimport Plots from './Geometry/index'\r\nimport PlotTypes from './Utils/PlotTypes'\r\nclass Plot {\r\n constructor (map) {\r\n this.version = '1.0.0'\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 创建Plot\r\n * @param type\r\n * @param points\r\n * @param _params\r\n * @returns {*}\r\n */\r\n createPlot (type, points, _params) {\r\n let params = _params || {}\r\n switch (type) {\r\n case PlotTypes.POLYLINE:\r\n return new Plots.Polyline(points, params)\r\n case PlotTypes.ARC:\r\n return new Plots.Arc(points, params)\r\n case PlotTypes.CIRCLE:\r\n return new Plots.Circle(points, params)\r\n case PlotTypes.CURVE:\r\n return new Plots.Curve(points, params)\r\n case PlotTypes.FREE_LINE:\r\n return new Plots.FreeHandLine(points, params)\r\n case PlotTypes.RECTANGLE:\r\n return new Plots.RectAngle(points, params)\r\n case PlotTypes.ELLIPSE:\r\n return new Plots.Ellipse(points, params)\r\n case PlotTypes.LUNE:\r\n return new Plots.Lune(points, params)\r\n case PlotTypes.SECTOR:\r\n return new Plots.Sector(points, params)\r\n case PlotTypes.CLOSED_CURVE:\r\n return new Plots.ClosedCurve(points, params)\r\n case PlotTypes.POLYGON:\r\n return new Plots.Polygon(points, params)\r\n case PlotTypes.ATTACK_ARROW:\r\n return new Plots.AttackArrow(points, params)\r\n case PlotTypes.FREE_POLYGON:\r\n return new Plots.FreePolygon(points, params)\r\n case PlotTypes.DOUBLE_ARROW:\r\n return new Plots.DoubleArrow(points, params)\r\n case PlotTypes.STRAIGHT_ARROW:\r\n return new Plots.StraightArrow(points, params)\r\n case PlotTypes.FINE_ARROW:\r\n return new Plots.FineArrow(points, params)\r\n case PlotTypes.ASSAULT_DIRECTION:\r\n return new Plots.AssaultDirection(points, params)\r\n case PlotTypes.TAILED_ATTACK_ARROW:\r\n return new Plots.TailedAttackArrow(points, params)\r\n case PlotTypes.SQUAD_COMBAT:\r\n return new Plots.SquadCombat(points, params)\r\n case PlotTypes.TAILED_SQUAD_COMBAT:\r\n return new Plots.TailedSquadCombat(points, params)\r\n case PlotTypes.GATHERING_PLACE:\r\n return new Plots.GatheringPlace(points, params)\r\n }\r\n return null\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n } else {\r\n throw new Error('传入的不是地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前地图对象\r\n * @returns {ol.Map|*}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n\r\n /**\r\n * 判断是否是Plot\r\n * @returns {boolean}\r\n */\r\n isPlot () {\r\n return true\r\n }\r\n\r\n /**\r\n * 设置坐标点\r\n * @param value\r\n */\r\n setPoints (value) {\r\n this.points = !value ? [] : value\r\n if (this.points.length >= 2) {\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 获取坐标点\r\n * @returns {Array.}\r\n */\r\n getPoints () {\r\n return this.points.slice(0)\r\n }\r\n\r\n /**\r\n * 获取点数量\r\n * @returns {Number}\r\n */\r\n getPointCount () {\r\n return this.points.length\r\n }\r\n\r\n /**\r\n * 更新当前坐标\r\n * @param point\r\n * @param index\r\n */\r\n updatePoint (point, index) {\r\n if (index >= 0 && index < this.points.length) {\r\n this.points[index] = point\r\n this.generate()\r\n }\r\n }\r\n\r\n /**\r\n * 更新最后一个坐标\r\n * @param point\r\n */\r\n updateLastPoint (point) {\r\n this.updatePoint(point, this.points.length - 1)\r\n }\r\n\r\n generate () {}\r\n}\r\nexport default Plot\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plot/index.js","/**\r\n * Created by FDD on 2017/2/24.\r\n * @desc 原作者 Wandergis \r\n * 在此基础上添加优化和处理,并改写为es6\r\n */\r\nimport {PI, X_PI, a, ee} from '../constants'\r\nclass CoordsTransform {\r\n /**\r\n * 转换纬度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlat (lng, lat) {\r\n let ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 转换经度\r\n * @param lng\r\n * @param lat\r\n * @returns {number}\r\n */\r\n transformlng (lng, lat) {\r\n let ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng))\r\n ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0\r\n ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0\r\n ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0\r\n return ret\r\n }\r\n\r\n /**\r\n * 判断坐标是否在国内(国外坐标不需转换)\r\n * @param lng\r\n * @param lat\r\n * @returns {boolean}\r\n */\r\n outOfChina (lng, lat) {\r\n // 纬度3.86~53.55,经度73.66~135.05\r\n return !(lng > 73.66 && lng < 135.05 && lat > 3.86 && lat < 53.55)\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))坐标转WGS84\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02towgs84 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [lng * 2 - mglng, lat * 2 - mglat]\r\n }\r\n }\r\n\r\n /**\r\n * WGS84转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n wgs84togcj02 (lng, lat) {\r\n if (this.outOfChina(lng, lat)) {\r\n return [lng, lat]\r\n } else {\r\n let dlat = this.transformlat(lng - 105.0, lat - 35.0)\r\n let dlng = this.transformlng(lng - 105.0, lat - 35.0)\r\n let radlat = lat / 180.0 * PI\r\n let magic = Math.sin(radlat)\r\n magic = 1 - ee * magic * magic\r\n let sqrtmagic = Math.sqrt(magic)\r\n dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI)\r\n dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI)\r\n let mglat = lat + dlat\r\n let mglng = lng + dlng\r\n return [mglng, mglat]\r\n }\r\n }\r\n\r\n /**\r\n * 国测局J02(火星坐标系 (GCJ-02))转百度坐标系\r\n * @param lng\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n gcj02tobd (lng, lat) {\r\n let z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * X_PI)\r\n let theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * X_PI)\r\n let bdLng = z * Math.cos(theta) + 0.0065\r\n let bdLat = z * Math.sin(theta) + 0.006\r\n return [bdLng, bdLat]\r\n }\r\n\r\n /**\r\n * 百度坐标系转国测局J02(火星坐标系 (GCJ-02))\r\n * @param lon\r\n * @param lat\r\n * @returns {[*,*]}\r\n */\r\n bdtogcj02 (lon, lat) {\r\n let x = lon - 0.0065\r\n let y = lat - 0.006\r\n let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI)\r\n let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI)\r\n let ggLng = z * Math.cos(theta)\r\n let ggLat = z * Math.sin(theta)\r\n return [ggLng, ggLat]\r\n }\r\n\r\n /**\r\n * 经纬度转Mercator\r\n * @param lontitude\r\n * @param latitude\r\n * @returns {[*,*]}\r\n */\r\n lonLatToMercator (lontitude, latitude) {\r\n let x = lontitude * 20037508.34 / 180\r\n let y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180)\r\n y = y * 20037508.34 / 180\r\n return [x, y]\r\n }\r\n\r\n /**\r\n * Mercator转经纬度\r\n * @param x\r\n * @param y\r\n * @returns {[*,*]}\r\n * @constructor\r\n */\r\n MercatorTolonLat (x, y) {\r\n let longtitude = x / 20037508.34 * 180\r\n let latitude = y / 20037508.34 * 180\r\n latitude = 180 / Math.PI * (2 * Math.atan(Math.exp(latitude * Math.PI / 180)) - Math.PI / 2)\r\n return [longtitude, latitude]\r\n }\r\n}\r\n\r\nexport default CoordsTransform\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/CoordsTransform.js","/**\r\n * Created by FDD on 2017/5/10.\r\n * @desc 空间数据加密解密算法\r\n */\r\nclass GeomCoder {\r\n constructor (params) {\r\n /**\r\n * 当前参数信息\r\n * @type {{}}\r\n */\r\n this.options = (!params) ? {} : params\r\n /**\r\n * 版本信息\r\n * @type {string}\r\n */\r\n this.version = '1.0.0'\r\n /**\r\n * @private\r\n * @type {number}\r\n */\r\n this.factor_ = this.options.factor ? this.options.factor : 1e5\r\n\r\n /**\r\n * 空间数据模型\r\n * @type {{XY: string, XYM: string, XYZ: string, XYZM: string}}\r\n */\r\n this.GeometryLayout = {\r\n XY: 'XY',\r\n XYM: 'XYM',\r\n XYZ: 'XYZ',\r\n XYZM: 'XYZM'\r\n }\r\n\r\n /**\r\n * @private\r\n * @type {ol.geom.GeometryLayout}\r\n */\r\n this.geometryLayout_ = this.options.geometryLayout ? this.options.geometryLayout : this.GeometryLayout.XY\r\n }\r\n\r\n // readGeometryFromEnCodes (codes) {\r\n // if (codes && Array.isArray(codes) && codes.length > 0) { // 压缩后的数组\r\n //\r\n // } else if (typeof codes === 'string') { // 压缩后的字符串\r\n //\r\n // }\r\n // }\r\n\r\n /**\r\n * 读取加密数据\r\n * @param text\r\n * @returns {Array}\r\n */\r\n readCoordinatesFromText (text) {\r\n let stride = this.getStrideForLayout(this.geometryLayout_)\r\n let flatCoordinates = this.decodeDeltas(text, stride)\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n let coordinates = this.coordinates(flatCoordinates, 0, flatCoordinates.length, stride)\r\n return coordinates\r\n }\r\n\r\n /**\r\n * 加密空间数组\r\n * @param coordinates\r\n * @param stride\r\n * @returns {*}\r\n */\r\n writeCoordinatesText (coordinates, stride) {\r\n /**\r\n * 实际是将坐标数组转成一纬数组\r\n * @type {*}\r\n */\r\n let flatCoordinates = []\r\n if (coordinates && Array.isArray(coordinates) && coordinates.length > 0) {\r\n coordinates.forEach(item => {\r\n if (item && Array.isArray(item) && item.length > 0) {\r\n item.forEach(_item => {\r\n if (_item) {\r\n flatCoordinates.push(_item)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n if (!stride) {\r\n stride = 2\r\n }\r\n this.flipXY(flatCoordinates, 0, flatCoordinates.length, stride, flatCoordinates)\r\n return (this.encodeDeltas(flatCoordinates, stride))\r\n }\r\n\r\n /**\r\n * 判断传入数据类型是否是文本类型\r\n * @param source\r\n * @returns {*}\r\n * @private\r\n */\r\n getText_ (source) {\r\n if (typeof source === 'string') {\r\n return source\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n /**\r\n * 所传标准数据长度\r\n * @param layout\r\n * @returns {*}\r\n */\r\n getStrideForLayout (layout) {\r\n let stride = null\r\n if (layout === this.GeometryLayout.XY) {\r\n stride = 2\r\n } else if (layout === this.GeometryLayout.XYZ || layout === this.GeometryLayout.XYM) {\r\n stride = 3\r\n } else if (layout === this.GeometryLayout.XYZM) {\r\n stride = 4\r\n }\r\n return (stride)\r\n }\r\n\r\n /**\r\n * 解码增量值(核心算法)\r\n * @param encoded\r\n * @param stride\r\n * @returns {Array.}\r\n */\r\n decodeDeltas (encoded, stride) {\r\n /** @type {Array.} */\r\n let lastNumbers = new Array(stride)\r\n for (let d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n let numbers = this.decodeFloats(encoded, this.factor_)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (let d = 0; d < stride; ++d, ++i) {\r\n lastNumbers[d] += numbers[i]\r\n numbers[i] = lastNumbers[d]\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码增量值\r\n * @param numbers\r\n * @param stride\r\n * @returns {*}\r\n */\r\n encodeDeltas (numbers, stride) {\r\n let [d, lastNumbers, i, ii] = [null, (new Array(stride)), null, null]\r\n for (d = 0; d < stride; ++d) {\r\n lastNumbers[d] = 0\r\n }\r\n for (i = 0, ii = numbers.length; i < ii;) {\r\n for (d = 0; d < stride; ++d, ++i) {\r\n let num = numbers[i]\r\n let delta = num - lastNumbers[d]\r\n lastNumbers[d] = num\r\n numbers[i] = delta\r\n }\r\n }\r\n return this.encodeFloats(numbers)\r\n }\r\n\r\n /**\r\n * 解码浮点数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeFloats (encoded) {\r\n let numbers = this.decodeSignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] /= this.factor_\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码浮点数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeFloats (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n numbers[i] = Math.round(numbers[i] * this.factor_)\r\n }\r\n return this.encodeSignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码有符号整数\r\n * @param encoded\r\n * @returns {*}\r\n */\r\n decodeSignedIntegers (encoded) {\r\n let numbers = this.decodeUnsignedIntegers(encoded)\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num & 1) ? ~(num >> 1) : (num >> 1)\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码有符号整数\r\n * @param numbers\r\n * @returns {*}\r\n */\r\n encodeSignedIntegers (numbers) {\r\n let [i, ii] = [null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n let num = numbers[i]\r\n numbers[i] = (num < 0) ? ~(num << 1) : (num << 1)\r\n }\r\n return this.encodeUnsignedIntegers(numbers)\r\n }\r\n\r\n /**\r\n * 解码无符号整数\r\n * @param encoded\r\n * @returns {null}\r\n */\r\n decodeUnsignedIntegers (encoded) {\r\n let [numbers, current, shift, i, ii] = [[], 0, 0, null, null]\r\n for (i = 0, ii = encoded.length; i < ii; ++i) {\r\n let b = encoded.charCodeAt(i) - 63\r\n current |= (b & 0x1f) << shift\r\n if (b < 0x20) {\r\n numbers.push(current)\r\n current = 0\r\n shift = 0\r\n } else {\r\n shift += 5\r\n }\r\n }\r\n return numbers\r\n }\r\n\r\n /**\r\n * 编码无符号整数数组\r\n * @param numbers\r\n * @returns {string}\r\n */\r\n encodeUnsignedIntegers (numbers) {\r\n let [encoded, i, ii] = ['', null, null]\r\n for (i = 0, ii = numbers.length; i < ii; ++i) {\r\n encoded += this.encodeUnsignedInteger(numbers[i])\r\n }\r\n return encoded\r\n }\r\n\r\n /**\r\n * 编码无符号整数\r\n * @param num\r\n * @returns {null}\r\n */\r\n encodeUnsignedInteger (num) {\r\n let [value, encoded] = ['', '']\r\n while (num >= 0x20) {\r\n value = (0x20 | (num & 0x1f)) + 63\r\n encoded += String.fromCharCode(value)\r\n num >>= 5\r\n }\r\n value = num + 63\r\n encoded += String.fromCharCode(value)\r\n return encoded\r\n }\r\n\r\n /**\r\n * 反转XY坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optDest\r\n * @param optDestOffset\r\n * @returns {string}\r\n */\r\n flipXY (flatCoordinates, offset, end, stride, optDest, optDestOffset) {\r\n let [dest, destOffset] = ['', '']\r\n if (optDest !== undefined) {\r\n dest = optDest\r\n destOffset = optDestOffset !== undefined ? optDestOffset : 0\r\n } else {\r\n dest = []\r\n destOffset = 0\r\n }\r\n let j = offset\r\n while (j < end) {\r\n let x = flatCoordinates[j++]\r\n dest[destOffset++] = flatCoordinates[j++]\r\n dest[destOffset++] = x\r\n for (let k = 2; k < stride; ++k) {\r\n dest[destOffset++] = flatCoordinates[j++]\r\n }\r\n }\r\n dest.length = destOffset\r\n return dest\r\n }\r\n\r\n /**\r\n * 读取字符串坐标\r\n * @param flatCoordinates\r\n * @param offset\r\n * @param end\r\n * @param stride\r\n * @param optCoordinates\r\n * @returns {Array}\r\n */\r\n coordinates (flatCoordinates, offset, end, stride, optCoordinates) {\r\n let coordinates = optCoordinates !== undefined ? optCoordinates : []\r\n let [i, j] = [0, null]\r\n for (j = offset; j < end; j += stride) {\r\n coordinates[i++] = flatCoordinates.slice(j, j + stride)\r\n }\r\n coordinates.length = i\r\n return coordinates\r\n }\r\n}\r\n\r\nexport default GeomCoder\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/GeomCoder.js","import { ol } from '../constants'\r\nclass LayerSwitcher {\r\n constructor (map) {\r\n this.map = map || null\r\n if (!this.map) {\r\n throw new Error('缺少地图对象!')\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前底图(包含标注层)\r\n * @private\r\n */\r\n _getBaseLayers () {\r\n if (this.map) {\r\n this.baseLayers = []\r\n this.map.getLayers().getArray().forEach(layer => {\r\n if (layer && layer instanceof ol.layer.Group && layer.get('isBaseLayer')) {\r\n layer.getLayers().getArray().forEach(_layer => {\r\n if (_layer && _layer instanceof ol.layer.Tile && _layer.get('isBaseLayer')) {\r\n this.baseLayers.push(_layer)\r\n }\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图除标注层的layerNames\r\n * @returns {Array|*}\r\n */\r\n getBaseLayerNames () {\r\n this._getBaseLayers()\r\n this.baseLayerNames = []\r\n if (this.baseLayers && Array.isArray(this.baseLayers) && this.baseLayers.length > 0) {\r\n this.baseLayerNames = this.baseLayers.map(layer => {\r\n let layerName = ''\r\n if (layer.get('layerNames') && !layer.get('alias')) {\r\n layerName = layer.get('layerNames')\r\n }\r\n return layerName\r\n })\r\n }\r\n return this.baseLayerNames\r\n }\r\n\r\n /**\r\n * 图层切换\r\n * @param layerName\r\n */\r\n switchLayer (layerName) {\r\n this._getBaseLayers()\r\n this.baseLayers.forEach(layer => {\r\n if (layer.get('layerName') === layerName || layer.get('alias') === layerName) {\r\n layer.set('isDefault', true)\r\n layer.setVisible(true)\r\n } else {\r\n layer.set('isDefault', false)\r\n layer.setVisible(false)\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 设置地图对象\r\n * @param map\r\n * @returns {ol.Map}\r\n */\r\n setMap (map) {\r\n if (map && map instanceof ol.Map) {\r\n this.map = map\r\n return this.map\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图对象\r\n * @returns {*|null|ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\n\r\nexport default LayerSwitcher\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/LayerSwitcher.js","import mix from '../utils/mixin'\r\nimport Layer from '../layer/Layer'\r\nimport { ol } from '../constants'\r\nimport * as utils from '../utils/utils'\r\nclass MeasureTool extends mix(Layer) {\r\n constructor (map) {\r\n super()\r\n if (map && map instanceof ol.Map) {\r\n /**\r\n * 地图对象\r\n * @type {ol.Map}\r\n */\r\n this.map = map\r\n /**\r\n * 计算工具\r\n * @type {ol.Sphere}\r\n */\r\n this.wgs84Sphere = new ol.Sphere(6378137)\r\n /**\r\n * 测量类型(目前预制两种,测距和测面)\r\n * @type {{measureLength: string, measureArea: string}}\r\n */\r\n this.measureTypes = {\r\n measureLength: 'measureLength',\r\n measureArea: 'measureArea'\r\n }\r\n /**\r\n * 拖拽交互\r\n * @type {null}\r\n */\r\n this.dragPanInteraction = null\r\n\r\n /**\r\n * 双击交互\r\n * @type {null}\r\n */\r\n this.DoubleClickZoom = null\r\n } else {\r\n throw new Error('传入的不是地图对象或者地图对象为空!')\r\n }\r\n }\r\n\r\n /**\r\n * 初始设置\r\n * @param params\r\n */\r\n setUp (params) {\r\n /**\r\n * 当前设置\r\n * @type {*}\r\n */\r\n this.options = params || {}\r\n /**\r\n * 测量工具所处图层\r\n * @type {*}\r\n */\r\n this.layerName = this.options['layerName'] || 'measureTool'\r\n /**\r\n * 点击计数器\r\n * @type {number}\r\n */\r\n this.clickCount = ''\r\n /**\r\n * 测量结果\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * draw对象\r\n * @type {null}\r\n */\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n }\r\n this.draw = null\r\n\r\n /**\r\n * 移动事件处理\r\n * @type {null}\r\n */\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n }\r\n this.beforeMeasurePointerMoveHandler = null\r\n /**\r\n * 处理机\r\n * @type {null}\r\n */\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n }\r\n this.listener = null\r\n /**\r\n * 当前所画要素\r\n * @type {null}\r\n */\r\n this.drawSketch = null\r\n /**\r\n * 画点事件处理\r\n * @type {null}\r\n */\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n }\r\n this.drawPointermove = null\r\n /**\r\n * 面积测量提示\r\n * @type {null}\r\n */\r\n this.measureAreaTooltip = null\r\n /**\r\n * 测面的单击事件\r\n */\r\n if (this.measureAreaClick) {\r\n ol.Observable.unByKey(this.measureAreaClick)\r\n }\r\n this.measureAreaClick = null\r\n\r\n this.measureAreaTooltipElement = null\r\n\r\n this.removeDrawInteraion()\r\n\r\n /**\r\n * 测量提示信息\r\n * @type {string}\r\n */\r\n if (this.measureHelpTooltip) {\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip = ''\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n this.measureLengthClick = this.map.on('click', eventP => {\r\n let ev = this.map.on('singleclick', event => {\r\n if (!this.clickCount) {\r\n this.clickCount = utils.getuuid()\r\n this.drawSketch.length = '起点'\r\n }\r\n this.addMeasureOverLay(event.coordinate, this.drawSketch.length)\r\n this.addMeasurecircle(event.coordinate)\r\n ol.Observable.unByKey(ev)\r\n })\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.measureAreaClick = this.map.on('click', event => {\r\n })\r\n this.beforeMeasurePointerMoveHandler = this.map.on('pointermove', this.beforeDrawPointMoveHandler, this)\r\n }\r\n this.addDrawInteraction()\r\n }\r\n\r\n /**\r\n * 添加画笔交互\r\n */\r\n addDrawInteraction () {\r\n let [ type ] = [ '' ]\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n type = 'LineString'\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n type = 'Polygon'\r\n }\r\n this.options['create'] = true\r\n this.layer = this.createVectorLayer(this.layerName, this.options)\r\n this.layer.setStyle(new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(67, 110, 238, 0.4)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(242,123,57,1)',\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(255,0,0,1)',\r\n width: 1\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255,255,255,1)'\r\n })\r\n })\r\n }))\r\n this.draw = new ol.interaction.Draw({\r\n source: this.layer.getSource(),\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(254, 164, 164, 1)'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(252, 129, 129, 1)',\r\n width: 3\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 1,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n })\r\n this.map.addInteraction(this.draw)\r\n this.drawListener()\r\n this.getDragPanInteraction().setActive(false)\r\n this.getDoubleClickZoomInteraction().setActive(false)\r\n }\r\n /**\r\n * 移除交互工具\r\n */\r\n removeDrawInteraion () {\r\n if (this.draw) {\r\n this.map.removeInteraction(this.draw)\r\n this.draw = null\r\n }\r\n if (this.listener) {\r\n ol.Observable.unByKey(this.listener)\r\n this.listener = null\r\n }\r\n if (this.drawPointermove) {\r\n ol.Observable.unByKey(this.drawPointermove)\r\n this.drawPointermove = null\r\n }\r\n if (this.measureLengthClick) {\r\n ol.Observable.unByKey(this.measureLengthClick)\r\n this.measureLengthClick = null\r\n }\r\n if (this.beforeMeasurePointerMoveHandler) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n this.beforeMeasurePointerMoveHandler = null\r\n }\r\n }\r\n\r\n /**\r\n * 点击之前的提示信息\r\n * @param event\r\n */\r\n beforeDrawPointMoveHandler (event) {\r\n if (!this.measureHelpTooltip) {\r\n let helpTooltipElement = document.createElement('label')\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n helpTooltipElement.className = 'BMapLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '单击开始测量'\r\n } else {\r\n helpTooltipElement.className = 'BMapLabel BMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.style.height = '20px'\r\n helpTooltipElement.style.lineHeight = '20px'\r\n helpTooltipElement.innerHTML = '单击开始测面,双击结束'\r\n }\r\n this.measureHelpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, -10],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(this.measureHelpTooltip)\r\n }\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n\r\n /**\r\n * 点击之后的事件处理\r\n * @param event\r\n */\r\n drawPointerMoveHandler (event) {\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n if (event.dragging) {\r\n return\r\n }\r\n let helpTooltipElement = this.measureHelpTooltip.getElement()\r\n helpTooltipElement.className = ' BMapLabel BMap_disLabel'\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.backgroundColor = 'rgb(255, 255, 255)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n helpTooltipElement.innerHTML = '总长:
单击确定地点,双击结束'\r\n this.measureHelpTooltip.setPosition(event.coordinate)\r\n }\r\n }\r\n\r\n /**\r\n * 画笔事件处理机\r\n */\r\n drawListener () {\r\n this.draw.on('drawstart', event => {\r\n this.drawSketch = event.feature\r\n this.drawSketch.set('uuid', utils.getuuid())\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n ol.Observable.unByKey(this.beforeMeasurePointerMoveHandler)\r\n ol.Observable.unByKey(this.listener)\r\n this.beforeMeasurePointerMoveHandler = null\r\n this.listener = null\r\n this.listener = this.drawSketch.getGeometry().on('change', evt => {\r\n let geom = evt.target\r\n if (geom instanceof ol.geom.LineString) {\r\n let output = this.formatData(geom)\r\n this.drawSketch.length = output\r\n this.measureHelpTooltip.getElement().firstElementChild.firstElementChild.innerHTML = output\r\n }\r\n })\r\n this.drawPointermove = this.map.on('pointermove', this.drawPointerMoveHandler, this)\r\n } else if (this.measureTypes.measureArea === this.options['measureType']) {\r\n let uuid = utils.getuuid()\r\n this.createMeasureAreaTooltip()\r\n this.drawSketch.set('uuid', uuid)\r\n this.measureAreaTooltip.set('uuid', uuid)\r\n this.listener = this.drawSketch.getGeometry().on('change', evts => {\r\n let geom = evts.target\r\n let area = this.formatData(geom)\r\n if (this.measureAreaTooltip) {\r\n this.measureAreaTooltipElement.innerHTML = '面积' + area\r\n this.measureAreaTooltip.setPosition(geom.getInteriorPoint().getCoordinates())\r\n }\r\n })\r\n }\r\n })\r\n this.draw.on('drawend', ev => {\r\n window.setTimeout(() => {\r\n this.getDragPanInteraction().setActive(true)\r\n this.getDoubleClickZoomInteraction().setActive(true)\r\n }, 300)\r\n this.map.getTargetElement().style.cursor = 'default'\r\n this.map.removeOverlay(this.measureHelpTooltip)\r\n this.measureHelpTooltip = null\r\n if (this.measureTypes.measureLength === this.options['measureType']) {\r\n this.addMeasureOverLay(ev.feature.getGeometry().getLastCoordinate(), this.drawSketch.length, '止点')\r\n this.addMeasurecircle(ev.feature.getGeometry().getLastCoordinate())\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n this.addMeasureRemoveButton(ev.feature.getGeometry().getCoordinates()[0][0])\r\n }\r\n this.listener = null\r\n this.drawSketch = null\r\n this.removeDrawInteraion()\r\n })\r\n }\r\n\r\n /**\r\n * 测量结果格式化\r\n * @param geom\r\n * @returns {*}\r\n */\r\n formatData (geom) {\r\n let output = 0\r\n if (geom) {\r\n if (this.options['measureType'] === this.measureTypes.measureLength) {\r\n let [coordinates, length] = [geom.getCoordinates(), 0]\r\n let sourceProj = this.map.getView().getProjection()\r\n for (let i = 0, ii = coordinates.length - 1; i < ii; ++i) {\r\n let c1 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326')\r\n let c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'EPSG:4326')\r\n length += this.wgs84Sphere.haversineDistance(c1, c2)\r\n }\r\n if (length > 100) {\r\n output = (Math.round(length / 1000 * 100) / 100) + ' ' + '千米'\r\n } else {\r\n output = (Math.round(length * 100) / 100) + ' ' + '米'\r\n }\r\n } else if (this.options['measureType'] === this.measureTypes.measureArea) {\r\n let sourceProj = this.getMap().getView().getProjection()\r\n let geometry = /** @type {ol.geom.Polygon} */(geom.clone().transform(\r\n sourceProj, 'EPSG:4326'))\r\n let coordinates = geometry.getLinearRing(0).getCoordinates()\r\n let area = Math.abs(this.wgs84Sphere.geodesicArea(coordinates))\r\n if (area > 10000000000) {\r\n output = (Math.round(area / (1000 * 1000 * 10000) * 100) / 100) + ' ' + '万平方公里'\r\n } else if (area > 1000000 && area < 10000000000) {\r\n output = (Math.round(area / (1000 * 1000) * 100) / 100) + ' ' + '平方公里'\r\n } else {\r\n output = (Math.round(area * 100) / 100) + ' ' + '平方米'\r\n }\r\n }\r\n }\r\n return output\r\n }\r\n\r\n /**\r\n * 添加点击测量时的圆圈\r\n * @param coordinate\r\n */\r\n addMeasurecircle (coordinate) {\r\n let feature = new ol.Feature({\r\n uuid: this.drawSketch.get('uuid'),\r\n geometry: new ol.geom.Point(coordinate)\r\n })\r\n this.layer.getSource().addFeature(feature)\r\n }\r\n\r\n /**\r\n * 添加测量结果Overlay\r\n * @param coordinate\r\n * @param length\r\n * @param type\r\n */\r\n addMeasureOverLay (coordinate, length, type) {\r\n let helpTooltipElement = document.createElement('label')\r\n helpTooltipElement.style.position = 'absolute'\r\n helpTooltipElement.style.display = 'inline'\r\n helpTooltipElement.style.cursor = 'inherit'\r\n helpTooltipElement.style.border = 'none'\r\n helpTooltipElement.style.padding = '0'\r\n helpTooltipElement.style.whiteSpace = 'nowrap'\r\n helpTooltipElement.style.fontVariant = 'normal'\r\n helpTooltipElement.style.fontWeight = 'normal'\r\n helpTooltipElement.style.fontStretch = 'normal'\r\n helpTooltipElement.style.fontSize = '12px'\r\n helpTooltipElement.style.lineHeight = 'normal'\r\n helpTooltipElement.style.fontFamily = 'arial,simsun'\r\n helpTooltipElement.style.color = 'rgb(51, 51, 51)'\r\n helpTooltipElement.style.webkitUserSelect = 'none'\r\n if (type === '止点') {\r\n helpTooltipElement.style.border = '1px solid rgb(255, 1, 3)'\r\n helpTooltipElement.style.padding = '3px 5px'\r\n helpTooltipElement.className = ' BMapLabel BMap_disLabel'\r\n helpTooltipElement.innerHTML = \"总长\" + length + ''\r\n this.addMeasureRemoveButton(coordinate)\r\n } else {\r\n helpTooltipElement.className = 'BMapLabel'\r\n helpTooltipElement.innerHTML = \"\" + length + ''\r\n }\r\n let tempMeasureTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [10, -10],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(tempMeasureTooltip)\r\n tempMeasureTooltip.setPosition(coordinate)\r\n tempMeasureTooltip.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 添加移除按钮\r\n * @param coordinate\r\n */\r\n addMeasureRemoveButton (coordinate) {\r\n let pos = [coordinate[0] - 5 * this.map.getView().getResolution(), coordinate[1]]\r\n let btnImg = document.createElement('img')\r\n btnImg.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NEYzMzc1RDY3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NEYzMzc1RDc3RDU1MTFFNUFDNDJFNjQ4NUUwMzRDRDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0RjMzNzVENDdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0RjMzNzVENTdENTUxMUU1QUM0MkU2NDg1RTAzNENENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsDx84AAAAC3SURBVHjavJIxDoMwDEV/ok5wDCbu0DvAdUBIwMLFSs/AxDXY6tZ2SCGVUikd+ifn20+2k5hHVd0AXJGmGQw+UyWMxY8KQGpbUNcB23aYHIsnuSgIy8dlAQ2DgwWSmD0YE5ReAq5pQOMIrKsDRByjKGC/dsxz2L7XQgU8JB7n4qDoY6SYF4J+p72T7/zeOXqr03SMx8XnsTUX7UgElKVCyDK3s8Tsae6sv/8ceceZ6jr1k99fAgwAsZy0Sa2HgDcAAAAASUVORK5CYII='\r\n btnImg.style.cursor = 'pointer'\r\n btnImg.title = '清除测量结果'\r\n btnImg.groupId = this.drawSketch.get('uuid')\r\n btnImg.pos = coordinate\r\n btnImg.onclick = evt => {\r\n this.RemoveMeasure(btnImg.groupId, coordinate)\r\n }\r\n let closeBtn = new ol.Overlay({\r\n element: btnImg,\r\n offset: [-2, -6],\r\n positioning: 'center-center'\r\n })\r\n this.map.addOverlay(closeBtn)\r\n closeBtn.setPosition(pos)\r\n closeBtn.set('uuid', this.drawSketch.get('uuid'))\r\n }\r\n\r\n /**\r\n * 面积测量结果\r\n */\r\n createMeasureAreaTooltip () {\r\n this.measureAreaTooltipElement = document.createElement('div')\r\n this.measureAreaTooltipElement.style.marginLeft = '-6.25em'\r\n this.measureAreaTooltipElement.className = 'measureTooltip hidden'\r\n this.measureAreaTooltip = new ol.Overlay({\r\n element: this.measureAreaTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left'\r\n })\r\n this.map.addOverlay(this.measureAreaTooltip)\r\n }\r\n\r\n /**\r\n * 移除测量结果\r\n * @param groupId\r\n * @param pos\r\n * @constructor\r\n */\r\n RemoveMeasure (groupId, pos) {\r\n let overlays = this.getMap().getOverlays().getArray()\r\n if (overlays && Array.isArray(overlays)) {\r\n let length = overlays.length\r\n // TODO 注意地图移除Overlay时数组长度会变化\r\n for (let j = 0, i = 0; j < length; j++) {\r\n i++\r\n if (overlays[length - i] && overlays[length - i] instanceof ol.Overlay && overlays[length - i].get('uuid') === groupId) {\r\n this.map.removeOverlay(overlays[length - i])\r\n }\r\n }\r\n }\r\n if (this.layer && this.layer.getSource()) {\r\n let source = this.layer.getSource()\r\n let features = source.getFeatures()\r\n features.forEach(function (feat) {\r\n let lastCoord = feat.getGeometry().getLastCoordinate()\r\n if ((lastCoord[0] === pos[0] && lastCoord[1] === pos[1]) || feat.get('uuid') === groupId) {\r\n source.removeFeature(feat)\r\n }\r\n }, this)\r\n }\r\n }\r\n\r\n /**\r\n * 获取地图拖拽漫游交互\r\n * @returns {ol.interaction.DragPan|*|null}\r\n */\r\n getDragPanInteraction () {\r\n if (!this.dragPanInteraction) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DragPan) {\r\n this.dragPanInteraction = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.dragPanInteraction\r\n }\r\n\r\n /**\r\n * 获取双击放大交互\r\n * @returns {ol.interaction.DoubleClickZoom|*|null}\r\n */\r\n getDoubleClickZoomInteraction () {\r\n if (!this.DoubleClickZoom) {\r\n let items = this.getMap().getInteractions().getArray()\r\n items.every(item => {\r\n if (item && item instanceof ol.interaction.DoubleClickZoom) {\r\n this.DoubleClickZoom = item\r\n return false\r\n } else {\r\n return true\r\n }\r\n })\r\n }\r\n return this.DoubleClickZoom\r\n }\r\n\r\n /**\r\n * 返回当前地图对象\r\n * @returns {ol.Map}\r\n */\r\n getMap () {\r\n return this.map\r\n }\r\n}\r\nexport default MeasureTool\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/plugins/MeasureTool.js","// Styles for the mapbox-streets-v6 vector tile data set. Loosely based on\r\n// http://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6.json\r\nimport {ol} from '../constants'\r\n/**\r\n * V6Style\r\n * @returns {Function}\r\n */\r\nexport const createMapboxStreetsV6Style = () => {\r\n let fill = new ol.style.Fill({color: ''})\r\n let stroke = new ol.style.Stroke({color: '', width: 1})\r\n let polygon = new ol.style.Style({fill: fill})\r\n let strokedPolygon = new ol.style.Style({fill: fill, stroke: stroke})\r\n let line = new ol.style.Style({stroke: stroke})\r\n let text = new ol.style.Style({\r\n text: new ol.style.Text({\r\n text: '', fill: fill, stroke: stroke\r\n })\r\n })\r\n let iconCache = {}\r\n\r\n function getIcon (iconName) {\r\n let icon = iconCache[iconName]\r\n if (!icon) {\r\n icon = new ol.style.Style({\r\n image: new ol.style.Icon({\r\n src: 'https://cdn.rawgit.com/mapbox/maki/master/icons/' + iconName + '-15.svg',\r\n imgSize: [15, 15]\r\n })\r\n })\r\n iconCache[iconName] = icon\r\n }\r\n return icon\r\n }\r\n\r\n let styles = []\r\n return function (feature, resolution) {\r\n let length = 0\r\n let layer = feature.get('layer')\r\n let cls = feature.get('class')\r\n let type = feature.get('type')\r\n let scalerank = feature.get('scalerank')\r\n let labelrank = feature.get('labelrank')\r\n let adminLevel = feature.get('admin_level')\r\n let maritime = feature.get('maritime')\r\n let disputed = feature.get('disputed')\r\n let maki = feature.get('maki')\r\n let geom = feature.getGeometry().getType()\r\n if (layer === 'landuse' && cls === 'park') {\r\n fill.setColor('#d8e8c8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'cemetery') {\r\n fill.setColor('#e0e4dd')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'hospital') {\r\n fill.setColor('#fde')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'school') {\r\n fill.setColor('#f0e8f8')\r\n styles[length++] = polygon\r\n } else if (layer === 'landuse' && cls === 'wood') {\r\n fill.setColor('rgb(233,238,223)')\r\n styles[length++] = polygon\r\n } else if (layer === 'waterway' &&\r\n cls !== 'river' && cls !== 'stream' && cls !== 'canal') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && cls === 'river') {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'waterway' && (cls === 'stream' ||\r\n cls === 'canal')) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'water') {\r\n fill.setColor('#a0c8f0')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'Polygon') {\r\n fill.setColor('rgb(242,239,235)')\r\n styles[length++] = polygon\r\n } else if (layer === 'aeroway' && geom === 'LineString' &&\r\n resolution <= 76.43702828517625) {\r\n stroke.setColor('#f0ede9')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'building') {\r\n fill.setColor('#f2eae2')\r\n stroke.setColor('#dfdbd7')\r\n stroke.setWidth(1)\r\n styles[length++] = strokedPolygon\r\n } else if (layer === 'tunnel' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'tunnel' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && (cls === 'street' ||\r\n cls === 'street_limited') && geom === 'LineString') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'motorway' &&\r\n resolution <= 4891.96981025128) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'road' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway_link') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'motorway') {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'service') {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' &&\r\n (cls === 'street' || cls === 'street_limited')) {\r\n stroke.setColor('#cfcdca')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'main' &&\r\n resolution <= 1222.99245256282) {\r\n stroke.setColor('#e9ac77')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'path') {\r\n stroke.setColor('#cba')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'bridge' && cls === 'major_rail') {\r\n stroke.setColor('#bbb')\r\n stroke.setWidth(2)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 0 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 &&\r\n disputed === 1 && maritime === 0) {\r\n stroke.setColor('#9e9cab')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel >= 3 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'admin' && adminLevel === 2 && maritime === 1) {\r\n stroke.setColor('#a0c8f0')\r\n stroke.setWidth(1)\r\n styles[length++] = line\r\n } else if (layer === 'country_label' && scalerank === 1) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 2 &&\r\n resolution <= 19567.87924100512) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 3 &&\r\n resolution <= 9783.93962050256) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'country_label' && scalerank === 4 &&\r\n resolution <= 4891.96981025128) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#334')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(2)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 1 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 2 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 3 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 10px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'marine_label' && labelrank === 4 &&\r\n geom === 'Point') {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont(\r\n 'italic 9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#74aee9')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'city' &&\r\n resolution <= 1222.99245256282) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('11px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'town' &&\r\n resolution <= 305.748113140705) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('9px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' && type === 'village' &&\r\n resolution <= 38.21851414258813) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('8px \"Open Sans\", \"Arial Unicode MS\"')\r\n fill.setColor('#333')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'place_label' &&\r\n resolution <= 19.109257071294063 && (type === 'hamlet' ||\r\n type === 'suburb' || type === 'neighbourhood')) {\r\n text.getText().setText(feature.get('name_en'))\r\n text.getText().setFont('bold 9px \"Arial Narrow\"')\r\n fill.setColor('#633')\r\n stroke.setColor('rgba(255,255,255,0.8)')\r\n stroke.setWidth(1)\r\n styles[length++] = text\r\n } else if (layer === 'poi_label' && resolution <= 19.109257071294063 &&\r\n scalerank === 1 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 9.554628535647032 &&\r\n scalerank === 2 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 4.777314267823516 &&\r\n scalerank === 3 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 2.388657133911758 &&\r\n scalerank === 4 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n } else if (layer === 'poi_label' && resolution <= 1.194328566955879 &&\r\n scalerank >= 5 && maki !== 'marker') {\r\n styles[length++] = getIcon(maki)\r\n }\r\n styles.length = length\r\n return styles\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/style/MapboxStyle.js","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/fn/regexp/escape.js\n// module id = 200\n// module chunks = 0","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-constructor.js\n// module id = 201\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-species-create.js\n// module id = 202\n// module chunks = 0","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_date-to-primitive.js\n// module id = 203\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-keys.js\n// module id = 204\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_keyof.js\n// module id = 205\n// module chunks = 0","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_partial.js\n// module id = 206\n// module chunks = 0","module.exports = require('./_global');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_path.js\n// module id = 207\n// module chunks = 0","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_replacer.js\n// module id = 208\n// module chunks = 0","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.regexp.escape.js\n// module id = 209\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.copy-within.js\n// module id = 210\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.every.js\n// module id = 211\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.fill.js\n// module id = 212\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.filter.js\n// module id = 213\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find-index.js\n// module id = 214\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.find.js\n// module id = 215\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.for-each.js\n// module id = 216\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.from.js\n// module id = 217\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.index-of.js\n// module id = 218\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.is-array.js\n// module id = 219\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.join.js\n// module id = 220\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.last-index-of.js\n// module id = 221\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.map.js\n// module id = 222\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.of.js\n// module id = 223\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce-right.js\n// module id = 224\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.reduce.js\n// module id = 225\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.slice.js\n// module id = 226\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.some.js\n// module id = 227\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.sort.js\n// module id = 228\n// module chunks = 0","require('./_set-species')('Array');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.species.js\n// module id = 229\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.now.js\n// module id = 230\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-iso-string.js\n// module id = 231\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-json.js\n// module id = 232\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-primitive.js\n// module id = 233\n// module chunks = 0","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.date.to-string.js\n// module id = 234\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.bind.js\n// module id = 235\n// module chunks = 0","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.has-instance.js\n// module id = 236\n// module chunks = 0","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.function.name.js\n// module id = 237\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.acosh.js\n// module id = 238\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.asinh.js\n// module id = 239\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.atanh.js\n// module id = 240\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cbrt.js\n// module id = 241\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.clz32.js\n// module id = 242\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.cosh.js\n// module id = 243\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.expm1.js\n// module id = 244\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.fround.js\n// module id = 245\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.hypot.js\n// module id = 246\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.imul.js\n// module id = 247\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log10.js\n// module id = 248\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log1p.js\n// module id = 249\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.log2.js\n// module id = 250\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sign.js\n// module id = 251\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.sinh.js\n// module id = 252\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.tanh.js\n// module id = 253\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.math.trunc.js\n// module id = 254\n// module chunks = 0","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.constructor.js\n// module id = 255\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.epsilon.js\n// module id = 256\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-finite.js\n// module id = 257\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-integer.js\n// module id = 258\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-nan.js\n// module id = 259\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.is-safe-integer.js\n// module id = 260\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.max-safe-integer.js\n// module id = 261\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.min-safe-integer.js\n// module id = 262\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-float.js\n// module id = 263\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.parse-int.js\n// module id = 264\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-fixed.js\n// module id = 265\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.number.to-precision.js\n// module id = 266\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.assign.js\n// module id = 267\n// module chunks = 0","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.create.js\n// module id = 268\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-properties.js\n// module id = 269\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.define-property.js\n// module id = 270\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.freeze.js\n// module id = 271\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 272\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-own-property-names.js\n// module id = 273\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.get-prototype-of.js\n// module id = 274\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-extensible.js\n// module id = 275\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-frozen.js\n// module id = 276\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is-sealed.js\n// module id = 277\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.is.js\n// module id = 278\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.keys.js\n// module id = 279\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.prevent-extensions.js\n// module id = 280\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.seal.js\n// module id = 281\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.set-prototype-of.js\n// module id = 282\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.to-string.js\n// module id = 283\n// module chunks = 0","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-float.js\n// module id = 284\n// module chunks = 0","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.parse-int.js\n// module id = 285\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.promise.js\n// module id = 286\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.apply.js\n// module id = 287\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.construct.js\n// module id = 288\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.define-property.js\n// module id = 289\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.delete-property.js\n// module id = 290\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.enumerate.js\n// module id = 291\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 292\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 293\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.get.js\n// module id = 294\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.has.js\n// module id = 295\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.is-extensible.js\n// module id = 296\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.own-keys.js\n// module id = 297\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 298\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 299\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.reflect.set.js\n// module id = 300\n// module chunks = 0","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.constructor.js\n// module id = 301\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.match.js\n// module id = 302\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.replace.js\n// module id = 303\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.search.js\n// module id = 304\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.split.js\n// module id = 305\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.to-string.js\n// module id = 306\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.anchor.js\n// module id = 307\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.big.js\n// module id = 308\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.blink.js\n// module id = 309\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.bold.js\n// module id = 310\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.code-point-at.js\n// module id = 311\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.ends-with.js\n// module id = 312\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fixed.js\n// module id = 313\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontcolor.js\n// module id = 314\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontsize.js\n// module id = 315\n// module chunks = 0","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.from-code-point.js\n// module id = 316\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.includes.js\n// module id = 317\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.italics.js\n// module id = 318\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.iterator.js\n// module id = 319\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.link.js\n// module id = 320\n// module chunks = 0","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.raw.js\n// module id = 321\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.repeat.js\n// module id = 322\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.small.js\n// module id = 323\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.starts-with.js\n// module id = 324\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.strike.js\n// module id = 325\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sub.js\n// module id = 326\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sup.js\n// module id = 327\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.trim.js\n// module id = 328\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.symbol.js\n// module id = 329\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.array-buffer.js\n// module id = 330\n// module chunks = 0","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.data-view.js\n// module id = 331\n// module chunks = 0","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float32-array.js\n// module id = 332\n// module chunks = 0","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.float64-array.js\n// module id = 333\n// module chunks = 0","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int16-array.js\n// module id = 334\n// module chunks = 0","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int32-array.js\n// module id = 335\n// module chunks = 0","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.int8-array.js\n// module id = 336\n// module chunks = 0","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint16-array.js\n// module id = 337\n// module chunks = 0","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint32-array.js\n// module id = 338\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-array.js\n// module id = 339\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n// module id = 340\n// module chunks = 0","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.weak-set.js\n// module id = 341\n// module chunks = 0","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.array.includes.js\n// module id = 342\n// module chunks = 0","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.asap.js\n// module id = 343\n// module chunks = 0","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.error.is-error.js\n// module id = 344\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.map.to-json.js\n// module id = 345\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.iaddh.js\n// module id = 346\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.imulh.js\n// module id = 347\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.isubh.js\n// module id = 348\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.math.umulh.js\n// module id = 349\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-getter.js\n// module id = 350\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.define-setter.js\n// module id = 351\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.entries.js\n// module id = 352\n// module chunks = 0","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 353\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-getter.js\n// module id = 354\n// module chunks = 0","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.lookup-setter.js\n// module id = 355\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.object.values.js\n// module id = 356\n// module chunks = 0","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.observable.js\n// module id = 357\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.define-metadata.js\n// module id = 358\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 359\n// module chunks = 0","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 360\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-metadata.js\n// module id = 361\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 362\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 363\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-metadata.js\n// module id = 364\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 365\n// module chunks = 0","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.reflect.metadata.js\n// module id = 366\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.set.to-json.js\n// module id = 367\n// module chunks = 0","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.at.js\n// module id = 368\n// module chunks = 0","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.match-all.js\n// module id = 369\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-end.js\n// module id = 370\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.pad-start.js\n// module id = 371\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-left.js\n// module id = 372\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.string.trim-right.js\n// module id = 373\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.async-iterator.js\n// module id = 374\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.symbol.observable.js\n// module id = 375\n// module chunks = 0","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es7.system.global.js\n// module id = 376\n// module chunks = 0","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.dom.iterable.js\n// module id = 377\n// module chunks = 0","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.immediate.js\n// module id = 378\n// module chunks = 0","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.timers.js\n// module id = 379\n// module chunks = 0","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/shim.js\n// module id = 380\n// module chunks = 0","// OpenLayers. See https://openlayers.org/\n// License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md\n// Version: v4.1.1\n;(function (root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory();\n } else if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else {\n root.ol = factory();\n }\n}(this, function () {\n var OPENLAYERS = {};\n var k,ba=this;function t(a,b){var c=OPENLAYERS,d=a.split(\".\"),c=c||ba;d[0]in c||!c.execScript||c.execScript(\"var \"+d[0]);for(var e;d.length&&(e=d.shift());)d.length||void 0===b?c[e]&&Object.prototype.hasOwnProperty.call(c,e)?c=c[e]:c=c[e]={}:c[e]=b};var ca,da;function ea(a,b){return a>b?1:ac)for(c=1;c>>0,d,e=0;e=b.da&&a.ga<=b.ja&&a.ja>=b.ga};function xa(a,b,c){return Math.min(Math.max(a,b),c)}var ya=function(){var a;\"cosh\"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function za(a){sa(0c*b?c+b:c}function Ea(a,b,c){return a+c*(b-a)};function Fa(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function Ga(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function Ha(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:b[0]=b[1]=a;return b};function Ia(a){for(var b=Ja(),c=0,d=a.length;cd&&(h|=4);ge&&(h|=2);h||(h=1);return h}function Ja(){return[Infinity,Infinity,-Infinity,-Infinity]}function Wa(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Xa(a,b){var c=a[0],d=a[1];return Wa(c,d,c,d,b)}function Ya(a,b,c,d,e){e=Wa(Infinity,Infinity,-Infinity,-Infinity,e);return Za(e,a,b,c,d)}\nfunction $a(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function ab(a,b){b[0]a[2]&&(a[2]=b[2]);b[1]a[3]&&(a[3]=b[3]);return a}function La(a,b){b[0]a[2]&&(a[2]=b[0]);b[1]a[3]&&(a[3]=b[1])}function Za(a,b,c,d,e){for(;cb[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function hb(a){return a[2]Db?f=Db:f<-Db&&(f=-Db);b[e+1]=f}return b}function Gb(a,b,c){var d=a.length;c=1>=1;return c.join(\"\")};function kc(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;sa(na(this.b,function(a,b){return b-a}),17);this.maxZoom=this.b.length-1;this.g=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins,sa(this.c.length==this.b.length,20));var b=a.extent;void 0===b||this.g||this.c||(this.g=fb(b));sa(!this.g&&this.c||this.g&&!this.c,18);this.i=null;void 0!==a.tileSizes&&(this.i=a.tileSizes,sa(this.i.length==this.b.length,19));this.f=void 0!==a.tileSize?a.tileSize:\nthis.i?null:256;sa(!this.f&&this.i||this.f&&!this.i,22);this.u=void 0!==b?b:null;this.a=null;this.j=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new ta(Math.min(0,a[0]),Math.max(a[0]-1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&lc(this,b)}var mc=[0,0,0];k=kc.prototype;k.mh=function(a,b,c){a=nc(this,a,b);for(var d=a.da,e=a.ba;d<=e;++d)for(var f=a.ga,g=a.ja;f<=g;++f)c([b,d,f])};\nfunction oc(a,b,c,d,e){e=a.Ua(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,nc(a,e,b,d)))return!0;--b}return!1}k.D=function(){return this.u};k.Ni=function(){return this.maxZoom};k.Oi=function(){return this.minZoom};k.Uc=function(a){return this.g?this.g:this.c[a]};k.La=function(a){return this.b[a]};k.Pi=function(){return this.b};function pc(a,b,c,d){return b[0]Na.ba)if(wa(C,new ta(Da(A.da,wb),Da(A.ba,wb),A.ga,A.ja))||A.ba-A.da+1>wb&&wa(C,Na)){p=!0;break a}}}p=!1}else p=!0}}else p=!1;p?(l in v&&delete v[l],p=h.b,p in x||(x[p]=!0,r[l]=h)):v[l]=h}b=[r,v];c=b[0];b=b[1];for(var Z in this.o)Z in c?(this.j[Z]||(this.o[Z].style.display=\"\",this.j[Z]=!0),delete c[Z]):Z in b?(this.j[Z]&&(this.o[Z].style.display=\"none\",delete this.j[Z]),delete b[Z]):(jd(this.o[Z]),delete this.o[Z],delete this.j[Z]);for(Z in c)d=document.createElement(\"LI\"),\nd.innerHTML=c[Z].b,this.I.appendChild(d),this.o[Z]=d,this.j[Z]=!0;for(Z in b)d=document.createElement(\"LI\"),d.innerHTML=b[Z].b,d.style.display=\"none\",this.I.appendChild(d),this.o[Z]=d;Z=!tb(this.j)||!tb(a.logos);this.G!=Z&&(this.element.style.display=Z?\"\":\"none\",this.G=Z);Z&&tb(this.j)?this.element.classList.add(\"ol-logo-only\"):this.element.classList.remove(\"ol-logo-only\");var Ta;a=a.logos;Z=this.T;for(Ta in Z)Ta in a||(jd(Z[Ta]),delete Z[Ta]);for(var Pb in a)b=a[Pb],b instanceof HTMLElement&&(this.v.appendChild(b),\nZ[Pb]=b),Pb in Z||(Ta=new Image,Ta.src=Pb,\"\"===b?c=Ta:(c=document.createElement(\"a\"),c.href=b,c.appendChild(Ta)),this.v.appendChild(c),Z[Pb]=c);this.v.style.display=tb(a)?\"none\":\"\"}else this.G&&(this.element.style.display=\"none\",this.G=!1)}k=ld.prototype;k.Pm=function(a){a.preventDefault();nd(this)};function nd(a){a.element.classList.toggle(\"ol-collapsed\");a.c?id(a.A,a.C):id(a.C,a.A);a.c=!a.c}k.Om=function(){return this.l};\nk.Rm=function(a){this.l!==a&&(this.l=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.c&&nd(this))};k.Qm=function(a){this.l&&this.c!==a&&nd(this)};k.Nm=function(){return this.c};function od(a){return Math.pow(a,3)}function pd(a){return 1-od(1-a)}function qd(a){return 3*a*a-2*a*a*a}function rd(a){return a};function sd(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-rotate\",c=void 0!==a.label?a.label:\"\\u21e7\";this.c=null;\"string\"===typeof c?(this.c=document.createElement(\"span\"),this.c.className=\"ol-compass\",this.c.textContent=c):(this.c=c,this.c.classList.add(\"ol-compass\"));var d=a.tipLabel?a.tipLabel:\"Reset rotation\",c=document.createElement(\"button\");c.className=b+\"-reset\";c.setAttribute(\"type\",\"button\");c.title=d;c.appendChild(this.c);z(c,\"click\",sd.prototype.A,this);d=document.createElement(\"div\");\nd.className=b+\" ol-unselectable ol-control\";d.appendChild(c);b=a.render?a.render:td;this.l=a.resetNorth?a.resetNorth:void 0;kd.call(this,{element:d,render:b,target:a.target});this.o=void 0!==a.duration?a.duration:250;this.j=void 0!==a.autoHide?a.autoHide:!0;this.v=void 0;this.j&&this.element.classList.add(\"ol-hidden\")}u(sd,kd);sd.prototype.A=function(a){a.preventDefault();this.l?this.l():(a=this.a.$())&&void 0!==a.Sa()&&(0=Math.abs(d-h[0])&&25>=l)return!0}return!1}function he(a){var b=ie(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType=\"mouse\";return b}k=fe.prototype;\nk.am=function(a){if(!ge(this,a)){(1).toString()in this.a&&this.cancel(a);var b=he(a);this.a[(1).toString()]=a;je(this.b,\"pointerdown\",b,a)}};k.bm=function(a){if(!ge(this,a)){var b=he(a);je(this.b,\"pointermove\",b,a)}};k.em=function(a){if(!ge(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=he(a),je(this.b,\"pointerup\",b,a),delete this.a[(1).toString()])}};k.dm=function(a){if(!ge(this,a)){var b=he(a);ke(this.b,b,a)}};k.cm=function(a){if(!ge(this,a)){var b=he(a);le(this.b,b,a)}};\nk.cancel=function(a){var b=he(a);this.b.cancel(b,a);delete this.a[(1).toString()]};function me(a){ee.call(this,a,{MSPointerDown:this.jm,MSPointerMove:this.km,MSPointerUp:this.nm,MSPointerOut:this.lm,MSPointerOver:this.mm,MSPointerCancel:this.im,MSGotPointerCapture:this.gm,MSLostPointerCapture:this.hm});this.a=a.g;this.g=[\"\",\"unavailable\",\"touch\",\"pen\",\"mouse\"]}u(me,ee);function ne(a,b){var c=b;\"number\"===typeof b.pointerType&&(c=ie(b,b),c.pointerType=a.g[b.pointerType]);return c}k=me.prototype;\nk.jm=function(a){this.a[a.pointerId.toString()]=a;var b=ne(this,a);je(this.b,\"pointerdown\",b,a)};k.km=function(a){var b=ne(this,a);je(this.b,\"pointermove\",b,a)};k.nm=function(a){var b=ne(this,a);je(this.b,\"pointerup\",b,a);delete this.a[a.pointerId.toString()]};k.lm=function(a){var b=ne(this,a);le(this.b,b,a)};k.mm=function(a){var b=ne(this,a);ke(this.b,b,a)};k.im=function(a){var b=ne(this,a);this.b.cancel(b,a);delete this.a[a.pointerId.toString()]};\nk.hm=function(a){this.b.b(new oe(\"lostpointercapture\",a,a))};k.gm=function(a){this.b.b(new oe(\"gotpointercapture\",a,a))};function pe(a){ee.call(this,a,{pointerdown:this.Yo,pointermove:this.Zo,pointerup:this.bp,pointerout:this.$o,pointerover:this.ap,pointercancel:this.Xo,gotpointercapture:this.pl,lostpointercapture:this.$l})}u(pe,ee);k=pe.prototype;k.Yo=function(a){qe(this.b,a)};k.Zo=function(a){qe(this.b,a)};k.bp=function(a){qe(this.b,a)};k.$o=function(a){qe(this.b,a)};k.ap=function(a){qe(this.b,a)};k.Xo=function(a){qe(this.b,a)};k.$l=function(a){qe(this.b,a)};k.pl=function(a){qe(this.b,a)};function oe(a,b,c){Lc.call(this,a);this.b=b;a=c?c:{};this.buttons=se(a);this.pressure=te(a,this.buttons);this.bubbles=\"bubbles\"in a?a.bubbles:!1;this.cancelable=\"cancelable\"in a?a.cancelable:!1;this.view=\"view\"in a?a.view:null;this.detail=\"detail\"in a?a.detail:null;this.screenX=\"screenX\"in a?a.screenX:0;this.screenY=\"screenY\"in a?a.screenY:0;this.clientX=\"clientX\"in a?a.clientX:0;this.clientY=\"clientY\"in a?a.clientY:0;this.button=\"button\"in a?a.button:0;this.relatedTarget=\"relatedTarget\"in a?a.relatedTarget:\nnull;this.pointerId=\"pointerId\"in a?a.pointerId:0;this.width=\"width\"in a?a.width:0;this.height=\"height\"in a?a.height:0;this.pointerType=\"pointerType\"in a?a.pointerType:\"\";this.isPrimary=\"isPrimary\"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}u(oe,Lc);function se(a){if(a.buttons||ue)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}\nfunction te(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var ue=!1;try{ue=1===(new MouseEvent(\"click\",{buttons:1})).buttons}catch(a){};function ve(a,b){ee.call(this,a,{touchstart:this.gq,touchmove:this.fq,touchend:this.eq,touchcancel:this.cq});this.a=a.g;this.j=b;this.g=void 0;this.f=0;this.c=void 0}u(ve,ee);k=ve.prototype;k.dj=function(){this.f=0;this.c=void 0};\nfunction we(a,b,c){b=ie(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.f;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.g===c.identifier;b.pointerType=\"touch\";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}\nfunction xe(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g,h;for(g=0;g=b.length){var e=[],f,g,h;for(f=0;f>1;){var l=2*b+1,m=2*b+2,l=mb;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}function Me(a){var b=a.o,c=a.b,d=a.g,e=0,f=c.length,g,h,l;for(h=0;h>1)-1;0<=b;b--)Ke(a,b)};function Ne(a,b){Ie.call(this,function(b){return a.apply(null,b)},function(a){return a[0].hb()});this.u=b;this.j=0;this.f={}}u(Ne,Ie);Ne.prototype.i=function(a){var b=Ie.prototype.i.call(this,a);b&&z(a[0],\"change\",this.l,this);return b};Ne.prototype.l=function(a){a=a.target;var b=a.V();if(2===b||3===b||4===b||5===b)Hc(a,\"change\",this.l,this),a=a.hb(),a in this.f&&(delete this.f[a],--this.j),this.u()};\nfunction Oe(a,b,c){for(var d=0,e,f;a.je)return 1;if(e>d)return-1}return 0};function Xe(a,b){a[0]+=b[0];a[1]+=b[1];return a}function Ye(a,b){var c=a[0],d=a[1],e=b[0],f=b[1],g=e[0],e=e[1],h=f[0],f=f[1],l=h-g,m=f-e,c=l||m?(l*(c-g)+m*(d-e))/(l*l+m*m||0):0;0>=c||(1<=c?(g=h,e=f):(g+=c*l,e+=c*m));return[g,e]}\nfunction Ze(a,b,c){a=Da(a+180,360)-180;var d=Math.abs(3600*a);c=c||0;var e=Math.pow(10,c),f=Math.floor(d/3600),g=Math.floor((d-3600*f)/60),d=Math.ceil((d-3600*f-60*g)*e)/e;60<=d&&(d=0,g+=1);60<=g&&(g=0,f+=1);return f+\"\\u00b0 \"+Ve(g)+\"\\u2032 \"+Ve(d,c)+\"\\u2033 \"+b.charAt(0>a?1:0)}function $e(a,b,c){return a?b.replace(\"{x}\",a[0].toFixed(c)).replace(\"{y}\",a[1].toFixed(c)):\"\"}function af(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}\nfunction cf(a,b){var c=Math.cos(b),d=Math.sin(b),e=a[1]*c+a[0]*d;a[0]=a[0]*c-a[1]*d;a[1]=e;return a}function df(a,b){a[0]*=b;a[1]*=b}function ef(a,b){var c=a[0]-b[0],d=a[1]-b[1];return c*c+d*d}function ff(a,b){return Math.sqrt(ef(a,b))}function gf(a,b){return ef(a,Ye(a,b))}function hf(a,b){return $e(a,\"{x}, {y}\",b)};function jf(){return!0}function kf(){return!1};function lf(){Qc.call(this);this.o=Ja();this.u=-1;this.i={};this.l=this.f=0}u(lf,Qc);k=lf.prototype;k.Ab=function(a,b){var c=b?b:[NaN,NaN];this.Hb(a[0],a[1],c,Infinity);return c};k.sb=function(a){return this.Sc(a[0],a[1])};k.Sc=kf;k.D=function(a){this.u!=this.g&&(this.o=this.se(this.o),this.u=this.g);var b=this.o;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Qb=function(a){return this.Td(a*a)};k.tb=function(a,b){this.Fc(dc(a,b));return this};function mf(a,b,c,d,e,f){for(var g=f?f:[],h=0;ba||this.f&&a<=this.f)return this;var b=a.toString();if(this.i.hasOwnProperty(b))return this.i[b];var c=this.od(a);if(c.ia().lengthe&&(e=f);f=h;g=l}return e}function wf(a,b,c,d,e){var f,g;f=0;for(g=c.length;fh){for(;br&&(m=n,r=B)}r>e&&(l[(m-b)/d]=1,q+dKa&&NaKa)&&(0>C&&wbC)||(y[A++]=p,y[A++]=g,B=p,aa=g);p=Ra;g=ra}}y[A++]=p;y[A++]=g}g=A}h.push(g);b=n}return g};function Gf(a,b){of.call(this);this.c=this.j=-1;this.pa(a,b)}u(Gf,of);k=Gf.prototype;k.clone=function(){var a=new Gf(null);Hf(a,this.la,this.B.slice());return a};k.Hb=function(a,b,c,d){if(df&&0<(m-h)*(f-l)-(e-h)*(n-l)&&g++:n<=f&&0>(m-h)*(f-l)-(e-h)*(n-l)&&g--;h=m;l=n}return!!g}function Kf(a,b,c,d,e,f){if(!c.length||!Jf(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;bp&&(m=(m+n)/2,Kf(a,b,c,d,m,q)&&(v=m,p=x));m=n}isNaN(v)&&(v=e[f]);return g?(g.push(v,q),g):[v,q]};function Mf(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:Mf(a,b,c,d,function(a,b){var c=!1,d=Va(e,a),f=Va(e,b);if(1===d||1===f)c=!0;else{var g=e[0],h=e[1],r=e[2],v=e[3],x=b[0],y=b[1],A=(y-a[1])/(x-a[0]);f&2&&!(d&2)&&(c=x-(y-v)/A,c=c>=g&&c<=r);c||!(f&4)||d&4||(c=y-(x-r)*A,c=c>=h&&c<=v);c||!(f&8)||d&8||(c=x-(y-h)/A,c=c>=g&&c<=r);c||!(f&16)||d&16||(c=y-(x-g)*A,c=c>=h&&c<=v)}return c}):!1}\nfunction Of(a,b,c,d,e){var f=c[0];if(!(Nf(a,b,f,d,e)||Jf(a,b,f,d,e[0],e[1])||Jf(a,b,f,d,e[0],e[3])||Jf(a,b,f,d,e[2],e[1])||Jf(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;ba||this.c.length<=a)return null;var b=new Gf(null);Hf(b,this.la,this.B.slice(a?this.c[a-1]:0,this.c[a]));return b};k.Oc=function(){var a=this.la,b=this.B,c=this.c,d=[],e=0,f,g;f=0;for(g=c.length;f=this.i&&a<=this.a){b=this.l||0;var c,d;if(this.f){d=ga(this.f,a,1);b+=d;if(d==this.f.length-1)return b;c=this.f[d];d=c/this.f[d+1]}else c=this.a,d=this.C;b+=Math.log(c/a)/Math.log(d)}return b};\nk.Mf=function(a,b){var c=b||{},d=c.size;d||(d=dg(this));var e;a instanceof of?\"Circle\"===a.S()?(a=a.D(),e=Vf(a),e.rotate(this.Sa(),kb(a))):e=a:(sa(Array.isArray(a),24),sa(!hb(a),25),e=Vf(a));var f=c.padding?c.padding:[0,0,0,0],g=void 0!==c.constrainResolution?c.constrainResolution:!0,h=void 0!==c.nearest?c.nearest:!1,l;void 0!==c.minResolution?l=c.minResolution:void 0!==c.maxZoom?l=this.constrainResolution(this.a,c.maxZoom-this.l,0):l=0;var m=e.ia(),n=this.Sa(),p=Math.cos(-n),n=Math.sin(-n),q=Infinity,\nr=Infinity,v=-Infinity,x=-Infinity;e=e.sa();for(var y=0,A=m.length;yc.b.length)c=!1;else{var d=Date.now()-c.f,e=c.b.length-3;if(c.b[e+2]d;)f-=3;var d=c.b[e+2]-c.b[f+2],g=c.b[e]-c.b[f],e=c.b[e+1]-c.b[f+1];c.g=Math.atan2(e,g);c.a=Math.sqrt(g*g+e*e)/d;c=c.a>c.c}}c&&(c=this.a,c=(c.c-c.a)/c.i,e=this.a.g,f=a.za(),f=b.Ka(f),b=b.Xa([f[0]-c*Math.cos(e),f[1]-c*Math.sin(e)]),a.animate({center:a.Gc(b),duration:500,\neasing:pd}));$f(a,1,-1);return!1}function Eg(a){if(0=this.u}function Qg(a){if(yg(a)){var b=this.a,c=a.pixel;b.c=this.f;b.g=c;Ng(b);Mg(b);this.b(new Tg(Ug,a.coordinate,a))}}Og.prototype.U=function(){return this.a.U()};\nOg.prototype.j=oa;function Rg(a){if(!yg(a))return!0;this.a.setMap(null);this.o(a,this.f,a.pixel)&&(this.j(a),this.b(new Tg(Vg,a.coordinate,a)));return!1}function Pg(a){if(yg(a)&&rg(a)&&this.C(a)){this.f=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.f;b.c=this.f;b.g=c;Ng(b);Mg(b);this.b(new Tg(Wg,a.coordinate,a));return!0}return!1}var Wg=\"boxstart\",Ug=\"boxdrag\",Vg=\"boxend\";function Tg(a,b,c){Lc.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}u(Tg,Lc);function Xg(a){a=a?a:{};var b=a.condition?a.condition:wg;this.G=void 0!==a.duration?a.duration:200;this.I=void 0!==a.out?a.out:!1;Og.call(this,{condition:b,className:a.className||\"ol-dragzoom\"})}u(Xg,Og);\nXg.prototype.j=function(){var a=this.v,b=a.$(),c=a.Nb(),d=this.U().D();if(this.I){var e=b.hd(c),d=[a.Ka(cb(d)),a.Ka(eb(d))],a=Wa(Infinity,Infinity,-Infinity,-Infinity,void 0),f,g;f=0;for(g=d.length;fMath.abs(d)?dh:eh;if(this.l===dh){b=b.$();this.o?clearTimeout(this.o):\n$f(b,1,1);this.o=setTimeout(this.G.bind(this),400);var c=b.Ra()*Math.pow(2,d/300),e=b.i,f=b.a,g=0;cf&&(c=Math.min(c,1.5*f),g=-1);if(this.a){var h=bg(b,c,this.a);b.lb(b.Gc(h))}b.$c(c);!g&&this.Z&&b.animate({resolution:b.constrainResolution(c,0g&&b.animate({resolution:f,easing:pd,anchor:this.a,duration:500});this.f=a;return!1}this.j+=d;d=Math.max(this.ea-\n(a-this.f),0);clearTimeout(this.u);this.u=setTimeout(this.I.bind(this,b),d);return!1}bh.prototype.G=function(){this.o=void 0;$f(this.v.$(),1,-1)};bh.prototype.I=function(a){a=a.$();a.Kc()&&a.kd();mg(a,-xa(this.j,-1,1),this.a,this.A);this.l=void 0;this.j=0;this.a=null;this.u=this.f=void 0};bh.prototype.T=function(a){this.C=a;a||(this.a=null)};var dh=\"trackpad\",eh=\"wheel\";function fh(a){Ag.call(this,{handleDownEvent:gh,handleDragEvent:hh,handleUpEvent:ih});a=a||{};this.f=null;this.j=void 0;this.a=!1;this.o=0;this.C=void 0!==a.threshold?a.threshold:.3;this.u=void 0!==a.duration?a.duration:250}u(fh,Ag);\nfunction hh(a){var b=0,c=this.l[0],d=this.l[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.o+=b,!this.a&&Math.abs(this.o)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.c.getBoundingClientRect();d=Cg(this.l);d[0]-=c.left;d[1]-=c.top;this.f=a.Xa(d);this.a&&(c=a.$(),d=c.Sa(),a.render(),lg(c,d+b,this.f))}function ih(a){if(2>this.l.length){a=a.map.$();$f(a,1,-1);if(this.a){var b=a.Sa(),c=this.f,d=this.u,b=a.constrainRotation(b,0);lg(a,b,c,d)}return!1}return!0}\nfunction gh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.j=void 0,this.a=!1,this.o=0,this.A||$f(a.$(),1,1),!0):!1}fh.prototype.bd=kf;function jh(a){Ag.call(this,{handleDownEvent:kh,handleDragEvent:lh,handleUpEvent:nh});a=a?a:{};this.o=a.constrainResolution||!1;this.f=null;this.u=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}u(jh,Ag);\nfunction lh(a){var b=1,c=this.l[0],d=this.l[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;a=a.map;var e=a.$(),d=e.Ra(),f=e.a,g=e.i,c=d*b;c>f?(b=f/d,c=f):cthis.l.length){a=a.map.$();$f(a,1,-1);var b=a.Ra();if(this.o||ba.a){var c=this.f,d=this.u,b=a.constrainResolution(b,0,this.j-1);ng(a,b,c,d)}return!1}return!0}function kh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.a=void 0,this.j=1,this.A||$f(a.$(),1,1),!0):!1}jh.prototype.bd=kf;function oh(a){a=a?a:{};var b=new D,c=new ig(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new Hg);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new og({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new Dg({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new fh);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new jh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));if(void 0!==a.keyboard?\na.keyboard:1)b.push(new Yg),b.push(new $g({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new bh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new Xg({duration:a.zoomDuration}));return b};function ph(a){Qc.call(this);var b=qb({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.H(b);this.a={layer:this,Ie:!0}}u(ph,Qc);\nfunction qh(a){a.a.opacity=xa(a.jc(),0,1);a.a.uj=a.Vf();a.a.visible=a.Lb();a.a.extent=a.D();a.a.zIndex=a.Aa();a.a.maxResolution=a.hc();a.a.minResolution=Math.max(a.ic(),0);return a.a}k=ph.prototype;k.D=function(){return this.get(\"extent\")};k.hc=function(){return this.get(\"maxResolution\")};k.ic=function(){return this.get(\"minResolution\")};k.jc=function(){return this.get(\"opacity\")};k.Lb=function(){return this.get(\"visible\")};k.Aa=function(){return this.get(\"zIndex\")};\nk.xc=function(a){this.set(\"extent\",a)};k.Cc=function(a){this.set(\"maxResolution\",a)};k.Dc=function(a){this.set(\"minResolution\",a)};k.yc=function(a){this.set(\"opacity\",a)};k.zc=function(a){this.set(\"visible\",a)};k.Xb=function(a){this.set(\"zIndex\",a)};function rh(a){var b=a||{};a=qb({},b);delete a.layers;b=b.layers;ph.call(this,a);this.i=[];this.c={};z(this,Sc(sh),this.Cl,this);b?Array.isArray(b)?b=new D(b.slice(),{unique:!0}):sa(b instanceof D,43):b=new D(void 0,{unique:!0});this.pi(b)}u(rh,ph);k=rh.prototype;k.Gd=function(){};k.Ee=function(){this.Lb()&&this.s()};\nk.Cl=function(){this.i.forEach(Bc);this.i.length=0;var a=this.sd();this.i.push(z(a,\"add\",this.Bl,this),z(a,\"remove\",this.Dl,this));for(var b in this.c)this.c[b].forEach(Bc);rb(this.c);var a=a.a,c,d;b=0;for(c=a.length;b=a.minResolution&&bp[2])m=[r+q*Math.ceil((p[0]-r)/q),a[1]]}p=b.layerStatesArray;for(q=p.length-1;0<=q;--q){var v=p[q],r=v.layer;if(uh(v,n)&&f.call(g,r)&&(v=Mh(this,r),r.ka()&&(l=v.Ba(r.ka().G?m:a,b,c,h,e)),l))return l}};\nk.xi=function(a,b,c,d,e){return void 0!==this.Ba(a,b,c,jf,this,d,e)};function Mh(a,b){var c=w(b).toString();if(c in a.c)return a.c[c];var d=b.Gd(a);a.c[c]=d;a.u[c]=z(d,\"change\",a.Al,a);return d}k.Al=function(){this.l.render()};k.Dg=oa;k.Hp=function(a,b){for(var c in this.c)if(!(b&&c in b.layerStates)){var d=c,e=this.c[d];delete this.c[d];Bc(this.u[d]);delete this.u[d];Kc(e)}};function Nh(a,b){for(var c in a.c)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.Hp.bind(a));break}}\nfunction la(a,b){return a.zIndex-b.zIndex};function Oh(a,b,c,d,e){Lc.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}u(Oh,Lc);var Ph=[0,0,0,1],Qh=[],Rh=[0,0,0,1];function Sh(a,b,c,d){b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function Th(){}k=Th.prototype;k.oc=function(){};k.td=function(){};k.ac=function(){};k.te=function(){};k.ue=function(){};k.Rb=function(){};k.pc=function(){};k.qc=function(){};k.rc=function(){};k.sc=function(){};k.tc=function(){};k.Ac=function(){};k.Na=function(){};k.Wb=function(){};k.Ub=function(){};function Uh(a,b,c,d,e){this.g=a;this.v=b;this.c=c;this.O=d;this.Gb=e;this.N=this.b=this.a=this.$a=this.Z=this.I=null;this.ea=this.T=this.o=this.G=this.C=this.A=0;this.fa=!1;this.i=this.mb=0;this.na=!1;this.qa=0;this.Fa=\"\";this.Ja=this.$b=0;this.Ha=!1;this.j=this.Va=0;this.ta=this.l=this.f=null;this.u=[];this.yb=yh()}u(Uh,Th);\nfunction Vh(a,b,c){if(a.N){b=mf(b,0,c,2,a.O,a.u);c=a.g;var d=a.yb,e=c.globalAlpha;1!=a.o&&(c.globalAlpha=e*a.o);var f=a.mb;a.fa&&(f+=a.Gb);var g,h;g=0;for(h=b.length;gradius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}\"}\nu(li,ji);var mi=new li;\nfunction ni(){this.b=\"varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;if(f==0.0){offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}\"}\nu(ni,ki);var oi=new ni;function pi(a,b){this.G=a.getUniformLocation(b,\"n\");this.qa=a.getUniformLocation(b,\"k\");this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ta=a.getUniformLocation(b,\"l\");this.g=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"p\");this.Z=a.getUniformLocation(b,\"o\");this.j=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\");this.O=a.getAttribLocation(b,\"g\")};function qi(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function ri(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};function si(a,b){this.origin=kb(b);this.Gb=yh();this.Va=yh();this.yb=yh();this.Ja=qi();this.b=[];this.o=null;this.g=[];this.f=[];this.a=[];this.u=null;this.j=void 0}u(si,Th);\nsi.prototype.i=function(a,b,c,d,e,f,g,h,l,m,n){var p=a.b,q,r,v,x,y,A,B,aa;this.j&&(q=p.isEnabled(p.STENCIL_TEST),r=p.getParameter(p.STENCIL_FUNC),v=p.getParameter(p.STENCIL_VALUE_MASK),x=p.getParameter(p.STENCIL_REF),y=p.getParameter(p.STENCIL_WRITEMASK),A=p.getParameter(p.STENCIL_FAIL),B=p.getParameter(p.STENCIL_PASS_DEPTH_PASS),aa=p.getParameter(p.STENCIL_PASS_DEPTH_FAIL),p.enable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilMask(255),p.stencilFunc(p.ALWAYS,1,255),p.stencilOp(p.KEEP,p.KEEP,\np.REPLACE),this.j.i(a,b,c,d,e,f,g,h,l,m,n),p.stencilMask(0),p.stencilFunc(p.NOTEQUAL,1,255));ti(a,34962,this.u);ti(a,34963,this.o);f=this.qf(p,a,e,f);var Ra=zh(this.Gb);Fh(Ra,2/(c*e[0]),2/(c*e[1]));Eh(Ra,-d);Gh(Ra,-(b[0]-this.origin[0]),-(b[1]-this.origin[1]));b=zh(this.yb);Fh(b,2/e[0],2/e[1]);e=zh(this.Va);d&&Eh(e,-d);p.uniformMatrix4fv(f.g,!1,ri(this.Ja,Ra));p.uniformMatrix4fv(f.i,!1,ri(this.Ja,b));p.uniformMatrix4fv(f.c,!1,ri(this.Ja,e));p.uniform1f(f.a,g);var ra;l?(m?a=this.ve(p,a,h,l,n):(p.clear(p.COLOR_BUFFER_BIT|\np.DEPTH_BUFFER_BIT),this.Pd(p,a,h,!0),a=(a=l(null))?a:void 0),ra=a):this.Pd(p,a,h,!1);this.rf(p,f);this.j&&(q||p.disable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilFunc(r,x,v),p.stencilMask(y),p.stencilOp(A,aa,B));return ra};function ui(a,b,c,d){a.drawElements(4,d-c,b.f?5125:5123,c*(b.f?4:2))};var vi=[0,0,0,1],wi=[],xi=[0,0,0,1];function yi(a,b,c,d,e,f){a=(c-a)*(f-b)-(e-a)*(d-b);return a<=zi&&a>=-zi?void 0:0h;h+=d)this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=0,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=1,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+1],this.a[e++]=2,this.a[e++]=this.A,this.a[e++]=c[h],this.a[e++]=c[h+\n1],this.a[e++]=3,this.a[e++]=this.A,this.b[f++]=g,this.b[f++]=g+1,this.b[f++]=g+2,this.b[f++]=g+2,this.b[f++]=g+3,this.b[f++]=g,g+=4}else this.c.s&&(this.l.pop(),this.l.length&&(d=this.l[this.l.length-1],this.c.fillColor=d[0],this.c.strokeColor=d[1],this.c.lineWidth=d[2],this.c.s=!1))};k.Bb=function(){this.u=new Ai(this.a);this.o=new Ai(this.b);this.g.push(this.b.length);!this.O.length&&0=g;)m=this.g[l],h=this.f[l],h=w(h).toString(),c[h]&&(e!==f&&ui(a,b,e,f),f=m),l--,e=m;e!==f&&ui(a,b,e,f);e=f=g}}};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.O.length-1;0<=f;--f)for(g=this.l[f],a.uniform4fv(this.v.G,g[0]),Fi(this,a,g[1],g[2]),l=this.O[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};function Fi(a,b,c,d){b.uniform4fv(a.v.Z,c);b.uniform1f(a.v.qa,d)}\nk.Na=function(a,b){var c,d;b?(c=b.g,this.c.lineDash=c?c:wi,c=b.f,this.c.lineDashOffset=c?c:0,c=b.a,c instanceof CanvasGradient||c instanceof CanvasPattern?c=xi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||xi,d=b.c,d=void 0!==d?d:1):(c=[0,0,0,0],d=0);var e=a?a.b:[0,0,0,0];e instanceof CanvasGradient||e instanceof CanvasPattern?e=vi:e=bd(e).map(function(a,b){return 3!=b?a/255:a})||vi;this.c.strokeColor&&ja(this.c.strokeColor,c)&&this.c.fillColor&&ja(this.c.fillColor,e)&&this.c.lineWidth===d||(this.c.s=\n!0,this.c.fillColor=e,this.c.strokeColor=c,this.c.lineWidth=d,this.l.push([e,c,d]))};function Gi(){this.b=\"precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(Gi,ji);var Hi=new Gi;\nfunction Ii(){this.b=\"varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}\"}u(Ii,ki);var Ji=new Ii;\nfunction Ki(a,b){this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"k\");this.g=a.getUniformLocation(b,\"h\");this.u=a.getAttribLocation(b,\"e\");this.v=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"c\");this.A=a.getAttribLocation(b,\"g\");this.C=a.getAttribLocation(b,\"d\")};function Li(a,b){this.j=a;this.b=b;this.a={};this.c={};this.g={};this.o=this.u=this.i=this.l=null;(this.f=fa(da,\"OES_element_index_uint\"))&&b.getExtension(\"OES_element_index_uint\");z(this.j,\"webglcontextlost\",this.No,this);z(this.j,\"webglcontextrestored\",this.Oo,this)}u(Li,Jc);\nfunction ti(a,b,c){var d=a.b,e=c.b,f=String(w(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.f?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,c.a);a.a[f]={nc:c,buffer:g}}}function Di(a,b){var c=a.b,d=String(w(b)),e=a.a[d];c.isContextLost()||c.deleteBuffer(e.buffer);delete a.a[d]}k=Li.prototype;\nk.ra=function(){Ic(this.j);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.g)a.deleteProgram(this.g[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.i);a.deleteRenderbuffer(this.o);a.deleteTexture(this.u)}};k.Mo=function(){return this.b};\nfunction Mi(a){if(!a.i){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=Ni(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.i=c;\na.u=d;a.o=e}return a.i}function Oi(a,b){var c=String(w(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.S());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function Ei(a,b,c){var d=w(b)+\"/\"+w(c);if(d in a.g)return a.g[d];var e=a.b,f=e.createProgram();e.attachShader(f,Oi(a,b));e.attachShader(f,Oi(a,c));e.linkProgram(f);return a.g[d]=f}k.No=function(){rb(this.a);rb(this.c);rb(this.g);this.o=this.u=this.i=this.l=null};k.Oo=function(){};\nk.Vc=function(a){if(a==this.l)return!1;this.b.useProgram(a);this.l=a;return!0};function Pi(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function Ni(a,b,c){var d=Pi(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}\nfunction Qi(a,b){var c=Pi(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function Ri(a,b){si.call(this,0,b);this.G=this.C=void 0;this.A=[];this.v=[];this.ta=void 0;this.l=[];this.c=[];this.Z=this.I=void 0;this.qa=null;this.na=this.mb=this.fa=this.ea=this.T=this.$a=void 0;this.Ha=[];this.O=[];this.$b=void 0}u(Ri,si);k=Ri.prototype;k.Cb=function(a){var b=this.u,c=this.o,d=this.Ha,e=this.O,f=a.b;return function(){if(!f.isContextLost()){var g,h;g=0;for(h=d.length;g=g;){h=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,h,l),l=d(m)))return l;l=h;p--}};\nk.Wb=function(a){var b=a.Jc(),c=a.Y(1),d=a.ye(),e=a.kg(1),f=a.f,g=a.Tc(),h=a.o,l=a.j,m=a.kc();a=a.c;var n;this.l.length?(n=this.l[this.l.length-1],w(n)!=w(c)&&(this.A.push(this.b.length),this.l.push(c))):this.l.push(c);this.c.length?(n=this.c[this.c.length-1],w(n)!=w(e)&&(this.v.push(this.b.length),this.c.push(e))):this.c.push(e);this.C=b[0];this.G=b[1];this.ta=m[1];this.I=d[1];this.Z=d[0];this.$a=f;this.T=g[0];this.ea=g[1];this.mb=l;this.fa=h;this.na=a;this.$b=m[0]};function Ui(a,b,c){var d=b-c;return a[0]===a[d]&&a[1]===a[d+1]&&3<(b-0)/c?!!sf(a,0,b,c):!1};function Vi(){this.b=\"precision mediump float;varying float a;varying vec2 b;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((b.x+1.0)/2.0*o.x*p,(b.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(Vi,ji);var Wi=new Vi;\nfunction Xi(){this.b=\"varying float a;varying vec2 b;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;b=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}\"}\nu(Xi,ki);var Yi=new Xi;function Zi(a,b){this.G=a.getUniformLocation(b,\"n\");this.qa=a.getUniformLocation(b,\"k\");this.Z=a.getUniformLocation(b,\"l\");this.c=a.getUniformLocation(b,\"j\");this.i=a.getUniformLocation(b,\"i\");this.a=a.getUniformLocation(b,\"m\");this.ta=a.getUniformLocation(b,\"p\");this.g=a.getUniformLocation(b,\"h\");this.I=a.getUniformLocation(b,\"o\");this.f=a.getAttribLocation(b,\"g\");this.l=a.getAttribLocation(b,\"d\");this.o=a.getAttribLocation(b,\"f\");this.b=a.getAttribLocation(b,\"e\")};function $i(a,b){si.call(this,0,b);this.v=null;this.O=[];this.l=[];this.c={strokeColor:null,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0,s:!1}}u($i,si);\nfunction aj(a,b,c,d){var e,f=a.a.length,g=a.b.length,h=\"bevel\"===a.c.lineJoin?0:\"miter\"===a.c.lineJoin?1:2,l=\"butt\"===a.c.lineCap?0:\"square\"===a.c.lineCap?1:2,m=Ui(b,c,d),n,p,q,r=g,v=1,x,y,A;for(e=0;ec&&(this.g.push(c),this.f.push(b),this.c.s&&(this.l.push(c),this.c.s=!1))};\nfunction lj(a,b,c,d){Ui(b,b.length,d)||(b.push(b[0]),b.push(b[1]));aj(a,b,b.length,d);if(c.length){var e;b=0;for(e=c.length;b=m;)q=this.g[p],\nn=this.f[p],n=w(n).toString(),c[n]&&(h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT)),l=q),p--,h=q;h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT));h=l=m}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.l.length-1;0<=f;--f)for(g=this.O[f],nj(this,a,g[0],g[1],g[2]),l=this.l[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};function nj(a,b,c,d,e){b.uniform4fv(a.v.G,c);b.uniform1f(a.v.qa,d);b.uniform1f(a.v.Z,e)}\nk.Na=function(a,b){var c=b.i;this.c.lineCap=void 0!==c?c:\"round\";c=b.g;this.c.lineDash=c?c:wi;c=b.f;this.c.lineDashOffset=c?c:0;c=b.j;this.c.lineJoin=void 0!==c?c:\"round\";c=b.a;c instanceof CanvasGradient||c instanceof CanvasPattern?c=xi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||xi;var d=b.c,d=void 0!==d?d:1,e=b.l,e=void 0!==e?e:10;this.c.strokeColor&&ja(this.c.strokeColor,c)&&this.c.lineWidth===d&&this.c.miterLimit===e||(this.c.s=!0,this.c.strokeColor=c,this.c.lineWidth=d,this.c.miterLimit=\ne,this.O.push([c,d,e]))};var fj=3,cj=5,ej=7,dj=11,gj=13,hj=17,ij=19,jj=23;function oj(){this.b=\"precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}\"}u(oj,ji);var pj=new oj;function qj(){this.b=\"attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}\"}u(qj,ki);var rj=new qj;\nfunction sj(a,b){this.G=a.getUniformLocation(b,\"e\");this.c=a.getUniformLocation(b,\"d\");this.i=a.getUniformLocation(b,\"c\");this.a=a.getUniformLocation(b,\"f\");this.g=a.getUniformLocation(b,\"b\");this.b=a.getAttribLocation(b,\"a\")};function tj(a){a=a||{};this.a=void 0!==a.color?a.color:null;this.i=a.lineCap;this.g=void 0!==a.lineDash?a.lineDash:null;this.f=a.lineDashOffset;this.j=a.lineJoin;this.l=a.miterLimit;this.c=a.width;this.b=void 0}k=tj.prototype;k.clone=function(){var a=this.a;return new tj({color:a&&a.slice?a.slice():a||void 0,lineCap:this.i,lineDash:this.g?this.g.slice():void 0,lineDashOffset:this.f,lineJoin:this.j,miterLimit:this.l,width:this.c})};k.Do=function(){return this.a};k.Qk=function(){return this.i};\nk.Eo=function(){return this.g};k.Rk=function(){return this.f};k.Sk=function(){return this.j};k.Xk=function(){return this.l};k.Fo=function(){return this.c};k.Go=function(a){this.a=a;this.b=void 0};k.Rp=function(a){this.i=a;this.b=void 0};k.setLineDash=function(a){this.g=a;this.b=void 0};k.Sp=function(a){this.f=a;this.b=void 0};k.Tp=function(a){this.j=a;this.b=void 0};k.Wp=function(a){this.l=a;this.b=void 0};k.Zp=function(a){this.c=a;this.b=void 0};function uj(a){this.b=this.a=this.g=void 0;this.i=void 0===a?!0:a;this.c=0}function vj(a){var b=a.b;if(b){var c=b.next,d=b.ub;c&&(c.ub=d);d&&(d.next=c);a.b=c||d;a.g===a.a?(a.b=void 0,a.g=void 0,a.a=void 0):a.g===b?a.g=a.b:a.a===b&&(a.a=d?a.b.ub:a.b);a.c--}}function wj(a){a.b=a.g;if(a.b)return a.b.data}function xj(a){if(a.b&&a.b.next)return a.b=a.b.next,a.b.data}function yj(a){if(a.b&&a.b.next)return a.b.next.data}function zj(a){if(a.b&&a.b.ub)return a.b=a.b.ub,a.b.data}\nfunction Aj(a){if(a.b&&a.b.ub)return a.b.ub.data}function Bj(a){if(a.b)return a.b.data}uj.prototype.concat=function(a){if(a.b){if(this.b){var b=this.b.next;this.b.next=a.g;a.g.ub=this.b;b.ub=a.a;a.a.next=b;this.c+=a.c}else this.b=a.b,this.g=a.g,this.a=a.a,this.c=a.c;a.b=void 0;a.g=void 0;a.a=void 0;a.c=0}};var Cj,Dj,Ej,Fj;\n(function(){var a={},b={ma:a};(function(c){if(\"object\"===typeof a&&\"undefined\"!==typeof b)b.ma=c();else{var d;\"undefined\"!==typeof window?d=window:\"undefined\"!==typeof global?d=global:\"undefined\"!==typeof self?d=self:d=this;d.Dq=c()}})(function(){return function d(a,b,g){function e(h,l){if(!b[h]){if(!a[h]){var m=\"function\"==typeof require&&require;if(!l&&m)return m(h,!0);if(f)return f(h,!0);m=Error(\"Cannot find module '\"+h+\"'\");throw m.code=\"MODULE_NOT_FOUND\",m;}m=b[h]={ma:{}};a[h][0].call(m.ma,function(b){var d=\na[h][1][b];return e(d?d:b)},m,m.ma,d,a,b,g)}return b[h].ma}for(var f=\"function\"==typeof require&&require,m=0;mf;){if(600m-l/2?-1:1);d(a,b,Math.max(f,Math.floor(b-m*n/l+p)),Math.min(g,Math.floor(b+(l-m)*n/l+p)),q)}l=a[b];m=f;n=g;e(a,f,b);for(0q(a[m],l);)m++;\nfor(;0b?1:0}b.ma=d},{}],2:[function(a,b){function d(a,b){if(!(this instanceof d))return new d(a,b);this.Df=Math.max(4,a||9);this.Xg=Math.max(2,Math.ceil(.4*this.Df));b&&this.ak(b);this.clear()}function e(a,b){h(a,0,a.children.length,b,a)}function h(a,b,d,e,f){f||(f=x(null));f.da=Infinity;f.ga=Infinity;f.ba=-Infinity;f.ja=-Infinity;for(var g;b<\nd;b++)g=a.children[b],l(f,a.gb?e(g):g);return f}function l(a,b){a.da=Math.min(a.da,b.da);a.ga=Math.min(a.ga,b.ga);a.ba=Math.max(a.ba,b.ba);a.ja=Math.max(a.ja,b.ja)}function m(a,b){return a.da-b.da}function n(a,b){return a.ga-b.ga}function p(a){return(a.ba-a.da)*(a.ja-a.ga)}function q(a){return a.ba-a.da+(a.ja-a.ga)}function r(a,b){return a.da<=b.da&&a.ga<=b.ga&&b.ba<=a.ba&&b.ja<=a.ja}function v(a,b){return b.da<=a.ba&&b.ga<=a.ja&&b.ba>=a.da&&b.ja>=a.ga}function x(a){return{children:a,height:1,gb:!0,\nda:Infinity,ga:Infinity,ba:-Infinity,ja:-Infinity}}function y(a,b,d,e,f){for(var g=[b,d],h;g.length;)d=g.pop(),b=g.pop(),d-b<=e||(h=b+Math.ceil((d-b)/e/2)*e,A(a,h,b,d,f),g.push(b,h,h,d))}b.ma=d;var A=a(\"quickselect\");d.prototype={all:function(){return this.Sg(this.data,[])},search:function(a){var b=this.data,d=[],e=this.xb;if(!v(a,b))return d;for(var f=[],g,h,l,m;b;){g=0;for(h=b.children.length;gthis.Df)this.fk(e,b),b--;else break;this.Vj(d,\ne,b)},fk:function(a,b){var d=a[b],f=d.children.length,g=this.Xg;this.Wj(d,g,f);f=this.Xj(d,g,f);f=x(d.children.splice(f,d.children.length-f));f.height=d.height;f.gb=d.gb;e(d,this.xb);e(f,this.xb);b?a[b-1].children.push(f):this.Zg(d,f)},Zg:function(a,b){this.data=x([a,b]);this.data.height=a.height+1;this.data.gb=!1;e(this.data,this.xb)},Xj:function(a,b,d){var e,f,g,l,m,n,q;m=n=Infinity;for(e=b;e<=d-b;e++)f=h(a,0,e,this.xb),g=h(a,e,d,this.xb),l=Math.max(0,Math.min(f.ba,g.ba)-Math.max(f.da,g.da))*Math.max(0,\nMath.min(f.ja,g.ja)-Math.max(f.ga,g.ga)),f=p(f)+p(g),l=b;n--)p=a.children[n],l(g,a.gb?e(p):p),m+=q(g);return m},Vj:function(a,b,d){for(;0<=d;d--)l(b[d],a)},\nZj:function(a){for(var b=a.length-1,d;0<=b;b--)0===a[b].children.length?0f?b[g]:f,n=p;else for(g=b.length-c,n=m=Sj(a,b[g],b[g+1],l++),f=b[g],g-=c,h=0;g>=h;g-=c)p=Sj(a,b[g],b[g+1],l++),r.push(Tj(n,p,d)),q.push([Math.min(n.x,p.x),Math.min(n.y,p.y),Math.max(n.x,p.x),Math.max(n.y,p.y)]),f=b[g]>f?b[g]:\nf,n=p;r.push(Tj(p,m,d));q.push([Math.min(n.x,p.x),Math.min(n.y,p.y),Math.max(n.x,p.x),Math.max(n.y,p.y)]);e.load(q,r);return f}function Qj(a,b,c){var d=wj(a),e=d,f=xj(a),g=!1;do{var h=c?yi(f.X.x,f.X.y,e.X.x,e.X.y,e.aa.x,e.aa.y):yi(e.aa.x,e.aa.y,e.X.x,e.X.y,f.X.x,f.X.y);void 0===h?(Uj(e,f,a,b),g=!0,f===d&&(d=yj(a)),f=e,zj(a)):e.X.vb!==h&&(e.X.vb=h,g=!0);e=f;f=xj(a)}while(e!==d);return g}\nfunction Pj(a,b,c,d,e){Qj(a,e,!0);for(var f=wj(a);f.X.x!==b;)f=xj(a);b=f.X;d={x:d,y:b.y,fb:-1};var g=Infinity,h,l,m,n;m=Vj({aa:b,X:d},e,!0);h=0;for(l=m.length;hzi&&d<1-zi&&c>zi&&c<1-zi||e&&0<=d&&1>=d&&0<=c&&1>=c))return[a.x+d*(b.x-a.x),a.y+d*(b.y-a.y)]}\nfunction bk(a,b,c,d,e){if(void 0===b.vb||void 0===d.vb)return!1;var f=(c.x-d.x)*(b.y-d.y)>(c.y-d.y)*(b.x-d.x);e=(e.x-d.x)*(b.y-d.y)<(e.y-d.y)*(b.x-d.x);a=(a.x-b.x)*(d.y-b.y)>(a.y-b.y)*(d.x-b.x);c=(c.x-b.x)*(d.y-b.y)<(c.y-b.y)*(d.x-b.x);b=b.vb?c||a:c&&a;return(d.vb?e||f:e&&f)&&b}k=Mj.prototype;\nk.rc=function(a,b){var c=a.md(),d=a.sa(),e=this.b.length,f=this.j.b.length,g,h,l,m;g=0;for(h=c.length;ge&&(this.g.push(e),this.f.push(b),this.l.s&&(this.c.push(e),this.l.s=!1));this.j.b.length>f&&mj(this.j,b,f)};\nk.tc=function(a,b){var c=a.Oc(),d=a.sa();if(0=m;)q=this.g[p],n=this.f[p],n=w(n).toString(),\nc[n]&&(h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT)),l=q),p--,h=q;h!==l&&(ui(a,b,h,l),a.clear(a.DEPTH_BUFFER_BIT));h=l=m}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))};\nk.ve=function(a,b,c,d,e){var f,g,h,l,m,n,p;p=this.g.length-2;h=this.g[p+1];for(f=this.c.length-1;0<=f;--f)for(g=this.O[f],a.uniform4fv(this.v.G,g),l=this.c[f];0<=p&&this.g[p]>=l;){g=this.g[p];m=this.f[p];n=w(m).toString();if(void 0===c[n]&&m.U()&&(void 0===e||nb(e,m.U().D()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),ui(a,b,g,h),h=d(m)))return h;p--;h=g}};\nk.Na=function(a,b){var c=a?a.b:[0,0,0,0];c instanceof CanvasGradient||c instanceof CanvasPattern?c=vi:c=bd(c).map(function(a,b){return 3!=b?a/255:a})||vi;this.l.fillColor&&ja(c,this.l.fillColor)||(this.l.fillColor=c,this.l.s=!0,this.O.push(c));b?this.j.Na(null,b):this.j.Na(null,new tj({color:[0,0,0,0],lineWidth:0}))};function ck(){}ck.prototype.i=function(){};function dk(a,b,c){this.f=b;this.j=a;this.c=c;this.a={}}u(dk,hi);function ek(a,b){var c=[],d;for(d in a.a){var e=a.a[d],f;for(f in e)c.push(e[f].Cb(b))}return function(){for(var a=c.length,b,d=0;dd?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||\n(c=a.$().za(),c=a.Ka(c),b=[c[0]+b[0],c[1]+b[1]],a.$().animate({center:a.Xa(b),duration:this.j.duration,easing:this.j.easing}))}}};k.Ll=function(){yk(this)};k.gj=function(a){this.set(tk,a)};k.setMap=function(a){this.set(uk,a)};k.nj=function(a){this.set(vk,a)};k.Me=function(a){this.set(wk,a)};function zk(a,b){var c=a.getBoundingClientRect(),d=c.left+window.pageXOffset,c=c.top+window.pageYOffset;return[d,c,d+b[0],c+b[1]]}k.qj=function(a){this.set(xk,a)};\nfunction Ak(a,b){a.a.visible!==b&&(a.c.style.display=b?\"\":\"none\",a.a.visible=b)}\nfunction yk(a){var b=a.Le(),c=a.Rh();if(b&&b.a&&c){var c=b.Ka(c),d=b.Nb(),b=a.c.style,e=a.wh(),f=a.xh();Ak(a,!0);var g=e[0],e=e[1];if(\"bottom-right\"==f||\"center-right\"==f||\"top-right\"==f)\"\"!==a.a.He&&(a.a.He=b.left=\"\"),g=Math.round(d[0]-c[0]-g)+\"px\",a.a.lf!=g&&(a.a.lf=b.right=g);else{\"\"!==a.a.lf&&(a.a.lf=b.right=\"\");if(\"bottom-center\"==f||\"center-center\"==f||\"top-center\"==f)g-=a.c.offsetWidth/2;g=Math.round(c[0]+g)+\"px\";a.a.He!=g&&(a.a.He=b.left=g)}if(\"bottom-left\"==f||\"bottom-center\"==f||\"bottom-right\"==\nf)\"\"!==a.a.uf&&(a.a.uf=b.top=\"\"),c=Math.round(d[1]-c[1]-e)+\"px\",a.a.re!=c&&(a.a.re=b.bottom=c);else{\"\"!==a.a.re&&(a.a.re=b.bottom=\"\");if(\"center-left\"==f||\"center-center\"==f||\"center-right\"==f)e-=a.c.offsetHeight/2;c=Math.round(c[1]+e)+\"px\";a.a.uf!=c&&(a.a.uf=b.top=c)}}else Ak(a,!1)}var tk=\"element\",uk=\"map\",vk=\"offset\",wk=\"position\",xk=\"positioning\";function Bk(a){function b(a){a=h.Of(a);l.a.$().lb(a);window.removeEventListener(\"mousemove\",c);window.removeEventListener(\"mouseup\",b)}function c(a){a=h.Of({clientX:a.clientX-n.offsetWidth/2,clientY:a.clientY+n.offsetHeight/2});m.Me(a)}a=a?a:{};this.j=void 0!==a.collapsed?a.collapsed:!0;this.l=void 0!==a.collapsible?a.collapsible:!0;this.l||(this.j=!1);var d=void 0!==a.className?a.className:\"ol-overviewmap\",e=void 0!==a.tipLabel?a.tipLabel:\"Overview map\",f=void 0!==a.collapseLabel?a.collapseLabel:\n\"\\u00ab\";\"string\"===typeof f?(this.v=document.createElement(\"span\"),this.v.textContent=f):this.v=f;f=void 0!==a.label?a.label:\"\\u00bb\";\"string\"===typeof f?(this.A=document.createElement(\"span\"),this.A.textContent=f):this.A=f;var g=this.l&&!this.j?this.v:this.A,f=document.createElement(\"button\");f.setAttribute(\"type\",\"button\");f.title=e;f.appendChild(g);z(f,\"click\",this.Vm,this);this.C=document.createElement(\"DIV\");this.C.className=\"ol-overviewmap-map\";var h=this.c=new H({controls:new D,interactions:new D,\nview:a.view});a.layers&&a.layers.forEach(function(a){h.$g(a)},this);e=document.createElement(\"DIV\");e.className=\"ol-overviewmap-box\";e.style.boxSizing=\"border-box\";this.o=new sk({position:[0,0],positioning:\"bottom-left\",element:e});this.c.ah(this.o);e=document.createElement(\"div\");e.className=d+\" ol-unselectable ol-control\"+(this.j&&this.l?\" ol-collapsed\":\"\")+(this.l?\"\":\" ol-uncollapsible\");e.appendChild(this.C);e.appendChild(f);kd.call(this,{element:e,render:a.render?a.render:Ck,target:a.target});\nvar l=this,m=this.o,n=this.o.Rd();n.addEventListener(\"mousedown\",function(){window.addEventListener(\"mousemove\",c);window.addEventListener(\"mouseup\",b)})}u(Bk,kd);k=Bk.prototype;k.setMap=function(a){var b=this.a;a!==b&&(b&&((b=b.$())&&Hc(b,Sc(\"rotation\"),this.Fe,this),this.c.Ke(null)),kd.prototype.setMap.call(this,a),a&&(this.c.Ke(this.C),this.u.push(z(a,\"propertychange\",this.Fl,this)),this.c.Qh().fc()||this.c.lj(a.Mc()),a=a.$()))&&(z(a,Sc(\"rotation\"),this.Fe,this),hg(a)&&(this.c.Cd(),Dk(this)))};\nk.Fl=function(a){\"view\"===a.key&&((a=a.oldValue)&&Hc(a,Sc(\"rotation\"),this.Fe,this),a=this.a.$(),z(a,Sc(\"rotation\"),this.Fe,this))};k.Fe=function(){this.c.$().Ne(this.a.$().Sa())};function Ck(){var a=this.a,b=this.c;if(a.a&&b.a){var c=a.Nb(),a=a.$().hd(c),d=b.Nb(),c=b.$().hd(d),e=b.Ka(fb(a)),f=b.Ka(db(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?Dk(this):Ua(c,a)||(a=this.c,c=this.a.$(),a.$().lb(c.za()))}Ek(this)}\nfunction Dk(a){var b=a.a;a=a.c;var c=b.Nb(),b=b.$().hd(c);a=a.$();ob(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.Mf(b)}function Ek(a){var b=a.a,c=a.c;if(b.a&&c.a){var d=b.Nb(),e=b.$(),f=c.$(),c=e.Sa(),b=a.o,g=a.o.Rd(),h=e.hd(d),d=f.Ra(),e=cb(h),f=eb(h),l;if(a=a.a.$().za())l=[e[0]-a[0],e[1]-a[1]],cf(l,c),Xe(l,a);b.Me(l);g&&(g.style.width=Math.abs((e[0]-f[0])/d)+\"px\",g.style.height=Math.abs((f[1]-e[1])/d)+\"px\")}}k.Vm=function(a){a.preventDefault();Fk(this)};\nfunction Fk(a){a.element.classList.toggle(\"ol-collapsed\");a.j?id(a.v,a.A):id(a.A,a.v);a.j=!a.j;var b=a.c;a.j||b.a||(b.Cd(),Dk(a),Gc(b,\"postrender\",function(){Ek(this)},a))}k.Um=function(){return this.l};k.Xm=function(a){this.l!==a&&(this.l=a,this.element.classList.toggle(\"ol-uncollapsible\"),!a&&this.j&&Fk(this))};k.Wm=function(a){this.l&&this.j!==a&&Fk(this)};k.Tm=function(){return this.j};k.bl=function(){return this.c};function Gk(a){a=a?a:{};var b=void 0!==a.className?a.className:\"ol-scale-line\";this.l=document.createElement(\"DIV\");this.l.className=b+\"-inner\";this.c=document.createElement(\"DIV\");this.c.className=b+\" ol-unselectable\";this.c.appendChild(this.l);this.v=null;this.o=void 0!==a.minWidth?a.minWidth:64;this.j=!1;this.C=void 0;this.A=\"\";kd.call(this,{element:this.c,render:a.render?a.render:Hk,target:a.target});z(this,Sc(Ik),this.I,this);this.G(a.units||\"metric\")}u(Gk,kd);var Jk=[1,2,5];\nGk.prototype.Kb=function(){return this.get(Ik)};function Hk(a){(a=a.frameState)?this.v=a.viewState:this.v=null;Kk(this)}Gk.prototype.I=function(){Kk(this)};Gk.prototype.G=function(a){this.set(Ik,a)};\nfunction Kk(a){var b=a.v;if(b){var c=b.projection,d=c.uc(),b=Rb(c,b.resolution,b.center)*d,d=a.o*b,c=\"\",e=a.Kb();\"degrees\"==e?(c=xb.degrees,b/=c,dd?(c=\"in\",b/=.0254):1609.344>d?(c=\"ft\",b/=.3048):(c=\"mi\",b/=1609.344):\"nautical\"==e?(b/=1852,c=\"nm\"):\"metric\"==e?.001>d?(c=\"\\u03bcm\",b*=1E6):1>d?(c=\"mm\",b*=1E3):1E3>d?c=\"m\":(c=\"km\",b/=1E3):\"us\"==e?.9144>d?(c=\"in\",b*=39.37):1609.344>d?(c=\"ft\",b/=.30480061):(c=\"mi\",b/=1609.3472):\nsa(!1,33);for(var e=3*Math.floor(Math.log(a.o*b)/Math.log(10)),f;;){f=Jk[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.c.style.display=\"none\";a.j=!1;return}if(d>=a.o)break;++e}b=f+\" \"+c;a.A!=b&&(a.l.innerHTML=b,a.A=b);a.C!=d&&(a.l.style.width=d+\"px\",a.C=d);a.j||(a.c.style.display=\"\",a.j=!0)}else a.j&&(a.c.style.display=\"none\",a.j=!1)}var Ik=\"units\";function Lk(a){a=a?a:{};this.c=void 0;this.j=Mk;this.A=this.o=0;this.I=null;this.ea=!1;this.T=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:\"ol-zoomslider\",c=document.createElement(\"button\");c.setAttribute(\"type\",\"button\");c.className=b+\"-thumb ol-unselectable\";var d=document.createElement(\"div\");d.className=b+\" ol-unselectable ol-control\";d.appendChild(c);this.l=new Ae(d);z(this.l,\"pointerdown\",this.tl,this);z(this.l,\"pointermove\",this.rl,this);z(this.l,\"pointerup\",this.sl,\nthis);z(d,\"click\",this.ql,this);z(c,\"click\",Mc);kd.call(this,{element:d,render:a.render?a.render:Nk})}u(Lk,kd);Lk.prototype.ra=function(){Kc(this.l);kd.prototype.ra.call(this)};var Mk=0;k=Lk.prototype;k.setMap=function(a){kd.prototype.setMap.call(this,a);a&&a.render()};\nfunction Nk(a){if(a.frameState){if(!this.ea){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.I=[b,e];c>d?(this.j=1,this.A=c-b):(this.j=Mk,this.o=d-e);this.ea=!0}a=a.frameState.viewState.resolution;a!==this.c&&(this.c=a,Ok(this,a))}}\nk.ql=function(a){var b=this.a.$();a=Pk(this,xa(1===this.j?(a.offsetX-this.I[0]/2)/this.A:(a.offsetY-this.I[1]/2)/this.o,0,1));b.animate({resolution:b.constrainResolution(a),duration:this.T,easing:pd})};k.tl=function(a){this.v||a.b.target!==this.element.firstElementChild||($f(this.a.$(),1,1),this.C=a.clientX,this.G=a.clientY,this.v=!0)};\nk.rl=function(a){if(this.v){var b=this.element.firstElementChild;this.c=Pk(this,xa(1===this.j?(a.clientX-this.C+parseInt(b.style.left,10))/this.A:(a.clientY-this.G+parseInt(b.style.top,10))/this.o,0,1));this.a.$().$c(this.c);Ok(this,this.c);this.C=a.clientX;this.G=a.clientY}};k.sl=function(){if(this.v){var a=this.a.$();$f(a,1,-1);a.animate({resolution:a.constrainResolution(this.c),duration:this.T,easing:pd});this.v=!1;this.G=this.C=void 0}};\nfunction Ok(a,b){var c;c=1-gg(a.a.$())(b);var d=a.element.firstElementChild;1==a.j?d.style.left=a.A*c+\"px\":d.style.top=a.o*c+\"px\"}function Pk(a,b){return fg(a.a.$())(1-b)};function Qk(a){a=a?a:{};this.c=a.extent?a.extent:null;var b=void 0!==a.className?a.className:\"ol-zoom-extent\",c=void 0!==a.label?a.label:\"E\",d=void 0!==a.tipLabel?a.tipLabel:\"Fit to extent\",e=document.createElement(\"button\");e.setAttribute(\"type\",\"button\");e.title=d;e.appendChild(\"string\"===typeof c?document.createTextNode(c):c);z(e,\"click\",this.j,this);c=document.createElement(\"div\");c.className=b+\" ol-unselectable ol-control\";c.appendChild(e);kd.call(this,{element:c,target:a.target})}u(Qk,kd);\nQk.prototype.j=function(a){a.preventDefault();a=this.a.$();var b=this.c?this.c:a.o.D();a.Mf(b)};function Rk(a){Qc.call(this);a=a?a:{};this.a=null;z(this,Sc(Sk),this.rm,this);this.bg(void 0!==a.tracking?a.tracking:!1)}u(Rk,Qc);k=Rk.prototype;k.ra=function(){this.bg(!1);Qc.prototype.ra.call(this)};\nk.Ro=function(a){if(null!==a.alpha){var b=Ca(a.alpha);this.set(Tk,b);\"boolean\"===typeof a.absolute&&a.absolute?this.set(Uk,b):\"number\"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set(Uk,Ca(a.webkitCompassHeading))}null!==a.beta&&this.set(Vk,Ca(a.beta));null!==a.gamma&&this.set(Wk,Ca(a.gamma));this.s()};k.Bk=function(){return this.get(Tk)};k.Ek=function(){return this.get(Vk)};k.Kk=function(){return this.get(Wk)};k.qm=function(){return this.get(Uk)};k.Mh=function(){return this.get(Sk)};\nk.rm=function(){if(Wd){var a=this.Mh();a&&!this.a?this.a=z(window,\"deviceorientation\",this.Ro,this):a||null===this.a||(Bc(this.a),this.a=null)}};k.bg=function(a){this.set(Sk,a)};var Tk=\"alpha\",Vk=\"beta\",Wk=\"gamma\",Uk=\"heading\",Sk=\"tracking\";function Xk(a){this.f=a.opacity;this.o=a.rotateWithView;this.j=a.rotation;this.c=a.scale;this.u=a.snapToPixel}k=Xk.prototype;k.Ye=function(){return this.f};k.Ze=function(){return this.o};k.$e=function(){return this.j};k.af=function(){return this.c};k.ze=function(){return this.u};k.vd=function(a){this.f=a};k.bf=function(a){this.j=a};k.wd=function(a){this.c=a};function Yk(a){this.A=this.v=this.i=null;this.Wa=void 0!==a.fill?a.fill:null;this.qa=[0,0];this.b=a.points;this.a=void 0!==a.radius?a.radius:a.radius1;this.g=void 0!==a.radius2?a.radius2:this.a;this.l=void 0!==a.angle?a.angle:0;this.Za=void 0!==a.stroke?a.stroke:null;this.G=this.ta=this.C=null;this.O=a.atlasManager;Zk(this,this.O);Xk.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?\na.snapToPixel:!0})}u(Yk,Xk);k=Yk.prototype;k.clone=function(){var a=new Yk({fill:this.Ca()?this.Ca().clone():void 0,points:this.g!==this.a?this.b/2:this.b,radius:this.a,radius2:this.g,angle:this.l,snapToPixel:this.u,stroke:this.Da()?this.Da().clone():void 0,rotation:this.j,rotateWithView:this.o,atlasManager:this.O});a.vd(this.f);a.wd(this.c);return a};k.Jc=function(){return this.C};k.Ji=function(){return this.l};k.Ca=function(){return this.Wa};k.kg=function(){return this.A};k.Y=function(){return this.v};\nk.ye=function(){return this.G};k.Xe=function(){return 2};k.Tc=function(){return this.qa};k.Ki=function(){return this.b};k.Li=function(){return this.a};k.yh=function(){return this.g};k.kc=function(){return this.ta};k.Da=function(){return this.Za};k.Gh=function(){};k.load=function(){};k.xj=function(){};\nfunction Zk(a,b){var c,d=\"\",e=\"\",f=0,g=null,h,l=0;a.Za&&(h=a.Za.a,null===h&&(h=Rh),h=fd(h),l=a.Za.c,void 0===l&&(l=1),g=a.Za.g,Ud||(g=null),e=a.Za.j,void 0===e&&(e=\"round\"),d=a.Za.i,void 0===d&&(d=\"round\"),f=a.Za.l,void 0===f&&(f=10));var m=2*(a.a+l)+1,d={strokeStyle:h,vj:l,size:m,lineCap:d,lineDash:g,lineJoin:e,miterLimit:f};void 0===b?(e=hd(m,m),a.v=e.canvas,c=m=a.v.width,a.jh(d,e,0,0),a.Wa?a.A=a.v:(e=hd(d.size,d.size),a.A=e.canvas,a.ih(d,e,0,0))):(m=Math.round(m),(e=!a.Wa)&&(c=a.ih.bind(a,d)),\na.Za?(f=a.Za,void 0===f.b&&(f.b=\"s\",f.b=f.a?\"string\"===typeof f.a?f.b+f.a:f.b+w(f.a).toString():f.b+\"-\",f.b+=\",\"+(void 0!==f.i?f.i.toString():\"-\")+\",\"+(f.g?f.g.toString():\"-\")+\",\"+(void 0!==f.f?f.f:\"-\")+\",\"+(void 0!==f.j?f.j:\"-\")+\",\"+(void 0!==f.l?f.l.toString():\"-\")+\",\"+(void 0!==f.c?f.c.toString():\"-\")),f=f.b):f=\"-\",a.Wa?(g=a.Wa,void 0===g.a&&(g.a=g.b instanceof CanvasPattern||g.b instanceof CanvasGradient?w(g.b).toString():\"f\"+(g.b?dd(g.b):\"-\")),g=g.a):g=\"-\",a.i&&f==a.i[1]&&g==a.i[2]&&a.a==a.i[3]&&\na.g==a.i[4]&&a.l==a.i[5]&&a.b==a.i[6]||(a.i=[\"r\"+f+g+(void 0!==a.a?a.a.toString():\"-\")+(void 0!==a.g?a.g.toString():\"-\")+(void 0!==a.l?a.l.toString():\"-\")+(void 0!==a.b?a.b.toString():\"-\"),f,g,a.a,a.g,a.l,a.b]),d=b.add(a.i[0],m,m,a.jh.bind(a,d),c),a.v=d.image,a.qa=[d.offsetX,d.offsetY],c=d.image.width,a.A=e?d.Ul:a.v);a.C=[m/2,m/2];a.ta=[m,m];a.G=[c,c]}\nk.jh=function(a,b,c,d){var e;b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();if(Infinity===this.b)b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);else for(this.g!==this.a&&(this.b*=2),c=0;c<=this.b;c++)d=2*c*Math.PI/this.b-Math.PI/2+this.l,e=c%2?this.g:this.a,b.lineTo(a.size/2+e*Math.cos(d),a.size/2+e*Math.sin(d));this.Wa&&(c=this.Wa.b,null===c&&(c=Ph),b.fillStyle=fd(c),b.fill());this.Za&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.vj,a.lineDash&&b.setLineDash(a.lineDash),b.lineCap=a.lineCap,\nb.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};\nk.ih=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();if(Infinity===this.b)b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);else{this.g!==this.a&&(this.b*=2);var e;for(c=0;c<=this.b;c++)e=2*c*Math.PI/this.b-Math.PI/2+this.l,d=c%2?this.g:this.a,b.lineTo(a.size/2+d*Math.cos(e),a.size/2+d*Math.sin(e))}b.fillStyle=Ph;b.fill();this.Za&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.vj,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function $k(a){a=a||{};Yk.call(this,{points:Infinity,fill:a.fill,radius:a.radius,snapToPixel:a.snapToPixel,stroke:a.stroke,atlasManager:a.atlasManager})}u($k,Yk);$k.prototype.clone=function(){var a=new $k({fill:this.Ca()?this.Ca().clone():void 0,stroke:this.Da()?this.Da().clone():void 0,radius:this.a,snapToPixel:this.u,atlasManager:this.O});a.vd(this.f);a.wd(this.c);return a};$k.prototype.Zc=function(a){this.a=a;Zk(this,this.O)};function al(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}al.prototype.clone=function(){var a=this.b;return new al({color:a&&a.slice?a.slice():a||void 0})};al.prototype.g=function(){return this.b};al.prototype.c=function(a){this.b=a;this.a=void 0};function bl(a){a=a||{};this.Ic=null;this.Qa=cl;void 0!==a.geometry&&this.Ta(a.geometry);this.Wa=void 0!==a.fill?a.fill:null;this.N=void 0!==a.image?a.image:null;this.Za=void 0!==a.stroke?a.stroke:null;this.Fa=void 0!==a.text?a.text:null;this.Bj=a.zIndex}k=bl.prototype;\nk.clone=function(){var a=this.U();a&&a.clone&&(a=a.clone());return new bl({geometry:a,fill:this.Ca()?this.Ca().clone():void 0,image:this.Y()?this.Y().clone():void 0,stroke:this.Da()?this.Da().clone():void 0,text:this.Oa()?this.Oa().clone():void 0,zIndex:this.Aa()})};k.U=function(){return this.Ic};k.Lk=function(){return this.Qa};k.Ca=function(){return this.Wa};k.mf=function(a){this.Wa=a};k.Y=function(){return this.N};k.Hg=function(a){this.N=a};k.Da=function(){return this.Za};\nk.nf=function(a){this.Za=a};k.Oa=function(){return this.Fa};k.pf=function(a){this.Fa=a};k.Aa=function(){return this.Bj};k.Ta=function(a){\"function\"===typeof a?this.Qa=a:\"string\"===typeof a?this.Qa=function(b){return b.get(a)}:a?a&&(this.Qa=function(){return a}):this.Qa=cl;this.Ic=a};k.Xb=function(a){this.Bj=a};function dl(a){if(\"function\"!==typeof a){var b;Array.isArray(a)?b=a:(sa(a instanceof bl,41),b=[a]);a=function(){return b}}return a}var el=null;\nfunction fl(){if(!el){var a=new al({color:\"rgba(255,255,255,0.4)\"}),b=new tj({color:\"#3399CC\",width:1.25});el=[new bl({image:new $k({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return el}\nfunction gl(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new bl({fill:new al({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new bl({stroke:new tj({color:b,width:5})}),new bl({stroke:new tj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new bl({image:new $k({radius:6,fill:new al({color:c}),stroke:new tj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,\na.Point);return a}function cl(a){return a.U()};function I(a){Qc.call(this);this.a=void 0;this.c=\"geometry\";this.f=null;this.j=void 0;this.i=null;z(this,Sc(this.c),this.De,this);void 0!==a&&(a instanceof lf||!a?this.Ta(a):this.H(a))}u(I,Qc);k=I.prototype;k.clone=function(){var a=new I(this.M());a.Yc(this.c);var b=this.U();b&&a.Ta(b.clone());(b=this.f)&&a.cg(b);return a};k.U=function(){return this.get(this.c)};k.sm=function(){return this.a};k.Mk=function(){return this.c};k.tm=function(){return this.f};k.Rc=function(){return this.j};k.vl=function(){this.s()};\nk.De=function(){this.i&&(Bc(this.i),this.i=null);var a=this.U();a&&(this.i=z(a,\"change\",this.vl,this));this.s()};k.Ta=function(a){this.set(this.c,a)};k.cg=function(a){this.j=(this.f=a)?hl(a):void 0;this.s()};k.lc=function(a){this.a=a;this.s()};k.Yc=function(a){Hc(this,Sc(this.c),this.De,this);this.c=a;z(this,Sc(this.c),this.De,this);this.De()};\nfunction hl(a){var b;if(\"function\"===typeof a)2==a.length?b=function(b){return a(this,b)}:b=a;else{var c;Array.isArray(a)?c=a:(sa(a instanceof bl,41),c=[a]);b=function(){return c}}return b};var il=document.implementation.createDocument(\"\",\"\",null);function kl(a,b){return il.createElementNS(a,b)}function ll(a,b){return ml(a,b,[]).join(\"\")}function ml(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)ml(a,b,c);return c}function nl(a){return a instanceof Document}function pl(a){return a instanceof Node}\nfunction ql(a){return(new DOMParser).parseFromString(a,\"application/xml\")}function rl(a,b){return function(c,d){var e=a.call(b,c,d);void 0!==e&&ha(d[d.length-1],e)}}function sl(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&d[d.length-1].push(e)}}function tl(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&(d[d.length-1]=e)}}\nfunction ul(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){var e=c[c.length-1],f=b.localName,g;f in e?g=e[f]:g=e[f]=[];g.push(d)}}}function J(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function K(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}\nfunction vl(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=wl(d.localName)}xl(b,c,e,f)}}function wl(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return kl(e,d)}}var yl=wl();function zl(a,b){for(var c=b.length,d=Array(c),e=0;eh.status){var a=b.S(),e;\"json\"==a||\"text\"==a?e=h.responseText:\"xml\"==a?(e=h.responseXML)||(e=ql(h.responseText)):\"arraybuffer\"==a&&(e=h.response);e?c.call(this,b.Pa(e,{featureProjection:g}),b.jb(e)):d.call(this)}else d.call(this)}.bind(this);h.onerror=function(){d.call(this)}.bind(this);\nh.send()}}function Dl(a,b){return Cl(a,b,function(a){this.gd(a)},oa)};function El(){this.i=this.defaultDataProjection=null}function Fl(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.jb(b),featureProjection:c.featureProjection});return Gl(a,d)}function Gl(a,b){return qb({dataProjection:a.defaultDataProjection,featureProjection:a.i},b)}\nfunction Hl(a,b,c){var d=c?Tb(c.featureProjection):null,e=c?Tb(c.dataProjection):null,f;d&&e&&!bc(d,e)?a instanceof lf?f=(b?a.clone():a).tb(b?d:e,b?e:d):f=gc(b?a.slice():a,b?d:e,b?e:d):f=a;if(b&&c&&c.decimals){var g=Math.pow(10,c.decimals);a=function(a){for(var b=0,c=a.length;b>1),h=+ea(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=Ea(a[b],a[b+d],c),h=Ea(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=\ng,f[1]=h,f):[g,h]}function Ll(a,b,c,d,e,f){if(c==b)return null;if(e>1,ea||this.c.length<=a)return null;var b=new N(null);b.ca(this.la,this.B.slice(a?this.c[a-1]:0,this.c[a]));return b};\nk.Nc=function(){var a=this.B,b=this.c,c=this.la,d=[],e=0,f,g;f=0;for(g=b.length;fa||b<=a)return null;b=new E(null);b.ca(this.la,this.B.slice(a*this.a,(a+1)*this.a));return b};k.Zd=function(){var a=this.B,b=this.la,c=this.a,d=[],e,f;e=0;for(f=a.length;ea||this.c.length<=a)return null;var b;a?(b=this.c[a-1],b=b[b.length-1]):b=0;a=this.c[a].slice();var c=a[a.length-1];if(b){var d,e;d=0;for(e=a.length;da||this.f&&ad;++d){var e=parseInt(c[d],10).toString(16);c[d]=1==e.length?\"0\"+e:e}Om(a,c.join(\"\"))}function vp(a,b,c){a={node:a};var d=b.S(),e,f;\"GeometryCollection\"==d?(e=b.Qf(),f=wp):\"MultiPoint\"==d?(e=b.Zd(),f=xp):\"MultiLineString\"==d?(e=b.Nc(),f=yp):\"MultiPolygon\"==d?(e=b.md(),f=zp):sa(!1,39);Bl(a,Ap,f,e,c)}function Bp(a,b,c){Bl({node:a},Cp,Dp,[b],c)}\nfunction Ep(a,b,c){var d={node:a};b.a&&a.setAttribute(\"id\",b.a);a=b.M();var e={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};e[b.c]=1;var f=Object.keys(a||{}).sort().filter(function(a){return!e[a]});if(0>1,m=-7;f=d?f-1:0;var n=d?-1:1,y=a[b+f];f+=n;d=y&(1<<-m)-1;y>>=-m;for(m+=g;0>=-m;for(m+=e;0>1,n=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;p=e?0:p-1;var A=e?1:-1,B=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,e=l):(e=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-e))&&(e--,g*=2),b=1<=e+m?b+n/g:b+n*Math.pow(2,1-m),2<=b*g&&(e++,g/=2),e+m>=l?(b=0,e=l):1<=e+m?(b=(b*g-1)*Math.pow(2,f),e+=m):(b=b*Math.pow(2,m-1)*Math.pow(2,f),e=0));for(;8<=f;a[d+p]=b&255,p+=A,b/=256,f-=8);e=e<>4;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<3;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<10;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<17;if(128>g)return h(a,f,b);g=e[d.ha++];f|=(g&127)<<24;if(128>g)return h(a,f,b);g=e[d.ha++];\nif(128>g)return h(a,f|(g&1)<<31,b);throw Error(\"Expected varint not more than 10 bytes\");}function h(a,b,d){return d?4294967296*b+(a>>>0):4294967296*(b>>>0)+(a>>>0)}b.ma=d;var l=a(\"ieee754\");d.c=0;d.g=1;d.b=2;d.a=5;d.prototype={ug:function(a,b,d){for(d=d||this.length;this.ha>3,g=this.ha;this.type=e&7;a(f,b,this);this.ha===g&&this.bq(e)}return b},op:function(){var a=l.read(this.nc,this.ha,!0,23,4);this.ha+=4;return a},kp:function(){var a=l.read(this.nc,this.ha,!0,52,8);this.ha+=\n8;return a},Ma:function(a){var b=this.nc,d,f;f=b[this.ha++];d=f&127;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<7;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<14;if(128>f)return d;f=b[this.ha++];d|=(f&127)<<21;if(128>f)return d;f=b[this.ha];return e(d|(f&15)<<28,a,this)},Ap:function(){return this.Ma(!0)},be:function(){var a=this.Ma();return 1===a%2?(a+1)/-2:a/2},ip:function(){return!!this.Ma()},Ag:function(){for(var a=this.Ma()+this.ha,b=this.nc,d=\"\",e=this.ha;ea)break;var l,A,B;if(1===h)128>f&&(g=f);else if(2===h)l=b[e+1],128===(l&192)&&(g=(f&31)<<6|l&63,127>=g&&(g=null));else if(3===h){if(l=b[e+1],A=b[e+2],128===(l&192)&&128===(A&192)&&(g=(f&15)<<12|(l&63)<<6|A&63,2047>=g||55296<=g&&57343>=g))g=null}else 4===h&&(l=b[e+1],A=b[e+2],B=b[e+3],128===(l&192)&&128===(A&192)&&128===(B&192)&&(g=(f&15)<<18|(l&63)<<12|(A&63)<<6|B&63,65535>=g||1114112<=g))&&(g=null);null===g?(g=65533,h=1):65535>>10&1023|\n55296),g=56320|g&1023);d+=String.fromCharCode(g);e+=h}this.ha=a;return d},bq:function(a){a&=7;if(a===d.c)for(;127>=3),e--,1===d||2===d)f+=a.be(),g+=a.be(),1===d&&(x&&v.push(x),x=[]),x.push(new h(f,g));else if(7===d)x&&x.push(x[0].clone());else throw Error(\"unknown command \"+d);x&&v.push(x);return v};d.prototype.bbox=function(){var a=this.Ec;a.ha=this.Af;for(var b=a.Ma()+a.ha,d=1,e=0,f=0,g=0,h=Infinity,x=-Infinity,y=Infinity,A=-Infinity;a.ha<\nb;)if(e||(e=a.Ma(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.be(),g+=a.be(),fx&&(x=f),gA&&(A=g);else if(7!==d)throw Error(\"unknown command \"+d);return[h,y,x,A]}},{\"point-geometry\":1}],5:[function(a,b){function d(a,b){this.version=1;this.name=null;this.extent=4096;this.length=0;this.Ec=a;this.ne=[];this.pe=[];this.me=[];a.ug(e,this,b);this.length=this.me.length}function e(a,b,d){15===a?b.version=d.Ma():1===a?b.name=d.Ag():5===a?b.extent=d.Ma():2===a?b.me.push(d.ha):3===a?b.ne.push(d.Ag()):\n4===a&&b.pe.push(h(d))}function h(a){for(var b=null,d=a.Ma()+a.ha;a.ha>3,b=1===b?a.Ag():2===b?a.op():3===b?a.kp():4===b?a.Ap():5===b?a.Ma():6===b?a.be():7===b?a.ip():null;return b}var l=a(\"./vectortilefeature.js\");b.ma=d;d.prototype.feature=function(a){if(0>a||a>=this.me.length)throw Error(\"feature index out of bounds\");this.Ec.ha=this.me[a];a=this.Ec.Ma()+this.Ec.ha;return new l(this.Ec,a,this.extent,this.ne,this.pe)}},{\"./vectortilefeature.js\":4}]},{},[2])(2)});Ej=b.ma})();function jq(a,b,c,d){this.g=a;this.b=b;this.i=c;this.c=d}k=jq.prototype;k.get=function(a){return this.c[a]};k.Sb=function(){return this.i};k.D=function(){this.a||(this.a=\"Point\"===this.g?Xa(this.b):Ya(this.b,0,this.b.length,2));return this.a};k.gc=function(){return this.b};k.ia=jq.prototype.gc;k.U=function(){return this};k.Nn=function(){return this.c};k.Td=jq.prototype.U;k.sa=function(){return 2};k.Rc=oa;k.S=function(){return this.g};function kq(a){El.call(this);a=a?a:{};this.defaultDataProjection=new zb({code:\"\",units:\"tile-pixels\"});this.b=a.featureClass?a.featureClass:jq;this.g=a.geometryName;this.a=a.layerName?a.layerName:\"layer\";this.c=a.layers?a.layers:null}u(kq,El);k=kq.prototype;k.S=function(){return\"arraybuffer\"};\nk.Pa=function(a,b){var c=this.c,d=new Dj(a),d=new Ej.Tj(d),e=[],f=this.b,g,h,l;for(l in d.layers)if(!c||-1!=c.indexOf(l)){g=d.layers[l];for(var m=0,n=g.length;me?~(e<<1):e<<1;c=\"\";d=0;for(e=a.length;d>=5;h+=String.fromCharCode(g+63);c+=h}return c}\nfunction Qq(a,b){var c=b?b:1E5,d=[],e=0,f=0,g,h;g=0;for(h=a.length;gl?(d.push(e),f=e=0):f+=5}e=0;for(f=d.length;e>1):g>>1;e=0;for(f=d.length;e=b||\".\"==b||\"-\"==b){c.type=4;var d,b=a.b,e=!1,f=!1;do{if(\".\"==d)e=!0;else if(\"e\"==d||\"E\"==d)f=!0;d=a.a.charAt(++a.b)}while(\"0\"<=d&&\"9\">=d||\".\"==d&&(void 0===e||!e)||!f&&(\"e\"==d||\"E\"==d)||f&&(\"-\"==d||\"+\"==d));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if(\"a\"<=b&&\"z\">=b||\"A\"<=b&&\"Z\">=b){c.type=1;b=a.b;do d=a.a.charAt(++a.b);while(\"a\"<=d&&\"z\">=\nd||\"A\"<=d&&\"Z\">=d);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(\" \"==b||\"\\t\"==b||\"\\r\"==b||\"\\n\"==b)return zr(a);if(\"\"===b)c.type=6;else throw Error(\"Unexpected character: \"+b);}return c}function vr(a){this.g=a;this.a=\"XY\"}function xr(a){a.b=zr(a.g)}function Ar(a,b){var c=a.b.type==b;c&&xr(a);return c}\nfunction yr(a){var b=a.b;if(Ar(a,1)){var b=b.value,c=\"XY\",d=a.b;1==a.b.type&&(d=d.value,\"Z\"===d?c=\"XYZ\":\"M\"===d?c=\"XYM\":\"ZM\"===d&&(c=\"XYZM\"),\"XY\"!==c&&xr(a));a.a=c;if(\"GEOMETRYCOLLECTION\"==b){a:{if(Ar(a,2)){b=[];do b.push(yr(a));while(Ar(a,5));if(Ar(a,3)){a=b;break a}}else if(Br(a)){a=[];break a}throw Error(Cr(a));}return new sm(a)}d=Dr[b];c=Er[b];if(!d||!c)throw Error(\"Invalid geometry type: \"+b);b=d.call(a);return new c(b,a.a)}throw Error(Cr(a));}k=vr.prototype;\nk.ng=function(){if(Ar(this,2)){var a=Fr(this);if(Ar(this,3))return a}else if(Br(this))return null;throw Error(Cr(this));};k.mg=function(){if(Ar(this,2)){var a=Gr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.og=function(){if(Ar(this,2)){var a=Hr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};\nk.Vo=function(){if(Ar(this,2)){var a;if(2==this.b.type)for(a=[this.ng()];Ar(this,5);)a.push(this.ng());else a=Gr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.Uo=function(){if(Ar(this,2)){var a=Hr(this);if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};k.Wo=function(){if(Ar(this,2)){for(var a=[this.og()];Ar(this,5);)a.push(this.og());if(Ar(this,3))return a}else if(Br(this))return[];throw Error(Cr(this));};\nfunction Fr(a){for(var b=[],c=a.a.length,d=0;d=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:bb(a,this.sb,this)):!1};\nk.lb=function(a){var b=this.a,c=a.slice();c[b]=c[0]+(this.B[b]-this.B[0]);var d;for(d=1;df[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+c,\nd[1],d[2]+c,d[3]]);c=this.u[0];f=this.u[1];h=-1;m=Math.pow(this.I*g,2);p=[];q=[];g=0;for(l=Cs.length;gKa&&(a.Wa(b,e),Ra=0);ra>Ka&&(b.stroke(),ra=0);Ra||ra||(b.beginPath(),y=A=NaN);++n;break;case 2:q=C[1];r=m[q];C=\nm[q+1];B=m[q+2]-r;q=m[q+3]-C;q=Math.sqrt(B*B+q*q);b.moveTo(r+q,C);b.arc(r,C,q,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=C[1];r=C[2];Na=C[3];wb=C[4]*c;Z=C[5]*c;var Pb=C[6],cc=C[7],$c=C[8],re=C[9];Ta=C[10];B=C[11];aa=C[12];var Jd=C[13],ug=C[14];for(Ta&&(B+=e);qNa.width?\nNa.width-$c:ug,sq=Pb+re>Na.height?Na.height-re:Pb;b.drawImage(Na,$c,re,mh,sq,C,Ta,mh*c,sq*c);1!=cc&&(b.globalAlpha=bf);(1!=aa||B)&&b.setTransform.apply(b,x)}++n;break;case 5:q=C[1];r=C[2];Z=C[3];Pb=C[4]*c;cc=C[5]*c;B=C[6];aa=C[7]*c;Na=C[8];wb=C[9];for((Ta=C[10])&&(B+=e);qthis.c&&(this.c=this.g.lineWidth,this.f=null)};function et(a,b,c,d){Vs.call(this,a,b,c,d);this.f=null;this.g={gh:void 0,Nd:void 0,Hd:void 0,Id:null,Jd:void 0,Kd:void 0,Ld:void 0,Md:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}u(et,Vs);\nfunction ft(a,b,c,d,e){var f=a.g,g=void 0!==f.fillStyle,f=void 0!=f.strokeStyle,h=d.length,l=[1];a.a.push(l);a.b.push(l);for(l=0;lthis.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineDashOffset=void 0,c.lineJoin=void 0,c.lineWidth=void 0,\nc.miterLimit=void 0)};function gt(a,b){var c=a.g,d=c.fillStyle,e=c.strokeStyle,f=c.lineCap,g=c.lineDash,h=c.lineDashOffset,l=c.lineJoin,m=c.lineWidth,n=c.miterLimit;if(void 0!==d&&(\"string\"!==typeof d||c.gh!=d)){var p=[9,d];\"string\"!==typeof d&&(d=b.D(),p.push([d[0],d[3]]));a.a.push(p);c.gh=c.fillStyle}void 0===e||c.Nd==e&&c.Hd==f&&ja(c.Id,g)&&c.Jd==h&&c.Kd==l&&c.Ld==m&&c.Md==n||(a.a.push([10,e,m,f,l,n,g,h,!0,1]),c.Nd=e,c.Hd=f,c.Id=g,c.Jd=h,c.Kd=l,c.Ld=m,c.Md=n)};function ht(a,b,c,d){Vs.call(this,a,b,c,d);this.G=this.C=this.A=null;this.Fa=\"\";this.o=this.l=0;this.u=void 0;this.O=this.v=0;this.j=this.f=this.g=null}u(ht,Vs);\nht.prototype.Ac=function(a,b,c,d,e,f){if(\"\"!==this.Fa&&this.j&&(this.g||this.f)){if(this.g){e=this.g;var g=this.A;if(!g||g.fillStyle!=e.fillStyle){var h=[9,e.fillStyle];this.a.push(h);this.b.push(h);g?g.fillStyle=e.fillStyle:this.A={fillStyle:e.fillStyle}}}this.f&&(e=this.f,g=this.C,g&&g.lineCap==e.lineCap&&g.lineDash==e.lineDash&&g.lineDashOffset==e.lineDashOffset&&g.lineJoin==e.lineJoin&&g.lineWidth==e.lineWidth&&g.miterLimit==e.miterLimit&&g.strokeStyle==e.strokeStyle||(h=[10,e.strokeStyle,e.lineWidth,\ne.lineCap,e.lineJoin,e.miterLimit,e.lineDash,e.lineDashOffset,!1,1],this.a.push(h),this.b.push(h),g?(g.lineCap=e.lineCap,g.lineDash=e.lineDash,g.lineDashOffset=e.lineDashOffset,g.lineJoin=e.lineJoin,g.lineWidth=e.lineWidth,g.miterLimit=e.miterLimit,g.strokeStyle=e.strokeStyle):this.C={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle}));e=this.j;g=this.G;g&&g.font==e.font&&g.textAlign==\ne.textAlign&&g.textBaseline==e.textBaseline||(h=[11,e.font,e.textAlign,e.textBaseline],this.a.push(h),this.b.push(h),g?(g.font=e.font,g.textAlign=e.textAlign,g.textBaseline=e.textBaseline):this.G={font:e.font,textAlign:e.textAlign,textBaseline:e.textBaseline});Xs(this,f);e=this.coordinates.length;a=Ws(this,a,b,c,d,!1,!1);a=[5,e,a,this.Fa,this.l,this.o,this.v,this.O,!!this.g,!!this.f,this.u];this.a.push(a);this.b.push(a);$s(this,f)}};\nht.prototype.Ub=function(a){if(a){var b=a.Ca();b?(b=b.b,b=fd(b?b:Ph),this.g?this.g.fillStyle=b:this.g={fillStyle:b}):this.g=null;var c=a.Da();if(c){var b=c.a,d=c.i,e=c.g,f=c.f,g=c.j,h=c.c,c=c.l,d=void 0!==d?d:\"round\",e=e?e.slice():Qh,f=void 0!==f?f:0,g=void 0!==g?g:\"round\",h=void 0!==h?h:1,c=void 0!==c?c:10,b=fd(b?b:Rh);if(this.f){var l=this.f;l.lineCap=d;l.lineDash=e;l.lineDashOffset=f;l.lineJoin=g;l.lineWidth=h;l.miterLimit=c;l.strokeStyle=b}else this.f={lineCap:d,lineDash:e,lineDashOffset:f,lineJoin:g,\nlineWidth:h,miterLimit:c,strokeStyle:b}}else this.f=null;var m=a.a,b=a.g,d=a.c,e=a.l,h=a.i,c=a.b,f=a.Oa(),g=a.f,l=a.j;a=void 0!==m?m:\"10px sans-serif\";g=void 0!==g?g:\"center\";l=void 0!==l?l:\"middle\";this.j?(m=this.j,m.font=a,m.textAlign=g,m.textBaseline=l):this.j={font:a,textAlign:g,textBaseline:l};this.Fa=void 0!==f?f:\"\";this.l=void 0!==b?b:0;this.o=void 0!==d?d:0;this.u=void 0!==e?e:!1;this.v=void 0!==h?h:0;this.O=void 0!==c?c:1}else this.Fa=\"\"};function it(a,b,c,d,e){this.v=a;this.c=b;this.o=d;this.u=c;this.f=e;this.a={};this.j=hd(1,1);this.l=yh()}u(it,hi);var jt={0:[[!0]]};function kt(a,b,c){var d,e=Math.floor(a.length/2);if(b>=e)for(d=e;d=d;)kt(c,a+b,a+d),kt(c,a+d,a+b),kt(c,a-d,a+b),kt(c,a-b,a+d),kt(c,a-b,a-d),kt(c,a-d,a-b),kt(c,a+d,a-b),kt(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);return jt[a]=c}function mt(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].Se()}}\nit.prototype.Ba=function(a,b,c,d,e,f){d=Math.round(d);var g=2*d+1,h=Hh(this.l,d+.5,d+.5,1/b,-1/b,-c,-a[0],-a[1]),l=this.j;l.canvas.width!==g||l.canvas.height!==g?(l.canvas.width=g,l.canvas.height=g):l.clearRect(0,0,g,g);var m;void 0!==this.f&&(m=Ja(),La(m,a),Ma(m,b*(this.f+d),m));var n=lt(d);return nt(this,l,h,c,e,function(a){for(var b=l.getImageData(0,0,g,g).data,c=0;ca.ba&&(a.ba=d.ba),d.gaa.ja&&(a.ja=d.ja)):a[b][c]=d:(a[b]={},a[b][c]=d)}\nfunction yt(a,b,c,d,e,f,g,h,l,m){var n=w(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,v,x,y,A,B;for(B=g;B>=q;--B)for(v=nc(c,f,B,v),x=c.La(B),y=v.da;y<=v.ba;++y)for(A=v.ga;A<=v.ja;++A)g-B<=h?(r=b.Pc(B,y,A,d,e),0==r.V()&&(p[r.hb()]=!0,r.hb()in a.a||a.i([r,n,sc(c,r.Ga),x])),l&&l.call(m,r)):b.Mg(B,y,A,e)};function zt(a){qt.call(this,a);this.fa=yh()}u(zt,qt);function At(a,b,c){var d=b.pixelRatio,e=b.size[0]*d,f=b.size[1]*d,g=b.viewState.rotation,h=fb(c),l=eb(c),m=db(c);c=cb(c);Dh(b.coordinateToPixelTransform,h);Dh(b.coordinateToPixelTransform,l);Dh(b.coordinateToPixelTransform,m);Dh(b.coordinateToPixelTransform,c);a.save();Sh(a,-g,e/2,f/2);a.beginPath();a.moveTo(h[0]*d,h[1]*d);a.lineTo(l[0]*d,l[1]*d);a.lineTo(m[0]*d,m[1]*d);a.lineTo(c[0]*d,c[1]*d);a.clip();Sh(a,g,e/2,f/2)}\nfunction Bt(a,b,c,d,e){var f=a.a;if(Oc(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;Sh(c,-l,g/2,h/2);a=e?e:Ct(a,d,0);f.b(new Oh(b,new Uh(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));Sh(c,l,g/2,h/2)}}zt.prototype.v=function(a,b,c,d){if(this.Ba(a,b,0,jf,this))return c.call(d,this.a,null)};zt.prototype.cf=function(a,b,c,d){Bt(this,\"postcompose\",a,b,d)};\nfunction Ct(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return Hh(a.fa,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};function Dt(a,b){return w(a)-w(b)}function Et(a,b){var c=.5*a/b;return c*c}function Ft(a,b,c,d,e,f){var g=!1,h,l;if(h=c.Y())l=h.Xe(),2==l||3==l?h.xj(e,f):(0==l&&h.load(),h.Gh(e,f),g=!0);if(e=(0,c.Qa)(b))d=e.Td(d),(0,Gt[d.S()])(a,d,c,b);return g}\nvar Gt={Point:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Xe())return;var f=a.b(c.Aa(),\"Image\");f.Wb(e);f.sc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(b.ia(),0,2,2,b,d)},LineString:function(a,b,c,d){var e=c.Da();if(e){var f=a.b(c.Aa(),\"LineString\");f.Na(null,e);f.Rb(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(ai(b),0,2,2,b,d)},Polygon:function(a,b,c,d){var e=c.Ca(),f=c.Da();if(e||f){var g=a.b(c.Aa(),\"Polygon\");g.Na(e,f);g.tc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),a.Ac(Tf(b),\n0,2,2,b,d)},MultiPoint:function(a,b,c,d){var e=c.Y();if(e){if(2!=e.Xe())return;var f=a.b(c.Aa(),\"Image\");f.Wb(e);f.qc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=b.ia(),a.Ac(c,0,c.length,b.sa(),b,d)},MultiLineString:function(a,b,c,d){var e=c.Da();if(e){var f=a.b(c.Aa(),\"LineString\");f.Na(null,e);f.pc(b,d)}if(e=c.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=bi(b),a.Ac(c,0,c.length,2,b,d)},MultiPolygon:function(a,b,c,d){var e=c.Ca(),f=c.Da();if(f||e){var g=a.b(c.Aa(),\"Polygon\");g.Na(e,f);g.rc(b,d)}if(e=\nc.Oa())a=a.b(c.Aa(),\"Text\"),a.Ub(e),c=di(b),a.Ac(c,0,c.length,2,b,d)},GeometryCollection:function(a,b,c,d){b=b.a;var e,f;e=0;for(f=b.length;el[2];)++aa,n=m*aa,n=Ct(this,a,n),p.i(x,e,n,g,f),h-=m;n=Ct(this,a,0)}Sh(x,g,A/2,B/2);x!=c&&(Bt(this,\"render\",x,a,n),c.drawImage(x.canvas,-r,-v),x.translate(-r,-v));x.globalAlpha=y}q&&c.restore();this.cf(c,a,b,n)};\nHt.prototype.Ba=function(a,b,c,d,e){if(this.i){var f=this.a,g={};return this.i.Ba(a,b.viewState.resolution,b.viewState.rotation,c,{},function(a){var b=w(a).toString();if(!(b in g))return g[b]=!0,d.call(e,a,f)})}};Ht.prototype.A=function(){st(this)};\nHt.prototype.ud=function(a){function b(a){var b,d=a.Rc();d?b=d.call(a,m):(d=c.i)&&(b=d(a,m));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;ea.le:e<=a.le}a.o?(e=b.coordinate,c=a.j.U(),a.f===iu?d=a.a:a.f===hu?(d=a.a[0],d=d[d.length-1],pu(a,b)&&(e=a.o.slice())):(d=a.a,d=d[d.length-1]),d[0]=e[0],d[1]=e[1],a.Qa(a.a,c),a.G&&a.G.U().pa(e),c instanceof F&&a.f!==hu?(a.C||(a.C=new I(new N(null))),c=c.vh(0),e=a.C.U(),e.ca(c.la,c.ia())):a.I&&(e=a.C.U(),e.pa(a.I)),ru(a)):(e=b.coordinate.slice(),a.G?a.G.U().pa(e):(a.G=new I(new E(e)),\nru(a)));return!0}function pu(a,b){var c=!1;if(a.j){var d=!1,e=[a.o];a.f===ju?d=a.a.length>a.Ha:a.f===hu&&(d=a.a[0].length>a.Ha,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f=a.Ja&&(a.u?f.pop():e=!0),f.push(c.slice()),a.Qa(f,d)):a.f===hu&&(f=a.a[0],f.length>=a.Ja&&(a.u?f.pop():e=!0),f.push(c.slice()),e&&(a.o=f[0]),a.Qa(a.a,d));ru(a);e&&a.Qd()}\nk.Ep=function(){if(this.j){var a=this.j.U(),b,c;this.f===ju?(b=this.a,b.splice(-2,1),this.Qa(b,a),2<=b.length&&(this.o=b[b.length-2].slice())):this.f===hu&&(b=this.a[0],b.splice(-2,1),c=this.C.U(),c.pa(b),this.Qa(this.a,a));0===b.length&&(this.o=null);ru(this)}};\nk.Qd=function(){var a=qu(this),b=this.a,c=a.U();this.f===ju?(b.pop(),this.Qa(b,c)):this.f===hu&&(b[0].pop(),this.Qa(b,c),b=c.W());\"MultiPoint\"===this.Z?a.Ta(new P([b])):\"MultiLineString\"===this.Z?a.Ta(new O([b])):\"MultiPolygon\"===this.Z&&a.Ta(new Q([b]));this.b(new su(\"drawend\",a));this.Va&&this.Va.push(a);this.Gb&&this.Gb.zb(a)};function qu(a){a.o=null;var b=a.j;b&&(a.j=null,a.G=null,a.C=null,a.na.ka().clear(!0));return b}\nk.nn=function(a){var b=a.U();this.j=a;this.a=b.W();a=this.a[this.a.length-1];this.o=a.slice();this.a.push(a.slice());ru(this);this.b(new su(\"drawstart\",this.j))};k.bd=kf;function ru(a){var b=[];a.j&&b.push(a.j);a.C&&b.push(a.C);a.G&&b.push(a.G);a=a.na.ka();a.clear(!0);a.gd(b)}k.ji=function(){var a=this.v,b=this.c();a&&b||qu(this);this.na.setMap(b?a:null)};\nfunction gu(a){var b;\"Point\"===a||\"MultiPoint\"===a?b=iu:\"LineString\"===a||\"MultiLineString\"===a?b=ju:\"Polygon\"===a||\"MultiPolygon\"===a?b=hu:\"Circle\"===a&&(b=ou);return b}var iu=\"Point\",ju=\"LineString\",hu=\"Polygon\",ou=\"Circle\";function su(a,b){Lc.call(this,a);this.feature=b}u(su,Lc);function tu(a){this.a=this.j=null;this.C=!1;this.G=this.o=null;a||(a={});a.extent&&this.f(a.extent);Ag.call(this,{handleDownEvent:uu,handleDragEvent:vu,handleEvent:wu,handleUpEvent:xu});this.u=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.boxStyle?a.boxStyle:yu(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.I=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.pointerStyle?a.pointerStyle:zu(),updateWhileAnimating:!0,updateWhileInteracting:!0})}u(tu,Ag);\nfunction wu(a){if(!(a instanceof Kd))return!0;if(\"pointermove\"==a.type&&!this.A){var b=a.pixel,c=a.map,d=Au(this,b,c);d||(d=c.Xa(b));Bu(this,d)}Bg.call(this,a);return!1}\nfunction uu(a){function b(a){var b=null,c=null;a[0]==e[0]?b=e[2]:a[0]==e[2]&&(b=e[0]);a[1]==e[1]?c=e[3]:a[1]==e[3]&&(c=e[1]);return null!==b&&null!==c?[b,c]:null}var c=a.pixel,d=a.map,e=this.D();(a=Au(this,c,d))&&e?(c=a[0]==e[0]||a[0]==e[2]?a[0]:null,d=a[1]==e[1]||a[1]==e[3]?a[1]:null,null!==c&&null!==d?this.a=Cu(b(a)):null!==c?this.a=Du(b([c,e[1]]),b([c,e[3]])):null!==d&&(this.a=Du(b([e[0],d]),b([e[2],d])))):(a=d.Xa(c),this.f([a[0],a[1],a[0],a[1]]),this.a=Cu(a));return!0}\nfunction vu(a){this.a&&(a=a.coordinate,this.f(this.a(a)),Bu(this,a));return!0}function xu(){this.a=null;var a=this.D();a&&gb(a)||this.f(null);return!1}function yu(){var a=gl();return function(){return a.Polygon}}function zu(){var a=gl();return function(){return a.Point}}function Cu(a){return function(b){return Ia([a,b])}}function Du(a,b){return a[0]==b[0]?function(c){return Ia([a,[c[0],b[1]]])}:a[1]==b[1]?function(c){return Ia([a,[b[0],c[1]]])}:null}\nfunction Au(a,b,c){function d(a,b){return gf(e,a)-gf(e,b)}var e=c.Xa(b),f=a.D();if(f){f=[[[f[0],f[1]],[f[0],f[3]]],[[f[0],f[3]],[f[2],f[3]]],[[f[2],f[3]],[f[2],f[1]]],[[f[2],f[1]],[f[0],f[1]]]];f.sort(d);var f=f[0],g=Ye(e,f),h=c.Ka(g);if(10>=ff(b,h))return b=c.Ka(f[0]),c=c.Ka(f[1]),b=ef(h,b),c=ef(h,c),a.C=10>=Math.sqrt(Math.min(b,c)),a.C&&(g=b>c?f[1]:f[0]),g}return null}function Bu(a,b){var c=a.G;c?c.U().pa(b):(c=new I(new E(b)),a.G=c,a.I.ka().zb(c))}\ntu.prototype.setMap=function(a){this.u.setMap(a);this.I.setMap(a);Ag.prototype.setMap.call(this,a)};tu.prototype.D=function(){return this.j};tu.prototype.f=function(a){this.j=a?a:null;var b=this.o;b?a?b.Ta(Vf(a)):b.Ta(void 0):(this.o=b=a?new I(Vf(a)):new I({}),this.u.ka().zb(b));this.b(new Eu(this.j))};function Eu(a){Lc.call(this,Fu);this.b=a}u(Eu,Lc);var Fu=\"extentchanged\";function Gu(a){Ag.call(this,{handleDownEvent:Hu,handleDragEvent:Iu,handleEvent:Ju,handleUpEvent:Ku});this.Gb=a.condition?a.condition:zg;this.Va=function(a){return vg(a)&&tg(a)};this.yb=a.deleteCondition?a.deleteCondition:this.Va;this.Ha=this.f=null;this.Ja=[0,0];this.C=this.I=!1;this.a=new Gj;this.fa=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.o=this.na=!1;this.j=[];this.G=new S({source:new T({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?a.style:Lu(),updateWhileAnimating:!0,updateWhileInteracting:!0});\nthis.T={Point:this.wn,LineString:this.li,LinearRing:this.li,Polygon:this.xn,MultiPoint:this.tn,MultiLineString:this.sn,MultiPolygon:this.vn,Circle:this.lq,GeometryCollection:this.rn};this.u=a.features;this.u.forEach(this.fg,this);z(this.u,\"add\",this.pn,this);z(this.u,\"remove\",this.qn,this);this.Z=null}u(Gu,Ag);k=Gu.prototype;k.fg=function(a){var b=a.U();b&&b.S()in this.T&&this.T[b.S()].call(this,a,b);(b=this.v)&&b.a&&this.c()&&Mu(this,this.Ja,b);z(a,\"change\",this.ki,this)};\nfunction Nu(a,b){a.C||(a.C=!0,a.b(new Ou(\"modifystart\",a.u,b)))}function Pu(a,b){Qu(a,b);a.f&&!a.u.fc()&&(a.G.ka().Db(a.f),a.f=null);Hc(b,\"change\",a.ki,a)}function Qu(a,b){var c=a.a,d=[];c.forEach(function(a){b===a.feature&&d.push(a)});for(var e=d.length-1;0<=e;--e)c.remove(d[e])}k.Ia=function(a){this.f&&!a&&(this.G.ka().Db(this.f),this.f=null);Ag.prototype.Ia.call(this,a)};k.setMap=function(a){this.G.setMap(a);Ag.prototype.setMap.call(this,a)};k.pn=function(a){this.fg(a.element)};\nk.ki=function(a){this.o||(a=a.target,Pu(this,a),this.fg(a))};k.qn=function(a){Pu(this,a.element)};k.wn=function(a,b){var c=b.W(),c={feature:a,geometry:b,oa:[c,c]};this.a.Ea(b.D(),c)};k.tn=function(a,b){var c=b.W(),d,e,f;e=0;for(f=c.length;em?h[1]:h[0]),Ru(a,l),m=1,c=f.length;mm&&(m=0);g=p.geometry;e=f=g.W();d=!1;switch(g.S()){case \"MultiLineString\":2c&&(a.index+=e)})}function Lu(){var a=gl();return function(){return a.Point}}function Ou(a,b,c){Lc.call(this,a);this.features=b;this.mapBrowserEvent=c}u(Ou,Lc);function Wu(a){kg.call(this,{handleEvent:Xu});a=a?a:{};this.C=a.condition?a.condition:tg;this.A=a.addCondition?a.addCondition:kf;this.G=a.removeCondition?a.removeCondition:kf;this.I=a.toggleCondition?a.toggleCondition:wg;this.o=a.multi?a.multi:!1;this.l=a.filter?a.filter:jf;this.j=a.hitTolerance?a.hitTolerance:0;this.f=new S({source:new T({useSpatialIndex:!1,features:a.features,wrapX:a.wrapX}),style:a.style?a.style:Yu(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(a.layers)if(\"function\"===\ntypeof a.layers)a=a.layers;else{var b=a.layers;a=function(a){return fa(b,a)}}else a=jf;this.u=a;this.a={};a=this.f.ka().i;z(a,\"add\",this.yn,this);z(a,\"remove\",this.Cn,this)}u(Wu,kg);k=Wu.prototype;k.zn=function(){return this.f.ka().i};k.An=function(){return this.j};k.Bn=function(a){a=w(a);return this.a[a]};\nfunction Xu(a){if(!this.C(a))return!0;var b=this.A(a),c=this.G(a),d=this.I(a),e=!b&&!c&&!d,f=a.map,g=this.f.ka().i,h=[],l=[];if(e){rb(this.a);f.we(a.pixel,function(a,b){if(this.l(a,b)){l.push(a);var c=w(a);this.a[c]=b;return!this.o}}.bind(this),{layerFilter:this.u,hitTolerance:this.j});for(e=g.fc()-1;0<=e;--e){var f=g.item(e),m=l.indexOf(f);-1d?g[1]:g[0],c=b.Ka(l)}else this.I&&(l=Ye(e,g),c=b.Ka(l),ff(d,c)<=this.f&&(f=!0,this.fa&&(e=b.Ka(g[0]),h=b.Ka(g[1]),e=ef(c,e),d=ef(c,h),h=Math.sqrt(Math.min(e,\nd)),h=h<=this.f)))&&(l=e>d?g[1]:g[0],c=b.Ka(l));f&&(c=[Math.round(c[0]),Math.round(c[1])])}b=l;f&&(a.coordinate=b.slice(0,2),a.pixel=c);return Bg.call(this,a)}function cv(){var a=sb(this.u);a.length&&(a.forEach(this.zj,this),this.u={});return!1}function dv(a,b){return gf(this.G,a.oa)-gf(this.G,b.oa)};function ev(a){Ag.call(this,{handleDownEvent:fv,handleDragEvent:gv,handleMoveEvent:hv,handleUpEvent:iv});a=a?a:{};this.f=void 0;this.a=null;this.o=void 0!==a.features?a.features:null;var b;if(a.layers)if(\"function\"===typeof a.layers)b=a.layers;else{var c=a.layers;b=function(a){return fa(c,a)}}else b=jf;this.G=b;this.u=a.hitTolerance?a.hitTolerance:0;this.j=null;z(this,Sc(\"active\"),this.C,this)}u(ev,Ag);\nfunction fv(a){this.j=jv(this,a.pixel,a.map);if(!this.a&&this.j){this.a=a.coordinate;hv.call(this,a);var b=this.o||new D([this.j]);this.b(new kv(\"translatestart\",b,a.coordinate));return!0}return!1}function iv(a){if(this.a){this.a=null;hv.call(this,a);var b=this.o||new D([this.j]);this.b(new kv(\"translateend\",b,a.coordinate));return!0}return!1}\nfunction gv(a){if(this.a){a=a.coordinate;var b=a[0]-this.a[0],c=a[1]-this.a[1],d=this.o||new D([this.j]);d.forEach(function(a){var d=a.U();d.translate(b,c);a.Ta(d)});this.a=a;this.b(new kv(\"translating\",d,a))}}function hv(a){var b=a.map.vc();jv(this,a.pixel,a.map)?(this.f=void 0!==this.f?this.f:b.style.cursor,b.style.cursor=this.a?\"-webkit-grabbing\":\"-webkit-grab\",b.style.cursor=this.a?\"grabbing\":\"grab\"):void 0!==this.f&&(b.style.cursor=this.f,this.f=void 0)}\nfunction jv(a,b,c){return c.we(b,function(a){if(!this.o||fa(this.o.a,a))return a}.bind(a),{layerFilter:a.G,hitTolerance:a.u})}ev.prototype.I=function(){return this.u};ev.prototype.Z=function(a){this.u=a};ev.prototype.setMap=function(a){var b=this.v;Ag.prototype.setMap.call(this,a);lv(this,b)};ev.prototype.C=function(){lv(this,null)};function lv(a,b){var c=a.v,d=a.c();c&&d||void 0===a.f||(c||(c=b),c.vc().style.cursor=a.f,a.f=void 0)}\nfunction kv(a,b,c){Lc.call(this,a);this.features=b;this.coordinate=c}u(kv,Lc);function U(a){a=a?a:{};var b=qb({},a);delete b.gradient;delete b.radius;delete b.blur;delete b.shadow;delete b.weight;S.call(this,b);this.j=null;this.T=void 0!==a.shadow?a.shadow:250;this.Z=void 0;this.I=null;z(this,Sc(mv),this.wl,this);this.kj(a.gradient?a.gradient:nv);this.ej(void 0!==a.blur?a.blur:15);this.Zc(void 0!==a.radius?a.radius:8);z(this,Sc(ov),this.Yf,this);z(this,Sc(pv),this.Yf,this);this.Yf();var c=a.weight?a.weight:\"weight\",d;\"string\"===typeof c?d=function(a){return a.get(c)}:d=c;this.f(function(a){a=\nd(a);a=void 0!==a?xa(a,0,1):1;var b=255*a|0,c=this.I[b];c||(c=[new bl({image:new co({opacity:a,src:this.Z})})],this.I[b]=c);return c}.bind(this));this.set(It,null);z(this,\"render\",this.Nl,this)}u(U,S);var nv=[\"#00f\",\"#0ff\",\"#0f0\",\"#ff0\",\"#f00\"];k=U.prototype;k.nh=function(){return this.get(ov)};k.uh=function(){return this.get(mv)};k.ri=function(){return this.get(pv)};\nk.wl=function(){for(var a=this.uh(),b=hd(1,256),c=b.createLinearGradient(0,0,1,256),d=1/(a.length-1),e=0,f=a.length;ePb&&(Pb=$c,m=cc)}if(!Pb){g=null;break a}Pb=g[m];g[m]=g[l];g[l]=Pb;for(m=l+1;mthis.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])p,v=!1;if(0a.u),v)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(r=[(c[0]+d[0])/2,(c[1]+d[1])/2],q=a.a(r),n=[(e[0]+b[0])/2,(e[1]+b[1])/2],p=a.a(n),wv(a,b,c,r,n,f,g,q,p,m-1),wv(a,n,r,d,e,p,q,h,l,m-1)):(r=[(b[0]+c[0])/2,(b[1]+c[1])/2],q=a.a(r),n=[(d[0]+e[0])/2,(d[1]+e[1])/2],p=a.a(n),wv(a,b,r,n,e,f,q,p,l,m-1),wv(a,r,c,d,n,q,g,h,p,m-1));return}if(r){if(!a.o)return;a.l=!0}a.c.push({source:[f,h,l],target:[b,d,e]});a.c.push({source:[f,g,h],target:[b,c,d]})}}\nfunction xv(a){var b=Ja();a.c.forEach(function(a){a=a.source;La(b,a[0]);La(b,a[1]);La(b,a[2])});return b};function yv(a,b,c,d,e,f){this.u=b;this.o=a.D();var g=b.D(),h=g?mb(c,g):c,g=sv(a,b,kb(h),d);this.j=new vv(a,b,h,this.o,.5*g);this.c=d;this.g=c;a=xv(this.j);this.l=(this.Eb=f(a,g,e))?this.Eb.a:1;this.de=this.f=null;e=2;f=[];this.Eb&&(e=0,f=this.Eb.i);Fs.call(this,c,d,this.l,e,f)}u(yv,Fs);yv.prototype.ra=function(){1==this.state&&(Bc(this.de),this.de=null);Fs.prototype.ra.call(this)};yv.prototype.Y=function(){return this.f};\nyv.prototype.ce=function(){var a=this.Eb.V();2==a&&(this.f=uv(ib(this.g)/this.c,jb(this.g)/this.c,this.l,this.Eb.resolution,0,this.c,this.g,this.j,[{extent:this.Eb.D(),image:this.Eb.Y()}],0));this.state=a;this.s()};yv.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=this.Eb.V();2==a||3==a?this.ce():(this.de=z(this.Eb,\"change\",function(){var a=this.Eb.V();if(2==a||3==a)Bc(this.de),this.de=null,this.ce()},this),this.Eb.load())}};function zv(a){Tt.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.v=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.ea=0}u(zv,Tt);function Av(a,b){a.v&&(b=a.v[ga(a.v,b,0)]);return b}\nzv.prototype.Y=function(a,b,c,d){var e=this.c;if(e&&d&&!bc(e,d)){if(this.a){if(this.ea==this.g&&bc(this.a.u,d)&&this.a.resolution==b&&this.a.a==c&&$a(this.a.D(),a))return this.a;Kc(this.a);this.a=null}this.a=new yv(e,d,a,b,c,function(a,b,c){return this.Lc(a,b,c,e)}.bind(this));this.ea=this.g;return this.a}e&&(d=e);return this.Lc(a,b,c,d)};zv.prototype.l=function(a){a=a.target;switch(a.V()){case 1:this.b(new Bv(Cv,a));break;case 2:this.b(new Bv(Dv,a));break;case 3:this.b(new Bv(Ev,a))}};\nfunction Fv(a,b){a.Y().src=b}function Bv(a,b){Lc.call(this,a);this.image=b}u(Bv,Lc);var Cv=\"imageloadstart\",Dv=\"imageloadend\",Ev=\"imageloaderror\";function Gv(a){zv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.fa=a.canvasFunction;this.I=null;this.T=0;this.na=void 0!==a.ratio?a.ratio:1.5}u(Gv,zv);Gv.prototype.Lc=function(a,b,c,d){b=Av(this,b);var e=this.I;if(e&&this.T==this.g&&e.resolution==b&&e.a==c&&Ua(e.D(),a))return e;a=a.slice();ob(a,this.na);(d=this.fa(a,b,c,[ib(a)/b*c,jb(a)/b*c],d))&&(e=new Hs(a,b,c,this.j,d));this.I=e;this.T=this.g;return e};function Hv(a){this.i=a.source;this.Va=yh();this.f=hd();this.o=[0,0];this.Ha=void 0==a.renderBuffer?100:a.renderBuffer;this.A=null;Gv.call(this,{attributions:a.attributions,canvasFunction:this.pk.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.i.V()});this.C=null;this.u=void 0;this.Bi(a.style);z(this.i,\"change\",this.ho,this)}u(Hv,Gv);k=Hv.prototype;\nk.pk=function(a,b,c,d,e){var f=new it(.5*b/c,a,b,this.i.Ha,this.Ha);this.i.Xd(a,b,e);var g=!1;this.i.bc(a,function(a){var d;if(!(d=g)){var e;(d=a.Rc())?e=d.call(a,b):this.u&&(e=this.u(a,b));if(e){var h,p=!1;Array.isArray(e)||(e=[e]);d=0;for(h=e.length;da[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.i||\n(this.i=hd(1,1)),this.i.clearRect(0,0,1,1),this.i.drawImage(this.N.Y(),a[0],a[1],1,1,0,0,1,1),e=this.i.getImageData(0,0,1,1).data,0=d)this.state=4;else if(this.u=new vv(a,c,f,e,d*(void 0!==m?m:.5)),this.u.c.length)if(this.f=b.Qc(d),c=xv(this.u),e&&(a.a?(c[1]=xa(c[1],e[1],e[3]),c[3]=xa(c[3],e[1],e[3])):c=mb(c,e)),gb(c)){a=\nnc(b,c,this.f);for(b=a.da;b<=a.ba;b++)for(c=a.ga;c<=a.ja;c++)(m=l(this.f,b,c,g))&&this.g.push(m);this.g.length||(this.state=4)}else this.state=4;else this.state=4;else this.state=4}u(aw,Is);aw.prototype.ra=function(){1==this.state&&(this.Ad.forEach(Bc),this.Ad=null);Is.prototype.ra.call(this)};aw.prototype.Y=function(){return this.v};\naw.prototype.ce=function(){var a=[];this.g.forEach(function(b){b&&2==b.V()&&a.push({extent:this.c.Ua(b.Ga),image:b.Y()})},this);this.g.length=0;if(a.length){var b=this.o[0],c=this.l.eb(b),d=\"number\"===typeof c?c:c[0],c=\"number\"===typeof c?c:c[1],b=this.l.La(b),e=this.c.La(this.f),f=this.l.Ua(this.o);this.v=uv(d,c,this.A,e,this.c.D(),b,f,this.u,a,this.O,this.C);this.state=2}else this.state=3;this.s()};\naw.prototype.load=function(){if(0==this.state){this.state=1;this.s();var a=0;this.Ad=[];this.g.forEach(function(b){var c=b.V();if(0==c||1==c){a++;var d;d=z(b,\"change\",function(){var c=b.V();if(2==c||3==c||4==c)Bc(d),a--,a||(this.Ad.forEach(Bc),this.Ad=null,this.ce())},this);this.Ad.push(d)}},this);this.g.forEach(function(a){0==a.V()&&a.load()});a||setTimeout(this.ce.bind(this),0)}};function bw(a,b){var c=/\\{z\\}/g,d=/\\{x\\}/g,e=/\\{y\\}/g,f=/\\{-y\\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;sa(a,55);return(a.ja-a.ga+1+g[2]).toString()})}}function cw(a,b){for(var c=a.length,d=Array(c),e=0;ea.highWaterMark}gw.prototype.ld=function(a){for(var b,c;hw(this);){b=this.a.cd;c=b.Ga[0].toString();var d;if(d=c in a)b=b.Ga,d=ua(a[c],b[1],b[2]);if(d)break;else Kc(this.pop())}};function iw(a){Tt.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.na=void 0!==a.opaque?a.opaque:!1;this.Va=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new gw(a.cacheSize);this.l=[0,0];this.wc=\"\"}u(iw,Tt);k=iw.prototype;k.Ei=function(){return hw(this.a)};k.ld=function(a,b){var c=this.Ud(a);c&&c.ld(b)};\nfunction rt(a,b,c,d,e){b=a.Ud(b);if(!b)return!1;for(var f=!0,g,h,l=d.da;l<=d.ba;++l)for(var m=d.ga;m<=d.ja;++m)g=a.Tb(c,l,m),h=!1,b.b.hasOwnProperty(g)&&(g=b.get(g),(h=2===g.V())&&(h=!1!==e(g))),h||(f=!1);return f}k.Rf=function(){return 0};function jw(a,b){a.wc!==b&&(a.wc=b,a.s())}k.Tb=function(a,b,c){return a+\"/\"+b+\"/\"+c};k.Uf=function(){return this.na};k.ab=function(){return this.tileGrid};k.Jb=function(a){return this.tileGrid?this.tileGrid:tc(a)};\nk.Ud=function(a){var b=this.c;return b&&!bc(b,a)?null:this.a};k.pb=function(){return this.Va};k.Vd=function(a,b,c){c=this.Jb(c);b=this.pb(b);a=Ha(c.eb(a),this.l);return 1==b?a:Ga(a,b,this.l)};function kw(a,b,c){var d=void 0!==c?c:a.c;c=a.Jb(d);if(a.G&&d.g){var e=b;b=e[0];a=sc(c,e);d=uc(d);Qa(d,a)?b=e:(e=ib(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.Xf(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.D();c=(c=f?nc(c,f,e):c.a?c.a[e]:null)?ua(c,d,a):!0}return c?b:null}\nk.va=function(){this.a.clear();this.s()};k.Mg=oa;function lw(a,b){Lc.call(this,a);this.tile=b}u(lw,Lc);function mw(a){iw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.Hc?this.Hc.bind(this):ew;this.urls=null;a.urls?this.cb(a.urls):a.url&&this.ib(a.url);a.tileUrlFunction&&this.bb(a.tileUrlFunction)}u(mw,iw);k=mw.prototype;k.ob=function(){return this.tileLoadFunction};\nk.qb=function(){return this.tileUrlFunction};k.rb=function(){return this.urls};k.Fi=function(a){a=a.target;switch(a.V()){case 1:this.b(new lw(\"tileloadstart\",a));break;case 2:this.b(new lw(\"tileloadend\",a));break;case 3:this.b(new lw(\"tileloaderror\",a))}};k.wb=function(a){this.a.clear();this.tileLoadFunction=a;this.s()};k.bb=function(a,b){this.tileUrlFunction=a;\"undefined\"!==typeof b?jw(this,b):this.s()};\nk.ib=function(a){var b=this.urls=fw(a);this.bb(this.Hc?this.Hc.bind(this):cw(b,this.tileGrid),a)};k.cb=function(a){this.urls=a;var b=a.join(\"\\n\");this.bb(this.Hc?this.Hc.bind(this):cw(a,this.tileGrid),b)};k.Mg=function(a,b,c){a=this.Tb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function W(a){mw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:nw,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=a.tileClass?a.tileClass:Ks;this.f={};this.u={};this.Ha=a.reprojectionErrorThreshold;this.C=\n!1}u(W,mw);k=W.prototype;k.Ei=function(){if(hw(this.a))return!0;for(var a in this.f)if(hw(this.f[a]))return!0;return!1};k.ld=function(a,b){var c=this.Ud(a);this.a.ld(this.a==c?b:{});for(var d in this.f){var e=this.f[d];e.ld(e==c?b:{})}};k.Rf=function(a){return this.c&&a&&!bc(this.c,a)?0:this.Sf()};k.Sf=function(){return 0};k.Uf=function(a){return this.c&&a&&!bc(this.c,a)?!1:mw.prototype.Uf.call(this,a)};\nk.Jb=function(a){var b=this.c;return!this.tileGrid||b&&!bc(b,a)?(b=w(a).toString(),b in this.u||(this.u[b]=tc(a)),this.u[b]):this.tileGrid};k.Ud=function(a){var b=this.c;if(!b||bc(b,a))return this.a;a=w(a).toString();a in this.f||(this.f[a]=new gw(this.a.highWaterMark));return this.f[a]};function ow(a,b,c,d,e,f,g){b=[b,c,d];e=(c=kw(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:\"\",a.crossOrigin,a.tileLoadFunction);e.key=g;z(e,\"change\",a.Fi,a);return e}\nk.Pc=function(a,b,c,d,e){if(this.c&&e&&!bc(this.c,e)){var f=this.Ud(e);c=[a,b,c];var g;a=this.Tb.apply(this,c);f.b.hasOwnProperty(a)&&(g=f.get(a));b=this.wc;if(g&&g.key==b)return g;var h=this.c,l=this.Jb(h),m=this.Jb(e),n=kw(this,c,e);d=new aw(h,l,e,m,c,n,this.pb(d),this.Sf(),function(a,b,c,d){return pw(this,a,b,c,d,h)}.bind(this),this.Ha,this.C);d.key=b;g?(d.a=g,f.replace(a,d)):f.set(a,d);return d}return pw(this,a,b,c,d,e)};\nfunction pw(a,b,c,d,e,f){var g,h=a.Tb(b,c,d),l=a.wc;if(a.a.b.hasOwnProperty(h)){if(g=a.a.get(h),g.key!=l){var m=g;g=ow(a,b,c,d,e,f,l);0==m.V()?g.a=m.a:g.a=m;if(g.a){b=g.a;c=g;do{if(2==b.V()){b.a=null;break}else 1==b.V()?c=b:0==b.V()?c.a=b.a:c=b;b=c.a}while(b)}a.a.replace(h,g)}}else g=ow(a,b,c,d,e,f,l),a.a.set(h,g);return g}k.Ob=function(a){if(this.C!=a){this.C=a;for(var b in this.f)this.f[b].clear();this.s()}};k.Pb=function(a,b){var c=Tb(a);c&&(c=w(c).toString(),c in this.u||(this.u[c]=b))};\nfunction nw(a,b){a.Y().src=b};function qw(a){this.A=void 0!==a.hidpi?a.hidpi:!1;W.call(this,{cacheSize:a.cacheSize,crossOrigin:\"anonymous\",opaque:!0,projection:Tb(\"EPSG:3857\"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:\"loading\",tileLoadFunction:a.tileLoadFunction,tilePixelRatio:this.A?2:1,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.I=void 0!==a.culture?a.culture:\"en-us\";this.v=void 0!==a.maxZoom?a.maxZoom:-1;this.i=a.key;this.o=a.imagerySet;$v(\"https://dev.virtualearth.net/REST/v1/Imagery/Metadata/\"+this.o+\"?uriScheme=https&include=ImageryProviders&key=\"+\nthis.i,this.fa.bind(this),void 0,\"jsonp\")}u(qw,W);var rw=new xc({html:'Terms of Use'});qw.prototype.T=function(){return this.i};qw.prototype.ea=function(){return this.o};\nqw.prototype.fa=function(a){if(200!=a.statusCode||\"OK\"!=a.statusDescription||\"ValidCredentials\"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)Vt(this,\"error\");else{var b=a.brandLogoUri;-1==b.indexOf(\"https\")&&(b=b.replace(\"http\",\"https\"));var c=a.resourceSets[0].resources[0],d=-1==this.v?c.zoomMax:this.v;a=uc(this.c);var e=wc({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:(c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight])/this.pb()});\nthis.tileGrid=e;var f=this.I,g=this.A;this.tileUrlFunction=dw(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace(\"{subdomain}\",a).replace(\"{culture}\",f);return function(a){if(a)return ic(a[0],a[1],-a[2]-1,b),a=d,g&&(a+=\"&dpi=d1&device=mobile\"),a.replace(\"{quadkey}\",jc(b))}}));if(c.imageryProviders){var h=Sb(Tb(\"EPSG:4326\"),this.c);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;\na=pb([a[1],a[0],a[3],a[2]],h);var g,l;for(g=b;g<=f;++g)l=g.toString(),b=nc(e,a,g),l in c?c[l].push(b):c[l]=[b]});return new xc({html:b,tileRanges:c})});a.push(rw);this.ua(a)}this.Z=b;Vt(this,\"ready\")}};function sw(a){a=a||{};var b=void 0!==a.projection?a.projection:\"EPSG:3857\",c=void 0!==a.tileGrid?a.tileGrid:wc({extent:uc(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,\nwrapX:void 0!==a.wrapX?a.wrapX:!0})}u(sw,W);function tw(a){this.v=a.account;this.A=a.map||\"\";this.i=a.config||{};this.o={};sw.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:\"loading\",wrapX:a.wrapX});uw(this)}u(tw,sw);k=tw.prototype;k.Gk=function(){return this.i};k.iq=function(a){qb(this.i,a);uw(this)};k.Np=function(a){this.i=a||{};uw(this)};\nfunction uw(a){var b=JSON.stringify(a.i);if(a.o[b])vw(a,a.o[b]);else{var c=\"https://\"+a.v+\".cartodb.com/api/v1/map\";a.A&&(c+=\"/named/\"+a.A);var d=new XMLHttpRequest;d.addEventListener(\"load\",a.yl.bind(a,b));d.addEventListener(\"error\",a.xl.bind(a));d.open(\"POST\",c);d.setRequestHeader(\"Content-type\",\"application/json\");d.send(JSON.stringify(a.i))}}\nk.yl=function(a,b){var c=b.target;if(!c.status||200<=c.status&&300>c.status){var d;try{d=JSON.parse(c.responseText)}catch(e){Vt(this,\"error\");return}vw(this,d);this.o[a]=d;Vt(this,\"ready\")}else Vt(this,\"error\")};k.xl=function(){Vt(this,\"error\")};function vw(a,b){a.ib(\"https://\"+b.cdn_url.https+\"/\"+a.v+\"/api/v1/map/\"+b.layergroupid+\"/{z}/{x}/{y}.png\")};function X(a){T.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.C=void 0;this.I=void 0!==a.distance?a.distance:20;this.A=[];this.Qa=a.geometryFunction||function(a){a=a.U();sa(a instanceof E,10);return a};this.v=a.source;this.v.J(\"change\",X.prototype.bj,this)}u(X,T);k=X.prototype;k.Qn=function(){return this.I};k.Rn=function(){return this.v};k.Xd=function(a,b,c){this.v.Xd(a,b,c);b!==this.C&&(this.clear(),this.C=b,ww(this),this.gd(this.A))};\nk.Op=function(a){this.I=a;this.bj()};k.bj=function(){this.clear();ww(this);this.gd(this.A);this.s()};function ww(a){if(void 0!==a.C){a.A.length=0;for(var b=Ja(),c=a.I*a.C,d=a.v.We(),e={},f=0,g=d.length;fm*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};qb(e,this.f);d=yw(d,e);d=new Gs(a,b,c,this.j,d,this.I,this.i);z(d,\"change\",this.l,this)}else d=null;this.N=d;this.A=this.g;return d};k.Yn=function(){return this.i};k.ao=function(a){qb(this.f,a);this.s()};k.$n=function(a){this.N=null;this.i=a;this.s()};function Bw(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=a.imageLoadFunction?a.imageLoadFunction:Fv;zv.call(this,{attributions:a.attributions,logo:a.logo,projection:Tb(a.projection)});this.N=new Gs(b,void 0,1,this.j,a.url,c,d);this.i=a.imageSize?a.imageSize:null;z(this.N,\"change\",this.l,this)}u(Bw,zv);Bw.prototype.Lc=function(a){return nb(a,this.N.D())?this.N:null};\nBw.prototype.l=function(a){if(2==this.N.V()){var b=this.N.D(),c=this.N.Y(),d,e;this.i?(d=this.i[0],e=this.i[1]):(d=c.width,e=c.height);b=Math.ceil(ib(b)/(jb(b)/e));if(b!=d){var b=hd(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.N.Hg(f)}}zv.prototype.l.call(this,a)};function Cw(a){a=a||{};zv.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.fa=void 0!==a.crossOrigin?a.crossOrigin:null;this.f=a.url;this.u=a.imageLoadFunction?a.imageLoadFunction:Fv;this.i=a.params||{};this.o=!0;Dw(this);this.T=a.serverType;this.na=void 0!==a.hidpi?a.hidpi:!0;this.N=null;this.A=[0,0];this.I=0;this.C=void 0!==a.ratio?a.ratio:1.5}u(Cw,zv);var Ew=[101,101];k=Cw.prototype;\nk.io=function(a,b,c,d){if(void 0!==this.f){var e=lb(a,b,0,Ew),f={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};qb(f,this.i,d);d=Math.floor((e[3]-a[1])/b);f[this.o?\"I\":\"X\"]=Math.floor((a[0]-e[0])/b);f[this.o?\"J\":\"Y\"]=d;return Fw(this,e,Ew,1,Tb(c),f)}};k.ko=function(){return this.i};\nk.Lc=function(a,b,c,d){if(void 0===this.f)return null;b=Av(this,b);1==c||this.na&&void 0!==this.T||(c=1);var e=b/c,f=kb(a),g=lb(f,e,0,[Math.ceil(ib(a)/e),Math.ceil(jb(a)/e)]);a=lb(f,e,0,[Math.ceil(this.C*ib(a)/e),Math.ceil(this.C*jb(a)/e)]);if((f=this.N)&&this.I==this.g&&f.resolution==b&&f.a==c&&Ua(f.D(),g))return f;g={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetMap\",FORMAT:\"image/png\",TRANSPARENT:!0};qb(g,this.i);this.A[0]=Math.round(ib(a)/e);this.A[1]=Math.round(jb(a)/e);d=Fw(this,a,this.A,c,d,g);\nthis.N=new Gs(a,b,c,this.j,d,this.fa,this.u);this.I=this.g;z(this.N,\"change\",this.l,this);return this.N};k.jo=function(){return this.u};\nfunction Fw(a,b,c,d,e,f){sa(void 0!==a.f,9);f[a.o?\"CRS\":\"SRS\"]=e.nb;\"STYLES\"in a.i||(f.STYLES=\"\");if(1!=d)switch(a.T){case \"geoserver\":d=90*d+.5|0;f.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in f?f.FORMAT_OPTIONS+(\";dpi:\"+d):\"dpi:\"+d;break;case \"mapserver\":f.MAP_RESOLUTION=90*d;break;case \"carmentaserver\":case \"qgis\":f.DPI=90*d;break;default:sa(!1,8)}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.o&&\"ne\"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(\",\");return yw(a.f,f)}k.lo=function(){return this.f};\nk.mo=function(a){this.N=null;this.u=a;this.s()};k.no=function(a){a!=this.f&&(this.f=a,this.N=null,this.s())};k.oo=function(a){qb(this.i,a);Dw(this);this.N=null;this.s()};function Dw(a){a.o=0<=We(a.i.VERSION||\"1.3.0\")};function Gw(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Hw];sw.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:\"anonymous\",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:\"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png\",wrapX:a.wrapX})}u(Gw,sw);var Hw=new xc({html:'© OpenStreetMap contributors.'});(function(){var a={},b={ma:a};(function(c){if(\"object\"===typeof a&&\"undefined\"!==typeof b)b.ma=c();else{var d;\"undefined\"!==typeof window?d=window:\"undefined\"!==typeof global?d=global:\"undefined\"!==typeof self?d=self:d=this;d.Cq=c()}})(function(){return function d(a,b,g){function e(h,l){if(!b[h]){if(!a[h]){var m=\"function\"==typeof require&&require;if(!l&&m)return m(h,!0);if(f)return f(h,!0);m=Error(\"Cannot find module '\"+h+\"'\");throw m.code=\"MODULE_NOT_FOUND\",m;}m=b[h]={ma:{}};a[h][0].call(m.ma,function(b){var d=\na[h][1][b];return e(d?d:b)},m,m.ma,d,a,b,g)}return b[h].ma}for(var f=\"function\"==typeof require&&require,m=0;mthis.bk;)this.Fd.shift().jd(null,null)};l.prototype.Vg=function(){if(0===this.oe&&0Stamen Design, under CC BY 3.0.'}),Hw],Rw={terrain:{Ib:\"jpg\",opaque:!0},\"terrain-background\":{Ib:\"jpg\",opaque:!0},\"terrain-labels\":{Ib:\"png\",opaque:!1},\"terrain-lines\":{Ib:\"png\",opaque:!1},\"toner-background\":{Ib:\"png\",opaque:!0},toner:{Ib:\"png\",opaque:!0},\"toner-hybrid\":{Ib:\"png\",opaque:!1},\"toner-labels\":{Ib:\"png\",opaque:!1},\"toner-lines\":{Ib:\"png\",opaque:!1},\"toner-lite\":{Ib:\"png\",\nopaque:!0},watercolor:{Ib:\"jpg\",opaque:!0}},Qw={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};function Tw(a){a=a||{};W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.i=a.params||{};this.o=Ja();jw(this,Uw(this))}u(Tw,W);function Uw(a){var b=0,c=[],d;for(d in a.i)c[b++]=d+\"-\"+a.i[d];return c.join(\"/\")}Tw.prototype.v=function(){return this.i};\nTw.prototype.pb=function(a){return a};\nTw.prototype.Hc=function(a,b,c){var d=this.tileGrid;d||(d=this.Jb(c));if(!(d.b.length<=a[0])){var e=d.Ua(a,this.o),f=Ha(d.eb(a[0]),this.l);1!=b&&(f=Ga(f,b,this.l));d={F:\"image\",FORMAT:\"PNG32\",TRANSPARENT:!0};qb(d,this.i);var g=this.urls;g?(c=c.nb.split(\":\").pop(),d.SIZE=f[0]+\",\"+f[1],d.BBOX=e.join(\",\"),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[Da((a[1]<a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ue();return}this.Ci(b)}else this.Ue()};k.po=function(){this.Ue()};k.kl=function(){return this.i};\nk.Ci=function(a){var b=Tb(\"EPSG:4326\"),c=this.c,d;if(a.bounds){var e=Sb(b,c);d=pb(a.bounds,e)}var f=a.minzoom||0,e=a.maxzoom||22;this.tileGrid=c=wc({extent:uc(c),maxZoom:e,minZoom:f});this.tileUrlFunction=cw(a.tiles,c);if(void 0!==a.attribution&&!this.j){b=void 0!==d?d:b.D();d={};for(var g;f<=e;++f)g=f.toString(),d[g]=[nc(c,b,f)];this.ua([new xc({html:a.attribution,tileRanges:d})])}this.i=a;Vt(this,\"ready\")};k.Ue=function(){Vt(this,\"error\")};function Yw(a){iw.call(this,{projection:Tb(\"EPSG:3857\"),state:\"loading\"});this.u=void 0!==a.preemptive?a.preemptive:!0;this.o=ew;this.f=void 0;this.i=a.jsonp||!1;if(a.url)if(this.i)$v(a.url,this.jg.bind(this),this.Ve.bind(this));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",this.uo.bind(this));b.addEventListener(\"error\",this.to.bind(this));b.open(\"GET\",a.url);b.send()}else a.tileJSON?this.jg(a.tileJSON):sa(!1,51)}u(Yw,iw);k=Yw.prototype;\nk.uo=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ve();return}this.jg(b)}else this.Ve()};k.to=function(){this.Ve()};k.hl=function(){return this.f};k.vk=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Ae(a,b),Zw(this.Pc(b[0],b[1],b[2],1,this.c),a,c,d,e)):!0===e?setTimeout(function(){c.call(d,null)},0):c.call(d,null)};k.Ve=function(){Vt(this,\"error\")};\nk.jg=function(a){var b=Tb(\"EPSG:4326\"),c=this.c,d;if(a.bounds){var e=Sb(b,c);d=pb(a.bounds,e)}var f=a.minzoom||0,e=a.maxzoom||22;this.tileGrid=c=wc({extent:uc(c),maxZoom:e,minZoom:f});this.f=a.template;var g=a.grids;if(g){this.o=cw(g,c);if(void 0!==a.attribution){b=void 0!==d?d:b.D();for(d={};f<=e;++f)g=f.toString(),d[g]=[nc(c,b,f)];this.ua([new xc({html:a.attribution,tileRanges:d})])}Vt(this,\"ready\")}else Vt(this,\"error\")};\nk.Pc=function(a,b,c,d,e){var f=this.Tb(a,b,c);if(this.a.b.hasOwnProperty(f))return this.a.get(f);a=[a,b,c];b=kw(this,a,e);d=this.o(b,d,e);d=new $w(a,void 0!==d?0:4,void 0!==d?d:\"\",this.tileGrid.Ua(a),this.u,this.i);this.a.set(f,d);return d};k.Mg=function(a,b,c){a=this.Tb(a,b,c);this.a.b.hasOwnProperty(a)&&this.a.get(a)};function $w(a,b,c,d,e,f){Is.call(this,a,b);this.o=c;this.g=d;this.v=e;this.c=this.l=this.f=null;this.u=f}u($w,Is);k=$w.prototype;k.Y=function(){return null};\nk.getData=function(a){if(!this.f||!this.l)return null;var b=this.f[Math.floor((1-(a[1]-this.g[1])/(this.g[3]-this.g[1]))*this.f.length)];if(\"string\"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.g[0])/(this.g[2]-this.g[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.l&&(b=this.l[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};\nfunction Zw(a,b,c,d,e){0==a.state&&!0===e?(Gc(a,\"change\",function(){c.call(d,this.getData(b))},a),ax(a)):!0===e?setTimeout(function(){c.call(d,this.getData(b))}.bind(a),0):c.call(d,a.getData(b))}k.hb=function(){return this.o};k.Ce=function(){this.state=3;this.s()};k.Di=function(a){this.f=a.grid;this.l=a.keys;this.c=a.data;this.state=4;this.s()};\nfunction ax(a){if(0==a.state)if(a.state=1,a.u)$v(a.o,a.Di.bind(a),a.Ce.bind(a));else{var b=new XMLHttpRequest;b.addEventListener(\"load\",a.so.bind(a));b.addEventListener(\"error\",a.ro.bind(a));b.open(\"GET\",a.o);b.send()}}k.so=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.Ce();return}this.Di(b)}else this.Ce()};k.ro=function(){this.Ce()};k.load=function(){this.v&&ax(this)};function bx(a){a=a||{};var b=a.params||{};W.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!(\"TRANSPARENT\"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.v=void 0!==a.gutter?a.gutter:0;this.i=b;this.o=!0;this.A=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.I=\"\";\ncx(this);this.ea=Ja();dx(this);jw(this,ex(this))}u(bx,W);k=bx.prototype;\nk.vo=function(a,b,c,d){c=Tb(c);var e=this.tileGrid;e||(e=this.Jb(c));b=e.Ae(a,b);if(!(e.b.length<=b[0])){var f=e.La(b[0]),g=e.Ua(b,this.ea),e=Ha(e.eb(b[0]),this.l),h=this.v;h&&(e=Fa(e,h,this.l),g=Ma(g,f*h,g));h={SERVICE:\"WMS\",VERSION:\"1.3.0\",REQUEST:\"GetFeatureInfo\",FORMAT:\"image/png\",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};qb(h,this.i,d);d=Math.floor((g[3]-a[1])/f);h[this.o?\"I\":\"X\"]=Math.floor((a[0]-g[0])/f);h[this.o?\"J\":\"Y\"]=d;return fx(this,b,e,g,1,c,h)}};k.Sf=function(){return this.v};\nk.Tb=function(a,b,c){return this.I+W.prototype.Tb.call(this,a,b,c)};k.wo=function(){return this.i};\nfunction fx(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.o?\"CRS\":\"SRS\"]=f.nb;\"STYLES\"in a.i||(g.STYLES=\"\");if(1!=e)switch(a.A){case \"geoserver\":c=90*e+.5|0;g.FORMAT_OPTIONS=\"FORMAT_OPTIONS\"in g?g.FORMAT_OPTIONS+(\";dpi:\"+c):\"dpi:\"+c;break;case \"mapserver\":g.MAP_RESOLUTION=90*e;break;case \"carmentaserver\":case \"qgis\":g.DPI=90*e;break;default:sa(!1,52)}f=f.b;a.o&&\"ne\"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(\",\");return yw(1==h.length?h[0]:h[Da((b[1]<<\nb[0])+b[2],h.length)],g)}}k.pb=function(a){return this.T&&void 0!==this.A?a:1};function cx(a){var b=0,c=[];if(a.urls){var d,e;d=0;for(e=a.urls.length;df||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case ox:for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1;break;default:sa(!1,53)}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d=b+this.b&&f.height>=c+this.b)return h={offsetX:f.x+this.b,offsetY:f.y+this.b,image:this.i},this.c[a]=h,d.call(e,this.g,f.x+this.b,f.y+this.b),a=g,b+=this.b,d=c+this.b,f.width-b>f.height-d?(c={x:f.x+b,y:f.y,width:f.width-b,height:f.height},b={x:f.x,y:f.y+d,width:b,height:f.height-d},rx(this,a,c,b)):(c={x:f.x+b,y:f.y,width:f.width-b,height:d},b={x:f.x,y:f.y+d,width:f.width,height:f.height-d},rx(this,\na,c,b)),h;return null};function rx(a,b,c,d){b=[b,1];0this.g||c+this.b>this.g)return null;d=tx(this,!1,a,b,c,d,f);if(!d)return null;a=tx(this,!0,a,b,c,e?e:oa,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Ul:a.image}};\nfunction tx(a,b,c,d,e,f,g){var h=b?a.f:a.i,l,m,n;m=0;for(n=h.length;ma?qd(2*a):1-qd(2*(a-.5))});t(\"ol.extent.boundingExtent\",Ia);t(\"ol.extent.buffer\",Ma);\nt(\"ol.extent.containsCoordinate\",Qa);t(\"ol.extent.containsExtent\",Ua);t(\"ol.extent.containsXY\",Sa);t(\"ol.extent.createEmpty\",Ja);t(\"ol.extent.equals\",$a);t(\"ol.extent.extend\",ab);t(\"ol.extent.getBottomLeft\",cb);t(\"ol.extent.getBottomRight\",db);t(\"ol.extent.getCenter\",kb);t(\"ol.extent.getHeight\",jb);t(\"ol.extent.getIntersection\",mb);t(\"ol.extent.getSize\",function(a){return[a[2]-a[0],a[3]-a[1]]});t(\"ol.extent.getTopLeft\",fb);t(\"ol.extent.getTopRight\",eb);t(\"ol.extent.getWidth\",ib);\nt(\"ol.extent.intersects\",nb);t(\"ol.extent.isEmpty\",hb);t(\"ol.extent.applyTransform\",pb);t(\"ol.Feature\",I);I.prototype.clone=I.prototype.clone;I.prototype.getGeometry=I.prototype.U;I.prototype.getId=I.prototype.sm;I.prototype.getGeometryName=I.prototype.Mk;I.prototype.getStyle=I.prototype.tm;I.prototype.getStyleFunction=I.prototype.Rc;I.prototype.setGeometry=I.prototype.Ta;I.prototype.setStyle=I.prototype.cg;I.prototype.setId=I.prototype.lc;I.prototype.setGeometryName=I.prototype.Yc;\nt(\"ol.featureloader.xhr\",Dl);t(\"ol.Geolocation\",us);us.prototype.getAccuracy=us.prototype.zk;us.prototype.getAccuracyGeometry=us.prototype.Ak;us.prototype.getAltitude=us.prototype.Ck;us.prototype.getAltitudeAccuracy=us.prototype.Dk;us.prototype.getHeading=us.prototype.um;us.prototype.getPosition=us.prototype.vm;us.prototype.getProjection=us.prototype.Nh;us.prototype.getSpeed=us.prototype.gl;us.prototype.getTracking=us.prototype.Oh;us.prototype.getTrackingOptions=us.prototype.zh;\nus.prototype.setProjection=us.prototype.Ph;us.prototype.setTracking=us.prototype.Je;us.prototype.setTrackingOptions=us.prototype.sj;t(\"ol.Graticule\",As);As.prototype.getMap=As.prototype.ym;As.prototype.getMeridians=As.prototype.Wk;As.prototype.getParallels=As.prototype.cl;As.prototype.setMap=As.prototype.setMap;t(\"ol.has.DEVICE_PIXEL_RATIO\",Td);t(\"ol.has.CANVAS\",Vd);t(\"ol.has.DEVICE_ORIENTATION\",Wd);t(\"ol.has.GEOLOCATION\",Xd);t(\"ol.has.TOUCH\",Yd);t(\"ol.has.WEBGL\",Nd);Gs.prototype.getImage=Gs.prototype.Y;\nGs.prototype.load=Gs.prototype.load;Ks.prototype.getImage=Ks.prototype.Y;t(\"ol.inherits\",u);t(\"ol.interaction.defaults\",oh);t(\"ol.Kinetic\",ig);t(\"ol.loadingstrategy.all\",St);t(\"ol.loadingstrategy.bbox\",function(a){return[a]});t(\"ol.loadingstrategy.tile\",function(a){return function(b,c){var d=a.Qc(c),e=nc(a,b,d),f=[],d=[d,0,0];for(d[1]=e.da;d[1]<=e.ba;++d[1])for(d[2]=e.ga;d[2]<=e.ja;++d[2])f.push(a.Ua(d));return f}});t(\"ol.Map\",H);H.prototype.addControl=H.prototype.gk;H.prototype.addInteraction=H.prototype.hk;\nH.prototype.addLayer=H.prototype.$g;H.prototype.addOverlay=H.prototype.ah;H.prototype.forEachFeatureAtPixel=H.prototype.we;H.prototype.forEachLayerAtPixel=H.prototype.Em;H.prototype.hasFeatureAtPixel=H.prototype.Tl;H.prototype.getEventCoordinate=H.prototype.Of;H.prototype.getEventPixel=H.prototype.xe;H.prototype.getTarget=H.prototype.Wf;H.prototype.getTargetElement=H.prototype.vc;H.prototype.getCoordinateFromPixel=H.prototype.Xa;H.prototype.getControls=H.prototype.Hk;H.prototype.getOverlays=H.prototype.al;\nH.prototype.getOverlayById=H.prototype.$k;H.prototype.getInteractions=H.prototype.Nk;H.prototype.getLayerGroup=H.prototype.Mc;H.prototype.getLayers=H.prototype.Qh;H.prototype.getPixelFromCoordinate=H.prototype.Ka;H.prototype.getSize=H.prototype.Nb;H.prototype.getView=H.prototype.$;H.prototype.getViewport=H.prototype.nl;H.prototype.renderSync=H.prototype.Jp;H.prototype.render=H.prototype.render;H.prototype.removeControl=H.prototype.Cp;H.prototype.removeInteraction=H.prototype.Dp;\nH.prototype.removeLayer=H.prototype.Fp;H.prototype.removeOverlay=H.prototype.Gp;H.prototype.setLayerGroup=H.prototype.lj;H.prototype.setSize=H.prototype.Ig;H.prototype.setTarget=H.prototype.Ke;H.prototype.setView=H.prototype.Yp;H.prototype.updateSize=H.prototype.Cd;Hd.prototype.originalEvent=Hd.prototype.originalEvent;Hd.prototype.pixel=Hd.prototype.pixel;Hd.prototype.coordinate=Hd.prototype.coordinate;Hd.prototype.dragging=Hd.prototype.dragging;Gd.prototype.map=Gd.prototype.map;\nGd.prototype.frameState=Gd.prototype.frameState;t(\"ol.Object\",Qc);Qc.prototype.get=Qc.prototype.get;Qc.prototype.getKeys=Qc.prototype.P;Qc.prototype.getProperties=Qc.prototype.M;Qc.prototype.set=Qc.prototype.set;Qc.prototype.setProperties=Qc.prototype.H;Qc.prototype.unset=Qc.prototype.R;Uc.prototype.key=Uc.prototype.key;Uc.prototype.oldValue=Uc.prototype.oldValue;t(\"ol.Observable\",Pc);t(\"ol.Observable.unByKey\",function(a){if(Array.isArray(a))for(var b=0,c=a.length;be&&(e=0);f=c.TileMatrixSetLink[e].TileMatrixSet;g=c.TileMatrixSetLink[e].TileMatrixSetLimits;var h=c.Format[0];\"format\"in b&&(h=b.format);e=ma(c.Style,function(a){return\"style\"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var l={};\"Dimension\"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);l[b]=c});var m=ia(a.Contents.TileMatrixSet,function(a){return a.Identifier==f}),n;n=\"projection\"in b?Tb(b.projection):Tb(m.SupportedCRS.replace(/urn:ogc:def:crs:(\\w+):(.*:)?(\\w+)$/,\n\"$1:$3\"));var p=c.WGS84BoundingBox,q,r;void 0!==p&&(r=Tb(\"EPSG:4326\").D(),r=p[0]==r[0]&&p[2]==r[2],q=gc(p,\"EPSG:4326\",n),(p=n.D())&&(Ua(p,q)||(q=void 0)));g=kx(m,q,g);var v=[],m=b.requestEncoding,m=void 0!==m?m:\"\";if(\"OperationsMetadata\"in a&&\"GetTile\"in a.OperationsMetadata){q=a.OperationsMetadata.GetTile.DCP.HTTP.Get;for(var p=0,x=q.length;p 60) {\n return 60;\n }\n }\n return zone;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/adjust_zone.js\n// module id = 384\n// module chunks = 0","import hypot from './hypot';\nimport log1py from './log1py';\n\nexport default function(x) {\n var y = Math.abs(x);\n y = log1py(y * (1 + y / (hypot(1, y) + 1)));\n\n return x < 0 ? -y : y;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/asinhy.js\n// module id = 385\n// module chunks = 0","export default function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens.js\n// module id = 386\n// module chunks = 0","import sinh from './sinh';\nimport cosh from './cosh';\n\nexport default function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = sinh(arg_i);\n var cosh_arg_i = cosh(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/clens_cmplx.js\n// module id = 387\n// module chunks = 0","export default function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/cosh.js\n// module id = 388\n// module chunks = 0","export default function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/gatg.js\n// module id = 389\n// module chunks = 0","import {HALF_PI} from '../constants/values';\n\nexport default function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * HALF_PI);\n }\n else {\n return HALF_PI;\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/iqsfnz.js\n// module id = 390\n// module chunks = 0","export default function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/log1py.js\n// module id = 391\n// module chunks = 0","export default function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/common/srat.js\n// module id = 392\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.wgs84 = {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n};\n\nexports.ch1903 = {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n};\n\nexports.ggrs87 = {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n};\n\nexports.nad83 = {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n};\n\nexports.nad27 = {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n};\n\nexports.potsdam = {\n towgs84: \"606.0,23.0,413.0\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n};\n\nexports.carthage = {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n};\n\nexports.hermannskogel = {\n towgs84: \"653.0,-212.0,449.0\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n};\n\nexports.ire65 = {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n};\n\nexports.rassadiran = {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n};\n\nexports.nzgd49 = {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n};\n\nexports.osgb36 = {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Airy 1830\"\n};\n\nexports.s_jtsk = {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n};\n\nexports.beduaram = {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n};\n\nexports.gunung_segara = {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n};\n\nexports.rnb72 = {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Datum.js\n// module id = 393\n// module chunks = 0","var exports = {};\nexport {exports as default};\nexports.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n};\n\nexports.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n};\n\nexports.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n};\n\nexports.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n};\n\nexports.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n};\n\nexports.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n};\n\nexports.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n};\n\nexports.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n};\n\nexports.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n};\n\nexports.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n};\n\nexports.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n};\n\nexports.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n};\n\nexports.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n};\n\nexports.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n};\n\nexports.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n};\n\nexports.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n};\n\nexports.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n};\n\nexports.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n};\n\nexports.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n};\n\nexports.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n};\n\nexports.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n};\n\nexports.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n};\n\nexports.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n};\n\nexports.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n};\n\nexports.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n};\n\nexports.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n};\n\nexports.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n};\n\nexports.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n};\n\nexports.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n};\n\nexports.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n};\n\nexports.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n};\n\nexports.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n};\n\nexports.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n};\n\nexports.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n};\n\nexports.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n};\n\nexports.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n};\n\nexports.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n};\n\nexports.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n};\n\nexports.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n};\n\nexports.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n};\n\nexports.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n};\n\nexport var WGS84 = exports.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n};\n\nexports.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/Ellipsoid.js\n// module id = 394\n// module chunks = 0","var exports = {};\nexport {exports as default};\n\nexports.greenwich = 0.0; //\"0dE\",\nexports.lisbon = -9.131906111111; //\"9d07'54.862\\\"W\",\nexports.paris = 2.337229166667; //\"2d20'14.025\\\"E\",\nexports.bogota = -74.080916666667; //\"74d04'51.3\\\"W\",\nexports.madrid = -3.687938888889; //\"3d41'16.58\\\"W\",\nexports.rome = 12.452333333333; //\"12d27'8.4\\\"E\",\nexports.bern = 7.439583333333; //\"7d26'22.5\\\"E\",\nexports.jakarta = 106.807719444444; //\"106d48'27.79\\\"E\",\nexports.ferro = -17.666666666667; //\"17d40'W\",\nexports.brussels = 4.367975; //\"4d22'4.71\\\"E\",\nexports.stockholm = 18.058277777778; //\"18d3'29.8\\\"E\",\nexports.athens = 23.7163375; //\"23d42'58.815\\\"E\",\nexports.oslo = 10.722916666667; //\"10d43'22.5\\\"E\"\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/PrimeMeridian.js\n// module id = 395\n// module chunks = 0","export default {\n ft: {to_meter: 0.3048},\n 'us-ft': {to_meter: 1200 / 3937}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/constants/units.js\n// module id = 396\n// module chunks = 0","import proj from './Proj';\nimport transform from './transform';\nvar wgs84 = proj('WGS84');\n\nfunction transformer(from, to, coords) {\n var transformedArray;\n if (Array.isArray(coords)) {\n transformedArray = transform(from, to, coords);\n if (coords.length === 3) {\n return [transformedArray.x, transformedArray.y, transformedArray.z];\n }\n else {\n return [transformedArray.x, transformedArray.y];\n }\n }\n else {\n return transform(from, to, coords);\n }\n}\n\nfunction checkProj(item) {\n if (item instanceof proj) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return proj(item);\n}\nfunction proj4(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n }\n else {\n obj = {\n forward: function(coords) {\n return transformer(fromProj, toProj, coords);\n },\n inverse: function(coords) {\n return transformer(toProj, fromProj, coords);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n}\nexport default proj4;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/core.js\n// module id = 397\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_WGS84, PJD_NODATUM, SEC_TO_RAD} from './constants/values';\n\nfunction datum(datumCode, datum_params, a, b, es, ep2) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = PJD_NODATUM;\n } else {\n out.datum_type = PJD_WGS84;\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = PJD_3PARAM;\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = PJD_7PARAM;\n out.datum_params[3] *= SEC_TO_RAD;\n out.datum_params[4] *= SEC_TO_RAD;\n out.datum_params[5] *= SEC_TO_RAD;\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n}\n\nexport default datum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum.js\n// module id = 398\n// module chunks = 0","'use strict';\nimport {PJD_3PARAM, PJD_7PARAM, HALF_PI} from './constants/values';\nexport function compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === PJD_3PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === PJD_7PARAM) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n} // cs_compare_datums()\n\n/*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\nexport function geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -HALF_PI && Latitude > -1.001 * HALF_PI) {\n Latitude = -HALF_PI;\n } else if (Latitude > HALF_PI && Latitude < 1.001 * HALF_PI) {\n Latitude = HALF_PI;\n } else if ((Latitude < -HALF_PI) || (Latitude > HALF_PI)) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return null;\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n} // cs_geodetic_to_geocentric()\n\nexport function geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = HALF_PI;\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n} // cs_geocentric_to_geodetic()\n\n/****************************************************************/\n// pj_geocentic_to_wgs84( p )\n// p = point to transform in geocentric coordinates (x,y,z)\n\n\n/** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n*/\nexport function geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n} // cs_geocentric_to_wgs84\n\n/****************************************************************/\n// pj_geocentic_from_wgs84()\n// coordinate system definition,\n// point to transform in geocentric coordinates (x,y,z)\nexport function geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === PJD_3PARAM) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === PJD_7PARAM) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datumUtils.js\n// module id = 399\n// module chunks = 0","import {PJD_3PARAM, PJD_7PARAM, PJD_NODATUM} from './constants/values';\n\nimport {geodeticToGeocentric, geocentricToGeodetic, geocentricToWgs84, geocentricFromWgs84, compareDatums} from './datumUtils';\nfunction checkParams(type) {\n return (type === PJD_3PARAM || type === PJD_7PARAM);\n}\n\nexport default function(source, dest, point) {\n // Short cut if the datums are identical.\n if (compareDatums(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === PJD_NODATUM || dest.datum_type === PJD_NODATUM) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n\n // Do we need to go through geocentric coordinates?\n if (source.es === dest.es && source.a === dest.a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = geodeticToGeocentric(point, source.es, source.a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = geocentricToWgs84(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = geocentricFromWgs84(point, dest.datum_type, dest.datum_params);\n }\n return geocentricToGeodetic(point, dest.es, dest.a, dest.b);\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/datum_transform.js\n// module id = 400\n// module chunks = 0","import {SIXTH, RA4, RA6, EPSLN} from './constants/values';\nimport {default as Ellipsoid, WGS84} from './constants/Ellipsoid';\nimport match from './match';\n\nexport function eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (SIXTH + es * (RA4 + es * RA6));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n}\nexport function sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = match(Ellipsoid, ellps);\n if (!ellipse) {\n ellipse = WGS84;\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < EPSLN) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/deriveConstants.js\n// module id = 401\n// module chunks = 0","export default function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/extend.js\n// module id = 402\n// module chunks = 0","export default function(defs) {\n defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n defs('EPSG:4269', \"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\");\n defs('EPSG:3857', \"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\");\n\n defs.WGS84 = defs['EPSG:4326'];\n defs['EPSG:3785'] = defs['EPSG:3857']; // maintain backward compat, official code is 3857\n defs.GOOGLE = defs['EPSG:3857'];\n defs['EPSG:900913'] = defs['EPSG:3857'];\n defs['EPSG:102113'] = defs['EPSG:3857'];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/global.js\n// module id = 403\n// module chunks = 0","import proj4 from './core';\nimport Proj from \"./Proj\";\nimport Point from \"./Point\";\nimport common from \"./common/toPoint\";\nimport defs from \"./defs\";\nimport transform from \"./transform\";\nimport mgrs from \"mgrs\";\nimport version from \"./version\";\nimport includedProjections from \"../projs\";\n\nproj4.defaultDatum = 'WGS84'; //default datum\nproj4.Proj = Proj;\nproj4.WGS84 = new proj4.Proj('WGS84');\nproj4.Point = Point;\nproj4.toPoint = common;\nproj4.defs = defs;\nproj4.transform = transform;\nproj4.mgrs = mgrs;\nproj4.version = version;\nincludedProjections(proj4);\nexport default proj4;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/index.js\n// module id = 404\n// module chunks = 0","import defs from './defs';\nimport wkt from 'wkt-parser';\nimport projStr from './projString';\nfunction testObj(code){\n return typeof code === 'string';\n}\nfunction testDef(code){\n return code in defs;\n}\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS']; \nfunction testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n}\nfunction testProj(code){\n return code[0] === '+';\n}\nfunction parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return defs[code];\n }\n if (testWKT(code)) {\n return wkt(code);\n }\n if (testProj(code)) {\n return projStr(code);\n }\n }else{\n return code;\n }\n}\n\nexport default parse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/parseCode.js\n// module id = 405\n// module chunks = 0","import merc from \"./projections/merc\";\nimport longlat from \"./projections/longlat\";\nvar projs = [merc, longlat];\nvar names = {};\nvar projStore = [];\n\nfunction add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n}\n\nexport {add};\n\nexport function get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n}\n\nexport function start() {\n projs.forEach(add);\n}\nexport default {\n start: start,\n add: add,\n get: get\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections.js\n// module id = 406\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs1 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = msfnz(this.e3, this.sin_po, this.cos_po);\n this.qs2 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = qsfnz(this.e3, this.sin_po, this.cos_po);\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n}\n\n/* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = qsfnz(this.e3, this.sin_phi, this.cos_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * adjust_lon(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = adjust_lon(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n}\n\n/* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n-------------------------------------------*/\nexport function phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = asinz(0.5 * qs);\n if (eccent < EPSLN) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n}\n\nexport var names = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n phi1z: phi1z\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aea.js\n// module id = 407\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport asinz from '../common/asinz';\nimport imlfn from '../common/imlfn';\n\n\n\nexport function init() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = adjust_lon(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n p.x = this.x0 + this.a * (HALF_PI - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (HALF_PI - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n p.x = this.x0 + this.a * (HALF_PI + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (HALF_PI + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c / Math.sin(c);\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South Pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n Ml = this.a * mlfn(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = gN(this.a, this.e, this.sin_p12);\n Nl = gN(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= EPSLN) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n}\n\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * HALF_PI * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n }\n else {\n lat = asinz(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = adjust_lon(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = e0fn(this.es);\n e1 = e1fn(this.es);\n e2 = e2fn(this.es);\n e3 = e3fn(this.es);\n if (Math.abs(this.sin_p12 - 1) <= EPSLN) {\n //North pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= EPSLN) {\n //South pole case\n Mlp = this.a * mlfn(e0, e1, e2, e3, HALF_PI);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = imlfn(M / this.a, e0, e1, e2, e3);\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = gN(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = adjust_lon(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n lat = Math.atan((1 - this.es * F * this.sin_p12 / Math.sin(psi)) * Math.tan(psi) / (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n}\n\nexport var names = [\"Azimuthal_Equidistant\", \"aeqd\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/aeqd.js\n// module id = 408\n// module chunks = 0","import mlfn from '../common/mlfn';\nimport e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport gN from '../common/gN';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nexport function init() {\n if (!this.sphere) {\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n}\n\n/* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = adjust_lon(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = gN(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = imlfn(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - HALF_PI) <= EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = gN(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = adjust_lon(lam + this.long0);\n p.y = adjust_lat(phi);\n return p;\n\n}\n\nexport var names = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cass.js\n// module id = 409\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport qsfnz from '../common/qsfnz';\nimport msfnz from '../common/msfnz';\nimport iqsfnz from '../common/iqsfnz';\n\n/*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n*/\nexport function init() {\n //no-op\n if (!this.sphere) {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n}\n\n/* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = qsfnz(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);\n lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"cea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/cea.js\n// module id = 410\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\n\nexport function init() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n}\n\n// forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = adjust_lon(lon - this.long0);\n var dlat = adjust_lat(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n}\n\n// inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = adjust_lon(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = adjust_lat(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n}\n\nexport var names = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqc.js\n// module id = 411\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport msfnz from '../common/msfnz';\nimport mlfn from '../common/mlfn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport imlfn from '../common/imlfn';\nimport {EPSLN} from '../constants/values';\n\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml1 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < EPSLN) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = msfnz(this.e, this.sinphi, this.cosphi);\n this.ml2 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n}\n\n/* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = mlfn(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = adjust_lon(this.long0 + theta / this.ns);\n lat = adjust_lat(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = imlfn(ml, this.e0, this.e1, this.e2, this.e3);\n lon = adjust_lon(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n}\n\nexport var names = [\"Equidistant_Conic\", \"eqdc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/eqdc.js\n// module id = 412\n// module chunks = 0","import srat from '../common/srat';\nvar MAX_ITER = 20;\nimport {HALF_PI, FORTPI} from '../constants/values';\n\nexport function init() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + FORTPI) / (Math.pow(Math.tan(0.5 * this.lat0 + FORTPI), this.C) * srat(this.e * sphi, this.ratexp));\n}\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + FORTPI), this.C) * srat(this.e * Math.sin(lat), this.ratexp)) - HALF_PI;\n p.x = this.C * lon;\n return p;\n}\n\nexport function inverse(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + FORTPI) / this.K, 1 / this.C);\n for (var i = MAX_ITER; i > 0; --i) {\n lat = 2 * Math.atan(num * srat(this.e * Math.sin(p.y), - 0.5 * this.e)) - HALF_PI;\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gauss\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gauss.js\n// module id = 413\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN} from '../constants/values';\n\n/*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\nexport function init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n}\n\n/* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = asinz(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = adjust_lon(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"gnom\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/gnom.js\n// module id = 414\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n}\n\n/* ellipsoid */\n/* calculate xy from lat/lon */\n/* Constants, identical to inverse transform function */\nexport function forward(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = adjust_lon(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n}\n\n/* calculate lat/lon from xy */\nexport function inverse(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n}\n\nexport var names = [\"Krovak\", \"krovak\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/krovak.js\n// module id = 415\n// module chunks = 0","\nimport {HALF_PI, EPSLN, FORTPI} from '../constants/values';\n\nimport qsfnz from '../common/qsfnz';\nimport adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\nexport var S_POLE = 1;\n\nexport var N_POLE = 2;\nexport var EQUIT = 3;\nexport var OBLIQ = 4;\n\n/* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\nexport function init() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - HALF_PI) < EPSLN) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < EPSLN) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = qsfnz(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = qsfnz(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n}\n\n/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = adjust_lon(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= EPSLN) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.phi0) < EPSLN) {\n return null;\n }\n y = FORTPI - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = qsfnz(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = HALF_PI + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - HALF_PI;\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < EPSLN) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= EPSLN) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= EPSLN) ? this.phi0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = HALF_PI - phi;\n break;\n case this.S_POLE:\n phi -= HALF_PI;\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < EPSLN) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = adjust_lon(this.long0 + lam);\n p.y = phi;\n return p;\n}\n\n/* determine latitude from authalic latitude */\nvar P00 = 0.33333333333333333333;\n\nvar P01 = 0.17222222222222222222;\nvar P02 = 0.10257936507936507936;\nvar P10 = 0.06388888888888888888;\nvar P11 = 0.06640211640211640211;\nvar P20 = 0.01641501294219154443;\n\nfunction authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n}\n\nfunction authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n}\n\nexport var names = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/laea.js\n// module id = 416\n// module chunks = 0","import msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport sign from '../common/sign';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {HALF_PI, EPSLN} from '../constants/values';\nexport function init() {\n\n // array of: r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north\n //double c_lat; /* center latitude */\n //double c_lon; /* center longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < EPSLN) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = msfnz(this.e, sin1, cos1);\n var ts1 = tsfnz(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = msfnz(this.e, sin2, cos2);\n var ts2 = tsfnz(this.e, this.lat2, sin2);\n\n var ts0 = tsfnz(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > EPSLN) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n}\n\n// Lambert Conformal conic forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= EPSLN) {\n lat = sign(lat) * (HALF_PI - 2 * EPSLN);\n }\n\n var con = Math.abs(Math.abs(lat) - HALF_PI);\n var ts, rh1;\n if (con > EPSLN) {\n ts = tsfnz(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * adjust_lon(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n}\n\n// Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nexport function inverse(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -HALF_PI;\n }\n lon = adjust_lon(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Lambert Tangential Conformal Conic Projection\", \"Lambert_Conformal_Conic\", \"Lambert_Conformal_Conic_2SP\", \"lcc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/lcc.js\n// module id = 417\n// module chunks = 0","export function init() {\n //no-op for longlat\n}\n\nfunction identity(pt) {\n return pt;\n}\nexport {identity as forward};\nexport {identity as inverse};\nexport var names = [\"longlat\", \"identity\"];\nexport default {\n init: init,\n forward: identity,\n inverse: identity,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/longlat.js\n// module id = 418\n// module chunks = 0","import msfnz from '../common/msfnz';\n\nimport adjust_lon from '../common/adjust_lon';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport {FORTPI, R2D, EPSLN, HALF_PI} from '../constants/values';\nexport function init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n}\n\n/* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * R2D > 90 && lat * R2D < -90 && lon * R2D > 180 && lon * R2D < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(FORTPI + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = tsfnz(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * adjust_lon(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n}\n\n/* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\nexport function inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = HALF_PI - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = phi2z(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = adjust_lon(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/merc.js\n// module id = 419\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n/* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\nexport function init() {\n //no-op\n}\n\n/* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = adjust_lon(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Miller_Cylindrical\", \"mill\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/mill.js\n// module id = 420\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nexport function init() {}\nimport {EPSLN} from '../constants/values';\n/* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\nexport function forward(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n for (var i = 0; true; i++) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < EPSLN) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < EPSLN) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = adjust_lon(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Mollweide\", \"moll\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/moll.js\n// module id = 421\n// module chunks = 0","import {SEC_TO_RAD} from '../constants/values';\n\n/*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n/**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\nexport var iterations = 1;\n\nexport function init() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n}\n\n/**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / SEC_TO_RAD * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n}\n\n/**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * SEC_TO_RAD * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"New_Zealand_Map_Grid\", \"nzmg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/nzmg.js\n// module id = 422\n// module chunks = 0","import tsfnz from '../common/tsfnz';\nimport adjust_lon from '../common/adjust_lon';\nimport phi2z from '../common/phi2z';\nimport {EPSLN, HALF_PI, FORTPI} from '../constants/values';\n\n/* Initialize the Oblique Mercator projection\n ------------------------------------------*/\nexport function init() {\n this.no_off = this.no_off || false;\n this.no_rot = this.no_rot || false;\n\n if (isNaN(this.k0)) {\n this.k0 = 1;\n }\n var sinlat = Math.sin(this.lat0);\n var coslat = Math.cos(this.lat0);\n var con = this.e * sinlat;\n\n this.bl = Math.sqrt(1 + this.es / (1 - this.es) * Math.pow(coslat, 4));\n this.al = this.a * this.bl * this.k0 * Math.sqrt(1 - this.es) / (1 - con * con);\n var t0 = tsfnz(this.e, this.lat0, sinlat);\n var dl = this.bl / coslat * Math.sqrt((1 - this.es) / (1 - con * con));\n if (dl * dl < 1) {\n dl = 1;\n }\n var fl;\n var gl;\n if (!isNaN(this.longc)) {\n //Central point and azimuth method\n\n if (this.lat0 >= 0) {\n fl = dl + Math.sqrt(dl * dl - 1);\n }\n else {\n fl = dl - Math.sqrt(dl * dl - 1);\n }\n this.el = fl * Math.pow(t0, this.bl);\n gl = 0.5 * (fl - 1 / fl);\n this.gamma0 = Math.asin(Math.sin(this.alpha) / dl);\n this.long0 = this.longc - Math.asin(gl * Math.tan(this.gamma0)) / this.bl;\n\n }\n else {\n //2 points method\n var t1 = tsfnz(this.e, this.lat1, Math.sin(this.lat1));\n var t2 = tsfnz(this.e, this.lat2, Math.sin(this.lat2));\n if (this.lat0 >= 0) {\n this.el = (dl + Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n else {\n this.el = (dl - Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n var hl = Math.pow(t1, this.bl);\n var ll = Math.pow(t2, this.bl);\n fl = this.el / hl;\n gl = 0.5 * (fl - 1 / fl);\n var jl = (this.el * this.el - ll * hl) / (this.el * this.el + ll * hl);\n var pl = (ll - hl) / (ll + hl);\n var dlon12 = adjust_lon(this.long1 - this.long2);\n this.long0 = 0.5 * (this.long1 + this.long2) - Math.atan(jl * Math.tan(0.5 * this.bl * (dlon12)) / pl) / this.bl;\n this.long0 = adjust_lon(this.long0);\n var dlon10 = adjust_lon(this.long1 - this.long0);\n this.gamma0 = Math.atan(Math.sin(this.bl * (dlon10)) / gl);\n this.alpha = Math.asin(dl * Math.sin(this.gamma0));\n }\n\n if (this.no_off) {\n this.uc = 0;\n }\n else {\n if (this.lat0 >= 0) {\n this.uc = this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n else {\n this.uc = -1 * this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n }\n\n}\n\n/* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var dlon = adjust_lon(lon - this.long0);\n var us, vs;\n var con;\n if (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN) {\n if (lat > 0) {\n con = -1;\n }\n else {\n con = 1;\n }\n vs = this.al / this.bl * Math.log(Math.tan(FORTPI + con * this.gamma0 * 0.5));\n us = -1 * con * HALF_PI * this.al / this.bl;\n }\n else {\n var t = tsfnz(this.e, lat, Math.sin(lat));\n var ql = this.el / Math.pow(t, this.bl);\n var sl = 0.5 * (ql - 1 / ql);\n var tl = 0.5 * (ql + 1 / ql);\n var vl = Math.sin(this.bl * (dlon));\n var ul = (sl * Math.sin(this.gamma0) - vl * Math.cos(this.gamma0)) / tl;\n if (Math.abs(Math.abs(ul) - 1) <= EPSLN) {\n vs = Number.POSITIVE_INFINITY;\n }\n else {\n vs = 0.5 * this.al * Math.log((1 - ul) / (1 + ul)) / this.bl;\n }\n if (Math.abs(Math.cos(this.bl * (dlon))) <= EPSLN) {\n us = this.al * this.bl * (dlon);\n }\n else {\n us = this.al * Math.atan2(sl * Math.cos(this.gamma0) + vl * Math.sin(this.gamma0), Math.cos(this.bl * dlon)) / this.bl;\n }\n }\n\n if (this.no_rot) {\n p.x = this.x0 + us;\n p.y = this.y0 + vs;\n }\n else {\n\n us -= this.uc;\n p.x = this.x0 + vs * Math.cos(this.alpha) + us * Math.sin(this.alpha);\n p.y = this.y0 + us * Math.cos(this.alpha) - vs * Math.sin(this.alpha);\n }\n return p;\n}\n\nexport function inverse(p) {\n var us, vs;\n if (this.no_rot) {\n vs = p.y - this.y0;\n us = p.x - this.x0;\n }\n else {\n vs = (p.x - this.x0) * Math.cos(this.alpha) - (p.y - this.y0) * Math.sin(this.alpha);\n us = (p.y - this.y0) * Math.cos(this.alpha) + (p.x - this.x0) * Math.sin(this.alpha);\n us += this.uc;\n }\n var qp = Math.exp(-1 * this.bl * vs / this.al);\n var sp = 0.5 * (qp - 1 / qp);\n var tp = 0.5 * (qp + 1 / qp);\n var vp = Math.sin(this.bl * us / this.al);\n var up = (vp * Math.cos(this.gamma0) + sp * Math.sin(this.gamma0)) / tp;\n var ts = Math.pow(this.el / Math.sqrt((1 + up) / (1 - up)), 1 / this.bl);\n if (Math.abs(up - 1) < EPSLN) {\n p.x = this.long0;\n p.y = HALF_PI;\n }\n else if (Math.abs(up + 1) < EPSLN) {\n p.x = this.long0;\n p.y = -1 * HALF_PI;\n }\n else {\n p.y = phi2z(this.e, ts);\n p.x = adjust_lon(this.long0 - Math.atan2(sp * Math.cos(this.gamma0) - vp * Math.sin(this.gamma0), Math.cos(this.bl * us / this.al)) / this.bl);\n }\n return p;\n}\n\nexport var names = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"omerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/omerc.js\n// module id = 423\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport asinz from '../common/asinz';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nexport function init() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n}\n\n/* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = adjust_lon(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= EPSLN)) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = asinz(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= EPSLN) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = asinz(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - HALF_PI;\n if (Math.abs(con) <= EPSLN) {\n if (this.lat0 >= 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = adjust_lon(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"ortho\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/ortho.js\n// module id = 424\n// module chunks = 0","import e0fn from '../common/e0fn';\nimport e1fn from '../common/e1fn';\nimport e2fn from '../common/e2fn';\nimport e3fn from '../common/e3fn';\nimport adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport mlfn from '../common/mlfn';\nimport {EPSLN} from '../constants/values';\n\nimport gN from '../common/gN';\nvar MAX_ITER = 20;\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = e0fn(this.es);\n this.e1 = e1fn(this.es);\n this.e2 = e2fn(this.es);\n this.e3 = e3fn(this.es);\n this.ml0 = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n}\n\n/* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = adjust_lon(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (adjust_lat(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= EPSLN) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = gN(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nexport function inverse(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= EPSLN) {\n lon = adjust_lon(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n lon = adjust_lon(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= EPSLN) {\n lat = 0;\n lon = adjust_lon(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= EPSLN) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = adjust_lon(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Polyconic\", \"poly\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/poly.js\n// module id = 425\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\nimport adjust_lat from '../common/adjust_lat';\nimport pj_enfn from '../common/pj_enfn';\nvar MAX_ITER = 20;\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport {EPSLN, HALF_PI} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n\nexport function init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = pj_enfn(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n}\n\n/* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\nexport function forward(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = adjust_lon(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < EPSLN) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * pj_mlfn(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nexport function inverse(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = asinz((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = asinz(Math.sin(lat) / this.n);\n }\n lon = adjust_lon(lon + this.long0);\n lat = adjust_lat(lat);\n }\n else {\n lat = pj_inv_mlfn(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < HALF_PI) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = adjust_lon(temp);\n }\n else if ((s - EPSLN) < HALF_PI) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Sinusoidal\", \"sinu\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sinu.js\n// module id = 426\n// module chunks = 0","/*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme à axe oblique et pour la transformation entre\n des systèmes de référence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\nexport function init() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n}\n\nexport function forward(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n}\n\nexport function inverse(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n}\n\nexport var names = [\"somerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/somerc.js\n// module id = 427\n// module chunks = 0","import {EPSLN, HALF_PI} from '../constants/values';\n\nimport sign from '../common/sign';\nimport msfnz from '../common/msfnz';\nimport tsfnz from '../common/tsfnz';\nimport phi2z from '../common/phi2z';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (HALF_PI + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n}\n\nexport function init() {\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * (1 + sign(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= EPSLN) {\n this.k0 = 0.5 * this.cons * msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / tsfnz(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = msfnz(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - HALF_PI;\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n}\n\n// Stereographic forward equations--mapping lat,long to x,y\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = adjust_lon(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= EPSLN && Math.abs(lat + this.lat0) <= EPSLN) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - HALF_PI;\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= EPSLN) {\n ts = tsfnz(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < EPSLN) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n}\n\n//* Stereographic inverse equations--mapping x,y to lat/long\nexport function inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (0.5 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= EPSLN) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < EPSLN) {\n if (this.lat0 > 0) {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= EPSLN) {\n if (rh <= EPSLN) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * phi2z(this.e, ts);\n lon = this.con * adjust_lon(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= EPSLN) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = adjust_lon(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * phi2z(this.e, Math.tan(0.5 * (HALF_PI + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n}\n\nexport var names = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n ssfn_: ssfn_\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/stere.js\n// module id = 428\n// module chunks = 0","import gauss from './gauss';\nimport adjust_lon from '../common/adjust_lon';\n\nexport function init() {\n gauss.init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n}\n\nexport function forward(p) {\n var sinc, cosc, cosl, k;\n p.x = adjust_lon(p.x - this.long0);\n gauss.forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n}\n\nexport function inverse(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n gauss.inverse.apply(this, [p]);\n p.x = adjust_lon(p.x + this.long0);\n return p;\n}\n\nexport var names = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"Polar_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/sterea.js\n// module id = 429\n// module chunks = 0","// Heavily based on this tmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\nimport pj_enfn from '../common/pj_enfn';\nimport pj_mlfn from '../common/pj_mlfn';\nimport pj_inv_mlfn from '../common/pj_inv_mlfn';\nimport adjust_lon from '../common/adjust_lon';\n\nimport {EPSLN, HALF_PI} from '../constants/values';\nimport sign from '../common/sign';\n\nexport function init() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = pj_enfn(this.es);\n this.ml0 = pj_mlfn(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n}\n\n/**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\nexport function forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = adjust_lon(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < EPSLN) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > EPSLN) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > EPSLN ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = pj_mlfn(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\n/**\n Transverse Mercator Inverse - x/y to long/lat\n */\nexport function inverse(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = adjust_lon(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = pj_inv_mlfn(con, this.es, this.en);\n\n if (Math.abs(phi) < HALF_PI) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > EPSLN ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = adjust_lon(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = HALF_PI * sign(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nexport var names = [\"Transverse_Mercator\", \"Transverse Mercator\", \"tmerc\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/tmerc.js\n// module id = 430\n// module chunks = 0","import adjust_zone from '../common/adjust_zone';\nimport etmerc from './etmerc';\nexport var dependsOn = 'etmerc';\nimport {D2R} from '../constants/values';\n\n\nexport function init() {\n var zone = adjust_zone(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * D2R;\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n etmerc.init.apply(this);\n this.forward = etmerc.forward;\n this.inverse = etmerc.inverse;\n}\n\nexport var names = [\"Universal Transverse Mercator System\", \"utm\"];\nexport default {\n init: init,\n names: names,\n dependsOn: dependsOn\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/utm.js\n// module id = 431\n// module chunks = 0","import adjust_lon from '../common/adjust_lon';\n\nimport {HALF_PI, EPSLN} from '../constants/values';\n\nimport asinz from '../common/asinz';\n\n/* Initialize the Van Der Grinten projection\n ----------------------------------------*/\nexport function init() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n}\n\nexport function forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = adjust_lon(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= EPSLN) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = asinz(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= EPSLN) || (Math.abs(Math.abs(lat) - HALF_PI) <= EPSLN)) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\nexport function inverse(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < EPSLN) {\n lon = this.long0;\n }\n else {\n lon = adjust_lon(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nexport var names = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\nexport default {\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/projections/vandg.js\n// module id = 432\n// module chunks = 0","export {version as default} from '../package.json';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/lib/version.js\n// module id = 433\n// module chunks = 0","module.exports = {\n\t\"_args\": [\n\t\t[\n\t\t\t{\n\t\t\t\t\"raw\": \"proj4@^2.4.3\",\n\t\t\t\t\"scope\": null,\n\t\t\t\t\"escapedName\": \"proj4\",\n\t\t\t\t\"name\": \"proj4\",\n\t\t\t\t\"rawSpec\": \"^2.4.3\",\n\t\t\t\t\"spec\": \">=2.4.3 <3.0.0\",\n\t\t\t\t\"type\": \"range\"\n\t\t\t},\n\t\t\t\"E:\\\\github\\\\HMap\"\n\t\t]\n\t],\n\t\"_cnpm_publish_time\": 1488570791097,\n\t\"_from\": \"proj4@>=2.4.3 <3.0.0\",\n\t\"_hasShrinkwrap\": false,\n\t\"_id\": \"proj4@2.4.3\",\n\t\"_inCache\": true,\n\t\"_location\": \"/proj4\",\n\t\"_nodeVersion\": \"6.9.2\",\n\t\"_npmOperationalInternal\": {\n\t\t\"host\": \"packages-18-east.internal.npmjs.com\",\n\t\t\"tmp\": \"tmp/proj4-2.4.3.tgz_1488570790416_0.3068596587982029\"\n\t},\n\t\"_npmUser\": {\n\t\t\"name\": \"cwmma\",\n\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t},\n\t\"_npmVersion\": \"4.0.5\",\n\t\"_phantomChildren\": {},\n\t\"_requested\": {\n\t\t\"raw\": \"proj4@^2.4.3\",\n\t\t\"scope\": null,\n\t\t\"escapedName\": \"proj4\",\n\t\t\"name\": \"proj4\",\n\t\t\"rawSpec\": \"^2.4.3\",\n\t\t\"spec\": \">=2.4.3 <3.0.0\",\n\t\t\"type\": \"range\"\n\t},\n\t\"_requiredBy\": [\n\t\t\"/\"\n\t],\n\t\"_resolved\": \"https://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\",\n\t\"_shasum\": \"f3bb7e631bffc047c36a1a3cc14533a03bbe9969\",\n\t\"_shrinkwrap\": null,\n\t\"_spec\": \"proj4@^2.4.3\",\n\t\"_where\": \"E:\\\\github\\\\HMap\",\n\t\"author\": \"\",\n\t\"bugs\": {\n\t\t\"url\": \"https://github.com/proj4js/proj4js/issues\"\n\t},\n\t\"contributors\": [\n\t\t{\n\t\t\t\"name\": \"Mike Adair\",\n\t\t\t\"email\": \"madair@dmsolutions.ca\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Greenwood\",\n\t\t\t\"email\": \"rich@greenwoodmap.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Calvin Metcalf\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Richard Marsden\",\n\t\t\t\"url\": \"http://www.winwaed.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"T. Mittan\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"D. Steinwand\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"S. Nelson\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"mgrs\": \"1.0.0\",\n\t\t\"wkt-parser\": \"^1.1.3\"\n\t},\n\t\"description\": \"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.\",\n\t\"devDependencies\": {\n\t\t\"chai\": \"~1.8.1\",\n\t\t\"curl\": \"git://github.com/cujojs/curl.git\",\n\t\t\"grunt\": \"~0.4.2\",\n\t\t\"grunt-cli\": \"~0.1.13\",\n\t\t\"grunt-contrib-connect\": \"~0.6.0\",\n\t\t\"grunt-contrib-jshint\": \"~1.1.0\",\n\t\t\"grunt-contrib-uglify\": \"~0.11.1\",\n\t\t\"grunt-mocha-phantomjs\": \"~0.4.0\",\n\t\t\"grunt-rollup\": \"^1.0.1\",\n\t\t\"istanbul\": \"~0.2.4\",\n\t\t\"mocha\": \"~1.17.1\",\n\t\t\"rollup\": \"^0.41.4\",\n\t\t\"rollup-plugin-json\": \"^2.0.1\",\n\t\t\"rollup-plugin-node-resolve\": \"^2.0.0\",\n\t\t\"tin\": \"~0.4.0\"\n\t},\n\t\"directories\": {\n\t\t\"test\": \"test\",\n\t\t\"doc\": \"docs\"\n\t},\n\t\"dist\": {\n\t\t\"shasum\": \"f3bb7e631bffc047c36a1a3cc14533a03bbe9969\",\n\t\t\"size\": 116887,\n\t\t\"noattachment\": false,\n\t\t\"tarball\": \"http://registry.npm.taobao.org/proj4/download/proj4-2.4.3.tgz\"\n\t},\n\t\"gitHead\": \"e975a5462ad7abb23e33ea75281eb749e77e1510\",\n\t\"homepage\": \"https://github.com/proj4js/proj4js#readme\",\n\t\"license\": \"MIT\",\n\t\"main\": \"dist/proj4-src.js\",\n\t\"maintainers\": [\n\t\t{\n\t\t\t\"name\": \"ahocevar\",\n\t\t\t\"email\": \"andreas.hocevar@gmail.com\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"cwmma\",\n\t\t\t\"email\": \"calvin.metcalf@gmail.com\"\n\t\t}\n\t],\n\t\"module\": \"lib/index.js\",\n\t\"name\": \"proj4\",\n\t\"optionalDependencies\": {},\n\t\"publish_time\": 1488570791097,\n\t\"readme\": \"ERROR: No README data found!\",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"git://github.com/proj4js/proj4js.git\"\n\t},\n\t\"scripts\": {\n\t\t\"build\": \"grunt\",\n\t\t\"build:tmerc\": \"grunt build:tmerc\",\n\t\t\"test\": \"npm run build && istanbul test _mocha test/test.js\"\n\t},\n\t\"version\": \"2.4.3\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/package.json\n// module id = 434\n// module chunks = 0","import tmerc from './lib/projections/tmerc';\nimport etmerc from './lib/projections/etmerc';\nimport utm from './lib/projections/utm';\nimport sterea from './lib/projections/sterea';\nimport stere from './lib/projections/stere';\nimport somerc from './lib/projections/somerc';\nimport omerc from './lib/projections/omerc';\nimport lcc from './lib/projections/lcc';\nimport krovak from './lib/projections/krovak';\nimport cass from './lib/projections/cass';\nimport laea from './lib/projections/laea';\nimport aea from './lib/projections/aea';\nimport gnom from './lib/projections/gnom';\nimport cea from './lib/projections/cea';\nimport eqc from './lib/projections/eqc';\nimport poly from './lib/projections/poly';\nimport nzmg from './lib/projections/nzmg';\nimport mill from './lib/projections/mill';\nimport sinu from './lib/projections/sinu';\nimport moll from './lib/projections/moll';\nimport eqdc from './lib/projections/eqdc';\nimport vandg from './lib/projections/vandg';\nimport aeqd from './lib/projections/aeqd';\nimport ortho from './lib/projections/ortho';\nexport default function(proj4){\n proj4.Proj.projections.add(tmerc);\n proj4.Proj.projections.add(etmerc);\n proj4.Proj.projections.add(utm);\n proj4.Proj.projections.add(sterea);\n proj4.Proj.projections.add(stere);\n proj4.Proj.projections.add(somerc);\n proj4.Proj.projections.add(omerc);\n proj4.Proj.projections.add(lcc);\n proj4.Proj.projections.add(krovak);\n proj4.Proj.projections.add(cass);\n proj4.Proj.projections.add(laea);\n proj4.Proj.projections.add(aea);\n proj4.Proj.projections.add(gnom);\n proj4.Proj.projections.add(cea);\n proj4.Proj.projections.add(eqc);\n proj4.Proj.projections.add(poly);\n proj4.Proj.projections.add(nzmg);\n proj4.Proj.projections.add(mill);\n proj4.Proj.projections.add(sinu);\n proj4.Proj.projections.add(moll);\n proj4.Proj.projections.add(eqdc);\n proj4.Proj.projections.add(vandg);\n proj4.Proj.projections.add(aeqd);\n proj4.Proj.projections.add(ortho);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/proj4/projs.js\n// module id = 435\n// module chunks = 0","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/regenerator-runtime/runtime.js\n// module id = 436\n// module chunks = 0","export default parseString;\n\nvar NEUTRAL = 1;\nvar KEYWORD = 2;\nvar NUMBER = 3;\nvar QUOTED = 4;\nvar AFTERQUOTE = 5;\nvar ENDED = -1;\nvar whitespace = /\\s/;\nvar latin = /[A-Za-z]/;\nvar keyword = /[A-Za-z84]/;\nvar endThings = /[,\\]]/;\nvar digets = /[\\d\\.E\\-\\+]/;\n// const ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nfunction Parser(text) {\n if (typeof text !== 'string') {\n throw new Error('not a string');\n }\n this.text = text.trim();\n this.level = 0;\n this.place = 0;\n this.root = null;\n this.stack = [];\n this.currentObject = null;\n this.state = NEUTRAL;\n}\nParser.prototype.readCharicter = function() {\n var char = this.text[this.place++];\n if (this.state !== QUOTED) {\n while (whitespace.test(char)) {\n if (this.place >= this.text.length) {\n return;\n }\n char = this.text[this.place++];\n }\n }\n switch (this.state) {\n case NEUTRAL:\n return this.neutral(char);\n case KEYWORD:\n return this.keyword(char)\n case QUOTED:\n return this.quoted(char);\n case AFTERQUOTE:\n return this.afterquote(char);\n case NUMBER:\n return this.number(char);\n case ENDED:\n return;\n }\n};\nParser.prototype.afterquote = function(char) {\n if (char === '\"') {\n this.word += '\"';\n this.state = QUOTED;\n return;\n }\n if (endThings.test(char)) {\n this.word = this.word.trim();\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in afterquote yet, index ' + this.place);\n};\nParser.prototype.afterItem = function(char) {\n if (char === ',') {\n if (this.word !== null) {\n this.currentObject.push(this.word);\n }\n this.word = null;\n this.state = NEUTRAL;\n return;\n }\n if (char === ']') {\n this.level--;\n if (this.word !== null) {\n this.currentObject.push(this.word);\n this.word = null;\n }\n this.state = NEUTRAL;\n this.currentObject = this.stack.pop();\n if (!this.currentObject) {\n this.state = ENDED;\n }\n\n return;\n }\n};\nParser.prototype.number = function(char) {\n if (digets.test(char)) {\n this.word += char;\n return;\n }\n if (endThings.test(char)) {\n this.word = parseFloat(this.word);\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in number yet, index ' + this.place);\n};\nParser.prototype.quoted = function(char) {\n if (char === '\"') {\n this.state = AFTERQUOTE;\n return;\n }\n this.word += char;\n return;\n};\nParser.prototype.keyword = function(char) {\n if (keyword.test(char)) {\n this.word += char;\n return;\n }\n if (char === '[') {\n var newObjects = [];\n newObjects.push(this.word);\n this.level++;\n if (this.root === null) {\n this.root = newObjects;\n } else {\n this.currentObject.push(newObjects);\n }\n this.stack.push(this.currentObject);\n this.currentObject = newObjects;\n this.state = NEUTRAL;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in keyword yet, index ' + this.place);\n};\nParser.prototype.neutral = function(char) {\n if (latin.test(char)) {\n this.word = char;\n this.state = KEYWORD;\n return;\n }\n if (char === '\"') {\n this.word = '';\n this.state = QUOTED;\n return;\n }\n if (digets.test(char)) {\n this.word = char;\n this.state = NUMBER;\n return;\n }\n if (endThings.test(char)) {\n this.afterItem(char);\n return;\n }\n throw new Error('havn\\'t handled \"' +char + '\" in neutral yet, index ' + this.place);\n};\nParser.prototype.output = function() {\n while (this.place < this.text.length) {\n this.readCharicter();\n }\n if (this.state === ENDED) {\n return this.root;\n }\n throw new Error('unable to parse string \"' +this.text + '\". State is ' + this.state);\n};\n\nfunction parseString(txt) {\n var parser = new Parser(txt);\n return parser.output();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/parser.js\n// module id = 437\n// module chunks = 0","\n\nfunction mapit(obj, key, value) {\n if (Array.isArray(key)) {\n value.unshift(key);\n key = null;\n }\n var thing = key ? {} : obj;\n\n var out = value.reduce(function(newObj, item) {\n sExpr(item, newObj);\n return newObj\n }, thing);\n if (key) {\n obj[key] = out;\n }\n}\n\nexport function sExpr(v, obj) {\n if (!Array.isArray(v)) {\n obj[v] = true;\n return;\n }\n var key = v.shift();\n if (key === 'PARAMETER') {\n key = v.shift();\n }\n if (v.length === 1) {\n if (Array.isArray(v[0])) {\n obj[key] = {};\n sExpr(v[0], obj[key]);\n return;\n }\n obj[key] = v[0];\n return;\n }\n if (!v.length) {\n obj[key] = true;\n return;\n }\n if (key === 'TOWGS84') {\n obj[key] = v;\n return;\n }\n if (!Array.isArray(key)) {\n obj[key] = {};\n }\n\n var i;\n switch (key) {\n case 'UNIT':\n case 'PRIMEM':\n case 'VERT_DATUM':\n obj[key] = {\n name: v[0].toLowerCase(),\n convert: v[1]\n };\n if (v.length === 3) {\n sExpr(v[2], obj[key]);\n }\n return;\n case 'SPHEROID':\n case 'ELLIPSOID':\n obj[key] = {\n name: v[0],\n a: v[1],\n rf: v[2]\n };\n if (v.length === 4) {\n sExpr(v[3], obj[key]);\n }\n return;\n case 'PROJECTEDCRS':\n case 'PROJCRS':\n case 'GEOGCS':\n case 'GEOCCS':\n case 'PROJCS':\n case 'LOCAL_CS':\n case 'GEODCRS':\n case 'GEODETICCRS':\n case 'GEODETICDATUM':\n case 'EDATUM':\n case 'ENGINEERINGDATUM':\n case 'VERT_CS':\n case 'VERTCRS':\n case 'VERTICALCRS':\n case 'COMPD_CS':\n case 'COMPOUNDCRS':\n case 'ENGINEERINGCRS':\n case 'ENGCRS':\n case 'FITTED_CS':\n case 'LOCAL_DATUM':\n case 'DATUM':\n v[0] = ['name', v[0]];\n mapit(obj, key, v);\n return;\n default:\n i = -1;\n while (++i < v.length) {\n if (!Array.isArray(v[i])) {\n return sExpr(v, obj[key]);\n }\n }\n return mapit(obj, key, v);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/wkt-parser/process.js\n// module id = 438\n// module chunks = 0","module.exports = {\n\t\"name\": \"hmap-js\",\n\t\"version\": \"1.3.4\",\n\t\"private\": false,\n\t\"description\": \"WEBGIS API\",\n\t\"keywords\": [\n\t\t\"webgis\",\n\t\t\"canvas\",\n\t\t\"openlayer3\",\n\t\t\"es6\"\n\t],\n\t\"author\": \"FDD \",\n\t\"repository\": {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/sakitam-fdd/HMap.git\"\n\t},\n\t\"main\": \"src/index.js\",\n\t\"scripts\": {\n\t\t\"build\": \"webpack --env build\",\n\t\t\"dev\": \"webpack --progress --colors --watch --env dev\",\n\t\t\"test\": \"mocha --compilers js:babel-core/register --colors ./test/*.spec.js\",\n\t\t\"test:watch\": \"mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js\"\n\t},\n\t\"dependencies\": {\n\t\t\"openlayers\": \"^4.0.1\",\n\t\t\"proj4\": \"^2.4.3\"\n\t},\n\t\"devDependencies\": {\n\t\t\"babel\": \"^6.0.0\",\n\t\t\"babel-core\": \"^6.0.0\",\n\t\t\"babel-eslint\": \"^7.0.0\",\n\t\t\"babel-loader\": \"^6.0.0\",\n\t\t\"babel-polyfill\": \"^6.23.0\",\n\t\t\"babel-preset-env\": \"^1.2.1\",\n\t\t\"babel-plugin-istanbul\": \"^3.1.2\",\n\t\t\"babel-plugin-add-module-exports\": \"0.1.2\",\n\t\t\"babel-preset-es2015\": \"^6.0.0\",\n\t\t\"babel-preset-stage-3\": \"^6.24.1\",\n\t\t\"babel-plugin-transform-runtime\": \"^6.0.0\",\n\t\t\"babel-preset-stage-2\": \"^6.0.0\",\n\t\t\"babel-register\": \"^6.0.0\",\n\t\t\"eslint\": \"^3.14.1\",\n\t\t\"eslint-config-standard\": \"^6.2.1\",\n\t\t\"eslint-friendly-formatter\": \"^2.0.7\",\n\t\t\"eslint-loader\": \"^1.6.1\",\n\t\t\"eslint-plugin-html\": \"^2.0.0\",\n\t\t\"eslint-plugin-promise\": \"^3.4.0\",\n\t\t\"eslint-plugin-standard\": \"^2.0.1\",\n\t\t\"eventsource-polyfill\": \"^0.9.6\",\n\t\t\"yargs\": \"^6.0.0\",\n\t\t\"chalk\": \"^1.1.3\",\n\t\t\"mocha\": \"^2.0.0\",\n\t\t\"webpack\": \"^2.2.0\",\n\t\t\"webpack-dev-middleware\": \"^1.8.3\",\n\t\t\"webpack-hot-middleware\": \"^2.12.2\",\n\t\t\"webpack-merge\": \"^0.14.1\",\n\t\t\"friendly-errors-webpack-plugin\": \"^1.6.1\"\n\t},\n\t\"license\": \"MIT\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 439\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/HMap.min.js b/dist/HMap.min.js index 7cf9f93..8a08d31 100644 --- a/dist/HMap.min.js +++ b/dist/HMap.min.js @@ -1,2 +1,2 @@ /*! This file is created by FDD */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("HMap",[],e):"object"==typeof exports?exports.HMap=e():t.HMap=e()}(this,function(){return function(t){function e(i){if(o[i])return o[i].exports;var r=o[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var o={};return e.m=t,e.c=o,e.i=function(t){return t},e.d=function(t,o,i){e.o(t,o)||Object.defineProperty(t,o,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var o=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(o,"a",o),o},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=440)}([function(t,e,o){var i=o(3),r=o(30),n=o(17),s=o(18),a=o(31),p=function(t,e,o){var h,l,u,c,f=t&p.F,g=t&p.G,y=t&p.S,d=t&p.P,v=t&p.B,A=g?i:y?i[e]||(i[e]={}):(i[e]||{}).prototype,C=g?r:r[e]||(r[e]={}),I=C.prototype||(C.prototype={});g&&(o=e);for(h in o)l=!f&&A&&void 0!==A[h],u=(l?A:o)[h],c=v&&l?a(u,i):d&&"function"==typeof u?a(Function.call,u):u,A&&s(A,h,u,t&p.U),C[h]!=u&&n(C,h,c),d&&I[h]!=u&&(I[h]=u)};i.core=r,p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,p.U=64,p.R=128,t.exports=p},function(t,e,o){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.config=e.proj4=e.ol=e.ee=e.a=e.PI=e.X_PI=void 0;var r=o(404),n=i(r),s=o(381),a=i(s),p=o(160),h=i(p);e.X_PI=52.35987755982988,e.PI=3.141592653589793,e.a=6378245,e.ee=.006693421622965943,e.ol=a.default,e.proj4=n.default,e.config=h.default},function(t,e,o){var i=o(6);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var o=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=o)},function(t,e,o){"use strict";o.d(e,"h",function(){return i}),o.d(e,"i",function(){return r}),o.d(e,"l",function(){return n}),o.d(e,"k",function(){return s}),o.d(e,"e",function(){return a}),o.d(e,"b",function(){return p}),o.d(e,"m",function(){return h}),o.d(e,"n",function(){return l}),o.d(e,"o",function(){return u}),o.d(e,"a",function(){return c}),o.d(e,"g",function(){return f}),o.d(e,"j",function(){return g}),o.d(e,"f",function(){return y}),o.d(e,"d",function(){return d}),o.d(e,"c",function(){return v});var i=1,r=2,n=4,s=5,a=484813681109536e-20,p=Math.PI/2,h=.16666666666666666,l=.04722222222222222,u=.022156084656084655,c=void 0===Number.EPSILON?1e-10:Number.EPSILON,f=.017453292519943295,g=57.29577951308232,y=Math.PI/4,d=2*Math.PI,v=3.14159265359},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,o){var i=o(71)("wks"),r=o(45),n=o(3).Symbol,s="function"==typeof n;(t.exports=function(t){return i[t]||(i[t]=s&&n[t]||(s?n:r)("Symbol."+t))}).store=i},function(t,e,o){"use strict";var i=o(4),r=o(60);e.a=function(t){return Math.abs(t)<=i.c?t:t-o.i(r.a)(t)*i.d}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i={ARC:"Arc",CURVE:"Curve",GATHERING_PLACE:"GatheringPlace",POLYLINE:"Polyline",FREE_LINE:"FreeLine",POINT:"point",RECTANGLE:"RectAngle",CIRCLE:"Circle",ELLIPSE:"Ellipse",LUNE:"Lune",SECTOR:"Sector",CLOSED_CURVE:"ClosedCurve",POLYGON:"Polygon",FREE_POLYGON:"FreePolygon",ATTACK_ARROW:"AttackArrow",DOUBLE_ARROW:"DoubleArrow",STRAIGHT_ARROW:"StraightArrow",FINE_ARROW:"FineArrow",ASSAULT_DIRECTION:"AssaultDirection",TAILED_ATTACK_ARROW:"TailedAttackArrow",SQUAD_COMBAT:"SquadCombat",TAILED_SQUAD_COMBAT:"TailedSquadCombat"};e.default=i,t.exports=e.default},function(t,e,o){t.exports=!o(5)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,o){var i=o(2),r=o(127),n=o(29),s=Object.defineProperty;e.f=o(10)?Object.defineProperty:function(t,e,o){if(i(t),e=n(e,!0),i(o),r)try{return s(t,e,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported!");return"value"in o&&(t[e]=o.value),t}},function(t,e,o){var i=o(36),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getQuadricBSplineFactor=e.getQBSplinePoints=e.getBinomialFactor=e.getFactorial=e.getBezierPoints=e.getCurvePoints=e.getRightMostControlPoint=e.getLeftMostControlPoint=e.getNormal=e.getBisectorNormals=e.getArcPoints=e.inherits=e.getThirdPoint=e.getCubicValue=e.getPointOnLine=e.isClockWise=e.getAngleOfThreePoints=e.getAzimuth=e.getIntersectPoint=e.getCircleCenterOfThreePoints=e.Mid=e.getBaseLength=e.wholeDistance=e.MathDistance=void 0;var i=o(26),r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e.default=t,e}(i),n=e.MathDistance=function(t,e){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))},s=e.wholeDistance=function(t){var e=0;return t&&Array.isArray(t)&&t.length>0&&t.forEach(function(o,i){i=t[1]&&e[0]>=t[0]?o=i+Math.PI:e[1]>=t[1]&&e[0]=t[0]&&(o=Math.PI-i),o},l=(e.getAngleOfThreePoints=function(t,e,o){var i=h(e,t)-h(e,o);return i<0?i+2*Math.PI:i},e.isClockWise=function(t,e,o){return(o[1]-t[1])*(e[0]-t[0])>(e[1]-t[1])*(o[0]-t[0])}),u=(e.getPointOnLine=function(t,e,o){return[e[0]+t*(o[0]-e[0]),e[1]+t*(o[1]-e[1])]},e.getCubicValue=function(t,e,o,i,r){t=Math.max(Math.min(t,1),0);var n=1-t,s=t*t,a=s*t,p=n*n,h=p*n;return[h*e[0]+3*p*t*o[0]+3*n*s*i[0]+a*r[0],h*e[1]+3*p*t*o[1]+3*n*s*i[1]+a*r[1]]}),c=(e.getThirdPoint=function(t,e,o,i,r){var n=h(t,e),s=r?n+o:n-o,a=i*Math.cos(s),p=i*Math.sin(s);return[e[0]+a,e[1]+p]},e.inherits=function(t,e){function o(){}o.prototype=e.prototype,t.superClass_=e.prototype,t.prototype=new o,t.prototype.constructor=t,t.base=function(t,o,i){var r=Array.prototype.slice.call(arguments,2);return e.prototype[o].apply(t,r)}},e.getArcPoints=function(t,e,o,i){var r=null,n=null,s=[],a=i-o;a=a<0?a+2*Math.PI:a;for(var p=0;p<=100;p++){var h=o+a*p/100;r=t[0]+e*Math.cos(h),n=t[1]+e*Math.sin(h),s.push([r,n])}return s},e.getBisectorNormals=function(t,e,o,i){var s=f(e,o,i),a=null,p=null,h=null,u=null,c=null,g=Math.sqrt(s[0]*s[0]+s[1]*s[1]),y=s[0]/g,d=s[1]/g,v=n(e,o),A=n(o,i);return g>r.ZERO_TOLERANCE?l(e,o,i)?(h=t*v,u=o[0]-h*d,c=o[1]+h*y,a=[u,c],h=t*A,u=o[0]+h*d,c=o[1]-h*y,p=[u,c]):(h=t*v,u=o[0]+h*d,c=o[1]-h*y,a=[u,c],h=t*A,u=o[0]-h*d,c=o[1]+h*y,p=[u,c]):(u=o[0]+t*(e[0]-o[0]),c=o[1]+t*(e[1]-o[1]),a=[u,c],u=o[0]+t*(i[0]-o[0]),c=o[1]+t*(i[1]-o[1]),p=[u,c]),[a,p]}),f=e.getNormal=function(t,e,o){var i=t[0]-e[0],r=t[1]-e[1],n=Math.sqrt(i*i+r*r);i/=n,r/=n;var s=o[0]-e[0],a=o[1]-e[1],p=Math.sqrt(s*s+a*a);return s/=p,a/=p,[i+s,r+a]},g=e.getLeftMostControlPoint=function(t,e){var o=[t[0],t[1],t[2],null,null],i=o[0],s=o[1],p=o[2],h=o[3],l=o[4],u=c(0,i,s,p),g=u[0],y=f(i,s,p);if(Math.sqrt(y[0]*y[0]+y[1]*y[1])>r.ZERO_TOLERANCE){var d=a(i,s),v=i[0]-d[0],A=i[1]-d[1],C=n(i,s),I=2/C,m=-I*A,b=I*v,w=m*m-b*b,M=2*m*b,P=b*b-m*m,x=g[0]-d[0],S=g[1]-d[1];h=d[0]+w*x+M*S,l=d[1]+M*x+P*S}else h=i[0]+e*(s[0]-i[0]),l=i[1]+e*(s[1]-i[1]);return[h,l]},y=e.getRightMostControlPoint=function(t,e){var o=t.length,i=t[o-3],s=t[o-2],p=t[o-1],h=c(0,i,s,p),l=h[1],u=f(i,s,p),g=Math.sqrt(u[0]*u[0]+u[1]*u[1]),y=null,d=null;if(g>r.ZERO_TOLERANCE){var v=a(s,p),A=p[0]-v[0],C=p[1]-v[1],I=n(s,p),m=2/I,b=-m*C,w=m*A,M=b*b-w*w,P=2*b*w,x=w*w-b*b,S=l[0]-v[0],E=l[1]-v[1];y=v[0]+M*S+P*E,d=v[1]+P*S+x*E}else y=p[0]+e*(s[0]-p[0]),d=p[1]+e*(s[1]-p[1]);return[y,d]},d=(e.getCurvePoints=function(t,e){for(var o=g(e,t),i=null,n=null,s=null,a=[o],p=[],h=0;h"+r+""};t.exports=function(t,e){var o={};o[t]=e(s),i(i.P+i.F*r(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",o)}},function(t,e,o){var i=o(57),r=o(24);t.exports=function(t){return i(r(t))}},function(t,e,o){var i=o(58),r=o(35),n=o(20),s=o(29),a=o(15),p=o(127),h=Object.getOwnPropertyDescriptor;e.f=o(10)?h:function(t,e){if(t=n(t),e=s(e,!0),p)try{return h(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,o){var i=o(15),r=o(14),n=o(98)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,n)?t[n]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){var o={}.toString;t.exports=function(t){return o.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,o){var i=o(5);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.FITTING_COUNT=100,e.ZERO_TOLERANCE=1e-4,e.TWO_PI=2*Math.PI,e.HALF_PI=Math.PI/2},function(t,e,o){var i=o(31),r=o(57),n=o(14),s=o(12),a=o(202);t.exports=function(t,e){var o=1==t,p=2==t,h=3==t,l=4==t,u=6==t,c=5==t||u,f=e||a;return function(e,a,g){for(var y,d,v=n(e),A=r(v),C=i(a,g,3),I=s(A.length),m=0,b=o?f(e,I):p?f(e,0):void 0;I>m;m++)if((c||m in A)&&(y=A[m],d=C(y,m,v),t))if(o)b[m]=d;else if(d)switch(t){case 3:return!0;case 5:return y;case 6:return m;case 2:b.push(y)}else if(l)return!1;return u?-1:h||l?l:b}}},function(t,e,o){var i=o(0),r=o(30),n=o(5);t.exports=function(t,e){var o=(r.Object||{})[t]||Object[t],s={};s[t]=e(o),i(i.S+i.F*n(function(){o(1)}),"Object",s)}},function(t,e,o){var i=o(6);t.exports=function(t,e){if(!i(t))return t;var o,r;if(e&&"function"==typeof(o=t.toString)&&!i(r=o.call(t)))return r;if("function"==typeof(o=t.valueOf)&&!i(r=o.call(t)))return r;if(!e&&"function"==typeof(o=t.toString)&&!i(r=o.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){var o=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=o)},function(t,e,o){var i=o(16);t.exports=function(t,e,o){if(i(t),void 0===e)return t;switch(o){case 1:return function(o){return t.call(e,o)};case 2:return function(o,i){return t.call(e,o,i)};case 3:return function(o,i,r){return t.call(e,o,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,o){var i=o(143),r=o(0),n=o(71)("metadata"),s=n.store||(n.store=new(o(146))),a=function(t,e,o){var r=s.get(t);if(!r){if(!o)return;s.set(t,r=new i)}var n=r.get(e);if(!n){if(!o)return;r.set(e,n=new i)}return n},p=function(t,e,o){var i=a(e,o,!1);return void 0!==i&&i.has(t)},h=function(t,e,o){var i=a(e,o,!1);return void 0===i?void 0:i.get(t)},l=function(t,e,o,i){a(o,i,!0).set(t,e)},u=function(t,e){var o=a(t,e,!1),i=[];return o&&o.forEach(function(t,e){i.push(e)}),i},c=function(t){return void 0===t||"symbol"==typeof t?t:String(t)},f=function(t){r(r.S,"Reflect",t)};t.exports={store:s,map:a,has:p,get:h,set:l,keys:u,key:c,exp:f}},function(t,e,o){"use strict";if(o(10)){var i=o(38),r=o(3),n=o(5),s=o(0),a=o(72),p=o(105),h=o(31),l=o(37),u=o(35),c=o(17),f=o(42),g=o(36),y=o(12),d=o(44),v=o(29),A=o(15),C=o(140),I=o(56),m=o(6),b=o(14),w=o(90),M=o(39),P=o(22),x=o(40).f,S=o(107),E=o(45),T=o(7),O=o(27),k=o(62),L=o(99),j=o(108),N=o(49),_=o(68),R=o(43),F=o(83),D=o(120),B=o(11),G=o(21),U=B.f,W=G.f,z=r.RangeError,H=r.TypeError,V=r.Uint8Array,X=Array.prototype,Z=p.ArrayBuffer,Y=p.DataView,q=O(0),K=O(2),J=O(3),Q=O(4),$=O(5),tt=O(6),et=k(!0),ot=k(!1),it=j.values,rt=j.keys,nt=j.entries,st=X.lastIndexOf,at=X.reduce,pt=X.reduceRight,ht=X.join,lt=X.sort,ut=X.slice,ct=X.toString,ft=X.toLocaleString,gt=T("iterator"),yt=T("toStringTag"),dt=E("typed_constructor"),vt=E("def_constructor"),At=a.CONSTR,Ct=a.TYPED,It=a.VIEW,mt=O(1,function(t,e){return St(L(t,t[vt]),e)}),bt=n(function(){return 1===new V(new Uint16Array([1]).buffer)[0]}),wt=!!V&&!!V.prototype.set&&n(function(){new V(1).set({})}),Mt=function(t,e){if(void 0===t)throw H("Wrong length!");var o=+t,i=y(t);if(e&&!C(o,i))throw z("Wrong length!");return i},Pt=function(t,e){var o=g(t);if(o<0||o%e)throw z("Wrong offset!");return o},xt=function(t){if(m(t)&&Ct in t)return t;throw H(t+" is not a typed array!")},St=function(t,e){if(!(m(t)&&dt in t))throw H("It is not a typed array constructor!");return new t(e)},Et=function(t,e){return Tt(L(t,t[vt]),e)},Tt=function(t,e){for(var o=0,i=e.length,r=St(t,i);i>o;)r[o]=e[o++];return r},Ot=function(t,e,o){U(t,e,{get:function(){return this._d[o]}})},kt=function(t){var e,o,i,r,n,s,a=b(t),p=arguments.length,l=p>1?arguments[1]:void 0,u=void 0!==l,c=S(a);if(void 0!=c&&!w(c)){for(s=c.call(a),i=[],e=0;!(n=s.next()).done;e++)i.push(n.value);a=i}for(u&&p>2&&(l=h(l,arguments[2],2)),e=0,o=y(a.length),r=St(this,o);o>e;e++)r[e]=u?l(a[e],e):a[e];return r},Lt=function(){for(var t=0,e=arguments.length,o=St(this,e);e>t;)o[t]=arguments[t++];return o},jt=!!V&&n(function(){ft.call(new V(1))}),Nt=function(){return ft.apply(jt?ut.call(xt(this)):xt(this),arguments)},_t={copyWithin:function(t,e){return D.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return F.apply(xt(this),arguments)},filter:function(t){return Et(this,K(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){q(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return ot(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return ht.apply(xt(this),arguments)},lastIndexOf:function(t){return st.apply(xt(this),arguments)},map:function(t){return mt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return at.apply(xt(this),arguments)},reduceRight:function(t){return pt.apply(xt(this),arguments)},reverse:function(){for(var t,e=this,o=xt(e).length,i=Math.floor(o/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return lt.call(xt(this),t)},subarray:function(t,e){var o=xt(this),i=o.length,r=d(t,i);return new(L(o,o[vt]))(o.buffer,o.byteOffset+r*o.BYTES_PER_ELEMENT,y((void 0===e?i:d(e,i))-r))}},Rt=function(t,e){return Et(this,ut.call(xt(this),t,e))},Ft=function(t){xt(this);var e=Pt(arguments[1],1),o=this.length,i=b(t),r=y(i.length),n=0;if(r+e>o)throw z("Wrong length!");for(;n255?255:255&i),r.v[g](o*e+r.o,i,bt)},T=function(t,e){U(t,e,{get:function(){return S(this,e)},set:function(t){return E(this,e,t)},enumerable:!0})};C?(d=o(function(t,o,i,r){l(t,d,h,"_d");var n,s,a,p,u=0,f=0;if(m(o)){if(!(o instanceof Z||"ArrayBuffer"==(p=I(o))||"SharedArrayBuffer"==p))return Ct in o?Tt(d,o):kt.call(d,o);n=o,f=Pt(i,e);var g=o.byteLength;if(void 0===r){if(g%e)throw z("Wrong length!");if((s=g-f)<0)throw z("Wrong length!")}else if((s=y(r)*e)+f>g)throw z("Wrong length!");a=s/e}else a=Mt(o,!0),s=a*e,n=new Z(s);for(c(t,"_d",{b:n,o:f,l:s,e:a,v:new Y(n)});u0?i:o)(t)}},function(t,e){t.exports=function(t,e,o,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(o+": incorrect invocation!");return t}},function(t,e){t.exports=!1},function(t,e,o){var i=o(2),r=o(133),n=o(86),s=o(98)("IE_PROTO"),a=function(){},p=function(){var t,e=o(85)("iframe"),i=n.length;for(e.style.display="none",o(88).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" \ No newline at end of file diff --git a/example/osmLayer.html b/example/osmLayer.html index 59d4cf8..e2dcba8 100644 --- a/example/osmLayer.html +++ b/example/osmLayer.html @@ -44,16 +44,22 @@ layerName: 'openstreetmap', isDefault: true, layerType: 'OSM', - attribution: { - url: 'https://aurorafe.github.io', - title: '恒达时讯', - messages: '版权所有' - }, +// attribution: { +// url: 'https://aurorafe.github.io', +// title: '恒达时讯', +// messages: '版权所有' +// }, opaque: true, //图层是否不透明 layerUrl: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png' } ] }); + + function mapFirstClickHandler (event) { + console.log(event.coordinate) + } + Maps.map.on('click', mapFirstClickHandler) + Maps.map.un('click', mapFirstClickHandler) \ No newline at end of file diff --git a/example/testGeomParse.html b/example/testGeomParse.html new file mode 100644 index 0000000..8cf8229 --- /dev/null +++ b/example/testGeomParse.html @@ -0,0 +1,51 @@ + + + + + + + + + + + 测试空间数据解析 + + + + +
+ + + + \ No newline at end of file diff --git a/lib/mathLine.js b/lib/mathLine.js new file mode 100644 index 0000000..ef398a3 --- /dev/null +++ b/lib/mathLine.js @@ -0,0 +1,35 @@ +/** + * Created by FDD on 2017/6/6. + */ +class MathLine { + constructor (radius) { + if (radius && typeof radius === 'number') { + this.radius = radius + } else { + this.radius = 6378137 + } + } + + /** + * 计算地理坐标两点之间距离 + * @param c1 + * @param c2 + * @returns {number} + */ + haversineDistance (c1, c2) { + let lat1 = this.toRadians(c1[1]) + let lat2 = this.toRadians(c2[1]) + let deltaLatBy2 = (lat2 - lat1) / 2 + let deltaLonBy2 = this.toRadians(c2[0] - c1[0]) / 2 + let a = Math.sin(deltaLatBy2) * Math.sin(deltaLatBy2) + + Math.sin(deltaLonBy2) * Math.sin(deltaLonBy2) * + Math.cos(lat1) * Math.cos(lat2) + return 2 * this.radius * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)) + } + + toRadians (angleInDegrees) { + return angleInDegrees * Math.PI / 180 + } +} + +export default MathLine diff --git a/package.json b/package.json index 6062303..77243d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hmap-js", - "version": "1.3.2", + "version": "1.3.4", "private": false, "description": "WEBGIS API", "keywords": [ @@ -22,8 +22,6 @@ "test:watch": "mocha --compilers js:babel-core/register --colors -w ./test/*.spec.js" }, "dependencies": { - "echarts": "^3.6.1", - "mathjs": "^3.12.0", "openlayers": "^4.0.1", "proj4": "^2.4.3" }, diff --git a/src/controls/CompareLayer.js b/src/controls/CompareLayer.js index c76f689..09d1613 100644 --- a/src/controls/CompareLayer.js +++ b/src/controls/CompareLayer.js @@ -55,19 +55,20 @@ ol.inherits(CompareLayer, ol.control.Control) /** * 通过canvas切割视图 * @param beforeMap - * @param swipe + * @param value */ -CompareLayer.prototype.clipLayer = function (beforeMap, swipe) { - beforeMap.on('precompose', event => { +CompareLayer.prototype.clipLayer = function (beforeMap, value) { + this.getMap().un('precompose', this.precompose) + this.getMap().un('postcompose', this.postcompose) + this.precompose = beforeMap.on('precompose', event => { let ctx = event.context - let width = ctx.canvas.width * (swipe.value / 100) + let width = ctx.canvas.width * (value / 100) ctx.save() ctx.beginPath() ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height) ctx.clip() }) - - beforeMap.on('postcompose', event => { + this.postcompose = beforeMap.on('postcompose', event => { let ctx = event.context ctx.restore() }) diff --git a/src/feature/feature.js b/src/feature/feature.js index cb2d7ff..d1f92a1 100644 --- a/src/feature/feature.js +++ b/src/feature/feature.js @@ -520,6 +520,130 @@ class Feature extends mix(Style, Layer) { } } + /** + * 获取线当前范围和中心点 + * @param line + * @returns {{extent: *, center: ol.Coordinate}} + */ + getCenterExtentFromLine (line) { + try { + let geom = null + if (!(line instanceof ol.geom.Geometry)) { + geom = (new ol.format.WKT()).readGeometry(line) + } + let [MultiLine] = [(new ol.geom.MultiLineString([]))] + if (geom && geom instanceof ol.geom.LineString) { + MultiLine.appendLineString(geom) + } else if (geom && geom instanceof ol.geom.MultiLineString) { + let multiGeoms = geom.getLineStrings() + if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) { + multiGeoms.forEach(_geom => { + if (_geom && _geom instanceof ol.geom.LineString) { + MultiLine.appendLineString(geom) + } + }) + } + } + let extent = this._getExtent(MultiLine) + let center = ol.extent.getCenter(extent) + return ({ + extent: extent, + center: center + }) + } catch (e) { + console.error(e) + } + } + + /** + * 获取当前面范围和中心点 + * @param polygon + * @returns {{extent: *, center: ol.Coordinate}} + */ + getCenterExtentFromPolygon (polygon) { + try { + let geom = null + if (!(polygon instanceof ol.geom.Geometry)) { + geom = (new ol.format.WKT()).readGeometry(polygon) + } + let [MultiPolygon] = [(new ol.geom.MultiPolygon([]))] + if (geom && geom instanceof ol.geom.Polygon) { + MultiPolygon.appendPolygon(geom) + } else if (geom && geom instanceof ol.geom.MultiPolygon) { + let multiGeoms = geom.getPolygons() + if (multiGeoms && Array.isArray(multiGeoms) && multiGeoms.length > 0) { + multiGeoms.forEach(_geom => { + if (_geom && _geom instanceof ol.geom.Polygon) { + MultiPolygon.appendPolygon(geom) + } + }) + } + } + let extent = this._getExtent(MultiPolygon) + let center = ol.extent.getCenter(extent) + return ({ + extent: extent, + center: center + }) + } catch (e) { + console.error(e) + } + } + + /** + * 读取空间信息 + * @param geomData + * @param options + * @returns {*} + */ + getGeomFromGeomData (geomData, options) { + try { + let featureGeom = null + if (geomData['geomType'] === 'GeoJSON') { + featureGeom = (new ol.format.GeoJSON()).readGeometry(geomData['geometry']) + } else if (geomData['geomType'] === 'WKT') { + featureGeom = (new ol.format.WKT()).readGeometry(geomData['geometry']) + } else if (geomData['geomType'] === 'EsriJSON') { + featureGeom = (new ol.format.EsriJSON()).readGeometry(geomData['geometry']) + } else if (geomData['geomType'] === 'Polyline') { + featureGeom = (new ol.format.Polyline()).readGeometry(geomData['geometry']) + } else if (Array.isArray(geomData['geometry']) && geomData['geometry'].length === 2) { + featureGeom = new ol.geom.Point(geomData['geometry']) + } + return featureGeom + } catch (e) { + console.log(e) + } + } + + /** + * 简单兼容 + * @param geomData + * @param options + * @returns {{extent: *, center: ol.Coordinate}} + */ + getCenterExtentFromGeom (geomData, options) { + let geom = this.getGeomFromGeomData(geomData, options) + let extent = this._getExtent(geom) + let center = ol.extent.getCenter(extent) + let bExtent = true + extent.every(item => { + if (item === Infinity || isNaN(item) || item === undefined || item === null) { + bExtent = false + return false + } else { + return true + } + }) + if (bExtent && options['zoomToExtent']) { + this.zoomToExtent(extent, true) + } + return ({ + extent: extent, + center: center + }) + } + /** * 设置热力图样式 * @param layerName diff --git a/src/layer/Layer.js b/src/layer/Layer.js index b36904e..1d486df 100644 --- a/src/layer/Layer.js +++ b/src/layer/Layer.js @@ -432,6 +432,51 @@ class Layer extends mix(Style) { } } + /** + * 创建矢量要素图层 + * @param layerName + * @param params + * @returns {*} + */ + createVectorFeatureLayer (layerName, params) { + try { + let layer = this.getLayerByLayerName(layerName) + if (!(layer instanceof ol.layer.Vector)) { + layer = null + } else if (this.map && (layer instanceof ol.layer.Vector) && !(params['addLayer'] === false)) { + this.map.removeLayer(layer) + layer = null + } + if (!layer && params && params['layerUrl'] && params['create']) { + let proj = params['projection'] ? params['projection'] : 'EPSG:3857' + let style = this.getStyleByParams(params['style']) + layer = new ol.layer.Vector({ + layerName: layerName, + params: params, + layerType: 'vector', + visible: (params['visible'] === false) ? params['visible'] : true, + opacity: ((params['opacity'] && (typeof params['opacity'] === 'number')) ? params['opacity'] : 1), + source: new ol.source.Vector({ + format: new ol.format.GeoJSON(), + crossOrigin: (params['crossOrigin'] ? params['crossOrigin'] : undefined), + url: function (extent) { + return params['layerUrl'] + extent.join(',') + ',' + proj + }, + wrapX: false, + strategy: ol.loadingstrategy.bbox + }), + style: style + }) + } + if (this.map && layer && !(params['addLayer'] === false)) { + this.map.addLayer(layer) + } + return layer + } catch (e) { + console.log(e) + } + } + /** * 创建WMTS图层 * @param layerName @@ -651,8 +696,8 @@ class Layer extends mix(Style) { removeLayerByLayerName (layerName) { if (this.map) { let layer = this.getLayerByLayerName(layerName) - if (layer && layer instanceof ol.layer.Vector && layer.getSource() && layer.getSource().clear) { - layer.getSource().clear() + if (layer) { + this.map.removeLayer(layer) } } } diff --git a/src/map/Map.js b/src/map/Map.js index 5947240..66589d9 100644 --- a/src/map/Map.js +++ b/src/map/Map.js @@ -101,15 +101,16 @@ class Map extends mix(BaseLayers, Controls, Interactions, Style, Layer, View, Fe * @private */ _addCopyRight (params) { - let logo = { - href: 'https://aurorafe.github.io', - src: 'data:image/png;base64,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' - } - if (params['href']) { - logo.href = params['href'] - } - if (params['src']) { - logo.src = params['src'] + let logo = false + if (params && typeof params !== 'object') { + logo = { + href: 'https://aurorafe.github.io', + src: 'data:image/png;base64,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' + } + } else if (typeof params === 'object') { + logo = params + } else { + logo = false } return logo } diff --git a/src/map/baseLayer.js b/src/map/baseLayer.js index 9544515..ac9223b 100644 --- a/src/map/baseLayer.js +++ b/src/map/baseLayer.js @@ -307,16 +307,28 @@ class BaseLayers { * @private */ _getAttribution (params) { - if (!params) { - params = {} - params['url'] = 'https://aurorafe.github.io' - params['messages'] = 'contributors.' - params['title'] = 'HMap' + try { + let attribution = null + if (params && typeof params !== 'object') { + params = {} + params['url'] = 'https://aurorafe.github.io' + params['messages'] = 'contributors.' + params['title'] = 'HMap' + attribution = new ol.Attribution({ + html: '© ' + '' + params['title'] + ' ' + params['messages'] + }) + } else if (typeof params === 'object') { + attribution = new ol.Attribution({ + html: '© ' + '' + params['title'] + ' ' + params['messages'] + }) + } else { + attribution = undefined + } + return attribution + } catch (e) { + console.log(e) + return undefined } - let attribution = new ol.Attribution({ - html: '© ' + '' + params['title'] + ' ' + params['messages'] - }) - return attribution } } diff --git a/src/style/Style.js b/src/style/Style.js index 38c5bb2..bcf8c75 100644 --- a/src/style/Style.js +++ b/src/style/Style.js @@ -110,35 +110,39 @@ class Style { getStyleByParams (options) { try { let style = null - if (!options) { - style = new ol.style.Style({ - fill: new ol.style.Fill({ - color: 'rgba(67, 110, 238, 0.4)' - }), - stroke: new ol.style.Stroke({ - color: '#4781d9', - width: 2 - }), - image: new ol.style.Circle({ - radius: 7, + if (typeof options === 'function') { + style = options + } else { + if (!options) { + style = new ol.style.Style({ fill: new ol.style.Fill({ - color: '#ffcc33' + color: 'rgba(67, 110, 238, 0.4)' + }), + stroke: new ol.style.Stroke({ + color: '#4781d9', + width: 2 + }), + image: new ol.style.Circle({ + radius: 7, + fill: new ol.style.Fill({ + color: '#ffcc33' + }) }) }) - }) - } else { - style = new ol.style.Style({}) - if (options['stroke'] && this._getStroke(options['stroke'])) { - style.setStroke(this._getStroke(options['stroke'])) - } - if (options['text'] && this._getText(options['text'])) { - style.setText(this._getText(options['text'])) - } - if (options['fill'] && this._getFill(options['fill'])) { - style.setFill(this._getFill(options['fill'])) - } - if (options['icon']) { - style.setImage(this._getImage(options['icon'])) + } else { + style = new ol.style.Style({}) + if (options['stroke'] && this._getStroke(options['stroke'])) { + style.setStroke(this._getStroke(options['stroke'])) + } + if (options['text'] && this._getText(options['text'])) { + style.setText(this._getText(options['text'])) + } + if (options['fill'] && this._getFill(options['fill'])) { + style.setFill(this._getFill(options['fill'])) + } + if (options['icon']) { + style.setImage(this._getImage(options['icon'])) + } } } return style