Agriculture-front-end/public/dist/ol/iclient-ol-es6.min.js
2023-06-22 06:50:23 +08:00

8 lines
1018 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!
*
* iclient-ol
* Copyright© 2000 - 2023 SuperMap Software Co.Ltd
* license: Apache-2.0
* version: v11.1.0-beta
*
*/(()=>{var e={693:function(e){!function(t){"use strict";if(t.__disableNativeFetch||!t.fetch){o.prototype.append=function(e,t){e=n(e),t=a(t);var r=this.map[e];r||(r=[],this.map[e]=r),r.push(t)},o.prototype.delete=function(e){delete this.map[n(e)]},o.prototype.get=function(e){var t=this.map[n(e)];return t?t[0]:null},o.prototype.getAll=function(e){return this.map[n(e)]||[]},o.prototype.has=function(e){return this.map.hasOwnProperty(n(e))},o.prototype.set=function(e,t){this.map[n(e)]=[a(t)]},o.prototype.forEach=function(e,t){Object.getOwnPropertyNames(this.map).forEach(function(r){this.map[r].forEach(function(s){e.call(t,s,r,this)},this)},this)};var r={blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t},s=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];d.prototype.clone=function(){return new d(this)},c.call(d.prototype),c.call(f.prototype),f.prototype.clone=function(){return new f(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new o(this.headers),url:this.url})},f.error=function(){var e=new f(null,{status:0,statusText:""});return e.type="error",e};var i=[301,302,303,307,308];f.redirect=function(e,t){if(-1===i.indexOf(t))throw new RangeError("Invalid status code");return new f(null,{status:t,headers:{location:e}})},t.Headers=o,t.Request=d,t.Response=f,t.fetch=function(e,t){return new Promise(function(s,i){var n;n=d.prototype.isPrototypeOf(e)&&!t?e:new d(e,t);var a=new XMLHttpRequest;var l=!1;function h(){if(4===a.readyState){var e=1223===a.status?204:a.status;if(e<100||e>599){if(l)return;return l=!0,void i(new TypeError("Network request failed"))}var t={status:e,statusText:a.statusText,headers:function(e){var t=new o;return e.getAllResponseHeaders().trim().split("\n").forEach(function(e){var r=e.trim().split(":"),s=r.shift().trim(),i=r.join(":").trim();t.append(s,i)}),t}(a),url:"responseURL"in a?a.responseURL:/^X-Request-URL:/m.test(a.getAllResponseHeaders())?a.getResponseHeader("X-Request-URL"):void 0},r="response"in a?a.response:a.responseText;l||(l=!0,s(new f(r,t)))}}a.onreadystatechange=h,a.onload=h,a.onerror=function(){l||(l=!0,i(new TypeError("Network request failed")))},a.open(n.method,n.url,!0);try{"include"===n.credentials&&("withCredentials"in a?a.withCredentials=!0:console&&console.warn&&console.warn("withCredentials is not supported, you can ignore this warning"))}catch(e){console&&console.warn&&console.warn("set withCredentials error:"+e)}"responseType"in a&&r.blob&&(a.responseType="blob"),n.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),a.send(void 0===n._bodyInit?null:n._bodyInit)})},t.fetch.polyfill=!0,e.exports&&(e.exports=t.fetch)}function n(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function a(e){return"string"!=typeof e&&(e=String(e)),e}function o(e){this.map={},e instanceof o?e.forEach(function(e,t){this.append(t,e)},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function l(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function u(e){var t=new FileReader;return t.readAsArrayBuffer(e),h(t)}function c(){return this.bodyUsed=!1,this._initBody=function(e,t){if(this._bodyInit=e,"string"==typeof e)this._bodyText=e;else if(r.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e,this._options=t;else if(r.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(e){if(!r.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e))throw new Error("unsupported BodyInit type")}else this._bodyText=""},r.blob?(this.blob=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(u)},this.text=function(){var e,t,r,s,i,n,a,o=l(this);if(o)return o;if(this._bodyBlob)return e=this._bodyBlob,t=this._options,r=new FileReader,s=t.headers.map["content-type"]?t.headers.map["content-type"].toString():"",i=/charset\=[0-9a-zA-Z\-\_]*;?/,n=e.type.match(i)||s.match(i),a=[e],n&&a.push(n[0].replace(/^charset\=/,"").replace(/;$/,"")),r.readAsText.apply(r,a),h(r);if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)}):this.text=function(){var e=l(this);return e||Promise.resolve(this._bodyText)},r.formData&&(this.formData=function(){return this.text().then(p)}),this.json=function(){return this.text().then(JSON.parse)},this}function d(e,t){var r,i,n=(t=t||{}).body;if(d.prototype.isPrototypeOf(e)){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new o(e.headers)),this.method=e.method,this.mode=e.mode,n||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=e;if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new o(t.headers)),this.method=(r=t.method||this.method||"GET",i=r.toUpperCase(),s.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n,t)}function p(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),s=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(s),decodeURIComponent(i))}}),t}function f(e,t){t||(t={}),this._initBody(e,t),this.type="default",this.status=t.status,this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText,this.headers=t.headers instanceof o?t.headers:new o(t.headers),this.url=t.url||""}}("undefined"!=typeof self?self:this)},144:function(e,t){var r,s,i;s=[t,e],void 0===(i="function"==typeof(r=function(e,t){"use strict";var r={timeout:5e3,jsonpCallback:"callback",jsonpCallbackFunction:null};function s(e){try{delete window[e]}catch(t){window[e]=void 0}}function i(e){var t=document.getElementById(e);t&&document.getElementsByTagName("head")[0].removeChild(t)}t.exports=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e,a=t.timeout||r.timeout,o=t.jsonpCallback||r.jsonpCallback,l=void 0;return new Promise(function(r,h){var u=t.jsonpCallbackFunction||"jsonp_"+Date.now()+"_"+Math.ceil(1e5*Math.random()),c=o+"_"+u;window[u]=function(e){r({ok:!0,json:function(){return Promise.resolve(e)}}),l&&clearTimeout(l),i(c),s(u)},n+=-1===n.indexOf("?")?"?":"&";var d=document.createElement("script");d.setAttribute("src",""+n+o+"="+u),t.charset&&d.setAttribute("charset",t.charset),d.id=c,document.getElementsByTagName("head")[0].appendChild(d),l=setTimeout(function(){h(new Error("JSONP request to "+e+" timed out")),s(u),i(c),window[u]=function(){s(u)}},a),d.onerror=function(){h(new Error("JSONP request to "+e+" failed")),s(u),i(c),l&&clearTimeout(l)}})}})?r.apply(t,s):r)||(e.exports=i)},962:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Builder=void 0;var s=r(505),i=r(147),n=function(){function e(e){var t;this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,t=e||1024,this.bb=s.ByteBuffer.allocate(t),this.space=t}return e.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null},e.prototype.forceDefaults=function(e){this.force_defaults=e},e.prototype.dataBuffer=function(){return this.bb},e.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())},e.prototype.prep=function(t,r){t>this.minalign&&(this.minalign=t);for(var s=1+~(this.bb.capacity()-this.space+r)&t-1;this.space<s+t+r;){var i=this.bb.capacity();this.bb=e.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(s)},e.prototype.pad=function(e){for(var t=0;t<e;t++)this.bb.writeInt8(--this.space,0)},e.prototype.writeInt8=function(e){this.bb.writeInt8(this.space-=1,e)},e.prototype.writeInt16=function(e){this.bb.writeInt16(this.space-=2,e)},e.prototype.writeInt32=function(e){this.bb.writeInt32(this.space-=4,e)},e.prototype.writeInt64=function(e){this.bb.writeInt64(this.space-=8,e)},e.prototype.writeFloat32=function(e){this.bb.writeFloat32(this.space-=4,e)},e.prototype.writeFloat64=function(e){this.bb.writeFloat64(this.space-=8,e)},e.prototype.addInt8=function(e){this.prep(1,0),this.writeInt8(e)},e.prototype.addInt16=function(e){this.prep(2,0),this.writeInt16(e)},e.prototype.addInt32=function(e){this.prep(4,0),this.writeInt32(e)},e.prototype.addInt64=function(e){this.prep(8,0),this.writeInt64(e)},e.prototype.addFloat32=function(e){this.prep(4,0),this.writeFloat32(e)},e.prototype.addFloat64=function(e){this.prep(8,0),this.writeFloat64(e)},e.prototype.addFieldInt8=function(e,t,r){(this.force_defaults||t!=r)&&(this.addInt8(t),this.slot(e))},e.prototype.addFieldInt16=function(e,t,r){(this.force_defaults||t!=r)&&(this.addInt16(t),this.slot(e))},e.prototype.addFieldInt32=function(e,t,r){(this.force_defaults||t!=r)&&(this.addInt32(t),this.slot(e))},e.prototype.addFieldInt64=function(e,t,r){(this.force_defaults||t!==r)&&(this.addInt64(t),this.slot(e))},e.prototype.addFieldFloat32=function(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat32(t),this.slot(e))},e.prototype.addFieldFloat64=function(e,t,r){(this.force_defaults||t!=r)&&(this.addFloat64(t),this.slot(e))},e.prototype.addFieldOffset=function(e,t,r){(this.force_defaults||t!=r)&&(this.addOffset(t),this.slot(e))},e.prototype.addFieldStruct=function(e,t,r){t!=r&&(this.nested(t),this.slot(e))},e.prototype.nested=function(e){if(e!=this.offset())throw new Error("FlatBuffers: struct must be serialized inline.")},e.prototype.notNested=function(){if(this.isNested)throw new Error("FlatBuffers: object serialization must not be nested.")},e.prototype.slot=function(e){null!==this.vtable&&(this.vtable[e]=this.offset())},e.prototype.offset=function(){return this.bb.capacity()-this.space},e.growByteBuffer=function(e){var t=e.capacity();if(3221225472&t)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");var r=t<<1,i=s.ByteBuffer.allocate(r);return i.setPosition(r-t),i.bytes().set(e.bytes(),r-t),i},e.prototype.addOffset=function(e){this.prep(i.SIZEOF_INT,0),this.writeInt32(this.offset()-e+i.SIZEOF_INT)},e.prototype.startObject=function(e){this.notNested(),null==this.vtable&&(this.vtable=[]),this.vtable_in_use=e;for(var t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()},e.prototype.endObject=function(){if(null==this.vtable||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);for(var e=this.offset(),t=this.vtable_in_use-1;t>=0&&0==this.vtable[t];t--);for(var r=t+1;t>=0;t--)this.addInt16(0!=this.vtable[t]?e-this.vtable[t]:0);this.addInt16(e-this.object_start);var s=(r+2)*i.SIZEOF_SHORT;this.addInt16(s);var n=0,a=this.space;e:for(t=0;t<this.vtables.length;t++){var o=this.bb.capacity()-this.vtables[t];if(s==this.bb.readInt16(o)){for(var l=i.SIZEOF_SHORT;l<s;l+=i.SIZEOF_SHORT)if(this.bb.readInt16(a+l)!=this.bb.readInt16(o+l))continue e;n=this.vtables[t];break}}return n?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,n-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e},e.prototype.finish=function(e,t,r){var s=r?i.SIZE_PREFIX_LENGTH:0;if(t){var n=t;if(this.prep(this.minalign,i.SIZEOF_INT+i.FILE_IDENTIFIER_LENGTH+s),n.length!=i.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+i.FILE_IDENTIFIER_LENGTH);for(var a=i.FILE_IDENTIFIER_LENGTH-1;a>=0;a--)this.writeInt8(n.charCodeAt(a))}this.prep(this.minalign,i.SIZEOF_INT+s),this.addOffset(e),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)},e.prototype.finishSizePrefixed=function(e,t){this.finish(e,t,!0)},e.prototype.requiredField=function(e,t){var r=this.bb.capacity()-e,s=r-this.bb.readInt32(r);if(!(0!=this.bb.readInt16(s+t)))throw new Error("FlatBuffers: field "+t+" must be set")},e.prototype.startVector=function(e,t,r){this.notNested(),this.vector_num_elems=t,this.prep(i.SIZEOF_INT,e*t),this.prep(r,e*t)},e.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()},e.prototype.createSharedString=function(e){if(!e)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(e))return this.string_maps.get(e);var t=this.createString(e);return this.string_maps.set(e,t),t},e.prototype.createString=function(e){if(null===e||void 0===e)return 0;var t;if(e instanceof Uint8Array)t=e;else{t=[];for(var r=0;r<e.length;){var s=void 0,i=e.charCodeAt(r++);if(i<55296||i>=56320)s=i;else s=(i<<10)+e.charCodeAt(r++)+-56613888;s<128?t.push(s):(s<2048?t.push(s>>6&31|192):(s<65536?t.push(s>>12&15|224):t.push(s>>18&7|240,s>>12&63|128),t.push(s>>6&63|128)),t.push(63&s|128))}}this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length);r=0;for(var n=this.space,a=this.bb.bytes();r<t.length;r++)a[n++]=t[r];return this.endVector()},e.prototype.createObjectOffset=function(e){return null===e?0:"string"==typeof e?this.createString(e):e.pack(this)},e.prototype.createObjectOffsetList=function(e){for(var t=[],r=0;r<e.length;++r){var s=e[r];if(null===s)throw new Error("FlatBuffers: Argument for createObjectOffsetList cannot contain null.");t.push(this.createObjectOffset(s))}return t},e.prototype.createStructOffsetList=function(e,t){return t(this,e.length),this.createObjectOffsetList(e),this.endVector()},e}();t.Builder=n},505:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ByteBuffer=void 0;var s=r(147),i=r(766),n=r(650),a=function(){function e(e){this.bytes_=e,this.position_=0}return e.allocate=function(t){return new e(new Uint8Array(t))},e.prototype.clear=function(){this.position_=0},e.prototype.bytes=function(){return this.bytes_},e.prototype.position=function(){return this.position_},e.prototype.setPosition=function(e){this.position_=e},e.prototype.capacity=function(){return this.bytes_.length},e.prototype.readInt8=function(e){return this.readUint8(e)<<24>>24},e.prototype.readUint8=function(e){return this.bytes_[e]},e.prototype.readInt16=function(e){return this.readUint16(e)<<16>>16},e.prototype.readUint16=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8},e.prototype.readInt32=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24},e.prototype.readUint32=function(e){return this.readInt32(e)>>>0},e.prototype.readInt64=function(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<<BigInt(32)))},e.prototype.readUint64=function(e){return BigInt.asUintN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<<BigInt(32)))},e.prototype.readFloat32=function(e){return i.int32[0]=this.readInt32(e),i.float32[0]},e.prototype.readFloat64=function(e){return i.int32[i.isLittleEndian?0:1]=this.readInt32(e),i.int32[i.isLittleEndian?1:0]=this.readInt32(e+4),i.float64[0]},e.prototype.writeInt8=function(e,t){this.bytes_[e]=t},e.prototype.writeUint8=function(e,t){this.bytes_[e]=t},e.prototype.writeInt16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8},e.prototype.writeUint16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8},e.prototype.writeInt32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24},e.prototype.writeUint32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24},e.prototype.writeInt64=function(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))},e.prototype.writeUint64=function(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))},e.prototype.writeFloat32=function(e,t){i.float32[0]=t,this.writeInt32(e,i.int32[0])},e.prototype.writeFloat64=function(e,t){i.float64[0]=t,this.writeInt32(e,i.int32[i.isLittleEndian?0:1]),this.writeInt32(e+4,i.int32[i.isLittleEndian?1:0])},e.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+s.SIZEOF_INT+s.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");for(var e="",t=0;t<s.FILE_IDENTIFIER_LENGTH;t++)e+=String.fromCharCode(this.readInt8(this.position_+s.SIZEOF_INT+t));return e},e.prototype.__offset=function(e,t){var r=e-this.readInt32(e);return t<this.readInt16(r)?this.readInt16(r+t):0},e.prototype.__union=function(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e},e.prototype.__string=function(e,t){e+=this.readInt32(e);var r=this.readInt32(e),i="",a=0;if(e+=s.SIZEOF_INT,t===n.Encoding.UTF8_BYTES)return this.bytes_.subarray(e,e+r);for(;a<r;){var o=void 0,l=this.readUint8(e+a++);if(l<192)o=l;else{var h=this.readUint8(e+a++);if(l<224)o=(31&l)<<6|63&h;else{var u=this.readUint8(e+a++);if(l<240)o=(15&l)<<12|(63&h)<<6|63&u;else o=(7&l)<<18|(63&h)<<12|(63&u)<<6|63&this.readUint8(e+a++)}}o<65536?i+=String.fromCharCode(o):(o-=65536,i+=String.fromCharCode(55296+(o>>10),56320+(1023&o)))}return i},e.prototype.__union_with_string=function(e,t){return"string"==typeof e?this.__string(t):this.__union(e,t)},e.prototype.__indirect=function(e){return e+this.readInt32(e)},e.prototype.__vector=function(e){return e+this.readInt32(e)+s.SIZEOF_INT},e.prototype.__vector_len=function(e){return this.readInt32(e+this.readInt32(e))},e.prototype.__has_identifier=function(e){if(e.length!=s.FILE_IDENTIFIER_LENGTH)throw new Error("FlatBuffers: file identifier must be length "+s.FILE_IDENTIFIER_LENGTH);for(var t=0;t<s.FILE_IDENTIFIER_LENGTH;t++)if(e.charCodeAt(t)!=this.readInt8(this.position()+s.SIZEOF_INT+t))return!1;return!0},e.prototype.createScalarList=function(e,t){for(var r=[],s=0;s<t;++s)null!==e(s)&&r.push(e(s));return r},e.prototype.createObjList=function(e,t){for(var r=[],s=0;s<t;++s){var i=e(s);null!==i&&r.push(i.unpack())}return r},e}();t.ByteBuffer=a},147:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SIZE_PREFIX_LENGTH=t.FILE_IDENTIFIER_LENGTH=t.SIZEOF_INT=t.SIZEOF_SHORT=void 0,t.SIZEOF_SHORT=2,t.SIZEOF_INT=4,t.FILE_IDENTIFIER_LENGTH=4,t.SIZE_PREFIX_LENGTH=4},650:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Encoding=void 0,function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING"}(t.Encoding||(t.Encoding={}))},903:(e,t,r)=>{"use strict";t.cZ=t.XU=void 0;var s=r(147);var i=r(147);var n=r(147);var a=r(147);Object.defineProperty(t,"XU",{enumerable:!0,get:function(){return a.SIZE_PREFIX_LENGTH}});var o=r(766);var l=r(650);var h=r(962);var u=r(505);Object.defineProperty(t,"cZ",{enumerable:!0,get:function(){return u.ByteBuffer}})},766:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLittleEndian=t.float64=t.float32=t.int32=void 0,t.int32=new Int32Array(2),t.float32=new Float32Array(t.int32.buffer),t.float64=new Float64Array(t.int32.buffer),t.isLittleEndian=1===new Uint16Array(new Uint8Array([1,0]).buffer)[0]},478:(e,t,r)=>{var s=200,i="__lodash_hash_undefined__",n=9007199254740991,a="[object Arguments]",o="[object Function]",l="[object GeneratorFunction]",h=/^\[object .+?Constructor\]$/,u="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=u||c||Function("return this")();function p(e,t){return!!(e?e.length:0)&&function(e,t,r){if(t!=t)return function(e,t,r,s){var i=e.length,n=r+(s?1:-1);for(;s?n--:++n<i;)if(t(e[n],n,e))return n;return-1}(e,y,r);var s=r-1,i=e.length;for(;++s<i;)if(e[s]===t)return s;return-1}(e,t,0)>-1}function f(e,t,r){for(var s=-1,i=e?e.length:0;++s<i;)if(r(t,e[s]))return!0;return!1}function m(e,t){for(var r=-1,s=t.length,i=e.length;++r<s;)e[i+r]=t[r];return e}function y(e){return e!=e}function g(e,t){return e.has(t)}var v=Array.prototype,b=Function.prototype,S=Object.prototype,x=d["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),w=b.toString,C=S.hasOwnProperty,T=S.toString,M=RegExp("^"+w.call(C).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),E=d.Symbol,A=S.propertyIsEnumerable,O=v.splice,P=E?E.isConcatSpreadable:void 0,L=Math.max,I=V(d,"Map"),N=V(Object,"create");function F(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function k(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function R(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function D(e){var t=-1,r=e?e.length:0;for(this.__data__=new R;++t<r;)this.add(e[t])}function G(e,t){for(var r,s,i=e.length;i--;)if((r=e[i][0])===(s=t)||r!=r&&s!=s)return i;return-1}function B(e,t,r,i){var n,a=-1,o=p,l=!0,h=e.length,u=[],c=t.length;if(!h)return u;r&&(t=function(e,t){for(var r=-1,s=e?e.length:0,i=Array(s);++r<s;)i[r]=t(e[r],r,e);return i}(t,(n=r,function(e){return n(e)}))),i?(o=f,l=!1):t.length>=s&&(o=g,l=!1,t=new D(t));e:for(;++a<h;){var d=e[a],m=r?r(d):d;if(d=i||0!==d?d:0,l&&m==m){for(var y=c;y--;)if(t[y]===m)continue e;u.push(d)}else o(t,m,i)||u.push(d)}return u}function j(e){return!(!X(e)||_&&_ in e)&&(Y(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?M:h).test(function(e){if(null!=e){try{return w.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function U(e,t){var r,s,i=e.__data__;return("string"==(s=typeof(r=t))||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function V(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return j(r)?r:void 0}function z(e){return q(e)||function(e){return W(e)&&C.call(e,"callee")&&(!A.call(e,"callee")||T.call(e)==a)}(e)||!!(P&&e&&e[P])}F.prototype.clear=function(){this.__data__=N?N(null):{}},F.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},F.prototype.get=function(e){var t=this.__data__;if(N){var r=t[e];return r===i?void 0:r}return C.call(t,e)?t[e]:void 0},F.prototype.has=function(e){var t=this.__data__;return N?void 0!==t[e]:C.call(t,e)},F.prototype.set=function(e,t){return this.__data__[e]=N&&void 0===t?i:t,this},k.prototype.clear=function(){this.__data__=[]},k.prototype.delete=function(e){var t=this.__data__,r=G(t,e);return!(r<0||(r==t.length-1?t.pop():O.call(t,r,1),0))},k.prototype.get=function(e){var t=this.__data__,r=G(t,e);return r<0?void 0:t[r][1]},k.prototype.has=function(e){return G(this.__data__,e)>-1},k.prototype.set=function(e,t){var r=this.__data__,s=G(r,e);return s<0?r.push([e,t]):r[s][1]=t,this},R.prototype.clear=function(){this.__data__={hash:new F,map:new(I||k),string:new F}},R.prototype.delete=function(e){return U(this,e).delete(e)},R.prototype.get=function(e){return U(this,e).get(e)},R.prototype.has=function(e){return U(this,e).has(e)},R.prototype.set=function(e,t){return U(this,e).set(e,t),this},D.prototype.add=D.prototype.push=function(e){return this.__data__.set(e,i),this},D.prototype.has=function(e){return this.__data__.has(e)};var J=function(e,t){return t=L(void 0===t?e.length-1:t,0),function(){for(var r=arguments,s=-1,i=L(r.length-t,0),n=Array(i);++s<i;)n[s]=r[t+s];s=-1;for(var a=Array(t+1);++s<t;)a[s]=r[s];return a[t]=n,function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(e,this,a)}}(function(e,t){return W(e)?B(e,function e(t,r,s,i,n){var a=-1,o=t.length;for(s||(s=z),n||(n=[]);++a<o;){var l=t[a];r>0&&s(l)?r>1?e(l,r-1,s,i,n):m(n,l):i||(n[n.length]=l)}return n}(t,1,W,!0)):[]});var q=Array.isArray;function H(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}(e.length)&&!Y(e)}function W(e){return function(e){return!!e&&"object"==typeof e}(e)&&H(e)}function Y(e){var t=X(e)?T.call(e):"";return t==o||t==l}function X(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=J},794:(e,t,r)=>{e=r.nmd(e);var s=200,i="Expected a function",n="__lodash_hash_undefined__",a=1,o=2,l=1/0,h=9007199254740991,u="[object Arguments]",c="[object Array]",d="[object Boolean]",p="[object Date]",f="[object Error]",m="[object Function]",y="[object GeneratorFunction]",g="[object Map]",v="[object Number]",b="[object Object]",S="[object RegExp]",x="[object Set]",_="[object String]",w="[object Symbol]",C="[object ArrayBuffer]",T="[object DataView]",M=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,E=/^\w*$/,A=/^\./,O=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,P=/\\(\\)?/g,L=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,N={};N["[object Float32Array]"]=N["[object Float64Array]"]=N["[object Int8Array]"]=N["[object Int16Array]"]=N["[object Int32Array]"]=N["[object Uint8Array]"]=N["[object Uint8ClampedArray]"]=N["[object Uint16Array]"]=N["[object Uint32Array]"]=!0,N[u]=N[c]=N[C]=N[d]=N[T]=N[p]=N[f]=N[m]=N[g]=N[v]=N[b]=N[S]=N[x]=N[_]=N["[object WeakMap]"]=!1;var F="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,R=F||k||Function("return this")(),D=t&&!t.nodeType&&t,G=D&&e&&!e.nodeType&&e,B=G&&G.exports===D&&F.process,j=function(){try{return B&&B.binding("util")}catch(e){}}(),U=j&&j.isTypedArray;function V(e,t){for(var r=-1,s=e?e.length:0;++r<s;)if(t(e[r],r,e))return!0;return!1}function z(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function J(e){var t=-1,r=Array(e.size);return e.forEach(function(e,s){r[++t]=[s,e]}),r}function q(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var H=Array.prototype,W=Function.prototype,Y=Object.prototype,X=R["__core-js_shared__"],Q=function(){var e=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Z=W.toString,K=Y.hasOwnProperty,$=Y.toString,ee=RegExp("^"+Z.call(K).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),te=R.Symbol,re=R.Uint8Array,se=Y.propertyIsEnumerable,ie=H.splice,ne=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object),ae=Re(R,"DataView"),oe=Re(R,"Map"),le=Re(R,"Promise"),he=Re(R,"Set"),ue=Re(R,"WeakMap"),ce=Re(Object,"create"),de=qe(ae),pe=qe(oe),fe=qe(le),me=qe(he),ye=qe(ue),ge=te?te.prototype:void 0,ve=ge?ge.valueOf:void 0,be=ge?ge.toString:void 0;function Se(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function xe(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function _e(e){var t=-1,r=e?e.length:0;for(this.clear();++t<r;){var s=e[t];this.set(s[0],s[1])}}function we(e){var t=-1,r=e?e.length:0;for(this.__data__=new _e;++t<r;)this.add(e[t])}function Ce(e){this.__data__=new xe(e)}function Te(e,t){var r=Qe(e)||Xe(e)?function(e,t){for(var r=-1,s=Array(e);++r<e;)s[r]=t(r);return s}(e.length,String):[],s=r.length,i=!!s;for(var n in e)!t&&!K.call(e,n)||i&&("length"==n||Ge(n,s))||r.push(n);return r}function Me(e,t){for(var r=e.length;r--;)if(Ye(e[r][0],t))return r;return-1}function Ee(e,t){for(var r=0,s=(t=Be(t,e)?[t]:Ne(t)).length;null!=e&&r<s;)e=e[Je(t[r++])];return r&&r==s?e:void 0}function Ae(e,t){return null!=e&&t in Object(e)}function Oe(e,t,r,s,i){return e===t||(null==e||null==t||!et(e)&&!tt(t)?e!=e&&t!=t:function(e,t,r,s,i,n){var l=Qe(e),h=Qe(t),m=c,y=c;l||(m=(m=De(e))==u?b:m);h||(y=(y=De(t))==u?b:y);var M=m==b&&!z(e),E=y==b&&!z(t),A=m==y;if(A&&!M)return n||(n=new Ce),l||st(e)?Fe(e,t,r,s,i,n):function(e,t,r,s,i,n,l){switch(r){case T:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case C:return!(e.byteLength!=t.byteLength||!s(new re(e),new re(t)));case d:case p:case v:return Ye(+e,+t);case f:return e.name==t.name&&e.message==t.message;case S:case _:return e==t+"";case g:var h=J;case x:var u=n&o;if(h||(h=q),e.size!=t.size&&!u)return!1;var c=l.get(e);if(c)return c==t;n|=a,l.set(e,t);var m=Fe(h(e),h(t),s,i,n,l);return l.delete(e),m;case w:if(ve)return ve.call(e)==ve.call(t)}return!1}(e,t,m,r,s,i,n);if(!(i&o)){var O=M&&K.call(e,"__wrapped__"),P=E&&K.call(t,"__wrapped__");if(O||P){var L=O?e.value():e,I=P?t.value():t;return n||(n=new Ce),r(L,I,s,i,n)}}if(!A)return!1;return n||(n=new Ce),function(e,t,r,s,i,n){var a=i&o,l=it(e),h=l.length,u=it(t).length;if(h!=u&&!a)return!1;for(var c=h;c--;){var d=l[c];if(!(a?d in t:K.call(t,d)))return!1}var p=n.get(e);if(p&&n.get(t))return p==t;var f=!0;n.set(e,t),n.set(t,e);for(var m=a;++c<h;){d=l[c];var y=e[d],g=t[d];if(s)var v=a?s(g,y,d,t,e,n):s(y,g,d,e,t,n);if(!(void 0===v?y===g||r(y,g,s,i,n):v)){f=!1;break}m||(m="constructor"==d)}if(f&&!m){var b=e.constructor,S=t.constructor;b!=S&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof S&&S instanceof S)&&(f=!1)}return n.delete(e),n.delete(t),f}(e,t,r,s,i,n)}(e,t,Oe,r,s,i))}function Pe(e){return!(!et(e)||Q&&Q in e)&&(Ke(e)||z(e)?ee:L).test(qe(e))}function Le(e){return"function"==typeof e?e:null==e?nt:"object"==typeof e?Qe(e)?function(e,t){if(Be(e)&&je(t))return Ue(Je(e),t);return function(r){var s=function(e,t,r){var s=null==e?void 0:Ee(e,t);return void 0===s?r:s}(r,e);return void 0===s&&s===t?function(e,t){return null!=e&&function(e,t,r){var s,i=-1,n=(t=Be(t,e)?[t]:Ne(t)).length;for(;++i<n;){var a=Je(t[i]);if(!(s=null!=e&&r(e,a)))break;e=e[a]}if(s)return s;return!!(n=e?e.length:0)&&$e(n)&&Ge(a,n)&&(Qe(e)||Xe(e))}(e,t,Ae)}(r,e):Oe(t,s,void 0,a|o)}}(e[0],e[1]):function(e){var t=function(e){var t=it(e),r=t.length;for(;r--;){var s=t[r],i=e[s];t[r]=[s,i,je(i)]}return t}(e);if(1==t.length&&t[0][2])return Ue(t[0][0],t[0][1]);return function(r){return r===e||function(e,t,r,s){var i=r.length,n=i,l=!s;if(null==e)return!n;for(e=Object(e);i--;){var h=r[i];if(l&&h[2]?h[1]!==e[h[0]]:!(h[0]in e))return!1}for(;++i<n;){var u=(h=r[i])[0],c=e[u],d=h[1];if(l&&h[2]){if(void 0===c&&!(u in e))return!1}else{var p=new Ce;if(s)var f=s(c,d,u,e,t,p);if(!(void 0===f?Oe(d,c,s,a|o,p):f))return!1}}return!0}(r,e,t)}}(e):Be(t=e)?(r=Je(t),function(e){return null==e?void 0:e[r]}):function(e){return function(t){return Ee(t,e)}}(t);var t,r}function Ie(e){if(r=(t=e)&&t.constructor,s="function"==typeof r&&r.prototype||Y,t!==s)return ne(e);var t,r,s,i=[];for(var n in Object(e))K.call(e,n)&&"constructor"!=n&&i.push(n);return i}function Ne(e){return Qe(e)?e:ze(e)}function Fe(e,t,r,s,i,n){var l=i&o,h=e.length,u=t.length;if(h!=u&&!(l&&u>h))return!1;var c=n.get(e);if(c&&n.get(t))return c==t;var d=-1,p=!0,f=i&a?new we:void 0;for(n.set(e,t),n.set(t,e);++d<h;){var m=e[d],y=t[d];if(s)var g=l?s(y,m,d,t,e,n):s(m,y,d,e,t,n);if(void 0!==g){if(g)continue;p=!1;break}if(f){if(!V(t,function(e,t){if(!f.has(t)&&(m===e||r(m,e,s,i,n)))return f.add(t)})){p=!1;break}}else if(m!==y&&!r(m,y,s,i,n)){p=!1;break}}return n.delete(e),n.delete(t),p}function ke(e,t){var r,s,i=e.__data__;return("string"==(s=typeof(r=t))||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==r:null===r)?i["string"==typeof t?"string":"hash"]:i.map}function Re(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return Pe(r)?r:void 0}Se.prototype.clear=function(){this.__data__=ce?ce(null):{}},Se.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Se.prototype.get=function(e){var t=this.__data__;if(ce){var r=t[e];return r===n?void 0:r}return K.call(t,e)?t[e]:void 0},Se.prototype.has=function(e){var t=this.__data__;return ce?void 0!==t[e]:K.call(t,e)},Se.prototype.set=function(e,t){return this.__data__[e]=ce&&void 0===t?n:t,this},xe.prototype.clear=function(){this.__data__=[]},xe.prototype.delete=function(e){var t=this.__data__,r=Me(t,e);return!(r<0||(r==t.length-1?t.pop():ie.call(t,r,1),0))},xe.prototype.get=function(e){var t=this.__data__,r=Me(t,e);return r<0?void 0:t[r][1]},xe.prototype.has=function(e){return Me(this.__data__,e)>-1},xe.prototype.set=function(e,t){var r=this.__data__,s=Me(r,e);return s<0?r.push([e,t]):r[s][1]=t,this},_e.prototype.clear=function(){this.__data__={hash:new Se,map:new(oe||xe),string:new Se}},_e.prototype.delete=function(e){return ke(this,e).delete(e)},_e.prototype.get=function(e){return ke(this,e).get(e)},_e.prototype.has=function(e){return ke(this,e).has(e)},_e.prototype.set=function(e,t){return ke(this,e).set(e,t),this},we.prototype.add=we.prototype.push=function(e){return this.__data__.set(e,n),this},we.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.clear=function(){this.__data__=new xe},Ce.prototype.delete=function(e){return this.__data__.delete(e)},Ce.prototype.get=function(e){return this.__data__.get(e)},Ce.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.set=function(e,t){var r=this.__data__;if(r instanceof xe){var i=r.__data__;if(!oe||i.length<s-1)return i.push([e,t]),this;r=this.__data__=new _e(i)}return r.set(e,t),this};var De=function(e){return $.call(e)};function Ge(e,t){return!!(t=null==t?h:t)&&("number"==typeof e||I.test(e))&&e>-1&&e%1==0&&e<t}function Be(e,t){if(Qe(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!rt(e))||(E.test(e)||!M.test(e)||null!=t&&e in Object(t))}function je(e){return e==e&&!et(e)}function Ue(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function Ve(e,t){return 1==t.length?e:Ee(e,function(e,t,r){var s=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var n=Array(i);++s<i;)n[s]=e[s+t];return n}(t,0,-1))}(ae&&De(new ae(new ArrayBuffer(1)))!=T||oe&&De(new oe)!=g||le&&"[object Promise]"!=De(le.resolve())||he&&De(new he)!=x||ue&&"[object WeakMap]"!=De(new ue))&&(De=function(e){var t=$.call(e),r=t==b?e.constructor:void 0,s=r?qe(r):void 0;if(s)switch(s){case de:return T;case pe:return g;case fe:return"[object Promise]";case me:return x;case ye:return"[object WeakMap]"}return t});var ze=We(function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(rt(e))return be?be.call(e):"";var t=e+"";return"0"==t&&1/e==-l?"-0":t}(t);var r=[];return A.test(e)&&r.push(""),e.replace(O,function(e,t,s,i){r.push(s?i.replace(P,"$1"):t||e)}),r});function Je(e){if("string"==typeof e||rt(e))return e;var t=e+"";return"0"==t&&1/e==-l?"-0":t}function qe(e){if(null!=e){try{return Z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function He(e){var t=e?e.length:0;return t?e[t-1]:void 0}function We(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(i);var r=function(){var s=arguments,i=t?t.apply(this,s):s[0],n=r.cache;if(n.has(i))return n.get(i);var a=e.apply(this,s);return r.cache=n.set(i,a),a};return r.cache=new(We.Cache||_e),r}function Ye(e,t){return e===t||e!=e&&t!=t}function Xe(e){return function(e){return tt(e)&&Ze(e)}(e)&&K.call(e,"callee")&&(!se.call(e,"callee")||$.call(e)==u)}We.Cache=_e;var Qe=Array.isArray;function Ze(e){return null!=e&&$e(e.length)&&!Ke(e)}function Ke(e){var t=et(e)?$.call(e):"";return t==m||t==y}function $e(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function et(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function tt(e){return!!e&&"object"==typeof e}function rt(e){return"symbol"==typeof e||tt(e)&&$.call(e)==w}var st=U?function(e){return function(t){return e(t)}}(U):function(e){return tt(e)&&$e(e.length)&&!!N[$.call(e)]};function it(e){return Ze(e)?Te(e):Ie(e)}function nt(e){return e}e.exports=function(e,t){var r=[];if(!e||!e.length)return r;var s=-1,i=[],n=e.length;for(t=Le(t);++s<n;){var a=e[s];t(a,s,e)&&(r.push(a),i.push(s))}return function(e,t){for(var r=e?t.length:0,s=r-1;r--;){var i=t[r];if(r==s||i!==n){var n=i;if(Ge(i))ie.call(e,i,1);else if(Be(i,e))delete e[Je(i)];else{var a=Ne(i),o=Ve(e,a);null!=o&&delete o[Je(He(a))]}}}}(e,i),r}},52:(e,t,r)=>{var s=9007199254740991,i="[object Arguments]",n="[object Function]",a="[object GeneratorFunction]",o="[object Map]",l="[object Set]",h=/^\[object .+?Constructor\]$/,u=/^(?:0|[1-9]\d*)$/,c="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,d="object"==typeof self&&self&&self.Object===Object&&self,p=c||d||Function("return this")();function f(e,t){return function(e,t){for(var r=-1,s=e?e.length:0,i=Array(s);++r<s;)i[r]=t(e[r],r,e);return i}(t,function(t){return[t,e[t]]})}var m=Function.prototype,y=Object.prototype,g=p["__core-js_shared__"],v=function(){var e=/[^.]+$/.exec(g&&g.keys&&g.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=m.toString,S=y.hasOwnProperty,x=y.toString,_=RegExp("^"+b.call(S).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),w=y.propertyIsEnumerable,C=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object),T=G(p,"DataView"),M=G(p,"Map"),E=G(p,"Promise"),A=G(p,"Set"),O=G(p,"WeakMap"),P=U(T),L=U(M),I=U(E),N=U(A),F=U(O);function k(e,t){var r=V(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&z(e)}(e)&&S.call(e,"callee")&&(!w.call(e,"callee")||x.call(e)==i)}(e)?function(e,t){for(var r=-1,s=Array(e);++r<e;)s[r]=t(r);return s}(e.length,String):[],s=r.length,n=!!s;for(var a in e)!t&&!S.call(e,a)||n&&("length"==a||j(a,s))||r.push(a);return r}function R(e){return!(!q(e)||v&&v in e)&&(J(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?_:h).test(U(e))}function D(e){if(r=(t=e)&&t.constructor,s="function"==typeof r&&r.prototype||y,t!==s)return C(e);var t,r,s,i=[];for(var n in Object(e))S.call(e,n)&&"constructor"!=n&&i.push(n);return i}function G(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return R(r)?r:void 0}var B=function(e){return x.call(e)};function j(e,t){return!!(t=null==t?s:t)&&("number"==typeof e||u.test(e))&&e>-1&&e%1==0&&e<t}function U(e){if(null!=e){try{return b.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(T&&"[object DataView]"!=B(new T(new ArrayBuffer(1)))||M&&B(new M)!=o||E&&"[object Promise]"!=B(E.resolve())||A&&B(new A)!=l||O&&"[object WeakMap]"!=B(new O))&&(B=function(e){var t=x.call(e),r="[object Object]"==t?e.constructor:void 0,s=r?U(r):void 0;if(s)switch(s){case P:return"[object DataView]";case L:return o;case I:return"[object Promise]";case N:return l;case F:return"[object WeakMap]"}return t});var V=Array.isArray;function z(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=s}(e.length)&&!J(e)}function J(e){var t=q(e)?x.call(e):"";return t==n||t==a}function q(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var H=function(e){return function(t){var r,s,i,n=B(t);return n==o?(r=t,s=-1,i=Array(r.size),r.forEach(function(e,t){i[++s]=[t,e]}),i):n==l?function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=[e,e]}),r}(t):f(t,e(t))}}(function(e){return z(e)?k(e):D(e)});e.exports=H},785:function(e){e.exports=function(){"use strict";var e=1,t=2,r=3,s=4,i=5,n=484813681109536e-20,a=Math.PI/2,o=.16666666666666666,l=.04722222222222222,h=.022156084656084655,u=1e-10,c=.017453292519943295,d=57.29577951308232,p=Math.PI/4,f=2*Math.PI,m=3.14159265359,y={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667},g={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},v=/[\s_\-\/\(\)]/g;function b(e,t){if(e[t])return e[t];for(var r,s=Object.keys(e),i=t.toLowerCase().replace(v,""),n=-1;++n<s.length;)if((r=s[n]).toLowerCase().replace(v,"")===i)return e[r]}var S=function(e){var t,r,s,i={},n=e.split("+").map(function(e){return e.trim()}).filter(function(e){return e}).reduce(function(e,t){var r=t.split("=");return r.push(!0),e[r[0].toLowerCase()]=r[1],e},{}),a={proj:"projName",datum:"datumCode",rf:function(e){i.rf=parseFloat(e)},lat_0:function(e){i.lat0=e*c},lat_1:function(e){i.lat1=e*c},lat_2:function(e){i.lat2=e*c},lat_ts:function(e){i.lat_ts=e*c},lon_0:function(e){i.long0=e*c},lon_1:function(e){i.long1=e*c},lon_2:function(e){i.long2=e*c},alpha:function(e){i.alpha=parseFloat(e)*c},gamma:function(e){i.rectified_grid_angle=parseFloat(e)},lonc:function(e){i.longc=e*c},x_0:function(e){i.x0=parseFloat(e)},y_0:function(e){i.y0=parseFloat(e)},k_0:function(e){i.k0=parseFloat(e)},k:function(e){i.k0=parseFloat(e)},a:function(e){i.a=parseFloat(e)},b:function(e){i.b=parseFloat(e)},r_a:function(){i.R_A=!0},zone:function(e){i.zone=parseInt(e,10)},south:function(){i.utmSouth=!0},towgs84:function(e){i.datum_params=e.split(",").map(function(e){return parseFloat(e)})},to_meter:function(e){i.to_meter=parseFloat(e)},units:function(e){i.units=e;var t=b(g,e);t&&(i.to_meter=t.to_meter)},from_greenwich:function(e){i.from_greenwich=e*c},pm:function(e){var t=b(y,e);i.from_greenwich=(t||parseFloat(e))*c},nadgrids:function(e){"@null"===e?i.datumCode="none":i.nadgrids=e},axis:function(e){3===e.length&&-1!=="ewnsud".indexOf(e.substr(0,1))&&-1!=="ewnsud".indexOf(e.substr(1,1))&&-1!=="ewnsud".indexOf(e.substr(2,1))&&(i.axis=e)},approx:function(){i.approx=!0}};for(t in n)r=n[t],t in a?"function"==typeof(s=a[t])?s(r):i[s]=r:i[t]=r;return"string"==typeof i.datumCode&&"WGS84"!==i.datumCode&&(i.datumCode=i.datumCode.toLowerCase()),i},x=1,_=/\s/,w=/[A-Za-z]/,C=/[A-Za-z84_]/,T=/[,\]]/,M=/[\d\.E\-\+]/;function E(e){if("string"!=typeof e)throw new Error("not a string");this.text=e.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=x}function A(e,t,r){Array.isArray(t)&&(r.unshift(t),t=null);var s=t?{}:e,i=r.reduce(function(e,t){return O(t,e),e},s);t&&(e[t]=i)}function O(e,t){if(Array.isArray(e)){var r=e.shift();if("PARAMETER"===r&&(r=e.shift()),1===e.length)return Array.isArray(e[0])?(t[r]={},void O(e[0],t[r])):void(t[r]=e[0]);if(e.length)if("TOWGS84"!==r){if("AXIS"===r)return r in t||(t[r]=[]),void t[r].push(e);var s;switch(Array.isArray(r)||(t[r]={}),r){case"UNIT":case"PRIMEM":case"VERT_DATUM":return t[r]={name:e[0].toLowerCase(),convert:e[1]},void(3===e.length&&O(e[2],t[r]));case"SPHEROID":case"ELLIPSOID":return t[r]={name:e[0],a:e[1],rf:e[2]},void(4===e.length&&O(e[3],t[r]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return e[0]=["name",e[0]],void A(t,r,e);default:for(s=-1;++s<e.length;)if(!Array.isArray(e[s]))return O(e,t[r]);return A(t,r,e)}}else t[r]=e;else t[r]=!0}else t[e]=!0}E.prototype.readCharicter=function(){var e=this.text[this.place++];if(4!==this.state)for(;_.test(e);){if(this.place>=this.text.length)return;e=this.text[this.place++]}switch(this.state){case x:return this.neutral(e);case 2:return this.keyword(e);case 4:return this.quoted(e);case 5:return this.afterquote(e);case 3:return this.number(e);case-1:return}},E.prototype.afterquote=function(e){if('"'===e)return this.word+='"',void(this.state=4);if(T.test(e))return this.word=this.word.trim(),void this.afterItem(e);throw new Error("havn't handled \""+e+'" in afterquote yet, index '+this.place)},E.prototype.afterItem=function(e){return","===e?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=x)):"]"===e?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=x,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},E.prototype.number=function(e){if(!M.test(e)){if(T.test(e))return this.word=parseFloat(this.word),void this.afterItem(e);throw new Error("havn't handled \""+e+'" in number yet, index '+this.place)}this.word+=e},E.prototype.quoted=function(e){'"'!==e?this.word+=e:this.state=5},E.prototype.keyword=function(e){if(C.test(e))this.word+=e;else{if("["===e){var t=[];return t.push(this.word),this.level++,null===this.root?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,void(this.state=x)}if(!T.test(e))throw new Error("havn't handled \""+e+'" in keyword yet, index '+this.place);this.afterItem(e)}},E.prototype.neutral=function(e){if(w.test(e))return this.word=e,void(this.state=2);if('"'===e)return this.word="",void(this.state=4);if(M.test(e))return this.word=e,void(this.state=3);if(!T.test(e))throw new Error("havn't handled \""+e+'" in neutral yet, index '+this.place);this.afterItem(e)},E.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};var P=.017453292519943295;function L(e){return e*P}var I=function(e){var t=new E(e).output(),r=t.shift(),s=t.shift();t.unshift(["name",s]),t.unshift(["type",r]);var i={};return O(t,i),function(e){if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var t="",r=0,s=e.AXIS.length;r<s;++r){var i=[e.AXIS[r][0].toLowerCase(),e.AXIS[r][1].toLowerCase()];-1!==i[0].indexOf("north")||("y"===i[0]||"lat"===i[0])&&"north"===i[1]?t+="n":-1!==i[0].indexOf("south")||("y"===i[0]||"lat"===i[0])&&"south"===i[1]?t+="s":-1!==i[0].indexOf("east")||("x"===i[0]||"lon"===i[0])&&"east"===i[1]?t+="e":-1===i[0].indexOf("west")&&("x"!==i[0]&&"lon"!==i[0]||"west"!==i[1])||(t+="w")}2===t.length&&(t+="u"),3===t.length&&(e.axis=t)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var n=e.GEOGCS;function a(t){var r=e.to_meter||1;return t*r}"GEOGCS"===e.type&&(n=e),n&&(n.DATUM?e.datumCode=n.DATUM.name.toLowerCase():e.datumCode=n.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),n.DATUM&&n.DATUM.SPHEROID&&(e.ellps=n.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=n.DATUM.SPHEROID.a,e.rf=parseFloat(n.DATUM.SPHEROID.rf,10)),n.DATUM&&n.DATUM.TOWGS84&&(e.datum_params=n.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",L],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",L],["x0","false_easting",a],["y0","false_northing",a],["long0","central_meridian",L],["lat0","latitude_of_origin",L],["lat0","standard_parallel_1",L],["lat1","standard_parallel_1",L],["lat2","standard_parallel_2",L],["azimuth","Azimuth"],["alpha","azimuth",L],["srsCode","name"]].forEach(function(t){return r=e,i=(s=t)[0],n=s[1],void(!(i in r)&&n in r&&(r[i]=r[n],3===s.length&&(r[i]=s[2](r[i]))));var r,s,i,n}),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=L(e.lat1>0?90:-90),e.lat_ts=e.lat1)}(i),i};function N(e){var t=this;if(2===arguments.length){var r=arguments[1];"string"==typeof r?"+"===r.charAt(0)?N[e]=S(arguments[1]):N[e]=I(arguments[1]):N[e]=r}else if(1===arguments.length){if(Array.isArray(e))return e.map(function(e){Array.isArray(e)?N.apply(t,e):N(e)});if("string"==typeof e){if(e in N)return N[e]}else"EPSG"in e?N["EPSG:"+e.EPSG]=e:"ESRI"in e?N["ESRI:"+e.ESRI]=e:"IAU2000"in e?N["IAU2000:"+e.IAU2000]=e:console.log(e);return}}!function(e){e("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),e("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),e("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"),e.WGS84=e["EPSG:4326"],e["EPSG:3785"]=e["EPSG:3857"],e.GOOGLE=e["EPSG:3857"],e["EPSG:900913"]=e["EPSG:3857"],e["EPSG:102113"]=e["EPSG:3857"]}(N);var F=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],k=["3857","900913","3785","102113"];function R(e){if(!function(e){return"string"==typeof e}(e))return e;if(function(e){return e in N}(e))return N[e];if(function(e){return F.some(function(t){return e.indexOf(t)>-1})}(e)){var t=I(e);if(function(e){var t=b(e,"authority");if(t){var r=b(t,"epsg");return r&&k.indexOf(r)>-1}}(t))return N["EPSG:3857"];var r=function(e){var t=b(e,"extension");if(t)return b(t,"proj4")}(t);return r?S(r):t}return function(e){return"+"===e[0]}(e)?S(e):void 0}var D=function(e,t){var r,s;if(e=e||{},!t)return e;for(s in t)void 0!==(r=t[s])&&(e[s]=r);return e},G=function(e,t,r){var s=e*t;return r/Math.sqrt(1-s*s)},B=function(e){return e<0?-1:1},j=function(e){return Math.abs(e)<=m?e:e-B(e)*f},U=function(e,t,r){var s=e*r,i=.5*e;return s=Math.pow((1-s)/(1+s),i),Math.tan(.5*(a-t))/s},V=function(e,t){for(var r,s,i=.5*e,n=a-2*Math.atan(t),o=0;o<=15;o++)if(r=e*Math.sin(n),s=a-2*Math.atan(t*Math.pow((1-r)/(1+r),i))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999};function z(e){return e}var J=[{init:function(){var e=this.b/this.a;this.es=1-e*e,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=G(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(e){var t,r,s=e.x,i=e.y;if(i*d>90&&i*d<-90&&s*d>180&&s*d<-180)return null;if(Math.abs(Math.abs(i)-a)<=u)return null;if(this.sphere)t=this.x0+this.a*this.k0*j(s-this.long0),r=this.y0+this.a*this.k0*Math.log(Math.tan(p+.5*i));else{var n=Math.sin(i),o=U(this.e,i,n);t=this.x0+this.a*this.k0*j(s-this.long0),r=this.y0-this.a*this.k0*Math.log(o)}return e.x=t,e.y=r,e},inverse:function(e){var t,r,s=e.x-this.x0,i=e.y-this.y0;if(this.sphere)r=a-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else{var n=Math.exp(-i/(this.a*this.k0));if(-9999===(r=V(this.e,n)))return null}return t=j(this.long0+s/(this.a*this.k0)),e.x=t,e.y=r,e},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:z,inverse:z,names:["longlat","identity"]}],q={},H=[];function W(e,t){var r=H.length;return e.names?(H[r]=e,e.names.forEach(function(e){q[e.toLowerCase()]=r}),this):(console.log(t),!0)}var Y={start:function(){J.forEach(W)},add:W,get:function(e){if(!e)return!1;var t=e.toLowerCase();return void 0!==q[t]&&H[q[t]]?H[q[t]]:void 0}},X={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:6378249.2,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},Q=X.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};X.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var Z={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},K={};function $(e){if(0===e.length)return null;var t="@"===e[0];return t&&(e=e.slice(1)),"null"===e?{name:"null",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:K[e]||null,isNull:!1}}function ee(e){return e/3600*Math.PI/180}function te(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function re(e){return e.map(function(e){return[ee(e.longitudeShift),ee(e.latitudeShift)]})}function se(e,t,r){return{name:te(e,t+8,t+16).trim(),parent:te(e,t+24,t+24+8).trim(),lowerLatitude:e.getFloat64(t+72,r),upperLatitude:e.getFloat64(t+88,r),lowerLongitude:e.getFloat64(t+104,r),upperLongitude:e.getFloat64(t+120,r),latitudeInterval:e.getFloat64(t+136,r),longitudeInterval:e.getFloat64(t+152,r),gridNodeCount:e.getInt32(t+168,r)}}function ie(e,t,r,s){for(var i=t+176,n=[],a=0;a<r.gridNodeCount;a++){var o={latitudeShift:e.getFloat32(i+16*a,s),longitudeShift:e.getFloat32(i+16*a+4,s),latitudeAccuracy:e.getFloat32(i+16*a+8,s),longitudeAccuracy:e.getFloat32(i+16*a+12,s)};n.push(o)}return n}function ne(a,c){if(!(this instanceof ne))return new ne(a);c=c||function(e){if(e)throw e};var d,p,f,m,y,g,v,S=R(a);if("object"==typeof S){var x=ne.projections.get(S.projName);if(x){if(S.datumCode&&"none"!==S.datumCode){var _=b(Z,S.datumCode);_&&(S.datum_params=S.datum_params||(_.towgs84?_.towgs84.split(","):null),S.ellps=_.ellipse,S.datumName=_.datumName?_.datumName:S.datumCode)}S.k0=S.k0||1,S.axis=S.axis||"enu",S.ellps=S.ellps||"wgs84",S.lat1=S.lat1||S.lat0;var w=function(e,t,r,s,i){if(!e){var n=b(X,s);n||(n=Q),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(0===r||Math.abs(e-t)<u)&&(i=!0,t=e),{a:e,b:t,rf:r,sphere:i}}(S.a,S.b,S.rf,S.ellps,S.sphere),C=(d=w.a,p=w.b,w.rf,f=S.R_A,g=((m=d*d)-(y=p*p))/m,v=0,f?(m=(d*=1-g*(o+g*(l+g*h)))*d,g=0):v=Math.sqrt(g),{es:g,e:v,ep2:(m-y)/y}),T=function(e){return void 0===e?null:e.split(",").map($)}(S.nadgrids),M=S.datum||function(a,o,l,h,u,c,d){var p={};return p.datum_type=void 0===a||"none"===a?i:s,o&&(p.datum_params=o.map(parseFloat),0===p.datum_params[0]&&0===p.datum_params[1]&&0===p.datum_params[2]||(p.datum_type=e),p.datum_params.length>3&&(0===p.datum_params[3]&&0===p.datum_params[4]&&0===p.datum_params[5]&&0===p.datum_params[6]||(p.datum_type=t,p.datum_params[3]*=n,p.datum_params[4]*=n,p.datum_params[5]*=n,p.datum_params[6]=p.datum_params[6]/1e6+1))),d&&(p.datum_type=r,p.grids=d),p.a=l,p.b=h,p.es=u,p.ep2=c,p}(S.datumCode,S.datum_params,w.a,w.b,C.es,C.ep2,T);D(this,S),D(this,x),this.a=w.a,this.b=w.b,this.rf=w.rf,this.sphere=w.sphere,this.es=C.es,this.e=C.e,this.ep2=C.ep2,this.datum=M,this.init(),c(null,this)}else c(a)}else c(a)}function ae(e,t,r){var s,i,n,o,l=e.x,h=e.y,u=e.z?e.z:0;if(h<-a&&h>-1.001*a)h=-a;else if(h>a&&h<1.001*a)h=a;else{if(h<-a)return{x:-1/0,y:-1/0,z:e.z};if(h>a)return{x:1/0,y:1/0,z:e.z}}return l>Math.PI&&(l-=2*Math.PI),i=Math.sin(h),o=Math.cos(h),n=i*i,{x:((s=r/Math.sqrt(1-t*n))+u)*o*Math.cos(l),y:(s+u)*o*Math.sin(l),z:(s*(1-t)+u)*i}}function oe(e,t,r,s){var i,n,o,l,h,u,c,d,p,f,m,y,g,v,b,S,x=e.x,_=e.y,w=e.z?e.z:0;if(i=Math.sqrt(x*x+_*_),n=Math.sqrt(x*x+_*_+w*w),i/r<1e-12){if(v=0,n/r<1e-12)return b=a,S=-s,{x:e.x,y:e.y,z:e.z}}else v=Math.atan2(_,x);o=w/n,l=i/n,h=1/Math.sqrt(1-t*(2-t)*l*l),d=l*(1-t)*h,p=o*h,g=0;do{g++,c=r/Math.sqrt(1-t*p*p),u=t*c/(c+(S=i*d+w*p-c*(1-t*p*p))),h=1/Math.sqrt(1-u*(2-u)*l*l),y=(m=o*h)*d-(f=l*(1-u)*h)*p,d=f,p=m}while(y*y>1e-24&&g<30);return b=Math.atan(m/Math.abs(f)),{x:v,y:b,z:S}}function le(r){return r===e||r===t}ne.projections=Y,ne.projections.start();var he=function(s,n,a){if(function(r,s){return r.datum_type===s.datum_type&&!(r.a!==s.a||Math.abs(r.es-s.es)>5e-11)&&(r.datum_type===e?r.datum_params[0]===s.datum_params[0]&&r.datum_params[1]===s.datum_params[1]&&r.datum_params[2]===s.datum_params[2]:r.datum_type!==t||r.datum_params[0]===s.datum_params[0]&&r.datum_params[1]===s.datum_params[1]&&r.datum_params[2]===s.datum_params[2]&&r.datum_params[3]===s.datum_params[3]&&r.datum_params[4]===s.datum_params[4]&&r.datum_params[5]===s.datum_params[5]&&r.datum_params[6]===s.datum_params[6])}(s,n))return a;if(s.datum_type===i||n.datum_type===i)return a;var o=s.a,l=s.es;if(s.datum_type===r){var h=ue(s,!1,a);if(0!==h)return;o=6378137,l=.0066943799901413165}var u=n.a,c=n.b,d=n.es;if(n.datum_type===r&&(u=6378137,c=6356752.314,d=.0066943799901413165),l===d&&o===u&&!le(s.datum_type)&&!le(n.datum_type))return a;if(a=ae(a,l,o),le(s.datum_type)&&(a=function(r,s,i){if(s===e)return{x:r.x+i[0],y:r.y+i[1],z:r.z+i[2]};if(s===t){var n=i[0],a=i[1],o=i[2],l=i[3],h=i[4],u=i[5],c=i[6];return{x:c*(r.x-u*r.y+h*r.z)+n,y:c*(u*r.x+r.y-l*r.z)+a,z:c*(-h*r.x+l*r.y+r.z)+o}}}(a,s.datum_type,s.datum_params)),le(n.datum_type)&&(a=function(r,s,i){if(s===e)return{x:r.x-i[0],y:r.y-i[1],z:r.z-i[2]};if(s===t){var n=i[0],a=i[1],o=i[2],l=i[3],h=i[4],u=i[5],c=i[6],d=(r.x-n)/c,p=(r.y-a)/c,f=(r.z-o)/c;return{x:d+u*p-h*f,y:-u*d+p+l*f,z:h*d-l*p+f}}}(a,n.datum_type,n.datum_params)),a=oe(a,d,u,c),n.datum_type===r){var p=ue(n,!0,a);if(0!==p)return}return a};function ue(e,t,r){if(null===e.grids||0===e.grids.length)return console.log("Grid shift grids not found"),-1;for(var s={x:-r.x,y:r.y},i={x:Number.NaN,y:Number.NaN},n=[],a=0;a<e.grids.length;a++){var o=e.grids[a];if(n.push(o.name),o.isNull){i=s;break}if(null!==o.grid){var l=o.grid.subgrids[0],h=(Math.abs(l.del[1])+Math.abs(l.del[0]))/1e4,u=l.ll[0]-h,c=l.ll[1]-h,p=l.ll[0]+(l.lim[0]-1)*l.del[0]+h,f=l.ll[1]+(l.lim[1]-1)*l.del[1]+h;if(!(c>s.y||u>s.x||f<s.y||p<s.x||(i=ce(s,t,l),isNaN(i.x))))break}else if(o.mandatory)return console.log("Unable to find mandatory grid '"+o.name+"'"),-1}return isNaN(i.x)?(console.log("Failed to find a grid shift table for location '"+-s.x*d+" "+s.y*d+" tried: '"+n+"'"),-1):(r.x=-i.x,r.y=i.y,0)}function ce(e,t,r){var s={x:Number.NaN,y:Number.NaN};if(isNaN(e.x))return s;var i={x:e.x,y:e.y};i.x-=r.ll[0],i.y-=r.ll[1],i.x=j(i.x-Math.PI)+Math.PI;var n=de(i,r);if(t){if(isNaN(n.x))return s;n.x=i.x-n.x,n.y=i.y-n.y;var a,o,l=9;do{if(o=de(n,r),isNaN(o.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}a={x:i.x-(o.x+n.x),y:i.y-(o.y+n.y)},n.x+=a.x,n.y+=a.y}while(l--&&Math.abs(a.x)>1e-12&&Math.abs(a.y)>1e-12);if(l<0)return console.log("Inverse grid shift iterator failed to converge."),s;s.x=j(n.x+r.ll[0]),s.y=n.y+r.ll[1]}else isNaN(n.x)||(s.x=e.x+n.x,s.y=e.y+n.y);return s}function de(e,t){var r,s={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(s.x),y:Math.floor(s.y)},n={x:s.x-1*i.x,y:s.y-1*i.y},a={x:Number.NaN,y:Number.NaN};if(i.x<0||i.x>=t.lim[0])return a;if(i.y<0||i.y>=t.lim[1])return a;r=i.y*t.lim[0]+i.x;var o={x:t.cvs[r][0],y:t.cvs[r][1]};r++;var l={x:t.cvs[r][0],y:t.cvs[r][1]};r+=t.lim[0];var h={x:t.cvs[r][0],y:t.cvs[r][1]};r--;var u={x:t.cvs[r][0],y:t.cvs[r][1]},c=n.x*n.y,d=n.x*(1-n.y),p=(1-n.x)*(1-n.y),f=(1-n.x)*n.y;return a.x=p*o.x+d*l.x+f*u.x+c*h.x,a.y=p*o.y+d*l.y+f*u.y+c*h.y,a}var pe=function(e,t,r){var s,i,n,a=r.x,o=r.y,l=r.z||0,h={};for(n=0;n<3;n++)if(!t||2!==n||void 0!==r.z)switch(0===n?(s=a,i=-1!=="ew".indexOf(e.axis[n])?"x":"y"):1===n?(s=o,i=-1!=="ns".indexOf(e.axis[n])?"y":"x"):(s=l,i="z"),e.axis[n]){case"e":h[i]=s;break;case"w":h[i]=-s;break;case"n":h[i]=s;break;case"s":h[i]=-s;break;case"u":void 0!==r[i]&&(h.z=s);break;case"d":void 0!==r[i]&&(h.z=-s);break;default:return null}return h},fe=function(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t},me=function(e){ye(e.x),ye(e.y)};function ye(e){if("function"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof e||e!=e||!isFinite(e))throw new TypeError("coordinates must be finite numbers")}function ge(s,i,n,a){var o,l=void 0!==(n=Array.isArray(n)?fe(n):{x:n.x,y:n.y,z:n.z,m:n.m}).z;if(me(n),s.datum&&i.datum&&function(s,i){return(s.datum.datum_type===e||s.datum.datum_type===t||s.datum.datum_type===r)&&"WGS84"!==i.datumCode||(i.datum.datum_type===e||i.datum.datum_type===t||i.datum.datum_type===r)&&"WGS84"!==s.datumCode}(s,i)&&(o=new ne("WGS84"),n=ge(s,o,n,a),s=o),a&&"enu"!==s.axis&&(n=pe(s,!1,n)),"longlat"===s.projName)n={x:n.x*c,y:n.y*c,z:n.z||0};else if(s.to_meter&&(n={x:n.x*s.to_meter,y:n.y*s.to_meter,z:n.z||0}),!(n=s.inverse(n)))return;if(s.from_greenwich&&(n.x+=s.from_greenwich),n=he(s.datum,i.datum,n))return i.from_greenwich&&(n={x:n.x-i.from_greenwich,y:n.y,z:n.z||0}),"longlat"===i.projName?n={x:n.x*d,y:n.y*d,z:n.z||0}:(n=i.forward(n),i.to_meter&&(n={x:n.x/i.to_meter,y:n.y/i.to_meter,z:n.z||0})),a&&"enu"!==i.axis?pe(i,!0,n):(l||delete n.z,n)}var ve=ne("WGS84");function be(e,t,r,s){var i,n,a;return Array.isArray(r)?(i=ge(e,t,r,s)||{x:NaN,y:NaN},r.length>2?void 0!==e.name&&"geocent"===e.name||void 0!==t.name&&"geocent"===t.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(r.splice(3)):[i.x,i.y,r[2]].concat(r.splice(3)):[i.x,i.y].concat(r.splice(2)):[i.x,i.y]):(n=ge(e,t,r,s),2===(a=Object.keys(r)).length?n:(a.forEach(function(s){if(void 0!==e.name&&"geocent"===e.name||void 0!==t.name&&"geocent"===t.name){if("x"===s||"y"===s||"z"===s)return}else if("x"===s||"y"===s)return;n[s]=r[s]}),n))}function Se(e){return e instanceof ne?e:e.oProj?e.oProj:ne(e)}function xe(e,t,r){e=Se(e);var s,i=!1;return void 0===t?(t=e,e=ve,i=!0):(void 0!==t.x||Array.isArray(t))&&(r=t,t=e,e=ve,i=!0),t=Se(t),r?be(e,t,r):(s={forward:function(r,s){return be(e,t,r,s)},inverse:function(r,s){return be(t,e,r,s)}},i&&(s.oProj=t),s)}var _e=6,we="AJSAJS",Ce="AFAFAF",Te=65,Me=73,Ee=79,Ae=86,Oe=90,Pe={forward:Le,inverse:function(e){var t=ke(De(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]},toPoint:Ie};function Le(e,t){return t=t||5,function(e,t){var r,s,i,n,a,o,l,h,u,c,d,p,f,m,y="00000"+e.easting,g="00000"+e.northing;return e.zoneNumber+e.zoneLetter+(u=e.easting,c=e.northing,d=e.zoneNumber,p=Re(d),f=Math.floor(u/1e5),m=Math.floor(c/1e5)%20,r=f,s=m,i=p-1,n=we.charCodeAt(i),a=Ce.charCodeAt(i),l=a+s,h=!1,(o=n+r-1)>Oe&&(o=o-Oe+Te-1,h=!0),(o===Me||n<Me&&o>Me||(o>Me||n<Me)&&h)&&o++,(o===Ee||n<Ee&&o>Ee||(o>Ee||n<Ee)&&h)&&++o===Me&&o++,o>Oe&&(o=o-Oe+Te-1),l>Ae?(l=l-Ae+Te-1,h=!0):h=!1,(l===Me||a<Me&&l>Me||(l>Me||a<Me)&&h)&&l++,(l===Ee||a<Ee&&l>Ee||(l>Ee||a<Ee)&&h)&&++l===Me&&l++,l>Ae&&(l=l-Ae+Te-1),String.fromCharCode(o)+String.fromCharCode(l))+y.substr(y.length-5,t)+g.substr(g.length-5,t)}(function(e){var t,r,s,i,n,a,o,l=e.lat,h=e.lon,u=6378137,c=Ne(l),d=Ne(h);o=Math.floor((h+180)/6)+1,180===h&&(o=60),l>=56&&l<64&&h>=3&&h<12&&(o=32),l>=72&&l<84&&(h>=0&&h<9?o=31:h>=9&&h<21?o=33:h>=21&&h<33?o=35:h>=33&&h<42&&(o=37)),a=Ne(6*(o-1)-180+3),t=u/Math.sqrt(1-.00669438*Math.sin(c)*Math.sin(c)),r=Math.tan(c)*Math.tan(c),s=.006739496752268451*Math.cos(c)*Math.cos(c),i=Math.cos(c)*(d-a),n=u*(.9983242984503243*c-.002514607064228144*Math.sin(2*c)+2639046602129982e-21*Math.sin(4*c)-3.418046101696858e-9*Math.sin(6*c));var p,f,m=.9996*t*(i+(1-r+s)*i*i*i/6+(5-18*r+r*r+72*s-.39089081163157013)*i*i*i*i*i/120)+5e5,y=.9996*(n+t*Math.tan(c)*(i*i/2+(5-r+9*s+4*s*s)*i*i*i*i/24+(61-58*r+r*r+600*s-2.2240339282485886)*i*i*i*i*i*i/720));return l<0&&(y+=1e7),{northing:Math.round(y),easting:Math.round(m),zoneNumber:o,zoneLetter:(p=l,f="Z",84>=p&&p>=72?f="X":72>p&&p>=64?f="W":64>p&&p>=56?f="V":56>p&&p>=48?f="U":48>p&&p>=40?f="T":40>p&&p>=32?f="S":32>p&&p>=24?f="R":24>p&&p>=16?f="Q":16>p&&p>=8?f="P":8>p&&p>=0?f="N":0>p&&p>=-8?f="M":-8>p&&p>=-16?f="L":-16>p&&p>=-24?f="K":-24>p&&p>=-32?f="J":-32>p&&p>=-40?f="H":-40>p&&p>=-48?f="G":-48>p&&p>=-56?f="F":-56>p&&p>=-64?f="E":-64>p&&p>=-72?f="D":-72>p&&p>=-80&&(f="C"),f)}}({lat:e[1],lon:e[0]}),t)}function Ie(e){var t=ke(De(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function Ne(e){return e*(Math.PI/180)}function Fe(e){return e/Math.PI*180}function ke(e){var t=e.northing,r=e.easting,s=e.zoneLetter,i=e.zoneNumber;if(i<0||i>60)return null;var n,a,o,l,h,u,c,d,p=6378137,f=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),m=r-5e5,y=t;s<"N"&&(y-=1e7),u=6*(i-1)-180+3,d=(c=y/.9996/6367449.145945056)+(3*f/2-27*f*f*f/32)*Math.sin(2*c)+(21*f*f/16-55*f*f*f*f/32)*Math.sin(4*c)+151*f*f*f/96*Math.sin(6*c),n=p/Math.sqrt(1-.00669438*Math.sin(d)*Math.sin(d)),a=Math.tan(d)*Math.tan(d),o=.006739496752268451*Math.cos(d)*Math.cos(d),l=.99330562*p/Math.pow(1-.00669438*Math.sin(d)*Math.sin(d),1.5),h=m/(.9996*n);var g=d-n*Math.tan(d)/l*(h*h/2-(5+3*a+10*o-4*o*o-.06065547077041606)*h*h*h*h/24+(61+90*a+298*o+45*a*a-1.6983531815716497-3*o*o)*h*h*h*h*h*h/720);g=Fe(g);var v,b=(h-(1+2*a+o)*h*h*h/6+(5-2*o+28*a-3*o*o+.05391597401814761+24*a*a)*h*h*h*h*h/120)/Math.cos(d);if(b=u+Fe(b),e.accuracy){var S=ke({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});v={top:S.lat,right:S.lon,bottom:g,left:b}}else v={lat:g,lon:b};return v}function Re(e){var t=e%_e;return 0===t&&(t=_e),t}function De(e){if(e&&0===e.length)throw"MGRSPoint coverting from nothing";for(var t,r=e.length,s=null,i="",n=0;!/[A-Z]/.test(t=e.charAt(n));){if(n>=2)throw"MGRSPoint bad conversion from: "+e;i+=t,n++}var a=parseInt(i,10);if(0===n||n+3>r)throw"MGRSPoint bad conversion from: "+e;var o=e.charAt(n++);if(o<="A"||"B"===o||"Y"===o||o>="Z"||"I"===o||"O"===o)throw"MGRSPoint zone letter "+o+" not handled: "+e;s=e.substring(n,n+=2);for(var l=Re(a),h=function(e,t){for(var r=we.charCodeAt(t-1),s=1e5,i=!1;r!==e.charCodeAt(0);){if(++r===Me&&r++,r===Ee&&r++,r>Oe){if(i)throw"Bad character: "+e;r=Te,i=!0}s+=1e5}return s}(s.charAt(0),l),u=function(e,t){if(e>"V")throw"MGRSPoint given invalid Northing "+e;for(var r=Ce.charCodeAt(t-1),s=0,i=!1;r!==e.charCodeAt(0);){if(++r===Me&&r++,r===Ee&&r++,r>Ae){if(i)throw"Bad character: "+e;r=Te,i=!0}s+=1e5}return s}(s.charAt(1),l);u<Ge(o);)u+=2e6;var c=r-n;if(c%2!=0)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"+e;var d,p,f,m=c/2,y=0,g=0;return m>0&&(d=1e5/Math.pow(10,m),p=e.substring(n,n+m),y=parseFloat(p)*d,f=e.substring(n+m),g=parseFloat(f)*d),{easting:y+h,northing:g+u,zoneLetter:o,zoneNumber:a,accuracy:d}}function Ge(e){var t;switch(e){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0)return t;throw"Invalid zone letter: "+e}function Be(e,t,r){if(!(this instanceof Be))return new Be(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if("object"==typeof e)this.x=e.x,this.y=e.y,this.z=e.z||0;else if("string"==typeof e&&void 0===t){var s=e.split(",");this.x=parseFloat(s[0],10),this.y=parseFloat(s[1],10),this.z=parseFloat(s[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Be.fromMGRS=function(e){return new Be(Ie(e))},Be.prototype.toMGRS=function(e){return Le([this.x,this.y],e)};var je=.01068115234375,Ue=function(e){var t=[];t[0]=1-e*(.25+e*(.046875+e*(.01953125+e*je))),t[1]=e*(.75-e*(.046875+e*(.01953125+e*je)));var r=e*e;return t[2]=r*(.46875-e*(.013020833333333334+.007120768229166667*e)),r*=e,t[3]=r*(.3645833333333333-.005696614583333333*e),t[4]=r*e*.3076171875,t},Ve=function(e,t,r,s){return r*=t,t*=t,s[0]*e-r*(s[1]+t*(s[2]+t*(s[3]+t*s[4])))},ze=function(e,t,r){for(var s=1/(1-t),i=e,n=20;n;--n){var a=Math.sin(i),o=1-t*a*a;if(o=(Ve(i,a,Math.cos(i),r)-e)*(o*Math.sqrt(o))*s,i-=o,Math.abs(o)<u)return i}return i},Je={init:function(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=Ue(this.es),this.ml0=Ve(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},forward:function(e){var t,r,s,i=e.x,n=e.y,a=j(i-this.long0),o=Math.sin(n),l=Math.cos(n);if(this.es){var h=l*a,c=Math.pow(h,2),d=this.ep2*Math.pow(l,2),p=Math.pow(d,2),f=Math.abs(l)>u?Math.tan(n):0,m=Math.pow(f,2),y=Math.pow(m,2);t=1-this.es*Math.pow(o,2),h/=Math.sqrt(t);var g=Ve(n,o,l,this.en);r=this.a*(this.k0*h*(1+c/6*(1-m+d+c/20*(5-18*m+y+14*d-58*m*d+c/42*(61+179*y-y*m-479*m)))))+this.x0,s=this.a*(this.k0*(g-this.ml0+o*a*h/2*(1+c/12*(5-m+9*d+4*p+c/30*(61+y-58*m+270*d-330*m*d+c/56*(1385+543*y-y*m-3111*m))))))+this.y0}else{var v=l*Math.sin(a);if(Math.abs(Math.abs(v)-1)<u)return 93;if(r=.5*this.a*this.k0*Math.log((1+v)/(1-v))+this.x0,s=l*Math.cos(a)/Math.sqrt(1-Math.pow(v,2)),(v=Math.abs(s))>=1){if(v-1>u)return 93;s=0}else s=Math.acos(s);n<0&&(s=-s),s=this.a*this.k0*(s-this.lat0)+this.y0}return e.x=r,e.y=s,e},inverse:function(e){var t,r,s,i,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=ze(t,this.es,this.en),Math.abs(r)<a){var l=Math.sin(r),h=Math.cos(r),c=Math.abs(h)>u?Math.tan(r):0,d=this.ep2*Math.pow(h,2),p=Math.pow(d,2),f=Math.pow(c,2),m=Math.pow(f,2);t=1-this.es*Math.pow(l,2);var y=n*Math.sqrt(t)/this.k0,g=Math.pow(y,2);s=r-(t*=c)*g/(1-this.es)*.5*(1-g/12*(5+3*f-9*d*f+d-4*p-g/30*(61+90*f-252*d*f+45*m+46*d-g/56*(1385+3633*f+4095*m+1574*m*f)))),i=j(this.long0+y*(1-g/6*(1+2*f+d-g/20*(5+28*f+24*m+8*d*f+6*d-g/42*(61+662*f+1320*m+720*m*f))))/h)}else s=a*B(o),i=0;else{var v=Math.exp(n/this.k0),b=.5*(v-1/v),S=this.lat0+o/this.k0,x=Math.cos(S);t=Math.sqrt((1-Math.pow(x,2))/(1+Math.pow(b,2))),s=Math.asin(t),o<0&&(s=-s),i=0===b&&0===x?0:j(Math.atan2(b,x)+this.long0)}return e.x=i,e.y=s,e},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]},qe=function(e){var t=Math.exp(e);return t=(t-1/t)/2},He=function(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),s=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(s,2))},We=function(e){var t=Math.abs(e);return t=function(e){var t=1+e,r=t-1;return 0===r?e:e*Math.log(t)/r}(t*(1+t/(He(1,t)+1))),e<0?-t:t},Ye=function(e,t){for(var r,s=2*Math.cos(2*t),i=e.length-1,n=e[i],a=0;--i>=0;)r=s*n-a+e[i],a=n,n=r;return t+r*Math.sin(2*t)},Xe=function(e,t){for(var r,s=2*Math.cos(t),i=e.length-1,n=e[i],a=0;--i>=0;)r=s*n-a+e[i],a=n,n=r;return Math.sin(t)*r},Qe=function(e,t,r){for(var s,i,n=Math.sin(t),a=Math.cos(t),o=qe(r),l=function(e){var t=Math.exp(e);return t=(t+1/t)/2}(r),h=2*a*l,u=-2*n*o,c=e.length-1,d=e[c],p=0,f=0,m=0;--c>=0;)s=f,i=p,d=h*(f=d)-s-u*(p=m)+e[c],m=u*f-i+h*p;return[(h=n*l)*d-(u=a*o)*m,h*m+u*d]},Ze={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Je.init.apply(this),this.forward=Je.forward,this.inverse=Je.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(t*(116/45+t*(26/45+t*(-2854/675)))-2))),this.cbg[0]=t*(t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))-2),r*=t,this.cgb[1]=r*(7/3+t*(t*(-227/45+t*(2704/315+t*(2323/945)))-1.6)),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r*=t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(1.6+t*(-12686/2835)))),r*=t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(t*(-24832/14175)-2.4)),r*=t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r*=t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(.25+r*(1/64+r/256))),this.utg[0]=t*(t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))-.5),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(t*(557/1440+t*(281/630+t*(-1983433/1935360)))-.6)),r*=t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r*=t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r*=t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r*=t,this.utg[5]=-.03233083094085698*r,this.gtu[5]=.6650675310896665*r;var s=Ye(this.cbg,this.lat0);this.Zb=-this.Qn*(s+Xe(this.gtu,2*s))},forward:function(e){var t=j(e.x-this.long0),r=e.y;r=Ye(this.cbg,r);var s=Math.sin(r),i=Math.cos(r),n=Math.sin(t),a=Math.cos(t);r=Math.atan2(s,a*i),t=Math.atan2(n*i,He(s,i*a)),t=We(Math.tan(t));var o,l,h=Qe(this.gtu,2*r,2*t);return r+=h[0],t+=h[1],Math.abs(t)<=2.623395162778?(o=this.a*(this.Qn*t)+this.x0,l=this.a*(this.Qn*r+this.Zb)+this.y0):(o=1/0,l=1/0),e.x=o,e.y=l,e},inverse:function(e){var t,r,s=(e.x-this.x0)*(1/this.a),i=(e.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,s/=this.Qn,Math.abs(s)<=2.623395162778){var n=Qe(this.utg,2*i,2*s);i+=n[0],s+=n[1],s=Math.atan(qe(s));var a=Math.sin(i),o=Math.cos(i),l=Math.sin(s),h=Math.cos(s);i=Math.atan2(a*h,He(l,h*o)),s=Math.atan2(l,h*o),t=j(s+this.long0),r=Ye(this.cgb,i)}else t=1/0,r=1/0;return e.x=t,e.y=r,e},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},Ke=function(e,t){if(void 0===e){if((e=Math.floor(30*(j(t)+Math.PI)/Math.PI)+1)<0)return 0;if(e>60)return 60}return e},$e={init:function(){var e=Ke(this.zone,this.long0);if(void 0===e)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(e)-183)*c,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ze.init.apply(this),this.forward=Ze.forward,this.inverse=Ze.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},et=function(e,t){return Math.pow((1-e)/(1+e),t)},tt=20,rt={init:function(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+p)/(Math.pow(Math.tan(.5*this.lat0+p),this.C)*et(this.e*e,this.ratexp))},forward:function(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+p),this.C)*et(this.e*Math.sin(r),this.ratexp))-a,e.x=this.C*t,e},inverse:function(e){for(var t=e.x/this.C,r=e.y,s=Math.pow(Math.tan(.5*r+p)/this.K,1/this.C),i=tt;i>0&&(r=2*Math.atan(s*et(this.e*Math.sin(e.y),-.5*this.e))-a,!(Math.abs(r-e.y)<1e-14));--i)e.y=r;return i?(e.x=t,e.y=r,e):null},names:["gauss"]},st={init:function(){rt.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(e){var t,r,s,i;return e.x=j(e.x-this.long0),rt.forward.apply(this,[e]),t=Math.sin(e.y),r=Math.cos(e.y),s=Math.cos(e.x),i=this.k0*this.R2/(1+this.sinc0*t+this.cosc0*r*s),e.x=i*r*Math.sin(e.x),e.y=i*(this.cosc0*t-this.sinc0*r*s),e.x=this.a*e.x+this.x0,e.y=this.a*e.y+this.y0,e},inverse:function(e){var t,r,s,i,n;if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,n=Math.sqrt(e.x*e.x+e.y*e.y)){var a=2*Math.atan2(n,this.R2);t=Math.sin(a),r=Math.cos(a),i=Math.asin(r*this.sinc0+e.y*t*this.cosc0/n),s=Math.atan2(e.x*t,n*this.cosc0*r-e.y*this.sinc0*t)}else i=this.phic0,s=0;return e.x=s,e.y=i,rt.inverse.apply(this,[e]),e.x=j(e.x+this.long0),e},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},it={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=u&&(this.k0=.5*(1+B(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=u&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=u&&(this.k0=.5*this.cons*G(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/U(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=G(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-a,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(e){var t,r,s,i,n,o,l=e.x,h=e.y,c=Math.sin(h),d=Math.cos(h),p=j(l-this.long0);return Math.abs(Math.abs(l-this.long0)-Math.PI)<=u&&Math.abs(h+this.lat0)<=u?(e.x=NaN,e.y=NaN,e):this.sphere?(t=2*this.k0/(1+this.sinlat0*c+this.coslat0*d*Math.cos(p)),e.x=this.a*t*d*Math.sin(p)+this.x0,e.y=this.a*t*(this.coslat0*c-this.sinlat0*d*Math.cos(p))+this.y0,e):(r=2*Math.atan(this.ssfn_(h,c,this.e))-a,i=Math.cos(r),s=Math.sin(r),Math.abs(this.coslat0)<=u?(n=U(this.e,h*this.con,this.con*c),o=2*this.a*this.k0*n/this.cons,e.x=this.x0+o*Math.sin(l-this.long0),e.y=this.y0-this.con*o*Math.cos(l-this.long0),e):(Math.abs(this.sinlat0)<u?(t=2*this.a*this.k0/(1+i*Math.cos(p)),e.y=t*s):(t=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*s+this.cosX0*i*Math.cos(p))),e.y=t*(this.cosX0*s-this.sinX0*i*Math.cos(p))+this.y0),e.x=t*i*Math.sin(p)+this.x0,e))},inverse:function(e){var t,r,s,i,n;e.x-=this.x0,e.y-=this.y0;var o=Math.sqrt(e.x*e.x+e.y*e.y);if(this.sphere){var l=2*Math.atan(o/(2*this.a*this.k0));return t=this.long0,r=this.lat0,o<=u?(e.x=t,e.y=r,e):(r=Math.asin(Math.cos(l)*this.sinlat0+e.y*Math.sin(l)*this.coslat0/o),t=Math.abs(this.coslat0)<u?this.lat0>0?j(this.long0+Math.atan2(e.x,-1*e.y)):j(this.long0+Math.atan2(e.x,e.y)):j(this.long0+Math.atan2(e.x*Math.sin(l),o*this.coslat0*Math.cos(l)-e.y*this.sinlat0*Math.sin(l))),e.x=t,e.y=r,e)}if(Math.abs(this.coslat0)<=u){if(o<=u)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,s=o*this.cons/(2*this.a*this.k0),r=this.con*V(this.e,s),t=this.con*j(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else i=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=u?n=this.X0:(n=Math.asin(Math.cos(i)*this.sinX0+e.y*Math.sin(i)*this.cosX0/o),t=j(this.long0+Math.atan2(e.x*Math.sin(i),o*this.cosX0*Math.cos(i)-e.y*this.sinX0*Math.sin(i)))),r=-1*V(this.e,Math.tan(.5*(a+n)));return e.x=t,e.y=r,e},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(e,t,r){return t*=r,Math.tan(.5*(a+e))*Math.pow((1-t)/(1+t),.5*r)}},nt={init:function(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,s=1/this.rf,i=2*s-Math.pow(s,2),n=this.e=Math.sqrt(i);this.R=this.k0*r*Math.sqrt(1-i)/(1-i*Math.pow(t,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),o=Math.log(Math.tan(Math.PI/4+e/2)),l=Math.log((1+n*t)/(1-n*t));this.K=a-this.alpha*o+this.alpha*n/2*l},forward:function(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),s=-this.alpha*(t+r)+this.K,i=2*(Math.atan(Math.exp(s))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),a=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(n))),o=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(o))/(1-Math.sin(o)))+this.y0,e.x=this.R*a+this.x0,e},inverse:function(e){for(var t=e.x-this.x0,r=e.y-this.y0,s=t/this.R,i=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(s)),a=Math.atan(Math.sin(s)/(Math.cos(this.b0)*Math.cos(s)-Math.sin(this.b0)*Math.tan(i))),o=this.lambda0+a/this.alpha,l=0,h=n,u=-1e3,c=0;Math.abs(h-u)>1e-7;){if(++c>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(h))/2)),u=h,h=2*Math.atan(Math.exp(l))-Math.PI/2}return e.x=o,e.y=h,e},names:["somerc"]},at=1e-7,ot={init:function(){var e,t,r,s,i,n,o,l,h,d,m,y,g,v=0,b=0,S=0,x=0,_=0,w=0,C=0;this.no_off=(g="object"==typeof(y=this).PROJECTION?Object.keys(y.PROJECTION)[0]:y.PROJECTION,"no_uoff"in y||"no_off"in y||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(g)),this.no_rot="no_rot"in this;var T=!1;"alpha"in this&&(T=!0);var M=!1;if("rectified_grid_angle"in this&&(M=!0),T&&(C=this.alpha),M&&(v=this.rectified_grid_angle*c),T||M)b=this.longc;else if(S=this.long1,_=this.lat1,x=this.long2,w=this.lat2,Math.abs(_-w)<=at||(e=Math.abs(_))<=at||Math.abs(e-a)<=at||Math.abs(Math.abs(this.lat0)-a)<=at||Math.abs(Math.abs(w)-a)<=at)throw new Error;var E=1-this.es;t=Math.sqrt(E),Math.abs(this.lat0)>u?(l=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*l*l,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/E),this.A=this.B*this.k0*t/e,s=this.B*t/(r*Math.sqrt(e)),(i=s*s-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=s,this.E*=Math.pow(U(this.e,this.lat0,l),this.B)):(this.B=1/t,this.A=this.k0,this.E=s=i=1),T||M?(T?(m=Math.asin(Math.sin(C)/s),M||(v=C)):(m=v,C=Math.asin(s*Math.sin(m))),this.lam0=b-Math.asin(.5*(i-1/i)*Math.tan(m))/this.B):(n=Math.pow(U(this.e,_,Math.sin(_)),this.B),o=Math.pow(U(this.e,w,Math.sin(w)),this.B),i=this.E/n,h=(o-n)/(o+n),d=((d=this.E*this.E)-o*n)/(d+o*n),(e=S-x)<-Math.pi?x-=f:e>Math.pi&&(x+=f),this.lam0=j(.5*(S+x)-Math.atan(d*Math.tan(.5*this.B*(S-x))/h)/this.B),m=Math.atan(2*Math.sin(this.B*j(S-this.lam0))/(i-1/i)),v=C=Math.asin(s*Math.sin(m))),this.singam=Math.sin(m),this.cosgam=Math.cos(m),this.sinrot=Math.sin(v),this.cosrot=Math.cos(v),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(s*s-1)/Math.cos(C))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*m,this.v_pole_n=this.ArB*Math.log(Math.tan(p-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(p+i))},forward:function(e){var t,r,s,i,n,o,l,h,c={};if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-a)>u){if(n=this.E/Math.pow(U(this.e,e.y,Math.sin(e.y)),this.B),t=.5*(n-(o=1/n)),r=.5*(n+o),i=Math.sin(this.B*e.x),s=(t*this.singam-i*this.cosgam)/r,Math.abs(Math.abs(s)-1)<u)throw new Error;h=.5*this.ArB*Math.log((1-s)/(1+s)),o=Math.cos(this.B*e.x),l=Math.abs(o)<at?this.A*e.x:this.ArB*Math.atan2(t*this.cosgam+i*this.singam,o)}else h=e.y>0?this.v_pole_n:this.v_pole_s,l=this.ArB*e.y;return this.no_rot?(c.x=l,c.y=h):(l-=this.u_0,c.x=h*this.cosrot+l*this.sinrot,c.y=l*this.cosrot-h*this.sinrot),c.x=this.a*c.x+this.x0,c.y=this.a*c.y+this.y0,c},inverse:function(e){var t,r,s,i,n,o,l,h={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),s=Math.exp(-this.BrA*r),i=.5*(s-1/s),n=.5*(s+1/s),o=Math.sin(this.BrA*t),l=(o*this.cosgam+i*this.singam)/n,Math.abs(Math.abs(l)-1)<u)h.x=0,h.y=l<0?-a:a;else{if(h.y=this.E/Math.sqrt((1+l)/(1-l)),h.y=V(this.e,Math.pow(h.y,1/this.B)),h.y===1/0)throw new Error;h.x=-this.rB*Math.atan2(i*this.cosgam-o*this.singam,Math.cos(this.BrA*t))}return h.x+=this.lam0,h},names:["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"]},lt={init:function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<u)){var e=this.b/this.a;this.e=Math.sqrt(1-e*e);var t=Math.sin(this.lat1),r=Math.cos(this.lat1),s=G(this.e,t,r),i=U(this.e,this.lat1,t),n=Math.sin(this.lat2),a=Math.cos(this.lat2),o=G(this.e,n,a),l=U(this.e,this.lat2,n),h=U(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>u?this.ns=Math.log(s/o)/Math.log(i/l):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=s/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(h,this.ns),this.title||(this.title="Lambert Conformal Conic")}},forward:function(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=u&&(r=B(r)*(a-2*u));var s,i,n=Math.abs(Math.abs(r)-a);if(n>u)s=U(this.e,r,Math.sin(r)),i=this.a*this.f0*Math.pow(s,this.ns);else{if((n=r*this.ns)<=0)return null;i=0}var o=this.ns*j(t-this.long0);return e.x=this.k0*(i*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-i*Math.cos(o))+this.y0,e},inverse:function(e){var t,r,s,i,n,o=(e.x-this.x0)/this.k0,l=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+l*l),r=1):(t=-Math.sqrt(o*o+l*l),r=-1);var h=0;if(0!==t&&(h=Math.atan2(r*o,r*l)),0!==t||this.ns>0){if(r=1/this.ns,s=Math.pow(t/(this.a*this.f0),r),-9999===(i=V(this.e,s)))return null}else i=-a;return n=j(h/this.ns+this.long0),e.x=n,e.y=i,e},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},ht={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(e){var t,r,s,i,n,a,o,l=e.x,h=e.y,u=j(l-this.long0);return t=Math.pow((1+this.e*Math.sin(h))/(1-this.e*Math.sin(h)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(h/2+this.s45),this.alfa)/t)-this.s45),s=-u*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(s)),n=Math.asin(Math.cos(r)*Math.sin(s)/Math.cos(i)),a=this.n*n,o=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),e.y=o*Math.cos(a)/1,e.x=o*Math.sin(a)/1,this.czech||(e.y*=-1,e.x*=-1),e},inverse:function(e){var t,r,s,i,n,a,o,l,h=e.x;e.x=e.y,e.y=h,this.czech||(e.y*=-1,e.x*=-1),a=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),i=n/Math.sin(this.s0),s=2*(Math.atan(Math.pow(this.ro0/a,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(s)-Math.sin(this.ad)*Math.cos(s)*Math.cos(i)),r=Math.asin(Math.cos(s)*Math.sin(i)/Math.cos(t)),e.x=this.long0-r/this.alfa,o=t,l=0;var u=0;do{e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-e.y)<1e-10&&(l=1),o=e.y,u+=1}while(0===l&&u<15);return u>=15?null:e},names:["Krovak","krovak"]},ut=function(e,t,r,s,i){return e*i-t*Math.sin(2*i)+r*Math.sin(4*i)-s*Math.sin(6*i)},ct=function(e){return 1-.25*e*(1+e/16*(3+1.25*e))},dt=function(e){return.375*e*(1+.25*e*(1+.46875*e))},pt=function(e){return.05859375*e*e*(1+.75*e)},ft=function(e){return e*e*e*(35/3072)},mt=function(e,t,r){var s=t*r;return e/Math.sqrt(1-s*s)},yt=function(e){return Math.abs(e)<a?e:e-B(e)*Math.PI},gt=function(e,t,r,s,i){var n,a;n=e/t;for(var o=0;o<15;o++)if(a=(e-(t*n-r*Math.sin(2*n)+s*Math.sin(4*n)-i*Math.sin(6*n)))/(t-2*r*Math.cos(2*n)+4*s*Math.cos(4*n)-6*i*Math.cos(6*n)),n+=a,Math.abs(a)<=1e-10)return n;return NaN},vt={init:function(){this.sphere||(this.e0=ct(this.es),this.e1=dt(this.es),this.e2=pt(this.es),this.e3=ft(this.es),this.ml0=this.a*ut(this.e0,this.e1,this.e2,this.e3,this.lat0))},forward:function(e){var t,r,s=e.x,i=e.y;if(s=j(s-this.long0),this.sphere)t=this.a*Math.asin(Math.cos(i)*Math.sin(s)),r=this.a*(Math.atan2(Math.tan(i),Math.cos(s))-this.lat0);else{var n=Math.sin(i),a=Math.cos(i),o=mt(this.a,this.e,n),l=Math.tan(i)*Math.tan(i),h=s*Math.cos(i),u=h*h,c=this.es*a*a/(1-this.es),d=this.a*ut(this.e0,this.e1,this.e2,this.e3,i);t=o*h*(1-u*l*(1/6-(8-l+8*c)*u/120)),r=d-this.ml0+o*n/a*u*(.5+(5-l+6*c)*u/24)}return e.x=t+this.x0,e.y=r+this.y0,e},inverse:function(e){e.x-=this.x0,e.y-=this.y0;var t,r,s=e.x/this.a,i=e.y/this.a;if(this.sphere){var n=i+this.lat0;t=Math.asin(Math.sin(n)*Math.cos(s)),r=Math.atan2(Math.tan(s),Math.cos(n))}else{var o=this.ml0/this.a+i,l=gt(o,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(l)-a)<=u)return e.x=this.long0,e.y=a,i<0&&(e.y*=-1),e;var h=mt(this.a,this.e,Math.sin(l)),c=h*h*h/this.a/this.a*(1-this.es),d=Math.pow(Math.tan(l),2),p=s*this.a/h,f=p*p;t=l-h*Math.tan(l)/c*p*p*(.5-(1+3*d)*p*p/24),r=p*(1-f*(d/3+(1+3*d)*d*f/15))/Math.cos(l)}return e.x=j(r+this.long0),e.y=yt(t),e},names:["Cassini","Cassini_Soldner","cass"]},bt=function(e,t){var r;return e>1e-7?(1-e*e)*(t/(1-(r=e*t)*r)-.5/e*Math.log((1-r)/(1+r))):2*t},St=.3333333333333333,xt=.17222222222222222,_t=.10257936507936508,wt=.06388888888888888,Ct=.0664021164021164,Tt=.016415012942191543,Mt={init:function(){var e,t=Math.abs(this.lat0);if(Math.abs(t-a)<u?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(t)<u?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0)switch(this.qp=bt(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(e){var t,r=[];return r[0]=e*St,t=e*e,r[0]+=t*xt,r[1]=t*wt,t*=e,r[0]+=t*_t,r[1]+=t*Ct,r[2]=t*Tt,r}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=bt(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(e){var t,r,s,i,n,o,l,h,c,d,f=e.x,m=e.y;if(f=j(f-this.long0),this.sphere){if(n=Math.sin(m),d=Math.cos(m),s=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((r=this.mode===this.EQUIT?1+d*s:1+this.sinph0*n+this.cosph0*d*s)<=u)return null;r=Math.sqrt(2/r),t=r*d*Math.sin(f),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*d*s}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(s=-s),Math.abs(m+this.lat0)<u)return null;r=p-.5*m,r=2*(this.mode===this.S_POLE?Math.cos(r):Math.sin(r)),t=r*Math.sin(f),r*=s}}else{switch(l=0,h=0,c=0,s=Math.cos(f),i=Math.sin(f),n=Math.sin(m),o=bt(this.e,n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(l=o/this.qp,h=Math.sqrt(1-l*l)),this.mode){case this.OBLIQ:c=1+this.sinb1*l+this.cosb1*h*s;break;case this.EQUIT:c=1+h*s;break;case this.N_POLE:c=a+m,o=this.qp-o;break;case this.S_POLE:c=m-a,o=this.qp+o}if(Math.abs(c)<u)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:c=Math.sqrt(2/c),r=this.mode===this.OBLIQ?this.ymf*c*(this.cosb1*l-this.sinb1*h*s):(c=Math.sqrt(2/(1+h*s)))*l*this.ymf,t=this.xmf*c*h*i;break;case this.N_POLE:case this.S_POLE:o>=0?(t=(c=Math.sqrt(o))*i,r=s*(this.mode===this.S_POLE?c:-c)):t=r=0}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e},inverse:function(e){e.x-=this.x0,e.y-=this.y0;var t,r,s,i,n,o,l,h,c,d,p=e.x/this.a,f=e.y/this.a;if(this.sphere){var m,y=0,g=0;if(m=Math.sqrt(p*p+f*f),(r=.5*m)>1)return null;switch(r=2*Math.asin(r),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(r),y=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(m)<=u?0:Math.asin(f*g/m),p*=g,f=y*m;break;case this.OBLIQ:r=Math.abs(m)<=u?this.lat0:Math.asin(y*this.sinph0+f*g*this.cosph0/m),p*=g*this.cosph0,f=(y-Math.sin(r)*this.sinph0)*m;break;case this.N_POLE:f=-f,r=a-r;break;case this.S_POLE:r-=a}t=0!==f||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(p,f):0}else{if(l=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(p/=this.dd,f*=this.dd,(o=Math.sqrt(p*p+f*f))<u)return e.x=this.long0,e.y=this.lat0,e;i=2*Math.asin(.5*o/this.rq),s=Math.cos(i),p*=i=Math.sin(i),this.mode===this.OBLIQ?(l=s*this.sinb1+f*i*this.cosb1/o,n=this.qp*l,f=o*this.cosb1*s-f*this.sinb1*i):(l=f*i/o,n=this.qp*l,f=o*s)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(f=-f),!(n=p*p+f*f))return e.x=this.long0,e.y=this.lat0,e;l=1-n/this.qp,this.mode===this.S_POLE&&(l=-l)}t=Math.atan2(p,f),h=Math.asin(l),c=this.apa,d=h+h,r=h+c[0]*Math.sin(d)+c[1]*Math.sin(d+d)+c[2]*Math.sin(d+d+d)}return e.x=j(this.long0+t),e.y=r,e},names:["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4},Et=function(e){return Math.abs(e)>1&&(e=e>1?1:-1),Math.asin(e)},At={init:function(){Math.abs(this.lat1+this.lat2)<u||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=G(this.e3,this.sin_po,this.cos_po),this.qs1=bt(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=G(this.e3,this.sin_po,this.cos_po),this.qs2=bt(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=bt(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>u?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var s=bt(this.e3,this.sin_phi),i=this.a*Math.sqrt(this.c-this.ns0*s)/this.ns0,n=this.ns0*j(t-this.long0),a=i*Math.sin(n)+this.x0,o=this.rh-i*Math.cos(n)+this.y0;return e.x=a,e.y=o,e},inverse:function(e){var t,r,s,i,n,a;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),s=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),s=-1),i=0,0!==t&&(i=Math.atan2(s*e.x,s*e.y)),s=t*this.ns0/this.a,this.sphere?a=Math.asin((this.c-s*s)/(2*this.ns0)):(r=(this.c-s*s)/this.ns0,a=this.phi1z(this.e3,r)),n=j(i/this.ns0+this.long0),e.x=n,e.y=a,e},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(e,t){var r,s,i,n,a,o=Et(.5*t);if(e<u)return o;for(var l=e*e,h=1;h<=25;h++)if(r=Math.sin(o),s=Math.cos(o),a=.5*(n=1-(i=e*r)*i)*n/s*(t/(1-l)-r/n+.5/e*Math.log((1-i)/(1+i))),o+=a,Math.abs(a)<=1e-7)return o;return null}},Ot={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},forward:function(e){var t,r,s,i,n,a,o,l=e.x,h=e.y;return s=j(l-this.long0),t=Math.sin(h),r=Math.cos(h),i=Math.cos(s),(n=this.sin_p14*t+this.cos_p14*r*i)>0||Math.abs(n)<=u?(a=this.x0+1*this.a*r*Math.sin(s)/n,o=this.y0+1*this.a*(this.cos_p14*t-this.sin_p14*r*i)/n):(a=this.x0+this.infinity_dist*r*Math.sin(s),o=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*i)),e.x=a,e.y=o,e},inverse:function(e){var t,r,s,i,n,a;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(i=Math.atan2(t,this.rc),r=Math.sin(i),s=Math.cos(i),a=Et(s*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*s-e.y*this.sin_p14*r),n=j(this.long0+n)):(a=this.phic0,n=0),e.x=n,e.y=a,e},names:["gnom"]},Pt=function(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*a:a;for(var s,i,n,o,l=Math.asin(.5*t),h=0;h<30;h++)if(i=Math.sin(l),n=Math.cos(l),o=e*i,s=Math.pow(1-o*o,2)/(2*n)*(t/(1-e*e)-i/(1-o*o)+.5/e*Math.log((1-o)/(1+o))),l+=s,Math.abs(s)<=1e-10)return l;return NaN},Lt={init:function(){this.sphere||(this.k0=G(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(e){var t,r,s=e.x,i=e.y,n=j(s-this.long0);if(this.sphere)t=this.x0+this.a*n*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else{var a=bt(this.e,Math.sin(i));t=this.x0+this.a*this.k0*n,r=this.y0+this.a*a*.5/this.k0}return e.x=t,e.y=r,e},inverse:function(e){var t,r;return e.x-=this.x0,e.y-=this.y0,this.sphere?(t=j(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=Pt(this.e,2*e.y*this.k0/this.a),t=j(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e},names:["cea"]},It={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(e){var t=e.x,r=e.y,s=j(t-this.long0),i=yt(r-this.lat0);return e.x=this.x0+this.a*s*this.rc,e.y=this.y0+this.a*i,e},inverse:function(e){var t=e.x,r=e.y;return e.x=j(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=yt(this.lat0+(r-this.y0)/this.a),e},names:["Equirectangular","Equidistant_Cylindrical","eqc"]},Nt=20,Ft={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=ct(this.es),this.e1=dt(this.es),this.e2=pt(this.es),this.e3=ft(this.es),this.ml0=this.a*ut(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(e){var t,r,s,i=e.x,n=e.y,a=j(i-this.long0);if(s=a*Math.sin(n),this.sphere)Math.abs(n)<=u?(t=this.a*a,r=-1*this.a*this.lat0):(t=this.a*Math.sin(s)/Math.tan(n),r=this.a*(yt(n-this.lat0)+(1-Math.cos(s))/Math.tan(n)));else if(Math.abs(n)<=u)t=this.a*a,r=-1*this.ml0;else{var o=mt(this.a,this.e,Math.sin(n))/Math.tan(n);t=o*Math.sin(s),r=this.a*ut(this.e0,this.e1,this.e2,this.e3,n)-this.ml0+o*(1-Math.cos(s))}return e.x=t+this.x0,e.y=r+this.y0,e},inverse:function(e){var t,r,s,i,n,a,o,l,h;if(s=e.x-this.x0,i=e.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=u)t=j(s/this.a+this.long0),r=0;else{var c;for(a=this.lat0+i/this.a,o=s*s/this.a/this.a+a*a,l=a,n=Nt;n;--n)if(c=Math.tan(l),l+=h=-1*(a*(l*c+1)-l-.5*(l*l+o)*c)/((l-a)/c-1),Math.abs(h)<=u){r=l;break}t=j(this.long0+Math.asin(s*Math.tan(l)/this.a)/Math.sin(r))}else if(Math.abs(i+this.ml0)<=u)r=0,t=j(this.long0+s/this.a);else{var d,p,f,m,y;for(a=(this.ml0+i)/this.a,o=s*s/this.a/this.a+a*a,l=a,n=Nt;n;--n)if(y=this.e*Math.sin(l),d=Math.sqrt(1-y*y)*Math.tan(l),p=this.a*ut(this.e0,this.e1,this.e2,this.e3,l),f=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),m=p/this.a,h=(a*(d*m+1)-m-.5*d*(m*m+o))/(this.es*Math.sin(2*l)*(m*m+o-2*a*m)/(4*d)+(a-m)*(d*f-2/Math.sin(2*l))-f),l-=h,Math.abs(h)<=u){r=l;break}d=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=j(this.long0+Math.asin(s*d/this.a)/Math.sin(r))}return e.x=t,e.y=r,e},names:["Polyconic","poly"]},kt={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(e){var t,r=e.x,s=e.y-this.lat0,i=r-this.long0,a=s/n*1e-5,o=i,l=1,h=0;for(t=1;t<=10;t++)l*=a,h+=this.A[t]*l;var u,c=h,d=o,p=1,f=0,m=0,y=0;for(t=1;t<=6;t++)u=f*c+p*d,p=p*c-f*d,f=u,m=m+this.B_re[t]*p-this.B_im[t]*f,y=y+this.B_im[t]*p+this.B_re[t]*f;return e.x=y*this.a+this.x0,e.y=m*this.a+this.y0,e},inverse:function(e){var t,r,s=e.x,i=e.y,a=s-this.x0,o=(i-this.y0)/this.a,l=a/this.a,h=1,u=0,c=0,d=0;for(t=1;t<=6;t++)r=u*o+h*l,h=h*o-u*l,u=r,c=c+this.C_re[t]*h-this.C_im[t]*u,d=d+this.C_im[t]*h+this.C_re[t]*u;for(var p=0;p<this.iterations;p++){var f,m=c,y=d,g=o,v=l;for(t=2;t<=6;t++)f=y*c+m*d,m=m*c-y*d,y=f,g+=(t-1)*(this.B_re[t]*m-this.B_im[t]*y),v+=(t-1)*(this.B_im[t]*m+this.B_re[t]*y);m=1,y=0;var b=this.B_re[1],S=this.B_im[1];for(t=2;t<=6;t++)f=y*c+m*d,m=m*c-y*d,y=f,b+=t*(this.B_re[t]*m-this.B_im[t]*y),S+=t*(this.B_im[t]*m+this.B_re[t]*y);var x=b*b+S*S;c=(g*b+v*S)/x,d=(v*b-g*S)/x}var _=c,w=d,C=1,T=0;for(t=1;t<=9;t++)C*=_,T+=this.D[t]*C;var M=this.lat0+T*n*1e5,E=this.long0+w;return e.x=E,e.y=M,e},names:["New_Zealand_Map_Grid","nzmg"]},Rt={init:function(){},forward:function(e){var t=e.x,r=e.y,s=j(t-this.long0),i=this.x0+this.a*s,n=this.y0+this.a*Math.log(Math.tan(Math.PI/4+r/2.5))*1.25;return e.x=i,e.y=n,e},inverse:function(e){e.x-=this.x0,e.y-=this.y0;var t=j(this.long0+e.x/this.a),r=2.5*(Math.atan(Math.exp(.8*e.y/this.a))-Math.PI/4);return e.x=t,e.y=r,e},names:["Miller_Cylindrical","mill"]},Dt=20,Gt={init:function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=Ue(this.es)},forward:function(e){var t,r,s=e.x,i=e.y;if(s=j(s-this.long0),this.sphere){if(this.m)for(var n=this.n*Math.sin(i),a=Dt;a;--a){var o=(this.m*i+Math.sin(i)-n)/(this.m+Math.cos(i));if(i-=o,Math.abs(o)<u)break}else i=1!==this.n?Math.asin(this.n*Math.sin(i)):i;t=this.a*this.C_x*s*(this.m+Math.cos(i)),r=this.a*this.C_y*i}else{var l=Math.sin(i),h=Math.cos(i);r=this.a*Ve(i,l,h,this.en),t=this.a*s*h/Math.sqrt(1-this.es*l*l)}return e.x=t,e.y=r,e},inverse:function(e){var t,r,s,i;return e.x-=this.x0,s=e.x/this.a,e.y-=this.y0,t=e.y/this.a,this.sphere?(t/=this.C_y,s/=this.C_x*(this.m+Math.cos(t)),this.m?t=Et((this.m*t+Math.sin(t))/this.n):1!==this.n&&(t=Et(Math.sin(t)/this.n)),s=j(s+this.long0),t=yt(t)):(t=ze(e.y/this.a,this.es,this.en),(i=Math.abs(t))<a?(i=Math.sin(t),r=this.long0+e.x*Math.sqrt(1-this.es*i*i)/(this.a*Math.cos(t)),s=j(r)):i-u<a&&(s=this.long0)),e.x=s,e.y=t,e},names:["Sinusoidal","sinu"]},Bt={init:function(){},forward:function(e){for(var t=e.x,r=e.y,s=j(t-this.long0),i=r,n=Math.PI*Math.sin(r);;){var a=-(i+Math.sin(i)-n)/(1+Math.cos(i));if(i+=a,Math.abs(a)<u)break}i/=2,Math.PI/2-Math.abs(r)<u&&(s=0);var o=.900316316158*this.a*s*Math.cos(i)+this.x0,l=1.4142135623731*this.a*Math.sin(i)+this.y0;return e.x=o,e.y=l,e},inverse:function(e){var t,r;e.x-=this.x0,e.y-=this.y0,r=e.y/(1.4142135623731*this.a),Math.abs(r)>.999999999999&&(r=.999999999999),t=Math.asin(r);var s=j(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));s<-Math.PI&&(s=-Math.PI),s>Math.PI&&(s=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var i=Math.asin(r);return e.x=s,e.y=i,e},names:["Mollweide","moll"]},jt={init:function(){Math.abs(this.lat1+this.lat2)<u||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=ct(this.es),this.e1=dt(this.es),this.e2=pt(this.es),this.e3=ft(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=G(this.e,this.sinphi,this.cosphi),this.ml1=ut(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<u?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=G(this.e,this.sinphi,this.cosphi),this.ml2=ut(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=ut(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},forward:function(e){var t,r=e.x,s=e.y;if(this.sphere)t=this.a*(this.g-s);else{var i=ut(this.e0,this.e1,this.e2,this.e3,s);t=this.a*(this.g-i)}var n=this.ns*j(r-this.long0),a=this.x0+t*Math.sin(n),o=this.y0+this.rh-t*Math.cos(n);return e.x=a,e.y=o,e},inverse:function(e){var t,r,s,i;e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns>=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(0!==r&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return i=j(this.long0+n/this.ns),s=yt(this.g-r/this.a),e.x=i,e.y=s,e;var a=this.g-r/this.a;return s=gt(a,this.e0,this.e1,this.e2,this.e3),i=j(this.long0+n/this.ns),e.x=i,e.y=s,e},names:["Equidistant_Conic","eqdc"]},Ut={init:function(){this.R=this.a},forward:function(e){var t,r,s=e.x,i=e.y,n=j(s-this.long0);Math.abs(i)<=u&&(t=this.x0+this.R*n,r=this.y0);var o=Et(2*Math.abs(i/Math.PI));(Math.abs(n)<=u||Math.abs(Math.abs(i)-a)<=u)&&(t=this.x0,r=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*o):this.y0+Math.PI*this.R*-Math.tan(.5*o));var l=.5*Math.abs(Math.PI/n-n/Math.PI),h=l*l,c=Math.sin(o),d=Math.cos(o),p=d/(c+d-1),f=p*p,m=p*(2/c-1),y=m*m,g=Math.PI*this.R*(l*(p-y)+Math.sqrt(h*(p-y)*(p-y)-(y+h)*(f-y)))/(y+h);n<0&&(g=-g),t=this.x0+g;var v=h+p;return g=Math.PI*this.R*(m*v-l*Math.sqrt((y+h)*(h+1)-v*v))/(y+h),r=i>=0?this.y0+g:this.y0-g,e.x=t,e.y=r,e},inverse:function(e){var t,r,s,i,n,a,o,l,h,c,d,p,f;return e.x-=this.x0,e.y-=this.y0,d=Math.PI*this.R,s=e.x/d,i=e.y/d,n=s*s+i*i,a=-Math.abs(i)*(1+n),f=i*i/(l=-2*a+1+2*i*i+n*n)+(2*(o=a-2*i*i+s*s)*o*o/l/l/l-9*a*o/l/l)/27,h=(a-o*o/3/l)/l,c=2*Math.sqrt(-h/3),d=3*f/h/c,Math.abs(d)>1&&(d=d>=0?1:-1),p=Math.acos(d)/3,r=e.y>=0?(-c*Math.cos(p+Math.PI/3)-o/3/l)*Math.PI:-(-c*Math.cos(p+Math.PI/3)-o/3/l)*Math.PI,t=Math.abs(s)<u?this.long0:j(this.long0+Math.PI*(n-1+Math.sqrt(1+2*(s*s-i*i)+n*n))/2/s),e.x=t,e.y=r,e},names:["Van_der_Grinten_I","VanDerGrinten","vandg"]},Vt={init:function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},forward:function(e){var t,r,s,i,n,o,l,h,c,d,p,f,m,y,g,v,b,S,x,_,w,C,T=e.x,M=e.y,E=Math.sin(e.y),A=Math.cos(e.y),O=j(T-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=u?(e.x=this.x0+this.a*(a-M)*Math.sin(O),e.y=this.y0-this.a*(a-M)*Math.cos(O),e):Math.abs(this.sin_p12+1)<=u?(e.x=this.x0+this.a*(a+M)*Math.sin(O),e.y=this.y0+this.a*(a+M)*Math.cos(O),e):(S=this.sin_p12*E+this.cos_p12*A*Math.cos(O),v=Math.acos(S),b=v?v/Math.sin(v):1,e.x=this.x0+this.a*b*A*Math.sin(O),e.y=this.y0+this.a*b*(this.cos_p12*E-this.sin_p12*A*Math.cos(O)),e):(t=ct(this.es),r=dt(this.es),s=pt(this.es),i=ft(this.es),Math.abs(this.sin_p12-1)<=u?(n=this.a*ut(t,r,s,i,a),o=this.a*ut(t,r,s,i,M),e.x=this.x0+(n-o)*Math.sin(O),e.y=this.y0-(n-o)*Math.cos(O),e):Math.abs(this.sin_p12+1)<=u?(n=this.a*ut(t,r,s,i,a),o=this.a*ut(t,r,s,i,M),e.x=this.x0+(n+o)*Math.sin(O),e.y=this.y0+(n+o)*Math.cos(O),e):(l=E/A,h=mt(this.a,this.e,this.sin_p12),c=mt(this.a,this.e,E),d=Math.atan((1-this.es)*l+this.es*h*this.sin_p12/(c*A)),p=Math.atan2(Math.sin(O),this.cos_p12*Math.tan(d)-this.sin_p12*Math.cos(O)),x=0===p?Math.asin(this.cos_p12*Math.sin(d)-this.sin_p12*Math.cos(d)):Math.abs(Math.abs(p)-Math.PI)<=u?-Math.asin(this.cos_p12*Math.sin(d)-this.sin_p12*Math.cos(d)):Math.asin(Math.sin(O)*Math.cos(d)/Math.sin(p)),f=this.e*this.sin_p12/Math.sqrt(1-this.es),m=this.e*this.cos_p12*Math.cos(p)/Math.sqrt(1-this.es),v=h*x*(1-(_=x*x)*(g=m*m)*(1-g)/6+(w=_*x)/8*(y=f*m)*(1-2*g)+(C=w*x)/120*(g*(4-7*g)-3*f*f*(1-7*g))-C*x/48*y),e.x=this.x0+v*Math.sin(p),e.y=this.y0+v*Math.cos(p),e))},inverse:function(e){var t,r,s,i,n,o,l,h,c,d,p,f,m,y,g,v,b,S,x,_,w,C,T;if(e.x-=this.x0,e.y-=this.y0,this.sphere){if((t=Math.sqrt(e.x*e.x+e.y*e.y))>2*a*this.a)return;return r=t/this.a,s=Math.sin(r),i=Math.cos(r),n=this.long0,Math.abs(t)<=u?o=this.lat0:(o=Et(i*this.sin_p12+e.y*s*this.cos_p12/t),l=Math.abs(this.lat0)-a,n=Math.abs(l)<=u?this.lat0>=0?j(this.long0+Math.atan2(e.x,-e.y)):j(this.long0-Math.atan2(-e.x,e.y)):j(this.long0+Math.atan2(e.x*s,t*this.cos_p12*i-e.y*this.sin_p12*s))),e.x=n,e.y=o,e}return h=ct(this.es),c=dt(this.es),d=pt(this.es),p=ft(this.es),Math.abs(this.sin_p12-1)<=u?(f=this.a*ut(h,c,d,p,a),t=Math.sqrt(e.x*e.x+e.y*e.y),o=gt((f-t)/this.a,h,c,d,p),n=j(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=u?(f=this.a*ut(h,c,d,p,a),t=Math.sqrt(e.x*e.x+e.y*e.y),o=gt((t-f)/this.a,h,c,d,p),n=j(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),g=Math.atan2(e.x,e.y),m=mt(this.a,this.e,this.sin_p12),v=Math.cos(g),b=this.e*this.cos_p12*v,S=-b*b/(1-this.es),x=3*this.es*(1-S)*this.sin_p12*this.cos_p12*v/(1-this.es),w=(_=t/m)-S*(1+S)*Math.pow(_,3)/6-x*(1+3*S)*Math.pow(_,4)/24,C=1-S*w*w/2-_*w*w*w/6,y=Math.asin(this.sin_p12*Math.cos(w)+this.cos_p12*Math.sin(w)*v),n=j(this.long0+Math.asin(Math.sin(g)*Math.sin(w)/Math.cos(y))),T=Math.sin(y),o=Math.atan2((T-this.es*C*this.sin_p12)*Math.tan(y),T*(1-this.es)),e.x=n,e.y=o,e)},names:["Azimuthal_Equidistant","aeqd"]},zt={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(e){var t,r,s,i,n,a,o,l=e.x,h=e.y;return s=j(l-this.long0),t=Math.sin(h),r=Math.cos(h),i=Math.cos(s),((n=this.sin_p14*t+this.cos_p14*r*i)>0||Math.abs(n)<=u)&&(a=1*this.a*r*Math.sin(s),o=this.y0+1*this.a*(this.cos_p14*t-this.sin_p14*r*i)),e.x=a,e.y=o,e},inverse:function(e){var t,r,s,i,n,o,l;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Et(t/this.a),s=Math.sin(r),i=Math.cos(r),o=this.long0,Math.abs(t)<=u?(l=this.lat0,e.x=o,e.y=l,e):(l=Et(i*this.sin_p14+e.y*s*this.cos_p14/t),n=Math.abs(this.lat0)-a,Math.abs(n)<=u?(o=this.lat0>=0?j(this.long0+Math.atan2(e.x,-e.y)):j(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=l,e):(o=j(this.long0+Math.atan2(e.x*s,t*this.cos_p14*i-e.y*this.sin_p14*s)),e.x=o,e.y=l,e))},names:["ortho"]},Jt={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},qt={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Ht(e,t,r,s){var i;return e<u?(s.value=qt.AREA_0,i=0):(i=Math.atan2(t,r),Math.abs(i)<=p?s.value=qt.AREA_0:i>p&&i<=a+p?(s.value=qt.AREA_1,i-=a):i>a+p||i<=-(a+p)?(s.value=qt.AREA_2,i=i>=0?i-m:i+m):(s.value=qt.AREA_3,i+=a)),i}function Wt(e,t){var r=e+t;return r<-m?r+=f:r>+m&&(r-=f),r}var Yt,Xt={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=a-p/2?this.face=Jt.TOP:this.lat0<=-(a-p/2)?this.face=Jt.BOTTOM:Math.abs(this.long0)<=p?this.face=Jt.FRONT:Math.abs(this.long0)<=a+p?this.face=this.long0>0?Jt.RIGHT:Jt.LEFT:this.face=Jt.BACK,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(e){var t,r,s,i,n,o,l={x:0,y:0},h={value:0};if(e.x-=this.long0,t=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(e.y)):e.y,r=e.x,this.face===Jt.TOP)i=a-t,r>=p&&r<=a+p?(h.value=qt.AREA_0,s=r-a):r>a+p||r<=-(a+p)?(h.value=qt.AREA_1,s=r>0?r-m:r+m):r>-(a+p)&&r<=-p?(h.value=qt.AREA_2,s=r+a):(h.value=qt.AREA_3,s=r);else if(this.face===Jt.BOTTOM)i=a+t,r>=p&&r<=a+p?(h.value=qt.AREA_0,s=-r+a):r<p&&r>=-p?(h.value=qt.AREA_1,s=-r):r<-p&&r>=-(a+p)?(h.value=qt.AREA_2,s=-r-a):(h.value=qt.AREA_3,s=r>0?-r+m:-r-m);else{var u,c,d,f,y,g,v;this.face===Jt.RIGHT?r=Wt(r,+a):this.face===Jt.BACK?r=Wt(r,+m):this.face===Jt.LEFT&&(r=Wt(r,-a)),f=Math.sin(t),y=Math.cos(t),g=Math.sin(r),v=Math.cos(r),u=y*v,c=y*g,d=f,this.face===Jt.FRONT?(i=Math.acos(u),s=Ht(i,d,c,h)):this.face===Jt.RIGHT?(i=Math.acos(c),s=Ht(i,d,-u,h)):this.face===Jt.BACK?(i=Math.acos(-u),s=Ht(i,d,-c,h)):this.face===Jt.LEFT?(i=Math.acos(-c),s=Ht(i,d,u,h)):(i=s=0,h.value=qt.AREA_0)}return o=Math.atan(12/m*(s+Math.acos(Math.sin(s)*Math.cos(p))-a)),n=Math.sqrt((1-Math.cos(i))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(s))))),h.value===qt.AREA_1?o+=a:h.value===qt.AREA_2?o+=m:h.value===qt.AREA_3&&(o+=1.5*m),l.x=n*Math.cos(o),l.y=n*Math.sin(o),l.x=l.x*this.a+this.x0,l.y=l.y*this.a+this.y0,e.x=l.x,e.y=l.y,e},inverse:function(e){var t,r,s,i,n,o,l,h,u,c,d,p,f={lam:0,phi:0},y={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,r=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),t=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?y.value=qt.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(y.value=qt.AREA_1,t-=a):e.x<0&&-e.x>=Math.abs(e.y)?(y.value=qt.AREA_2,t=t<0?t+m:t-m):(y.value=qt.AREA_3,t+=a),u=m/12*Math.tan(t),n=Math.sin(u)/(Math.cos(u)-1/Math.sqrt(2)),o=Math.atan(n),s=Math.cos(t),i=Math.tan(r),(l=1-s*s*i*i*(1-Math.cos(Math.atan(1/Math.cos(o)))))<-1?l=-1:l>1&&(l=1),this.face===Jt.TOP)h=Math.acos(l),f.phi=a-h,y.value===qt.AREA_0?f.lam=o+a:y.value===qt.AREA_1?f.lam=o<0?o+m:o-m:y.value===qt.AREA_2?f.lam=o-a:f.lam=o;else if(this.face===Jt.BOTTOM)h=Math.acos(l),f.phi=h-a,y.value===qt.AREA_0?f.lam=-o+a:y.value===qt.AREA_1?f.lam=-o:y.value===qt.AREA_2?f.lam=-o-a:f.lam=o<0?-o-m:-o+m;else{var g,v,b;b=(u=(g=l)*g)>=1?0:Math.sqrt(1-u)*Math.sin(o),v=(u+=b*b)>=1?0:Math.sqrt(1-u),y.value===qt.AREA_1?(u=v,v=-b,b=u):y.value===qt.AREA_2?(v=-v,b=-b):y.value===qt.AREA_3&&(u=v,v=b,b=-u),this.face===Jt.RIGHT?(u=g,g=-v,v=u):this.face===Jt.BACK?(g=-g,v=-v):this.face===Jt.LEFT&&(u=g,g=v,v=-u),f.phi=Math.acos(-b)-a,f.lam=Math.atan2(v,g),this.face===Jt.RIGHT?f.lam=Wt(f.lam,-a):this.face===Jt.BACK?f.lam=Wt(f.lam,-m):this.face===Jt.LEFT&&(f.lam=Wt(f.lam,+a))}0!==this.es&&(c=f.phi<0?1:0,d=Math.tan(f.phi),p=this.b/Math.sqrt(d*d+this.one_minus_f_squared),f.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),c&&(f.phi=-f.phi));return f.lam+=this.long0,e.x=f.lam,e.y=f.phi,e},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Qt=[[1,2.2199e-17,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Zt=[[-5.20417e-18,.0124,1.21431e-18,-8.45284e-11],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Kt=.8487,$t=1.3523,er=d/5,tr=1/er,rr=18,sr=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},ir=function(e,t){return e[1]+t*(2*e[2]+3*t*e[3])},nr={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(e){var t=j(e.x-this.long0),r=Math.abs(e.y),s=Math.floor(r*er);s<0?s=0:s>=rr&&(s=rr-1),r=d*(r-tr*s);var i={x:sr(Qt[s],r)*t,y:sr(Zt[s],r)};return e.y<0&&(i.y=-i.y),i.x=i.x*this.a*Kt+this.x0,i.y=i.y*this.a*$t+this.y0,i},inverse:function(e){var t={x:(e.x-this.x0)/(this.a*Kt),y:Math.abs(e.y-this.y0)/(this.a*$t)};if(t.y>=1)t.x/=Qt[rr][0],t.y=e.y<0?-a:a;else{var r=Math.floor(t.y*rr);for(r<0?r=0:r>=rr&&(r=rr-1);;)if(Zt[r][0]>t.y)--r;else{if(!(Zt[r+1][0]<=t.y))break;++r}var s=Zt[r],i=5*(t.y-s[0])/(Zt[r+1][0]-s[0]);i=function(e,t,r,s){for(var i=t;s;--s){var n=e(i);if(i-=n,Math.abs(n)<r)break}return i}(function(e){return(sr(s,e)-t.y)/ir(s,e)},i,u,100),t.x/=sr(Qt[r],i),t.y=(5*r+i)*c,e.y<0&&(t.y=-t.y)}return t.x=j(t.x+this.long0),t},names:["Robinson","robin"]},ar={init:function(){this.name="geocent"},forward:function(e){return ae(e,this.es,this.a)},inverse:function(e){return oe(e,this.es,this.a,this.b)},names:["Geocentric","geocentric","geocent","Geocent"]},or={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},lr={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}},hr={init:function(){if(Object.keys(lr).forEach(function(e){if(void 0===this[e])this[e]=lr[e].def;else{if(lr[e].num&&isNaN(this[e]))throw new Error("Invalid parameter value, must be numeric "+e+" = "+this[e]);lr[e].num&&(this[e]=parseFloat(this[e]))}lr[e].degrees&&(this[e]=this[e]*c)}.bind(this)),Math.abs(Math.abs(this.lat0)-a)<u?this.mode=this.lat0<0?or.S_POLE:or.N_POLE:Math.abs(this.lat0)<u?this.mode=or.EQUIT:(this.mode=or.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)},forward:function(e){e.x-=this.long0;var t,r,s,i,n=Math.sin(e.y),a=Math.cos(e.y),o=Math.cos(e.x);switch(this.mode){case or.OBLIQ:r=this.sinph0*n+this.cosph0*a*o;break;case or.EQUIT:r=a*o;break;case or.S_POLE:r=-n;break;case or.N_POLE:r=n}switch(r=this.pn1/(this.p-r),t=r*a*Math.sin(e.x),this.mode){case or.OBLIQ:r*=this.cosph0*n-this.sinph0*a*o;break;case or.EQUIT:r*=n;break;case or.N_POLE:r*=-a*o;break;case or.S_POLE:r*=a*o}return s=r*this.cg+t*this.sg,i=1/(s*this.sw*this.h1+this.cw),t=(t*this.cg-r*this.sg)*this.cw*i,r=s*i,e.x=t*this.a,e.y=r*this.a,e},inverse:function(e){e.x/=this.a,e.y/=this.a;var t,r,s,i={x:e.x,y:e.y};s=1/(this.pn1-e.y*this.sw),t=this.pn1*e.x*s,r=this.pn1*e.y*this.cw*s,e.x=t*this.cg+r*this.sg,e.y=r*this.cg-t*this.sg;var n=He(e.x,e.y);if(Math.abs(n)<u)i.x=0,i.y=e.y;else{var a,o;switch(o=1-n*n*this.pfact,o=(this.p-Math.sqrt(o))/(this.pn1/n+n/this.pn1),a=Math.sqrt(1-o*o),this.mode){case or.OBLIQ:i.y=Math.asin(a*this.sinph0+e.y*o*this.cosph0/n),e.y=(a-this.sinph0*Math.sin(i.y))*n,e.x*=o*this.cosph0;break;case or.EQUIT:i.y=Math.asin(e.y*o/n),e.y=a*n,e.x*=o;break;case or.N_POLE:i.y=Math.asin(a),e.y=-e.y;break;case or.S_POLE:i.y=-Math.asin(a)}i.x=Math.atan2(e.x,e.y)}return e.x=i.x+this.long0,e.y=i.y,e},names:["Tilted_Perspective","tpers"]},ur={init:function(){if(this.flip_axis="x"===this.sweep?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")},forward:function(e){var t,r,s,i,n=e.x,a=e.y;if(n-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var o=this.radius_p/He(this.radius_p*Math.cos(a),Math.sin(a));if(r=o*Math.cos(n)*Math.cos(a),s=o*Math.sin(n)*Math.cos(a),i=o*Math.sin(a),(this.radius_g-r)*r-s*s-i*i*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;t=this.radius_g-r,this.flip_axis?(e.x=this.radius_g_1*Math.atan(s/He(i,t)),e.y=this.radius_g_1*Math.atan(i/t)):(e.x=this.radius_g_1*Math.atan(s/t),e.y=this.radius_g_1*Math.atan(i/He(s,t)))}else"sphere"===this.shape&&(t=Math.cos(a),r=Math.cos(n)*t,s=Math.sin(n)*t,i=Math.sin(a),t=this.radius_g-r,this.flip_axis?(e.x=this.radius_g_1*Math.atan(s/He(i,t)),e.y=this.radius_g_1*Math.atan(i/t)):(e.x=this.radius_g_1*Math.atan(s/t),e.y=this.radius_g_1*Math.atan(i/He(s,t))));return e.x=e.x*this.a,e.y=e.y*this.a,e},inverse:function(e){var t,r,s,i,n=-1,a=0,o=0;if(e.x=e.x/this.a,e.y=e.y/this.a,"ellipse"===this.shape){this.flip_axis?(o=Math.tan(e.y/this.radius_g_1),a=Math.tan(e.x/this.radius_g_1)*He(1,o)):(a=Math.tan(e.x/this.radius_g_1),o=Math.tan(e.y/this.radius_g_1)*He(1,a));var l=o/this.radius_p;if(t=a*a+l*l+n*n,r=2*this.radius_g*n,(s=r*r-4*t*this.C)<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=(-r-Math.sqrt(s))/(2*t),n=this.radius_g+i*n,a*=i,o*=i,e.x=Math.atan2(a,n),e.y=Math.atan(o*Math.cos(e.x)/n),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if("sphere"===this.shape){if(this.flip_axis?(o=Math.tan(e.y/this.radius_g_1),a=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+o*o)):(a=Math.tan(e.x/this.radius_g_1),o=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+a*a)),t=a*a+o*o+n*n,r=2*this.radius_g*n,(s=r*r-4*t*this.C)<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=(-r-Math.sqrt(s))/(2*t),n=this.radius_g+i*n,a*=i,o*=i,e.x=Math.atan2(a,n),e.y=Math.atan(o*Math.cos(e.x)/n)}return e.x=e.x+this.long0,e},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};return xe.defaultDatum="WGS84",xe.Proj=ne,xe.WGS84=new xe.Proj("WGS84"),xe.Point=Be,xe.toPoint=fe,xe.defs=N,xe.nadgrid=function(e,t){var r=new DataView(t),s=function(e){var t=e.getInt32(8,!1);return 11!==t&&(11!==(t=e.getInt32(8,!0))&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}(r),i=function(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:te(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}(r,s);i.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var n=function(e,t,r){for(var s=[],i=0;i<t.nSubgrids;i++){var n=se(e,176,r),a=ie(e,176,n,r),o=Math.round(1+(n.upperLongitude-n.lowerLongitude)/n.longitudeInterval),l=Math.round(1+(n.upperLatitude-n.lowerLatitude)/n.latitudeInterval);s.push({ll:[ee(n.lowerLongitude),ee(n.lowerLatitude)],del:[ee(n.longitudeInterval),ee(n.latitudeInterval)],lim:[o,l],count:n.gridNodeCount,cvs:re(a)})}return s}(r,i,s),a={header:i,subgrids:n};return K[e]=a,a},xe.transform=ge,xe.mgrs=Pe,xe.version="2.9.0",(Yt=xe).Proj.projections.add(Je),Yt.Proj.projections.add(Ze),Yt.Proj.projections.add($e),Yt.Proj.projections.add(st),Yt.Proj.projections.add(it),Yt.Proj.projections.add(nt),Yt.Proj.projections.add(ot),Yt.Proj.projections.add(lt),Yt.Proj.projections.add(ht),Yt.Proj.projections.add(vt),Yt.Proj.projections.add(Mt),Yt.Proj.projections.add(At),Yt.Proj.projections.add(Ot),Yt.Proj.projections.add(Lt),Yt.Proj.projections.add(It),Yt.Proj.projections.add(Ft),Yt.Proj.projections.add(kt),Yt.Proj.projections.add(Rt),Yt.Proj.projections.add(Gt),Yt.Proj.projections.add(Bt),Yt.Proj.projections.add(jt),Yt.Proj.projections.add(Ut),Yt.Proj.projections.add(Vt),Yt.Proj.projections.add(zt),Yt.Proj.projections.add(Xt),Yt.Proj.projections.add(nr),Yt.Proj.projections.add(ar),Yt.Proj.projections.add(hr),Yt.Proj.projections.add(ur),xe}()},107:function(e,t,r){!function(){"use strict";function e(e){var t=this.constructor;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){return t.reject(r)})})}function t(e){return new this(function(t,r){if(!e||void 0===e.length)return r(new TypeError(typeof e+" "+e+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var s=Array.prototype.slice.call(e);if(0===s.length)return t([]);var i=s.length;function n(e,r){if(r&&("object"==typeof r||"function"==typeof r)){var a=r.then;if("function"==typeof a)return void a.call(r,function(t){n(e,t)},function(r){s[e]={status:"rejected",reason:r},0==--i&&t(s)})}s[e]={status:"fulfilled",value:r},0==--i&&t(s)}for(var a=0;a<s.length;a++)n(a,s[a])})}var s=setTimeout;function i(e){return Boolean(e&&void 0!==e.length)}function n(){}function a(e){if(!(this instanceof a))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],c(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,a._immediateFn(function(){var r=1===e._state?t.onFulfilled:t.onRejected;if(null!==r){var s;try{s=r(e._value)}catch(e){return void h(t.promise,e)}l(t.promise,s)}else(1===e._state?l:h)(t.promise,e._value)})):e._deferreds.push(t)}function l(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var r=t.then;if(t instanceof a)return e._state=3,e._value=t,void u(e);if("function"==typeof r)return void c((s=r,i=t,function(){s.apply(i,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){h(e,t)}var s,i}function h(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value)});for(var t=0,r=e._deferreds.length;t<r;t++)o(e,e._deferreds[t]);e._deferreds=null}function c(e,t){var r=!1;try{e(function(e){r||(r=!0,l(t,e))},function(e){r||(r=!0,h(t,e))})}catch(e){if(r)return;r=!0,h(t,e)}}a.prototype.catch=function(e){return this.then(null,e)},a.prototype.then=function(e,t){var r=new this.constructor(n);return o(this,new function(e,t,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=r}(e,t,r)),r},a.prototype.finally=e,a.all=function(e){return new a(function(t,r){if(!i(e))return r(new TypeError("Promise.all accepts an array"));var s=Array.prototype.slice.call(e);if(0===s.length)return t([]);var n=s.length;function a(e,i){try{if(i&&("object"==typeof i||"function"==typeof i)){var o=i.then;if("function"==typeof o)return void o.call(i,function(t){a(e,t)},r)}s[e]=i,0==--n&&t(s)}catch(e){r(e)}}for(var o=0;o<s.length;o++)a(o,s[o])})},a.allSettled=t,a.resolve=function(e){return e&&"object"==typeof e&&e.constructor===a?e:new a(function(t){t(e)})},a.reject=function(e){return new a(function(t,r){r(e)})},a.race=function(e){return new a(function(t,r){if(!i(e))return r(new TypeError("Promise.race accepts an array"));for(var s=0,n=e.length;s<n;s++)a.resolve(e[s]).then(t,r)})},a._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){s(e,0)},a._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var d=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r.g)return r.g;throw new Error("unable to locate global object")}();"function"!=typeof d.Promise?d.Promise=a:(d.Promise.prototype.finally||(d.Promise.prototype.finally=e),d.Promise.allSettled||(d.Promise.allSettled=t))}()},901:function(e){e.exports=function(){"use strict";var e=new Uint8Array(0);function t(t){this._source=t,this._array=e,this._index=0}return t.prototype.read=function(){var t=this,r=t._array.subarray(t._index);return t._source.read().then(function(s){return t._array=e,t._index=0,s.done?r.length>0?{done:!1,value:r}:{done:!0,value:void 0}:{done:!1,value:function(e,t){if(!e.length)return t;if(!t.length)return e;var r=new Uint8Array(e.length+t.length);return r.set(e),r.set(t,e.length),r}(r,s.value)}})},t.prototype.slice=function(t){if((t|=0)<0)throw new Error("invalid length");var r=this,s=this._array.length-this._index;if(this._index+t<=this._array.length)return Promise.resolve(this._array.subarray(this._index,this._index+=t));var i=new Uint8Array(t);return i.set(this._array.subarray(this._index)),function n(){return r._source.read().then(function(a){return a.done?(r._array=e,r._index=0,s>0?i.subarray(0,s):null):s+a.value.length>=t?(r._array=a.value,r._index=t-s,i.set(a.value.subarray(0,t-s),s),i):(i.set(a.value,s),s+=a.value.length,n())})}()},t.prototype.cancel=function(){return this._source.cancel()},function(e){return"function"==typeof e.slice?e:new t("function"==typeof e.read?e:e.getReader())}}()},982:(e,t)=>{"use strict";var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function s(e,t,r,s){return new(r||(r=Promise))(function(i,n){function a(e){try{l(s.next(e))}catch(e){n(e)}}function o(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,o)}l((s=s.apply(e,t||[])).next())})}function i(e,t){var r,s,i,n,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,s&&(i=2&n[0]?s.return:n[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,n[1])).done)return i;switch(s=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,s=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===n[0]||2===n[0])){a=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&n[1]<i[3])){a.label=n[1];break}if(6===n[0]&&a.label<i[1]){a.label=i[1],i=n;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(n);break}i[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(e,a)}catch(e){n=[6,e],s=0}finally{r=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}function n(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],s=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&s>=e.length&&(e=void 0),{value:e&&e[s++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e){return this instanceof a?(this.v=e,this):new a(e)}function o(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,i=r.apply(e,t||[]),n=[];return s={},o("next"),o("throw"),o("return"),s[Symbol.asyncIterator]=function(){return this},s;function o(e){i[e]&&(s[e]=function(t){return new Promise(function(r,s){n.push([e,t,r,s])>1||l(e,t)})})}function l(e,t){try{(r=i[e](t)).value instanceof a?Promise.resolve(r.value.v).then(h,u):c(n[0][2],r)}catch(e){c(n[0][3],e)}var r}function h(e){l("next",e)}function u(e){l("throw",e)}function c(e,t){e(t),n.shift(),n.length&&l(n[0][0],n[0][1])}}var l=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"name",{value:"RepeaterOverflowError",enumerable:!1}),"function"==typeof Object.setPrototypeOf?Object.setPrototypeOf(r,r.constructor.prototype):r.__proto__=r.constructor.prototype,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(r,r.constructor),r}return function(e,t){function s(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}(t,e),t}(Error),h=function(){function e(e){if(e<0)throw new RangeError("Capacity may not be less than 0");this._c=e,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return 0===this._q.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return this._q.length>=this._c},enumerable:!1,configurable:!0}),e.prototype.add=function(e){if(this.full)throw new Error("Buffer full");this._q.push(e)},e.prototype.remove=function(){if(this.empty)throw new Error("Buffer empty");return this._q.shift()},e}(),u=function(){function e(e){if(e<1)throw new RangeError("Capacity may not be less than 1");this._c=e,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return 0===this._q.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.add=function(e){for(;this._q.length>=this._c;)this._q.shift();this._q.push(e)},e.prototype.remove=function(){if(this.empty)throw new Error("Buffer empty");return this._q.shift()},e}(),c=function(){function e(e){if(e<1)throw new RangeError("Capacity may not be less than 1");this._c=e,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return 0===this._q.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.add=function(e){this._q.length<this._c&&this._q.push(e)},e.prototype.remove=function(){if(this.empty)throw new Error("Buffer empty");return this._q.shift()},e}();function d(e){null!=e&&"function"==typeof e.then&&e.then(b,b)}var p=0,f=1,m=2,y=3,g=4,v=1024,b=function(){};function S(e){var t=e.err,r=Promise.resolve(e.execution).then(function(e){if(null!=t)throw t;return e});return e.err=void 0,e.execution=r.then(function(){},function(){}),void 0===e.pending?r:e.pending.then(function(){return r})}function x(e,t){var r=e.state>=y;return Promise.resolve(t).then(function(t){return!r&&e.state>=g?S(e).then(function(e){return{value:e,done:!0}}):{value:t,done:r}})}function _(e,t){var r,s;if(!(e.state>=m))if(e.state=m,e.onnext(),e.onstop(),null==e.err&&(e.err=t),0!==e.pushes.length||void 0!==e.buffer&&!e.buffer.empty)try{for(var i=n(e.pushes),a=i.next();!a.done;a=i.next()){a.value.resolve()}}catch(e){r={error:e}}finally{try{a&&!a.done&&(s=i.return)&&s.call(i)}finally{if(r)throw r.error}}else w(e)}function w(e){var t,r;if(!(e.state>=y)){e.state<m&&_(e),e.state=y,e.buffer=void 0;try{for(var s=n(e.nexts),i=s.next();!i.done;i=s.next()){var a=i.value,o=void 0===e.pending?S(e):e.pending.then(function(){return S(e)});a.resolve(x(e,o))}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}e.pushes=[],e.nexts=[]}}function C(e){e.state>=g||(e.state<y&&w(e),e.state=g)}function T(e){if(!(e.state>=f)){e.state=f;var t=function(e,t){if(d(t),e.pushes.length>=v)throw new l("No more than "+v+" pending calls to push are allowed on a single repeater.");if(e.state>=m)return Promise.resolve(void 0);var r,s=void 0===e.pending?Promise.resolve(t):e.pending.then(function(){return t});s=s.catch(function(t){e.state<m&&(e.err=t),C(e)}),e.nexts.length?(e.nexts.shift().resolve(x(e,s)),r=e.nexts.length?Promise.resolve(e.nexts[0].value):new Promise(function(t){return e.onnext=t})):void 0===e.buffer||e.buffer.full?r=new Promise(function(t){return e.pushes.push({resolve:t,value:s})}):(e.buffer.add(s),r=Promise.resolve(void 0));var i=!0,n={},a=r.catch(function(e){if(i)throw e});return n.then=function(e,t){return i=!1,Promise.prototype.then.call(r,e,t)},n.catch=function(e){return i=!1,Promise.prototype.catch.call(r,e)},n.finally=r.finally.bind(r),e.pending=s.then(function(){return a}).catch(function(t){e.err=t,C(e)}),n}.bind(null,e),r=function(e){var t=_.bind(null,e),r=new Promise(function(t){return e.onstop=t});return t.then=r.then.bind(r),t.catch=r.catch.bind(r),t.finally=r.finally.bind(r),t}(e);e.execution=new Promise(function(s){return s(e.executor(t,r))}),e.execution.catch(function(){return _(e)})}}var M=new WeakMap,E=function(){function e(e,t){M.set(this,{executor:e,buffer:t,err:void 0,state:p,pushes:[],nexts:[],pending:void 0,execution:void 0,onnext:b,onstop:b})}return e.prototype.next=function(e){d(e);var t=M.get(this);if(void 0===t)throw new Error("WeakMap error");if(t.nexts.length>=v)throw new l("No more than "+v+" pending calls to next are allowed on a single repeater.");if(t.state<=p&&T(t),t.onnext(e),void 0!==t.buffer&&!t.buffer.empty){var r=x(t,t.buffer.remove());if(t.pushes.length){var s=t.pushes.shift();t.buffer.add(s.value),t.onnext=s.resolve}return r}if(t.pushes.length){var i=t.pushes.shift();return t.onnext=i.resolve,x(t,i.value)}return t.state>=m?(w(t),x(t,S(t))):new Promise(function(r){return t.nexts.push({resolve:r,value:e})})},e.prototype.return=function(e){d(e);var t=M.get(this);if(void 0===t)throw new Error("WeakMap error");return w(t),t.execution=Promise.resolve(t.execution).then(function(){return e}),x(t,S(t))},e.prototype.throw=function(e){var t=M.get(this);if(void 0===t)throw new Error("WeakMap error");return t.state<=p||t.state>=m||void 0!==t.buffer&&!t.buffer.empty?(w(t),null==t.err&&(t.err=e),x(t,S(t))):this.next(Promise.reject(e))},e.prototype[Symbol.asyncIterator]=function(){return this},e.race=O,e.merge=P,e.zip=L,e.latest=I,e}();function A(e,t){var r,s,l=[],h=function(e){null!=e&&"function"==typeof e[Symbol.asyncIterator]?l.push(e[Symbol.asyncIterator]()):null!=e&&"function"==typeof e[Symbol.iterator]?l.push(e[Symbol.iterator]()):l.push(function(){return o(this,arguments,function(){return i(this,function(r){switch(r.label){case 0:return t.yieldValues?[4,a(e)]:[3,3];case 1:return[4,r.sent()];case 2:r.sent(),r.label=3;case 3:return t.returnValues?[4,a(e)]:[3,5];case 4:return[2,r.sent()];case 5:return[2]}})})}())};try{for(var u=n(e),c=u.next();!c.done;c=u.next()){h(c.value)}}catch(e){r={error:e}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(r)throw r.error}}return l}function O(e){var t=this,r=A(e,{returnValues:!0});return new E(function(e,a){return s(t,void 0,void 0,function(){var t,s,o,l,h,u;return i(this,function(c){switch(c.label){case 0:if(!r.length)return a(),[2];s=!1,a.then(function(){t(),s=!0}),c.label=1;case 1:c.trys.push([1,,5,7]),l=void 0,h=0,u=function(){var s,u,c,d,p,f;return i(this,function(i){switch(i.label){case 0:s=h;try{for(p=void 0,u=n(r),c=u.next();!c.done;c=u.next())d=c.value,Promise.resolve(d.next()).then(function(e){e.done?(a(),void 0===o&&(o=e)):h===s&&(h++,t(e))},function(e){return a(e)})}catch(e){p={error:e}}finally{try{c&&!c.done&&(f=u.return)&&f.call(u)}finally{if(p)throw p.error}}return[4,new Promise(function(e){return t=e})];case 1:return void 0===(l=i.sent())?[3,3]:[4,e(l.value)];case 2:i.sent(),i.label=3;case 3:return[2]}})},c.label=2;case 2:return s?[3,4]:[5,u()];case 3:return c.sent(),[3,2];case 4:return[2,o&&o.value];case 5:return a(),[4,Promise.race(r.map(function(e){return e.return&&e.return()}))];case 6:return c.sent(),[7];case 7:return[2]}})})})}function P(e){var t=this,r=A(e,{yieldValues:!0});return new E(function(e,a){return s(t,void 0,void 0,function(){var t,o,l,h=this;return i(this,function(u){switch(u.label){case 0:if(!r.length)return a(),[2];t=[],o=!1,a.then(function(){var e,r;o=!0;try{for(var s=n(t),i=s.next();!i.done;i=s.next()){(0,i.value)()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,Promise.all(r.map(function(r,n){return s(h,void 0,void 0,function(){var s;return i(this,function(i){switch(i.label){case 0:i.trys.push([0,,6,9]),i.label=1;case 1:return o?[3,5]:(Promise.resolve(r.next()).then(function(e){return t[n](e)},function(e){return a(e)}),[4,new Promise(function(e){t[n]=e})]);case 2:return void 0===(s=i.sent())?[3,4]:s.done?(l=s,[2]):[4,e(s.value)];case 3:i.sent(),i.label=4;case 4:return[3,1];case 5:return[3,9];case 6:return r.return?[4,r.return()]:[3,8];case 7:i.sent(),i.label=8;case 8:return[7];case 9:return[2]}})})}))];case 2:return u.sent(),[2,l&&l.value];case 3:return a(),[7];case 4:return[2]}})})})}function L(e){var t=this,r=A(e,{returnValues:!0});return new E(function(e,n){return s(t,void 0,void 0,function(){var t,s,a,o;return i(this,function(i){switch(i.label){case 0:if(!r.length)return n(),[2,[]];s=!1,n.then(function(){t(),s=!0}),i.label=1;case 1:i.trys.push([1,,6,8]),i.label=2;case 2:return s?[3,5]:(Promise.all(r.map(function(e){return e.next()})).then(function(e){return t(e)},function(e){return n(e)}),[4,new Promise(function(e){return t=e})]);case 3:return void 0===(a=i.sent())?[2]:(o=a.map(function(e){return e.value}),a.some(function(e){return e.done})?[2,o]:[4,e(o)]);case 4:return i.sent(),[3,2];case 5:return[3,8];case 6:return n(),[4,Promise.all(r.map(function(e){return e.return&&e.return()}))];case 7:return i.sent(),[7];case 8:return[2]}})})})}function I(e){var t=this,r=A(e,{yieldValues:!0,returnValues:!0});return new E(function(e,a){return s(t,void 0,void 0,function(){var t,o,l,h,u,c=this;return i(this,function(d){switch(d.label){case 0:if(!r.length)return a(),[2,[]];o=[],l=!1,a.then(function(){var e,r;t();try{for(var s=n(o),i=s.next();!i.done;i=s.next()){(0,i.value)()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}l=!0}),d.label=1;case 1:return d.trys.push([1,,5,7]),Promise.all(r.map(function(e){return e.next()})).then(function(e){return t(e)},function(e){return a(e)}),[4,new Promise(function(e){return t=e})];case 2:return void 0===(h=d.sent())?[2]:(u=h.map(function(e){return e.value}),h.every(function(e){return e.done})?[2,u]:[4,e(u.slice())]);case 3:return d.sent(),[4,Promise.all(r.map(function(t,r){return s(c,void 0,void 0,function(){var s;return i(this,function(i){switch(i.label){case 0:if(h[r].done)return[2,h[r].value];i.label=1;case 1:return l?[3,4]:(Promise.resolve(t.next()).then(function(e){return o[r](e)},function(e){return a(e)}),[4,new Promise(function(e){return o[r]=e})]);case 2:return void 0===(s=i.sent())?[2,h[r].value]:s.done?[2,s.value]:(u[r]=s.value,[4,e(u.slice())]);case 3:return i.sent(),[3,1];case 4:return[2]}})})}))];case 4:return[2,d.sent()];case 5:return a(),[4,Promise.all(r.map(function(e){return e.return&&e.return()}))];case 6:return d.sent(),[7];case 7:return[2]}})})})}t.ZN=E}},t={};function r(s){var i=t[s];if(void 0!==i)return i.exports;var n=t[s]={id:s,loaded:!1,exports:{}};return e[s].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}r.n=(e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}),r.d=((e,t)=>{for(var s in t)r.o(t,s)&&!r.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}),r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=((e,t)=>Object.prototype.hasOwnProperty.call(e,t)),r.nmd=(e=>(e.paths=[],e.children||(e.children=[]),e)),(()=>{"use strict";var e=window.SuperMap=window.SuperMap||{};e.Components=window.SuperMap.Components||{};var t={GEOJSON:"GEOJSON",ISERVER:"ISERVER",FGB:"FGB"},s={ISERVER:"ISERVER",IPORTAL:"IPORTAL",ONLINE:"ONLINE"},i={LINE:"LINE",LINEM:"LINEM",POINT:"POINT",REGION:"REGION",POINTEPS:"POINTEPS",LINEEPS:"LINEEPS",REGIONEPS:"REGIONEPS",ELLIPSE:"ELLIPSE",CIRCLE:"CIRCLE",TEXT:"TEXT",RECTANGLE:"RECTANGLE",UNKNOWN:"UNKNOWN",GEOCOMPOUND:"GEOCOMPOUND"},n={ATTRIBUTE:"ATTRIBUTE",ATTRIBUTEANDGEOMETRY:"ATTRIBUTEANDGEOMETRY",GEOMETRY:"GEOMETRY"},a={CONTAIN:"CONTAIN",CROSS:"CROSS",DISJOINT:"DISJOINT",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",NONE:"NONE",OVERLAP:"OVERLAP",TOUCH:"TOUCH",WITHIN:"WITHIN"},o={DISTANCE:"DISTANCE",AREA:"AREA"},l={METER:"METER",KILOMETER:"KILOMETER",MILE:"MILE",YARD:"YARD",DEGREE:"DEGREE",MILLIMETER:"MILLIMETER",CENTIMETER:"CENTIMETER",INCH:"INCH",DECIMETER:"DECIMETER",FOOT:"FOOT",SECOND:"SECOND",MINUTE:"MINUTE",RADIAN:"RADIAN"},h={CENTIMETER:"CENTIMETER",DECIMETER:"DECIMETER",FOOT:"FOOT",INCH:"INCH",KILOMETER:"KILOMETER",METER:"METER",MILE:"MILE",MILLIMETER:"MILLIMETER",YARD:"YARD"},u={CAPTION:"CAPTION",CAPTION_PERCENT:"CAPTION_PERCENT",CAPTION_VALUE:"CAPTION_VALUE",PERCENT:"PERCENT",VALUE:"VALUE"},c={AREA:"AREA",BAR:"BAR",BAR3D:"BAR3D",LINE:"LINE",PIE:"PIE",PIE3D:"PIE3D",POINT:"POINT",RING:"RING",ROSE:"ROSE",ROSE3D:"ROSE3D",STACK_BAR:"STACK_BAR",STACK_BAR3D:"STACK_BAR3D",STEP:"STEP"},d={ALL:"ALL",NONE:"NONE",YAXES:"YAXES"},p={CONSTANT:"CONSTANT",LOGARITHM:"LOGARITHM",SQUAREROOT:"SQUAREROOT"},f={CUSTOMINTERVAL:"CUSTOMINTERVAL",EQUALINTERVAL:"EQUALINTERVAL",LOGARITHM:"LOGARITHM",QUANTILE:"QUANTILE",SQUAREROOT:"SQUAREROOT",STDDEVIATION:"STDDEVIATION"},m={BLACK_WHITE:"BLACKWHITE",BLUE_BLACK:"BLUEBLACK",BLUE_RED:"BLUERED",BLUE_WHITE:"BLUEWHITE",CYAN_BLACK:"CYANBLACK",CYAN_BLUE:"CYANBLUE",CYAN_GREEN:"CYANGREEN",CYAN_WHITE:"CYANWHITE",GREEN_BLACK:"GREENBLACK",GREEN_BLUE:"GREENBLUE",GREEN_ORANGE_VIOLET:"GREENORANGEVIOLET",GREEN_RED:"GREENRED",GREEN_WHITE:"GREENWHITE",PINK_BLACK:"PINKBLACK",PINK_BLUE:"PINKBLUE",PINK_RED:"PINKRED",PINK_WHITE:"PINKWHITE",RAIN_BOW:"RAINBOW",RED_BLACK:"REDBLACK",RED_WHITE:"REDWHITE",SPECTRUM:"SPECTRUM",TERRAIN:"TERRAIN",YELLOW_BLACK:"YELLOWBLACK",YELLOW_BLUE:"YELLOWBLUE",YELLOW_GREEN:"YELLOWGREEN",YELLOW_RED:"YELLOWRED",YELLOW_WHITE:"YELLOWWHITE"},y={TOPLEFT:"TOPLEFT",TOPCENTER:"TOPCENTER",TOPRIGHT:"TOPRIGHT",BASELINELEFT:"BASELINELEFT",BASELINECENTER:"BASELINECENTER",BASELINERIGHT:"BASELINERIGHT",BOTTOMLEFT:"BOTTOMLEFT",BOTTOMCENTER:"BOTTOMCENTER",BOTTOMRIGHT:"BOTTOMRIGHT",MIDDLELEFT:"MIDDLELEFT",MIDDLECENTER:"MIDDLECENTER",MIDDLERIGHT:"MIDDLERIGHT"},g={NORMAL:"ALONG_LINE_NORMAL",LB_TO_RT:"LEFT_BOTTOM_TO_RIGHT_TOP",LT_TO_RB:"LEFT_TOP_TO_RIGHT_BOTTOM",RB_TO_LT:"RIGHT_BOTTOM_TO_LEFT_TOP",RT_TO_LB:"RIGHT_TOP_TO_LEFT_BOTTOM"},v={DIAMOND:"DIAMOND",ELLIPSE:"ELLIPSE",MARKER:"MARKER",NONE:"NONE",RECT:"RECT",ROUNDRECT:"ROUNDRECT",TRIANGLE:"TRIANGLE"},b={NEWLINE:"NEWLINE",NONE:"NONE",OMIT:"OMIT"},S={FLAT:"FLAT",ROUND:"ROUND"},x={CLIP:"CLIP",ERASE:"ERASE",IDENTITY:"IDENTITY",INTERSECT:"INTERSECT",UNION:"UNION",UPDATE:"UPDATE",XOR:"XOR"},_={INDEXEDHDFS:"INDEXEDHDFS",UDB:"UDB",MONGODB:"MONGODB",PG:"PG"},w={BSPLINE:"BSPLINE",POLISH:"POLISH"},C={ISOLINE:"ISOLINE",ISOREGION:"ISOREGION"},T={DATASET_AND_RECORDSET:"DATASET_AND_RECORDSET",DATASET_ONLY:"DATASET_ONLY",RECORDSET_ONLY:"RECORDSET_ONLY"},M={ADD:"add",UPDATE:"update",DELETE:"delete"},E={LESS_TIME:"LESS_TIME",LESS_TRANSFER:"LESS_TRANSFER",LESS_WALK:"LESS_WALK",MIN_DISTANCE:"MIN_DISTANCE"},A={BUS:"BUS",SUBWAY:"SUBWAY",NO_SUBWAY:"NO_SUBWAY",NONE:"NONE"},O={EXPONENTIAL:"EXPONENTIAL",GAUSSIAN:"GAUSSIAN",SPHERICAL:"SPHERICAL"},P={EXP1:"EXP1",EXP2:"EXP2"},L={IP:"IP",REFERER:"Referer",REQUESTIP:"RequestIP",NONE:"NONE",SERVER:"SERVER",WEB:"WEB"},I={CLIP:"clip",INTERSECT:"intersect"},N={SQUAREMETER:"SquareMeter",SQUAREKILOMETER:"SquareKiloMeter",HECTARE:"Hectare",ARE:"Are",ACRE:"Acre",SQUAREFOOT:"SquareFoot",SQUAREYARD:"SquareYard",SQUAREMILE:"SquareMile"},F={METER:"Meter",KILOMETER:"Kilometer",YARD:"Yard",FOOT:"Foot",MILE:"Mile"},k={MAX:"max",MIN:"min",AVERAGE:"average",SUM:"sum",VARIANCE:"variance",STDDEVIATION:"stdDeviation"},R={SUMMARYMESH:"SUMMARYMESH",SUMMARYREGION:"SUMMARYREGION"},D={REGIONNOOVERLAP:"REGIONNOOVERLAP",REGIONNOOVERLAPWITH:"REGIONNOOVERLAPWITH",REGIONCONTAINEDBYREGION:"REGIONCONTAINEDBYREGION",REGIONCOVEREDBYREGION:"REGIONCOVEREDBYREGION",LINENOOVERLAP:"LINENOOVERLAP",LINENOOVERLAPWITH:"LINENOOVERLAPWITH",POINTNOIDENTICAL:"POINTNOIDENTICAL"},G={GEOHASH_GRID:"geohash_grid"},B={AVG:"avg",MAX:"max",MIN:"min",SUM:"sum"},j={NDVI:"NDVI",HILLSHADE:"HILLSHADE"};class U{constructor(e,t){this.w=e?parseFloat(e):0,this.h=e?parseFloat(t):0,this.CLASS_NAME="SuperMap.Size"}toString(){return"w="+this.w+",h="+this.h}clone(){return new U(this.w,this.h)}equals(e){var t=!1;return null!=e&&(t=this.w===e.w&&this.h===e.h||isNaN(this.w)&&isNaN(this.h)&&isNaN(e.w)&&isNaN(e.h)),t}destroy(){this.w=null,this.h=null}}class V{constructor(e,t,r){this.x=e?parseFloat(e):0,this.y=t?parseFloat(t):0,this.mode=r,this.CLASS_NAME="SuperMap.Pixel"}toString(){return"x="+this.x+",y="+this.y}clone(){return new V(this.x,this.y,this.mode)}equals(e){var t=!1;return null!=e&&(t=this.x==e.x&&this.y==e.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(e.x)&&isNaN(e.y)),t}distanceTo(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))}add(e,t){if(null==e||null==t)throw new TypeError("Pixel.add cannot receive null values");return new V(this.x+e,this.y+t)}offset(e){var t=this.clone();return e&&(t=this.add(e.x,e.y)),t}destroy(){this.x=null,this.y=null,this.mode=null}}V.Mode={LeftTop:"lefttop",RightTop:"righttop",RightBottom:"rightbottom",LeftBottom:"leftbottom"};var z=function(...e){class t{constructor(t){for(var r=0;r<e.length;r++)i(this,new e[r](t))}}for(var r=0;r<e.length;r++){var s=e[r];i(t,s),i(t.prototype,s.prototype),i(t.prototype,new s)}return t;function i(e,t){var r=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t)));for(var s=0;s<r.length;s++){var i=r[s];if("constructor"!==i&&"prototype"!==i&&"name"!==i&&"length"!==i){let r=Object.getOwnPropertyDescriptor(t,i);window.ActiveXObject?Object.defineProperty(e,i,r||{}):Object.defineProperty(e,i,r)}}}},J={startsWith:function(e,t){return 0==e.indexOf(t)},contains:function(e,t){return-1!=e.indexOf(t)},trim:function(e){return e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},camelize:function(e){for(var t=e.split("-"),r=t[0],s=1,i=t.length;s<i;s++){var n=t[s];r+=n.charAt(0).toUpperCase()+n.substring(1)}return r},format:function(e,t,r){t||(t=window);return e.replace(J.tokenRegEx,function(e,s){for(var i,n=s.split(/\.+/),a=0;a<n.length;a++)0==a&&(i=t),i=i[n[a]];return"function"==typeof i&&(i=r?i.apply(null,r):i()),void 0===i?"undefined":i})},tokenRegEx:/\$\{([\w.]+?)\}/g,numberRegEx:/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/,isNumeric:function(e){return J.numberRegEx.test(e)},numericIf:function(e){return J.isNumeric(e)?parseFloat(e):e}},q={decimalSeparator:".",thousandsSeparator:",",limitSigDigs:function(e,t){var r=0;return t>0&&(r=parseFloat(e.toPrecision(t))),r},format:function(e,t,r,s){t=void 0!==t?t:0,r=void 0!==r?r:q.thousandsSeparator,s=void 0!==s?s:q.decimalSeparator,null!=t&&(e=parseFloat(e.toFixed(t)));var i=e.toString().split(".");1===i.length&&null==t&&(t=0);var n,a=i[0];if(r)for(var o=/(-?[0-9]+)([0-9]{3})/;o.test(a);)a=a.replace(o,"$1"+r+"$2");if(0==t)n=a;else{var l=i.length>1?i[1]:"0";null!=t&&(l+=new Array(t-l.length+1).join("0")),n=a+s+l}return n}};Number.prototype.limitSigDigs||(Number.prototype.limitSigDigs=function(e){return q.limitSigDigs(this,e)});var H={bind:function(e,t){var r=Array.prototype.slice.apply(arguments,[2]);return function(){var s=r.concat(Array.prototype.slice.apply(arguments,[0]));return e.apply(t,s)}},bindAsEventListener:function(e,t){return function(r){return e.call(t,r||window.event)}},False:function(){return!1},True:function(){return!0},Void:function(){}},W={filter:function(e,t,r){var s=[];if(Array.prototype.filter)s=e.filter(t,r);else{var i=e.length;if("function"!=typeof t)throw new TypeError;for(var n=0;n<i;n++)if(n in e){var a=e[n];t.call(r,a,n,e)&&s.push(a)}}return s}};class Y{constructor(){this.CLASS_NAME="SuperMap.Geometry",this.id=$.createUniqueID(this.CLASS_NAME+"_"),this.parent=null,this.bounds=null,this.SRID=null}destroy(){this.id=null,this.bounds=null,this.SRID=null}clone(){return new Y}setBounds(e){e&&(this.bounds=e.clone())}clearBounds(){this.bounds=null,this.parent&&this.parent.clearBounds()}extendBounds(e){this.getBounds()?this.bounds.extend(e):this.setBounds(e)}getBounds(){return null==this.bounds&&this.calculateBounds(),this.bounds}calculateBounds(){}getVertices(e){}getArea(){return 0}}const X=function(){var e,t="",r="",s="pc",i=navigator.userAgent.toLowerCase();return i.indexOf("msie")>-1||i.indexOf("trident")>-1&&i.indexOf("rv")>-1?(t="msie",e=i.match(/msie ([\d.]+)/)||i.match(/rv:([\d.]+)/)):i.indexOf("chrome")>-1?(t="chrome",e=i.match(/chrome\/([\d.]+)/)):i.indexOf("firefox")>-1?(t="firefox",e=i.match(/firefox\/([\d.]+)/)):i.indexOf("opera")>-1?(t="opera",e=i.match(/version\/([\d.]+)/)):i.indexOf("safari")>-1&&(t="safari",e=i.match(/version\/([\d.]+)/)),r=e?e[1]:"",i.indexOf("ipad")>-1||i.indexOf("ipod")>-1||i.indexOf("iphone")>-1?s="apple":i.indexOf("android")>-1&&(r=(e=i.match(/version\/([\d.]+)/))?e[1]:"",s="android"),{name:t,version:r,device:s}}(),Q=function(){var e=!0,t=X;return document.createElement("canvas").getContext?("firefox"===t.name&&parseFloat(t.version)<5&&(e=!1),"safari"===t.name&&parseFloat(t.version)<4&&(e=!1),"opera"===t.name&&parseFloat(t.version)<10&&(e=!1),"msie"===t.name&&parseFloat(t.version)<9&&(e=!1)):e=!1,e}(),Z=function(){var e=navigator.userAgent.toLowerCase();return-1===e.indexOf("webkit")&&-1!==e.indexOf("gecko")}(),K=96,$={extend:function(e,t){if(e=e||{},t){for(var r in t){var s=t[r];void 0!==s&&(e[r]=s)}!("function"==typeof window.Event&&t instanceof window.Event)&&t.hasOwnProperty&&t.hasOwnProperty("toString")&&(e.toString=t.toString)}return e},copy:function(e,t){var r;if(e=e||{},t)for(var s in e)void 0!==(r=t[s])&&(e[s]=r)},reset:function(e){for(var t in e=e||{})if(e.hasOwnProperty(t)){if("object"==typeof e[t]&&e[t]instanceof Array){for(var r in e[t])e[t][r].destroy&&e[t][r].destroy();e[t].length=0}else"object"==typeof e[t]&&e[t]instanceof Object&&e[t].destroy&&e[t].destroy();e[t]=null}},getElement:function(){for(var e=[],t=0,r=arguments.length;t<r;t++){var s=arguments[t];if("string"==typeof s&&(s=document.getElementById(s)),1===arguments.length)return s;e.push(s)}return e},isElement:function(e){return!(!e||1!==e.nodeType)},isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},removeItem:function(e,t){for(var r=e.length-1;r>=0;r--)e[r]===t&&e.splice(r,1);return e},indexOf:function(e,t){if(null==e)return-1;if("function"==typeof e.indexOf)return e.indexOf(t);for(var r=0,s=e.length;r<s;r++)if(e[r]===t)return r;return-1},modifyDOMElement:function(e,t,r,s,i,n,a,o){t&&(e.id=t),r&&(e.style.left=r.x+"px",e.style.top=r.y+"px"),s&&(e.style.width=s.w+"px",e.style.height=s.h+"px"),i&&(e.style.position=i),n&&(e.style.border=n),a&&(e.style.overflow=a),parseFloat(o)>=0&&parseFloat(o)<1?(e.style.filter="alpha(opacity="+100*o+")",e.style.opacity=o):1===parseFloat(o)&&(e.style.filter="",e.style.opacity="")},applyDefaults:function(e,t){e=e||{};var r="function"==typeof window.Event&&t instanceof window.Event;for(var s in t)(void 0===e[s]||!r&&t.hasOwnProperty&&t.hasOwnProperty(s)&&!e.hasOwnProperty(s))&&(e[s]=t[s]);return!r&&t&&t.hasOwnProperty&&t.hasOwnProperty("toString")&&!e.hasOwnProperty("toString")&&(e.toString=t.toString),e},getParameterString:function(e){var t=[];for(var r in e){var s,i=e[r];if(null!=i&&"function"!=typeof i)s=Array.isArray(i)||"[object Object]"===i.toString()?encodeURIComponent(JSON.stringify(i)):encodeURIComponent(i),t.push(encodeURIComponent(r)+"="+s)}return t.join("&")},urlAppend:function(e,t){var r=e;if(t){0===t.indexOf("?")&&(t=t.substring(1));var s=(e+" ").split(/[?&]/);r+=" "===s.pop()?t:s.length?"&"+t:"?"+t}return r},urlPathAppend:function(e,t){let r=e;if(!t)return r;0===t.indexOf("/")&&(t=t.substring(1));const s=e.split("?");return s[0].indexOf("/",s[0].length-1)<0&&(s[0]+="/"),r=`${s[0]}${t}${s.length>1?`?${s[1]}`:""}`},DEFAULT_PRECISION:14,toFloat:function(e,t){return null==t&&(t=$.DEFAULT_PRECISION),"number"!=typeof e&&(e=parseFloat(e)),0===t?e:parseFloat(e.toPrecision(t))},rad:function(e){return e*Math.PI/180},getParameters:function(e){e=null===e||void 0===e?window.location.href:e;var t="";if(J.contains(e,"?")){var r=e.indexOf("?")+1,s=J.contains(e,"#")?e.indexOf("#"):e.length;t=e.substring(r,s)}for(var i={},n=t.split(/[&;]/),a=0,o=n.length;a<o;++a){var l=n[a].split("=");if(l[0]){var h=l[0];try{h=decodeURIComponent(h)}catch(e){h=unescape(h)}var u=(l[1]||"").replace(/\+/g," ");try{u=decodeURIComponent(u)}catch(e){u=unescape(u)}1==(u=u.split(",")).length&&(u=u[0]),i[h]=u}}return i},lastSeqID:0,createUniqueID:function(e){return null==e&&(e="id_"),$.lastSeqID+=1,e+$.lastSeqID},normalizeScale:function(e){return e>1?1/e:e},getResolutionFromScale:function(e,t){var r;e&&(null==t&&(t="degrees"),r=1/($.normalizeScale(e)*ee[t]*K));return r},getScaleFromResolution:function(e,t){return null==t&&(t="degrees"),e*ee[t]*K},getBrowser:function(){return X},isSupportCanvas:Q,supportCanvas:function(){return $.isSupportCanvas},isInTheSameDomain:function(e){if(!e)return!0;var t=e.indexOf("//"),r=document.location.toString(),s=r.indexOf("//");if(-1===t)return!0;var i,n=i=e.substring(0,t),a=r.substring(s+2);s=a.indexOf("/");var o=a.indexOf(":"),l=a.substring(0,s),h=document.location.protocol;if(-1!==o||(l+=":"+("http:"===h.toLowerCase()?80:443)),h.toLowerCase()!==n.toLowerCase())return!1;var u=(n=e.substring(t+2)).indexOf(":");t=n.indexOf("/");var c,d=n.substring(0,t);return-1!==u?c=n.substring(0,u):(c=n.substring(0,t),d+=":"+("http:"===i.toLowerCase()?80:443)),c===document.domain&&d===l},calculateDpi:function(e,t,r,s,i){if(e&&t&&r){var n,a=e.getWidth(),o=e.getHeight(),l=t.w,h=t.h;if(i=i||6378137,"degree"===(s=s||"degrees").toLowerCase()||"degrees"===s.toLowerCase()||"dd"===s.toLowerCase()){let e=a/l,t=o/h;n=254/(e>t?e:t)/r/(2*Math.PI*i/360)/1e4}else{n=254/(a/l)/r/1e4}return n}},toJSON:function(e){var t=e;if(null==t)return null;switch(t.constructor){case String:return t=(t=(t=(t=(t=(t=(t='"'+t.replace(/(["\\])/g,"\\$1")+'"').replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace("<","&lt;")).replace(">","&gt;")).replace(/%/g,"%25")).replace(/&/g,"%26");case Array:for(var r="",s=0,i=t.length;s<i;s++)r+=$.toJSON(t[s]),s!==t.length-1&&(r+=",");return"["+r+"]";case Number:return isFinite(t)?String(t):null;case Boolean:return String(t);case Date:return"{'__type':\"System.DateTime\",'Year':"+t.getFullYear()+",'Month':"+(t.getMonth()+1)+",'Day':"+t.getDate()+",'Hour':"+t.getHours()+",'Minute':"+t.getMinutes()+",'Second':"+t.getSeconds()+",'Millisecond':"+t.getMilliseconds()+",'TimezoneOffset':"+t.getTimezoneOffset()+"}";default:if(null!=t.toJSON&&"function"==typeof t.toJSON)return t.toJSON();if("object"==typeof t){if(t.length){let e=[];for(let r=0,s=t.length;r<s;r++)e.push($.toJSON(t[r]));return"["+e.join(",")+"]"}let e=[];for(let r in t)"function"!=typeof t[r]&&"CLASS_NAME"!==r&&"parent"!==r&&e.push("'"+r+"':"+$.toJSON(t[r]));return e.length>0?"{"+e.join(",")+"}":"{}"}return t.toString()}},getResolutionFromScaleDpi:function(e,t,r,s){return s=s||6378137,r=r||"",e>0&&t>0?(e=$.normalizeScale(e),"degree"===r.toLowerCase()||"degrees"===r.toLowerCase()||"dd"===r.toLowerCase()?254/t/e/(2*Math.PI*s/360)/1e4:254/t/e/1e4):-1},getScaleFromResolutionDpi:function(e,t,r,s){return s=s||6378137,r=r||"",e>0&&t>0?"degree"===r.toLowerCase()||"degrees"===r.toLowerCase()||"dd"===r.toLowerCase()?254/t/e/(2*Math.PI*s/360)/1e4:254/t/e/1e4:-1},transformResult:function(e){return e.responseText&&"string"==typeof e.responseText&&(e=JSON.parse(e.responseText)),e},copyAttributes:function(e,t){if(e=e||{},t)for(var r in t){var s=t[r];void 0!==s&&"CLASS_NAME"!==r&&"function"!=typeof s&&(e[r]=s)}return e},copyAttributesWithClip:function(e,t,r){if(e=e||{},t)for(var s in t){var i=!1;if(r&&r.length)for(var n=0,a=r.length;n<a;n++)if(s===r[n]){i=!0;break}if(!0!==i){var o=t[s];void 0!==o&&"CLASS_NAME"!==s&&"function"!=typeof o&&(e[s]=o)}}return e},cloneObject:function(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date){let t=new Date;return t.setTime(e.getTime()),t}if(e instanceof Array){return e.slice(0)}if(e instanceof Object){let r={};for(var t in e)e.hasOwnProperty(t)&&(r[t]=$.cloneObject(e[t]));return r}throw new Error("Unable to copy obj! Its type isn't supported.")},lineIntersection:function(e,t,r,s){var i,n,a=null,o=(s.x-r.x)*(e.y-r.y)-(s.y-r.y)*(e.x-r.x),l=(t.x-e.x)*(e.y-r.y)-(t.y-e.y)*(e.x-r.x),h=(s.y-r.y)*(t.x-e.x)-(s.x-r.x)*(t.y-e.y);if(0!=h)n=l/h,a=(i=o/h)>=0&&n<=1&&i<=1&&n>=0?new Y.Point(e.x+i*(t.x-e.x),e.y+i*(t.y-e.y)):"No Intersection";else if(0==o&&0==l){var u=Math.max(e.y,t.y),c=Math.min(e.y,t.y),d=Math.max(e.x,t.x),p=Math.min(e.x,t.x);a=(r.y>=c&&r.y<=u||s.y>=c&&s.y<=u)&&r.x>=p&&r.x<=d||s.x>=p&&s.x<=d?"Coincident":"Parallel"}else a="Parallel";return a},getTextBounds:function(e,t,r){document.body.appendChild(r),r.style.width="auto",r.style.height="auto",e.fontSize&&(r.style.fontSize=e.fontSize),e.fontFamily&&(r.style.fontFamily=e.fontFamily),e.fontWeight&&(r.style.fontWeight=e.fontWeight),r.style.position="relative",r.style.visibility="hidden",r.style.display="inline-block",r.innerHTML=t;var s=r.clientWidth,i=r.clientHeight;return document.body.removeChild(r),{textWidth:s,textHeight:i}},convertPath:function(e,t){return t?e.replace(/\{([\w-\.]+)\}/g,(e,r)=>{var s;return s=t.hasOwnProperty(r)?function(e){if(void 0==e||null==e)return"";if(e instanceof Date)return e.toJSON();if(function(e){if("string"!=typeof e&&"object"!=typeof e)return!1;try{const t=e.toString();return"[object Object]"===t||"[object Array]"===t}catch(e){return!1}}(e))return JSON.stringify(e);return e.toString()}(t[r]):e,encodeURIComponent(s)}):e}},ee={inches:1,ft:12,mi:63360,m:39.3701,km:39370.1,dd:4374754,yd:36};ee.in=ee.inches,ee.degrees=ee.dd,ee.nmi=1852*ee.m;const te=.0254000508001016;$.extend(ee,{Inch:ee.inches,Meter:39.37,Foot:12,IFoot:11.999976,ClarkeFoot:11.999868327581488,SearsFoot:11.999955194477684,GoldCoastFoot:11.999964589846002,IInch:.9999979999999999,MicroInch:999998e-9,Mil:9.99998e-7,Centimeter:.3937,Kilometer:39370,Yard:36,SearsYard:35.99986558343306,IndianYard:35.99987015540864,IndianYd37:35.999740205100004,IndianYd62:35.999880755999996,IndianYd75:35.999868945,IndianFoot:11.9999567087,IndianFt37:11.9999134017,IndianFt62:11.999960252000001,IndianFt75:11.999956315,Mile:63360,IYard:35.999928,IMile:63359.87328,NautM:72913.24,"Lat-66":4367838.370169282,"Lat-83":4367954.152606599,Decimeter:3.9370000000000003,Millimeter:.03937,Dekameter:393.7,Decameter:393.7,Hectometer:3937,GermanMeter:39.370535294205006,CaGrid:39.359685060000004,ClarkeChain:791.991309620512,GunterChain:792.0000000000001,BenoitChain:791.9977268035781,SearsChain:791.9970428354235,ClarkeLink:7.91991309620512,GunterLink:7.920000000000001,BenoitLink:7.919977268035781,SearsLink:7.919970428354236,Rod:198.00000000000014,IntnlChain:791.998416,IntnlLink:7.91998416,Perch:198.00000000000014,Pole:198.00000000000014,Furlong:7919.999999999997,Rood:148.75036777426,CapeFoot:11.999868185255002,Brealey:14763.75,ModAmFt:12.000458400000001,Fathom:71.999856,"NautM-UK":72959.85408,"50kilometers":1968500,"150kilometers":5905500}),$.extend(ee,{mm:ee.Meter/1e3,cm:ee.Meter/100,dm:100*ee.Meter,km:1e3*ee.Meter,kmi:ee.nmi,fath:ee.Fathom,ch:ee.IntnlChain,link:ee.IntnlLink,"us-in":ee.inches,"us-ft":ee.Foot,"us-yd":ee.Yard,"us-ch":ee.GunterChain,"us-mi":ee.Mile,"ind-yd":ee.IndianYd37,"ind-ft":ee.IndianFt37,"ind-ch":791.9942845122}),ee.degree=ee.dd,ee.meter=ee.m,ee.foot=ee.ft,ee.inch=ee.inches,ee.mile=ee.mi,ee.kilometer=ee.km,ee.yard=ee.yd;class re{constructor(e,t){$.isArray(e)&&(t=e[1],e=e[0]),this.lon=e?$.toFloat(e):0,this.lat=t?$.toFloat(t):0,this.CLASS_NAME="SuperMap.LonLat"}toString(){return"lon="+this.lon+",lat="+this.lat}toShortString(){return this.lon+","+this.lat}clone(){return new re(this.lon,this.lat)}add(e,t){if(null==e||null==t)throw new TypeError("LonLat.add cannot receive null values");return new re(this.lon+$.toFloat(e),this.lat+$.toFloat(t))}equals(e){var t=!1;return null!=e&&(t=this.lon===e.lon&&this.lat===e.lat||isNaN(this.lon)&&isNaN(this.lat)&&isNaN(e.lon)&&isNaN(e.lat)),t}wrapDateLine(e){var t=this.clone();if(e){for(;t.lon<e.left;)t.lon+=e.getWidth();for(;t.lon>e.right;)t.lon-=e.getWidth()}return t}destroy(){this.lon=null,this.lat=null}static fromString(e){var t=e.split(",");return new re(t[0],t[1])}static fromArray(e){var t=$.isArray(e),r=t&&e[0],s=t&&e[1];return new re(r,s)}}class se{constructor(e,t,r,s){$.isArray(e)&&(s=e[3],r=e[2],t=e[1],e=e[0]),this.left=null!=e?$.toFloat(e):this.left,this.bottom=null!=t?$.toFloat(t):this.bottom,this.right=null!=r?$.toFloat(r):this.right,this.top=null!=s?$.toFloat(s):this.top,this.centerLonLat=null,this.CLASS_NAME="SuperMap.Bounds"}clone(){return new se(this.left,this.bottom,this.right,this.top)}equals(e){var t=!1;return null!=e&&(t=this.left===e.left&&this.right===e.right&&this.top===e.top&&this.bottom===e.bottom),t}toString(){return[this.left,this.bottom,this.right,this.top].join(",")}toArray(e){return!0===e?[this.bottom,this.left,this.top,this.right]:[this.left,this.bottom,this.right,this.top]}toBBOX(e,t){null==e&&(e=6);var r=Math.pow(10,e),s=Math.round(this.left*r)/r,i=Math.round(this.bottom*r)/r,n=Math.round(this.right*r)/r,a=Math.round(this.top*r)/r;return!0===t?i+","+s+","+a+","+n:s+","+i+","+n+","+a}getWidth(){return this.right-this.left}getHeight(){return this.top-this.bottom}getSize(){return new U(this.getWidth(),this.getHeight())}getCenterPixel(){return new V((this.left+this.right)/2,(this.bottom+this.top)/2)}getCenterLonLat(){return this.centerLonLat||(this.centerLonLat=new re((this.left+this.right)/2,(this.bottom+this.top)/2)),this.centerLonLat}scale(e,t){var r,s;e=e||1,null==t&&(t=this.getCenterLonLat()),"SuperMap.LonLat"===t.CLASS_NAME?(r=t.lon,s=t.lat):(r=t.x,s=t.y);var i=(this.left-r)*e+r,n=(this.bottom-s)*e+s,a=(this.right-r)*e+r,o=(this.top-s)*e+s;return new se(i,n,a,o)}add(e,t){if(null==e||null==t)throw new TypeError("Bounds.add cannot receive null values");return new se(this.left+e,this.bottom+t,this.right+e,this.top+t)}extend(e){var t=null;if(e){switch(e.CLASS_NAME){case"SuperMap.LonLat":t=new se(e.lon,e.lat,e.lon,e.lat);break;case"SuperMap.Geometry.Point":t=new se(e.x,e.y,e.x,e.y);break;case"SuperMap.Bounds":t=e}t&&(this.centerLonLat=null,(null==this.left||t.left<this.left)&&(this.left=t.left),(null==this.bottom||t.bottom<this.bottom)&&(this.bottom=t.bottom),(null==this.right||t.right>this.right)&&(this.right=t.right),(null==this.top||t.top>this.top)&&(this.top=t.top))}}containsLonLat(e,t){"boolean"==typeof t&&(t={inclusive:t}),t=t||{};var r=this.contains(e.lon,e.lat,t.inclusive),s=t.worldBounds;if(s&&!r){var i=s.getWidth(),n=(s.left+s.right)/2,a=Math.round((e.lon-n)/i);r=this.containsLonLat({lon:e.lon-a*i,lat:e.lat},{inclusive:t.inclusive})}return r}containsPixel(e,t){return this.contains(e.x,e.y,t)}contains(e,t,r){if(null==r&&(r=!0),null==e||null==t)return!1;return r?e>=this.left&&e<=this.right&&t>=this.bottom&&t<=this.top:e>this.left&&e<this.right&&t>this.bottom&&t<this.top}intersectsBounds(e,t){if("boolean"==typeof t&&(t={inclusive:t}),(t=t||{}).worldBounds){var r=this.wrapDateLine(t.worldBounds);e=e.wrapDateLine(t.worldBounds)}else r=this;null==t.inclusive&&(t.inclusive=!0);var s=!1,i=r.left===e.right||r.right===e.left||r.top===e.bottom||r.bottom===e.top;if(t.inclusive||!i){var n=e.bottom>=r.bottom&&e.bottom<=r.top||r.bottom>=e.bottom&&r.bottom<=e.top,a=e.top>=r.bottom&&e.top<=r.top||r.top>e.bottom&&r.top<e.top,o=e.left>=r.left&&e.left<=r.right||r.left>=e.left&&r.left<=e.right,l=e.right>=r.left&&e.right<=r.right||r.right>=e.left&&r.right<=e.right;s=(n||a)&&(o||l)}if(t.worldBounds&&!s){var h=t.worldBounds,u=h.getWidth(),c=!h.containsBounds(r),d=!h.containsBounds(e);c&&!d?(e=e.add(-u,0),s=r.intersectsBounds(e,{inclusive:t.inclusive})):d&&!c&&(r=r.add(-u,0),s=e.intersectsBounds(r,{inclusive:t.inclusive}))}return s}containsBounds(e,t,r){null==t&&(t=!1),null==r&&(r=!0);var s=this.contains(e.left,e.bottom,r),i=this.contains(e.right,e.bottom,r),n=this.contains(e.left,e.top,r),a=this.contains(e.right,e.top,r);return t?s||i||n||a:s&&i&&n&&a}determineQuadrant(e){var t="",r=this.getCenterLonLat();return t+=e.lat<r.lat?"b":"t",t+=e.lon<r.lon?"l":"r"}wrapDateLine(e,t){var r=(t=t||{}).leftTolerance||0,s=t.rightTolerance||0,i=this.clone();if(e){for(var n=e.getWidth();i.left<e.left&&i.right-s<=e.left;)i=i.add(n,0);for(;i.left+r>=e.right&&i.right>e.right;)i=i.add(-n,0);var a=i.left+r;a<e.right&&a>e.left&&i.right-s>e.right&&(i=i.add(-n,0))}return i}toServerJSONObject(){return{rightTop:{x:this.right,y:this.top},leftBottom:{x:this.left,y:this.bottom},left:this.left,right:this.right,top:this.top,bottom:this.bottom}}destroy(){this.left=null,this.right=null,this.top=null,this.bottom=null,this.centerLonLat=null}static fromString(e,t){var r=e.split(",");return se.fromArray(r,t)}static fromArray(e,t){return!0===t?new se(e[1],e[0],e[3],e[2]):new se(e[0],e[1],e[2],e[3])}static fromSize(e){return new se(0,e.h,e.w,0)}static oppositeQuadrant(e){var t="";return t+="t"===e.charAt(0)?"b":"t",t+="l"===e.charAt(1)?"r":"l"}}class ie extends Y{constructor(e){super(),this.components=[],this.componentTypes=null,null!=e&&this.addComponents(e),this.CLASS_NAME="SuperMap.Geometry.Collection",this.geometryType="Collection"}destroy(){this.components.length=0,this.components=null,super.destroy()}clone(){for(var e=new ie,t=0,r=this.components.length;t<r;t++)e.addComponent(this.components[t].clone());return $.applyDefaults(e,this),e}getComponentsString(){for(var e=[],t=0,r=this.components.length;t<r;t++)e.push(this.components[t].toShortString());return e.join(",")}calculateBounds(){this.bounds=null;var e=new se,t=this.components;if(t)for(var r=0,s=t.length;r<s;r++)e.extend(t[r].getBounds());null!=e.left&&null!=e.bottom&&null!=e.right&&null!=e.top&&this.setBounds(e)}addComponents(e){$.isArray(e)||(e=[e]);for(var t=0,r=e.length;t<r;t++)this.addComponent(e[t])}addComponent(e,t){var r=!1;if(e&&(null==this.componentTypes||$.indexOf(this.componentTypes,e.CLASS_NAME)>-1)){if(null!=t&&t<this.components.length){var s=this.components.slice(0,t),i=this.components.slice(t,this.components.length);s.push(e),this.components=s.concat(i)}else this.components.push(e);e.parent=this,this.clearBounds(),r=!0}return r}removeComponents(e){var t=!1;$.isArray(e)||(e=[e]);for(var r=e.length-1;r>=0;--r)t=this.removeComponent(e[r])||t;return t}removeComponent(e){return $.removeItem(this.components,e),this.clearBounds(),!0}getArea(){for(var e=0,t=0,r=this.components.length;t<r;t++)e+=this.components[t].getArea();return e}equals(e){var t=!0;if(e&&e.CLASS_NAME&&this.CLASS_NAME===e.CLASS_NAME)if($.isArray(e.components)&&e.components.length===this.components.length){for(var r=0,s=this.components.length;r<s;++r)if(!this.components[r].equals(e.components[r])){t=!1;break}}else t=!1;else t=!1;return t}getVertices(e){for(var t=[],r=0,s=this.components.length;r<s;++r)Array.prototype.push.apply(t,this.components[r].getVertices(e));return t}}class ne extends ie{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.Point"],this.CLASS_NAME="SuperMap.Geometry.MultiPoint",this.geometryType="MultiPoint"}addPoint(e,t){this.addComponent(e,t)}removePoint(e){this.removeComponent(e)}}class ae extends ne{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.Point","SuperMap.PointWithMeasure"],this.CLASS_NAME="SuperMap.Geometry.Curve",this.geometryType="Curve"}}class oe extends Y{constructor(e,t,r,s){super(e,t,r,s),this.x=parseFloat(e),this.y=parseFloat(t),this.tag=s||0==s?parseFloat(s):null,this.type=r||"Point",this.CLASS_NAME="SuperMap.Geometry.Point",this.geometryType="Point"}clone(e){return null==e&&(e=new oe(this.x,this.y)),$.applyDefaults(e,this),e}calculateBounds(){this.bounds=new se(this.x,this.y,this.x,this.y)}equals(e){var t=!1;return null!=e&&(t=this.x===e.x&&this.y===e.y||isNaN(this.x)&&isNaN(this.y)&&isNaN(e.x)&&isNaN(e.y)),t}move(e,t){this.x=this.x+e,this.y=this.y+t,this.clearBounds()}toShortString(){return this.x+", "+this.y}destroy(){this.x=null,this.y=null,this.tag=null,super.destroy()}getVertices(){return[this]}}class le extends ae{constructor(e){super(e),this.CLASS_NAME="SuperMap.Geometry.LineString",this.geometryType="LineString"}removeComponent(e){var t=this.components&&this.components.length>2;return t&&super.removeComponent.apply(this,arguments),t}getSortedSegments(){for(var e,t,r=this.components.length-1,s=new Array(r),i=0;i<r;++i)e=this.components[i],t=this.components[i+1],e.x<t.x?s[i]={x1:e.x,y1:e.y,x2:t.x,y2:t.y}:s[i]={x1:t.x,y1:t.y,x2:e.x,y2:e.y};return s.sort(function(e,t){return e.x1-t.x1})}getVertices(e){return!0===e?[this.components[0],this.components[this.components.length-1]]:!1===e?this.components.slice(1,this.components.length-1):this.components.slice()}static calculateCircle(e){if(e.length<3)return e;var t={},r=e[0],s=e[1],i=e[2],n=0,a=0,o=!0,l=0,h=0,u=0,c=[],d=(i.y-r.y)/(i.x-r.x),p=i.y-d*i.x;if(i.x!=r.x&&i.y!=r.y&&s.y==d*s.x+p||i.x==r.x&&s.x==r.x||i.y==r.y&&s.y==r.y||i.x==r.x&&i.y==r.y||i.x==s.x&&i.y==s.y||r.x==s.x&&r.y==s.y)c.push(r),c.push(s),c.push(i);else{var f=(s.x*s.x+s.y*s.y-(r.x*r.x+r.y*r.y))*(2*(i.y-r.y))-(i.x*i.x+i.y*i.y-(r.x*r.x+r.y*r.y))*(2*(s.y-r.y)),m=2*(s.x-r.x)*(i.x*i.x+i.y*i.y-(r.x*r.x+r.y*r.y))-2*(i.x-r.x)*(s.x*s.x+s.y*s.y-(r.x*r.x+r.y*r.y)),y=4*((s.x-r.x)*(i.y-r.y)-(i.x-r.x)*(s.y-r.y));t.x=f/y,t.y=m/y;var g=(2*(n=Math.sqrt((r.x-t.x)*(r.x-t.x)+(r.y-t.y)*(r.y-t.y)))*n-((r.x-i.x)*(r.x-i.x)+(r.y-i.y)*(r.y-i.y)))/(2*n*n);g=(g=g>=1?1:g)<=-1?-1:g,u=180*Math.acos(g)/Math.PI,a=(u=i.x==r.x?t.x>r.x&&s.x>r.x||t.x<r.x&&s.x<r.x?360-u:u:t.y>d*t.x+p&&s.y>d*s.x+p||t.y<d*t.x+p&&s.y<d*s.x+p?360-u:u)/72,i.y!=r.y?i.x==r.x?i.y>r.y?s.x<r.x&&(o=!1):s.x>r.x&&(o=!1):i.x<r.x?s.y<d*s.x+p&&(o=!1):s.y>d*s.x+p&&(o=!1):i.x>r.x?s.y>r.y&&(o=!1):s.y<r.y&&(o=!1);var v=(r.y-t.y)/(r.x-t.x),b=v>=0?180*Math.atan(v)/Math.PI:Math.abs(180*Math.atan(v)/Math.PI)+90,S=Math.abs(t.y);r.y==S&&S==i.y&&r.x<i.x&&(b+=180);var x=r.y-t.y;c.push(r);for(var _=1;_<72;_++){l=a*_,h=b,o?x>=0?v>=0?h+=l:h=180-(h-90)+l:h=v>0?h-180+l:90-h+l:x>=0?v>=0?h-=l:h=180-(h-90)-l:h=v>=0?h-180-l:90-h-l,h=h*Math.PI/180;var w=t.x+n*Math.cos(h),C=t.y+n*Math.sin(h);c.push(new oe(w,C))}c.push(i)}return c}static createLineEPS(e){var t=[],r=e.length;if(r<2)return e;for(var s=0;s<r;){if("LTypeArc"==e[s].type){var i=le.createLineArc(t,s,r,e);t=i[0],s=i[1]}else t.push(e[s]),s++}return t}static createLineArc(e,t,r,s){if(0==t){let i=le.addPointEPS(s,t,r,"LTypeArc");Array.prototype.push.apply(e,i[0]),t=i[1]+1}else if(t==r-1){var i=[s[t-1],s[t]],n=le.calculateCircle(i);Array.prototype.push.apply(e,n),t++}else{let i=le.addPointEPS(s,t,r,"LTypeArc");e.pop(),Array.prototype.push.apply(e,i[0]),t=i[1]+1}return[e,t]}static addPointEPS(e,t,r,s){var i,n=[],a=t+1;return 0==t?Array.prototype.push.apply(n,[e[t],e[t+1]]):t==r-1?Array.prototype.push.apply(n,[e[t-1],e[t]]):Array.prototype.push.apply(n,[e[t-1],e[t],e[t+1]]),"LTypeCurve"==s?i=le.calculatePointsFBZN(n):"LTypeArc"==s&&(i=le.calculateCircle(n)),[i,a]}}class he extends Y{constructor(e,t,r){super(e,t,r),this.x=parseFloat(e),this.y=parseFloat(t),this.text=r.toString(),this.bsInfo={h:null,w:null},this.element=document.createElement("span"),this.CLASS_NAME="SuperMap.Geometry.GeoText",this.geometryType="GeoText"}destroy(){super.destroy(),this.x=null,this.y=null,this.text=null}getCentroid(){return new oe(this.x,this.y)}clone(e){return null==e&&(e=new he(this.x,this.y,this.text)),$.applyDefaults(e,this),e}calculateBounds(){this.bounds=new se(this.x,this.y,this.x,this.y)}getLabelPxBoundsByLabel(e,t,r,s){var i,n,a,o,l=$.cloneObject(e),h=(s.label||this.text).split("\n").length;if(t=parseFloat(t),r=parseFloat(r),h>1&&(r=parseFloat(r)*h),s.labelAlign&&"cm"!==s.labelAlign)switch(s.labelAlign){case"lt":l.x+=t/2,l.y+=r/2;break;case"lm":l.x+=t/2;break;case"lb":l.x+=t/2,l.y-=r/2;break;case"ct":l.y+=r/2;break;case"cb":l.y-=r/2;break;case"rt":l.x-=t/2,l.y+=r/2;break;case"rm":l.x-=t/2;break;case"rb":l.x-=t/2,l.y-=r/2}return this.bsInfo.h=r,this.bsInfo.w=t,i=l.x-parseFloat(t)/2,n=l.y+parseFloat(r)/2,o=l.x+parseFloat(t)/2,a=l.y-parseFloat(r)/2,new se(i,n,o,a)}getLabelPxBoundsByText(e,t){var r,s,i,n,a=this.getLabelPxSize(t),o=$.cloneObject(e);if(t.labelAlign&&"cm"!==t.labelAlign)switch(t.labelAlign){case"lt":o.x+=a.w/2,o.y+=a.h/2;break;case"lm":o.x+=a.w/2;break;case"lb":o.x+=a.w/2,o.y-=a.h/2;break;case"ct":o.y+=a.h/2;break;case"cb":o.y-=a.h/2;break;case"rt":o.x-=a.w/2,o.y+=a.h/2;break;case"rm":o.x-=a.w/2;break;case"rb":o.x-=a.w/2,o.y-=a.h/2}return this.bsInfo.h=a.h,this.bsInfo.w=a.w,r=o.x-a.w/2,s=o.y+a.h/2,n=t.fontStyle&&"italic"===t.fontStyle?o.x+a.w/2+parseInt(parseFloat(t.fontSize)/2):o.x+a.w/2,i=o.y-a.h/2,new se(r,s,n,i)}getLabelPxSize(e){var t,r,s,i,n=parseFloat(e.strokeWidth);t=e.label||this.text,r=e.fontSize?parseFloat(e.fontSize):parseFloat("12px");var a=t.split("\n"),o=a.length;i=o>1?r*o+o+n+.2*r:r+n+.2*r+1,s=0,this.labelWTmp&&s<this.labelWTmp&&(s=this.labelWTmp);for(var l=0;l<o;l++){var h=this.getTextCount(a[l]),u=this.labelWTmp=$.getTextBounds(e,a[l],this.element).textWidth+1*h.textC+n;s<u&&(s=u)}var c=new Object;return c.h=i,c.w=s,c}getTextCount(e){for(var t={},r=0,s=0,i=0;i<e.length;i++)e.charCodeAt(i)>255?r++:s++;return t.cnC=r,t.enC=s,t.textC=e.length,t}}class ue extends le{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.Point"],this.CLASS_NAME="SuperMap.Geometry.LinearRing",this.geometryType="LinearRing"}addComponent(e,t){var r=!1,s=this.components.pop();null==t&&e.equals(s)||(r=super.addComponent.apply(this,arguments));var i=this.components[0];return super.addComponent.apply(this,[i]),r}removeComponent(e){var t=this.components&&this.components.length>3;if(t){this.components.pop(),super.removeComponent.apply(this,arguments);var r=this.components[0];super.addComponent.apply(this,[r])}return t}getArea(){var e=0;if(this.components&&this.components.length>2){for(var t=0,r=0,s=this.components.length;r<s-1;r++){var i=this.components[r],n=this.components[r+1];t+=(i.x+n.x)*(n.y-i.y)}e=-t/2}return e}getVertices(e){return!0===e?[]:this.components.slice(0,this.components.length-1)}}class ce extends ie{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.LineString"],this.CLASS_NAME="SuperMap.Geometry.MultiLineString",this.geometryType="MultiLineString"}}class de extends ie{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.Polygon"],this.CLASS_NAME="SuperMap.Geometry.MultiPolygon",this.geometryType="MultiPolygon"}}class pe extends ie{constructor(e){super(e),this.componentTypes=["SuperMap.Geometry.LinearRing"],this.CLASS_NAME="SuperMap.Geometry.Polygon",this.geometryType="Polygon"}getArea(){var e=0;if(this.components&&this.components.length>0){e+=Math.abs(this.components[0].getArea());for(var t=1,r=this.components.length;t<r;t++)e-=Math.abs(this.components[t].getArea())}return e}}class fe extends Y{constructor(e,t,r,s){super(e,t,r,s),this.x=e,this.y=t,this.width=r,this.height=s,this.CLASS_NAME="SuperMap.Geometry.Rectangle",this.geometryType="Rectangle"}calculateBounds(){this.bounds=new se(this.x,this.y,this.x+this.width,this.y+this.height)}getArea(){return this.width*this.height}}class me{constructor(e,t){this.value=e||"",this.name=t||"token",this.CLASS_NAME="SuperMap.Credential"}getUrlParameters(){return this.name+"="+this.value}getValue(){return this.value}destroy(){this.value=null,this.name=null}}me.CREDENTIAL=null;var ye={toISOString:function(){if("toISOString"in Date.prototype)return function(e){return e.toISOString()};{function e(e,t){for(var r=e+"";r.length<t;)r="0"+r;return r}return function(t){return isNaN(t.getTime())?"Invalid Date":t.getUTCFullYear()+"-"+e(t.getUTCMonth()+1,2)+"-"+e(t.getUTCDate(),2)+"T"+e(t.getUTCHours(),2)+":"+e(t.getUTCMinutes(),2)+":"+e(t.getUTCSeconds(),2)+"."+e(t.getUTCMilliseconds(),3)+"Z"}}}(),parse:function(e){var t,r=e.match(/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/);if(r&&(r[1]||r[7])){var s=parseInt(r[1],10)||0,i=parseInt(r[2],10)-1||0,n=parseInt(r[3],10)||1;t=new Date(Date.UTC(s,i,n));var a=r[7];if(a){var o=parseInt(r[4],10),l=parseInt(r[5],10),h=parseFloat(r[6]),u=0|h,c=Math.round(1e3*(h-u));if(t.setUTCHours(o,l,u,c),"Z"!==a){var d=-1e3*(60*parseInt(a,10)*60+60*(parseInt(r[8],10)||0));t=new Date(t.getTime()+d)}}}else t=new Date("invalid");return t}},ge={observers:!1,KEY_SPACE:32,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(e){return e.target||e.srcElement},isSingleTouch:function(e){return e.touches&&1===e.touches.length},isMultiTouch:function(e){return e.touches&&e.touches.length>1},isLeftClick:function(e){return e.which&&1===e.which||e.button&&1===e.button},isRightClick:function(e){return e.which&&3===e.which||e.button&&2===e.button},stop:function(e,t){t||(e.preventDefault?e.preventDefault():e.returnValue=!1),e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},findElement:function(e,t){for(var r=ge.element(e);r.parentNode&&(!r.tagName||r.tagName.toUpperCase()!=t.toUpperCase());)r=r.parentNode;return r},observe:function(e,t,r,s){var i=$.getElement(e);if(s=s||!1,"keypress"===t&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||i.attachEvent)&&(t="keydown"),this.observers||(this.observers={}),!i._eventCacheID){var n="eventCacheID_";i.id&&(n=i.id+"_"+n),i._eventCacheID=$.createUniqueID(n)}var a=i._eventCacheID;this.observers[a]||(this.observers[a]=[]),this.observers[a].push({element:i,name:t,observer:r,useCapture:s}),i.addEventListener?"mousewheel"===t?i.addEventListener(t,r,{useCapture:s,passive:!1}):i.addEventListener(t,r,s):i.attachEvent&&i.attachEvent("on"+t,r)},stopObservingElement:function(e){var t=$.getElement(e)._eventCacheID;this._removeElementObservers(ge.observers[t])},_removeElementObservers:function(e){if(e)for(var t=e.length-1;t>=0;t--){var r=e[t],s=new Array(r.element,r.name,r.observer,r.useCapture);ge.stopObserving.apply(this,s)}},stopObserving:function(e,t,r,s){s=s||!1;var i=$.getElement(e),n=i._eventCacheID;"keypress"===t&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||i.detachEvent)&&(t="keydown");var a=!1,o=ge.observers[n];if(o)for(var l=0;!a&&l<o.length;){var h=o[l];if(h.name===t&&h.observer===r&&h.useCapture===s){o.splice(l,1),0==o.length&&delete ge.observers[n],a=!0;break}l++}return a&&(i.removeEventListener?i.removeEventListener(t,r,s):i&&i.detachEvent&&i.detachEvent("on"+t,r)),a},unloadCache:function(){if(ge&&ge.observers){for(var e in ge.observers){var t=ge.observers[e];ge._removeElementObservers.apply(this,[t])}ge.observers=!1}},CLASS_NAME:"SuperMap.Event"};ge.observe(window,"resize",ge.unloadCache,!1);class ve{constructor(e,t,r,s,i){if(this.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"],this.listeners={},this.object=e,this.element=null,this.eventTypes=[],this.eventHandler=null,this.fallThrough=s,this.includeXY=!1,this.extensions={},this.extensionCount={},this.clearMouseListener=null,$.extend(this,i),null!=r)for(var n=0,a=r.length;n<a;n++)this.addEventType(r[n]);null!=t&&this.attachToElement(t),this.CLASS_NAME="SuperMap.Events"}destroy(){for(var e in this.extensions)"boolean"!=typeof this.extensions[e]&&this.extensions[e].destroy();this.extensions=null,this.element&&(ge.stopObservingElement(this.element),this.element.hasScrollEvent&&ge.stopObserving(window,"scroll",this.clearMouseListener)),this.element=null,this.listeners=null,this.object=null,this.eventTypes=null,this.fallThrough=null,this.eventHandler=null}addEventType(e){this.listeners[e]||(this.eventTypes.push(e),this.listeners[e]=[])}attachToElement(e){this.element?ge.stopObservingElement(this.element):(this.eventHandler=H.bindAsEventListener(this.handleBrowserEvent,this),this.clearMouseListener=H.bind(this.clearMouseCache,this)),this.element=e;for(var t=0,r=this.BROWSER_EVENTS.length;t<r;t++){var s=this.BROWSER_EVENTS[t];this.addEventType(s),ge.observe(e,s,this.eventHandler)}ge.observe(e,"dragstart",ge.stop)}on(e){for(var t in e)"scope"!==t&&e.hasOwnProperty(t)&&this.register(t,e.scope,e[t])}register(e,t,r,s){if(e in ve&&!this.extensions[e]&&(this.extensions[e]=new ve[e](this)),null!=r&&-1!==$.indexOf(this.eventTypes,e)){null==t&&(t=this.object);var i=this.listeners[e];i||(i=[],this.listeners[e]=i,this.extensionCount[e]=0);var n={obj:t,func:r};s?(i.splice(this.extensionCount[e],0,n),"object"==typeof s&&s.extension&&this.extensionCount[e]++):i.push(n)}}registerPriority(e,t,r){this.register(e,t,r,!0)}un(e){for(var t in e)"scope"!==t&&e.hasOwnProperty(t)&&this.unregister(t,e.scope,e[t])}unregister(e,t,r){null==t&&(t=this.object);var s=this.listeners[e];if(null!=s)for(var i=0,n=s.length;i<n;i++)if(s[i].obj===t&&s[i].func===r){s.splice(i,1);break}}remove(e){null!=this.listeners[e]&&(this.listeners[e]=[])}triggerEvent(e,t){var r=this.listeners[e];if(r&&0!=r.length){var s;null==t&&(t={}),t.object=this.object,t.element=this.element,t.type||(t.type=e);for(var i=0,n=(r=r.slice()).length;i<n;i++){var a=r[i];if(void 0!=(s=a.func.apply(a.obj,[t]))&&!1===s)break}return this.fallThrough||ge.stop(t,!0),s}}handleBrowserEvent(e){var t=e.type,r=this.listeners[t];if(r&&0!=r.length){var s=e.touches;if(s&&s[0]){for(var i,n=0,a=0,o=s.length,l=0;l<o;++l)n+=(i=s[l]).clientX,a+=i.clientY;e.clientX=n/o,e.clientY=a/o}this.includeXY&&(e.xy=this.getMousePosition(e)),this.triggerEvent(t,e)}}clearMouseCache(){this.element.scrolls=null,this.element.lefttop=null;var e=document.body;e&&(0==e.scrollTop&&0==e.scrollLeft||!navigator.userAgent.match(/iPhone/i))&&(this.element.offsets=null)}getMousePosition(e){if(this.includeXY?this.element.hasScrollEvent||(ge.observe(window,"scroll",this.clearMouseListener),this.element.hasScrollEvent=!0):this.clearMouseCache(),!this.element.scrolls){var t=$.getViewportElement();this.element.scrolls=[t.scrollLeft,t.scrollTop]}return this.element.lefttop||(this.element.lefttop=[document.documentElement.clientLeft||0,document.documentElement.clientTop||0]),this.element.offsets||(this.element.offsets=$.pagePosition(this.element)),new V(e.clientX+this.element.scrolls[0]-this.element.offsets[0]-this.element.lefttop[0],e.clientY+this.element.scrolls[1]-this.element.offsets[1]-this.element.lefttop[1])}}ve.prototype.BROWSER_EVENTS=["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","rightclick","dblrightclick","resize","focus","blur","touchstart","touchmove","touchend","keydown","MSPointerDown","MSPointerUp","pointerdown","pointerup","MSGestureStart","MSGestureChange","MSGestureEnd","contextmenu"];class be{constructor(e,t,r){this.CLASS_NAME="SuperMap.Feature",this.layer=e,this.id=$.createUniqueID(this.CLASS_NAME+"_"),this.lonlat=t,this.data=null!=r?r:{}}destroy(){this.id=null,this.lonlat=null,this.data=null}}const Se={UNKNOWN:"Unknown",INSERT:"Insert",UPDATE:"Update",DELETE:"Delete"};class xe extends be{constructor(e,t,r){super(null,null,t),this.fid=null,this.geometry=e||null,this.attributes={},t&&(this.attributes=$.extend(this.attributes,t)),this.bounds=null,this.state=null,this.style=r||null,this.url=null,this.lonlat=null,this.CLASS_NAME="SuperMap.Feature.Vector",xe.style={default:{fillColor:"#ee9900",fillOpacity:.4,hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"inherit",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},select:{fillColor:"blue",fillOpacity:.4,hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"blue",strokeOpacity:1,strokeWidth:2,strokeLinecap:"round",strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"pointer",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},temporary:{fillColor:"#66cccc",fillOpacity:.2,hoverFillColor:"white",hoverFillOpacity:.8,strokeColor:"#66cccc",strokeOpacity:1,strokeLinecap:"round",strokeWidth:2,strokeDashstyle:"solid",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted",cursor:"default",fontColor:"#000000",labelAlign:"cm",labelOutlineColor:"white",labelOutlineWidth:3},delete:{display:"none"}}}destroy(){this.layer&&(this.layer.removeFeatures(this),this.layer=null),this.geometry=null,super.destroy()}clone(){return new xe(this.geometry?this.geometry.clone():null,this.attributes,this.style)}toState(e){if(e===Se.UPDATE)switch(this.state){case Se.UNKNOWN:case Se.DELETE:this.state=e;break;case Se.UPDATE:case Se.INSERT:}else if(e===Se.INSERT)switch(this.state){case Se.UNKNOWN:break;default:this.state=e}else if(e===Se.DELETE)switch(this.state){case Se.INSERT:case Se.DELETE:break;case Se.UNKNOWN:case Se.UPDATE:this.state=e}else e===Se.UNKNOWN&&(this.state=e)}}class _e{constructor(e){this.data=null,this.keepData=!1,$.extend(this,e),this.options=e,this.CLASS_NAME="SuperMap.Format"}destroy(){}read(e){}write(e){}}class we extends _e{constructor(e){super(e),this.indent=" ",this.space=" ",this.newline="\n",this.level=0,this.pretty=!1,this.nativeJSON=!(!window.JSON||"function"!=typeof JSON.parse||"function"!=typeof JSON.stringify),this.CLASS_NAME="SuperMap.Format.JSON",this.serialize={object:function(e){if(null==e)return"null";if(e.constructor===Date)return this.serialize.date.apply(this,[e]);if(e.constructor===Array)return this.serialize.array.apply(this,[e]);var t,r,s,i=["{"];this.level+=1;var n=!1;for(t in e)e.hasOwnProperty(t)&&(r=this.write.apply(this,[t,this.pretty]),s=this.write.apply(this,[e[t],this.pretty]),null!=r&&null!=s&&(n&&i.push(","),i.push(this.writeNewline(),this.writeIndent(),r,":",this.writeSpace(),s),n=!0));return this.level-=1,i.push(this.writeNewline(),this.writeIndent(),"}"),i.join("")},array:function(e){var t,r=["["];this.level+=1;for(var s=0,i=e.length;s<i;++s)null!=(t=this.write.apply(this,[e[s],this.pretty]))&&(s>0&&r.push(","),r.push(this.writeNewline(),this.writeIndent(),t));return this.level-=1,r.push(this.writeNewline(),this.writeIndent(),"]"),r.join("")},string:function(e){var t={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return/["\\\x00-\x1f]/.test(e)?'"'+e.replace(/([\x00-\x1f\\"])/g,function(e,r){var s=t[r];return s||(s=r.charCodeAt(),"\\u00"+Math.floor(s/16).toString(16)+(s%16).toString(16))})+'"':'"'+e+'"'},number:function(e){return isFinite(e)?String(e):"null"},boolean:function(e){return String(e)},date:function(e){function t(e){return e<10?"0"+e:e}return'"'+e.getFullYear()+"-"+t(e.getMonth()+1)+"-"+t(e.getDate())+"T"+t(e.getHours())+":"+t(e.getMinutes())+":"+t(e.getSeconds())+'"'}}}read(e,t){var r;if(this.nativeJSON)try{r=JSON.parse(e,t)}catch(t){return{data:e}}return this.keepData&&(this.data=r),r}write(e,t){this.pretty=!!t;var r=null,s=typeof e;if(this.serialize[s])try{r=!this.pretty&&this.nativeJSON?JSON.stringify(e):this.serialize[s].apply(this,[e])}catch(e){}return r}writeIndent(){var e=[];if(this.pretty)for(var t=0;t<this.level;++t)e.push(this.indent);return e.join("")}writeNewline(){return this.pretty?this.newline:""}writeSpace(){return this.pretty?this.space:""}}class Ce{constructor(e,t,r){this.red=e||0==e?e:255,this.green=t||0,this.blue=r||0,this.CLASS_NAME="SuperMap.ServerColor"}destroy(){this.red=null,this.green=null,this.blue=null}static fromJson(e){if(e){var t=new Ce,r=255;null!==e.red&&(r=Number(e.red)),t.red=r;var s=0;null!==e.green&&(s=Number(e.green)),t.green=s;var i=0;return null!==e.blue&&(i=Number(e.blue)),t.blue=i,t}}}class Te{constructor(e){this.fillBackColor=new Ce(255,255,255),this.fillBackOpaque=!1,this.fillForeColor=new Ce(255,0,0),this.fillGradientMode=null,this.fillGradientAngle=0,this.fillGradientOffsetRatioX=0,this.fillGradientOffsetRatioY=0,this.fillOpaqueRate=100,this.fillSymbolID=0,this.lineColor=new Ce(0,0,0),this.lineSymbolID=0,this.lineWidth=1,this.markerAngle=0,this.markerSize=1,this.markerSymbolID=-1,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ServerStyle"}destroy(){var e=this;e.fillBackColor&&(e.fillBackColor.destroy(),e.fillBackColor=null),e.fillBackOpaque=null,e.fillForeColor&&(e.fillForeColor.destroy(),e.fillForeColor=null),e.fillGradientMode=null,e.fillGradientAngle=null,e.fillGradientOffsetRatioX=null,e.fillGradientOffsetRatioY=null,e.fillOpaqueRate=null,e.fillSymbolID=null,e.lineColor&&(e.lineColor.destroy(),e.lineColor=null),e.lineSymbolID=null,e.lineWidth=null,e.markerAngle=null,e.markerSize=null,e.markerSymbolID=null}toServerJSONObject(){var e={};return e=$.copyAttributes(e,this)}static fromJson(e){if(e)return new Te({fillBackColor:Ce.fromJson(e.fillBackColor),fillBackOpaque:e.fillBackOpaque,fillForeColor:Ce.fromJson(e.fillForeColor),fillGradientMode:e.fillGradientMode,fillGradientAngle:e.fillGradientAngle,fillGradientOffsetRatioX:e.fillGradientOffsetRatioX,fillGradientOffsetRatioY:e.fillGradientOffsetRatioY,fillOpaqueRate:e.fillOpaqueRate,fillSymbolID:e.fillSymbolID,lineColor:Ce.fromJson(e.lineColor),lineSymbolID:e.lineSymbolID,lineWidth:e.lineWidth,markerAngle:e.markerAngle,markerSize:e.markerSize,markerSymbolID:e.markerSymbolID})}}class Me extends oe{constructor(e){super(e),this.measure=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.PointWithMeasure"}equals(e){var t=!1;if(null!=e){var r=this.x===e.x&&this.y===e.y&&this.measure===e.measure,s=isNaN(this.x)&&isNaN(this.y)&&isNaN(this.measure),i=isNaN(e.x)&&isNaN(e.y)&&isNaN(e.measure);t=r||s&&i}return t}toJson(){var e="{";return null!=this.measure&&void 0!=this.measure&&(e+='"measure":'+this.measure+","),e+='"x":'+this.x+",",e+='"y":'+this.y,e+="}"}destroy(){this.measure=null,this.x=null,this.y=null}static fromJson(e){if(e)return new Me({x:e.x,y:e.y,measure:e.measure})}}class Ee extends ie{constructor(e,t){super(e,t),this.id=null,this.center=null,this.style=null,this.length=null,this.maxM=null,this.minM=null,this.parts=null,this.points=null,this.type=null,this.componentTypes=["SuperMap.Geometry.LinearRing","SuperMap.Geometry.LineString"],t&&$.extend(this,t),this.CLASS_NAME="SuperMap.Route",this.geometryType="LINEM"}toJson(){var e="{";if(null!=this.id&&void 0!=this.id&&(e+='"id":'+this.id+","),null!=this.center&&void 0!=this.center&&(e+='"center":'+this.center+","),null!=this.style&&void 0!=this.style&&(e+='"style":'+this.style+","),null!=this.length&&void 0!=this.length&&(e+='"length":'+this.length+","),null!=this.maxM&&void 0!=this.maxM&&(e+='"maxM":'+this.maxM+","),null!=this.minM&&void 0!=this.minM&&(e+='"minM":'+this.minM+","),null!=this.type&&void 0!=this.type&&(e+='"type":"'+this.type+'",'),null!=this.parts&&void 0!=this.parts){e+='"parts":['+this.parts[0];for(var t=1;t<this.parts.length;t++)e+=","+this.parts[t];e+="],"}if(null!=this.components&&this.components.length>0){e+='"points":[';for(var r=0,s=this.components.length;r<s;r++)for(var i=0,n=this.components[r].components.length;i<n;i++)e+=this.components[r].components[i].toJson()+",";e=e.replace(/,$/g,""),e+="]"}return e=e.replace(/,$/g,""),e+="}"}destroy(){var e=this;e.id=null,e.center=null,e.style=null,e.length=null,e.maxM=null,e.minM=null,e.type=null,e.parts=null,e.components.length=0,e.components=null,e.componentTypes=null}static fromJson(e){if(e){var t=e.parts||[],r=e.points||[],s=t.length,i=[];if(!(s>0))return null;for(var n=0,a=0,o=[];n<s;n++){for(var l=0;l<t[n];l++)o.push(Me.fromJson(r[a+l]));a+=t[n],o[0].equals(o[t[n]-1])?i.push(new ue(o)):i.push(new le(o)),o=[]}return new Ee(i,{id:e.id,center:e.center,style:e.style,length:e.length,maxM:e.maxM,minM:e.minM,type:e.type,parts:e.parts})}}}class Ae{constructor(e){this.id=0,this.style=null,this.parts=null,this.points=null,this.type=null,this.prjCoordSys=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ServerGeometry"}destroy(){var e=this;e.id=null,e.style=null,e.parts=null,e.partTopo=null,e.points=null,e.type=null,e.prjCoordSys=null}toGeometry(){var e=this;switch(e.type.toUpperCase()){case i.POINT:return e.toGeoPoint();case i.LINE:return e.toGeoLine();case i.LINEM:return e.toGeoLinem();case i.REGION:return e.toGeoRegion();case i.POINTEPS:return e.toGeoPoint();case i.LINEEPS:return e.toGeoLineEPS();case i.REGIONEPS:return e.toGeoRegionEPS();case i.GEOCOMPOUND:return e.transformGeoCompound()}}toGeoPoint(){var e=this.parts||[],t=this.points||[],r=e.length;if(r>0){if(1===r)return new oe(t[0].x,t[0].y);var s=[];for(let e=0;e<r;e++)s.push(new oe(t[e].x,t[e].y));return new ne(s)}return null}toGeoLine(){var e=this.parts||[],t=this.points||[],r=e.length;if(r>0){if(1===r){let r=[];for(let s=0;s<e[0];s++)r.push(new oe(t[s].x,t[s].y));return r[0].equals(r[e[0]-1])?new ue(r):new le(r)}{let s=[];for(let i=0;i<r;i++){let r=[];for(let s=0;s<e[i];s++)r.push(new oe(t[s].x,t[s].y));s.push(new le(r)),t.splice(0,e[i])}return new ce(s)}}return null}toGeoLineEPS(){var e,t,r,s,i,n=this.parts||[],a=this.points||[],o=n.length;if(o>0){if(1===o){for(e=0,r=[];e<n[0];e++)r.push(new oe(a[e].x,a[e].y,a[e].type));return r[0].equals(r[n[0]-1])?(i=le.createLineEPS(r),new ue(i)):(i=le.createLineEPS(r),new le(i))}for(e=0,s=[];e<o;e++){for(t=0,r=[];t<n[e];t++)r.push(new oe(a[t].x,a[t].y));i=le.createLineEPS(r),s.push(new le(i)),a.splice(0,n[e])}return new ce(s)}return null}toGeoLinem(){return Ee.fromJson(this)}toGeoRegion(){var e=this.parts||[],t=this.partTopo||[],r=this.points||[],s=e.length;if(s<=0)return null;var i=[],n=[];if(1==s){for(let e=0;e<r.length;e++)n.push(new oe(r[e].x,r[e].y));return i.push(new pe([new ue(n)])),new de(i)}var a=[],o=[],l=[],h=[],u=[];for(let i=0,a=0;i<s;i++){for(let t=0;t<e[i];t++)n.push(new oe(r[a+t].x,r[a+t].y));a+=e[i];var c=new pe([new ue(n)]);n=[],l.push(c),0===t.length&&h.push(c.getBounds()),u.push(1),o.push(c.getArea())}if(0===t.length){Ae.bubbleSort(o,l,t,h);var d=[];for(let e=1;e<l.length;e++)for(let t=e-1;t>=0;t--)if(d[e]=-1,h[t].containsBounds(h[e])){u[e]=-1*u[t],u[e]<0&&(d[e]=t);break}for(let e=0;e<l.length;e++)u[e]>0?i.push(l[e]):(i[d[e]].components=i[d[e]].components.concat(l[e].components),i.push(""))}else{i=new Array;for(let e=0;e<l.length;e++)if(t[e]&&-1==t[e]?a=a.concat(l[e].components):(a.length>0&&i.length>0&&(i[i.length-1].components=i[i.length-1].components.concat(a),a=[]),i.push(l[e])),e==s-1){var p=i.length;if(p)i[p-1].components=i[p-1].components.concat(a);else for(let e=0,t=a.length;e<t;e++)i.push(new pe(a))}}return new de(i)}toGeoRegionEPS(){var e=this.parts||[],t=this.partTopo||[],r=this.points||[],s=e.length;if(s<=0)return null;var i,n=[],a=[];if(1==s){for(var o=0;o<r.length;o++)a.push(new oe(r[o].x,r[o].y));return i=le.createLineEPS(a),n.push(new pe([new ue(i)])),new de(n)}var l=[],h=[],u=[],c=[],d=[];for(let n=0,o=0;n<s;n++){for(let t=0;t<e[n];t++)a.push(new oe(r[o+t].x,r[o+t].y));o+=e[n],i=le.createLineEPS(a);var p=new pe([new ue(i)]);a=[],u.push(p),0===t.length&&c.push(p.getBounds()),d.push(1),h.push(p.getArea())}if(0===t.length){Ae.bubbleSort(h,u,t,c);var f=[];for(let e=1;e<u.length;e++)for(let t=e-1;t>=0;t--)if(f[e]=-1,c[t].containsBounds(c[e])){d[e]=-1*d[t],d[e]<0&&(f[e]=t);break}for(let e=0;e<u.length;e++)d[e]>0?n.push(u[e]):(n[f[e]].components=n[f[e]].components.concat(u[e].components),n.push(""))}else{n=new Array;for(let e=0;e<u.length;e++)if(t[e]&&-1==t[e]?l=l.concat(u[e].components):(l.length>0&&n.length>0&&(n[n.length-1].components=n[n.length-1].components.concat(l),l=[]),n.push(u[e])),e==s-1){var m=n.length;if(m)n[m-1].components=n[m-1].components.concat(l);else for(let e=0,t=l.length;e<t;e++)n.push(new pe(l))}}return new de(n)}transformGeoCompound(){const e=this.geoParts||[],t=e.length;if(t<=0)return null;const r=[];for(let s=0;s<t;s++){const t=e[s];r.push(new Ae(t).toGeometry())}return new ie(r)}static fromJson(e){if(e)return new Ae({id:e.id,style:Te.fromJson(e.style),parts:e.parts,partTopo:e.partTopo,points:e.points,center:e.center,length:e.length,maxM:e.maxM,minM:e.minM,type:e.type})}static fromGeometry(e){if(e){var t=0,r=[],s=[],n=null,a=e.components,o=e.CLASS_NAME,l={epsgCode:e.SRID};if(isNaN(e.id)||(t=e.id),"SuperMap.Geometry.LinearRing"!=o&&"SuperMap.Geometry.LineString"!=o&&(e instanceof ne||e instanceof ce)){let e=a.length;for(let t=0;t<e;t++){const e=a[t].getVertices();let i=e.length;r.push(i);for(let t=0;t<i;t++)s.push(new oe(e[t].x,e[t].y))}n="SuperMap.Geometry.MultiPoint"==o?i.POINT:i.LINE}else if(e instanceof de){let e=a.length;for(let t=0;t<e;t++){let e=a[t].components,i=e.length;for(let t=0;t<i;t++){const i=e[t].getVertices(),n=i.length+1;r.push(n);for(let e=0;e<n-1;e++)s.push(new oe(i[e].x,i[e].y));s.push(new oe(i[0].x,i[0].y))}}n=i.REGION}else if(e instanceof pe){let e=a.length;for(let t=0;t<e;t++){const e=a[t].getVertices();let i=e.length+1;r.push(i);for(let t=0;t<i-1;t++)s.push(new oe(e[t].x,e[t].y));s.push(new oe(e[0].x,e[0].y))}n=i.REGION}else{const t=e.getVertices();let a=t.length;for(let e=0;e<a;e++)s.push(new oe(t[e].x,t[e].y));e instanceof ue&&(s.push(new oe(t[0].x,t[0].y)),a++),r.push(a),n=e instanceof oe?i.POINT:i.LINE}return new Ae({id:t,style:null,parts:r,points:s,type:n,prjCoordSys:l})}}static IsClockWise(e){var t=e.length;if(t<3)return 0;var r=e[0].y*(e[t-1].x-e[1].x);e.push(e[0]);for(var s=1;s<t;s++)r+=e[s].y*(e[s-1].x-e[s+1].x);return.5*r}static bubbleSort(e,t,r,s){for(var i=0;i<e.length;i++)for(var n=0;n<e.length;n++)if(e[i]>e[n]){var a=e[n];e[n]=e[i],e[i]=a;var o=t[n];if(t[n]=t[i],t[i]=o,r&&r.length>0){var l=r[n];r[n]=r[i],r[i]=l}if(s&&s.length>0){var h=s[n];s[n]=s[i],s[i]=h}}}}class Oe extends we{constructor(e){super(e),this.ignoreExtraDims=!0,this.CLASS_NAME="SuperMap.Format.GeoJSON",this.parseCoords={point:function(e){if(!1===this.ignoreExtraDims&&2!=e.length)throw"Only 2D points are supported: "+e;return new oe(e[0],e[1])},multipoint:function(e){for(var t=[],r=null,s=0,i=e.length;s<i;++s){try{r=this.parseCoords.point.apply(this,[e[s]])}catch(e){throw e}t.push(r)}return new ne(t)},linestring:function(e){for(var t=[],r=null,s=0,i=e.length;s<i;++s){try{r=this.parseCoords.point.apply(this,[e[s]])}catch(e){throw e}t.push(r)}return new le(t)},multilinestring:function(e){for(var t=[],r=null,s=0,i=e.length;s<i;++s){try{r=this.parseCoords.linestring.apply(this,[e[s]])}catch(e){throw e}t.push(r)}return new ce(t)},polygon:function(e){for(var t,r,s=[],i=0,n=e.length;i<n;++i){try{r=this.parseCoords.linestring.apply(this,[e[i]])}catch(e){throw e}t=new ue(r.components),s.push(t)}return new pe(s)},multipolygon:function(e){for(var t=[],r=null,s=0,i=e.length;s<i;++s){try{r=this.parseCoords.polygon.apply(this,[e[s]])}catch(e){throw e}t.push(r)}return new de(t)},box:function(e){if(2!=e.length)throw"GeoJSON box coordinates must have 2 elements";return new pe([new ue([new oe(e[0][0],e[0][1]),new oe(e[1][0],e[0][1]),new oe(e[1][0],e[1][1]),new oe(e[0][0],e[1][1]),new oe(e[0][0],e[0][1])])])}},this.extract={feature:function(e){var t=this.extract.geometry.apply(this,[e.geometry]),r={type:"Feature",properties:this.createAttributes(e),geometry:t};return e.geometry&&"TEXT"===e.geometry.type&&(r.properties.texts=e.geometry.texts,r.properties.textStyle=e.geometry.textStyle),e.fid&&(r.id=e.fid),e.ID&&(r.id=e.ID),r},geometry:function(e){if(null==e)return null;!e.parts&&e.points&&(e.parts=[e.points.length]);var t,r=e.hasOwnProperty("geometryType")?e:new Ae(e).toGeometry()||e,s=r.geometryType||r.type;return"LinearRing"===s&&(s="LineString"),"LINEM"===s&&(s="MultiLineString"),t=this.extract[s.toLowerCase()].apply(this,[r]),"Collection"===(s="TEXT"===s?"Point":s)?{type:"GeometryCollection",geometries:t}:{type:s,coordinates:t}},point:function(e){var t=[e.x,e.y];for(var r in e)"x"===r||"y"===r||null===e[r]||isNaN(e[r])||t.push(e[r]);return t},text:function(e){return[e.points[0].x,e.points[0].y]},multipoint:function(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.point.apply(this,[e.components[r]]));return t},linestring:function(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.point.apply(this,[e.components[r]]));return t},multilinestring:function(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.linestring.apply(this,[e.components[r]]));return t},polygon:function(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.linestring.apply(this,[e.components[r]]));return t},multipolygon:function(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.polygon.apply(this,[e.components[r]]));return t},collection:function(e){for(var t=e.components.length,r=new Array(t),s=0;s<t;++s)r[s]=this.extract.geometry.apply(this,[e.components[s]]);return r}}}read(e,t,r){t=t||"FeatureCollection";var s=null,i=null;if(i="string"==typeof e?super.read(e,r):e){if("string"!=typeof i.type);else if(this.isValidType(i,t))switch(t){case"Geometry":try{s=this.parseGeometry(i)}catch(e){}break;case"Feature":try{(s=this.parseFeature(i)).type="Feature"}catch(e){}break;case"FeatureCollection":switch(s=[],i.type){case"Feature":try{s.push(this.parseFeature(i))}catch(e){s=null}break;case"FeatureCollection":for(var n=0,a=i.features.length;n<a;++n)try{s.push(this.parseFeature(i.features[n]))}catch(e){s=null}break;default:try{var o=this.parseGeometry(i);s.push(new xe(o))}catch(e){s=null}}}}else;return s}write(e,t){return super.write(this.toGeoJSON(e),t)}fromGeoJSON(e,t,r){let s=this.read(e,t,r);return $.isArray(s)?s.map(e=>this._toiSevrerFeature(e)):this._toiSevrerFeature(s)}toGeoJSON(e){var t={type:null};if($.isArray(e)){t.type="FeatureCollection";var r=e.length;t.features=new Array(r);for(var s=0;s<r;++s){var i=e[s];if(n(i)){let e={};e.geometry=i,t.features[s]=this.extract.feature.apply(this,[e])}else t.features[s]=this.extract.feature.apply(this,[i])}}else if(n(e)){let r={};r.geometry=e,t=this.extract.feature.apply(this,[r])}else t=this.extract.feature.apply(this,[e]);function n(e){return e.hasOwnProperty("parts")&&e.hasOwnProperty("points")||e.hasOwnProperty("geoParts")}return t}isValidType(e,t){var r=!1;switch(t){case"Geometry":-1==$.indexOf(["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","Box","GeometryCollection"],e.type)||(r=!0);break;case"FeatureCollection":r=!0;break;default:e.type==t&&(r=!0)}return r}parseFeature(e){var t,r,s,i;s=e.properties?e.properties:{},i=e.geometry&&e.geometry.bbox||e.bbox;try{r=this.parseGeometry(e.geometry)}catch(e){throw e}return t=new xe(r,s),i&&(t.bounds=se.fromArray(i)),e.id&&(t.geometry.id=e.id,t.fid=e.id),t}parseGeometry(e){if(null==e)return null;var t;if("GeometryCollection"==e.type){if(!$.isArray(e.geometries))throw"GeometryCollection must have geometries array: "+e;for(var r=e.geometries.length,s=new Array(r),i=0;i<r;++i)s[i]=this.parseGeometry.apply(this,[e.geometries[i]]);t=new ie(s)}else{if(!$.isArray(e.coordinates))throw"Geometry must have coordinates array: "+e;if(!this.parseCoords[e.type.toLowerCase()])throw"Unsupported geometry type: "+e.type;try{t=this.parseCoords[e.type.toLowerCase()].apply(this,[e.coordinates])}catch(e){throw e}}return t}createCRSObject(e){var t=e.layer.projection.toString(),r={};if(t.match(/epsg:/i)){var s=parseInt(t.substring(t.indexOf(":")+1));r=4326==s?{type:"name",properties:{name:"urn:ogc:def:crs:OGC:1.3:CRS84"}}:{type:"name",properties:{name:"EPSG:"+s}}}return r}_toiSevrerFeature(e){const t=e.attributes,r=[],s=[];for(var i in t)r.push(i),s.push(t[i]);const n={fieldNames:r,fieldValues:s,geometry:Ae.fromGeometry(e.geometry)};return n.geometry.id=e.fid,n}createAttributes(e){if(!e)return null;var t={};!function(e,t){if(!e.hasOwnProperty("fieldNames")||!e.hasOwnProperty("fieldValues"))return;var r=e.fieldNames,s=e.fieldValues;for(var i in r)t[r[i]]=s[i]}(e,t);var r=["fieldNames","fieldValues","geometry","stringID","ID"];for(var s in e)r.indexOf(s)>-1||(t[s]=e[s]);return t}}class Pe{constructor(e){var t=this;e=e||{},this.speed=e.speed&&e.speed>=0?e.speed:1,this.frequency=e.speed&&e.frequency>=0?e.frequency:1e3,this.startTime=e.startTime&&null!=e.startTime?e.startTime:0,this.endTime=e.endTime&&null!=e.endTime&&e.endTime>=t.startTime?e.endTime:+new Date,this.repeat=void 0===e.repeat||e.repeat,this.reverse=void 0!==e.reverse&&e.reverse,this.currentTime=null,this.oldTime=null,this.running=!1,this.EVENT_TYPES=["start","pause","stop"],t.events=new ve(this,null,this.EVENT_TYPES),t.speed=Number(t.speed),t.frequency=Number(t.frequency),t.startTime=Number(t.startTime),t.endTime=Number(t.endTime),t.startTime=Date.parse(new Date(t.startTime)),t.endTime=Date.parse(new Date(t.endTime)),t.currentTime=t.startTime,this.CLASS_NAME="SuperMap.TimeControlBase"}updateOptions(e){var t=this;(e=e||{}).speed&&e.speed>=0&&(t.speed=e.speed,t.speed=Number(t.speed)),e.speed&&e.frequency>=0&&(t.frequency=e.frequency,t.frequency=Number(t.frequency)),e.startTime&&null!=e.startTime&&(t.startTime=e.startTime,t.startTime=Date.parse(new Date(t.startTime))),e.endTime&&null!=e.endTime&&e.endTime>=t.startTime&&(t.endTime=e.endTime,t.endTime=Date.parse(new Date(t.endTime))),null!=e.repeat&&(t.repeat=e.repeat),null!=e.reverse&&(t.reverse=e.reverse)}start(){var e=this;e.running||(e.running=!0,e.tick(),e.events.triggerEvent("start",e.currentTime))}pause(){this.running=!1,this.events.triggerEvent("pause",this.currentTime)}stop(){var e=this;e.currentTime=e.startTime,e.running&&(e.running=!1),e.events.triggerEvent("stop",e.currentTime)}toggle(){this.running?this.pause():this.start()}setSpeed(e){return e>=0&&(this.speed=e,!0)}getSpeed(){return this.speed}setFrequency(e){return e>=0&&(this.frequency=e,!0)}getFrequency(){return this.frequency}setStartTime(e){var t=this;return!((e=Date.parse(new Date(e)))>t.endTime)&&(t.startTime=e,t.currentTime<t.startTime&&(t.currentTime=t.startTime,t.tick()),!0)}getStartTime(){return this.startTime}setEndTime(e){var t=this;return t.endTime=Date.parse(new Date(t.endTime)),!(e<t.startTime)&&(t.endTime=e,t.currentTime>=t.endTime&&(t.currentTime=t.startTime,t.tick()),!0)}getEndTime(){return this.endTime}setCurrentTime(e){var t=this;return t.currentTime=Date.parse(new Date(t.currentTime)),e>=t.startTime&&e<=t.endTime&&(t.currentTime=e,t.startTime=t.currentTime,t.tick(),!0)}getCurrentTime(){return this.currentTime}setRepeat(e){this.repeat=e}getRepeat(){return this.repeat}setReverse(e){this.reverse=e}getReverse(){return this.reverse}getRunning(){return this.running}destroy(){var e=this;e.speed=null,e.frequency=null,e.startTime=null,e.endTime=null,e.currentTime=null,e.repeat=null,e.running=!1,e.reverse=null}tick(){}}r(107),r(693);var Le=r(144),Ie=r.n(Le);let Ne=window.fetch;var Fe,ke,Re={limitLength:1500,queryKeys:[],queryValues:[],supermap_callbacks:{},addQueryStrings:function(e){for(var t in e){this.queryKeys.push(t),"string"!=typeof e[t]&&(e[t]=$.toJSON(e[t]));var r=encodeURIComponent(e[t]);this.queryValues.push(r)}},issue:function(e){for(var t=this,r=t.getUid(),s=e.url,i=[],n=new Promise(function(e){t.supermap_callbacks[r]=function(s){delete t.supermap_callbacks[r],e(s)}}),a=s,o=0,l=t.queryKeys?t.queryKeys.length:0,h=0;h<l;h++)if(a.length+t.queryKeys[h].length+2>=t.limitLength){if(0==o)return!1;i.push(a),a=s,o=0,h--}else if(a.length+t.queryKeys[h].length+2+t.queryValues[h].length>t.limitLength)for(var u=t.queryValues[h];u.length>0;){var c=t.limitLength-a.length-t.queryKeys[h].length-2;a.indexOf("?")>-1?a+="&":a+="?";var d=u.substring(0,c);"%"===d.substring(c-1,c)?(c-=1,d=u.substring(0,c)):"%"===d.substring(c-2,c-1)&&(c-=2,d=u.substring(0,c)),a+=t.queryKeys[h]+"="+d,u=u.substring(c),d.length>0&&(i.push(a),a=s,o=0)}else o++,a.indexOf("?")>-1?a+="&":a+="?",a+=t.queryKeys[h]+"="+t.queryValues[h];return i.push(a),t.send(i,"RequestJSONPPromise.supermap_callbacks["+r+"]",e&&e.proxy),n},getUid:function(){return 1e3*(new Date).getTime()+Math.floor(1e17*Math.random())},send:function(e,t,r){var s=e.length;if(s>0)for(var i=(new Date).getTime(),n=0;n<s;n++){var a=e[n];a.indexOf("?")>-1?a+="&":a+="?",a+="sectionCount="+s,a+="&sectionIndex="+n,a+="&jsonpUserID="+i,r&&(a=decodeURIComponent(a),a=r+encodeURIComponent(a)),Ie()(a,{jsonpCallbackFunction:t,timeout:3e4})}},GET:function(e){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings(e.params),this.issue(e)},POST:function(e){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:e.data}),this.issue(e)},PUT:function(e){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:e.data}),this.issue(e)},DELETE:function(e){return this.queryKeys.length=0,this.queryValues.length=0,this.addQueryStrings({requestEntity:e.data}),this.issue(e)}},De=function(){return void 0!=Fe?Fe:window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest},Ge=function(){return ke||45e3},Be={commit:function(e,t,r,s){switch(e=e?e.toUpperCase():e){case"GET":return this.get(t,r,s);case"POST":return this.post(t,r,s);case"PUT":return this.put(t,r,s);case"DELETE":return this.delete(t,r,s);default:return this.get(t,r,s)}},supportDirectRequest:function(e,t){return!!$.isInTheSameDomain(e)||(void 0!=t.crossOrigin?t.crossOrigin:De()||t.proxy)},get:function(e,t,r){r=r||{};if(e=$.urlAppend(e,this._getParameterString(t||{})),e=this._processUrl(e,r),!this.supportDirectRequest(e,r)){var s={url:e=e.replace(".json",".jsonp"),data:t};return Re.GET(s)}return this.urlIsLong(e)?this._postSimulatie("GET",e.substring(0,e.indexOf("?")),t,r):this._fetch(e,t,r,"GET")},delete:function(e,t,r){r=r||{};if(e=$.urlAppend(e,this._getParameterString(t||{})),e=this._processUrl(e,r),!this.supportDirectRequest(e,r)){e=e.replace(".json",".jsonp");var s={url:e+="&_method=DELETE",data:t};return Re.DELETE(s)}return this.urlIsLong(e)?this._postSimulatie("DELETE",e.substring(0,e.indexOf("?")),t,r):this._fetch(e,t,r,"DELETE")},post:function(e,t,r){if(r=r||{},!this.supportDirectRequest(e,r)){e=e.replace(".json",".jsonp");var s={url:e+="&_method=POST",data:t};return Re.POST(s)}return this._fetch(this._processUrl(e,r),t,r,"POST")},put:function(e,t,r){if(r=r||{},e=this._processUrl(e,r),!this.supportDirectRequest(e,r)){e=e.replace(".json",".jsonp");var s={url:e+="&_method=PUT",data:t};return Re.PUT(s)}return this._fetch(e,t,r,"PUT")},urlIsLong:function(e){for(var t=0,r=null,s=0,i=e.length;s<i;s++)(r=e.charCodeAt(s))<127?t++:128<=r&&r<=2047?t+=2:2048<=r&&r<=65535&&(t+=3);return!(t<2e3)},_postSimulatie:function(e,t,r,s){return t+=(t.indexOf("?")>-1?"&":"?")+"_method="+e,"string"!=typeof r&&(r=JSON.stringify(r)),this.post(t,r,s)},_processUrl:function(e,t){if(this._isMVTRequest(e))return e;if(-1===e.indexOf(".json")&&!t.withoutFormatSuffix)if(e.indexOf("?")<0)e+=".json";else{var r=e.split("?");2===r.length&&(e=r[0]+".json?"+r[1])}return t&&t.proxy&&("function"==typeof t.proxy?e=t.proxy(e):(e=decodeURIComponent(e),e=t.proxy+encodeURIComponent(e))),e},_fetch:function(e,t,r,s){return(r=r||{}).headers=r.headers||{},r.headers["Content-Type"]||FormData.prototype.isPrototypeOf(t)||(r.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8"),r.timeout?this._timeout(r.timeout,Ne(e,{method:s,headers:r.headers,body:"PUT"===s||"POST"===s?t:void 0,credentials:this._getWithCredentials(r),mode:"cors",timeout:Ge()}).then(function(e){return e})):Ne(e,{method:s,body:"PUT"===s||"POST"===s?t:void 0,headers:r.headers,credentials:this._getWithCredentials(r),mode:"cors",timeout:Ge()}).then(function(e){return e})},_getWithCredentials:function(e){return!0===e.withCredentials?"include":!1===e.withCredentials?"omit":"same-origin"},_fetchJsonp:function(e,t){return t=t||{},Ie()(e,{method:"GET",timeout:t.timeout}).then(function(e){return e})},_timeout:function(e,t){return new Promise(function(r,s){setTimeout(function(){s(new Error("timeout"))},e),t.then(r,s)})},_getParameterString:function(e){var t=[];for(var r in e){var s,i=e[r];if(null!=i&&"function"!=typeof i)s=Array.isArray(i)||"[object Object]"===i.toString()?encodeURIComponent(JSON.stringify(i)):encodeURIComponent(i),t.push(encodeURIComponent(r)+"="+s)}return t.join("&")},_isMVTRequest:function(e){return e.indexOf(".mvt")>-1||e.indexOf(".pbf")>-1}};class je{static generateToken(e,t){var r=this.servers[e];if(r)return Be.post(r.tokenServiceUrl,JSON.stringify(t.toJSON())).then(function(e){return e.text()})}static registerServers(e){this.servers=this.servers||{},$.isArray(e)||(e=[e]);for(var t=0;t<e.length;t++){var r=e[t];this.servers[r.server]=r}}static registerToken(e,t){if(this.tokens=this.tokens||{},e&&t){var r=this._getTokenStorageKey(e);this.tokens[r]=t}}static registerKey(e,t){if(this.keys=this.keys||{},e&&!(e.length<1)&&t){e=$.isArray(e)?e:[e];for(var r=0;r<e.length;r++){var s=this._getUrlRestString(e[0])||e[0];this.keys[s]=t}}}static getServerInfo(e){return this.servers=this.servers||{},this.servers[e]}static getToken(e){if(e){this.tokens=this.tokens||{};var t=this._getTokenStorageKey(e);return this.tokens[t]}}static getKey(e){this.keys=this.keys||{};var t=this._getUrlRestString(e)||e;return this.keys[t]}static loginiServer(e,t,r,s){e=$.urlPathAppend(e,"services/security/login");var i={username:t&&t.toString(),password:r&&r.toString(),rememberme:s};i=JSON.stringify(i);return Be.post(e,i,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}}).then(function(e){return e.json()})}static logoutiServer(e){e=$.urlPathAppend(e,"services/security/logout");return Be.get(e,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}static loginOnline(e,t){var r=je.SSO+"/login?service="+e;this._open(r,t)}static loginiPortal(e,t,r){e=$.urlPathAppend(e,"web/login");var s={username:t&&t.toString(),password:r&&r.toString()};s=JSON.stringify(s);return Be.post(e,s,{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0}).then(function(e){return e.json()})}static logoutiPortal(e){e=$.urlPathAppend(e,"services/security/logout");return Be.get(e,"",{headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},withCredentials:!0,withoutFormatSuffix:!0}).then(function(){return!0}).catch(function(){return!1})}static loginManager(e,t,r){if($.isInTheSameDomain(e)){var s=$.urlPathAppend(e,"icloud/security/tokens"),i=t||{},n={username:i.userName&&i.userName.toString(),password:i.password&&i.password.toString()};n=JSON.stringify(n);var a=this;return Be.post(s,n,{headers:{Accept:"*/*","Content-Type":"application/json"}}).then(function(e){e.text().then(function(e){return a.imanagerToken=e,e})})}var o=!r||r.isNewTab;this._open(e,o)}static destroyAllCredentials(){this.keys=null,this.tokens=null,this.servers=null}static destroyToken(e){if(e){var t=this._getTokenStorageKey(e);this.tokens=this.tokens||{},this.tokens[t]&&delete this.tokens[t]}}static destroyKey(e){if(e){this.keys=this.keys||{};var t=this._getUrlRestString(e)||e;this.keys[t]&&delete this.keys[t]}}static appendCredential(e){var t=e,r=this.getToken(e),s=r?new me(r,"token"):null;return s||(s=(r=this.getKey(e))?new me(r,"key"):null),s&&(t=$.urlAppend(t,s.getUrlParameters())),t}static _open(e,t){t=null==t||t;var r=window.screen.availWidth/2-this.INNER_WINDOW_WIDTH/2,s=window.screen.availHeight/2-this.INNER_WINDOW_HEIGHT/2,i="height="+this.INNER_WINDOW_HEIGHT+", width="+this.INNER_WINDOW_WIDTH+",top="+s+", left="+r+",toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no";t?window.open(e,"login"):window.open(e,"login",i)}static _getTokenStorageKey(e){var t=e.match(/(.*?):\/\/([^\/]+)/i);return t?t[0]:e}static _getUrlRestString(e){if(!e)return e;var t=e.match(/(http|https):\/\/(.*\/rest)/i);return t?t[0]:e}}je.INNER_WINDOW_WIDTH=600,je.INNER_WINDOW_HEIGHT=600,je.SSO="https://sso.supermap.com",je.ONLINE="https://www.supermapol.com";class Ue{constructor(e,t){if(e){var r=e.substr(e.length-1,1);this.serviceUrl="/"===r?e.substr(0,e.length-2):e}this.options=t||{},this.CLASS_NAME="SuperMap.iManagerServiceBase"}request(e,t,r,s){(s=s||{headers:{Accept:"*/*","Content-Type":"application/json"}}).hasOwnProperty("withCredentials")||(s.withCredentials=!0),s.crossOrigin=this.options.crossOrigin,s.headers=this.options.headers;var i=je.imanagerToken;return i&&(s.headers||(s.headers=[]),s.headers["X-Auth-Token"]=i),r&&(r=JSON.stringify(r)),Be.commit(e,t,r,s).then(function(e){return e.json()})}}class Ve{constructor(e){e=e||{},this.nodeSpec="SMALL",this.nodeCount=1,this.nodeName="",this.password="",this.description="",this.physicalMachineName="",this.ips=[],this.userName="",$.extend(this,e)}}class ze{constructor(e,t){t=t||{},this.serviceUrl=e,this.CLASS_NAME="SuperMap.iPortalServiceBase",this.withCredentials=t.withCredentials||!1,this.crossOrigin=t.crossOrigin,this.headers=t.headers}request(e,t,r,s={headers:this.headers,crossOrigin:this.crossOrigin,withCredentials:this.withCredentials}){return t=je.appendCredential(t),Be.commit(e,t,r,s).then(function(e){return e.json()})}}class Je{constructor(e){e=e||{},this.resourceType="",this.pageSize=12,this.currentPage=1,this.orderBy="UPDATETIME",this.orderType="DESC",this.searchType="PUBLIC",this.tags=[],this.dirIds=[],this.resourceSubTypes=[],this.aggregationTypes=[],this.text="",this.groupIds=[],this.departmentIds=[],$.extend(this,e)}}class qe{constructor(e){e=e||{},this.content=[],this.total=0,this.currentPage=1,this.pageSize=12,this.aggregations=null,$.extend(this,e)}}class He extends ze{constructor(e,t){super(e),t=t||{},this.authorizeSetting=[],this.bounds="",this.bounds4326="",this.checkStatus="",this.createTime=0,this.description=null,this.dirId=null,this.epsgCode=0,this.heatLevel=0,this.id=0,this.name="",this.personalDirId=null,this.resourceId=0,this.resourceSubType=null,this.resourceType=null,this.serviceRootUrlId=null,this.tags=null,this.thumbnail=null,this.updateTime=0,this.userName="",this.sourceJSON={},$.extend(this,t),this.resourceUrl=e+"/web/"+this.resourceType.replace("_","").toLowerCase()+"s/"+this.resourceId,this.withCredentials&&(this.resourceUrl=e+"/web/mycontent/"+this.resourceType.replace("_","").toLowerCase()+"s/"+this.resourceId)}load(){var e=this;return e.request("GET",e.resourceUrl+".json").then(function(t){if(t.error)return t;e.sourceJSON=t})}update(){var e=this.resourceType.replace("_","").toLowerCase();"data"===e&&(this.resourceUrl=this.resourceUrl+"/attributes.json");var t=JSON.stringify(this.sourceJSON);if("service"===e){var r={authorizeSetting:this.sourceJSON.authorizeSetting,metadata:this.sourceJSON.metadata,tags:this.sourceJSON.tags,thumbnail:this.sourceJSON.thumbnail,tokenRefreshUrl:this.sourceJSON.tokenRefreshUrl};t=JSON.stringify(r)}return this.request("PUT",this.resourceUrl,t,{headers:{"Content-Type":"application/x-www-form-urlencoded"}})}}class We{constructor(e){e=e||{},this.ids=[],this.entities=[],this.resourceType="",$.extend(this,e)}}class Ye{constructor(e){e=e||{},this.rootUrl="",this.tags=[],this.entities=[],$.extend(this,e)}}class Xe{constructor(e){e=e||{},this.type="",this.tags=[],this.entities=[],this.metadata={},this.addedMapNames=[],this.addedSceneNames=[],$.extend(this,e)}}class Qe{constructor(e){e=e||{},this.fileName="",this.type="",this.tags=[],this.dataMetaInfo={},$.extend(this,e)}}class Ze{constructor(e){e=e||{},this.xField="",this.yField="",this.fileEncoding="UTF-8",this.xIndex=1,this.yIndex=1,this.fieldTypes=[],this.separator="",this.firstRowIsHead=!0,this.url="",this.dataStoreInfo={},$.extend(this,e)}}class Ke{constructor(e){e=e||{},this.type="",this.url="",this.connectionInfo={},$.extend(this,e)}}class $e{constructor(e){e=e||{},this.dataBase="",this.server="",$.extend(this,e)}}class et{constructor(e,t){let r=this;this.EVENT_TYPES=["processCompleted","processFailed"],this.events=null,this.eventListeners=null,this.url=null,this.urls=null,this.proxy=null,this.index=null,this.length=null,this.options=null,this.totalTimes=null,this.POLLING_TIMES=3,this._processSuccess=null,this._processFailed=null,this.isInTheSameDomain=null,this.withCredentials=!1,$.isArray(e)?(r.urls=e,r.length=e.length,r.totalTimes=r.length,1===r.length?r.url=e[0]:(r.index=parseInt(Math.random()*r.length),r.url=e[r.index])):(r.totalTimes=1,r.url=e),$.isArray(e)&&!r.isServiceSupportPolling()&&(r.url=e[0],r.totalTimes=1),t=t||{},this.crossOrigin=t.crossOrigin,this.headers=t.headers,$.extend(this,t),r.isInTheSameDomain=$.isInTheSameDomain(r.url),r.events=new ve(r,null,r.EVENT_TYPES,!0),r.eventListeners instanceof Object&&r.events.on(r.eventListeners),this.CLASS_NAME="SuperMap.CommonServiceBase"}destroy(){let e=this;$.isArray(e.urls)&&(e.urls=null,e.index=null,e.length=null,e.totalTimes=null),e.url=null,e.options=null,e._processSuccess=null,e._processFailed=null,e.isInTheSameDomain=null,e.EVENT_TYPES=null,e.events&&(e.events.destroy(),e.events=null),e.eventListeners&&(e.eventListeners=null)}request(e){const t=e.scope.format;if(t&&!this.supportDataFormat(t))throw new Error(`${this.CLASS_NAME} is not surport ${t} format!`);let r=this;e.url=e.url||r.url,this._returnContent(e)&&!e.url.includes("returnContent=true")&&(e.url=$.urlAppend(e.url,"returnContent=true")),e.proxy=e.proxy||r.proxy,e.withCredentials=void 0!=e.withCredentials?e.withCredentials:r.withCredentials,e.crossOrigin=void 0!=e.crossOrigin?e.crossOrigin:r.crossOrigin,e.headers=e.headers||r.headers,e.isInTheSameDomain=r.isInTheSameDomain,e.withoutFormatSuffix=e.scope.withoutFormatSuffix||!1,e.url=je.appendCredential(e.url),r.calculatePollingTimes(),r._processSuccess=e.success,r._processFailed=e.failure,e.scope=r,e.success=r.getUrlCompleted,e.failure=r.getUrlFailed,r.options=e,r._commit(r.options)}getUrlCompleted(e){this._processSuccess(e)}getUrlFailed(e){let t=this;t.totalTimes>0?(t.totalTimes--,t.ajaxPolling()):t._processFailed(e)}ajaxPolling(){let e=this,t=e.options.url,r=/^http:\/\/([a-z]{9}|(\d+\.){3}\d+):\d{0,4}/;e.index=parseInt(Math.random()*e.length),e.url=e.urls[e.index],t=t.replace(r,r.exec(e.url)[0]),e.options.url=t,e.options.isInTheSameDomain=$.isInTheSameDomain(t),e._commit(e.options)}calculatePollingTimes(){let e=this;e.times?e.totalTimes>e.POLLING_TIMES?e.times>e.POLLING_TIMES?e.totalTimes=e.POLLING_TIMES:e.totalTimes=e.times:e.times<e.totalTimes&&(e.totalTimes=e.times):e.totalTimes>e.POLLING_TIMES&&(e.totalTimes=e.POLLING_TIMES),e.totalTimes--}isServiceSupportPolling(){return!("SuperMap.REST.ThemeService"===this.CLASS_NAME||"SuperMap.REST.EditFeaturesService"===this.CLASS_NAME)}serviceProcessCompleted(e){e=$.transformResult(e),this.events.triggerEvent("processCompleted",{result:e})}serviceProcessFailed(e){let t=(e=$.transformResult(e)).error||e;this.events.triggerEvent("processFailed",{error:t})}_returnContent(e){return e.scope.format!==t.FGB&&!!e.scope.returnContent}supportDataFormat(e){return this.dataFormat().includes(e)}dataFormat(){return[t.GEOJSON,t.ISERVER]}_commit(e){if("POST"===e.method||"PUT"===e.method||"PATCH"===e.method)if(e.params&&(e.url=$.urlAppend(e.url,$.getParameterString(e.params||{}))),"object"==typeof e.data)try{e.params=$.toJSON(e.data)}catch(e){console.log("不是json对象")}else e.params=e.data;Be.commit(e.method,e.url,e.params,{headers:e.headers,withoutFormatSuffix:e.withoutFormatSuffix,withCredentials:e.withCredentials,crossOrigin:e.crossOrigin,timeout:e.async?0:null,proxy:e.proxy}).then(function(e){return e.text?e.text():e.json?e.json():e}).then(function(r){let s=r;return"string"==typeof r&&(s=(new we).read(r)),(!s||s.error||s.code>=300&&304!==s.code)&&(s=s&&s.error?{error:s.error}:{error:s}),s&&e.scope.format===t.FGB&&(s.newResourceLocation=s.newResourceLocation.replace(".json","")+".fgb"),s}).catch(function(e){return{error:e}}).then(t=>{t.error?(e.scope?H.bind(e.failure,e.scope):e.failure)(t):(t.succeed=void 0==t.succeed||t.succeed,(e.scope?H.bind(e.success,e.scope):e.success)(t))})}}class tt{constructor(e){e.filters&&"string"==typeof e.filters&&(e.filters=e.filters.split(",")),this.address=null,this.fromIndex=null,this.toIndex=null,this.filters=null,this.prjCoordSys=null,this.maxReturn=null,$.extend(this,e)}destroy(){this.address=null,this.fromIndex=null,this.toIndex=null,this.filters=null,this.prjCoordSys=null,this.maxReturn=null}}class rt{constructor(e){e.filters&&(e.filters=e.filters.split(",")),this.x=null,this.y=null,this.fromIndex=null,this.toIndex=null,this.filters=null,this.prjCoordSys=null,this.maxReturn=null,this.geoDecodingRadius=null,$.extend(this,e)}destroy(){this.x=null,this.y=null,this.fromIndex=null,this.toIndex=null,this.filters=null,this.prjCoordSys=null,this.maxReturn=null,this.geoDecodingRadius=null}}class st extends et{constructor(e,t){super(e,t),this.options=t||{},this.CLASS_NAME="SuperMap.AddressMatchService"}destroy(){super.destroy()}code(e,t){t instanceof tt&&this.processAsync(e,t)}decode(e,t){t instanceof rt&&this.processAsync(e,t)}processAsync(e,t){this.request({method:"GET",url:e,params:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}serviceProcessCompleted(e){e.succeed&&delete e.succeed,super.serviceProcessCompleted(e)}serviceProcessFailed(e){super.serviceProcessFailed(e)}}class it{constructor(e){this.aggName=null,this.aggFieldName=null,this.CLASS_NAME="SuperMap.AggregationParameter",$.extend(this,e)}destroy(){this.aggName=null,this.aggFieldName=null,this.aggType=null}}class nt extends it{constructor(e){super(),this.subAggs=null,this.aggType=null,this.CLASS_NAME="SuperMap.BucketAggParameter",$.extend(this,e)}destroy(){this.subAggs&&(this.subAggs=null)}}class at{constructor(e){this.dataset=null,this.targetDatasourceName=null,this.totalGridName=null,this.diffuseDatasetGridName=null,this.durationDatasetGridName=null,this.directDatasetGridName=null,this.latitude=null,this.timeMode="MULTIDAYS",this.dayStart=null,this.dayEnd=null,this.hourStart=null,this.hourEnd=null,this.transmittance=null,this.hourInterval=null,this.dayInterval=null,this.deleteExistResultDataset=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.AreaSolarRadiationParameters"}destroy(){var e=this;e.dataset=null,e.zFactor=1,e.averageCurvatureName=null,e.profileCurvatureName=null,e.planCurvatureName=null,e.deleteExistResultDataset=!0}static toObject(e,t){var r={};for(var s in e){if("dataset"!==s)"latitude"===s||"timeMode"===s||"dayStart"===s||("dayEnd"===s||"hourStart"===s||"hourEnd"===s)||("transmittance"===s||"hourInterval"===s||"dayInterval"===s)?r[s]=e[s]:t[s]=e[s]}t.parameter=r}}class ot extends et{constructor(e,r){super(e,r),this.format=r.format||t.GEOJSON,this.CLASS_NAME="SuperMap.SpatialAnalystBase"}destroy(){super.destroy(),this.format=null}serviceProcessCompleted(e){var r,s=this;if((e=$.transformResult(e))&&s.format===t.GEOJSON&&"function"==typeof s.toGeoJSONResult)if($.isArray(e)){for(var i=0;i<e.length;i++)e[i]=s.toGeoJSONResult(e[i]);r=e}else r=s.toGeoJSONResult(e);r||(r=e),s.events.triggerEvent("processCompleted",{result:r})}toGeoJSONResult(e){if(!e)return null;e.result&&e.result.resultGeometry&&(e=e.result);var t=new Oe;if(e.recordsets)for(var r=0,s=e.recordsets,i=s.length;r<i;r++)s[r].features&&(s[r].features=t.toGeoJSON(s[r].features));else e.recordset&&e.recordset.features&&(e.recordset.features=t.toGeoJSON(e.recordset.features));return e.resultGeometry&&(e.resultGeometry=t.toGeoJSON(e.resultGeometry)),e.regions&&(e.regions=t.toGeoJSON(e.regions)),e}}class lt extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.AreaSolarRadiationService"}destroy(){super.destroy()}processAsync(e){if(e instanceof at){var t=this,r={};e instanceof at&&(t.url=$.urlPathAppend(t.url,`datasets/${e.dataset}/solarradiation`)),t.url=$.urlAppend(t.url,"returnContent=true"),at.toObject(e,r);var s=$.toJSON(r);t.request({method:"POST",data:s,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}}class ht{constructor(e){this.exp=null,this.value=100,$.extend(this,e),this.CLASS_NAME="SuperMap.BufferDistance"}destroy(){this.exp=null,this.value=null}}class ut{constructor(e){this.endType=S.FLAT,this.leftDistance=new ht,this.rightDistance=new ht,this.semicircleLineSegment=4,this.radiusUnit=h.METER,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.BufferSetting"}destroy(){let e=this;e.endType=null,e.leftDistance&&(e.leftDistance.destroy(),e.leftDistance=null),e.rightDistance&&(e.rightDistance.destroy(),e.rightDistance=null),e.semicircleLineSegment=null,e.radiusUnit=null}}class ct{constructor(e){this.bufferSetting=new ut,$.extend(this,e),this.CLASS_NAME="SuperMap.BufferAnalystParameters"}destroy(){this.bufferSetting&&(this.bufferSetting.destroy(),this.bufferSetting=null)}}class dt{constructor(e){this.expectCount=1e3,this.dataset=null,this.dataReturnMode=T.RECORDSET_ONLY,this.deleteExistResultDataset=!0,$.extend(this,e),this.CLASS_NAME="SuperMap.DataReturnOption"}destroy(){this.expectCount=null,this.dataset=null,this.dataReturnMode=null,this.deleteExistResultDataset=null}}class pt{constructor(e){this.attributeFilter=null,this.name=null,this.joinItems=null,this.linkItems=null,this.ids=null,this.orderBy=null,this.groupBy=null,this.fields=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.FilterParameter"}destroy(){var e=this;if(e.attributeFilter=null,e.name=null,e.joinItems){for(let t=0,r=e.joinItems,s=r.length;t<s;t++)r[t].destroy();e.joinItems=null}if(e.linkItems){for(let t=0,r=e.linkItems,s=r.length;t<s;t++)r[t].destroy();e.linkItems=null}e.ids=null,e.orderBy=null,e.groupBy=null,e.fields=null}}class ft extends ct{constructor(e){super(e),this.dataset=null,this.filterQueryParameter=new pt,this.resultSetting=new dt,this.isAttributeRetained=!0,this.isUnion=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.DatasetBufferAnalystParameters"}destroy(){super.destroy();var e=this;e.dataset=null,e.filterQueryParameter&&(e.filterQueryParameter.destroy(),e.filterQueryParameter=null),e.resultSetting&&(e.resultSetting.destroy(),e.resultSetting=null),e.isAttributeRetained=null,e.isUnion=null}static toObject(e,t){for(var r in e)if("bufferSetting"===r)e.bufferSetting.radiusUnit=e.bufferSetting.radiusUnit.toUpperCase(),t.bufferAnalystParameter=e.bufferSetting;else if("resultSetting"===r)t.dataReturnOption=e.resultSetting;else{if("dataset"===r)continue;t[r]=e[r]}}}class mt extends ct{constructor(e){super(e),this.sourceGeometry=null,this.sourceGeometrySRID=null,e&&$.extend(this,e),this.CLASS_NAME=" SuperMap.GeometryBufferAnalystParameters"}destroy(){super.destroy();this.sourceGeometry&&(this.sourceGeometry.destroy(),this.sourceGeometry=null)}static toObject(e,t){for(var r in e)if("bufferSetting"===r){var s={};for(var i in e.bufferSetting)s[i]=e.bufferSetting[i];t.analystParameter=s}else"sourceGeometry"===r?t.sourceGeometry=Ae.fromGeometry(e.sourceGeometry):t[r]=e[r]}}class yt extends ot{constructor(e,t){super(e,t),this.mode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.BufferAnalystService"}destroy(){super.destroy(),this.mode=null}processAsync(e){var t={},r=this;e instanceof ft?(r.mode="datasets",r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/buffer"),ft.toObject(e,t)):e instanceof mt&&(r.mode="geometry",r.url=$.urlPathAppend(r.url,"geometry/buffer"),mt.toObject(e,t));var s=$.toJSON(t);this.returnContent=!0,r.request({method:"POST",data:s,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}}class gt{constructor(e){this.alias=null,this.connect=null,this.dataBase=null,this.driver=null,this.engineType=null,this.exclusive=null,this.OpenLinkTable=null,this.password=null,this.readOnly=null,this.server=null,this.user=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.DatasourceConnectionInfo"}destroy(){var e=this;e.alias=null,e.connect=null,e.dataBase=null,e.driver=null,e.engineType=null,e.exclusive=null,e.OpenLinkTable=null,e.password=null,e.readOnly=null,e.server=null,e.user=null}}class vt{constructor(e){this.type=_.UDB,this.datasetName="analystResult",this.datasourceInfo=null,this.outputPath="",$.extend(this,e),this.CLASS_NAME="SuperMap.OutputSetting"}destroy(){var e=this;e.type=null,e.datasetName=null,e.outputPath=null,e.datasourceInfo instanceof gt&&(e.datasourceInfo.destroy(),e.datasourceInfo=null)}}class bt{constructor(e){this.items=null,this.numericPrecision=1,this.rangeMode=f.EQUALINTERVAL,this.rangeCount="",this.colorGradientType=m.YELLOW_RED,$.extend(this,e),this.CLASS_NAME="SuperMap.MappingParameters"}destroy(){var e=this;if(e.items){if(e.items.length>0)for(var t in e.items)e.items[t].destroy(),e.items[t]=null;e.items=null}e.numericPrecision=null,e.rangeMode=null,e.rangeCount=null,e.colorGradientType=null}}class St{constructor(e){if(this.datasetName="",this.bounds="",this.distance="",this.distanceField="",this.distanceUnit=F.METER,this.dissolveField="",this.output=null,this.mappingParameters=null,!e)return this;$.extend(this,e),this.CLASS_NAME="SuperMap.BuffersAnalystJobsParameter"}destroy(){this.datasetName=null,this.bounds=null,this.distance=null,this.distanceField=null,this.distanceUnit=null,this.dissolveField=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},"bounds"===r&&e[r]?t.analyst[r]=e[r].toBBOX():t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class xt extends et{constructor(e,t){(t=t||{}).EVENT_TYPES=["processCompleted","processFailed","processRunning"],super(e,t),this.CLASS_NAME="SuperMap.ProcessingServiceBase"}destroy(){super.destroy()}getJobs(e){var t=this;Be.get(je.appendCredential(e),null,{proxy:t.proxy}).then(function(e){return e.json()}).then(function(e){t.events.triggerEvent("processCompleted",{result:e})}).catch(function(e){t.eventListeners.processFailed({error:e})})}addJob(e,t,r,s){var i=this,n=null;t&&t instanceof r&&(n=new Object,r.toObject(t,n));let a=Object.assign({"Content-Type":"application/x-www-form-urlencoded"},i.headers||{});var o={proxy:i.proxy,headers:a,withCredentials:i.withCredentials,crossOrigin:i.crossOrigin,isInTheSameDomain:i.isInTheSameDomain};Be.post(je.appendCredential(e),JSON.stringify(n),o).then(function(e){return e.json()}).then(function(e){e.succeed?i.serviceProcessCompleted(e,s):i.serviceProcessFailed(e)}).catch(function(e){i.serviceProcessFailed({error:e})})}serviceProcessCompleted(e,t){e=$.transformResult(e),t=t||1e3;var r=this;if(e)var s=setInterval(function(){Be.get(je.appendCredential(e.newResourceLocation),{_t:(new Date).getTime()}).then(function(e){return e.json()}).then(function(e){r.events.triggerEvent("processRunning",{id:e.id,state:e.state}),"LOST"!==e.state.runState&&"KILLED"!==e.state.runState&&"FAILED"!==e.state.runState||(clearInterval(s),r.events.triggerEvent("processFailed",{error:e.state.errorMsg,state:e.state.runState})),"FINISHED"===e.state.runState&&e.setting.serviceInfo&&(clearInterval(s),r.events.triggerEvent("processCompleted",{result:e}))}).catch(function(e){clearInterval(s),r.events.triggerEvent("processFailed",{error:e})})},t)}serviceProcessFailed(e){super.serviceProcessFailed(e)}}class _t extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/buffers"),this.CLASS_NAME="SuperMap.BuffersAnalystJobsService"}destroy(){super.destroy()}getBuffersJobs(){super.getJobs(this.url)}getBuffersJob(e){super.getJobs($.urlPathAppend(this.url,e))}addBuffersJob(e,t){super.addJob(this.url,e,St,t)}}class wt{constructor(e){this.sourceNodeIDs=null,this.edgeID=null,this.nodeID=null,this.isUncertainDirectionValid=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.BurstPipelineAnalystParameters"}destroy(){this.sourceNodeIDs=null,this.edgeID=null,this.nodeID=null,this.isUncertainDirectionValid=null}}class Ct extends et{constructor(e,r){super(e,r),this.format=t.GEOJSON,this.CLASS_NAME="SuperMap.NetworkAnalystServiceBase"}destroy(){super.destroy(),this.format=null}serviceProcessCompleted(e){var r;(e=$.transformResult(e))&&this.format===t.GEOJSON&&"function"==typeof this.toGeoJSONResult&&(r=this.toGeoJSONResult(e)),r||(r=e),this.events.triggerEvent("processCompleted",{result:r})}toGeoJSONResult(e){return null}}class Tt extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.BurstPipelineAnalystService"}destroy(){super.destroy()}processAsync(e){if(!(e instanceof wt))return null;var t,r=this;if(r.url=$.urlPathAppend(r.url,"burstAnalyse"),t={sourceNodeIDs:e.sourceNodeIDs,isUncertainDirectionValid:e.isUncertainDirectionValid},null!==e.edgeID&&null!==e.nodeID)throw new Error("edgeID and nodeID cannot be null at the same time.");if(null===e.edgeID&&null===e.nodeID)throw new Error("edgeID and nodeID cannot be null at the same time.");null!==e.edgeID?t.edgeID=e.edgeID:t.nodeID=e.nodeID,r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}class Mt extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.ChartFeatureInfoSpecsService"}destroy(){super.destroy(),$.reset(this)}processAsync(){var e=this;e.isTempLayers||$.urlPathAppend(e.url,"chartFeatureInfoSpecs"),e.request({method:"GET",params:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}class Et{constructor(e){this.isQueryPoint=null,this.isQueryLine=null,this.isQueryRegion=null,this.attributeFilter=null,this.chartFeatureInfoSpecCode=null,$.extend(this,e),this.CLASS_NAME="SuperMap.ChartQueryFilterParameter"}destroy(){var e=this;e.isQueryPoint=null,e.isQueryLine=null,e.isQueryRegion=null,e.attributeFilter=null,e.chartFeatureInfoSpecCode=null}toJson(){var e="";return e+='"isQueryPoint":'+this.isQueryPoint+",",e+='"isQueryLine":'+this.isQueryLine+",",e+='"isQueryRegion":'+this.isQueryRegion+",",this.attributeFilter&&(e+='"attributeFilter": "'+this.attributeFilter+'",'),e="{"+(e+='"chartFeatureInfoSpecCode":'+this.chartFeatureInfoSpecCode)+"}"}}class At{constructor(e){this.queryMode=null,this.bounds=null,this.chartLayerNames=null,this.chartQueryFilterParameters=null,this.returnContent=!0,this.startRecord=0,this.expectCount=null,$.extend(this,e),this.CLASS_NAME="SuperMap.ChartQueryParameters"}destroy(){var e=this;e.queryMode=null,e.bounds=null,e.chartLayerNames=null,e.chartQueryFilterParameters=null,e.returnContent=!0,e.startRecord=0,e.expectCount=null}getVariablesJson(){var e="";if(e+='"queryMode":"'+this.queryMode+'",',this.chartLayerNames&&this.chartLayerNames.length){for(var t=[],r=this.chartLayerNames.length,s=0;s<r;s++)t.push('"'+this.chartLayerNames[s]+'"');e+='"chartLayerNames":'+("["+t.join(",")+"]")+","}if("ChartBoundsQuery"===this.queryMode&&this.bounds&&(e+='"bounds":{"leftBottom":{"x":'+this.bounds.left+',"y":'+this.bounds.bottom+'},"rightTop":{"x":'+this.bounds.right+',"y":'+this.bounds.top+"}},"),this.chartQueryFilterParameters&&this.chartQueryFilterParameters.length){for(var i=[],n=this.chartQueryFilterParameters.length,a=0;a<n;a++){var o=this.chartQueryFilterParameters[a];o instanceof Et&&i.push(o.toJson())}var l="["+i.join(",")+"]";l='"chartQueryParams":'+l+",",l+='"startRecord":'+this.startRecord+",",e+='"chartQueryParameters":'+(l="{"+(l+='"expectCount":'+this.expectCount)+"}")}return e="{"+e+"}"}}class Ot{constructor(e){e&&(this.customParams=null,this.prjCoordSys=null,this.expectCount=1e5,this.networkType=i.LINE,this.queryOption=n.ATTRIBUTEANDGEOMETRY,this.queryParams=null,this.startRecord=0,this.holdTime=10,this.returnCustomResult=!1,this.returnFeatureWithFieldCaption=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.QueryParameters")}destroy(){var e=this;if(e.customParams=null,e.expectCount=null,e.networkType=null,e.queryOption=null,e.queryParams){for(var t=0,r=e.queryParams,s=r.length;t<s;t++)r[t].destroy();e.queryParams=null}e.startRecord=null,e.holdTime=null,e.returnCustomResult=null,e.prjCoordSys=null}}class Pt extends et{constructor(e,r){super(e,r),r=r||{},this.returnContent=null,this.format=t.GEOJSON,$.extend(this,r);r.format&&(this.format=r.format.toUpperCase()),this.url&&(this.url=$.urlPathAppend(this.url,"queryResults"),this.CLASS_NAME="SuperMap.ChartQueryService")}destroy(){et.prototype.destroy.apply(this,arguments),this.returnContent=null,this.format=null}processAsync(e){if(e instanceof At){var t,r=this;r.returnContent=e.returnContent,t=e.getVariablesJson(),r.returnContent&&(r.url=$.urlAppend(r.url,"returnContent=true")),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}serviceProcessCompleted(e){if((e=$.transformResult(e))&&e.recordsets&&this.format===t.GEOJSON)for(var r=0,s=e.recordsets,i=s.length;r<i;r++)if(s[r].features){var n=new Oe;s[r].features=n.toGeoJSON(s[r].features)}this.events.triggerEvent("processCompleted",{result:e})}getQueryParameters(e){return new Ot({queryMode:e.queryMode,bounds:e.bounds,chartLayerNames:e.chartLayerNames,chartQueryFilterParameters:e.chartQueryFilterParameters,returnContent:e.returnContent})}}class Lt{constructor(e){e=e||{},this.elevation=null,this.color=null,$.extend(this,e);var t=this.color;t&&(this.color=new Ce(t.red,t.green,t.blue)),this.CLASS_NAME="SuperMap.ColorDictionary"}destroy(){$.reset(this)}toServerJSONObject(){var e={};return e=$.copyAttributes(e,this)}}class It{constructor(e){e&&(this.returnEdgeFeatures=!1,this.returnEdgeGeometry=!1,this.returnEdgeIDs=!1,this.returnNodeFeatures=!1,this.returnNodeGeometry=!1,this.returnNodeIDs=!1,this.returnPathGuides=!1,this.returnRoutes=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.TransportationAnalystResultSetting")}destroy(){var e=this;e.returnEdgeFeatures=null,e.returnEdgeGeometry=null,e.returnEdgeIDs=null,e.returnNodeFeatures=null,e.returnNodeGeometry=null,e.returnNodeIDs=null,e.returnPathGuides=null,e.returnRoutes=null}}class Nt{constructor(e){e&&(this.barrierEdgeIDs=null,this.barrierNodeIDs=null,this.barrierPoints=null,this.weightFieldName=null,this.turnWeightField=null,this.resultSetting=new It,$.extend(this,e),this.CLASS_NAME="SuperMap.TransportationAnalystParameter")}destroy(){var e=this;if(e.barrierEdgeIDs=null,e.barrierNodeIDs=null,e.weightFieldName=null,e.turnWeightField=null,e.resultSetting&&(e.resultSetting.destroy(),e.resultSetting=null),e.barrierPoints&&e.barrierPoints.length)for(var t in e.barrierPoints)e.barrierPoints[t].destroy();e.barrierPoints=null}}class Ft{constructor(e){this.isAnalyzeById=!1,this.nodes=null,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.ComputeWeightMatrixParameters"}destroy(){var e=this;e.isAnalyzeById=null,e.nodes=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class kt extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.ComputeWeightMatrixService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Ft){var t,r=this;r.url=$.urlPathAppend(r.url,"weightmatrix"),t={parameter:$.toJSON(e.parameter),nodes:r.getJson(e.isAnalyzeById,e.nodes)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJson(e,t){var r="[",s=t?t.length:0;if(!1===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+='{"x":'+t[e].x+',"y":'+t[e].y+"}";else if(!0===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+=t[e];return r+="]"}}class Rt extends et{constructor(e,t){(t=t||{}).EVENT_TYPES=["broadcastSocketConnected","broadcastSocketClosed","broadcastSocketError","broadcastFailed","broadcastSucceeded","subscribeSocketConnected","subscribeSocketClosed","subscribeSocketError","messageSucceeded","setFilterParamSucceeded"],super(e,t),this.geometry=null,this.prjCoordSys=null,this.excludeField=null,$.extend(this,t),this.CLASS_NAME="SuperMap.DataFlowService"}initBroadcast(){var e=this;return this.broadcastWebSocket=this._connect($.urlPathAppend(e.url,"broadcast")),this.broadcastWebSocket.onopen=function(t){e.broadcastWebSocket.isOpen=!0,t.eventType="broadcastSocketConnected",e.events.triggerEvent("broadcastSocketConnected",t)},this.broadcastWebSocket.onclose=function(t){e.broadcastWebSocket&&(e.broadcastWebSocket.isOpen=!1),t.eventType="broadcastSocketClosed",e.events.triggerEvent("broadcastSocketClosed",t)},this.broadcastWebSocket.onerror=function(t){t.eventType="broadcastSocketError",e.events.triggerEvent("broadcastSocketError",t)},this}broadcast(e){this.broadcastWebSocket&&this.broadcastWebSocket.isOpen?(this.broadcastWebSocket.send(JSON.stringify(e)),this.events.triggerEvent("broadcastSucceeded")):this.events.triggerEvent("broadcastFailed")}initSubscribe(){var e=this;return this.subscribeWebSocket=this._connect($.urlPathAppend(e.url,"subscribe")),this.subscribeWebSocket.onopen=function(t){e.subscribeWebSocket.send(e._getFilterParams()),t.eventType="subscribeSocketConnected",e.events.triggerEvent("subscribeSocketConnected",t)},this.subscribeWebSocket.onclose=function(t){t.eventType="subscribeWebSocketClosed",e.events.triggerEvent("subscribeWebSocketClosed",t)},this.subscribeWebSocket.onerror=function(t){t.eventType="subscribeSocketError",e.events.triggerEvent("subscribeSocketError",t)},this.subscribeWebSocket.onmessage=function(t){e._onMessage(t)},this}setExcludeField(e){return this.excludeField=e,this.subscribeWebSocket.send(this._getFilterParams()),this}setGeometry(e){return this.geometry=e,this.subscribeWebSocket.send(this._getFilterParams()),this}unSubscribe(){this.subscribeWebSocket&&(this.subscribeWebSocket.close(),this.subscribeWebSocket=null)}unBroadcast(){this.broadcastWebSocket&&(this.broadcastWebSocket.close(),this.broadcastWebSocket=null)}destroy(){et.prototype.destroy.apply(this,arguments);this.geometry=null,this.prjCoordSys=null,this.excludeField=null,this.unBroadcast(),this.unSubscribe()}_getFilterParams(){var e={filterParam:{prjCoordSys:this.prjCoordSys,excludeField:this.excludeField,geometry:this.geometry}};return $.toJSON(e)}_onMessage(e){if(e.data&&e.data.indexOf("filterParam")>=0){var t=JSON.parse(e.data);return e.filterParam=t,e.eventType="setFilterParamSucceeded",void this.events.triggerEvent("setFilterParamSucceeded",e)}var r=JSON.parse(e.data);e.featureResult=r,e.eventType="messageSucceeded",this.events.triggerEvent("messageSucceeded",e)}_connect(e){return e=je.appendCredential(e),"WebSocket"in window?new WebSocket(e):"MozWebSocket"in window?new(0,window.MozWebSocket)(e):(console.log("no WebSocket"),null)}}class Dt{constructor(e){e=e||{},this.bounds=null,this.dataSourceName=null,this.description=null,this.encodeType=null,this.isReadOnly=null,this.name=null,this.prjCoordSys=null,this.tableName=null,this.type=null,$.extend(this,e);var t=this.bounds;t&&(this.bounds=new se(t.leftBottom.x,t.leftBottom.y,t.rightTop.x,t.rightTop.y)),this.CLASS_NAME="SuperMap.DatasetInfo"}destroy(){$.reset(this)}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).bounds&&e.bounds.toServerJSONObject&&(e.bounds=e.bounds.toServerJSONObject()),e}}class Gt{constructor(e){this.operation=x.UNION,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.OverlayAnalystParameters"}destroy(){this.operation=null}}class Bt extends Gt{constructor(e){super(e),this.operateDataset=null,this.operateDatasetFields=[],this.operateDatasetFilter=new pt,this.operateRegions=[],this.sourceDataset=null,this.sourceDatasetFields=[],this.sourceDatasetFilter=new pt,this.tolerance=0,this.resultSetting=new dt,$.extend(this,e),this.CLASS_NAME="SuperMap.DatasetOverlayAnalystParameters"}destroy(){super.destroy();var e=this;if(e.operateDataset=null,e.operateDatasetFields=null,e.operateDatasetFilter&&(e.operateDatasetFilter.destroy(),e.operateDatasetFilter=null),e.operateRegions){for(var t=0,r=e.operateRegions,s=r.length;t<s;t++)r[t].destroy();e.operateRegions=null}e.sourceDataset=null,e.sourceDatasetFields=null,e.sourceDatasetFilter&&(e.sourceDatasetFilter.destroy(),e.sourceDatasetFilter=null),e.tolerance=null,e.resultSetting&&(e.resultSetting.destroy(),e.resultSetting=null)}static toObject(e,t){for(var r in e)if("sourceDataset"!==r)if("operateRegions"===r){t.operateRegions=[];var s=e.operateRegions;for(var i in s)s.hasOwnProperty(i)&&(t.operateRegions[i]=Ae.fromGeometry(s[i]))}else"resultSetting"===r?t.dataReturnOption=e.resultSetting:t[r]=e[r]}}class jt{constructor(e){this.clipRegion=null,this.datumValue=0,this.expectedZValues=null,this.interval=0,this.resampleTolerance=0,this.smoothMethod=w.BSPLINE,this.smoothness=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.SurfaceAnalystParametersSetting"}destroy(){var e=this;e.clipRegion&&(e.clipRegion.destroy(),e.clipRegion=null),e.datumValue=null,e.expectedZValues=null,e.interval=null,e.resampleTolerance=null,e.smoothMethod=null,e.smoothness=null}toJSON(){let e="'datumValue':"+$.toJSON(this.datumValue);if(e+=",'interval':"+$.toJSON(this.interval),e+=",'resampleTolerance':"+$.toJSON(this.resampleTolerance),e+=",'smoothMethod':"+$.toJSON(this.smoothMethod),e+=",'smoothness':"+$.toJSON(this.smoothness),null!=this.expectedZValues&&(e+=",'expectedZValues':"+$.toJSON(this.expectedZValues)),null!=this.clipRegion){var t=this.clipRegion;this.clipRegion instanceof Y&&this.clipRegion.components&&(t=Ae.fromGeometry(this.clipRegion)),e+=",'clipRegion':"+$.toJSON(t)}return"{"+e+"}"}}class Ut{constructor(e){this.resolution=0,this.extractParameter=new jt,this.resultSetting=new dt,this.surfaceAnalystMethod=C.ISOLINE,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.SurfaceAnalystParameters"}destroy(){var e=this;e.resolution=null,e.extractParameter&&(e.extractParameter.destroy(),e.extractParameter=null),e.resultSetting&&(e.resultSetting.destroy(),e.resultSetting=null),e.surfaceAnalystMethod=null}}class Vt extends Ut{constructor(e){super(e),this.dataset=null,this.filterQueryParameter=new pt,this.zValueFieldName=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.DatasetSurfaceAnalystParameters"}destroy(){super.destroy();var e=this;e.dataset=null,e.filterQueryParameter&&(e.filterQueryParameter.destroy(),e.filterQueryParameter=null),e.zValueFieldName=null}static toObject(e,t){for(var r in e)if("filterQueryParameter"===r&&(t.filterQueryParameter=e.filterQueryParameter),"extractParameter"===r)e.extractParameter.clipRegion instanceof Y&&e.extractParameter.clipRegion.components&&(e.extractParameter.clipRegion=Ae.fromGeometry(e.extractParameter.clipRegion)),t.extractParameter=e.extractParameter;else{if("dataset"===r)continue;if("surfaceAnalystMethod"===r)continue;t[r]=e[r]}}}class zt{constructor(e){e&&(this.clipRegion=null,this.createResultDataset=!1,this.resultDatasetName=null,this.resultDatasourceName=null,this.returnResultRegion=!0,$.extend(this,e),this.CLASS_NAME="SuperMap.ThiessenAnalystParameters")}destroy(){var e=this;e.clipRegion&&(e.clipRegion.destroy(),e.clipRegion=null),e.createResultDataset=null,e.resultDatasetName=null,e.resultDatasourceName=null,e.returnResultRegion=null}}class Jt extends zt{constructor(e){super(e),this.filterQueryParameter=null,this.dataset=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.DatasetThiessenAnalystParameters"}destroy(){super.destroy();this.filterQueryParameter&&(this.filterQueryParameter.destroy(),this.filterQueryParameter=null)}static toObject(e,t){for(var r in e)"clipRegion"===r?t.clipRegion=Ae.fromGeometry(e.clipRegion):t[r]=e[r]}}class qt extends et{constructor(e,t){super(e,t),t&&$.extend(this,t),this.CLASS_NAME="SuperMap.DatasourceService"}destroy(){super.destroy()}getDatasourceService(e){var t=this;t.url=$.urlPathAppend(t.url,`datasources/name/${e}`),t.request({method:"GET",data:null,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}getDatasourcesService(){var e=this;e.url=$.urlPathAppend(e.url,"datasources"),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}setDatasourceService(e){if(e){var t=$.toJSON(e);this.request({method:"PUT",data:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}}class Ht{constructor(e){this.dataset=null,this.bounds=null,this.fieldName=null,this.resultGridDatasetResolution=null,this.searchRadius=null,this.targetDatasource=null,this.resultGridName=null,this.deleteExistResultDataset=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.DensityKernelAnalystParameters"}destroy(){var e=this;e.dataset=null,e.bounds=null,e.fieldName=null,e.resultGridDatasetResolution=null,e.searchRadius=null,e.targetDatasource=null,e.resultGridName=null,e.deleteExistResultDataset=null}static toObject(e,t){for(var r in e)"dataset"!==r&&(t[r]=e[r])}}class Wt extends ot{constructor(e,t){super(e,t),this.mode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.DensityAnalystService"}destroy(){super.destroy(),this.mode=null}processAsync(e){var t=this,r=new Object;e instanceof Ht&&(t.url=$.urlPathAppend(t.url,"datasets/"+e.dataset+"/densityanalyst/kernel"),t.mode="kernel"),Ht.toObject(e,r);var s=$.toJSON(r);t.url=$.urlAppend(t.url,"returnContent=true"),t.request({method:"POST",data:s,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}class Yt{constructor(e){this.dataSourceName=null,this.dataSetName=null,this.features=null,this.editType=M.ADD,this.IDs=null,this.returnContent=!1,this.isUseBatch=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.EditFeaturesParameters"}destroy(){var e=this;e.dataSourceName=null,e.dataSetName=null,e.features=null,e.editType=null,e.IDs=null,e.returnContent=null}static toJsonParameters(e){var t,r,s;if(e.editType===M.DELETE){if(null===e.IDs)return;s={ids:e.IDs}}else if(s=[],e.features){r=e.features.length;for(var i=0;i<r;i++)(t=e.features[i]).geometry=Ae.fromGeometry(t.geometry),s.push(t)}return $.toJSON(s)}}class Xt extends et{constructor(e,t){super(e,t),this.returnContent=!1,this.isUseBatch=!1,t&&$.extend(this,t),this.url=$.urlPathAppend(this.url,"features"),this.CLASS_NAME="SuperMap.EditFeaturesService"}destroy(){super.destroy();this.returnContent=null,this.isUseBatch=null,this.fromIndex=null,this.toIndex=null}processAsync(e){if(e instanceof Yt){var t=this,r="POST",s="",i=e.editType,n=null;if(t.returnContent=e.returnContent,t.isUseBatch=e.isUseBatch,n=Yt.toJsonParameters(e),i===M.DELETE){n=s=$.toJSON(e.IDs);var a=$.urlAppend(t.url,$.getParameterString({ids:s}));Be.urlIsLong(a)?(t.url=$.urlAppend(t.url,$.getParameterString({_method:"DELETE"})),r="POST"):(t.url=a,r="DELETE")}else i===M.UPDATE?r="PUT":(t.isUseBatch&&(t.url=$.urlAppend(t.url,`isUseBatch=${t.isUseBatch}`),t.returnContent=!1),t.returnContent&&(t.url=$.urlAppend(t.url,"returnContent=true"),r="POST"));t.request({method:r,data:n,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}}class Qt{constructor(e){this.edgeID=null,this.nodeID=null,this.weightName=null,this.isUncertainDirectionValid=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.FacilityAnalyst3DParameters"}destroy(){this.edgeID=null,this.nodeID=null,this.weightName=null,this.isUncertainDirectionValid=null}}class Zt extends Qt{constructor(e){super(e),this.CLASS_NAME="SuperMap.FacilityAnalystSinks3DParameters"}destroy(){super.destroy()}}class Kt extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystSinks3DService"}destroy(){et.prototype.destroy.apply(this,arguments)}processAsync(e){if(e instanceof Zt){var t,r=this;r.url=$.urlPathAppend(r.url,"sinks"),t={edgeID:e.edgeID,nodeID:e.nodeID,weightName:e.weightName,isUncertainDirectionValid:e.isUncertainDirectionValid},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class $t extends Qt{constructor(e){super(e),this.CLASS_NAME="SuperMap.FacilityAnalystSources3DParameters"}destroy(){super.destroy()}}class er extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystSources3DService"}destroy(){super.destroy()}processAsync(e){if(e instanceof $t){var t,r=this;r.url=$.urlPathAppend(r.url,"sources"),t={edgeID:e.edgeID,nodeID:e.nodeID,weightName:e.weightName,isUncertainDirectionValid:e.isUncertainDirectionValid},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class tr{constructor(e){this.sourceNodeIDs=null,this.edgeID=null,this.nodeID=null,this.isUncertainDirectionValid=!1,this.queryType=null,$.extend(this,e),this.CLASS_NAME="SuperMap.FacilityAnalystStreamParameters"}destroy(){var e=this;e.edgeID=null,e.nodeID=null,e.weightName=null,e.isUncertainDirectionValid=null,e.type=null}}class rr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystStreamService"}destroy(){super.destroy()}processAsync(e){if(e instanceof tr){var t,r=this;if(0===e.queryType)r.url=$.urlPathAppend(r.url,"upstreamcirticalfaclilities");else{if(1!==e.queryType)return;r.url=$.urlPathAppend(r.url,"downstreamcirticalfaclilities")}t={sourceNodeIDs:e.sourceNodeIDs,isUncertainDirectionValid:e.isUncertainDirectionValid},null!==e.edgeID&&null!==e.nodeID||null===e.edgeID&&null===e.nodeID||(null!==e.edgeID?t.edgeID=e.edgeID:t.nodeID=e.nodeID,r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed}))}}}class sr extends Qt{constructor(e){super(e),this.CLASS_NAME="SuperMap.FacilityAnalystTracedown3DParameters"}destroy(){super.destroy()}}class ir extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystTracedown3DService"}destroy(){super.destroy()}processAsync(e){if(e instanceof sr){var t,r=this;r.url=$.urlPathAppend(r.url,"tracedownresult"),t={edgeID:e.edgeID,nodeID:e.nodeID,weightName:e.weightName,isUncertainDirectionValid:e.isUncertainDirectionValid},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class nr extends Qt{constructor(e){super(e),this.CLASS_NAME="SuperMap.FacilityAnalystTraceup3DParameters"}destroy(){super.destroy()}}class ar extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystTraceup3DService"}destroy(){super.destroy()}processAsync(e){if(e instanceof nr){var t,r=this;r.url=$.urlPathAppend(r.url,"traceupresult"),t={edgeID:e.edgeID,nodeID:e.nodeID,weightName:e.weightName,isUncertainDirectionValid:e.isUncertainDirectionValid},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class or extends Qt{constructor(e){super(e),e=e||{},this.sourceNodeIDs=null,$.extend(this,e),this.CLASS_NAME="SuperMap.FacilityAnalystUpstream3DParameters"}destroy(){super.destroy(),this.sourceNodeIDs=null}}class lr extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FacilityAnalystUpstream3DService"}destroy(){super.destroy()}processAsync(e){if(e instanceof or){var t,r=this;r.url=$.urlPathAppend(r.url,"upstreamcirticalfaclilities"),t={sourceNodeIDs:e.sourceNodeIDs,edgeID:e.edgeID,nodeID:e.nodeID,isUncertainDirectionValid:e.isUncertainDirectionValid},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class hr{constructor(e){this.datasource=null,this.dataset=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.FieldParameters"}destroy(){this.datasource=null,this.dataset=null}}class ur extends et{constructor(e,t){super(e,t),this.datasource=null,this.dataset=null,this.field=null,this.statisticMode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.FieldStatisticService"}destroy(){super.destroy();this.datasource=null,this.dataset=null,this.field=null,this.statisticMode=null}processAsync(){var e=this,t="datasources/"+e.datasource+"/datasets/"+e.dataset+"/fields/"+e.field+"/"+e.statisticMode;e.url=$.urlPathAppend(e.url,t),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}class cr{constructor(e){this.event=null,this.expectFacilityCount=1,this.facilities=null,this.fromEvent=!1,this.isAnalyzeById=!1,this.maxWeight=0,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.FindClosestFacilitiesParameters"}destroy(){var e=this;e.event=null,e.expectFacilityCount=null,e.facilities=null,e.fromEvent=null,e.isAnalyzeById=null,e.maxWeight=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class dr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindClosestFacilitiesService"}destroy(){super.destroy()}processAsync(e){if(e instanceof cr){var t,r=this;r.url=$.urlPathAppend(r.url,"closestfacility"),t={expectFacilityCount:e.expectFacilityCount,fromEvent:e.fromEvent,maxWeight:e.maxWeight,parameter:$.toJSON(e.parameter),event:$.toJSON(e.event),facilities:r.getJson(e.isAnalyzeById,e.facilities)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJson(e,t){var r="[",s=t?t.length:0;if(!1===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+='{"x":'+t[e].x+',"y":'+t[e].y+"}";else if(!0===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+=t[e];return r+="]"}toGeoJSONResult(e){if(!e||!e.facilityPathList)return e;var t=new Oe;return e.facilityPathList.map(function(e){return e.route&&(e.route=t.toGeoJSON(e.route)),e.pathGuideItems&&(e.pathGuideItems=t.toGeoJSON(e.pathGuideItems)),e.edgeFeatures&&(e.edgeFeatures=t.toGeoJSON(e.edgeFeatures)),e.nodeFeatures&&(e.nodeFeatures=t.toGeoJSON(e.nodeFeatures)),e}),e}}class pr{constructor(e){this.expectedSupplyCenterCount=null,this.isFromCenter=!1,this.supplyCenters=null,this.turnWeightField=null,this.weightName=null,$.extend(this,e),this.CLASS_NAME="SuperMap.FindLocationParameters"}destroy(){var e=this;if(e.expectedSupplyCenterCount=null,e.isFromCenter=null,e.turnWeightField=null,e.weightName=null,e.supplyCenters){for(var t=0,r=e.supplyCenters,s=r.length;t<s;t++)r[t].destroy();e.supplyCenters=null}}}class fr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindLocationService"}destroy(){super.destroy()}processAsync(e){if(e instanceof pr){var t,r=this;r.url=$.urlPathAppend(r.url,"location"),t={isFromCenter:e.isFromCenter,expectedSupplyCenterCount:e.expectedSupplyCenterCount,weightName:e.weightName,turnWeightField:e.turnWeightField,returnEdgeFeature:!0,returnEdgeGeometry:!0,returnNodeFeature:!0,mapParameter:$.toJSON(e.mapParameter),supplyCenters:r.getCentersJson(e.supplyCenters)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getCentersJson(e){for(var t="[",r=e?e.length:0,s=0;s<r;s++)s>0&&(t+=","),t+=$.toJSON(e[s]);return t+="]"}toGeoJSONResult(e){if(!e)return null;var t=new Oe;return e.demandResults&&(e.demandResults=t.toGeoJSON(e.demandResults)),e.supplyResults&&(e.supplyResults=t.toGeoJSON(e.supplyResults)),e}}class mr{constructor(e){this.centers=null,this.hasLeastTotalCost=!1,this.isAnalyzeById=!1,this.nodes=null,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.FindMTSPPathsParameters"}destroy(){var e=this;e.centers=null,e.hasLeastTotalCost=null,e.isAnalyzeById=null,e.nodes=null,e.maxWeight=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class yr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindMTSPPathsService"}destroy(){super.destroy()}processAsync(e){if(e instanceof mr){var t,r=this,s=r.getJson(e.isAnalyzeById,e.centers),i=r.getJson(e.isAnalyzeById,e.nodes);r.url=$.urlPathAppend(r.url,"mtsppath"),t={centers:s,nodes:i,parameter:$.toJSON(e.parameter),hasLeastTotalCost:e.hasLeastTotalCost},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJson(e,t){var r="[",s=t?t.length:0;if(!1===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+='{"x":'+t[e].x+',"y":'+t[e].y+"}";else if(!0===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+=t[e];return r+="]"}toGeoJSONResult(e){if(!e||!e.pathList)return null;var t=new Oe;return e.pathList.map(function(e){return e.route&&(e.route=t.toGeoJSON(e.route)),e.pathGuideItems&&(e.pathGuideItems=t.toGeoJSON(e.pathGuideItems)),e.edgeFeatures&&(e.edgeFeatures=t.toGeoJSON(e.edgeFeatures)),e.nodeFeatures&&(e.nodeFeatures=t.toGeoJSON(e.nodeFeatures)),e}),e}}class gr{constructor(e){this.isAnalyzeById=!1,this.hasLeastEdgeCount=null,this.nodes=null,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.FindPathParameters"}destroy(){var e=this;e.isAnalyzeById=null,e.hasLeastEdgeCount=null,e.nodes=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class vr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindPathService"}destroy(){super.destroy()}processAsync(e){if(e instanceof gr){var t,r=this;r.url=$.urlPathAppend(r.url,"path"),t={hasLeastEdgeCount:e.hasLeastEdgeCount,parameter:$.toJSON(e.parameter),nodes:r.getJson(e.isAnalyzeById,e.nodes)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJson(e,t){var r="[",s=t?t.length:0;if(!1===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+='{"x":'+t[e].x+',"y":'+t[e].y+"}";else if(!0===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+=t[e];return r+="]"}toGeoJSONResult(e){if(!e||!e.pathList||e.pathList.length<1)return null;var t=new Oe;return e.pathList.forEach(function(e){e.route&&(e.route=t.toGeoJSON(e.route)),e.pathGuideItems&&(e.pathGuideItems=t.toGeoJSON(e.pathGuideItems)),e.edgeFeatures&&(e.edgeFeatures=t.toGeoJSON(e.edgeFeatures)),e.nodeFeatures&&(e.nodeFeatures=t.toGeoJSON(e.nodeFeatures))}),e}}class br{constructor(e){this.isAnalyzeById=!1,this.isCenterMutuallyExclusive=!1,this.centers=null,this.isFromCenter=!1,this.weights=null,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.FindServiceAreasParameters"}destroy(){var e=this;e.isAnalyzeById=null,e.isCenterMutuallyExclusive=null,e.centers=null,e.isFromCenter=null,e.weights=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class Sr extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindServiceAreasService"}destroy(){super.destroy()}processAsync(e){if(e instanceof br){var t,r=this;r.url=$.urlPathAppend(r.url,"servicearea"),t={isFromCenter:e.isFromCenter,isCenterMutuallyExclusive:e.isCenterMutuallyExclusive,parameter:$.toJSON(e.parameter),centers:r.getJson(e.isAnalyzeById,e.centers),weights:r.getJson(!0,e.weights)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJson(e,t){var r="[",s=t?t.length:0;if(!1===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+='{"x":'+t[e].x+',"y":'+t[e].y+"}";else if(!0===e)for(let e=0;e<s;e++)e>0&&(r+=","),r+=t[e];return r+="]"}toGeoJSONResult(e){if(!e||!e.serviceAreaList)return e;var t=new Oe;return e.serviceAreaList.map(function(e){return e.serviceRegion&&(e.serviceRegion=t.toGeoJSON(e.serviceRegion)),e.edgeFeatures&&(e.edgeFeatures=t.toGeoJSON(e.edgeFeatures)),e.nodeFeatures&&(e.nodeFeatures=t.toGeoJSON(e.nodeFeatures)),e.routes&&(e.routes=t.toGeoJSON(e.routes)),e}),e}}class xr{constructor(e){this.endNodeAssigned=!1,this.isAnalyzeById=!1,this.nodes=null,this.parameter=new Nt,$.extend(this,e),this.CLASS_NAME="SuperMap.FindTSPPathsParameters"}destroy(){var e=this;e.endNodeAssigned=null,e.isAnalyzeById=null,e.nodes=null,e.parameter&&(e.parameter.destroy(),e.parameter=null)}}class _r extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.FindTSPPathsService"}destroy(){super.destroy()}processAsync(e){if(e instanceof xr){var t,r=this;r.url=$.urlPathAppend(r.url,"tsppath"),t={parameter:$.toJSON(e.parameter),endNodeAssigned:e.endNodeAssigned,nodes:r.getNodesJson(e)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getNodesJson(e){var t,r,s,i,n="";if(!1===e.isAnalyzeById){for(t="[",r=0,s=(i=e.nodes).length;r<s;r++)r>0&&(t+=","),t+='{"x":'+i[r].x+',"y":'+i[r].y+"}";n+=t+="]"}else if(!0===e.isAnalyzeById){let t="[",r=e.nodes,s=r.length;for(let e=0;e<s;e++)e>0&&(t+=","),t+=r[e];n+=t+="]"}return n}toGeoJSONResult(e){if(!e||!e.tspPathList)return null;var t=new Oe;return e.tspPathList.forEach(function(e){e.route&&(e.route=t.toGeoJSON(e.route)),e.pathGuideItems&&(e.pathGuideItems=t.toGeoJSON(e.pathGuideItems)),e.edgeFeatures&&(e.edgeFeatures=t.toGeoJSON(e.edgeFeatures)),e.nodeFeatures&&(e.nodeFeatures=t.toGeoJSON(e.nodeFeatures))}),e}}class wr{constructor(e){this.routeTable=null,this.routeIDField=null,this.attributeFilter=null,this.eventTable=null,this.eventRouteIDField=null,this.measureField=null,this.measureStartField=null,this.measureEndField=null,this.measureOffsetField=null,this.errorInfoField=null,this.retainedFields=null,this.dataReturnOption=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.GenerateSpatialDataParameters"}destroy(){var e=this;e.routeTable&&(e.routeTable=null),e.routeIDField=null,e.attributeFilter=null,e.eventTable=null,e.eventRouteIDField=null,e.measureField=null,e.measureStartField=null,e.measureEndField=null,e.measureOffsetField=null,e.errorInfoField=null,e.dataReturnOption&&(e.dataReturnOption.destroy(),e.dataReturnOption=null)}}class Cr extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GenerateSpatialDataService"}destroy(){super.destroy()}processAsync(e){if(e instanceof wr){var t,r=this;t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJsonParameters(e){var t="datasets/"+e.routeTable+"/linearreferencing/generatespatialdata";return this.url=$.urlPathAppend(this.url,t),this.url=$.urlAppend(this.url,"returnContent=true"),$.toJSON(e)}}class Tr extends Gt{constructor(e){super(e),e&&e.operateGeometry&&(this.operateGeometry=e.operateGeometry),e&&e.sourceGeometry&&(this.sourceGeometry=e.sourceGeometry),e&&e.operateGeometries&&(this.operateGeometries=e.operateGeometries),e&&e.sourceGeometries&&(this.sourceGeometries=e.sourceGeometries),e&&$.extend(this,e),this.CLASS_NAME="SuperMap.GeometryOverlayAnalystParameters"}destroy(){super.destroy();var e=this;e.sourceGeometry&&(e.sourceGeometry.destroy(),e.sourceGeometry=null),e.sourceGeometries&&(e.sourceGeometries.destroy(),e.sourceGeometries=null),e.sourceGeometry&&(e.sourceGeometry.destroy(),e.sourceGeometry=null),e.operateGeometries&&(e.operateGeometries.destroy(),e.operateGeometries=null)}static toObject(e,t){for(var r in e)if("sourceGeometry"===r)t.sourceGeometry=Ae.fromGeometry(e.sourceGeometry);else if("sourceGeometries"===r){for(var s=[],i=0;i<e.sourceGeometries.length;i++)s.push(Ae.fromGeometry(e.sourceGeometries[i]));t.sourceGeometries=s}else if("operateGeometry"===r)t.operateGeometry=Ae.fromGeometry(e.operateGeometry);else if("operateGeometries"===r){for(var n=[],a=0;a<e.operateGeometries.length;a++)n.push(Ae.fromGeometry(e.operateGeometries[a]));t.operateGeometries=n}else t[r]=e[r]}}class Mr extends Ut{constructor(e){super(e),this.points=null,this.zValues=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.GeometrySurfaceAnalystParameters"}destroy(){super.destroy();if(this.points){for(var e=0,t=this.points,r=t.length;e<r;e++)t[e].destroy();this.points=null}this.zValues=null}}class Er extends zt{constructor(e){super(e),this.points=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.GeometryThiessenAnalystParameters"}destroy(){super.destroy();if(this.points){for(var e=this.points.length-1;e>=0;e--)this.points[e].destroy();this.points=null}}static toObject(e,t){for(var r in e)"clipRegion"===r?t.clipRegion=Ae.fromGeometry(e.clipRegion):t[r]=e[r]}}class Ar extends et{constructor(e,t){(t=t||{}).EVENT_TYPES=["processCompleted","processFailed","processRunning"],super(e,t),this.CLASS_NAME="SuperMap.GeoprocessingService",this.headers={},this.crossOrigin=!0}getTools(){this._get(`${this.url}/list`)}getTool(e){this._get(`${this.url}/${e}`)}execute(e,t,r){const s={parameter:t=t||null,environment:r=r||null};this._get(`${this.url}/${e}/execute`,s)}submitJob(e,t,r){const s={parameter:t=t||null,environments:r=r||null};this.request({url:`${this.url}/${e}/jobs`,headers:{"Content-type":"application/json"},method:"POST",data:JSON.stringify(s),scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}waitForJobCompletion(e,t,r){const s=this,i=setInterval(function(){s._get(`${s.url}/${t}/jobs/${e}`,null,function(e){const t=e.state.runState;switch(r.statusCallback&&r.statusCallback(t),t){case"FINISHED":clearInterval(i),s.events.triggerEvent("processCompleted",{result:e});break;case"FAILED":case"CANCELED":clearInterval(i),s.events.triggerEvent("processFailed",{result:e})}})},r.interval)}getJobInfo(e,t){this._get(`${this.url}/${e}/jobs/${t}`)}cancelJob(e,t){this._get(`${this.url}/${e}/jobs/${t}/cancel`)}getJobs(e){let t=`${this.url}/jobs`;e&&(t=`${this.url}/${e}/jobs`),this._get(t)}getResults(e,t,r){let s=`${this.url}/${e}/jobs/${t}/results`;r&&(s=`${s}/${r}`),this._get(s)}_get(e,t,r,s){this.request({url:e,method:"GET",params:t,headers:{"Content-type":"application/json"},scope:this,success:r||this.serviceProcessCompleted,failure:s||this.serviceProcessFailed})}}class Or{constructor(e){this.dataset=null,this.sourceFilter=null,this.referenceFilter=null,this.spatialRelationType=null,this.isBorderInside=null,this.returnFeature=null,this.returnGeoRelatedOnly=null,this.startRecord=0,this.expectCount=500,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.GeoRelationAnalystParameters"}destroy(){var e=this;e.sourceFilter&&e.sourceFilter.destroy(),e.sourceFilter=null,e.referenceFilter&&e.referenceFilter.destroy(),e.referenceFilter=null,e.dataset=null,e.spatialRelationType=null,e.isBorderInside=null,e.returnFeature=null,e.returnGeoRelatedOnly=null,e.startRecord=null,e.expectCount=null}}class Pr extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GeoRelationAnalystService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Or){var t=this;t.url=$.urlPathAppend(t.url,"datasets/"+e.dataset+"/georelation");var r=$.toJSON(e);t.url=$.urlAppend(t.url,"returnContent=true"),t.request({method:"POST",data:r,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}}class Lr extends et{constructor(e,t){super(e,t),t&&(this.datasource=null,this.dataset=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.DatasetService")}destroy(){super.destroy();this.datasource=null,this.dataset=null}getDatasetsService(e){var t=this;t.url=$.urlPathAppend(t.url,`datasources/name/${e}/datasets`),t.request({method:"GET",data:null,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}getDatasetService(e,t){var r=this;r.url=$.urlPathAppend(r.url,`datasources/name/${e}/datasets/name/${t}`),r.request({method:"GET",data:null,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}setDatasetService(e){if(e){var t=$.toJSON(e);this.request({method:"PUT",data:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}deleteDatasetService(){this.request({method:"DELETE",data:null,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}class Ir{constructor(e){this.datasetNames=null,this.targetEpsgCode=null,this.targetPrj=null,this.returnContent=!0,this.fromIndex=0,this.toIndex=19,this.returnCountOnly=!1,this.maxFeatures=null,this.hasGeometry=!0,this.aggregations=null,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesParametersBase"}destroy(){var e=this;e.datasetNames=null,e.returnContent=null,e.fromIndex=null,e.toIndex=null,e.hasGeometry=null,e.maxFeatures=null,e.targetEpsgCode=null,e.targetPrj=null,e.aggregation&&(e.aggregation=null)}}class Nr extends Ir{constructor(e){super(e),this.getFeatureMode=Nr.getFeatureMode.BOUNDS,this.bounds=null,this.fields=null,this.attributeFilter=null,this.spatialQueryMode=a.CONTAIN,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesByBoundsParameters"}destroy(){super.destroy();var e=this;if(e.bounds&&(e.bounds.destroy(),e.bounds=null),e.fields){for(;e.fields.length>0;)e.fields.pop();e.fields=null}e.attributeFilter=null,e.spatialQueryMode=null,e.getFeatureMode=null}static toJsonParameters(e){var t,r,s;return r={leftBottom:{x:e.bounds.left,y:e.bounds.bottom},rightTop:{x:e.bounds.right,y:e.bounds.top}},s={datasetNames:e.datasetNames,getFeatureMode:Nr.getFeatureMode.BOUNDS,bounds:r,spatialQueryMode:e.spatialQueryMode},e.fields&&((t=new pt).name=e.datasetNames,t.fields=e.fields,s.queryParameter=t),e.attributeFilter&&(s.attributeFilter=e.attributeFilter,s.getFeatureMode=Nr.getFeatureMode.BOUNDS_ATTRIBUTEFILTER),e.maxFeatures&&!isNaN(e.maxFeatures)&&(s.maxFeatures=e.maxFeatures),"boolean"==typeof e.hasGeometry&&(s.hasGeometry=e.hasGeometry),e.targetEpsgCode&&(s.targetEpsgCode=e.targetEpsgCode),!e.targetEpsgCode&&e.targetPrj&&(s.targetPrj=e.targetPrj),e.aggregations&&(s.aggregations=e.aggregations),$.toJSON(s)}}Nr.getFeatureMode={BOUNDS:"BOUNDS",BOUNDS_ATTRIBUTEFILTER:"BOUNDS_ATTRIBUTEFILTER"};class Fr extends et{constructor(e,r){super(e,r),r=r||{},this.returnContent=!0,this.fromIndex=0,this.toIndex=19,this.hasGeometry=!0,this.maxFeatures=null,this.format=t.GEOJSON,$.extend(this,r),this.url=$.urlPathAppend(this.url,"featureResults"),this.CLASS_NAME="SuperMap.GetFeaturesServiceBase"}destroy(){super.destroy();var e=this;e.returnContent=null,e.fromIndex=null,e.toIndex=null,e.maxFeatures=null,e.format=null,e.hasGeometry=null}processAsync(e){if(e){var t,r=this,s=!0;r.returnContent=e.returnContent,r.fromIndex=e.fromIndex,r.toIndex=e.toIndex,r.maxFeatures=e.maxFeatures,r.hasGeometry=e.hasGeometry,r.returnContent&&(s=!1),null!=r.fromIndex&&null!=r.toIndex&&!isNaN(r.fromIndex)&&!isNaN(r.toIndex)&&r.fromIndex>=0&&r.toIndex>=0&&!s&&(r.url=$.urlAppend(r.url,`fromIndex=${r.fromIndex}&toIndex=${r.toIndex}`)),e.returnCountOnly&&(r.url=$.urlAppend(r.url,"&returnCountOnly="+e.returnContent)),t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}serviceProcessCompleted(e){if(e=$.transformResult(e),this.format===t.GEOJSON&&e.features){var r=new Oe;e.features=r.toGeoJSON(e.features)}this.events.triggerEvent("processCompleted",{result:e})}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}}class kr extends Fr{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GetFeaturesByBoundsService"}destroy(){super.destroy()}getJsonParameters(e){return Nr.toJsonParameters(e)}}class Rr extends Ir{constructor(e){super(e),this.bufferDistance=null,this.attributeFilter=null,this.geometry=null,this.fields=null,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesByBufferParameters"}destroy(){super.destroy();var e=this;if(e.bufferDistance=null,e.attributeFilter=null,e.fields){for(;e.fields.length>0;)e.fields.pop();e.fields=null}e.geometry&&(e.geometry.destroy(),e.geometry=null)}static toJsonParameters(e){var t,r,s;return s=Ae.fromGeometry(e.geometry),r={datasetNames:e.datasetNames,getFeatureMode:"BUFFER",bufferDistance:e.bufferDistance,geometry:s},e.fields&&((t=new pt).name=e.datasetNames,t.fields=e.fields,r.queryParameter=t),e.attributeFilter&&(r.attributeFilter=e.attributeFilter,r.getFeatureMode="BUFFER_ATTRIBUTEFILTER"),e.maxFeatures&&!isNaN(e.maxFeatures)&&(r.maxFeatures=e.maxFeatures),"boolean"==typeof e.hasGeometry&&(r.hasGeometry=e.hasGeometry),e.targetEpsgCode&&(r.targetEpsgCode=e.targetEpsgCode),!e.targetEpsgCode&&e.targetPrj&&(r.targetPrj=e.targetPrj),$.toJSON(r)}}class Dr extends Fr{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GetFeaturesByBufferService"}destroy(){super.destroy()}getJsonParameters(e){if(e instanceof Rr)return Rr.toJsonParameters(e)}}class Gr extends Ir{constructor(e){super(e),this.getFeatureMode="SPATIAL",this.geometry=null,this.fields=null,this.attributeFilter=null,this.spatialQueryMode=a.CONTAIN,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesByGeometryParameters"}destroy(){super.destroy();var e=this;if(e.geometry&&(e.geometry.destroy(),e.geometry=null),e.fields){for(;e.fields.length>0;)e.fields.pop();e.fields=null}e.attributeFilter=null,e.spatialQueryMode=null,e.getFeatureMode=null}static toJsonParameters(e){var t,r,s;return r=Ae.fromGeometry(e.geometry),s={datasetNames:e.datasetNames,getFeatureMode:"SPATIAL",geometry:r,spatialQueryMode:e.spatialQueryMode},e.fields&&((t=new pt).name=e.datasetNames,t.fields=e.fields,s.queryParameter=t),e.attributeFilter&&(s.attributeFilter=e.attributeFilter,s.getFeatureMode="SPATIAL_ATTRIBUTEFILTER"),e.maxFeatures&&!isNaN(e.maxFeatures)&&(s.maxFeatures=e.maxFeatures),"boolean"==typeof e.hasGeometry&&(s.hasGeometry=e.hasGeometry),e.targetEpsgCode&&(s.targetEpsgCode=e.targetEpsgCode),!e.targetEpsgCode&&e.targetPrj&&(s.targetPrj=e.targetPrj),e.aggregations&&(s.aggregations=e.aggregations),$.toJSON(s)}}class Br extends Fr{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GetFeaturesByGeometryService"}destroy(){super.destroy()}getJsonParameters(e){return Gr.toJsonParameters(e)}}class jr extends Ir{constructor(e){super(e),this.getFeatureMode="ID",this.IDs=null,this.fields=null,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesByIDsParameters"}destroy(){super.destroy();var e=this;if(e.IDs=null,e.getFeatureMode=null,e.fields){for(;e.fields.length>0;)e.fields.pop();e.fields=null}}static toJsonParameters(e){var t,r;return t={datasetNames:e.datasetNames,getFeatureMode:"ID",ids:e.IDs},e.fields&&((r=new pt).name=e.datasetNames,r.fields=e.fields,t.queryParameter=r),e.targetEpsgCode&&(t.targetEpsgCode=e.targetEpsgCode),"boolean"==typeof e.hasGeometry&&(t.hasGeometry=e.hasGeometry),!e.targetEpsgCode&&e.targetPrj&&(t.targetPrj=e.targetPrj),e.aggregations&&(t.aggregations=e.aggregations),$.toJSON(t)}}class Ur extends Fr{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GetFeaturesByIDsService"}destroy(){super.destroy()}getJsonParameters(e){return jr.toJsonParameters(e)}}class Vr extends Ir{constructor(e){super(e),this.getFeatureMode="SQL",this.queryParameter=null,$.extend(this,e),this.CLASS_NAME="SuperMap.GetFeaturesBySQLParameters"}destroy(){super.destroy();this.getFeatureMode=null,this.queryParameter&&(this.queryParameter.destroy(),this.queryParameter=null)}static toJsonParameters(e){var t={datasetNames:e.datasetNames,getFeatureMode:"SQL",queryParameter:e.queryParameter};return e.maxFeatures&&!isNaN(e.maxFeatures)&&(t.maxFeatures=e.maxFeatures),"boolean"==typeof e.hasGeometry&&(t.hasGeometry=e.hasGeometry),e.aggregations&&(t.aggregations=e.aggregations),e.targetEpsgCode&&(t.targetEpsgCode=e.targetEpsgCode),!e.targetEpsgCode&&e.targetPrj&&(t.targetPrj=e.targetPrj),e.aggregations&&(t.aggregations=e.aggregations),$.toJSON(t)}}class zr extends Fr{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.GetFeaturesBySQLService"}destroy(){super.destroy()}getJsonParameters(e){return Vr.toJsonParameters(e)}}class Jr extends et{constructor(e,t){super(e,t),this.datasource=null,this.dataset=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.GetFieldsService"}destroy(){super.destroy();this.datasource=null,this.dataset=null}processAsync(){var e=this;e.url=$.urlPathAppend(e.url,`datasources/${e.datasource}/datasets/${e.dataset}/fields`),e.request({method:"GET",data:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}class qr{constructor(e){this.datasetName=null,this.dataSourceName=null,this.X=null,this.Y=null,$.extend(this,e),this.CLASS_NAME="SuperMap.GetGridCellInfosParameters"}destroy(){this.datasetName=null,this.dataSourceName=null,this.X=null,this.Y=null}}class Hr extends et{constructor(e,t){super(e,t),this.datasetName=null,this.dataSourceName=null,this.datasetType=null,this.X=null,this.Y=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.GetGridCellInfosService"}destroy(){super.destroy();var e=this;e.X=null,e.Y=null,e.datasetName=null,e.dataSourceName=null,e.datasetType=null}processAsync(e){if(e instanceof qr){$.extend(this,e);var t=this;t.url=$.urlPathAppend(t.url,`datasources/${t.dataSourceName}/datasets/${t.datasetName}`),t.queryRequest(t.getDatasetInfoCompleted,t.getDatasetInfoFailed)}}queryRequest(e,t){this.request({method:"GET",data:null,scope:this,success:e,failure:t})}getDatasetInfoCompleted(e){e=$.transformResult(e),this.datasetType=e.datasetInfo.type,this.queryGridInfos()}queryGridInfos(){var e=this;e.url=$.urlPathAppend(e.url,"GRID"==e.datasetType?"gridValue":"imageValue"),null!=e.X&&null!=e.Y&&(e.url=$.urlAppend(e.url,`x=${e.X}&y=${e.Y}`)),e.queryRequest(e.serviceProcessCompleted,e.serviceProcessFailed)}getDatasetInfoFailed(e){this.serviceProcessFailed(e)}}class Wr{constructor(e,t){if(!e)return this;this.memoryData=null,this.type=e,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.Theme"}destroy(){this.memoryData&&(this.memoryData.destroy(),this.memoryData=null),this.type=null}toServerJSONObject(){}}class Yr{constructor(e){this.align=y.BASELINECENTER,this.backColor=new Ce(255,255,255),this.foreColor=new Ce(0,0,0),this.backOpaque=!1,this.sizeFixed=!0,this.fontHeight=6,this.fontWidth=0,this.fontWeight=400,this.fontName="Times New Roman",this.bold=!1,this.italic=!1,this.italicAngle=0,this.shadow=!1,this.strikeout=!1,this.outline=!1,this.opaqueRate=0,this.underline=!1,this.rotation=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ServerTextStyle"}destroy(){var e=this;e.align=null,e.backColor&&(e.backColor.destroy(),e.backColor=null),e.foreColor&&(e.foreColor.destroy(),e.foreColor=null),e.backOpaque=null,e.sizeFixed=null,e.fontHeight=null,e.fontWidth=null,e.fontWeight=null,e.fontName=null,e.bold=null,e.italic=null,e.italicAngle=null,e.shadow=null,e.strikeout=null,e.outline=null,e.opaqueRate=null,e.underline=null,e.rotation=null}static fromObj(e){var t=new Yr(e);return $.copy(t,e),t.backColor=Ce.fromJson(e.backColor),t.foreColor=Ce.fromJson(e.foreColor),t}}class Xr{constructor(e){this.caption=null,this.end=0,this.start=0,this.visible=!0,this.style=new Yr,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabelItem"}destroy(){var e=this;e.caption=null,e.end=null,e.start=null,e.style&&(e.style.destroy(),e.style=null),e.visible=null}static fromObj(e){if(e){var t=new Xr;return $.copy(t,e),t}}}class Qr{constructor(e){this.caption=null,this.style=new Te,this.unique=null,this.visible=!0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeUniqueItem"}destroy(){var e=this;e.caption=null,e.unique=null,e.style&&(e.style.destroy(),e.style=null),e.visible=null}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).style&&e.style.toServerJSONObject&&(e.style=e.style.toServerJSONObject()),e}static fromObj(e){var t=new Qr;return $.copy(t,e),t.style=Te.fromJson(e.style),t}}class Zr{constructor(e){this.offsetFixed=!1,this.offsetX="0.0",this.offsetY="0.0",e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeOffset"}destroy(){this.offsetFixed=null,this.offsetX=null,this.offsetY=null}static fromObj(e){if(e){var t=new Zr;return $.copy(t,e),t}}}class Kr{constructor(e){this.defaultStyle=null,this.separator=null,this.separatorEnabled=!1,this.splitIndexes=null,this.styles=new Yr,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.LabelMixedTextStyle"}destroy(){var e=this;if(e.defaultStyle&&(e.defaultStyle.destroy(),e.defaultStyle=null),e.separator=null,e.separatorEnabled=null,e.splitIndexes&&(e.splitIndexes=null),e.styles){for(var t=0,r=e.styles,s=r.length;t<s;t++)r[t].destroy();e.styles=null}}static fromObj(e){if(e){var t=new Kr,r=e.styles;if($.copy(t,e),t.defaultStyle=new Yr(e.defaultStyle),r){t.styles=[];for(var s=0,i=r.length;s<i;s++)t.styles.push(new Yr(r[s]))}return t}}}class $r{constructor(e){this.maxTextHeight=0,this.maxTextWidth=0,this.minTextHeight=0,this.minTextWidth=0,this.uniformStyle=new Yr,this.uniformMixedStyle=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabelText"}destroy(){var e=this;e.maxTextHeight=null,e.maxTextWidth=null,e.minTextHeight=null,e.minTextWidth=null,e.uniformStyle&&(e.uniformStyle.destroy(),e.uniformStyle=null),e.uniformMixedStyle&&(e.uniformMixedStyle.destroy(),e.uniformMixedStyle=null)}static fromObj(e){if(e){var t=new $r;return $.copy(t,e),t.uniformStyle=Yr.fromObj(e.uniformStyle),t.uniformMixedStyle=Kr.fromObj(e.uniformMixedStyle),t}}}class es{constructor(e){this.isAlongLine=!0,this.alongLineDirection=g.LB_TO_RT,this.angleFixed=!1,this.repeatedLabelAvoided=!1,this.repeatIntervalFixed=!1,this.labelRepeatInterval=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabelAlongLine"}destroy(){var e=this;e.isAlongLine=null,e.alongLineDirection=null,e.angleFixed=null,e.repeatedLabelAvoided=null,e.repeatIntervalFixed=null,e.labelRepeatInterval=null}static fromObj(e){if(e){var t=new es;return $.copy(t,e),t}}}class ts{constructor(e){this.labelBackShape=v.NONE,this.backStyle=new Te,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabelBackground"}destroy(){this.labelBackShape=null,this.backStyle&&(this.backStyle.destroy(),this.backStyle=null)}static fromObj(e){if(e){var t=new ts;return t.labelBackShape=e.labelBackShape,t.backStyle=Te.fromJson(e.backStyle),t}}}class rs extends Wr{constructor(e){super("LABEL",e),this.alongLine=new es,this.background=new ts,this.items=null,this.uniqueItems=null,this.labelExpression=null,this.labelOverLengthMode=b.NONE,this.matrixCells=null,this.maxLabelLength=256,this.numericPrecision=0,this.offset=new Zr,this.overlapAvoided=!0,this.rangeExpression=null,this.uniqueExpression=null,this.smallGeometryLabeled=!1,this.text=new $r,this.textSpace=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabel"}destroy(){super.destroy();var e=this;if(e.alongLine=null,e.background&&(e.background.destroy(),e.background=null),e.items){for(var t=0,r=e.items,s=r.length;t<s;t++)r[t].destroy();e.items=null}if(e.uniqueItems){for(var i=0,n=e.uniqueItems,a=n.length;i<a;i++)n[i].destory();e.uniqueItems=null}e.labelExpression=null,e.labelOverLengthMode=null,e.matrixCells=null,e.maxLabelLength=null,e.numericPrecision=null,e.overlapAvoided=null,e.rangeExpression=null,e.uniqueExpression=null,e.offset&&(e.offset.destroy(),e.offset=null),e.overlapAvoided=null,e.smallGeometryLabeled=null,e.text&&(e.text.destroy(),e.text=null),e.textSpace=null}toJSON(){return $.toJSON(this.toServerJSONObject())}toServerJSONObject(){var e={};return e.type=this.type,e.memoryData=this.memoryData,this.alongLine&&(e.alongLine=this.alongLine.isAlongLine,e.alongLineDirection=this.alongLine.alongLineDirection,e.angleFixed=this.alongLine.angleFixed,e.isLabelRepeated=this.alongLine.isLabelRepeated,e.labelRepeatInterval=this.alongLine.labelRepeatInterval,e.repeatedLabelAvoided=this.alongLine.repeatedLabelAvoided,e.repeatIntervalFixed=this.alongLine.repeatIntervalFixed),this.offset&&(e.offsetFixed=this.offset.offsetFixed,e.offsetX=this.offset.offsetX,e.offsetY=this.offset.offsetY),this.text&&(e.maxTextHeight=this.text.maxTextHeight,e.maxTextWidth=this.text.maxTextWidth,e.minTextHeight=this.text.minTextHeight,e.minTextWidth=this.text.minTextWidth,e.uniformStyle=this.text.uniformStyle,e.uniformMixedStyle=this.text.uniformMixedStyle),this.background&&(e.labelBackShape=this.background.labelBackShape,e.backStyle=this.background.backStyle),e.labelOverLengthMode=this.labelOverLengthMode,e.maxLabelLength=this.maxLabelLength,e.smallGeometryLabeled=this.smallGeometryLabeled,e.rangeExpression=this.rangeExpression,e.uniqueExpression=this.uniqueExpression,e.numericPrecision=this.numericPrecision,e.items=this.items,e.uniqueItems=this.uniqueItems,e.labelExpression=this.labelExpression,e.overlapAvoided=this.overlapAvoided,e.matrixCells=this.matrixCells,e.textSpace=this.textSpace,e}static fromObj(e){if(e){var t=new rs,r=e.items,s=e.uniqueItems,i=e.matrixCells;if(e.matrixCells=null,$.copy(t,e),t.alongLine=es.fromObj(e),t.background=ts.fromObj(e),r){t.items=[];for(var n=0,a=r.length;n<a;n++)t.items.push(Xr.fromObj(r[n]))}if(s){t.uniqueItems=[];for(let e=0,r=s.length;e<r;e++)t.uniqueItems.push(Qr.fromObj(s[e]))}if(i){t.matrixCells=[];for(let e=0,t=i.length;e<t;e++);}return t.offset=Zr.fromObj(e),t.text=$r.fromObj(e),t}}}class ss extends Wr{constructor(e){super("UNIQUE",e),this.defaultStyle=new Te,this.items=null,this.uniqueExpression=null,this.colorGradientType=m.YELLOW_RED,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeUnique"}destroy(){super.destroy();var e=this;if(e.uniqueExpression=null,e.colorGradientType=null,e.items){if(e.items.length>0)for(var t in e.items)e.items[t].destroy(),e.items[t]=null;e.items=null}e.defaultStyle&&(e.defaultStyle.destroy(),e.defaultStyle=null)}toServerJSONObject(){var e={};if((e=$.copyAttributes(e,this)).defaultStyle&&e.defaultStyle.toServerJSONObject&&(e.defaultStyle=e.defaultStyle.toServerJSONObject()),e.items){for(var t=[],r=e.items.length,s=0;s<r;s++)t.push(e.items[s].toServerJSONObject());e.items=t}return e}static fromObj(e){var t=new ss,r=e.items,s=r?r.length:0;$.extend(t,e),t.items=[],t.defaultStyle=Te.fromJson(e.defaultStyle);for(var i=0;i<s;i++)t.items.push(Qr.fromObj(r[i]));return t}}class is{constructor(e){this.axesColor=new Ce(0,0,0),this.axesDisplayed=!1,this.axesGridDisplayed=!1,this.axesTextDisplayed=!1,this.axesTextStyle=new Yr,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraphAxes"}destroy(){var e=this;e.axesColor&&(e.axesColor.destroy(),e.axesColor=null),e.axesDisplayed=null,e.axesGridDisplayed=null,e.axesTextDisplayed=null,e.axesTextStyle&&(e.axesTextStyle.destroy(),e.axesTextStyle=null)}static fromObj(e){if(e){var t=new is;return $.copy(t,e),t.axesColor=Ce.fromJson(e.axesColor),t.axesTextStyle=Yr.fromObj(e.axesTextStyle),t}}}class ns{constructor(e){this.maxGraphSize=0,this.minGraphSize=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraphSize"}destroy(){this.maxGraphSize=null,this.minGraphSize=null}static fromObj(e){var t=new ns;return $.copy(t,e),t}}class as{constructor(e){this.graphTextDisplayed=!1,this.graphTextFormat=u.CAPTION,this.graphTextStyle=new Yr,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraphText"}destroy(){var e=this;e.graphTextDisplayed=null,e.graphTextFormat=null,e.graphTextStyle&&(e.graphTextStyle.destroy(),e.graphTextStyle=null)}static fromObj(e){var t=new as;return $.copy(t,e),t.graphTextStyle=Yr.fromObj(e.graphTextStyle),t}}class os{constructor(e){this.caption=null,this.graphExpression=null,this.memoryDoubleValues=null,this.uniformStyle=new Te,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraphItem"}destroy(){this.caption=null,this.graphExpression=null,this.memoryDoubleValues=null,this.uniformStyle=null}static fromObj(e){if(e){var t=new os;return $.copy(t,e),t.uniformStyle=Te.fromJson(e.uniformStyle),t}}}class ls extends Wr{constructor(e){super("GRAPH",e),this.barWidth=0,this.graduatedMode=p.CONSTANT,this.graphAxes=new is,this.graphSize=new ns,this.graphSizeFixed=!1,this.graphText=new as,this.graphType=c.AREA,this.graphAxesTextDisplayMode=d.NONE,this.items=null,this.memoryKeys=null,this.negativeDisplayed=!1,this.offset=new Zr,this.overlapAvoided=!0,this.roseAngle=0,this.startAngle=0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraph"}destroy(){super.destroy();var e=this;if(e.barWidth=null,e.graduatedMode=null,e.graphAxes&&(e.graphAxes.destroy(),e.graphAxes=null),e.graphSize&&(e.graphSize.destroy(),e.graphSize=null),e.graphSizeFixed=null,e.graphText&&(e.graphText.destroy(),e.graphText=null),e.graphType=null,e.items){for(var t=0,r=e.items,s=r.length;t<s;t++)r[t].destroy();e.items=null}e.memoryKeys=null,e.negativeDisplayed=null,e.offset&&(e.offset.destroy(),e.offset=null),e.overlapAvoided=null,e.roseAngle=null,e.startAngle=null,e.graphAxesTextDisplayMode=null}toJSON(){return $.toJSON(this.toServerJSONObject())}toServerJSONObject(){var e={};return e.type=this.type,this.graphText&&(e.graphTextDisplayed=this.graphText.graphTextDisplayed,e.graphTextFormat=this.graphText.graphTextFormat,e.graphTextStyle=this.graphText.graphTextStyle),this.graphAxes&&(e.axesColor=this.graphAxes.axesColor,e.axesDisplayed=this.graphAxes.axesDisplayed,e.axesGridDisplayed=this.graphAxes.axesGridDisplayed,e.axesTextDisplayed=this.graphAxes.axesTextDisplayed,e.axesTextStyle=this.graphAxes.axesTextStyle),this.graphSize&&(e.maxGraphSize=this.graphSize.maxGraphSize,e.minGraphSize=this.graphSize.minGraphSize),this.offset&&(e.offsetFixed=this.offset.offsetFixed,e.offsetX=this.offset.offsetX,e.offsetY=this.offset.offsetY),e.barWidth=this.barWidth,e.graduatedMode=this.graduatedMode,e.graphSizeFixed=this.graphSizeFixed,e.graphType=this.graphType,e.graphAxesTextDisplayMode=this.graphAxesTextDisplayMode,e.items=this.items,e.memoryKeys=this.memoryKeys,e.negativeDisplayed=this.negativeDisplayed,e.overlapAvoided=this.overlapAvoided,e.roseAngle=this.roseAngle,e.startAngle=this.startAngle,e}static fromObj(e){var t=new ls,r=e.items,s=r?r.length:0;$.copy(t,e),t.items=[],t.graphAxes=is.fromObj(e),t.graphSize=ns.fromObj(e),t.graphText=as.fromObj(e),t.offset=Zr.fromObj(e);for(var i=0;i<s;i++)t.items.push(os.fromObj(r[i]));return t}}class hs extends Wr{constructor(e){super("DOTDENSITY",e),this.dotExpression=null,this.style=new Te,this.value=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeDotDensity"}destroy(){var e=this;e.dotExpression=null,e.value=null,e.style&&(e.style.destroy(),e.style=null)}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).style&&e.style.toServerJSONObject&&(e.style=e.style.toServerJSONObject()),e}static fromObj(e){if(e){var t=new hs;return $.copy(t,e),t.style=Te.fromJson(e.style),t}}}class us{constructor(e){this.negativeDisplayed=!1,this.negativeStyle=new Te,this.positiveStyle=new Te,this.zeroDisplayed=!1,this.zeroStyle=new Te,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraduatedSymbolStyle"}destroy(){var e=this;e.negativeDisplayed=null,e.negativeStyle=null,e.positiveStyle=null,e.zeroDisplayed=null,e.zeroStyle=null}static fromObj(e){if(e){var t=new us;return $.copy(t,e),t.negativeStyle=Te.fromJson(e.negativeStyle),t.positiveStyle=Te.fromJson(e.positiveStyle),t.zeroStyle=Te.fromJson(e.zeroStyle),t}}}class cs extends Wr{constructor(e){super("GRADUATEDSYMBOL",e),this.baseValue=0,this.expression=null,this.graduatedMode=p.CONSTAN,this.offset=new Zr,this.style=new us,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGraduatedSymbol"}destroy(){super.destroy();var e=this;e.expression=null,e.graduatedMode=p.CONSTANT,e.offset&&(e.offset.destroy(),e.offset=null),e.style&&(e.style.destroy(),e.style=null)}toJSON(){return $.toJSON(this.toServerJSONObject())}toServerJSONObject(){var e={};return e.type=this.type,e.memoryData=this.memoryData,e.baseValue=this.baseValue,e.expression=this.expression,e.graduatedMode=this.graduatedMode,this.offset&&(e.offsetFixed=this.offset.offsetFixed,e.offsetX=this.offset.offsetX,e.offsetY=this.offset.offsetY),this.style&&(e.negativeStyle=this.style.negativeStyle,e.negativeDisplayed=this.style.negativeDisplayed,e.positiveStyle=this.style.positiveStyle,e.zeroDisplayed=this.style.zeroDisplayed,e.zeroStyle=this.style.zeroStyle),e}static fromObj(e){if(e){var t=new cs;return $.copy(t,e),t.offset=Zr.fromObj(e),t.style=us.fromObj(e),t}}}class ds{constructor(e){this.caption=null,this.end=0,this.start=0,this.style=new Te,this.visible=!0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeRangeItem"}destroy(){var e=this;e.caption=null,e.end=null,e.start=null,e.style&&(e.style.destroy(),e.style=null),e.visible=null}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).style&&e.style.toServerJSONObject&&(e.style=e.style.toServerJSONObject()),e}static fromObj(e){if(e){var t=new ds;return $.copy(t,e),t.style=Te.fromJson(e.style),t}}}class ps extends Wr{constructor(e){super("RANGE",e),this.precision="1.0E-12",this.items=null,this.rangeExpression=null,this.rangeMode=f.EQUALINTERVAL,this.rangeParameter=0,this.colorGradientType=m.YELLOW_RED,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeRange"}destroy(){super.destroy();var e=this;if(e.items){if(e.items.length>0)for(var t in e.items)e.items[t].destroy(),e.items[t]=null;e.items=null}e.rangeExpression=null,e.rangeMode=null,e.rangeParameter=null,e.colorGradientType=null}static fromObj(e){if(e){var t=new ps;$.copy(t,e);var r=e.items,s=r?r.length:0;t.items=[];for(var i=0;i<s;i++)t.items.push(ds.fromObj(r[i]));return t}}}class fs{constructor(e){e=e||{},this.bounds=null,this.caption=null,this.description=null,this.name=null,this.queryable=null,this.subLayers=null,this.type=null,this.visible=null,$.extend(this,e),this.CLASS_NAME="SuperMap.UGCLayer"}destroy(){$.reset(this)}fromJson(e){e=e||{},$.extend(this,e);var t=this.bounds;t&&(this.bounds=new se(t.leftBottom.x,t.leftBottom.y,t.rightTop.x,t.rightTop.y))}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).bounds&&e.bounds.toServerJSONObject&&(e.bounds=e.bounds.toServerJSONObject()),e}}class ms extends fs{constructor(e){super(e=e||{}),this.completeLineSymbolDisplayed=null,this.maxScale=null,this.minScale=null,this.minVisibleGeometrySize=null,this.opaqueRate=null,this.symbolScalable=null,this.symbolScale=null,this.overlapDisplayed=null,this.overlapDisplayedOptions=null,this.CLASS_NAME="SuperMap.UGCMapLayer"}destroy(){super.destroy(),$.reset(this)}fromJson(e){super.fromJson(e)}toServerJSONObject(){return super.toServerJSONObject()}}class ys{constructor(e){this.foreignTableName=null,this.joinFilter=null,this.joinType=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.JoinItem"}destroy(){this.foreignTableName=null,this.joinFilter=null,this.joinType=null}toServerJSONObject(){var e={};return e=$.copyAttributes(e,this)}}class gs extends ms{constructor(e){super(e=e||{}),this.datasetInfo=null,this.displayFilter=null,this.joinItems=null,this.representationField=null,this.ugcLayerType=null,this.CLASS_NAME="SuperMap.UGCSubLayer"}fromJson(e){if(super.fromJson(e),this.datasetInfo&&(this.datasetInfo=new Dt(this.datasetInfo)),this.joinItems&&this.joinItems.length){for(var t=[],r=0;r<this.joinItems.length;r++)t[r]=new ys(this.joinItems[r]);this.joinItems=t}}destroy(){super.destroy(),$.reset(this)}toServerJSONObject(){var e=super.toServerJSONObject();if(e.joinItems){for(var t=[],r=0;r<e.joinItems.length;r++)e.joinItems[r].toServerJSONObject&&(t[r]=e.joinItems[r].toServerJSONObject());e.joinItems=t}return e.datasetInfo&&e.datasetInfo.toServerJSONObject&&(e.datasetInfo=e.datasetInfo.toServerJSONObject()),e}}class vs extends gs{constructor(e){super(e=e||{}),this.theme=null,this.themeElementPosition=null,this.CLASS_NAME="SuperMap.ServerTheme"}destroy(){super.destroy(),$.reset(this)}fromJson(e){super.fromJson(e);var t=this.theme;switch(t&&t.type){case"LABEL":this.theme=rs.fromObj(t);break;case"UNIQUE":this.theme=ss.fromObj(t);break;case"GRAPH":this.theme=ls.fromObj(t);break;case"DOTDENSITY":this.theme=hs.fromObj(t);break;case"GRADUATEDSYMBOL":this.theme=cs.fromObj(t);break;case"RANGE":this.theme=ps.fromObj(t)}this.themeElementPosition&&(this.themeElementPosition=new re(this.themeElementPosition.x,this.themeElementPosition.y))}toServerJSONObject(){var e=super.toServerJSONObject();return e.themeElementPosition&&e.themeElementPosition.toServerJSONObject&&(e.themeElementPosition=e.themeElementPosition.toServerJSONObject()),e.theme&&e.theme.toServerJSONObject&&(e.theme=e.theme.toServerJSONObject()),e}}class bs extends gs{constructor(e){super(e=e||{}),this.colorDictionarys=null,this.brightness=null,this.colorGradientType=null,this.colors=null,this.contrast=null,this.dashStyle=null,this.gridType=null,this.horizontalSpacing=null,this.sizeFixed=null,this.solidStyle=null,this.specialColor=null,this.specialValue=null,this.specialValueTransparent=null,this.verticalSpacing=null,this.CLASS_NAME="SuperMap.Grid"}destroy(){super.destroy(),$.reset(this)}fromJson(e){if(super.fromJson(e),this.specialColor&&(this.specialColor=new Ce(this.specialColor.red,this.specialColor.green,this.specialColor.blue)),this.colors){var t,r=[];for(var s in this.colors)t=this.colors[s],r.push(new Ce(t.red,t.green,t.blue));this.colors=r}if(this.dashStyle&&(this.dashStyle=new Te(this.dashStyle)),this.solidStyle&&(this.solidStyle=new Te(this.solidStyle)),this.colorDictionary){var i,n=[];for(var a in this.colorDictionary)i=this.colorDictionary[a],n.push(new Lt({elevation:a,color:i}));this.colorDictionarys=n}delete this.colorDictionary}toServerJSONObject(){var e=super.toServerJSONObject();return e.dashStyle&&e.dashStyle.toServerJSONObject&&(e.dashStyle=e.dashStyle.toServerJSONObject()),e.solidStyle&&e.solidStyle.toServerJSONObject&&(e.solidStyle=e.solidStyle.toServerJSONObject()),e}}class Ss extends gs{constructor(e){super(e=e||{}),this.brightness=null,this.colorSpaceType=null,this.contrast=null,this.displayBandIndexes=null,this.transparent=null,this.transparentColor=null,this.transparentColorTolerance=null,this.CLASS_NAME="SuperMap.Image"}destroy(){super.destroy(),$.reset(this)}fromJson(e){super.fromJson(e),this.transparentColor&&(this.transparentColor=new Ce(this.transparentColor.red,this.transparentColor.green,this.transparentColor.blue))}toServerJSONObject(){return super.toServerJSONObject()}}class xs extends gs{constructor(e){super(e=e||{}),this.style=null,this.CLASS_NAME="SuperMap.Vector"}destroy(){super.destroy(),$.reset(this)}fromJson(e){super.fromJson(e);var t=this.style;t&&(this.style=new Te(t))}toServerJSONObject(){var e=super.toServerJSONObject();return e.style&&e.style.toServerJSONObject&&(e.style=e.style.toServerJSONObject()),e}}class _s extends et{constructor(e,t){super(e,t),this.isTempLayers=!1,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.GetLayersInfoService"}destroy(){super.destroy(),$.reset(this)}processAsync(){var e=this;e.isTempLayers||(e.url=$.urlPathAppend(e.url,"layers")),e.request({method:"GET",params:null,scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}serviceProcessCompleted(e){var t,r;r=(t=!!(e=$.transformResult(e))&&e.length>0?e[0].subLayers.layers:null)?t.length:0,this.handleLayers(r,t),this.events.triggerEvent("processCompleted",{result:e[0]})}handleLayers(e,t){var r;if(e)for(var s=0;s<e;s++){if(t[s].subLayers&&t[s].subLayers.layers&&t[s].subLayers.layers.length>0)this.handleLayers(t[s].subLayers.layers.length,t[s].subLayers.layers);else switch(t[s].ugcLayerType){case"THEME":(r=new vs).fromJson(t[s]),t[s]=r;break;case"GRID":(r=new bs).fromJson(t[s]),t[s]=r;break;case"IMAGE":(r=new Ss).fromJson(t[s]),t[s]=r;break;case"VECTOR":(r=new xs).fromJson(t[s]),t[s]=r}}}}class ws{constructor(e){e&&(this.bounds=null,this.searchRadius=0,this.zValueFieldName=null,this.zValueScale=1,this.resolution=null,this.filterQueryParameter=null,this.outputDatasetName=null,this.outputDatasourceName=null,this.pixelFormat=null,this.dataset=null,this.inputPoints=null,this.InterpolationAnalystType="dataset",this.clipParam=null,$.extend(this,e),this.CLASS_NAME="SuperMap.InterpolationAnalystParameters")}destroy(){var e=this;e.bounds=null,e.searchRadius=null,e.zValueFieldName=null,e.zValueScale=null,e.resolution=null,e.filterQueryParameter=null,e.outputDatasetName=null,e.pixelFormat=null}static toObject(e,t){for(var r in e)if("inputPoints"===r&&"geometry"===e.InterpolationAnalystType){for(var s=[],i=0;i<e.inputPoints.length;i++){var n=e.inputPoints[i],a={x:n.x,y:n.y,z:n.tag};s.push(a)}t[r]=s}else t[r]=e[r]}}class Cs extends ws{constructor(e){super(e),this.smooth=.1,this.tension=40,this.searchMode=null,this.expectedCount=12,this.maxPointCountForInterpolation=200,this.maxPointCountInNode=50,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.InterpolationRBFAnalystParameters"}destroy(){super.destroy();var e=this;e.smooth=null,e.tension=null,e.searchMode=null,e.expectedCount=null,e.maxPointCountForInterpolation=null,e.maxPointCountInNode=null}static toObject(e,t){for(var r in e)t[r]=e[r]}}class Ts extends ws{constructor(e){super(e),e&&$.extend(this,e),this.CLASS_NAME="SuperMap.InterpolationDensityAnalystParameters"}destroy(){super.destroy()}}class Ms extends ws{constructor(e){super(e),this.power=2,this.searchMode=null,this.expectedCount=12,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.InterpolationIDWAnalystParameters"}destroy(){super.destroy();this.power=null,this.searchMode=null,this.expectedCount=null}}class Es extends ws{constructor(e){super(e),this.type=null,this.mean=null,this.angle=0,this.nugget=0,this.range=0,this.sill=0,this.variogramMode=O.SPHERICAL,this.exponent=P.EXP1,this.searchMode=null,this.expectedCount=12,this.maxPointCountForInterpolation=200,this.maxPointCountInNode=50,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.InterpolationKrigingAnalystParameters"}destroy(){super.destroy();var e=this;e.type=null,e.mean=null,e.angle=null,e.nugget=null,e.range=null,e.sill=null,e.variogramMode=null,e.exponent=null,e.searchMode=null,e.expectedCount=null,e.maxPointCountForInterpolation=null,e.maxPointCountInNode=null}}class As extends ot{constructor(e,t){super(e,t),this.mode=null,t&&$.extend(this,t)}destroy(){super.destroy(),this.mode=null,this.CLASS_NAME="SuperMap.InterpolationAnalystService"}processAsync(e){var t={},r=this;e instanceof Ts?(r.mode="Density","geometry"===e.InterpolationAnalystType?r.url=$.urlPathAppend(r.url,"geometry/interpolation/density"):r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/interpolation/density")):e instanceof Ms?(r.mode="IDW","geometry"===e.InterpolationAnalystType?r.url=$.urlPathAppend(r.url,"geometry/interpolation/idw"):r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/interpolation/idw")):e instanceof Cs?(r.mode="RBF","geometry"===e.InterpolationAnalystType?r.url=$.urlPathAppend(r.url,"geometry/interpolation/rbf"):r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/interpolation/rbf")):e instanceof Es&&(r.mode="Kriging","geometry"===e.InterpolationAnalystType?r.url=$.urlPathAppend(r.url,"geometry/interpolation/kriging"):r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/interpolation/kriging")),ws.toObject(e,t);var s=$.toJSON(t);r.url=$.urlAppend(r.url,"returnContent=true"),r.request({method:"POST",data:s,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}class Os{constructor(e){e&&(this.datasetName="",this.query="",this.resolution=80,this.method=0,this.meshType=0,this.fields="",this.radius=300,this.meshSizeUnit=F.METER,this.radiusUnit=F.METER,this.areaUnit=N.SQUAREMILE,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.KernelDensityJobParameter")}destroy(){this.datasetName=null,this.query=null,this.resolution=null,this.method=null,this.radius=null,this.meshType=null,this.fields=null,this.meshSizeUnit=null,this.radiusUnit=null,this.areaUnit=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},"query"===r&&e[r]?t.analyst[r]=e[r].toBBOX():t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class Ps extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/density"),this.CLASS_NAME="SuperMap.KernelDensityJobsService"}destroy(){super.destroy()}getKernelDensityJobs(){super.getJobs(this.url)}getKernelDensityJob(e){super.getJobs($.urlPathAppend(this.url,e))}addKernelDensityJob(e,t){super.addJob(this.url,e,Os,t)}}class Ls{constructor(){this.CLASS_NAME="LabelMatrixCell"}}class Is extends et{constructor(e,t){super(e,t),this.projection=null,this.CLASS_NAME="SuperMap.MapService",t&&$.extend(this,t);var r=this;if(r.projection){var s=r.projection.split(":");s instanceof Array&&(2===s.length&&(r.url=$.urlAppend(r.url,`prjCoordSys=${encodeURIComponent(`{"epsgCode":"${s[1]}"}`)}`)),1===s.length&&(r.url=$.urlAppend(r.url,`prjCoordSys=${encodeURIComponent(`{"epsgCode":"${s[0]}"}`)}`)))}}destroy(){super.destroy();var e=this;e.events&&(e.events.un(e.eventListeners),e.events.listeners=null,e.events.destroy(),e.events=null,e.eventListeners=null)}processAsync(){this.request({method:"GET",scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}serviceProcessCompleted(e){var t=(e=$.transformResult(e)).code>=200&&e.code<300||0==e.code||304===e.code,r=e.code&&t;!e.code||r?this.events&&this.events.triggerEvent("processCompleted",{result:e}):this.events.triggerEvent("processFailed",{error:e})}}class Ns{constructor(e){e&&(this.dataset=null,this.extractRegion=null,this.expression=null,this.isZip=!1,this.ignoreNoValue=!1,this.targetDatasource=null,this.resultGridName=null,this.deleteExistResultDataset=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.MathExpressionAnalysisParameters")}destroy(){var e=this;e.dataset=null,e.bounds=null,e.expression=null,e.isZip=!0,e.ignoreNoValue=!0,e.targetDatasource=null,e.resultGridName=null,e.deleteExistResultDataset=null}static toObject(e,t){for(var r in e)if("dataset"!==r&&(t[r]=e[r]),"extractRegion"===r&&e[r]){for(var s=e[r].components[0].components,i={},n=[],a=s.length,o=0;o<a-1;o++){var l={};l.x=s[o].x,l.y=s[o].y,n.push(l)}i.points=n,i.type="REGION",t[r]=i}}}class Fs extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.MathExpressionAnalysisService"}destroy(){super.destroy()}processAsync(e){var t=this,r={};e instanceof Ns&&(t.url=$.urlPathAppend(t.url,"datasets/"+e.dataset+"/mathanalyst")),Ns.toObject(e,r);var s=$.toJSON(r);t.url=$.urlAppend(t.url,"returnContent=true"),t.request({method:"POST",data:s,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}class ks{constructor(e,t){e&&(this.geometry=e,this.unit=l.METER,this.prjCoordSys=null,this.distanceMode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.MeasureParameters")}destroy(){this.geometry=null,this.unit=null,this.prjCoordSys=null}}class Rs extends et{constructor(e,t){super(e,t),this.measureMode=o.DISTANCE,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.MeasureService"}destroy(){super.destroy();this.measureMode=null}processAsync(e){if(e instanceof ks){var t,r,s=this,i=e.geometry;if(i){s.url=$.urlPathAppend(s.url,s.measureMode===o.AREA?"area":"distance");var n,a,l,h=Ae.fromGeometry(i);if(h)t=h.parts[0],r=h.points.splice(0,t),e.prjCoordSys?("object"==typeof e.prjCoordSys?n='{"epsgCode"'+(a=e.prjCoordSys.projCode).substring(a.indexOf(":"),a.length)+"}":"string"==typeof e.prjCoordSys&&(n='{"epsgCode"'+e.prjCoordSys.substring(e.prjCoordSys.indexOf(":"),e.prjCoordSys.length)+"}"),l={point2Ds:$.toJSON(r),unit:e.unit,prjCoordSys:n,distanceMode:e.distanceMode||"Geodesic"}):l={point2Ds:$.toJSON(r),unit:e.unit,distanceMode:e.distanceMode||"Geodesic"},s.request({method:"GET",params:l,scope:s,success:s.serviceProcessCompleted,failure:s.serviceProcessFailed})}}}}class Ds extends ot{constructor(e,t){super(e,t),this.mode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.OverlayAnalystService"}destroy(){super.destroy(),this.mode=null}processAsync(e){var t={},r=this;e instanceof Bt?(r.mode="datasets",r.url=$.urlPathAppend(r.url,"datasets/"+e.sourceDataset+"/overlay"),Bt.toObject(e,t)):e instanceof Tr&&(r.mode="geometry",e.operateGeometries&&e.sourceGeometries?(r.url=$.urlPathAppend(r.url,"geometry/overlay/batch"),r.url=$.urlAppend(r.url,"ignoreAnalystParam=true")):r.url=$.urlPathAppend(r.url,"geometry/overlay"),Tr.toObject(e,t)),this.returnContent=!0;var s=$.toJSON(t);r.request({method:"POST",data:s,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}}class Gs{constructor(e){e&&(this.datasetName="",this.datasetOverlay="",this.mode="",this.srcFields="",this.overlayFields="",this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.OverlayGeoJobParameter")}destroy(){this.datasetName=null,this.datasetOverlay=null,this.mode=null,this.srcFields=null,this.overlayFields=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!=r?"output"!==r?(t.analyst=t.analyst||{},t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class Bs extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/overlay"),this.CLASS_NAME="SuperMap.OverlayGeoJobsService"}destroy(){super.destroy()}getOverlayGeoJobs(){super.getJobs(this.url)}getOverlayGeoJob(e){super.getJobs($.urlPathAppend(this.url,e))}addOverlayGeoJob(e,t){super.addJob(this.url,e,Gs,t)}}class js extends Ot{constructor(e){super(e=e||{}),this.returnContent=!0,this.bounds=null,$.extend(this,e),this.CLASS_NAME="SuperMap.QueryByBoundsParameters"}destroy(){super.destroy();this.returnContent=null,this.bounds&&(this.bounds=null)}}class Us extends et{constructor(e,r){super(e,r),this.returnContent=!1,this.format=t.GEOJSON,this.returnFeatureWithFieldCaption=!1,r&&$.extend(this,r),this.CLASS_NAME="SuperMap.QueryService",this.url&&(r&&r.format&&(this.format=r.format.toUpperCase()),this.url=$.urlPathAppend(this.url,"queryResults"))}destroy(){super.destroy();this.returnContent=null,this.format=null}processAsync(e){if(e instanceof Ot){var t,r=this,s=null;r.returnContent=e.returnContent,t=r.getJsonParameters(e),r.returnContent||(s=e.returnCustomResult)&&(r.url=$.urlAppend(r.url,"returnCustomResult="+s)),r.returnFeatureWithFieldCaption=e.returnFeatureWithFieldCaption,r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}serviceProcessCompleted(e){e=$.transformResult(e);var r=new Oe;if(e&&e.recordsets)for(var s=0,i=e.recordsets,n=i.length;s<n;s++)i[s].features&&(!0===this.returnFeatureWithFieldCaption&&i[s].features.map(e=>(e.fieldNames=i[s].fieldCaptions,e)),this.format===t.GEOJSON&&(i[s].features=r.toGeoJSON(i[s].features)));this.events.triggerEvent("processCompleted",{result:e})}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}getQueryParameters(e){return new Ot({customParams:e.customParams,expectCount:e.expectCount,networkType:e.networkType,queryOption:e.queryOption,queryParams:e.queryParams,startRecord:e.startRecord,prjCoordSys:e.prjCoordSys,holdTime:e.holdTime})}}class Vs extends Us{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.QueryByBoundsService"}destroy(){super.destroy()}getJsonParameters(e){if(!(e instanceof js))return null;var t,r="",s=e.bounds;return t=this.getQueryParameters(e),r+="'queryMode':'BoundsQuery','queryParameters':",r+=$.toJSON(t),r="{"+(r+=",'bounds': {'rightTop':{'y':"+s.top+",'x':"+s.right+"},'leftBottom':{'y':"+s.bottom+",'x':"+s.left+"}}")+"}"}}class zs extends Ot{constructor(e){super(e=e||{}),this.geometry=null,this.isNearest=null,this.returnContent=!0,$.extend(this,e),this.CLASS_NAME="SuperMap.QueryByDistanceParameters"}destroy(){super.destroy();var e=this;e.returnContent=null,e.distance=null,e.isNearest=null,e.geometry&&(e.geometry.destroy(),e.geometry=null)}}class Js extends Us{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.QueryByDistanceService"}destroy(){super.destroy()}getJsonParameters(e){if(e instanceof zs){var t="",r=this.getQueryParameters(e),s=Ae.fromGeometry(e.geometry);return t+=e.isNearest?"'queryMode':'FindNearest','queryParameters':":"'queryMode':'DistanceQuery','queryParameters':",t+=$.toJSON(r),t="{"+(t+=",'geometry':"+$.toJSON(s)+",'distance':"+e.distance)+"}"}}}class qs extends Ot{constructor(e){super(e=e||{}),this.returnContent=!0,this.geometry=null,this.spatialQueryMode=a.INTERSECT,$.extend(this,e),this.CLASS_NAME="SuperMap.QueryByGeometryParameters"}destroy(){super.destroy();this.returnContent=null,this.geometry=null,this.spatialQueryMode=null}}class Hs extends Us{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.QueryByGeometryService"}destroy(){super.destroy()}getJsonParameters(e){if(e instanceof qs){var t,r="",s=e.geometry,i=Ae.fromGeometry(s);return t=this.getQueryParameters(e),r+="'queryMode':'SpatialQuery','queryParameters':",r="{"+(r+=$.toJSON(t)+",'geometry':"+$.toJSON(i)+",'spatialQueryMode':"+$.toJSON(e.spatialQueryMode))+"}"}}}class Ws extends Ot{constructor(e){super(e=e||{}),this.returnContent=!0,$.extend(this,e),this.CLASS_NAME="SuperMap.QueryBySQLParameters"}destroy(){super.destroy();this.returnContent=null}}class Ys extends Us{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.QueryBySQLService"}destroy(){super.destroy()}getJsonParameters(e){if(e instanceof Ws){var t,r="";return t=this.getQueryParameters(e),r+="'queryMode':'SqlQuery','queryParameters':",r="{"+(r+=$.toJSON(t))+"}"}}}class Xs{constructor(e){if(!e)return this;this.sourceRoute=null,this.point=null,this.tolerance=null,this.isIgnoreGap=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.RouteCalculateMeasureParameters"}destroy(){var e=this;e.sourceRoute=null,e.point=null,e.tolerance&&(e.tolerance=null),e.isIgnoreGap&&(e.isIgnoreGap=!1)}}class Qs extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.RouteCalculateMeasureService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Xs){var t,r=this;t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJsonParameters(e){return this.url=$.urlPathAppend(this.url,"geometry/calculatemeasure"),this.url=$.urlAppend(this.url,"returnContent=true"),$.toJSON(e)}}class Zs{constructor(e){if(!e)return this;this.sourceRoute=null,this.dataset=null,this.routeIDField=null,this.routeID=null,this.type=null,this.measure=null,this.offset=0,this.isIgnoreGap=!1,this.startMeasure=null,this.endMeasure=null;var t=e.sourceRoute,r={};if(t&&t instanceof Y&&t.components){r.type=t.type,r.parts=t.parts;for(var s=[],i=0,n=t.components.length;i<n;i++)s=s.concat(t.components[i].components);r.points=s,e.sourceRoute=r}$.extend(this,e),this.CLASS_NAME="SuperMap.RouteLocatorParameters"}destroy(){var e=this;e.sourceRoute=null,e.type=null,e.measure=null,e.offset=0,e.isIgnoreGap=!1,e.startMeasure=null,e.endMeasure=null,e.dataset=null,e.routeID=null,e.routeIDField=null}}class Ks extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.RouteLocatorService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Zs){var t,r=this;t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJsonParameters(e){var t="geometry/routelocator";return e.dataset&&(t="datasets/"+e.dataset+"/linearreferencing/routelocator",e.sourceRoute=null),this.url=$.urlPathAppend(this.url,t),this.url=$.urlAppend(this.url,"returnContent=true"),$.toJSON(e)}}class $s{constructor(e){this.fieldNames=null,this.fieldValues=null,this.geometry=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ServerFeature"}destroy(){var e=this;e.fieldNames=null,e.fieldValues=null,e.geometry&&(e.geometry.destroy(),e.geometry=null)}toFeature(){var e,t,r,s,i={},n=this;for(var a in e=n.fieldNames,t=n.fieldValues,e)i[e[a]]=t[a];return n.geometry&&(r=n.geometry.toGeometry()),s=new xe(r,i),n.geometry&&n.geometry.id&&(s.fid=n.geometry.id),s}static fromJson(e){var t=null;if(e)return(t=e.geometry)&&(t=Ae.fromJson(t)),new $s({fieldNames:e.fieldNames,fieldValues:e.fieldValues,geometry:t})}}class ei{constructor(e){e&&(this.datasourceName=null,this.description=null,this.coordUnit=null,this.distanceUnit=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.SetDatasourceParameters")}destroy(){this.datasourceName=null,this.description=null,this.coordUnit=null,this.distanceUnit=null}}class ti extends et{constructor(e,t){super(e,t),t&&$.extend(this,t),this.CLASS_NAME="SuperMap.SetLayerInfoService"}destroy(){super.destroy(),$.reset(this)}processAsync(e){if(e){var t=$.toJSON(e);this.request({method:"PUT",data:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}}class ri extends et{constructor(e,t){super(e,t),this.resourceID=null,this.isTempLayers=!1,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.SetLayersInfoService"}destroy(){super.destroy(),$.reset(this)}processAsync(e){if(e){var t,r=[],s=this,i="";s.isTempLayers?(s.url=$.urlPathAppend(s.url,"tempLayersSet/"+s.resourceID),i="PUT"):(s.url=$.urlPathAppend(s.url,"tempLayersSet"),i="POST"),e.subLayers||(e.subLayers={layers:[]}),e.subLayers.layers||(e.subLayers.layers=[]);var n=e.subLayers.layers,a=n.length;for(let e in n){if("GRID"===n[e].ugcLayerType){var o={},l=n[e].colorDictionarys;for(var h in l){o[l[h].elevation]=l[h].color}}n[e].colorDictionary=o,delete n[e].colorDictionarys}for(let e=0;e<a;e++)n[e].toJsonObject?r.push(n[e].toJsonObject()):r.push(n[e]);(t=$.extend(t,e)).subLayers={layers:r},t.object=null;var u=$.toJSON([t]);s.request({method:i,data:u,scope:s,success:s.serviceProcessCompleted,failure:s.serviceProcessFailed})}}}class si{constructor(e){this.layerStatusList=[],this.holdTime=15,this.resourceID=null,e&&$.extend(this,e)}destroy(){this.layerStatusList=null,this.holdTime=null,this.resourceID=null}toJSON(){var e="{";e+='"layers":[';for(var t=[],r=0,s=this.layerStatusList.length;r<s;r++)t.push(this.layerStatusList[r].toJSON());return e+=t,e+="]",e+="}"}}class ii extends et{constructor(e,t){super(e,t),this.lastparams=null,this.mapUrl=e,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.SetLayerStatusService"}destroy(){super.destroy(),$.reset(this)}processAsync(e){if(e instanceof si){var t=this;if(t.url=t.mapUrl,null==e.resourceID)t.url=$.urlPathAppend(t.url,"tempLayersSet"),t.lastparams=e,t.request({method:"POST",scope:t,success:t.createTempLayerComplete,failure:t.serviceProcessFailed});else{t.url=$.urlPathAppend(t.url,"tempLayersSet/"+e.resourceID),t.url=$.urlAppend(t.url,"elementRemain=true&reference="+e.resourceID+"&holdTime="+e.holdTime.toString());var r="[{";r+='"type":"UGC",',null!=e.layerStatusList&&e.layerStatusList.length>0&&(r+='"subLayers":'+e.toJSON()),r+=',"visible":true,',r+='"name":"'+this.getMapName(this.mapUrl)+'"',r+="}]",t.request({method:"PUT",data:r,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}}createTempLayerComplete(e){(e=$.transformResult(e)).succeed&&(this.lastparams.resourceID=e.newResourceID),this.processAsync(this.lastparams)}getMapName(e){var t=e;"/"===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1));var r=t.lastIndexOf("/");return t.substring(r+1,t.length)}serviceProcessCompleted(e){null!=(e=$.transformResult(e))&&null!=this.lastparams&&(e.newResourceID=this.lastparams.resourceID),this.events.triggerEvent("processCompleted",{result:e})}}class ni{constructor(e){e&&(this.datasetName="",this.datasetQuery="",this.geometryQuery="",this.mode=a.CONTAIN,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SingleObjectQueryJobsParameter")}destroy(){this.datasetName=null,this.datasetQuery=null,this.geometryQuery=null,this.mode=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class ai extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/query"),this.CLASS_NAME="SuperMap.SingleObjectQueryJobsService"}destroy(){super.destroy()}getQueryJobs(){super.getJobs(this.url)}getQueryJob(e){super.getJobs($.urlPathAppend(this.url,e))}addQueryJob(e,t){super.addJob(this.url,e,ni,t)}}class oi{constructor(e){e=e||{},this.keyWord=null,this.returnPosition=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.StopQueryParameters"}destroy(){$.reset(this)}}class li extends et{constructor(e,t){super(e,t),t=t||{},$.extend(this,t),this.CLASS_NAME="SuperMap.StopQueryService"}destroy(){super.destroy(),$.reset(this)}processAsync(e){if(e instanceof oi){var t=this;t.url=$.urlPathAppend(t.url,"stops/keyword/"+e.keyWord),t.request({method:"GET",params:{returnPosition:e.returnPosition},scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}}class hi{constructor(e){e&&(this.datasetName="",this.groupField="",this.attributeField="",this.statisticModes="",this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SummaryAttributesJobsParameter")}destroy(){this.datasetName=null,this.groupField=null,this.attributeField=null,this.statisticModes=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class ui extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/summaryattributes"),this.CLASS_NAME="SuperMap.SummaryAttributesJobsService"}destroy(){super.destroy()}getSummaryAttributesJobs(){super.getJobs(this.url)}getSummaryAttributesJob(e){super.getJobs($.urlPathAppend(this.url,e))}addSummaryAttributesJob(e,t){super.addJob(this.url,e,hi,t)}}class ci{constructor(e){e&&(this.datasetName="",this.regionDataset="",this.query="",this.resolution=100,this.meshType=0,this.statisticModes=k.AVERAGE,this.fields="",this.type=R.SUMMARYMESH,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SummaryMeshJobParameter")}destroy(){this.datasetName=null,this.query=null,this.resolution=null,this.statisticModes=null,this.meshType=null,this.fields=null,this.regionDataset=null,this.type=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"type"!==r?"output"!==r?("SUMMARYMESH"===e.type&&"regionDataset"!==r||"SUMMARYREGION"===e.type&&!s(["meshType","resolution","query"],r))&&(t.analyst=t.analyst||{},"query"===r&&e[r]?t.analyst[r]=e[r].toBBOX():t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):t.type=e[r]:(t.input=t.input||{},t.input[r]=e[r]);function s(e,t){for(var r=e.length;r--;)if(e[r]===t)return!0;return!1}}}class di extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/aggregatepoints"),this.CLASS_NAME="SuperMap.SummaryMeshJobsService"}destroy(){super.destroy()}getSummaryMeshJobs(){super.getJobs(this.url)}getSummaryMeshJob(e){super.getJobs($.urlPathAppend(this.url,e))}addSummaryMeshJob(e,t){super.addJob(this.url,e,ci,t)}}class pi{constructor(e){e&&(this.datasetName="",this.regionDataset="",this.sumShape=!0,this.query="",this.standardSummaryFields=!1,this.standardFields="",this.standardStatisticModes="",this.weightedSummaryFields=!1,this.weightedFields="",this.weightedStatisticModes="",this.meshType=0,this.resolution=100,this.meshSizeUnit=F.METER,this.type=R.SUMMARYMESH,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SummaryRegionJobParameter")}destroy(){this.datasetName=null,this.sumShape=null,this.regionDataset=null,this.query=null,this.standardSummaryFields=null,this.standardFields=null,this.standardStatisticModes=null,this.weightedSummaryFields=null,this.weightedFields=null,this.weightedStatisticModes=null,this.meshType=null,this.resolution=null,this.meshSizeUnit=null,this.type=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"type"!==r&&"type"!==r?"output"!==r?("SUMMARYREGION"===e.type||"SUMMARYMESH"===e.type&&"regionDataset"!==r)&&(t.analyst=t.analyst||{},"query"===r&&e[r]?t.analyst[r]=e[r].toBBOX():t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):t.type=e[r]:(t.input=t.input||{},t.input[r]=e[r])}}class fi extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/summaryregion"),this.CLASS_NAME="SuperMap.SummaryRegionJobsService"}destroy(){super.destroy()}getSummaryRegionJobs(){super.getJobs(this.url)}getSummaryRegionJob(e){super.getJobs($.urlPathAppend(this.url,e))}addSummaryRegionJob(e,t){super.addJob(this.url,e,pi,t)}}class mi{constructor(e){this.maxWeight=null,this.nodeID=null,this.resourceValue=null,this.type=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.SupplyCenter"}destroy(){this.maxWeight=null,this.nodeID=null,this.resourceValue=null,this.type=null}static fromJson(e){if(e)return new mi({maxWeight:e.maxWeight,nodeID:e.nodeID,resourceValue:e.resourceValue,type:e.type})}}class yi extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.SurfaceAnalystService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Ut){var t,r=this;t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJsonParameters(e){var t="",r={};if(e instanceof Vt)this.url=$.urlPathAppend(this.url,"datasets/"+e.dataset+"/"+e.surfaceAnalystMethod.toLowerCase()),Vt.toObject(e,r),t=$.toJSON(r);else{if(!(e instanceof Mr))return;this.url=$.urlPathAppend(this.url,"geometry/"+e.surfaceAnalystMethod.toLowerCase()),t=$.toJSON(e)}return this.returnContent=!0,t}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}}class gi{constructor(e){e&&(this.dataset=null,this.zFactor=1,this.averageCurvatureName=null,this.profileCurvatureName="",this.planCurvatureName="",this.deleteExistResultDataset=!1,$.extend(this,e),this.CLASS_NAME="SuperMap.TerrainCurvatureCalculationParameters")}destroy(){var e=this;e.dataset=null,e.zFactor=1,e.averageCurvatureName=null,e.profileCurvatureName=null,e.planCurvatureName=null,e.deleteExistResultDataset=!0}static toObject(e,t){for(var r in e)"dataset"!==r&&(t[r]=e[r])}}class vi extends ot{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.TerrainCurvatureCalculationService"}destroy(){super.destroy()}processAsync(e){var t=this,r={};e instanceof gi&&(t.url=$.urlPathAppend(t.url,"datasets/"+e.dataset+"/terraincalculation/curvature")),gi.toObject(e,r);var s=$.toJSON(r);t.url=$.urlAppend(t.url,"returnContent=true"),t.request({method:"POST",data:s,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}class bi{constructor(e){this.flowEnabled=!1,this.leaderLineDisplayed=!1,this.leaderLineStyle=new Te,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeFlow"}destroy(){var e=this;e.flowEnabled=null,e.leaderLineDisplayed=null,e.leaderLineStyle&&(e.leaderLineStyle.destroy(),e.leaderLineStyle=null)}static fromObj(e){if(e){var t=new bi;return $.copy(t,e),t.leaderLineStyle=Te.fromJson(e.leaderLineStyle),t}}}class Si{constructor(e){this.caption=null,this.color=new Ce,this.end=0,this.start=0,this.visible=!0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGridRangeItem"}destroy(){var e=this;e.caption=null,e.end=null,e.start=null,e.color&&(e.color.destroy(),e.color=null),e.visible=null}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).color&&e.color.toServerJSONObject&&(e.color=e.color.toServerJSONObject()),e}static fromObj(e){if(e){var t=new Si;return $.copy(t,e),t.color=Ce.fromJson(e.color),t}}}class xi extends Wr{constructor(e){super("GRIDRANGE",e),this.items=null,this.rangeMode=f.EQUALINTERVAL,this.rangeParameter=0,this.colorGradientType=m.YELLOW_RED,this.reverseColor=!1,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGridRange"}destroy(){super.destroy();var e=this;if(e.items){if(e.items.length>0)for(var t in e.items)e.items[t].destroy(),e.items[t]=null;e.items=null}e.reverseColor=null,e.rangeMode=null,e.rangeParameter=null,e.colorGradientType=null}static fromObj(e){if(e){var t=new xi;$.copy(t,e);var r=e.items,s=r?r.length:0;t.items=[];for(var i=0;i<s;i++)t.items.push(Si.fromObj(r[i]));return t}}}class _i{constructor(e){this.caption=null,this.color=new Ce,this.unique=null,this.visible=!0,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGridUniqueItem"}destroy(){var e=this;e.caption=null,e.unique=null,e.color&&(e.color.destroy(),e.color=null),e.visible=null}toServerJSONObject(){var e={};return(e=$.copyAttributes(e,this)).color&&e.color.toServerJSONObject&&(e.color=e.color.toServerJSONObject()),e}static fromObj(e){var t=new _i;return $.copy(t,e),t.color=Ce.fromJson(e.color),t}}class wi extends Wr{constructor(e){super("GRIDUNIQUE",e),this.defaultcolor=new Ce,this.items=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeGridUnique"}destroy(){super.destroy();var e=this;if(e.items){if(e.items.length>0)for(var t in e.items)e.items[t].destroy(),e.items[t]=null;e.items=null}e.defaultcolor&&(e.defaultcolor.destroy(),e.defaultcolor=null)}toServerJSONObject(){var e={};if((e=$.copyAttributes(e,this)).defaultcolor&&e.defaultcolor.toServerJSONObject&&(e.defaultcolor=e.defaultcolor.toServerJSONObject()),e.items){for(var t=[],r=e.items.length,s=0;s<r;s++)t.push(e.items[s].toServerJSONObject());e.items=t}return e}static fromObj(e){var t=new wi,r=e.items,s=r?r.length:0;$.extend(t,e),t.items=[],t.defaultcolor=Ce.fromJson(e.defaultcolor);for(var i=0;i<s;i++)t.items.push(_i.fromObj(r[i]));return t}}class Ci{constructor(e){this.caption=null,this.unique=null,this.offsetX=0,this.offsetY=0,this.visible=!0,this.style=new Yr,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeLabelUniqueItem"}destroy(){var e=this;e.unique=null,e.caption=null,e.offsetX=null,e.offsetY=null,e.style&&(e.style.destroy(),e.style=null),e.visible=null}static fromObj(e){if(e){var t=new Ci;return $.copy(t,e),t}}}class Ti{constructor(e){this.datasetNames=null,this.dataSourceNames=null,this.joinItems=null,this.themes=null,this.displayFilters=null,this.displayOrderBys=null,this.fieldValuesDisplayFilter=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ThemeParameters"}destroy(){var e=this;if(e.datasetNames=null,e.dataSourceNames=null,e.joinItems){for(let t=0,r=e.joinItems,s=r.length;t<s;t++)r[t].destroy();e.joinItems=null}if(e.themes){for(let t=0,r=e.themes,s=r.length;t<s;t++)r[t].destroy();e.themes=null}}}class Mi extends et{constructor(e,t){super(e,t),t&&$.extend(this,t),this.url=$.urlPathAppend(this.url,"tempLayersSet"),this.CLASS_NAME="SuperMap.ThemeService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Ti){var t,r=this;t=r.getJsonParameters(e),r.request({method:"POST",data:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}getJsonParameters(e){var t,r="",s=null,i=null,n=null;r+="[{'type': 'UGC','subLayers': {'layers': [";for(var a=0;a<e.themes.length;a++){s=e.themes[a];var o=$.toJSON(s);if(r+="{'theme': "+(o=o.slice(0,-1))+"},'type': 'UGC','ugcLayerType': 'THEME',",(i=e.displayFilters)&&i.length>0&&(1===i.length?r+="'displayFilter':\""+i[0]+'",':r+="'displayFilter':\""+i[a]+'",'),(n=e.displayOrderBy)&&n.length>0&&(1===n.length?r+="'displayOrderBy':'"+n[0]+"',":r+="'displayOrderBy':'"+n[a]+"',"),(t=e.fieldValuesDisplayFilter)&&(r+="'fieldValuesDisplayFilter':"+$.toJSON(t)+","),e.joinItems&&e.joinItems.length>0&&e.joinItems[a]&&(r+="'joinItems':["+$.toJSON(e.joinItems[a])+"],"),e.datasetNames&&e.dataSourceNames){var l=e.datasetNames[a]?a:e.datasetNames.length-1,h=e.dataSourceNames[a]?a:e.dataSourceNames.length-1;r+="'datasetInfo': {'name': '"+e.datasetNames[l]+"','dataSourceName': '"+e.dataSourceNames[h]+"'}},"}else r+="},"}e.themes&&e.themes.length>0&&(r=r.substring(0,r.length-1)),r+="]},";var u=this.url.split("/");return r+="'name': '"+u[u.length-2]+"'}]"}}class Ei extends ot{constructor(e,t){super(e,t),this.mode=null,t&&$.extend(this,t),this.CLASS_NAME="SuperMap.ThiessenAnalystService"}destroy(){super.destroy(),this.mode=null}processAsync(e){var t={},r=this;e instanceof Jt?(r.mode="datasets",r.url=$.urlPathAppend(r.url,"datasets/"+e.dataset+"/thiessenpolygon"),Jt.toObject(e,t)):e instanceof Er&&(r.mode="geometry",r.url=$.urlPathAppend(r.url,"geometry/thiessenpolygon"),Er.toObject(e,t));var s=$.toJSON(t);this.returnContent=!0,r.request({method:"POST",data:s,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}dataFormat(){return[t.GEOJSON,t.ISERVER,t.FGB]}}class Ai extends ot{constructor(e,t){super(e,t),t&&$.extend(this,t),this.CLASS_NAME="SuperMap.GeometryBatchAnalystService"}processAsync(e){var t=this;t.url=$.urlPathAppend(t.url,"geometry/batchanalyst"),t.url=$.urlAppend(t.url,"returnContent=true&ignoreAnalystParam=true");var r=t._processParams(e),s=$.toJSON(r);t.request({method:"POST",data:s,scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}_processParams(e){var t=this;if($.isArray(e)){var r=[];return e.map(function(e){return r.push(t._toJSON(e)),e}),r}}_toJSON(e){var t={};if("buffer"===e.analystName)t.analystName="buffer",t.param={},mt.toObject(e.param,t.param);else if("overlay"===e.analystName)t.analystName="overlay",t.param={},Tr.toObject(e.param,t.param);else if("interpolationDensity"===e.analystName)t.analystName="interpolationDensity",t.param={},ws.toObject(e.param,t.param);else if("interpolationidw"===e.analystName)t.analystName="interpolationidw",t.param={},ws.toObject(e.param,t.param);else if("interpolationRBF"===e.analystName)t.analystName="interpolationRBF",t.param={},ws.toObject(e.param,t.param);else if("interpolationKriging"===e.analystName)t.analystName="interpolationKriging",t.param={},ws.toObject(e.param,t.param);else{if("thiessenpolygon"!==e.analystName)return e;t.analystName="thiessenpolygon",t.param={},Er.toObject(e.param,t.param)}return t}destroy(){super.destroy()}}class Oi extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.TilesetsService"}destroy(){super.destroy()}processAsync(){if(this.url){var e=this;e.url=$.urlPathAppend(e.url,"tilesets"),e.request({method:"GET",scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}}}class Pi{constructor(e){e&&(this.datasetName="",this.datasetTopology="",this.tolerance="",this.rule=D.REGIONNOOVERLAP,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.TopologyValidatorJobsParameter")}destroy(){this.datasetName=null,this.datasetTopology=null,this.tolerance=null,this.rule=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class Li extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/topologyvalidator"),this.CLASS_NAME="SuperMap.TopologyValidatorJobsService"}destroy(){super.destroy()}getTopologyValidatorJobs(){super.getJobs(this.url)}getTopologyValidatorJob(e){super.getJobs($.urlPathAppend(this.url,e))}addTopologyValidatorJob(e,t){super.addJob(this.url,e,Pi,t)}}class Ii{constructor(e){e=e||{},this.lineID=null,this.lineName=null,this.lineAliasName=null,this.startStopIndex=null,this.startStopName=null,this.startStopAliasName=null,this.endStopIndex=null,this.endStopName=null,this.endStopAliasName=null,$.extend(this,e),this.CLASS_NAME="SuperMap.TransferLine"}destroy(){$.reset(this)}static fromJson(e){if(e)return new Ii({lineID:e.lineID,lineName:e.lineName,lineAliasName:e.lineAliasName,startStopIndex:e.startStopIndex,startStopName:e.startStopName,startStopAliasName:e.startStopAliasName,endStopIndex:e.endStopIndex,endStopName:e.endStopName,endStopAliasName:e.endStopAliasName})}}class Ni{constructor(e){e=e||{},this.transferLines=null,this.points=null,$.extend(this,e),this.CLASS_NAME="SuperMap.TransferPathParameters"}destroy(){$.reset(this)}static toJson(e){if(e)return $.toJSON(e)}}class Fi extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.TransferPathService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Ni){var t,r=this;r.url=$.urlPathAppend(r.url,"path"),t={points:$.toJSON(e.points),transferLines:$.toJSON(e.transferLines)},r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class ki{constructor(e){e=e||{},this.solutionCount=6,this.transferPreference=A.NONE,this.transferTactic=E.LESS_TIME,this.walkingRatio=null,this.points=!1,this.evadeLines=null,this.evadeStops=null,this.priorLines=null,this.priorStops=null,this.travelTime=null,$.extend(this,e),this.CLASS_NAME="SuperMap.TransferSolutionParameters"}destroy(){$.reset(this)}static toJson(e){if(e)return $.toJSON(e)}}class Ri extends et{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.TransferSolutionService"}destroy(){super.destroy()}processAsync(e){if(e instanceof ki){var t,r=this;r.url=$.urlPathAppend(r.url,"solutions"),t={points:$.toJSON(e.points),walkingRatio:e.walkingRatio,transferTactic:e.transferTactic,solutionCount:e.solutionCount,transferPreference:e.transferPreference},e.evadeLines&&(t.evadeLines=$.toJSON(e.evadeLines)),e.evadeStops&&(t.evadeStops=$.toJSON(e.evadeStops)),e.priorLines&&(t.priorLines=$.toJSON(e.priorLines)),e.priorStops&&(t.priorStops=$.toJSON(e.priorStops)),e.travelTime&&(t.travelTime=e.travelTime),r.request({method:"GET",params:t,scope:r,success:r.serviceProcessCompleted,failure:r.serviceProcessFailed})}}}class Di{constructor(e){e&&(this.edgeId="",this.fromNodeId="",this.toNodeId="",this.weightField="",this.edgeWeight="",$.extend(this,e),this.CLASS_NAME="SuperMap.UpdateEdgeWeightParameters")}destroy(){this.edgeId=null,this.fromNodeId=null,this.toNodeId=null,this.weightField=null,this.edgeWeight=null}}class Gi{constructor(e){e&&(this.datasourceName=null,this.datasetName=null,this.datasetType=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.CreateDatasetParameters")}destroy(){this.datasourceName=null,this.datasetName=null,this.datasetType=null}}class Bi extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.UpdateEdgeWeightService"}destroy(){super.destroy()}processAsync(e){if(e instanceof Di){var t=this,r=t.parse(e);t.url=$.urlPathAppend(t.url,r);var s=e.edgeWeight?e.edgeWeight:null;t.request({method:"PUT",scope:t,data:s,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}parse(e){if(e){var t="";for(var r in e)if(""!==e[r]&&"edgeWeight"!==e[r])switch(r){case"edgeId":t+="/edgeweight/"+e[r];break;case"fromNodeId":t+="/fromnode/"+e[r];break;case"toNodeId":t+="/tonode/"+e[r];break;case"weightField":t+="/weightfield/"+e[r]}return t}}}class ji{constructor(e){e&&(this.nodeId="",this.fromEdgeId="",this.toEdgeId="",this.weightField="",this.turnNodeWeight="",$.extend(this,e),this.CLASS_NAME="SuperMap.UpdateTurnNodeWeightParameters")}destroy(){this.nodeId=null,this.fromEdgeId=null,this.toEdgeId=null,this.weightField=null,this.turnNodeWeight=null}}class Ui extends Ct{constructor(e,t){super(e,t),this.CLASS_NAME="SuperMap.UpdateTurnNodeWeightService"}destroy(){super.destroy()}processAsync(e){if(e instanceof ji){var t=this,r=t.parse(e);t.url=$.urlPathAppend(t.url,r);var s=e.turnNodeWeight?e.turnNodeWeight:null;t.request({method:"PUT",scope:t,data:s,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}parse(e){if(e){var t="";for(var r in e)if(""!==e[r]&&"turnNodeWeight"!==e[r])switch(r){case"nodeId":t+="/turnnodeweight/"+e[r];break;case"fromEdgeId":t+="/fromedge/"+e[r];break;case"toEdgeId":t+="/toedge/"+e[r];break;case"weightField":t+="/weightfield/"+e[r]}return t}}}class Vi{constructor(e){e&&(this.datasourceName=null,this.datasetName=null,this.isFileCache=null,this.description=null,this.prjCoordSys=null,this.charset=null,this.palette=null,this.noValue=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.UpdateDatasetParameters")}destroy(){var e=this;e.datasourceName=null,e.datasetName=null,e.isFileCache=null,e.prjCoordSys=null,e.charset=null,e.palette=null,e.noValue=null}}class zi{constructor(e){e=e||{},this.datasetName="",this.datasetVectorClip="",this.geometryClip="",this.mode=I.CLIP,this.output=null,this.mappingParameters=null,$.extend(this,e),this.CLASS_NAME="SuperMap.VectorClipJobsParameter"}destroy(){this.datasetName=null,this.datasetVectorClip=null,this.geometryClip=null,this.mode=null,this.output instanceof vt&&(this.output.destroy(),this.output=null),this.mappingParameters instanceof bt&&(this.mappingParameters.destroy(),this.mappingParameters=null)}static toObject(e,t){for(var r in e)"datasetName"!==r?"output"!==r?(t.analyst=t.analyst||{},t.analyst[r]=e[r],"mappingParameters"===r&&(t.analyst[r]=t.analyst[r]||{},t.analyst.mappingParameters=e[r])):(t.output=t.output||{},t.output=e[r]):(t.input=t.input||{},t.input[r]=e[r])}}class Ji extends xt{constructor(e,t){super(e,t),this.url=$.urlPathAppend(this.url,"spatialanalyst/vectorclip"),this.CLASS_NAME="SuperMap.VectorClipJobsService"}destroy(){super.destroy()}getVectorClipJobs(){super.getJobs(this.url)}getVectorClipJob(e){super.getJobs($.urlPathAppend(this.url,e))}addVectorClipJob(e,t){super.addJob(this.url,e,zi,t)}}class qi{constructor(e){e=e||{},this.type=null,$.extend(this,e),this.CLASS_NAME="SuperMap.RasterFunctionParameter"}destroy(){this.type=null}}class Hi{constructor(e){this.name=null,this.picAsUrl=null,this.picAsBase64=null,this.CLASS_NAME="SuperMap.WebPrintingJobCustomItems",$.extend(this,e)}destroy(){this.name=null,this.picAsUrl=null,this.picAsBase64=null}toJSON(){var e={name:this.name};return this.title&&(e.title=this.title),this.picAsUrl?e.picAsUrl=this.picAsUrl:this.picAsBase64&&(e.picAsBase64=this.picAsBase64.replace(/^data:.+;base64,/,"")),$.toJSON(e)}}class Wi{constructor(e){this.picAsUrl=null,this.picAsBase64=null,this.CLASS_NAME="SuperMap.WebPrintingJobImage",$.extend(this,e)}destroy(){this.picAsUrl=null,this.picAsBase64=null}toJSON(){var e={};return this.picAsUrl&&(e.picAsUrl=this.picAsUrl),this.picAsBase64&&(e.picAsBase64=this.picAsBase64.replace(/^data:.+;base64,/,"")),$.toJSON(e)}}class Yi{constructor(e){this.name=null,this.layerType=null,this.url=null,this.CLASS_NAME="SuperMap.WebPrintingJobLayers",$.extend(this,e)}destroy(){this.name=null,this.layerType=null,this.url=null}}class Xi{constructor(e){this.title=null,this.picAsUrl=null,this.picAsBase64=null,this.layers=null,this.customItems=null,this.CLASS_NAME="SuperMap.WebPrintingJobLegendOptions",$.extend(this,e)}destroy(){this.title=null,this.picAsUrl=null,this.picAsBase64=null,this.layers instanceof Yi&&(this.layers.destroy(),this.layers=null),this.customItems instanceof Hi&&(this.customItems.destroy(),this.customItems=null)}toJSON(){var e={title:this.title||""};return this.picAsUrl?e.picAsUrl=this.picAsUrl:this.picAsBase64?e.picAsBase64=this.picAsBase64.replace(/^data:.+;base64,/,""):this.customItems&&(e.customItems=this.customItems),$.toJSON(e)}}class Qi{constructor(e){this.center=null,this.scale=null,this.layerNames=null,this.image=null,this.layers=null,this.CLASS_NAME="SuperMap.WebPrintingJobLittleMapOptions",$.extend(this,e)}destroy(){this.center=null,this.scale=null,this.layerNames=null,this.image instanceof Wi&&(this.image.destroy(),this.image=null),this.layers instanceof Yi&&(this.layers.destroy(),this.layers=null)}toJSON(){var e={scale:this.scale,center:this.center};return this.layerNames?e.layerNames=this.layerNames:this.layers&&(e.layers=this.layers),this.image&&(e.image=this.image),$.toJSON(e)}}class Zi{constructor(e){this.picAsUrl=null,this.picAsBase64=null,this.CLASS_NAME="SuperMap.WebPrintingJobNorthArrowOptions",$.extend(this,e)}destroy(){this.picAsUrl=null,this.picAsBase64=null}toJSON(){var e={};return this.picAsUrl?e.picAsUrl=this.picAsUrl:this.picAsBase64&&(e.picAsBase64=this.picAsBase64.replace(/^data:.+;base64,/,"")),$.toJSON(e)}}class Ki{constructor(e){this.scaleText=null,this.orientation=null,this.type=null,this.intervals=null,this.unit=null,this.CLASS_NAME="SuperMap.WebPrintingJobScaleBarOptions",$.extend(this,e)}destroy(){this.scaleText=null,this.orientation=null,this.type=null,this.intervals=null,this.unit=null}toJSON(){var e={scaleText:this.scaleText||"",type:this.type||"BAR",intervals:this.intervals||"",unit:this.unit||"METER"};return this.orientation&&(e.orientation=this.orientation),$.toJSON(e)}}class $i{constructor(e){this.type=null,this.url=null,this.token=null,this.value=null,this.CLASS_NAME="SuperMap.WebPrintingJobContent",$.extend(this,e)}destroy(){this.type="WEBMAP",this.url=null,this.token=null,this.value=null}toJSON(){var e={type:this.type};return this.token&&(e.token=this.token),this.url?e.url=this.url:this.value&&(e.value=this.value),$.toJSON(e)}}class en{constructor(e){this.templateName=null,this.title=null,this.subTitle=null,this.author=null,this.copyright=null,this.scaleBarOptions=null,this.northArrowOptions=null,this.littleMapOptions=null,this.legendOptions=null,this.CLASS_NAME="SuperMap.WebPrintingJobLayoutOptions",$.extend(this,e)}destroy(){this.templateName=null,this.title=null,this.subTitle=null,this.author=null,this.copyright=null,this.scaleBarOptions instanceof Ki&&(this.scaleBarOptions.destroy(),this.scaleBarOptions=null),this.northArrowOptions instanceof Zi&&(this.northArrowOptions.destroy(),this.northArrowOptions=null),this.littleMapOptions instanceof Qi&&(this.littleMapOptions.destroy(),this.littleMapOptions=null),this.legendOptions instanceof Xi&&(this.legendOptions.destroy(),this.legendOptions=null)}toJSON(){var e={templateName:this.templateName,title:this.title,subTitle:this.subTitle,author:this.author,copyright:this.copyright};return this.scaleBarOptions&&(e.scaleBarOptions=this.scaleBarOptions),this.northArrowOptions&&(e.northArrowOptions=this.northArrowOptions),this.littleMapOptions&&(e.littleMapOptions=this.littleMapOptions),this.legendOptions&&(e.legendOptions=this.legendOptions),$.toJSON(e)}}class tn{constructor(e){this.format=null,this.dpi=96,this.scale=null,this.rotation=null,this.center=null,this.CLASS_NAME="SuperMap.WebPrintingJobExportOptions",$.extend(this,e)}destroy(){this.format=null,this.dpi=null,this.scale=null,this.rotation=null,this.center=null,this.outputSize=null}toJSON(){var e={format:this.format||"PDF",dpi:this.dpi,scale:this.scale,center:this.center};return this.rotation&&(e.rotation=this.rotation),this.outputSize&&(e.outputSize=this.outputSize),$.toJSON(e)}}class rn extends et{constructor(e,t){super(e,t),t&&$.extend(this,t),this.CLASS_NAME="SuperMap.WebPrintingService",this.url}destroy(){super.destroy()}createWebPrintingJob(e){if(e){e.layoutOptions&&e.layoutOptions.legendOptions&&(!e.layoutOptions.legendOptions.title&&(e.layoutOptions.legendOptions.title=""),e.layoutOptions.legendOptions.picAsBase64=e.layoutOptions.legendOptions.picAsBase64&&e.layoutOptions.legendOptions.picAsBase64.replace(/^data:.+;base64,/,""),e.layoutOptions.legendOptions.customItems&&e.layoutOptions.legendOptions.customItems.hasOwnProperty("picAsBase64")&&(e.layoutOptions.legendOptions.customItems.picAsBase64=e.layoutOptions.legendOptions.customItems.picAsBase64.replace(/^data:.+;base64,/,"")));var t=this;t.request({url:t._processUrl("jobs"),method:"POST",data:$.toJSON(e),scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}}getPrintingJob(e){var t=this,r=t._processUrl(`jobs/${e}`);t.request({url:r,method:"GET",scope:t,success:function(e){t.rollingProcess(e,r)},failure:t.serviceProcessFailed})}getPrintingJobResult(e){var t=this;t.request({url:t._processUrl(`jobs/${e}/result`),method:"GET",scope:t,success:t.serviceProcessCompleted,failure:t.serviceProcessFailed})}getLayoutTemplates(){var e=this;e.request({url:e._processUrl("layouts"),method:"GET",scope:e,success:e.serviceProcessCompleted,failure:e.serviceProcessFailed})}rollingProcess(e,t){var r=this;if(e)var s=setInterval(function(){r.request({url:t,method:"GET",scope:r,success:function(e){switch(e.status){case"FINISHED":clearInterval(s),r.serviceProcessCompleted(e);break;case"ERROR":clearInterval(s),r.serviceProcessFailed(e);break;case"RUNNING":r.events.triggerEvent("processRunning",e)}},failure:r.serviceProcessFailed})},1e3)}_processUrl(e){return e?$.urlPathAppend(this.url,e):this.url}}class sn extends et{constructor(e,t){super(e,t),this.options=t||{},t&&$.extend(this,t),this.CLASS_NAME="SuperMap.ImageCollectionService"}destroy(){super.destroy()}getLegend(e){var t={collectionId:this.options.collectionId},r=$.convertPath("/collections/{collectionId}/legend",t),s=$.urlPathAppend(this.url,r);this.request({method:"GET",url:s,params:e,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}getStatistics(){var e={collectionId:this.options.collectionId},t=$.convertPath("/collections/{collectionId}/statistics",e),r=$.urlPathAppend(this.url,t);this.request({method:"GET",url:r,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}getTileInfo(){var e={collectionId:this.options.collectionId},t=$.convertPath("/collections/{collectionId}/tileInfo",e),r=$.urlPathAppend(this.url,t);this.request({method:"GET",url:r,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}deleteItemByID(e){var t={collectionId:this.options.collectionId,featureId:e},r=$.convertPath("/collections/{collectionId}/items/{featureId}",t),s=$.urlPathAppend(this.url,r);this.request({method:"DELETE",url:s,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}getItemByID(e){var t={collectionId:this.options.collectionId,featureId:e},r=$.convertPath("/collections/{collectionId}/items/{featureId}",t),s=$.urlPathAppend(this.url,r);this.request({method:"GET",url:s,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}class nn extends et{constructor(e,t){super(e,t),this.options=t||{},t&&$.extend(this,t),this.CLASS_NAME="SuperMap.ImageService"}destroy(){super.destroy()}getCollections(){var e=$.convertPath("/collections"),t=$.urlPathAppend(this.url,e);this.request({method:"GET",url:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}getCollectionByID(e){var t={collectionId:e},r=$.convertPath("/collections/{collectionId}",t),s=$.urlPathAppend(this.url,r);this.request({method:"GET",url:s,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}search(e){var t={...e||{}},r=$.convertPath("/search"),s=$.urlPathAppend(this.url,r);this.request({method:"POST",url:s,data:t,scope:this,success:this.serviceProcessCompleted,failure:this.serviceProcessFailed})}}class an{constructor(e){this.include=void 0,this.exclude=void 0,this.CLASS_NAME="SuperMap.FieldsFilter",$.extend(this,e)}destroy(){this.include=void 0,this.exclude=void 0}static constructFromObject(e,t){return e&&(t=t||new an,e.hasOwnProperty("include")&&(t.include=e.include),e.hasOwnProperty("exclude")&&(t.exclude=e.exclude)),t}}class on{constructor(e){this.field=void 0,this.direction=on.Direction.ASC,this.CLASS_NAME="SuperMap.Sortby",$.extend(this,e)}destroy(){this.field=void 0,this.direction="ASC"}static constructFromObject(e,t){return e&&(t=t||new on,e.hasOwnProperty("field")&&(t.field=e.field),e.hasOwnProperty("direction")&&(t.direction=e.direction)),t}}on.Direction={ASC:"ASC",DESC:"DESC"};class ln{constructor(e){this.bbox=void 0,this.collections=void 0,this.ids=void 0,this.limit=void 0,this.fields=void 0,this.query=void 0,this.sortby=void 0,this.CLASS_NAME="SuperMap.ImageSearchParameter",$.extend(this,e)}destroy(){var e=this;e.bbox=void 0,e.collections=void 0,e.ids=void 0,e.limit=void 0,e.fields=void 0,e.query=void 0,e.sortby=void 0}static constructFromObject(e,t){return e&&(t=t||new ln,e.hasOwnProperty("bbox")&&(t.bbox=e.bbox),e.hasOwnProperty("collections")&&(t.collections=e.collections),e.hasOwnProperty("ids")&&(t.ids=e.ids),e.hasOwnProperty("limit")&&(t.limit=e.limit),e.hasOwnProperty("fields")&&(t.fields=an.constructFromObject&&an.constructFromObject(e.fields,{})||e.fields),e.hasOwnProperty("query")&&(t.query=e.query),e.hasOwnProperty("sortby")&&(t.sortby=e.sortby,e.sortby&&(t.sortby=e.sortby.map(e=>on.constructFromObject&&on.constructFromObject(e,{})||e)))),t}}class hn{constructor(e){this.stretchType=void 0,this.stdevCoefficient=void 0,this.gaussianCoefficient=void 0,this.useMedianValue=void 0,this.minPercent=void 0,this.maxPercent=void 0,this.CLASS_NAME="SuperMap.ImageStretchOption",$.extend(this,e)}destroy(){var e=this;e.stretchType=void 0,e.stdevCoefficient=void 0,e.gaussianCoefficient=void 0,e.useMedianValue=void 0,e.minPercent=void 0,e.maxPercent=void 0}static constructFromObject(e,t){return e&&(t=t||new hn,e.hasOwnProperty("stretchType")&&(t.stretchType=e.stretchType),e.hasOwnProperty("stdevCoefficient")&&(t.stdevCoefficient=e.stdevCoefficient),e.hasOwnProperty("gaussianCoefficient")&&(t.gaussianCoefficient=e.gaussianCoefficient),e.hasOwnProperty("useMedianValue")&&(t.useMedianValue=e.useMedianValue),e.hasOwnProperty("minPercent")&&(t.minPercent=e.minPercent),e.hasOwnProperty("maxPercent")&&(t.maxPercent=e.maxPercent)),t}}hn.StretchType={NONE:"NONE",GAUSSIAN:"GAUSSIAN",PERCENTCLIP:"PERCENTCLIP",MINIMUMMAXIMUM:"MINIMUMMAXIMUM",STANDARDDEVIATION:"STANDARDDEVIATION"};class un{constructor(e){this.displayMode=void 0,this.displayBands=void 0,this.stretchOption=void 0,this.interpolationMode=void 0,this.colorScheme=void 0,this.colorTable=void 0,this.brightness=void 0,this.contrast=void 0,this.noData=void 0,this.noDataColor=void 0,this.noDataTransparent=void 0,this.backgroundValue=void 0,this.backgroundColor=void 0,this.backgroundTransparent=void 0,this.gridFunctions=void 0,this.CLASS_NAME="SuperMap.ImageRenderingRule",$.extend(this,e)}destroy(){var e=this;e.displayMode=void 0,e.displayBands=void 0,e.stretchOption=void 0,e.interpolationMode=void 0,e.colorScheme=void 0,e.colorTable=void 0,e.brightness=void 0,e.contrast=void 0,e.noData=void 0,e.noDataColor=void 0,e.noDataTransparent=void 0,e.backgroundValue=void 0,e.backgroundColor=void 0,e.backgroundTransparent=void 0,e.gridFuncOptions=void 0}static constructFromObject(e,t){return e&&(t=t||new un,e.hasOwnProperty("displayMode")&&(t.displayMode=e.displayMode),e.hasOwnProperty("displayBands")&&(t.displayBands=e.displayBands),e.hasOwnProperty("stretchOption")&&(t.stretchOption=hn.constructFromObject&&hn.constructFromObject(e.stretchOption,{})||e.stretchOption),e.hasOwnProperty("interpolationMode")&&(t.interpolationMode=e.interpolationMode),e.hasOwnProperty("colorScheme")&&(t.colorScheme=e.colorScheme),e.hasOwnProperty("colorTable")&&(t.colorTable=e.colorTable),e.hasOwnProperty("brightness")&&(t.brightness=e.brightness),e.hasOwnProperty("contrast")&&(t.contrast=e.contrast),e.hasOwnProperty("noData")&&(t.noData=e.noData),e.hasOwnProperty("noDataColor")&&(t.noDataColor=e.noDataColor),e.hasOwnProperty("backgroundValue")&&(t.backgroundValue=e.backgroundValue),e.hasOwnProperty("noDataTransparent")&&(t.noDataTransparent=e.noDataTransparent),e.hasOwnProperty("backgroundColor")&&(t.backgroundColor=e.backgroundColor),e.hasOwnProperty("backgroundTransparent")&&(t.backgroundTransparent=e.backgroundTransparent),e.hasOwnProperty("gridFunctions")&&(t.gridFunctions=e.gridFunctions)),t}}un.DisplayMode={COMPOSITE:"COMPOSITE",STRETCHED:"Stretched"},un.InterpolationMode={NEARESTNEIGHBOR:"NEARESTNEIGHBOR",HIGHQUALITYBILINEAR:"HIGHQUALITYBILINEAR",DEFAULT:"DEFAULT"};class cn{constructor(e){this.girdFuncName="GFHillShade",this.Azimuth=315,this.Altitude=45,this.ZFactor=1,this.CLASS_NAME="SuperMap.ImageGFHillShade",$.extend(this,e)}destroy(){this.girdFuncName="GFHillShade",this.Azimuth=315,this.Altitude=45,this.ZFactor=1}static constructFromObject(e,t){return e&&(t=t||new cn,e.hasOwnProperty("girdFuncName")&&(t.girdFuncName=e.girdFuncName),e.hasOwnProperty("Azimuth")&&(t.Azimuth=e.Azimuth),e.hasOwnProperty("Altitude")&&(t.Altitude=e.Altitude),e.hasOwnProperty("ZFactor")&&(t.ZFactor=e.ZFactor)),t}}class dn{constructor(e){this.girdFuncName="GFAspect",this.Azimuth=void 0,this.CLASS_NAME="SuperMap.ImageGFAspect",$.extend(this,e)}destroy(){this.girdFuncName="GFAspect",this.Azimuth=void 0}static constructFromObject(e,t){return e&&(t=t||new dn,e.hasOwnProperty("girdFuncName")&&(t.girdFuncName=e.girdFuncName),e.hasOwnProperty("Azimuth")&&(t.Azimuth=e.Azimuth)),t}}class pn{constructor(e){this.girdFuncName="GFOrtho",this.CLASS_NAME="SuperMap.ImageGFOrtho",$.extend(this,e)}destroy(){this.girdFuncName="GFOrtho"}static constructFromObject(e,t){return e&&(t=t||new pn,e.hasOwnProperty("girdFuncName")&&(t.girdFuncName=e.girdFuncName)),t}}class fn{constructor(e){this.girdFuncName="GFSlope",this.Altitude=45,this.ZFactor=1,this.CLASS_NAME="SuperMap.ImageGFSlope",$.extend(this,e)}destroy(){this.girdFuncName="GFSlope",this.Altitude=45,this.ZFactor=1}static constructFromObject(e,t){return e&&(t=t||new fn,e.hasOwnProperty("girdFuncName")&&(t.girdFuncName=e.girdFuncName),e.hasOwnProperty("Altitude")&&(t.Altitude=e.Altitude),e.hasOwnProperty("ZFactor")&&(t.ZFactor=e.ZFactor)),t}}class mn{constructor(e){e=e||{},$.extend(this,e),this.CLASS_NAME="SuperMap.OnlineServiceBase"}request(e,t,r,s={}){return t=je.appendCredential(t),s.crossOrigin=this.options.crossOrigin,s.headers=this.options.headers,Be.commit(e,t,r,s).then(function(e){return e.json()})}}class yn extends mn{constructor(e,t){super(e),t=t||{},this.MD5=null,this.type=null,this.userName=null,this.fileName=null,this.size=null,this.serviceStatus=null,this.serviceId=null,this.id=null,this.lastModfiedTime=null,this.status=null,this.storageId=null,this.publishInfo=null,this.authorizeSetting=null,this.nickname=null,this.tags=[],this.description=null,this.dataItemServices=null,this.coordType=null,this.dataCheckResult=null,this.dataMetaInfo=null,this.thumbnail=null,$.extend(this,t),this.id&&(this.serviceUrl=e+"/"+this.id),this.CLASS_NAME="SuperMap.OnlineData"}load(){if(this.serviceUrl){var e=this;return e.request("GET",this.serviceUrl).then(function(t){$.extend(e,t)})}}getPublishedServices(){return this.dataItemServices}getAuthorizeSetting(){return this.authorizeSetting}}const gn=function(){try{return elasticsearch}catch(e){return{}}}();var vn=r.n(gn);class bn{constructor(){this.BUILTIN_OBJECT={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1},this._ctx=null,this._canvas=null,this._pixelCtx=null,this._width=null,this._height=null,this._offsetX=0,this._offsetY=0,this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Util"}clone(e){var t=this.BUILTIN_OBJECT;if("object"==typeof e&&null!==e){var r=e;if(e instanceof Array){r=[];for(var s=0,i=e.length;s<i;s++)r[s]=this.clone(e[s])}else if(!t[Object.prototype.toString.call(e)])for(var n in r={},e)e.hasOwnProperty(n)&&(r[n]=this.clone(e[n]));return r}return e}mergeItem(e,t,r,s){var i=this.BUILTIN_OBJECT;t.hasOwnProperty(r)&&("object"!=typeof e[r]||i[Object.prototype.toString.call(e[r])]?!s&&r in e||(e[r]=t[r]):this.merge(e[r],t[r],s))}merge(e,t,r){for(var s in t)this.mergeItem(e,t,s,r);return e}getContext(){return this._ctx||(this._ctx=document.createElement("canvas").getContext("2d")),this._ctx}getPixelContext(){return this._pixelCtx||(this._canvas=document.createElement("canvas"),this._width=this._canvas.width,this._height=this._canvas.height,this._pixelCtx=this._canvas.getContext("2d")),this._pixelCtx}adjustCanvasSize(e,t){var r,s=this._canvas,i=this._pixelCtx,n=this._width,a=this._height,o=this._offsetX,l=this._offsetY;e+o>n&&(n=e+o+100,s.width=n,r=!0),t+l>a&&(a=t+l+100,s.height=a,r=!0),e<-o&&(n+=o=100*Math.ceil(-e/100),s.width=n,r=!0),t<-l&&(a+=l=100*Math.ceil(-t/100),s.height=a,r=!0),r&&i.translate(o,l)}getPixelOffset(){return{x:this._offsetX,y:this._offsetY}}indexOf(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,s=e.length;r<s;r++)if(e[r]===t)return r;return-1}inherits(e,t){var r=e.prototype;function s(){}for(var i in s.prototype=t.prototype,e.prototype=new s,r)e.prototype[i]=r[i];e.constructor=e}}class Sn{constructor(){this.util=new bn,this._ctx=null,this.palette=["#ff9277"," #dddd00"," #ffc877"," #bbe3ff"," #d5ffbb","#bbbbff"," #ddb000"," #b0dd00"," #e2bbff"," #ffbbe3","#ff7777"," #ff9900"," #83dd00"," #77e3ff"," #778fff","#c877ff"," #ff77ab"," #ff6600"," #aa8800"," #77c7ff","#ad77ff"," #ff77ff"," #dd0083"," #777700"," #00aa00","#0088aa"," #8400dd"," #aa0088"," #dd0000"," #772e00"],this._palette=this.palette,this.highlightColor="rgba(0,0,255,1)",this._highlightColor=this.highlightColor,this.colorRegExp=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,this._nameColors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#0ff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000",blanchedalmond:"#ffebcd",blue:"#00f",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#0ff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#f0f",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#789",lightslategrey:"#789",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#0f0",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#f0f",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#f00",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#fff",whitesmoke:"#f5f5f5",yellow:"#ff0",yellowgreen:"#9acd32"},this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Color"}customPalette(e){this.palette=e}resetPalette(){this.palette=this._palette}getColor(e,t){return e|=0,(t=t||this.palette)[e%t.length]}customHighlight(e){this.highlightColor=e}resetHighlight(){this.highlightColor=this._highlightColor}getHighlightColor(){return this.highlightColor}getRadialGradient(e,t,r,s,i,n,a){var o=this.util;this._ctx||(this._ctx=o.getContext());for(var l=this._ctx.createRadialGradient(e,t,r,s,i,n),h=0,u=a.length;h<u;h++)l.addColorStop(a[h][0],a[h][1]);return l.__nonRecursion=!0,l}getLinearGradient(e,t,r,s,i){var n=this.util;this._ctx||(this._ctx=n.getContext());for(var a=this._ctx.createLinearGradient(e,t,r,s),o=0,l=i.length;o<l;o++)a.addColorStop(i[o][0],i[o][1]);return a.__nonRecursion=!0,a}getStepColors(e,t,r){e=this.toRGBA(e),t=this.toRGBA(t),e=this.getData(e);for(var s=[],i=((t=this.getData(t))[0]-e[0])/r,n=(t[1]-e[1])/r,a=(t[2]-e[2])/r,o=(t[3]-e[3])/r,l=0,h=e[0],u=e[1],c=e[2],d=e[3];l<r;l++)s[l]=this.toColor([this.adjust(Math.floor(h),[0,255]),this.adjust(Math.floor(u),[0,255]),this.adjust(Math.floor(c),[0,255]),d.toFixed(4)-0],"rgba"),h+=i,u+=n,c+=a,d+=o;return h=t[0],u=t[1],c=t[2],d=t[3],s[l]=this.toColor([h,u,c,d],"rgba"),s}getGradientColors(e,t){var r=[],s=e.length;if(void 0===t&&(t=20),1===s)r=this.getStepColors(e[0],e[0],t);else if(s>1)for(var i=0,n=s-1;i<n;i++){var a=this.getStepColors(e[i],e[i+1],t);i<n-1&&a.pop(),r=r.concat(a)}return r}toColor(e,t){if(t=t||"rgb",e&&(3===e.length||4===e.length)){if(e=this.map(e,function(e){return e>1?Math.ceil(e):e}),t.indexOf("hex")>-1)return"#"+((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1);if(t.indexOf("hs")>-1){var r=this.map(e.slice(1,3),function(e){return e+"%"});e[1]=r[0],e[2]=r[1]}return t.indexOf("a")>-1?(3===e.length&&e.push(1),e[3]=this.adjust(e[3],[0,1]),t+"("+e.slice(0,4).join(",")+")"):t+"("+e.slice(0,3).join(",")+")"}}toArray(e){(e=this.trim(e)).indexOf("rgba")<0&&(e=this.toRGBA(e));var t=[],r=0;return e.replace(/[\d.]+/g,function(e){r<3?e|=0:e=+e,t[r++]=e}),t}convert(e,t){if(!this.isCalculableColor(e))return e;var r=this.getData(e),s=r[3];return void 0===s&&(s=1),e.indexOf("hsb")>-1?r=this._HSV_2_RGB(r):e.indexOf("hsl")>-1&&(r=this._HSL_2_RGB(r)),t.indexOf("hsb")>-1||t.indexOf("hsv")>-1?r=this._RGB_2_HSB(r):t.indexOf("hsl")>-1&&(r=this._RGB_2_HSL(r)),r[3]=s,this.toColor(r,t)}toRGBA(e){return this.convert(e,"rgba")}toRGB(e){return this.convert(e,"rgb")}toHex(e){return this.convert(e,"hex")}toHSVA(e){return this.convert(e,"hsva")}toHSV(e){return this.convert(e,"hsv")}toHSBA(e){return this.convert(e,"hsba")}toHSB(e){return this.convert(e,"hsb")}toHSLA(e){return this.convert(e,"hsla")}toHSL(e){return this.convert(e,"hsl")}toName(e){for(var t in this._nameColors)if(this.toHex(this._nameColors[t])===this.toHex(e))return t;return null}trim(e){return String(e).replace(/\s+/g,"")}normalize(e){if(this._nameColors[e]&&(e=this._nameColors[e]),e=(e=this.trim(e)).replace(/hsv/i,"hsb"),/^#[\da-f]{3}$/i.test(e)){var t=(3840&(e=parseInt(e.slice(1),16)))<<8,r=(240&e)<<4,s=15&e;e="#"+((1<<24)+(t<<4)+t+(r<<4)+r+(s<<4)+s).toString(16).slice(1)}return e}lift(e,t){if(!this.isCalculableColor(e))return e;var r=t>0?1:-1;void 0===t&&(t=0),t=Math.abs(t)>1?1:Math.abs(t),e=this.toRGB(e);for(var s=this.getData(e),i=0;i<3;i++)s[i]=1===r?s[i]*(1-t)|0:(255-s[i])*t+s[i]|0;return"rgb("+s.join(",")+")"}reverse(e){if(!this.isCalculableColor(e))return e;var t=this.getData(this.toRGBA(e));return t=this.map(t,function(e){return 255-e}),this.toColor(t,"rgb")}mix(e,t,r){if(!this.isCalculableColor(e)||!this.isCalculableColor(t))return e;void 0===r&&(r=.5);for(var s=2*(r=1-this.adjust(r,[0,1]))-1,i=this.getData(this.toRGBA(e)),n=this.getData(this.toRGBA(t)),a=i[3]-n[3],o=((s*a==-1?s:(s+a)/(1+s*a))+1)/2,l=1-o,h=[],u=0;u<3;u++)h[u]=i[u]*o+n[u]*l;var c=i[3]*r+n[3]*(1-r);return c=Math.max(0,Math.min(1,c)),1===i[3]&&1===n[3]?this.toColor(h,"rgb"):(h[3]=c,this.toColor(h,"rgba"))}random(){return"#"+Math.random().toString(16).slice(2,8)}getData(e){var t,r,s=(e=this.normalize(e)).match(this.colorRegExp);if(null===s)throw new Error("The color format error");var i,n=[];if(s[2])i=[(t=s[2].replace("#","").split(""))[0]+t[1],t[2]+t[3],t[4]+t[5]],n=this.map(i,function(e){return Sn.prototype.adjust.call(this,parseInt(e,16),[0,255])});else if(s[4]){var a=s[4].split(",");r=a[3],i=a.slice(0,3),n=this.map(i,function(e){return e=Math.floor(e.indexOf("%")>0?2.55*parseInt(e,0):e),Sn.prototype.adjust.call(this,e,[0,255])}),void 0!==r&&n.push(this.adjust(parseFloat(r),[0,1]))}else if(s[5]||s[6]){var o=(s[5]||s[6]).split(","),l=parseInt(o[0],0)/360,h=o[1],u=o[2];r=o[3],(n=this.map([h,u],function(e){return Sn.prototype.adjust.call(this,parseFloat(e)/100,[0,1])})).unshift(l),void 0!==r&&n.push(this.adjust(parseFloat(r),[0,1]))}return n}alpha(e,t){if(!this.isCalculableColor(e))return e;null===t&&(t=1);var r=this.getData(this.toRGBA(e));return r[3]=this.adjust(Number(t).toFixed(4),[0,1]),this.toColor(r,"rgba")}map(e,t){if("function"!=typeof t)throw new TypeError;for(var r=e?e.length:0,s=0;s<r;s++)e[s]=t(e[s]);return e}adjust(e,t){return e<=t[0]?e=t[0]:e>=t[1]&&(e=t[1]),e}isCalculableColor(e){return e instanceof Array||"string"==typeof e}_HSV_2_RGB(e){var t,r,s,i=e[0],n=e[1],a=e[2];if(0===n)t=255*a,r=255*a,s=255*a;else{var o=6*i;6===o&&(o=0);var l=0|o,h=a*(1-n),u=a*(1-n*(o-l)),c=a*(1-n*(1-(o-l))),d=0,p=0,f=0;0===l?(d=a,p=c,f=h):1===l?(d=u,p=a,f=h):2===l?(d=h,p=a,f=c):3===l?(d=h,p=u,f=a):4===l?(d=c,p=h,f=a):(d=a,p=h,f=u),t=255*d,r=255*p,s=255*f}return[t,r,s]}_HSL_2_RGB(e){var t,r,s,i=e[0],n=e[1],a=e[2];if(0===n)t=255*a,r=255*a,s=255*a;else{var o,l=2*a-(o=a<.5?a*(1+n):a+n-n*a);t=255*this._HUE_2_RGB(l,o,i+1/3),r=255*this._HUE_2_RGB(l,o,i),s=255*this._HUE_2_RGB(l,o,i-1/3)}return[t,r,s]}_HUE_2_RGB(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),6*r<1?e+6*(t-e)*r:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}_RGB_2_HSB(e){var t,r,s=e[0]/255,i=e[1]/255,n=e[2]/255,a=Math.min(s,i,n),o=Math.max(s,i,n),l=o-a,h=o;if(0===l)t=0,r=0;else{r=l/o;var u=((o-s)/6+l/2)/l,c=((o-i)/6+l/2)/l,d=((o-n)/6+l/2)/l;s===o?t=d-c:i===o?t=1/3+u-d:n===o&&(t=2/3+c-u),t<0&&(t+=1),t>1&&(t-=1)}return[t*=360,r*=100,h*=100]}_RGB_2_HSL(e){var t,r,s=e[0]/255,i=e[1]/255,n=e[2]/255,a=Math.min(s,i,n),o=Math.max(s,i,n),l=o-a,h=(o+a)/2;if(0===l)t=0,r=0;else{r=h<.5?l/(o+a):l/(2-o-a);var u=((o-s)/6+l/2)/l,c=((o-i)/6+l/2)/l,d=((o-n)/6+l/2)/l;s===o?t=d-c:i===o?t=1/3+u-d:n===o&&(t=2/3+c-u),t<0&&(t+=1),t>1&&(t-=1)}return[t*=360,r*=100,h*=100]}}var xn=new Sn;class _n{static createCanvas(e,t){var r=document.createElement("canvas");return r.height=e,r.width=t,r.getContext("2d")}static getLinearGradient(e,t,r,s,i){this._ctx||(this._ctx=this.getContext());for(var n=this._ctx.createLinearGradient(e,t,r,s),a=i.length,o=1/(a-1),l=0,h=0;h<a;h++)n.addColorStop(l,i[h]),l+=o;return n.__nonRecursion=!0,n}static getContext(){return this._ctx||(this._ctx=document.createElement("canvas").getContext("2d")),this._ctx}static getStepColors(e,t,r){e=xn.toRGBA(e),t=xn.toRGBA(t),e=xn.getData(e);for(var s=[],i=((t=xn.getData(t))[0]-e[0])/r,n=(t[1]-e[1])/r,a=(t[2]-e[2])/r,o=(t[3]-e[3])/r,l=0,h=e[0],u=e[1],c=e[2],d=e[3];l<r;l++)s[l]=xn.toColor([xn.adjust(Math.floor(h),[0,255]),xn.adjust(Math.floor(u),[0,255]),xn.adjust(Math.floor(c),[0,255]),d.toFixed(4)-0],"hex"),h+=i,u+=n,c+=a,d+=o;return h=t[0],u=t[1],c=t[2],d=t[3],s[l]=xn.toColor([h,u,c,d],"hex"),s}static getGradientColors(e,t,r){var s,i,n,a=[],o=e.length;if(void 0!==t){if(o>=t)if("RANGE"===r)for(i=0;i<t;i++)a.push(e[i]);else for(i=0;i<t;i++){let t=Math.floor(i/2);if(i%2==0)a.push(e[t]);else{let r=e.length-1-t;a.push(e[r])}}else{for(s=Math.ceil(t/(o-1)),i=0,n=o-1;i<n;i++){var l=this.getStepColors(e[i],e[i+1],s);i<n-1&&l.pop(),a=a.concat(l)}for(var h=a.length-t,u=0;u<h;u++)a.splice(2,1)}return a}}}class wn{static newInstance(){return this.geostatsInstance||(this.geostatsInstance=new window.geostats),this.geostatsInstance}static getInstance(e){let t=this.newInstance();return t.setSerie(e),t}static getArrayStatistic(e,t){return e.length?"Sum"===t||"求和"===t?this.getSum(e):"Maximum"===t||"最大值"===t?this.getMax(e):"Minimum"===t||"最小值"===t?this.getMin(e):"Average"===t||"平均值"===t?this.getMean(e):"Median"===t||"中位数"===t?this.getMedian(e):"times"===t||"计数"===t?this.getTimes(e):void 0:0}static getArraySegments(e,t,r){if("offset"===t)return this.getEqInterval(e,r);if("jenks"===t)return this.getJenks(e,r);if("square"===t){return this.getMin(e)>=0&&this.getSqrtInterval(e,r)}if("logarithm"===t){return this.getMin(e)>0&&this.getGeometricProgression(e,r)}}static getSum(e){return this.getInstance(e).sum()}static getMax(e){return this.getInstance(e).max()}static getMin(e){return this.getInstance(e).min()}static getMean(e){return this.getInstance(e).mean()}static getMedian(e){return this.getInstance(e).median()}static getTimes(e){return e.length}static getEqInterval(e,t){return this.getInstance(e).getClassEqInterval(t)}static getJenks(e,t){return this.getInstance(e).getClassJenks(t)}static getSqrtInterval(e,t){return e=e.map(function(e){return Math.sqrt(e)}),this.getInstance(e).getClassEqInterval(t).map(function(e){return e*e})}static getGeometricProgression(e,t){return this.getInstance(e).getClassGeometricProgression(t)}}var Cn=function(e){var t;if(e===l.METER)t=1;else if(e===l.DEGREE)t=2*Math.PI*6378137/360;else if(e===l.KILOMETER)t=.001;else if(e===l.INCH)t=1/.025399999918;else{if(e!==l.FOOT)return t;t=.3048}return t};function Tn(e,t,r){return 1/(e*t*(1/.0254)*Cn(r))}function Mn(e,t){const r=[];return function(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}(e,t)&&(e[0]>t[0]?r[0]=e[0]:r[0]=t[0],e[1]>t[1]?r[1]=e[1]:r[1]=t[1],e[2]<t[2]?r[2]=e[2]:r[2]=t[2],e[3]<t[3]?r[3]=e[3]:r[3]=t[3]),r}var En=r(52),An=r.n(En);class On{constructor(e){this.env=null,this.parser=null,this.ruleSet=null,this.cartoStr="",this.shaders=null,"string"==typeof e&&(this.cartoStr=e,this.env={frames:[],errors:[],error:function(e){this.errors.push(e)}},this.parser=this.getParser(this.env),this.parse(e),this.shaders=this.toShaders())}getParser(e){var t,r,s,i,n,a,o,l,h,u=this;function c(){i=o[s],n=r,l=r}function d(){o[s]=i,l=r=n}function p(){r>l&&(o[s]=o[s].slice(r-l),l=r)}function f(e){var i,n,a,u;if(e instanceof Function)return e.call(h.parsers);if("string"==typeof e)i=t.charAt(r)===e?e:null,n=1,p();else{if(p(),!(i=e.exec(o[s])))return null;n=i[0].length}if(i){var c=r+=n;for(u=r+o[s].length-n;r<u&&(32===(a=t.charCodeAt(r))||10===a||9===a);)r++;return o[s]=o[s].slice(n+(r-c)),l=r,0===o[s].length&&s<o.length-1&&s++,"string"==typeof i?i:1===i.length?i[0]:i}}function m(r){var s,i={index:a,filename:e.filename,message:"Parse error.",line:0,column:-1};for(var n in i)0===r[n]&&(r[n]=i[n]);s=r.filename&&u.env.inputs&&u.env.inputs[r.filename]?u.env.inputs[r.filename]:t,r.line=(s.slice(0,r.index).match(/\n/g)||"").length+1;for(var o=r.index;o>=0&&"\n"!==s.charAt(o);o--)r.column++;return new Error([r.filename,r.line,r.column,r.message].join(";"))}return this.env=e=e||{},this.env.filename=this.env.filename||null,this.env.inputs=this.env.inputs||{},h={parse:function(i){var n,h=null;if(r=s=l=a=0,o=[],t=i.replace(/\r\n/g,"\n"),e.filename&&(u.env.inputs[e.filename]=t),o=function(e){for(var r,s,i,n,a=0,o=/(?:@\{[\w-]+\}|[^"'`\{\}\/\(\)\\])+/g,l=/\/\*(?:[^*]|\*+[^\/*])*\*+\/|\/\/.*/g,u=/"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'|`((?:[^`]|\\.)*)`/g,c=0,d=e[0],p=0;p<t.length;)if(o.lastIndex=p,(r=o.exec(t))&&r.index===p&&(p+=r[0].length,d.push(r[0])),i=t.charAt(p),l.lastIndex=u.lastIndex=p,(r=u.exec(t))&&r.index===p)p+=r[0].length,d.push(r[0]);else if(s||"/"!==i||"/"!==(n=t.charAt(p+1))&&"*"!==n||!(r=l.exec(t))||r.index!==p){switch(i){case"{":if(!s){c++,d.push(i);break}case"}":if(!s){c--,d.push(i),e[++a]=d=[];break}case"(":if(!s){s=!0,d.push(i);break}case")":if(s){s=!1,d.push(i);break}default:d.push(i)}p++}else p+=r[0].length,d.push(r[0]);return 0!==c&&(h={index:p-1,type:"Parse",message:c>0?"missing closing `}`":"missing opening `{`"}),e.map(function(e){return e.join("")})}([[]]),h)throw m(h);var c=function(e,t){var r=e.specificity,s=t.specificity;return r[0]!=s[0]?s[0]-r[0]:r[1]!=s[1]?s[1]-r[1]:r[2]!=s[2]?s[2]-r[2]:s[3]-r[3]};return(n=new On.Tree.Ruleset([],f(this.parsers.primary))).root=!0,n.toList=function(e){e.error=function(t){e.errors||(e.errors=new Error("")),e.errors.message?e.errors.message+="\n"+m(t).message:e.errors.message=m(t).message},e.frames=e.frames||[];var t=this.flatten([],[],e);return t.sort(c),t},n},parsers:{primary:function(){for(var e,t=[];(e=f(this.rule)||f(this.ruleset)||f(this.comment))||f(/^[\s\n]+/)||(e=f(this.invalid));)e&&t.push(e);return t},invalid:function(){var e=f(/^[^;\n]*[;\n]/);if(e)return new On.Tree.Invalid(e,n)},comment:function(){var e;if("/"===t.charAt(r))return"/"===t.charAt(r+1)?new On.Tree.Comment(f(/^\/\/.*/),!0):(e=f(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))?new On.Tree.Comment(e):void 0},entities:{quoted:function(){if('"'===t.charAt(r)||"'"===t.charAt(r)){var e=f(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/);return e?new On.Tree.Quoted(e[1]||e[2]):void 0}},field:function(){if(f("[")){var e=f(/(^[^\]]+)/);if(f("]"))return e?new On.Tree.Field(e[1]):void 0}},comparison:function(){var e=f(/^=~|=|!=|<=|>=|<|>/);if(e)return e},keyword:function(){var e=f(/^[A-Za-z\u4e00-\u9fa5-]+[A-Za-z-0-9\u4e00-\u9fa5_]*/);if(e)return new On.Tree.Keyword(e)},call:function(){var e,t;if(e=/^([\w\-]+|%)\(/.exec(o[s])){if("url"===(e=e[1]))return null;r+=e.length;if(f("("),t=f(this.entities.arguments),f(")"))return e?new On.Tree.Call(e,t,r):void 0}},arguments:function(){for(var e,t=[];e=f(this.expression);){t.push(e);if(!f(","))break}return t},literal:function(){return f(this.entities.dimension)||f(this.entities.keywordcolor)||f(this.entities.hexcolor)||f(this.entities.quoted)},url:function(){var e;if("u"===t.charAt(r)&&f(/^url\(/)){e=f(this.entities.quoted)||f(this.entities.variable)||f(/^[\-\w%@_match\/.&=:;#+?~]+/)||"";return f(")")?new On.Tree.URL(void 0!==e.value||e instanceof On.Tree.Variable?e:new On.Tree.Quoted(e)):new On.Tree.Invalid(e,n,"Missing closing ) in URL.")}},variable:function(){var s,i=r;if("@"===t.charAt(r)&&(s=f(/^@[\w-]+/)))return new On.Tree.Variable(s,i,e.filename)},hexcolor:function(){var e;if("#"===t.charAt(r)&&(e=f(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new On.Tree.Color(e[1])},keywordcolor:function(){var e=o[s].match(/^[a-z]+/);if(e&&e[0]in On.Tree.Reference.data.colors)return new On.Tree.Color(On.Tree.Reference.data.colors[f(/^[a-z]+/)])},dimension:function(){var e=t.charCodeAt(r);if(!(e>57||e<45||47===e)){var s=f(/^(-?\d*\.?\d+(?:[eE][-+]?\d+)?)(\%|\w+)?/);return s?new On.Tree.Dimension(s[1],s[2],n):void 0}}},variable:function(){var e;if("@"===t.charAt(r)&&(e=f(/^(@[\w-]+)\s*:/)))return e[1]},entity:function(){var e=f(this.entities.call)||f(this.entities.literal),t=f(this.entities.field)||f(this.entities.variable),r=f(this.entities.url)||f(this.entities.keyword);return e||t||r},end:function(){var e;return f(";")||("string"==typeof(e="}")?t.charAt(r)===e:!!e.test(o[s]))},element:function(){var e=f(/^(?:[.#][\w\u4e00-\u9fa5\-]+|\*|Map)/);if(e)return new On.Tree.Element(e)},attachment:function(){var e=f(/^::([\w\-]+(?:\/[\w\-]+)*)/);if(e)return e[1]},selector:function(){for(var e,s,i,a,o,l=[],h=new On.Tree.Filterset,u=[],c=0,d=0;(i=f(this.element))||(o=f(this.zoom))||(a=f(this.filter))||(e=f(this.attachment));){if(c++,i)l.push(i);else if(o)u.push(o),d++;else if(a){var p=h.add(a);if(p)throw m({message:p,index:r-1});d++}else{if(s)throw m({message:"Encountered second attachment name.",index:r-1});s=e}var y=t.charAt(r);if("{"===y||"}"===y||";"===y||","===y)break}if(c)return new On.Tree.Selector(h,u,l,s,d,n)},filter:function(){c();var t,r,s;if(f("[")&&(t=f(/^[a-zA-Z0-9\-_]+/)||f(this.entities.quoted)||f(this.entities.variable)||f(this.entities.keyword)||f(this.entities.field))&&(t instanceof On.Tree.Quoted&&(t=new On.Tree.Field(t.toString())),(r=f(this.entities.comparison))&&(s=f(this.entities.quoted)||f(this.entities.variable)||f(this.entities.dimension)||f(this.entities.keyword)||f(this.entities.field)))){if(!f("]"))throw m({message:"Missing closing ] of filter.",index:n-1});return t.is||(t=new On.Tree.Field(t)),new On.Tree.Filter(t,r,s,n,e.filename)}},zoom:function(){c();var e,t;if(f(/^\[\s*zoom/g)&&(e=f(this.entities.comparison))&&(t=f(this.entities.variable)||f(this.entities.dimension))&&f("]"))return new On.Tree.Zoom(e,t,n);d()},block:function(){var e;if(f("{")&&(e=f(this.primary))&&f("}"))return e},ruleset:function(){var e,t,r=[];for(c();e=f(this.selector);){for(r.push(e);f(this.comment););if(!f(","))break;for(;f(this.comment););}if(e)for(;f(this.comment););if(r.length>0&&(t=f(this.block))){if(1===r.length&&r[0].elements.length&&"Map"===r[0].elements[0].value){var s=new On.Tree.Ruleset(r,t);return s.isMap=!0,s}return new On.Tree.Ruleset(r,t)}d()},rule:function(){var s,i,o=t.charAt(r);if(c(),"."!==o&&"#"!==o&&(s=f(this.variable)||f(this.property))){if((i=f(this.value))&&f(this.end))return new On.Tree.Rule(s,i,n,e.filename);a=r,d()}},font:function(){for(var e,t=[],r=[];e=f(this.entity);)r.push(e);if(t.push(new On.Tree.Expression(r)),f(","))for(;(e=f(this.expression))&&(t.push(e),f(",")););return new On.Tree.Value(t)},value:function(){for(var e,t=[];(e=f(this.expression))&&(t.push(e),f(",")););return t.length>1?new On.Tree.Value(t.map(function(e){return e.value[0]})):1===t.length?new On.Tree.Value(t):void 0},sub:function(){var e;if(f("(")&&(e=f(this.expression))&&f(")"))return e},multiplication:function(){var e,t,r,s;if(e=f(this.operand)){for(;(r=f("/")||f("*")||f("%"))&&(t=f(this.operand));)s=new On.Tree.Operation(r,[s||e,t],n);return s||e}},addition:function(){var e,s,i,a;if(e=f(this.multiplication)){for(;(i=f(/^[-+]\s+/)||" "!=t.charAt(r-1)&&(f("+")||f("-")))&&(s=f(this.multiplication));)a=new On.Tree.Operation(i,[a||e,s],n);return a||e}},operand:function(){return f(this.sub)||f(this.entity)},expression:function(){for(var e,t=[];e=f(this.addition)||f(this.entity);)t.push(e);if(t.length>0)return new On.Tree.Expression(t)},property:function(){var e=f(/^(([a-z][-a-z_0-9]*\/)?\*?-?[-a-z_0-9]+)\s*:/);if(e)return e[1]}}}}parse(e){var t=this.parser;return this.ruleSet=t.parse(e)}toShaders(){if(this.ruleSet){var e=this.ruleSet;if(e){var t=e.toList(this.env);t.reverse();var r={},s=[];this._toShaders(r,s,t);for(var i=[],n={},a=0,o=t.length;a<o;++a){var l=t[a],h=l.attachment,u=r[s[a]],c=[];if(!n[h]){var d=0;for(var p in u)if("zoom"!==p&&"frames"!==p&&"attachment"!==p&&"elements"!=p)if("layer-index"===p){var f=(u[p].join("\n"),null);Object.defineProperty(c,"layerIndex",{configurable:!0,enumerable:!1,value:f})}else c[d++]=function(e,t){if(!Array.isArray(e))return e;var r=e.join("\n"),s='attributes["FEATUREID"]&&attributes["FEATUREID"]',i=r.indexOf(s);if(i>=0){if(!t.featureFilter){var n=i+s.length,a=r.indexOf(")",n+1),o="featureId&&(featureId"+r.substring(n,a)+")";Object.defineProperty(t,"featureFilter",{configurable:!0,enumerable:!1,value:function(e){return!!o}})}return{property:p,getValue:Function("attributes","zoom","seftFilter","var _value = null; var isExcute=typeof seftFilter=='function'?sefgFilter():seftFilter;if(isExcute){"+r+";} return _value; ")}}return{property:p,getValue:Function("attributes","zoom","var _value = null;"+r+"; return _value; ")}}(u[p],c);Object.defineProperty(c,"attachment",{configurable:!0,enumerable:!1,value:h}),Object.defineProperty(c,"elements",{configurable:!0,enumerable:!1,value:l.elements}),i.push(c),n[s[a]]=!0}Object.defineProperty(c,"zoom",{configurable:!0,enumerable:!1,value:l.zoom})}return i}}return null}_toShaders(e,t,r){for(let s=0,i=r.length;s<i;++s){let i=r[s],n=[];for(let e=0,t=i.elements.length;e<t;e++)n.push(i.elements[e]);let a=i.filters.filters,o=[];for(let e in a)o.push(a[e].id);let l=n.join("/")+"::"+i.attachment+"_"+o.join("_");t.push(l);let h=e[l]=e[l]||{};h.zoom=On.Tree.Zoom.all;let u=i.toJS(this.env);for(let e in u)(h[e]=h[e]||[]).push(u[e].join("\n"))}}getShaders(){return this.shaders}destroy(){this.cartoStr=null,this.env=null,this.ruleSet=null,this.parser=null,this.shaders=null}}var Pn={version:"2.1.1",style:{"filter-mode":{type:["all","first"],doc:"Control the processing behavior of Rule filters within a Style. If 'all' is used then all Rules are processed sequentially independent of whether any previous filters matched. If 'first' is used then it means processing ends after the first match (a positive filter evaluation) and no further Rules in the Style are processed ('first' is usually the default for CSS implementations on top of Mapnik to simplify translation from CSS to Mapnik XML)","default-value":"all","default-meaning":"All Rules in a Style are processed whether they have filters or not and whether or not the filter conditions evaluate to true."},"image-filters":{css:"image-filters","default-value":"none","default-meaning":"no filters",type:"functions",functions:[["agg-stack-blur",2],["emboss",0],["blur",0],["gray",0],["sobel",0],["edge-detect",0],["x-gradient",0],["y-gradient",0],["invert",0],["sharpen",0]],doc:"A list of image filters."},"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]},opacity:{css:"opacity",type:"float",doc:"An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited back to main buffer)","default-value":1,"default-meaning":"no separate buffer will be used and no alpha will be applied to the style after rendering"}},layer:{name:{"default-value":"",type:"string",required:!0,"default-meaning":"No layer name has been provided",doc:"The name of a layer. Can be anything you wish and is not strictly validated, but ideally unique in the map"},srs:{"default-value":"",type:"string","default-meaning":"No srs value is provided and the value will be inherited from the Map's srs",doc:"The spatial reference system definition for the layer, aka the projection. Can either be a proj4 literal string like '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs' or, if the proper proj4 epsg/nad/etc identifier files are installed, a string that uses an id like: '+init=epsg:4326'"},status:{"default-value":!0,type:"boolean","default-meaning":"This layer will be marked as active and available for processing",doc:"A property that can be set to false to disable this layer from being processed"},minzoom:{"default-value":"0",type:"float","default-meaning":"The layer will be visible at the minimum possible scale",doc:"The minimum scale denominator that this layer will be visible at. A layer's visibility is determined by whether its status is true and if the Map scale >= minzoom - 1e-6 and scale < maxzoom + 1e-6"},maxzoom:{"default-value":"1.79769e+308",type:"float","default-meaning":"The layer will be visible at the maximum possible scale",doc:"The maximum scale denominator that this layer will be visible at. The default is the numeric limit of the C++ double type, which may vary slightly by system, but is likely a massive number like 1.79769e+308 and ensures that this layer will always be visible unless the value is reduced. A layer's visibility is determined by whether its status is true and if the Map scale >= minzoom - 1e-6 and scale < maxzoom + 1e-6"},queryable:{"default-value":!1,type:"boolean","default-meaning":"The layer will not be available for the direct querying of data values",doc:"This property was added for GetFeatureInfo/WMS compatibility and is rarely used. It is off by default meaning that in a WMS context the layer will not be able to be queried unless the property is explicitly set to true"},"clear-label-cache":{"default-value":!1,type:"boolean","default-meaning":"The renderer's collision detector cache (used for avoiding duplicate labels and overlapping markers) will not be cleared immediately before processing this layer",doc:"This property, by default off, can be enabled to allow a user to clear the collision detector cache before a given layer is processed. This may be desirable to ensure that a given layers data shows up on the map even if it normally would not because of collisions with previously rendered labels or markers"},"group-by":{"default-value":"",type:"string","default-meaning":"No special layer grouping will be used during rendering",doc:"https://github.com/mapnik/mapnik/wiki/Grouped-rendering"},"buffer-size":{"default-value":"0",type:"float","default-meaning":"No buffer will be used",doc:"Extra tolerance around the Layer extent (in pixels) used to when querying and (potentially) clipping the layer data during rendering"},"maximum-extent":{"default-value":"none",type:"bbox","default-meaning":"No clipping extent will be used",doc:"An extent to be used to limit the bounds used to query this specific layer data during rendering. Should be minx, miny, maxx, maxy in the coordinates of the Layer."}},symbolizers:{"*":{"image-filters":{css:"image-filters","default-value":"none","default-meaning":"no filters",type:"functions",functions:[["agg-stack-blur",2],["emboss",0],["blur",0],["gray",0],["sobel",0],["edge-detect",0],["x-gradient",0],["y-gradient",0],["invert",0],["sharpen",0]],doc:"A list of image filters."},"comp-op":{css:"comp-op","default-value":"src-over","default-meaning":"add the current layer on top of other layers",doc:"Composite operation. This defines how this layer should behave relative to layers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]},opacity:{css:"opacity",type:"float",doc:"An alpha value for the style (which means an alpha applied to all features in separate buffer and then composited back to main buffer)","default-value":1,"default-meaning":"no separate buffer will be used and no alpha will be applied to the style after rendering"}},map:{"background-color":{css:"background-color","default-value":"none","default-meaning":"transparent",type:"color",doc:"Map Background color"},"background-image":{css:"background-image",type:"uri","default-value":"","default-meaning":"transparent",doc:"An image that is repeated below all features on a map as a background.",description:"Map Background image"},srs:{css:"srs",type:"string","default-value":"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs","default-meaning":"The proj4 literal of EPSG:4326 is assumed to be the Map's spatial reference and all data from layers within this map will be plotted using this coordinate system. If any layers do not declare an srs value then they will be assumed to be in the same srs as the Map and not transformations will be needed to plot them in the Map's coordinate space",doc:"Map spatial reference (proj4 string)"},"buffer-size":{css:"buffer-size","default-value":"0",type:"float","default-meaning":"No buffer will be used",doc:'Extra tolerance around the map (in pixels) used to ensure labels crossing tile boundaries are equally rendered in each tile (e.g. cut in each tile). Not intended to be used in combination with "avoid-edges".'},"maximum-extent":{css:"","default-value":"none",type:"bbox","default-meaning":"No clipping extent will be used",doc:"An extent to be used to limit the bounds used to query all layers during rendering. Should be minx, miny, maxx, maxy in the coordinates of the Map."},base:{css:"base","default-value":"","default-meaning":"This base path defaults to an empty string meaning that any relative paths to files referenced in styles or layers will be interpreted relative to the application process.",type:"string",doc:"Any relative paths used to reference files will be understood as relative to this directory path if the map is loaded from an in memory object rather than from the filesystem. If the map is loaded from the filesystem and this option is not provided it will be set to the directory of the stylesheet."},"paths-from-xml":{css:"","default-value":!0,"default-meaning":"Paths read from XML will be interpreted from the location of the XML",type:"boolean",doc:"value to control whether paths in the XML will be interpreted from the location of the XML or from the working directory of the program that calls load_map()"},"minimum-version":{css:"","default-value":"none","default-meaning":"Mapnik version will not be detected and no error will be thrown about compatibility",type:"string",doc:"The minumum Mapnik version (e.g. 0.7.2) needed to use certain functionality in the stylesheet"},"font-directory":{css:"font-directory",type:"uri","default-value":"none","default-meaning":"No map-specific fonts will be registered",doc:"Path to a directory which holds fonts which should be registered when the Map is loaded (in addition to any fonts that may be automatically registered)."}},polygon:{fill:{css:"polygon-fill",type:"color","default-value":"rgba(128,128,128,1)","default-meaning":"gray and fully opaque (alpha = 1), same as rgb(128,128,128)",doc:"Fill color to assign to a polygon"},"fill-opacity":{css:"polygon-opacity",type:"float",doc:"The opacity of the polygon","default-value":1,"default-meaning":"opaque"},gamma:{css:"polygon-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of polygon edges"},"gamma-method":{css:"polygon-gamma-method",type:["power","linear","none","threshold","multiply"],"default-value":"power","default-meaning":"pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line and polygon antialiasing than the 'linear' method, while other methods are usually only used to disable AA",doc:"An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik this method is used in combination with the 'gamma' value (which defaults to 1). The methods are in the AGG source at https://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h"},clip:{css:"polygon-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"polygon-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"polygon-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"polygon-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},line:{stroke:{css:"line-color","default-value":"rgba(0,0,0,1)",type:"color","default-meaning":"black and fully opaque (alpha = 1), same as rgb(0,0,0)",doc:"The color of a drawn line"},"stroke-width":{css:"line-width","default-value":1,type:"float",doc:"The width of a line in pixels"},"stroke-opacity":{css:"line-opacity","default-value":1,type:"float","default-meaning":"opaque",doc:"The opacity of a line"},"stroke-linejoin":{css:"line-join","default-value":"miter",type:["miter","round","bevel"],doc:"The behavior of lines when joining"},"stroke-linecap":{css:"line-cap","default-value":"butt",type:["butt","round","square"],doc:"The display of line endings"},"stroke-gamma":{css:"line-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of stroke line"},"stroke-gamma-method":{css:"line-gamma-method",type:["power","linear","none","threshold","multiply"],"default-value":"power","default-meaning":"pow(x,gamma) is used to calculate pixel gamma, which produces slightly smoother line and polygon antialiasing than the 'linear' method, while other methods are usually only used to disable AA",doc:"An Antigrain Geometry specific rendering hint to control the quality of antialiasing. Under the hood in Mapnik this method is used in combination with the 'gamma' value (which defaults to 1). The methods are in the AGG source at https://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_gamma_functions.h"},"stroke-dasharray":{css:"line-dasharray",type:"numbers",doc:"A pair of length values [a,b], where (a) is the dash length and (b) is the gap length respectively. More than two values are supported for more complex patterns.","default-value":"none","default-meaning":"solid line"},"stroke-dashoffset":{css:"line-dash-offset",type:"numbers",doc:"valid parameter but not currently used in renderers (only exists for experimental svg support in Mapnik which is not yet enabled)","default-value":"none","default-meaning":"solid line"},"stroke-miterlimit":{css:"line-miterlimit",type:"float",doc:"The limit on the ratio of the miter length to the stroke-width. Used to automatically convert miter joins to bevel joins for sharp angles to avoid the miter extending beyond the thickness of the stroking path. Normally will not need to be set, but a larger value can sometimes help avoid jaggy artifacts.","default-value":4,"default-meaning":"Will auto-convert miters to bevel line joins when theta is less than 29 degrees as per the SVG spec: 'miterLength / stroke-width = 1 / sin ( theta / 2 )'"},clip:{css:"line-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"line-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},offset:{css:"line-offset",type:"float","default-value":0,"default-meaning":"no offset",doc:"Offsets a line a number of pixels parallel to its actual path. Postive values move the line left, negative values move it right (relative to the directionality of the line)."},rasterizer:{css:"line-rasterizer",type:["full","fast"],"default-value":"full",doc:"Exposes an alternate AGG rendering method that sacrifices some accuracy for speed."},"geometry-transform":{css:"line-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"line-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},markers:{file:{css:"marker-file",doc:"An SVG file that this marker shows at each placement. If no file is given, the marker will show an ellipse.","default-value":"","default-meaning":"An ellipse or circle, if width equals height",type:"uri"},opacity:{css:"marker-opacity",doc:"The overall opacity of the marker, if set, overrides both the opacity of both the fill and stroke","default-value":1,"default-meaning":"The stroke-opacity and fill-opacity will be used",type:"float"},"fill-opacity":{css:"marker-fill-opacity",doc:"The fill opacity of the marker","default-value":1,"default-meaning":"opaque",type:"float"},stroke:{css:"marker-line-color",doc:"The color of the stroke around a marker shape.","default-value":"black",type:"color"},"stroke-width":{css:"marker-line-width",doc:"The width of the stroke around a marker shape, in pixels. This is positioned on the boundary, so high values can cover the area itself.",type:"float"},"stroke-opacity":{css:"marker-line-opacity","default-value":1,"default-meaning":"opaque",doc:"The opacity of a line",type:"float"},placement:{css:"marker-placement",type:["point","line","interior"],"default-value":"point","default-meaning":"Place markers at the center point (centroid) of the geometry",doc:"Attempt to place markers on a point, in the center of a polygon, or if markers-placement:line, then multiple times along a line. 'interior' placement can be used to ensure that points placed on polygons are forced to be inside the polygon interior"},"multi-policy":{css:"marker-multi-policy",type:["each","whole","largest"],"default-value":"each","default-meaning":"If a feature contains multiple geometries and the placement type is either point or interior then a marker will be rendered for each",doc:"A special setting to allow the user to control rendering behavior for 'multi-geometries' (when a feature contains multiple geometries). This setting does not apply to markers placed along lines. The 'each' policy is default and means all geometries will get a marker. The 'whole' policy means that the aggregate centroid between all geometries will be used. The 'largest' policy means that only the largest (by bounding box areas) feature will get a rendered marker (this is how text labeling behaves by default)."},"marker-type":{css:"marker-type",type:["arrow","ellipse"],"default-value":"ellipse",doc:"The default marker-type. If a SVG file is not given as the marker-file parameter, the renderer provides either an arrow or an ellipse (a circle if height is equal to width)"},width:{css:"marker-width","default-value":10,doc:"The width of the marker, if using one of the default types.",type:"expression"},height:{css:"marker-height","default-value":10,doc:"The height of the marker, if using one of the default types.",type:"expression"},fill:{css:"marker-fill","default-value":"blue",doc:"The color of the area of the marker.",type:"color"},"allow-overlap":{css:"marker-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping markers are shown or hidden.","default-meaning":"Do not allow makers to overlap with each other - overlapping markers will not be shown."},"ignore-placement":{css:"marker-ignore-placement",type:"boolean","default-value":!1,"default-meaning":"do not store the bbox of this geometry in the collision detector cache",doc:"value to control whether the placement of the feature will prevent the placement of other features"},spacing:{css:"marker-spacing",doc:"Space between repeated labels","default-value":100,type:"float"},"max-error":{css:"marker-max-error",type:"float","default-value":.2,doc:"The maximum difference between actual marker placement and the marker-spacing parameter. Setting a high value can allow the renderer to try to resolve placement conflicts with other symbolizers."},transform:{css:"marker-transform",type:"functions",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]],"default-value":"","default-meaning":"No transformation",doc:"SVG transformation definition"},clip:{css:"marker-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"marker-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"marker-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"marker-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},shield:{name:{css:"shield-name",type:"expression",serialization:"content",doc:'Value to use for a shield"s text label. Data columns are specified using brackets like [column_name]'},file:{css:"shield-file",required:!0,type:"uri","default-value":"none",doc:"Image file to render behind the shield text"},"face-name":{css:"shield-face-name",type:"string",validate:"font",doc:"Font name and style to use for the shield text","default-value":"",required:!0},"unlock-image":{css:"shield-unlock-image",type:"boolean",doc:"This parameter should be set to true if you are trying to position text beside rather than on top of the shield image","default-value":!1,"default-meaning":"text alignment relative to the shield image uses the center of the image as the anchor for text positioning."},size:{css:"shield-size",type:"float",doc:"The size of the shield text in pixels"},fill:{css:"shield-fill",type:"color",doc:"The color of the shield text"},placement:{css:"shield-placement",type:["point","line","vertex","interior"],"default-value":"point",doc:"How this shield should be placed. Point placement attempts to place it on top of points, line places along lines multiple times per feature, vertex places on the vertexes of polygons, and interior attempts to place inside of polygons."},"avoid-edges":{css:"shield-avoid-edges",doc:"Tell positioning algorithm to avoid labeling near intersection edges.",type:"boolean","default-value":!1},"allow-overlap":{css:"shield-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping shields are shown or hidden.","default-meaning":"Do not allow shields to overlap with other map elements already placed."},"minimum-distance":{css:"shield-min-distance",type:"float","default-value":0,doc:"Minimum distance to the next shield symbol, not necessarily the same shield."},spacing:{css:"shield-spacing",type:"float","default-value":0,doc:"The spacing between repeated occurrences of the same shield on a line"},"minimum-padding":{css:"shield-min-padding","default-value":0,doc:"Determines the minimum amount of padding that a shield gets relative to other shields",type:"float"},"wrap-width":{css:"shield-wrap-width",type:"unsigned","default-value":0,doc:"Length of a chunk of text in characters before wrapping text"},"wrap-before":{css:"shield-wrap-before",type:"boolean","default-value":!1,doc:"Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width."},"wrap-character":{css:"shield-wrap-character",type:"string","default-value":" ",doc:"Use this character instead of a space to wrap long names."},"halo-fill":{css:"shield-halo-fill",type:"color","default-value":"#FFFFFF","default-meaning":"white",doc:"Specifies the color of the halo around the text."},"halo-radius":{css:"shield-halo-radius",doc:"Specify the radius of the halo in pixels","default-value":0,"default-meaning":"no halo",type:"float"},"character-spacing":{css:"shield-character-spacing",type:"unsigned","default-value":0,doc:"Horizontal spacing between characters (in pixels). Currently works for point placement only, not line placement."},"line-spacing":{css:"shield-line-spacing",doc:"Vertical spacing between lines of multiline labels (in pixels)",type:"unsigned"},dx:{css:"shield-text-dx",type:"float",doc:"Displace text within shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},dy:{css:"shield-text-dy",type:"float",doc:"Displace text within shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},"shield-dx":{css:"shield-dx",type:"float",doc:"Displace shield by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},"shield-dy":{css:"shield-dy",type:"float",doc:"Displace shield by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},opacity:{css:"shield-opacity",type:"float",doc:"(Default 1.0) - opacity of the image used for the shield","default-value":1},"text-opacity":{css:"shield-text-opacity",type:"float",doc:"(Default 1.0) - opacity of the text placed on top of the shield","default-value":1},"horizontal-alignment":{css:"shield-horizontal-alignment",type:["left","middle","right","auto"],doc:"The shield's horizontal alignment from its centerpoint","default-value":"auto"},"vertical-alignment":{css:"shield-vertical-alignment",type:["top","middle","bottom","auto"],doc:"The shield's vertical alignment from its centerpoint","default-value":"middle"},"text-transform":{css:"shield-text-transform",type:["none","uppercase","lowercase","capitalize"],doc:"Transform the case of the characters","default-value":"none"},"justify-alignment":{css:"shield-justify-alignment",type:["left","center","right","auto"],doc:"Define how text in a shield's label is justified","default-value":"auto"},clip:{css:"shield-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},"comp-op":{css:"shield-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},"line-pattern":{file:{css:"line-pattern-file",type:"uri","default-value":"none",required:!0,doc:"An image file to be repeated and warped along a line"},clip:{css:"line-pattern-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"line-pattern-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"line-pattern-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"line-pattern-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},"polygon-pattern":{file:{css:"polygon-pattern-file",type:"uri","default-value":"none",required:!0,doc:"Image to use as a repeated pattern fill within a polygon"},alignment:{css:"polygon-pattern-alignment",type:["local","global"],"default-value":"local",doc:"Specify whether to align pattern fills to the layer or to the map."},gamma:{css:"polygon-pattern-gamma",type:"float","default-value":1,"default-meaning":"fully antialiased",range:"0-1",doc:"Level of antialiasing of polygon pattern edges"},opacity:{css:"polygon-pattern-opacity",type:"float",doc:"(Default 1.0) - Apply an opacity level to the image used for the pattern","default-value":1,"default-meaning":"The image is rendered without modifications"},clip:{css:"polygon-pattern-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},smooth:{css:"polygon-pattern-smooth",type:"float","default-value":0,"default-meaning":"no smoothing",range:"0-1",doc:"Smooths out geometry angles. 0 is no smoothing, 1 is fully smoothed. Values greater than 1 will produce wild, looping geometries."},"geometry-transform":{css:"polygon-pattern-geometry-transform",type:"functions","default-value":"none","default-meaning":"geometry will not be transformed",doc:"Allows transformation functions to be applied to the geometry.",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]]},"comp-op":{css:"polygon-pattern-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},raster:{opacity:{css:"raster-opacity","default-value":1,"default-meaning":"opaque",type:"float",doc:"The opacity of the raster symbolizer on top of other symbolizers."},"filter-factor":{css:"raster-filter-factor","default-value":-1,"default-meaning":"Allow the datasource to choose appropriate downscaling.",type:"float",doc:"This is used by the Raster or Gdal datasources to pre-downscale images using overviews. Higher numbers can sometimes cause much better scaled image output, at the cost of speed."},scaling:{css:"raster-scaling",type:["near","fast","bilinear","bilinear8","bicubic","spline16","spline36","hanning","hamming","hermite","kaiser","quadric","catrom","gaussian","bessel","mitchell","sinc","lanczos","blackman"],"default-value":"near",doc:"The scaling algorithm used to making different resolution versions of this raster layer. Bilinear is a good compromise between speed and accuracy, while lanczos gives the highest quality."},"mesh-size":{css:"raster-mesh-size","default-value":16,"default-meaning":"Reprojection mesh will be 1/16 of the resolution of the source image",type:"unsigned",doc:"A reduced resolution mesh is used for raster reprojection, and the total image size is divided by the mesh-size to determine the quality of that mesh. Values for mesh-size larger than the default will result in faster reprojection but might lead to distortion."},"comp-op":{css:"raster-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},point:{file:{css:"point-file",type:"uri",required:!1,"default-value":"none",doc:"Image file to represent a point"},"allow-overlap":{css:"point-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping points are shown or hidden.","default-meaning":"Do not allow points to overlap with each other - overlapping markers will not be shown."},"ignore-placement":{css:"point-ignore-placement",type:"boolean","default-value":!1,"default-meaning":"do not store the bbox of this geometry in the collision detector cache",doc:"value to control whether the placement of the feature will prevent the placement of other features"},opacity:{css:"point-opacity",type:"float","default-value":1,"default-meaning":"Fully opaque",doc:"A value from 0 to 1 to control the opacity of the point"},placement:{css:"point-placement",type:["centroid","interior"],doc:"How this point should be placed. Centroid calculates the geometric center of a polygon, which can be outside of it, while interior always places inside of a polygon.","default-value":"centroid"},transform:{css:"point-transform",type:"functions",functions:[["matrix",6],["translate",2],["scale",2],["rotate",3],["skewX",1],["skewY",1]],"default-value":"","default-meaning":"No transformation",doc:"SVG transformation definition"},"comp-op":{css:"point-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},text:{name:{css:"text-name",type:"expression",required:!0,"default-value":"",serialization:"content",doc:"Value to use for a text label. Data columns are specified using brackets like [column_name]"},"face-name":{css:"text-face-name",type:"string",validate:"font",doc:"Font name and style to render a label in",required:!0},size:{css:"text-size",type:"float","default-value":10,doc:"Text size in pixels"},"text-ratio":{css:"text-ratio",doc:"Define the amount of text (of the total) present on successive lines when wrapping occurs","default-value":0,type:"unsigned"},"wrap-width":{css:"text-wrap-width",doc:"Length of a chunk of text in characters before wrapping text","default-value":0,type:"unsigned"},"wrap-before":{css:"text-wrap-before",type:"boolean","default-value":!1,doc:"Wrap text before wrap-width is reached. If false, wrapped lines will be a bit longer than wrap-width."},"wrap-character":{css:"text-wrap-character",type:"string","default-value":" ",doc:"Use this character instead of a space to wrap long text."},spacing:{css:"text-spacing",type:"unsigned",doc:"Distance between repeated text labels on a line (aka. label-spacing)"},"character-spacing":{css:"text-character-spacing",type:"float","default-value":0,doc:"Horizontal spacing adjustment between characters in pixels"},"line-spacing":{css:"text-line-spacing","default-value":0,type:"unsigned",doc:"Vertical spacing adjustment between lines in pixels"},"label-position-tolerance":{css:"text-label-position-tolerance","default-value":0,type:"unsigned",doc:"Allows the label to be displaced from its ideal position by a number of pixels (only works with placement:line)"},"max-char-angle-delta":{css:"text-max-char-angle-delta",type:"float","default-value":"22.5",doc:"The maximum angle change, in degrees, allowed between adjacent characters in a label. This value internally is converted to radians to the default is 22.5*math.pi/180.0. The higher the value the fewer labels will be placed around around sharp corners."},fill:{css:"text-fill",doc:"Specifies the color for the text","default-value":"#000000",type:"color"},opacity:{css:"text-opacity",doc:"A number from 0 to 1 specifying the opacity for the text","default-value":1,"default-meaning":"Fully opaque",type:"float"},"halo-fill":{css:"text-halo-fill",type:"color","default-value":"#FFFFFF","default-meaning":"white",doc:"Specifies the color of the halo around the text."},"halo-radius":{css:"text-halo-radius",doc:"Specify the radius of the halo in pixels","default-value":0,"default-meaning":"no halo",type:"float"},dx:{css:"text-dx",type:"float",doc:"Displace text by fixed amount, in pixels, +/- along the X axis. A positive value will shift the text right","default-value":0},dy:{css:"text-dy",type:"float",doc:"Displace text by fixed amount, in pixels, +/- along the Y axis. A positive value will shift the text down","default-value":0},"vertical-alignment":{css:"text-vertical-alignment",type:["top","middle","bottom","auto"],doc:"Position of label relative to point position.","default-value":"auto","default-meaning":'Default affected by value of dy; "bottom" for dy>0, "top" for dy<0.'},"avoid-edges":{css:"text-avoid-edges",doc:"Tell positioning algorithm to avoid labeling near intersection edges.","default-value":!1,type:"boolean"},"minimum-distance":{css:"text-min-distance",doc:"Minimum permitted distance to the next text symbolizer.",type:"float"},"minimum-padding":{css:"text-min-padding",doc:"Determines the minimum amount of padding that a text symbolizer gets relative to other text",type:"float"},"minimum-path-length":{css:"text-min-path-length",type:"float","default-value":0,"default-meaning":"place labels on all paths",doc:"Place labels only on paths longer than this value."},"allow-overlap":{css:"text-allow-overlap",type:"boolean","default-value":!1,doc:"Control whether overlapping text is shown or hidden.","default-meaning":"Do not allow text to overlap with other text - overlapping markers will not be shown."},orientation:{css:"text-orientation",type:"expression",doc:"Rotate the text."},placement:{css:"text-placement",type:["point","line","vertex","interior"],"default-value":"point",doc:"Control the style of placement of a point versus the geometry it is attached to."},"placement-type":{css:"text-placement-type",doc:'Re-position and/or re-size text to avoid overlaps. "simple" for basic algorithm (using text-placements string,) "dummy" to turn this feature off.',type:["dummy","simple"],"default-value":"dummy"},placements:{css:"text-placements",type:"string","default-value":"",doc:'If "placement-type" is set to "simple", use this "POSITIONS,[SIZES]" string. An example is `text-placements: "E,NE,SE,W,NW,SW";` '},"text-transform":{css:"text-transform",type:["none","uppercase","lowercase","capitalize"],doc:"Transform the case of the characters","default-value":"none"},"horizontal-alignment":{css:"text-horizontal-alignment",type:["left","middle","right","auto"],doc:"The text's horizontal alignment from its centerpoint","default-value":"auto"},"justify-alignment":{css:"text-align",type:["left","right","center","auto"],doc:"Define how text is justified","default-value":"auto","default-meaning":"Auto alignment means that text will be centered by default except when using the `placement-type` parameter - in that case either right or left justification will be used automatically depending on where the text could be fit given the `text-placements` directives"},clip:{css:"text-clip",type:"boolean","default-value":!0,"default-meaning":"geometry will be clipped to map bounds before rendering",doc:"geometries are clipped to map bounds by default for best rendering performance. In some cases users may wish to disable this to avoid rendering artifacts."},"comp-op":{css:"text-comp-op","default-value":"src-over","default-meaning":"add the current symbolizer on top of other symbolizer",doc:"Composite operation. This defines how this symbolizer should behave relative to symbolizers atop or below it.",type:["clear","src","dst","src-over","dst-over","src-in","dst-in","src-out","dst-out","src-atop","dst-atop","xor","plus","minus","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","contrast","invert","invert-rgb","grain-merge","grain-extract","hue","saturation","color","value"]}},building:{fill:{css:"building-fill","default-value":"#FFFFFF",doc:"The color of the buildings walls.",type:"color"},"fill-opacity":{css:"building-fill-opacity",type:"float",doc:"The opacity of the building as a whole, including all walls.","default-value":1},height:{css:"building-height",doc:"The height of the building in pixels.",type:"expression","default-value":"0"}}},colors:{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50],transparent:[0,0,0,0]},filter:{value:["true","false","null","point","linestring","polygon","collection"]}};On.mapnik_reference={version:{latest:Pn,"2.1.1":Pn}},On.Tree={},On.Tree.operate=function(e,t,r){switch(e){case"+":return t+r;case"-":return t-r;case"*":return t*r;case"%":return t%r;case"/":return t/r}},On.Tree.functions={rgb:function(e,t,r){return this.rgba(e,t,r,1)},rgba:function(e,t,r,s){var i=this,n=[e,t,r].map(function(e){return i.number(e)});return s=i.number(s),n.some(isNaN)||isNaN(s)?null:new On.Tree.Color(n,s)},stop:function(e){var t,r;return arguments.length>1&&(t=arguments[1]),arguments.length>2&&(r=arguments[2]),{is:"tag",val:e,color:t,mode:r,toString:s=>'\n\t<stop value="'+e.ev(s)+'"'+(t?' color="'+t.ev(s)+'" ':"")+(r?' mode="'+r.ev(s)+'" ':"")+"/>"}},hsl:function(e,t,r){return this.hsla(e,t,r,1)},hsla:function(e,t,r,s){if([e=this.number(e)%360/360,t=this.number(t),r=this.number(r),s=this.number(s)].some(isNaN))return null;var i=r<=.5?r*(t+1):r+t-r*t,n=2*r-i;return this.rgba(255*a(e+1/3),255*a(e),255*a(e-1/3),s);function a(e){return 6*(e=e<0?e+1:e>1?e-1:e)<1?n+(i-n)*e*6:2*e<1?i:3*e<2?n+(i-n)*(2/3-e)*6:n}},hue:function(e){return"toHSL"in e?new On.Tree.Dimension(Math.round(e.toHSL().h)):null},saturation:function(e){return"toHSL"in e?new On.Tree.Dimension(Math.round(100*e.toHSL().s),"%"):null},lightness:function(e){return"toHSL"in e?new On.Tree.Dimension(Math.round(100*e.toHSL().l),"%"):null},alpha:function(e){return"toHSL"in e?new On.Tree.Dimension(e.toHSL().a):null},saturate:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.s+=t.value/100,r.s=this.clamp(r.s),this.hsla_simple(r)},desaturate:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.s-=t.value/100,r.s=this.clamp(r.s),this.hsla_simple(r)},lighten:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.l+=t.value/100,r.l=this.clamp(r.l),this.hsla_simple(r)},darken:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.l-=t.value/100,r.l=this.clamp(r.l),this.hsla_simple(r)},fadein:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.a+=t.value/100,r.a=this.clamp(r.a),this.hsla_simple(r)},fadeout:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL();return r.a-=t.value/100,r.a=this.clamp(r.a),this.hsla_simple(r)},spin:function(e,t){if(!("toHSL"in e))return null;var r=e.toHSL(),s=(r.h+t.value)%360;return r.h=s<0?360+s:s,this.hsla_simple(r)},replace:function(e,t,r){return"field"===e.is?e.toString+".replace("+t.toString()+", "+r.toString()+")":e.replace(t,r)},mix:function(e,t,r){var s=r.value/100,i=2*s-1,n=e.toHSL().a-t.toHSL().a,a=((i*n==-1?i:(i+n)/(1+i*n))+1)/2,o=1-a,l=[e.rgb[0]*a+t.rgb[0]*o,e.rgb[1]*a+t.rgb[1]*o,e.rgb[2]*a+t.rgb[2]*o],h=e.alpha*s+t.alpha*(1-s);return new On.Tree.Color(l,h)},greyscale:function(e){return this.desaturate(e,new On.Tree.Dimension(100))},"%":function(e){for(var t=Array.prototype.slice.call(arguments,1),r=e.value,s=0;s<t.length;s++)r=r.replace(/%s/,t[s].value).replace(/%[da]/,t[s].toString());return r=r.replace(/%%/g,"%"),new On.Tree.Quoted(r)},hsla_simple:function(e){return this.hsla(e.h,e.s,e.l,e.a)},number:function(e){return e instanceof On.Tree.Dimension?parseFloat("%"===e.unit?e.value/100:e.value):"number"==typeof e?e:NaN},clamp:function(e){return Math.min(1,Math.max(0,e))}},On.Tree.Call=class{constructor(e,t,r){this.is="call",this.name=e,this.args=t,this.index=r}ev(e){for(var t=this.args.map(function(t){return t.ev(e)}),r=0;r<t.length;r++)if("undefined"===t[r].is)return{is:"undefined",value:"undefined"};if(this.name in On.Tree.functions){if(On.Tree.functions[this.name].length<=t.length){var s=On.Tree.functions[this.name].apply(On.Tree.functions,t);return null===s?(e.error({message:"incorrect arguments given to "+this.name+"()",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):s}return e.error({message:"incorrect number of arguments for "+this.name+"(). "+On.Tree.functions[this.name].length+" expected.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}}var i=On.Tree.Reference.mapnikFunctions[this.name];if(void 0===i){var n=An()(On.Tree.Reference.mapnikFunctions),a=this.name,o=n.map(function(e){return[e[0],On.Tree.Reference.editDistance(a,e[0]),e[1]]}).sort(function(e,t){return e[1]-t[1]});return e.error({message:"unknown function "+this.name+"(), did you mean "+o[0][0]+"("+o[0][2]+")",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}}return i!==t.length&&-1!==i?(e.error({message:"function "+this.name+"() takes "+i+" arguments and was given "+t.length,index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):(this.args=t,this)}toString(e,t){return this.args.length?this.name+"("+this.args.join(",")+")":this.name}},On.Tree.Color=class{constructor(e,t){this.is="color",Array.isArray(e)?this.rgb=e.slice(0,3):6==e.length?this.rgb=e.match(/.{2}/g).map(function(e){return parseInt(e,16)}):this.rgb=e.split("").map(function(e){return parseInt(e+e,16)}),"number"==typeof t?this.alpha=t:4===e.length?this.alpha=e[3]:this.alpha=1}ev(){return this}toString(){return"rgba("+this.rgb.map(function(e){return Math.round(e)}).concat(this.alpha).join(", ")+")"}operate(e,t,r){var s=[];r instanceof On.Tree.Color||(r=r.toColor());for(var i=0;i<3;i++)s[i]=On.Tree.operate(t,this.rgb[i],r.rgb[i]);return new On.Tree.Color(s)}toHSL(){var e,t,r=this.rgb[0]/255,s=this.rgb[1]/255,i=this.rgb[2]/255,n=this.alpha,a=Math.max(r,s,i),o=Math.min(r,s,i),l=(a+o)/2,h=a-o;if(a===o)e=t=0;else{switch(t=l>.5?h/(2-a-o):h/(a+o),a){case r:e=(s-i)/h+(s<i?6:0);break;case s:e=(i-r)/h+2;break;case i:e=(r-s)/h+4}e/=6}return{h:360*e,s:t,l,a:n}}},On.Tree.Comment=class{constructor(e,t){this.value=e,this.silent=!!t}toString(e){return"\x3c!--"+this.value+"--\x3e"}ev(){return this}},On.Tree.Definition=class{constructor(e,t){this.elements=e.elements,this.rules=t,this.ruleIndex={};for(var r=0;r<this.rules.length;r++)"zoom"in this.rules[r]&&(this.rules[r]=this.rules[r].clone()),this.rules[r].zoom=e.zoom,this.ruleIndex[this.rules[r].updateID()]=!0;this.filters=e.filters,this.zoom=e.zoom,this.attachment=e.attachment||"__default__",this.specificity=e.specificity()}toString(){for(var e=this.filters.toString(),t=0;t<this.rules.length;t++)e+="\n "+this.rules[t];return e}toJS(e){var t={},r=this.zoom,s=this.filters.toJS(e),i=[r];function n(r){if(r instanceof On.Tree.Rule)t[r.name]=t[r.name]||[],s?t[r.name].push("if("+s+"){"+r.value.toJS(e)+"}"):t[r.name].push(r.value.toJS(e));else if(r instanceof On.Tree.Ruleset){var i=r.toJS(e);for(var n in i)for(var a in t[n]=t[n]||[],i[n])t[n].push(i[n][a])}}for(var a in s&&i.push(s),s=i.join(" && "),this.rules)n(this.rules[a]);return t}},On.Tree.Dimension=class{constructor(e,t,r){this.is="float",this.physical_units=["m","cm","in","mm","pt","pc"],this.screen_units=["px","%"],this.all_units=["m","cm","in","mm","pt","pc","px","%"],this.densities={m:.0254,mm:25.4,cm:2.54,pt:72,pc:6},this.value=parseFloat(e),this.unit=t||null,this.index=r}ev(e){if(this.unit&&this.all_units.indexOf(this.unit)<0)return e.error({message:"Invalid unit: '"+this.unit+"'",index:this.index}),{is:"undefined",value:"undefined"};if(this.unit&&this.physical_units.indexOf(this.unit)>=0){if(!e.ppi)return e.error({message:"ppi is not set, so metric units can't be used",index:this.index}),{is:"undefined",value:"undefined"};this.value=this.value/this.densities[this.unit]*e.ppi,this.unit="px"}return this}toColor(){return new On.Tree.Color([this.value,this.value,this.value])}round(){return this.value=Math.round(this.value),this}toString(){return this.value.toString()}operate(e,t,r){return"%"===this.unit&&"%"!==r.unit?(e.error({message:"If two operands differ, the first must not be %",index:this.index}),{is:"undefined",value:"undefined"}):"%"!==this.unit&&"%"===r.unit?"*"===t||"/"===t||"%"===t?(e.error({message:"Percent values can only be added or subtracted from other values",index:this.index}),{is:"undefined",value:"undefined"}):new On.Tree.Dimension(On.Tree.operate(t,this.value,this.value*r.value*.01),this.unit):new On.Tree.Dimension(On.Tree.operate(t,this.value,r.value),this.unit||r.unit)}},On.Tree.Element=class{constructor(e){this.value=e.trim(),"#"===this.value[0]&&(this.type="id",this.clean=this.value.replace(/^#/,"")),"."===this.value[0]&&(this.type="class",this.clean=this.value.replace(/^\./,"")),-1!==this.value.indexOf("*")&&(this.type="wildcard")}specificity(){return["id"===this.type?1:0,"class"===this.type?1:0]}toString(){return this.value}},On.Tree.Expression=class{constructor(e){this.is="expression",this.value=e}ev(e){return this.value.length>1?new On.Tree.Expression(this.value.map(function(t){return t.ev(e)})):this.value[0].ev(e)}toString(e){return this.value.map(function(t){return t.toString(e)}).join(" ")}},On.Tree.Field=class{constructor(e){this.is="field",this.value=e||""}toString(){return'["'+this.value.toUpperCase()+'"]'}ev(){return this}},On.Tree.Filter=class{constructor(e,t,r,s,i){this.ops={"<":[" &lt; ","numeric"],">":[" &gt; ","numeric"],"=":[" = ","both"],"!=":[" != ","both"],"<=":[" &lt;= ","numeric"],">=":[" &gt;= ","numeric"],"=~":[".match(","string",")"]},this.key=e,this.op=t,this.val=r,this.index=s,this.filename=i,this.id=this.key+this.op+this.val}ev(e){return this.key=this.key.ev(e),this.val=this.val.ev(e),this}toString(){return"["+this.id+"]"}},On.Tree.Filterset=class{constructor(){this.filters={}}toJS(e){function t(e){var t=e.op;"="===t&&(t="==");var r=e.val;void 0!==e._val&&(r=e._val.toString(!0)),e.key&&"scale"===e.key.value?r=+r:"string"!=typeof r&&"object"!=typeof r||(r="'"+r+"'");var s="attributes";return s+"&&"+s+e.key+"&&"+s+e.key+" "+t+r}var r=[];for(var s in this.filters)r.push(t(this.filters[s]));return r.join(" && ")}toString(){var e=[];for(var t in this.filters)e.push(this.filters[t].id);return e.sort().join("\t")}ev(e){for(var t in this.filters)this.filters[t].ev(e);return this}clone(){var e=new On.Tree.Filterset;for(var t in this.filters)e.filters[t]=this.filters[t];return e}cloneWith(e){var t=[];for(var r in e.filters){var s=this.addable(e.filters[r]);if(!1===s)return!1;!0===s&&t.push(e.filters[r])}if(!t.length)return null;var i=new On.Tree.Filterset;for(r in this.filters)i.filters[r]=this.filters[r];for(;r=t.shift();)i.add(r);return i}addable(e){var t=e.key.toString(),r=e.val.toString();switch(r.match(/^[0-9]+(\.[0-9]*)?_match/)&&(r=parseFloat(r)),e.op){case"=":return void 0!==this.filters[t+"="]?this.filters[t+"="].val.toString()==r&&null:void 0===this.filters[t+"!="+r]&&(!(void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r)&&(!(void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r)&&(!(void 0!==this.filters[t+">="]&&this.filters[t+">="].val>r)&&!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<r))));case"=~":return!0;case"!=":return void 0!==this.filters[t+"="]?this.filters[t+"="].val!==r&&null:void 0!==this.filters[t+"!="+r]?null:void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r?null:void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r?null:void 0!==this.filters[t+">="]&&this.filters[t+">="].val>r?null:!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<r)||null;case">":return t+"="in this.filters?!(this.filters[t+"="].val<=r)&&null:!(void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r)&&(!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<=r)&&(void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r?null:!(void 0!==this.filters[t+">="]&&this.filters[t+">="].val>r)||null));case">=":return void 0!==this.filters[t+"="]?!(this.filters[t+"="].val<r)&&null:!(void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r)&&(!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<r)&&(void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r?null:!(void 0!==this.filters[t+">="]&&this.filters[t+">="].val>=r)||null));case"<":return void 0!==this.filters[t+"="]?!(this.filters[t+"="].val>=r)&&null:!(void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r)&&(!(void 0!==this.filters[t+">="]&&this.filters[t+">="].val>=r)&&(void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r?null:!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<r)||null));case"<=":return void 0!==this.filters[t+"="]?!(this.filters[t+"="].val>r)&&null:!(void 0!==this.filters[t+">"]&&this.filters[t+">"].val>=r)&&(!(void 0!==this.filters[t+">="]&&this.filters[t+">="].val>r)&&(void 0!==this.filters[t+"<"]&&this.filters[t+"<"].val<=r?null:!(void 0!==this.filters[t+"<="]&&this.filters[t+"<="].val<=r)||null))}}conflict(e){var t=e.key.toString(),r=e.val.toString();return isNaN(parseFloat(r))||(r=parseFloat(r)),("="===e.op&&void 0!==this.filters[t+"="]&&r!=this.filters[t+"="].val.toString()||"!="===e.op&&void 0!==this.filters[t+"="]&&r==this.filters[t+"="].val.toString()||"="===e.op&&void 0!==this.filters[t+"!="]&&r===this.filters[t+"!="].val.toString())&&e.toString()+" added to "+this.toString()+" produces an invalid filter"}add(e,t){var r,s=e.key.toString(),i=e.op,n=this.conflict(e);if(n)return n;if("="===i){for(var a in this.filters)this.filters[a].key===s&&delete this.filters[a];this.filters[s+"="]=e}else if("!="===i)this.filters[s+"!="+e.val]=e;else if("=~"===i)this.filters[s+"=~"+e.val]=e;else if(">"===i){for(var o in this.filters)this.filters[o].key===s&&this.filters[o].val<=e.val&&delete this.filters[o];this.filters[s+">"]=e}else if(">="===i){for(var l in this.filters)r=+this.filters[l].val.toString(),this.filters[l].key===s&&r<e.val&&delete this.filters[l];void 0!==this.filters[s+"!="+e.val]?(delete this.filters[s+"!="+e.val],e.op=">",this.filters[s+">"]=e):this.filters[s+">="]=e}else if("<"===i){for(var h in this.filters)r=+this.filters[h].val.toString(),this.filters[h].key===s&&r>=e.val&&delete this.filters[h];this.filters[s+"<"]=e}else if("<="===i){for(var u in this.filters)r=+this.filters[u].val.toString(),this.filters[u].key===s&&r>e.val&&delete this.filters[u];void 0!==this.filters[s+"!="+e.val]?(delete this.filters[s+"!="+e.val],e.op="<",this.filters[s+"<"]=e):this.filters[s+"<="]=e}}},On.Tree.Fontset=class{constructor(e,t){this.fonts=t,this.name="fontset-"+e.effects.length}},On.Tree.Invalid=class{constructor(e,t,r){this.is="invalid",this.chunk=e,this.index=t,this.type="syntax",this.message=r||"Invalid code: "+this.chunk}ev(e){return e.error({chunk:this.chunk,index:this.index,type:"syntax",message:this.message||"Invalid code: "+this.chunk}),{is:"undefined"}}},On.Tree.Keyword=class{ev(){return this}constructor(e){this.value=e;var t={transparent:"color",true:"boolean",false:"boolean"};this.is=t[e]?t[e]:"keyword"}toString(){return this.value}},On.Tree.Literal=class{constructor(e){this.value=e||"",this.is="field"}toString(){return this.value}ev(){return this}},On.Tree.Operation=class{constructor(e,t,r){this.is="operation",this.op=e.trim(),this.operands=t,this.index=r}ev(e){var t,r=this.operands[0].ev(e),s=this.operands[1].ev(e);return"undefined"===r.is||"undefined"===s.is?{is:"undefined",value:"undefined"}:(r instanceof On.Tree.Dimension&&s instanceof On.Tree.Color&&("*"===this.op||"+"===this.op?(t=s,s=r,r=t):e.error({name:"OperationError",message:"Can't substract or divide a color from a number",index:this.index})),r instanceof On.Tree.Quoted&&s instanceof On.Tree.Quoted&&"+"!==this.op?(e.error({message:"Can't subtract, divide, or multiply strings.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):r instanceof On.Tree.Field||s instanceof On.Tree.Field||r instanceof On.Tree.Literal||s instanceof On.Tree.Literal?"color"===r.is||"color"===s.is?(e.error({message:"Can't subtract, divide, or multiply colors in expressions.",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):new On.Tree.Literal(r.ev(e).toString(!0)+this.op+s.ev(e).toString(!0)):void 0===r.operate?(e.error({message:"Cannot do math with type "+r.is+".",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"}):r.operate(e,this.op,s))}},On.Tree.Quoted=class{constructor(e){this.is="string",this.value=e||""}toString(e){var t=this.value.replace(/&/g,"&amp;"),r=t.replace(/\'/g,"\\'").replace(/\"/g,"&quot;").replace(/</g,"&lt;").replace(/\>/g,"&gt;");return!0===e?"'"+r+"'":t}ev(){return this}operate(e,t,r){return new On.Tree.Quoted(On.Tree.operate(t,this.toString(),r.toString(this.contains_field)))}},On.Tree.Reference={_validateValue:{font:function(e,t){return!e.validation_data||!e.validation_data.fonts||-1!=e.validation_data.fonts.indexOf(t)}},setData:function(e){this.data=e,this.selector_cache=function(e){var t={};for(var r in e.symbolizers)for(var s in e.symbolizers[r])e.symbolizers[r][s].hasOwnProperty("css")&&(t[e.symbolizers[r][s].css]=[e.symbolizers[r][s],r,s]);return t}(e),this.mapnikFunctions=function(e){var t={};for(var r in e.symbolizers)for(var s in e.symbolizers[r])if("functions"===e.symbolizers[r][s].type)for(var i=0;i<e.symbolizers[r][s].functions.length;i++){var n=e.symbolizers[r][s].functions[i];t[n[0]]=n[1]}return t}(e),this.required_cache=function(e){var t={};for(var r in e.symbolizers)for(var s in t[r]=[],e.symbolizers[r])e.symbolizers[r][s].required&&t[r].push(e.symbolizers[r][s].css);return t}(e)},setVersion:function(e){return!!On.mapnik_reference.version.hasOwnProperty(e)&&(this.setData(On.mapnik_reference.version[e]),!0)},selectorData:function(e,t){if(this.selector_cache&&this.selector_cache[e])return this.selector_cache[e][t]},validSelector:function(e){return!!this.selector_cache[e]},selectorName:function(e){return this.selectorData(e,2)},selector:function(e){return this.selectorData(e,0)},symbolizer:function(e){return this.selectorData(e,1)},requiredProperties:function(e,t){var r=this.required_cache[e];for(var s in r)if(!(r[s]in t))return"Property "+r[s]+" required for defining "+e+" styles."},isFont:function(e){return"font"===this.selector(e).validate},editDistance:function(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;for(var r=[],s=0;s<=t.length;s++)r[s]=[s];for(var i=0;i<=e.length;i++)r[0][i]=i;for(s=1;s<=t.length;s++)for(i=1;i<=e.length;i++)t.charAt(s-1)===e.charAt(i-1)?r[s][i]=r[s-1][i-1]:r[s][i]=Math.min(r[s-1][i-1]+1,Math.min(r[s][i-1]+1,r[s-1][i]+1));return r[t.length][e.length]},validValue:function(e,t,r){var s;if(this.selector(t)){if("keyword"===r.value[0].is)return function(e,t){return"object"==typeof this.selector(t).type?-1!==this.selector(t).type.indexOf(e.value[0].value):"string"===this.selector(t).type}(r,t);if("undefined"===r.value[0].is)return!0;if("numbers"===this.selector(t).type){for(s in r.value)if("float"!==r.value[s].is)return!1;return!0}if("tags"===this.selector(t).type){if(!r.value)return!1;if(!r.value[0].value)return"tag"===r.value[0].is;for(s=0;s<r.value[0].value.length;s++)if("tag"!==r.value[0].value[s].is)return!1;return!0}if("functions"==this.selector(t).type)return function(e,t){if("string"===e.value[0].is)return!0;for(var r in e.value)for(var s in e.value[r].value){if("call"!==e.value[r].value[s].is)return!1;var i=find(this.selector(t).functions,function(t){return t[0]===e.value[r].value[s].name});if(!(i&&-1===i[1]||i&&i[1]===e.value[r].value[s].args.length))return!1}return!0}(r,t);if("expression"===this.selector(t).type)return!0;if("unsigned"===this.selector(t).type)return"float"===r.value[0].is&&(r.value[0].round(),!0);if(this.selector(t).validate){for(s=0;s<r.value.length;s++)if(this.selector(t).type===r.value[s].is&&this._validateValue[this.selector(t).validate](e,r.value[s].value))return!0;return!1}return this.selector(t).type===r.value[0].is}return!1}},On.Tree.Reference.setVersion("latest"),On.Tree.Rule=class{constructor(e,t,r,s){this.is="rule";var i=e.split("/");this.name=i.pop(),this.instance=i.length?i[0]:"__default__",this.value=t instanceof On.Tree.Value?t:new On.Tree.Value([t]),this.index=r,this.symbolizer=On.Tree.Reference.symbolizer(this.name),this.filename=s,this.variable="@"===e.charAt(0)}clone(){var e=Object.create(On.Tree.Rule.prototype);return e.name=this.name,e.value=this.value,e.index=this.index,e.instance=this.instance,e.symbolizer=this.symbolizer,e.filename=this.filename,e.variable=this.variable,e}updateID(){return this.id=this.zoom+"#"+this.instance+"#"+this.name}toString(){return"["+On.Tree.Zoom.toString(this.zoom)+"] "+this.name+": "+this.value}ev(e){return new On.Tree.Rule(this.name,this.value.ev(e),this.index,this.filename)}},On.Tree.Ruleset=class{constructor(e,t){this.is="ruleset",this.selectors=e,this.rules=t,this._lookups={}}ev(e){var t,r,s=new On.Tree.Ruleset(this.selectors,this.rules.slice(0));for(s.root=this.root,e.frames.unshift(s),t=0;t<s.rules.length;t++)r=s.rules[t],s.rules[t]=r.ev?r.ev(e):r;return e.frames.shift(),s}match(e){return!e||0===e.length}variables(){return this._variables?this._variables:this._variables=this.rules.reduce(function(e,t){return t instanceof On.Tree.Rule&&!0===t.variable&&(e[t.name]=t),e},{})}variable(e){return this.variables()[e]}rulesets(){return this._rulesets?this._rulesets:this._rulesets=this.rules.filter(function(e){return e instanceof On.Tree.Ruleset})}find(e,t){t=t||this;var r=[],s=e.toString();return s in this._lookups?this._lookups[s]:(this.rulesets().forEach(function(s){if(s!==t)for(var i=0;i<s.selectors.length;i++)if(e.match(s.selectors[i])){e.elements.length>1?Array.prototype.push.apply(r,s.find(new On.Tree.Selector(null,null,e.elements.slice(1)),t)):r.push(s);break}}),this._lookups[s]=r)}evZooms(e){for(var t=0;t<this.selectors.length;t++){for(var r=On.Tree.Zoom.all,s=0;s<this.selectors[t].zoom.length;s++)r=this.selectors[t].zoom[s].ev(e).zoom;this.selectors[t].zoom=r}}flatten(e,t,r){var s,i,n=[];for(0===this.selectors.length&&(r.frames=r.frames.concat(this.rules)),this.evZooms(r),s=0;s<this.selectors.length;s++){var a=this.selectors[s];if(a.filters)if(t.length)for(i=0;i<t.length;i++){var o=t[i],l=o.filters.cloneWith(a.filters);if(null===l){if(o.zoom===a.zoom&&o.attachment===a.attachment&&o.elements.join()===a.elements.join()){n.push(o);continue}l=o.filters}else if(!l)continue;var h=Object.create(On.Tree.Selector.prototype);h.filters=l,h.zoom=a.zoom,h.elements=o.elements.concat(a.elements),o.attachment&&a.attachment?h.attachment=o.attachment+"/"+a.attachment:h.attachment=a.attachment||o.attachment,h.conditions=o.conditions+a.conditions,h.index=a.index,n.push(h)}else n.push(a)}var u=[];for(s=0;s<this.rules.length;s++){var c=this.rules[s];c instanceof On.Tree.Ruleset?c.flatten(e,n,r):c instanceof On.Tree.Rule?u.push(c):c instanceof On.Tree.Invalid&&r.error(c)}var d=!!u.length&&u[0].index;for(s=0;s<n.length;s++)!1!==d&&(n[s].index=d),e.push(new On.Tree.Definition(n[s],u.slice()));return e}},On.Tree.Selector=class{constructor(e,t,r,s,i,n){this.elements=r||[],this.attachment=s,this.filters=e||{},this.zoom=void 0!==t?t:On.Tree.Zoom.all,this.conditions=i,this.index=n}specificity(){return this.elements.reduce(function(e,t){var r=t.specificity();return e[0]+=r[0],e[1]+=r[1],e},[0,0,this.conditions,this.index])}},On.Tree.URL=class{constructor(e,t){this.is="uri",this.value=e,this.paths=t}toString(){return this.value.toString()}ev(e){return new On.Tree.URL(this.value.ev(e),this.paths)}},On.Tree.Value=class{constructor(e){this.is="value",this.value=e}ev(e){return 1===this.value.length?this.value[0].ev(e):new On.Tree.Value(this.value.map(function(t){return t.ev(e)}))}toJS(e){var t=this.ev(e),r=t.toString();return"color"===t.is||"uri"===t.is||"string"===t.is||"keyword"===t.is?r="'"+r+"'":"field"===t.is?r=r.replace(/\[(.*)\]/g,"attributes['_match1']"):t.value&&"object"==typeof t.value&&(r="["+r+"]"),"_value = "+r+";"}toString(e,t,r,s){return this.value.map(function(t){return t.toString(e,s)}).join(r||", ")}clone(){var e=Object.create(On.Tree.Value.prototype);return Array.isArray(e)?e.value=this.value.slice():e.value=this.value,e.is=this.is,e}},On.Tree.Variable=class{constructor(e,t,r){this.is="variable",this.name=e,this.index=t,this.filename=r}toString(){return this.name}ev(e){if(this._css)return this._css;var t=e.frames.filter(function(e){return e.name===this.name}.bind(this));return t.length?t[0].value.ev(e):(e.error({message:"variable "+this.name+" is undefined",index:this.index,type:"runtime",filename:this.filename}),{is:"undefined",value:"undefined"})}},On.Tree.Zoom=class{constructor(e,t,r){this.op=e,this.value=t,this.index=r}setZoom(e){return this.zoom=e,this}ev(e){var t=parseInt(this.value.ev(e).toString(),10);switch((t>On.Tree.Zoom.maxZoom||t<0)&&e.error({message:"Only zoom levels between 0 and "+On.Tree.Zoom.maxZoom+" supported.",index:this.index}),this.op){case"=":return this.zoom="zoom && zoom === "+t,this;case">":this.zoom="zoom && zoom > "+t;break;case">=":this.zoom="zoom && zoom >= "+t;break;case"<":this.zoom="zoom && zoom < "+t;break;case"<=":this.zoom="zoom && zoom <= "+t}return this}toString(){for(var e="",t=0;t<=On.Tree.Zoom.maxZoom;t++)e+=this.zoom&1<<t?"X":".";return e}},On.Tree.Zoom.all=23,On.Tree.Zoom.maxZoom=22,On.Tree.Zoom.ranges={0:1e9,1:5e8,2:2e8,3:1e8,4:5e7,5:25e6,6:125e5,7:65e5,8:3e6,9:15e5,10:75e4,11:4e5,12:2e5,13:1e5,14:5e4,15:25e3,16:12500,17:5e3,18:2500,19:1500,20:750,21:500,22:250,23:100};class Ln{constructor(){this.refOriginalPosition=[0,0],this.refDataID=null,this.isHoverByRefDataID=!1,this.refDataHoverGroup=null,this.dataInfo=null,this.clickable=!0,this.hoverable=!0,this.style=null,this.highlightStyle={},this.CLASS_NAME="SuperMap.Feature.ShapeParameters"}destroy(){this.refOriginalPosition=null,this.refDataID=null,this.isHoverByRefDataID=null,this.refDataHoverGroup=null,this.dataInfo=null,this.clickable=null,this.hoverable=null,this.style=null,this.highlightStyle=null}}class In extends Ln{constructor(e,t){super(e,t),this.x=isNaN(e)?0:e,this.y=isNaN(t)?0:t,this.r=6,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Point"}destroy(){this.x=null,this.y=null,this.r=null,super.destroy()}}class Nn extends Ln{constructor(e){super(e),this.pointList=e,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Line"}destroy(){this.pointList=null,super.destroy()}}class Fn extends Ln{constructor(e){super(e),this.pointList=e,this.holePolygonPointLists=null,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Polygon"}destroy(){this.pointList=null,this.holePolygonPointLists=null,super.destroy()}}class kn extends Ln{constructor(e,t,r,s){super(e,t,r,s),this.x=isNaN(e)?0:e,this.y=isNaN(e)?0:t,this.width=isNaN(r)?0:r,this.height=isNaN(s)?0:s,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Rectangle"}destroy(){this.x=null,this.y=null,this.width=null,this.height=null,super.destroy()}}class Rn extends Ln{constructor(e,t,r,s,i,n,a){super(e,t,r,s,i,n,a),this.x=isNaN(e)?0:e,this.y=isNaN(t)?0:t,this.r=isNaN(r)?0:r,this.startAngle=isNaN(s)?0:s,this.endAngle=isNaN(i)?0:i,this.r0=isNaN(n)?0:n,this.clockWise=a,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Sector"}destroy(){this.x=null,this.y=null,this.r=null,this.startAngle=null,this.endAngle=null,this.r0=null,this.clockWise=null,super.destroy()}}class Dn extends Ln{constructor(e,t,r){super(e,t,r),this.x=e,this.y=t,this.text=r,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Label"}destroy(){this.x=null,this.y=null,this.text=null,super.destroy()}}class Gn extends Ln{constructor(e,t,r,s,i,n,a,o,l){super(e,t,r,s,i,n,a,o,l),this.x=e,this.y=t,this.image=r,this.width=s,this.height=i,this.sx=n,this.sy=a,this.sWidth=o,this.sHeight=l,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Image"}destroy(){this.x=null,this.y=null,this.image=null,this.width=null,this.height=null,this.sx=null,this.sy=null,this.sWidth=null,this.sHeight=null,super.destroy()}}class Bn extends Ln{constructor(e,t,r){super(e,t,r),this.x=isNaN(e)?0:e,this.y=isNaN(t)?0:t,this.r=isNaN(r)?0:r,this.CLASS_NAME="SuperMap.Feature.ShapeParameters.Circle"}destroy(){this.x=null,this.y=null,this.r=null,super.destroy()}}class jn{constructor(){this._handlers={},this.CLASS_NAME="SuperMap.LevelRenderer.Eventful"}destroy(){this._handlers=null}one(e,t,r){var s=this._handlers;return t&&e?(s[e]||(s[e]=[]),s[e].push({h:t,one:!0,ctx:r||this}),this):this}bind(e,t,r){var s=this._handlers;return t&&e?(s[e]||(s[e]=[]),s[e].push({h:t,one:!1,ctx:r||this}),this):this}unbind(e,t){var r=this._handlers;if(!e)return this._handlers={},this;if(t){if(r[e]){for(var s=[],i=0,n=r[e].length;i<n;i++)r[e][i].h!=t&&s.push(r[e][i]);r[e]=s}r[e]&&0===r[e].length&&delete r[e]}else delete r[e];return this}dispatch(e){if(this._handlers[e]){var t=arguments,r=t.length;r>3&&(t=Array.prototype.slice.call(t,1));for(var s=this._handlers[e],i=s.length,n=0;n<i;){switch(r){case 1:s[n].h.call(s[n].ctx);break;case 2:s[n].h.call(s[n].ctx,t[1]);break;case 3:s[n].h.call(s[n].ctx,t[1],t[2]);break;default:s[n].h.apply(s[n].ctx,t)}s[n].one?(s.splice(n,1),i--):n++}}return this}dispatchWithContext(e){if(this._handlers[e]){var t=arguments,r=t.length;r>4&&(t=Array.prototype.slice.call(t,1,t.length-1));for(var s=t[t.length-1],i=this._handlers[e],n=i.length,a=0;a<n;){switch(r){case 1:i[a].h.call(s);break;case 2:i[a].h.call(s,t[1]);break;case 3:i[a].h.call(s,t[1],t[2]);break;default:i[a].h.apply(s,t)}i[a].one?(i.splice(a,1),n--):a++}}return this}}class Un{constructor(){this.ArrayCtor="undefined"==typeof Float32Array?Array:Float32Array,this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Vector"}create(e,t){var r=new(0,this.ArrayCtor)(2);return r[0]=e||0,r[1]=t||0,r}copy(e,t){return e[0]=t[0],e[1]=t[1],e}set(e,t,r){return e[0]=t,e[1]=r,e}add(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}scaleAndAdd(e,t,r,s){return e[0]=t[0]+r[0]*s,e[1]=t[1]+r[1]*s,e}sub(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}len(e){return Math.sqrt(this.lenSquare(e))}lenSquare(e){return e[0]*e[0]+e[1]*e[1]}mul(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}div(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}dot(e,t){return e[0]*t[0]+e[1]*t[1]}scale(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}normalize(e,t){var r=this.len(t);return 0===r?(e[0]=0,e[1]=0):(e[0]=t[0]/r,e[1]=t[1]/r),e}distance(e,t){return Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1]))}distanceSquare(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}negate(e,t){return e[0]=-t[0],e[1]=-t[1],e}lerp(e,t,r,s){return e[0]=t[0]+s*(r[0]-t[0]),e[1]=t[1]+s*(r[1]-t[1]),e}applyTransform(e,t,r){var s=t[0],i=t[1];return e[0]=r[0]*s+r[2]*i+r[4],e[1]=r[1]*s+r[3]*i+r[5],e}min(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}max(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}length(e){return this.len(e)}lengthSquare(e){return this.lenSquare(e)}dist(e,t){return this.distance(e,t)}distSquare(e,t){return this.distanceSquare(e,t)}}class Vn{constructor(){this.vector=new Un,this.EPSILON=1e-4,this.THREE_SQRT=Math.sqrt(3),this.ONE_THIRD=1/3,this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Curve"}isAroundZero(e){return e>-this.EPSILON&&e<this.EPSILON}isNotAroundZero(e){return e>this.EPSILON||e<-this.EPSILON}cubicAt(e,t,r,s,i){var n=1-i;return n*n*(n*e+3*i*t)+i*i*(i*s+3*n*r)}cubicDerivativeAt(e,t,r,s,i){var n=1-i;return 3*(((t-e)*n+2*(r-t)*i)*n+(s-r)*i*i)}cubicRootAt(e,t,r,s,i,n){var a=s+3*(t-r)-e,o=3*(r-2*t+e),l=3*(t-e),h=e-i,u=o*o-3*a*l,c=o*l-9*a*h,d=l*l-3*o*h,p=0;if(this.isAroundZero(u)&&this.isAroundZero(c))if(this.isAroundZero(o))n[0]=0;else{let e=-l/o;e>=0&&e<=1&&(n[p++]=e)}else{var f=c*c-4*u*d;if(this.isAroundZero(f)){var m=c/u;let e=-o/a+m,t=-m/2;e>=0&&e<=1&&(n[p++]=e),t>=0&&t<=1&&(n[p++]=t)}else if(f>0){let e=Math.sqrt(f),t=u*o+1.5*a*(-c+e),r=u*o+1.5*a*(-c-e),s=(-o-((t=t<0?-Math.pow(-t,this.ONE_THIRD):Math.pow(t,this.ONE_THIRD))+(r=r<0?-Math.pow(-r,this.ONE_THIRD):Math.pow(r,this.ONE_THIRD))))/(3*a);s>=0&&s<=1&&(n[p++]=s)}else{var y=(2*u*o-3*a*c)/(2*Math.sqrt(u*u*u)),g=Math.acos(y)/3,v=Math.sqrt(u),b=Math.cos(g);let e=(-o-2*v*b)/(3*a),t=(-o+v*(b+this.THREE_SQRT*Math.sin(g)))/(3*a),r=(-o+v*(b-this.THREE_SQRT*Math.sin(g)))/(3*a);e>=0&&e<=1&&(n[p++]=e),t>=0&&t<=1&&(n[p++]=t),r>=0&&r<=1&&(n[p++]=r)}}return p}cubicExtrema(e,t,r,s,i){var n=6*r-12*t+6*e,a=9*t+3*s-3*e-9*r,o=3*t-3*e,l=0;if(this.isAroundZero(a)){if(this.isNotAroundZero(n)){let e=-o/n;e>=0&&e<=1&&(i[l++]=e)}}else{var h=n*n-4*a*o;if(this.isAroundZero(h))i[0]=-n/(2*a);else if(h>0){let e=Math.sqrt(h),t=(-n+e)/(2*a),r=(-n-e)/(2*a);t>=0&&t<=1&&(i[l++]=t),r>=0&&r<=1&&(i[l++]=r)}}return l}cubicSubdivide(e,t,r,s,i,n){var a=(t-e)*i+e,o=(r-t)*i+t,l=(s-r)*i+r,h=(o-a)*i+a,u=(l-o)*i+o,c=(u-h)*i+h;n[0]=e,n[1]=a,n[2]=h,n[3]=c,n[4]=c,n[5]=u,n[6]=l,n[7]=s}cubicProjectPoint(e,t,r,s,i,n,a,o,l,h,u){var c,d=this.vector.create(),p=this.vector.create(),f=this.vector.create(),m=.005,y=1/0;d[0]=l,d[1]=h;for(let l=0;l<1;l+=.05){p[0]=this.cubicAt(e,r,i,a,l),p[1]=this.cubicAt(t,s,n,o,l);let h=this.vector.distSquare(d,p);h<y&&(c=l,y=h)}y=1/0;for(let l=0;l<32&&!(m<this.EPSILON);l++){let l=c-m,h=c+m;p[0]=this.cubicAt(e,r,i,a,l),p[1]=this.cubicAt(t,s,n,o,l);let u=this.vector.distSquare(p,d);if(l>=0&&u<y)c=l,y=u;else{f[0]=this.cubicAt(e,r,i,a,h),f[1]=this.cubicAt(t,s,n,o,h);let l=this.vector.distSquare(f,d);h<=1&&l<y?(c=h,y=l):m*=.5}}return u&&(u[0]=this.cubicAt(e,r,i,a,c),u[1]=this.cubicAt(t,s,n,o,c)),Math.sqrt(y)}quadraticAt(e,t,r,s){var i=1-s;return i*(i*e+2*s*t)+s*s*r}quadraticDerivativeAt(e,t,r,s){return 2*((1-s)*(t-e)+s*(r-t))}quadraticRootAt(e,t,r,s,i){var n=e-2*t+r,a=2*(t-e),o=e-s,l=0;if(this.isAroundZero(n)){if(this.isNotAroundZero(a)){var h=-o/a;h>=0&&h<=1&&(i[l++]=h)}}else{var u=a*a-4*n*o;if(this.isAroundZero(u)){let e=-a/(2*n);e>=0&&e<=1&&(i[l++]=e)}else if(u>0){let e=Math.sqrt(u),t=(-a+e)/(2*n),r=(-a-e)/(2*n);t>=0&&t<=1&&(i[l++]=t),r>=0&&r<=1&&(i[l++]=r)}}return l}quadraticExtremum(e,t,r){var s=e+r-2*t;return 0===s?.5:(e-t)/s}quadraticProjectPoint(e,t,r,s,i,n,a,o,l){var h,u=this.vector.create(),c=this.vector.create(),d=this.vector.create(),p=.005,f=1/0;u[0]=a,u[1]=o;for(let a=0;a<1;a+=.05){c[0]=this.quadraticAt(e,r,i,a),c[1]=this.quadraticAt(t,s,n,a);let o=this.vector.distSquare(u,c);o<f&&(h=a,f=o)}f=1/0;for(let a=0;a<32&&!(p<this.EPSILON);a++){let a=h-p,o=h+p;c[0]=this.quadraticAt(e,r,i,a),c[1]=this.quadraticAt(t,s,n,a);let l=this.vector.distSquare(c,u);if(a>=0&&l<f)h=a,f=l;else{d[0]=this.quadraticAt(e,r,i,o),d[1]=this.quadraticAt(t,s,n,o);let a=this.vector.distSquare(d,u);o<=1&&a<f?(h=o,f=a):p*=.5}}return l&&(l[0]=this.quadraticAt(e,r,i,h),l[1]=this.quadraticAt(t,s,n,h)),Math.sqrt(f)}}class zn{}zn.EVENT={RESIZE:"resize",CLICK:"click",DBLCLICK:"dblclick",MOUSEWHEEL:"mousewheel",MOUSEMOVE:"mousemove",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",GLOBALOUT:"globalout",DRAGSTART:"dragstart",DRAGEND:"dragend",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",touchClickDelay:300},zn.catchBrushException=!1,zn.debugMode=0;class Jn{static SUtil_smoothBezier(e,t,r,s,i){i&&2===i.length||(i=[0,0]);var n,a,o=i,l=[],h=[],u=[],c=[],d=!!s;if(d){n=[1/0,1/0],a=[-1/0,-1/0];let t=e.length;for(let r=0;r<t;r++)Jn.Util_vector.min(n,n,[e[r][0]+o[0],e[r][1]+o[1]]),Jn.Util_vector.max(a,a,[e[r][0]+o[0],e[r][1]+o[1]]);Jn.Util_vector.min(n,n,s[0]),Jn.Util_vector.max(a,a,s[1])}let p=e.length;for(let s=0;s<p;s++){let i,f,m=[e[s][0]+o[0],e[s][1]+o[1]];if(r)i=[e[s?s-1:p-1][0]+o[0],e[s?s-1:p-1][1]+o[1]],f=[e[(s+1)%p][0]+o[0],e[(s+1)%p][1]+o[1]];else{if(0===s||s===p-1){l.push([e[s][0]+o[0],e[s][1]+o[1]]);continue}i=[e[s-1][0]+o[0],e[s-1][1]+o[1]],f=[e[s+1][0]+o[0],e[s+1][1]+o[1]]}Jn.Util_vector.sub(h,f,i),Jn.Util_vector.scale(h,h,t);let y=Jn.Util_vector.distance(m,i),g=Jn.Util_vector.distance(m,f),v=y+g;0!==v&&(y/=v,g/=v),Jn.Util_vector.scale(u,h,-y),Jn.Util_vector.scale(c,h,g);let b=Jn.Util_vector.add([],m,u),S=Jn.Util_vector.add([],m,c);d&&(Jn.Util_vector.max(b,b,n),Jn.Util_vector.min(b,b,a),Jn.Util_vector.max(S,S,n),Jn.Util_vector.min(S,S,a)),l.push(b),l.push(S)}return r&&l.push(l.shift()),l}static SUtil_smoothSpline(e,t,r,s){s&&2===s.length||(s=[0,0]);var i=s,n=e.length,a=[],o=0;for(let t=1;t<n;t++)o+=Jn.Util_vector.distance([e[t-1][0]+i[0],e[t-1][1]+i[1]],[e[t][0]+i[0],e[t][1]+i[1]]);var l=o/5;l=l<n?n:l;for(let r=0;r<l;r++){let s,o,u,c=r/(l-1)*(t?n:n-1),d=Math.floor(c),p=c-d,f=[e[d%n][0]+i[0],e[d%n][1]+i[1]];t?(s=[e[(d-1+n)%n][0]+i[0],e[(d-1+n)%n][1]+i[1]],o=[e[(d+1)%n][0]+i[0],e[(d+1)%n][1]+i[1]],u=[e[(d+2)%n][0]+i[0],e[(d+2)%n][1]+i[1]]):(s=[e[0===d?d:d-1][0]+i[0],e[0===d?d:d-1][1]+i[1]],o=[e[d>n-2?n-1:d+1][0]+i[0],e[d>n-2?n-1:d+1][1]+i[1]],u=[e[d>n-3?n-1:d+2][0]+i[0],e[d>n-3?n-1:d+2][1]+i[1]]);let m=p*p,y=p*m;a.push([h(s[0],f[0],o[0],u[0],p,m,y),h(s[1],f[1],o[1],u[1],p,m,y)])}return a;function h(e,t,r,s,i,n,a){var o=.5*(r-e),l=.5*(s-t);return(2*(t-r)+o+l)*a+(-3*(t-r)-2*o-l)*n+o*i+t}}static SUtil_dashedLineTo(e,t,r,s,i,n,a){var o=[5,5];if(n="number"!=typeof n?5:n,e.setLineDash)return o[0]=n,o[1]=n,a&&a instanceof Array?e.setLineDash(a):e.setLineDash(o),e.moveTo(t,r),void e.lineTo(s,i);var l=s-t,h=i-r,u=Math.floor(Math.sqrt(l*l+h*h)/n);l/=u,h/=u;for(var c=!0,d=0;d<u;++d)c?e.moveTo(t,r):e.lineTo(t,r),c=!c,t+=l,r+=h;e.lineTo(s,i)}}Jn.Util_area=new class{constructor(){this.util=new bn,this.curve=new Vn,this._ctx=null,this._textWidthCache={},this._textHeightCache={},this._textWidthCacheCounter=0,this._textHeightCacheCounter=0,this.TEXT_CACHE_MAX=5e3,this.PI2=2*Math.PI,this.roots=[-1,-1,-1],this.extrema=[-1,-1],this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Area"}normalizeRadian(e){return(e%=this.PI2)<0&&(e+=this.PI2),e}isInside(e,t,r,s){if(!t||!e)return!1;var i=e.type;this._ctx=this._ctx||this.util.getContext();var n=this._mathMethod(e,t,r,s);if(void 0!==n)return n;if(e.buildPath&&this._ctx.isPointInPath)return this._buildPathMethod(e,this._ctx,t,r,s);switch(i){case"ellipse":case"smicellipse":return!0;case"trochoid":var a="out"==t.location?t.r1+t.r2+t.d:t.r1-t.r2+t.d;return this.isInsideCircle(t,r,s,a);case"rose":return this.isInsideCircle(t,r,s,t.maxr);default:return!1}}_mathMethod(e,t,r,s){switch(e.type){case"bezier-curve":return void 0===t.cpX2?this.isInsideQuadraticStroke(t.xStart,t.yStart,t.cpX1,t.cpY1,t.xEnd,t.yEnd,t.lineWidth,r,s):this.isInsideCubicStroke(t.xStart,t.yStart,t.cpX1,t.cpY1,t.cpX2,t.cpY2,t.xEnd,t.yEnd,t.lineWidth,r,s);case"line":return this.isInsideLine(t.xStart,t.yStart,t.xEnd,t.yEnd,t.lineWidth,r,s);case"broken-line":return this.isInsideBrokenLine(t.pointList,t.lineWidth,r,s);case"smicbroken-line":{let i=r,n=s;return e.refOriginalPosition&&(i=r-e.refOriginalPosition[0],n=s-e.refOriginalPosition[1]),this.isInsideBrokenLine(t.pointList,t.lineWidth,i,n)}case"ring":return this.isInsideRing(t.x,t.y,t.r0,t.r,r,s);case"smicring":{let i=t.x,n=t.y;return e.refOriginalPosition&&(i=t.x+e.refOriginalPosition[0],n=t.y+e.refOriginalPosition[1]),this.isInsideRing(i,n,t.r0,t.r,r,s)}case"circle":return this.isInsideCircle(t.x,t.y,t.r,r,s);case"smicpoint":{let i=r,n=s;return e.refOriginalPosition&&(i=r-e.refOriginalPosition[0],n=s-e.refOriginalPosition[1]),this.isInsideCircle(t.x,t.y,t.r,i,n)}case"sector":{let e=t.startAngle*Math.PI/180,i=t.endAngle*Math.PI/180;return t.clockWise||(e=-e,i=-i),this.isInsideSector(t.x,t.y,t.r0,t.r,e,i,!t.clockWise,r,s)}case"smicsector":{let i=t.startAngle*Math.PI/180,n=t.endAngle*Math.PI/180;t.clockWise||(i=-i,n=-n);let a=t.x,o=t.y;return e.refOriginalPosition&&(a=t.x+e.refOriginalPosition[0],o=t.y+e.refOriginalPosition[1]),this.isInsideSector(a,o,t.r0,t.r,i,n,!t.clockWise,r,s)}case"path":return this.isInsidePath(t.pathArray,Math.max(t.lineWidth,5),t.brushType,r,s);case"polygon":case"star":case"smicstar":case"isogon":case"smicisogon":return this.isInsidePolygon(t.pointList,r,s);case"smicpolygon":{let u=r,c=s;if(e.refOriginalPosition&&(u=r-e.refOriginalPosition[0],c=s-e.refOriginalPosition[1]),e.holePolygonPointLists&&e.holePolygonPointLists.length>0){for(var i=this.isInsidePolygon(t.pointList,u,c),n=e.holePolygonPointLists,a=!1,o=0,l=n.length;o<l;o++){var h=n[o];!0===this.isInsidePolygon(h,u,c)&&(a=!0)}return!0===i&&!1===a}return this.isInsidePolygon(t.pointList,u,c)}case"text":var u=t.__rect||e.getRect(t);return this.isInsideRect(u.x,u.y,u.width,u.height,r,s);case"smictext":var c=e.getTextBackground(t);return this.isInsidePolygon(c,r,s);case"rectangle":case"image":return this.isInsideRect(t.x,t.y,t.width,t.height,r,s);case"smicimage":{let i=t.x,n=t.y;return e.refOriginalPosition&&(i=t.x+e.refOriginalPosition[0],n=t.y+e.refOriginalPosition[1]),this.isInsideRect(i,n,t.width,t.height,r,s)}}}_buildPathMethod(e,t,r,s,i){return t.beginPath(),e.buildPath(t,r),t.closePath(),t.isPointInPath(s,i)}isOutside(e,t,r,s){return!this.isInside(e,t,r,s)}isInsideLine(e,t,r,s,i,n,a){if(0===i)return!1;var o=Math.max(i,5),l=0;if(a>t+o&&a>s+o||a<t-o&&a<s-o||n>e+o&&n>r+o||n<e-o&&n<r-o)return!1;if(e===r)return Math.abs(n-e)<=o/2;var h=(l=(t-s)/(e-r))*n-a+(e*s-r*t)/(e-r);return h*h/(l*l+1)<=o/2*o/2}isInsideCubicStroke(e,t,r,s,i,n,a,o,l,h,u){if(0===l)return!1;var c=Math.max(l,5);return!(u>t+c&&u>s+c&&u>n+c&&u>o+c||u<t-c&&u<s-c&&u<n-c&&u<o-c||h>e+c&&h>r+c&&h>i+c&&h>a+c||h<e-c&&h<r-c&&h<i-c&&h<a-c)&&this.curve.cubicProjectPoint(e,t,r,s,i,n,a,o,h,u,null)<=c/2}isInsideQuadraticStroke(e,t,r,s,i,n,a,o,l){if(0===a)return!1;var h=Math.max(a,5);return!(l>t+h&&l>s+h&&l>n+h||l<t-h&&l<s-h&&l<n-h||o>e+h&&o>r+h&&o>i+h||o<e-h&&o<r-h&&o<i-h)&&this.curve.quadraticProjectPoint(e,t,r,s,i,n,o,l,null)<=h/2}isInsideArcStroke(e,t,r,s,i,n,a,o,l){var h=this.PI2;if(0===a)return!1;var u=Math.max(a,5);o-=e,l-=t;var c=Math.sqrt(o*o+l*l);if(c-u>r||c+u<r)return!1;if(Math.abs(s-i)>=h)return!0;if(n){var d=s;s=this.normalizeRadian(i),i=this.normalizeRadian(d)}else s=this.normalizeRadian(s),i=this.normalizeRadian(i);s>i&&(i+=h);var p=Math.atan2(l,o);return p<0&&(p+=h),p>=s&&p<=i||p+h>=s&&p+h<=i}isInsideBrokenLine(e,t,r,s){for(var i=Math.max(t,10),n=0,a=e.length-1;n<a;n++){var o=e[n][0],l=e[n][1],h=e[n+1][0],u=e[n+1][1];if(this.isInsideLine(o,l,h,u,i,r,s))return!0}return!1}isInsideRing(e,t,r,s,i,n){var a=(i-e)*(i-e)+(n-t)*(n-t);return a<s*s&&a>r*r}isInsideRect(e,t,r,s,i,n){return i>=e&&i<=e+r&&n>=t&&n<=t+s}isInsideCircle(e,t,r,s,i){return(s-e)*(s-e)+(i-t)*(i-t)<r*r}isInsideSector(e,t,r,s,i,n,a,o,l){return this.isInsideArcStroke(e,t,(r+s)/2,i,n,a,s-r,o,l)}isInsidePolygon(e,t,r){for(var s=e.length,i=0,n=0,a=s-1;n<s;n++){var o=e[a][0],l=e[a][1],h=e[n][0],u=e[n][1];i+=this.windingLine(o,l,h,u,t,r),a=n}return 0!==i}windingLine(e,t,r,s,i,n){return n>t&&n>s||n<t&&n<s?0:s==t?0:(n-t)/(s-t)*(r-e)+e>i?s<t?1:-1:0}swapExtrema(){var e=this.extrema[0];this.extrema[0]=this.extrema[1],this.extrema[1]=e}windingCubic(e,t,r,s,i,n,a,o,l,h){var u=this.curve,c=this.roots,d=this.extrema;if(h>t&&h>s&&h>n&&h>o||h<t&&h<s&&h<n&&h<o)return 0;var p=u.cubicRootAt(t,s,n,o,h,c);if(0===p)return 0;for(var f,m,y=0,g=-1,v=0;v<p;v++){var b=c[v];u.cubicAt(e,r,i,a,b)<l||(g<0&&(g=u.cubicExtrema(t,s,n,o,d),d[1]<d[0]&&g>1&&this.swapExtrema(),f=u.cubicAt(t,s,n,o,d[0]),g>1&&(m=u.cubicAt(t,s,n,o,d[1]))),2==g?b<d[0]?y+=f<t?1:-1:b<d[1]?y+=m<f?1:-1:y+=o<m?1:-1:b<d[0]?y+=f<t?1:-1:y+=o<f?1:-1)}return y}windingQuadratic(e,t,r,s,i,n,a,o){var l=this.curve,h=this.roots;if(o>t&&o>s&&o>n||o<t&&o<s&&o<n)return 0;var u=l.quadraticRootAt(t,s,n,o,h);if(0===u)return 0;var c=l.quadraticExtremum(t,s,n);if(c>=0&&c<=1){var d=0,p=l.quadraticAt(t,s,n,c);for(let s=0;s<u;s++)l.quadraticAt(e,r,i,h[s])>a||(h[s]<c?d+=p<t?1:-1:d+=n<p?1:-1);return d}return l.quadraticAt(e,r,i,h[0])>a?0:n<t?1:-1}windingArc(e,t,r,s,i,n,a,o){var l=this.roots,h=this.PI2;if((o-=t)>r||o<-r)return 0;let u=Math.sqrt(r*r-o*o);if(l[0]=-u,l[1]=u,Math.abs(s-i)>=h){s=0,i=h;var c=n?1:-1;return a>=l[0]+e&&a<=l[1]+e?c:0}if(n){let e=s;s=this.normalizeRadian(i),i=this.normalizeRadian(e)}else s=this.normalizeRadian(s),i=this.normalizeRadian(i);s>i&&(i+=h);var d=0;for(let t=0;t<2;t++){var p=l[t];if(p+e>a){let e=Math.atan2(o,p),t=n?1:-1;e<0&&(e=h+e),(e>=s&&e<=i||e+h>=s&&e+h<=i)&&(e>Math.PI/2&&e<1.5*Math.PI&&(t=-t),d+=t)}}return d}isInsidePath(e,t,r,s,i){for(var n=0,a=0,o=0,l=0,h=0,u=!0,c=!0,d="stroke"===(r=r||"fill")||"both"===r,p="fill"===r||"both"===r,f=0;f<e.length;f++){var m=e[f],y=m.points;if(u||"M"===m.command){if(f>0&&(p&&(n+=this.windingLine(a,o,l,h,s,i)),0!==n))return!0;l=y[y.length-2],h=y[y.length-1],u=!1,c&&"A"!==m.command&&(c=!1,a=l,o=h)}switch(m.command){case"M":a=y[0],o=y[1];break;case"L":if(d&&this.isInsideLine(a,o,y[0],y[1],t,s,i))return!0;p&&(n+=this.windingLine(a,o,y[0],y[1],s,i)),a=y[0],o=y[1];break;case"C":if(d&&this.isInsideCubicStroke(a,o,y[0],y[1],y[2],y[3],y[4],y[5],t,s,i))return!0;p&&(n+=this.windingCubic(a,o,y[0],y[1],y[2],y[3],y[4],y[5],s,i)),a=y[4],o=y[5];break;case"Q":if(d&&this.isInsideQuadraticStroke(a,o,y[0],y[1],y[2],y[3],t,s,i))return!0;p&&(n+=this.windingQuadratic(a,o,y[0],y[1],y[2],y[3],s,i)),a=y[2],o=y[3];break;case"A":var g=y[0],v=y[1],b=y[2],S=y[3],x=y[4],_=y[5],w=Math.cos(x)*b+g,C=Math.sin(x)*S+v;c?(c=!1,l=w,h=C):n+=this.windingLine(a,o,w,C);var T=(s-g)*S/b+g;if(d&&this.isInsideArcStroke(g,v,S,x,x+_,1-y[7],t,T,i))return!0;p&&(n+=this.windingArc(g,v,S,x,x+_,1-y[7],T,i)),a=Math.cos(x+_)*b+g,o=Math.sin(x+_)*S+v;break;case"z":if(d&&this.isInsideLine(a,o,l,h,t,s,i))return!0;u=!0}}return p&&(n+=this.windingLine(a,o,l,h,s,i)),0!==n}getTextWidth(e,t){var r=e+":"+t;if(this._textWidthCache[r])return this._textWidthCache[r];this._ctx=this._ctx||this.util.getContext(),this._ctx.save(),t&&(this._ctx.font=t);for(var s=0,i=0,n=(e=(e+"").split("\n")).length;i<n;i++)s=Math.max(this._ctx.measureText(e[i]).width,s);return this._ctx.restore(),this._textWidthCache[r]=s,++this._textWidthCacheCounter>this.TEXT_CACHE_MAX&&(this._textWidthCacheCounter=0,this._textWidthCache={}),s}getTextHeight(e,t){var r=e+":"+t;if(this._textHeightCache[r])return this._textHeightCache[r];this._ctx=this._ctx||this.util.getContext(),this._ctx.save(),t&&(this._ctx.font=t),e=(e+"").split("\n");var s=(this._ctx.measureText("ZH").width+2)*e.length;return this._ctx.restore(),this._textHeightCache[r]=s,++this._textHeightCacheCounter>this.TEXT_CACHE_MAX&&(this._textHeightCacheCounter=0,this._textHeightCache={}),s}},Jn.Util_color=new Sn,Jn.Util_computeBoundingBox=new class{constructor(){3===arguments.length&&this.computeBoundingBox(arguments),this.CLASS_NAME="SuperMap.LevelRenderer.Tool.ComputeBoundingBox"}computeBoundingBox(e,t,r){if(0!==e.length){for(var s=e[0][0],i=e[0][0],n=e[0][1],a=e[0][1],o=1;o<e.length;o++){var l=e[o];l[0]<s&&(s=l[0]),l[0]>i&&(i=l[0]),l[1]<n&&(n=l[1]),l[1]>a&&(a=l[1])}t[0]=s,t[1]=n,r[0]=i,r[1]=a}}cubeBezier(e,t,r,s,i,n){var a=new Vn,o=[];a.cubicExtrema(e[0],t[0],r[0],s[0],o);for(let i=0;i<o.length;i++)o[i]=a.cubicAt(e[0],t[0],r[0],s[0],o[i]);var l=[];a.cubicExtrema(e[1],t[1],r[1],s[1],l);for(let i=0;i<l.length;i++)l[i]=a.cubicAt(e[1],t[1],r[1],s[1],l[i]);o.push(e[0],s[0]),l.push(e[1],s[1]);var h=Math.min.apply(null,o),u=Math.max.apply(null,o),c=Math.min.apply(null,l),d=Math.max.apply(null,l);i[0]=h,i[1]=c,n[0]=u,n[1]=d}quadraticBezier(e,t,r,s,i){var n=new Vn,a=n.quadraticExtremum(e[0],t[0],r[0]),o=n.quadraticExtremum(e[1],t[1],r[1]),l=1-(a=Math.max(Math.min(a,1),0)),h=1-(o=Math.max(Math.min(o,1),0)),u=l*l*e[0]+2*l*a*t[0]+a*a*r[0],c=l*l*e[1]+2*l*a*t[1]+a*a*r[1],d=h*h*e[0]+2*h*o*t[0]+o*o*r[0],p=h*h*e[1]+2*h*o*t[1]+o*o*r[1];s[0]=Math.min(e[0],r[0],u,d),s[1]=Math.min(e[1],r[1],c,p),i[0]=Math.max(e[0],r[0],u,d),i[1]=Math.max(e[1],r[1],c,p)}arc(e,t,r,s,i,n,a,o){var l=new Un,h=l.create(),u=l.create(),c=l.create();if(h[0]=Math.cos(s)*r+e,h[1]=Math.sin(s)*r+t,u[0]=Math.cos(i)*r+e,u[1]=Math.sin(i)*r+t,l.min(a,h,u),l.max(o,h,u),(s%=2*Math.PI)<0&&(s+=2*Math.PI),(i%=2*Math.PI)<0&&(i+=2*Math.PI),s>i&&!n?i+=2*Math.PI:s<i&&n&&(s+=2*Math.PI),n){var d=i;i=s,s=d}for(var p=0;p<i;p+=Math.PI/2)p>s&&(c[0]=Math.cos(p)*r+e,c[1]=Math.sin(p)*r+t,l.min(a,c,a),l.max(o,c,o))}},Jn.Util_curve=new Vn,Jn.Util_env=new class{constructor(){this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Env";var e,t,r,s,i,n,a,o,l,h,u,c,d,p,f,m,y,g,v,b,S,x=this;return e=navigator.userAgent,t=x.os={},r=x.browser={},s=e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),i=e.match(/(Android);?[\s\/]+([\d.]+)?/),n=e.match(/(iPad).*OS\s([\d_]+)/),a=e.match(/(iPod)(.*OS\s([\d_]+))?/),o=!n&&e.match(/(iPhone\sOS)\s([\d_]+)/),l=e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),h=l&&e.match(/TouchPad/),u=e.match(/Kindle\/([\d.]+)/),c=e.match(/Silk\/([\d._]+)/),d=e.match(/(BlackBerry).*Version\/([\d.]+)/),p=e.match(/(BB10).*Version\/([\d.]+)/),f=e.match(/(RIM\sTablet\sOS)\s([\d.]+)/),m=e.match(/PlayBook/),y=e.match(/Chrome\/([\d.]+)/)||e.match(/CriOS\/([\d.]+)/),g=e.match(/Firefox\/([\d.]+)/),v=e.match(/MSIE ([\d.]+)/),b=s&&e.match(/Mobile\//)&&!y,S=e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/)&&!y,(r.webkit=!!s)&&(r.version=s[1]),i&&(t.android=!0,t.version=i[2]),o&&!a&&(t.ios=t.iphone=!0,t.version=o[2].replace(/_/g,".")),n&&(t.ios=t.ipad=!0,t.version=n[2].replace(/_/g,".")),a&&(t.ios=t.ipod=!0,t.version=a[3]?a[3].replace(/_/g,"."):null),l&&(t.webos=!0,t.version=l[2]),h&&(t.touchpad=!0),d&&(t.blackberry=!0,t.version=d[2]),p&&(t.bb10=!0,t.version=p[2]),f&&(t.rimtabletos=!0,t.version=f[2]),m&&(r.playbook=!0),u&&(t.kindle=!0,t.version=u[1]),c&&(r.silk=!0,r.version=c[1]),!c&&t.android&&e.match(/Kindle Fire/)&&(r.silk=!0),y&&(r.chrome=!0,r.version=y[1]),g&&(r.firefox=!0,r.version=g[1]),v&&(r.ie=!0,r.version=v[1]),b&&(e.match(/Safari/)||t.ios)&&(r.safari=!0),S&&(r.webview=!0),v&&(r.ie=!0,r.version=v[1]),t.tablet=!!(n||m||i&&!e.match(/Mobile/)||g&&e.match(/Tablet/)||v&&!e.match(/Phone/)&&e.match(/Touch/)),t.phone=!(t.tablet||t.ipod||!(i||o||l||d||p||y&&e.match(/Android/)||y&&e.match(/CriOS\/([\d.]+)/)||g&&e.match(/Mobile/)||v&&e.match(/Touch/))),{browser:r,os:t,canvasSupported:!!document.createElement("canvas").getContext}}destory(){return!0}},Jn.Util_event=new class{constructor(){this.stop="function"==typeof window.addEventListener?function(e){e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0}:function(e){e.returnValue=!1,e.cancelBubble=!0},this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Event"}getX(e){return void 0!==e.zrenderX&&e.zrenderX||void 0!==e.offsetX&&e.offsetX||void 0!==e.layerX&&e.layerX||void 0!==e.clientX&&e.clientX}getY(e){return void 0!==e.zrenderY&&e.zrenderY||void 0!==e.offsetY&&e.offsetY||void 0!==e.layerY&&e.layerY||void 0!==e.clientY&&e.clientY}getDelta(e){return void 0!==e.zrenderDelta&&e.zrenderDelta||void 0!==e.wheelDelta&&e.wheelDelta||void 0!==e.detail&&-e.detail}},Jn.Util_http=new class{constructor(){this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Http"}get(e,t,r){if("object"==typeof e){var s=e;e=s.url,t=s.onsuccess,r=s.onerror}var i=window.XMLHttpRequest?new XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");i.open("GET",e,!0),i.onreadystatechange=function(){4==i.readyState&&(i.status>=200&&i.status<300||304===i.status?t&&t(i.responseText):r&&r(),i.onreadystatechange=new Function,i=null)},i.send(null)}},Jn.Util_log=new class{constructor(){return this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Log",function(){if(0!=+zn.debugMode)if(1==+zn.debugMode)for(let e in arguments)throw new Error(arguments[e]);else if(+zn.debugMode>1)for(let e in arguments)console.log(arguments[e])}}destory(){return!0}},Jn.Util_math=new class{constructor(){this._radians=window.Math.PI/180,this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Math"}sin(e,t){return window.Math.sin(t?e*this._radians:e)}cos(e,t){return window.Math.cos(t?e*this._radians:e)}degreeToRadian(e){return e*this._radians}radianToDegree(e){return e/this._radians}},Jn.Util_matrix=new class{constructor(){this.ArrayCtor="undefined"==typeof Float32Array?Array:Float32Array,this.CLASS_NAME="SuperMap.LevelRenderer.Tool.Matrix"}create(){var e=new(0,this.ArrayCtor)(6);return this.identity(e),e}identity(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}copy(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}mul(e,t,r){return e[0]=t[0]*r[0]+t[2]*r[1],e[1]=t[1]*r[0]+t[3]*r[1],e[2]=t[0]*r[2]+t[2]*r[3],e[3]=t[1]*r[2]+t[3]*r[3],e[4]=t[0]*r[4]+t[2]*r[5]+t[4],e[5]=t[1]*r[4]+t[3]*r[5]+t[5],e}translate(e,t,r){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+r[0],e[5]=t[5]+r[1],e}rotate(e,t,r){var s=t[0],i=t[2],n=t[4],a=t[1],o=t[3],l=t[5],h=Math.sin(r),u=Math.cos(r);return e[0]=s*u+a*h,e[1]=-s*h+a*u,e[2]=i*u+o*h,e[3]=-i*h+u*o,e[4]=u*n+h*l,e[5]=u*l-h*n,e}scale(e,t,r){var s=r[0],i=r[1];return e[0]=t[0]*s,e[1]=t[1]*i,e[2]=t[2]*s,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*i,e}invert(e,t){var r=t[0],s=t[2],i=t[4],n=t[1],a=t[3],o=t[5],l=r*a-n*s;return l?(l=1/l,e[0]=a*l,e[1]=-n*l,e[2]=-s*l,e[3]=r*l,e[4]=(s*o-a*i)*l,e[5]=(n*i-r*o)*l,e):null}mulVector(e,t,r){var s=t[0],i=t[2],n=t[4],a=t[1],o=t[3],l=t[5];return e[0]=r[0]*s+r[1]*i+n,e[1]=r[0]*a+r[1]*o+l,e}},Jn.Util=new bn,Jn.Util_vector=new Un;class qn{constructor(){var e;this.position=[0,0],this.rotation=[0,0,0],this.scale=[1,1,0,0],this.needLocalTransform=!1,this.needTransform=!1,this.CLASS_NAME="SuperMap.LevelRenderer.Transformable",this.lookAt=(e=Jn.Util_vector.create(),function(t){this.transform||(this.transform=Jn.Util_matrix.create());var r=this.transform;function s(e){return e>-5e-5&&e<5e-5}Jn.Util_vector.sub(e,t,this.position),s(e[0])&&s(e[1])||(Jn.Util_vector.normalize(e,e),r[2]=e[0]*this.scale[1],r[3]=e[1]*this.scale[1],r[0]=e[1]*this.scale[0],r[1]=-e[0]*this.scale[0],r[4]=this.position[0],r[5]=this.position[1],this.decomposeTransform())})}destroy(){this.position=null,this.rotation=null,this.scale=null,this.needLocalTransform=null,this.needTransform=null}updateNeedTransform(){function e(e){return e>5e-5||e<-5e-5}this.needLocalTransform=e(this.rotation[0])||e(this.position[0])||e(this.position[1])||e(this.scale[0]-1)||e(this.scale[1]-1)}updateTransform(){if(this.updateNeedTransform(),this.parent?this.needTransform=this.needLocalTransform||this.parent.needTransform:this.needTransform=this.needLocalTransform,this.needTransform){var e=[0,0],t=this.transform||Jn.Util_matrix.create();if(Jn.Util_matrix.identity(t),this.needLocalTransform){if(r(this.scale[0])||r(this.scale[1])){e[0]=-this.scale[2]||0,e[1]=-this.scale[3]||0;let s=r(e[0])||r(e[1]);s&&Jn.Util_matrix.translate(t,t,e),Jn.Util_matrix.scale(t,t,this.scale),s&&(e[0]=-e[0],e[1]=-e[1],Jn.Util_matrix.translate(t,t,e))}if(this.rotation instanceof Array){if(0!==this.rotation[0]){e[0]=-this.rotation[1]||0,e[1]=-this.rotation[2]||0;let s=r(e[0])||r(e[1]);s&&Jn.Util_matrix.translate(t,t,e),Jn.Util_matrix.rotate(t,t,this.rotation[0]),s&&(e[0]=-e[0],e[1]=-e[1],Jn.Util_matrix.translate(t,t,e))}}else 0!=+this.rotation&&Jn.Util_matrix.rotate(t,t,this.rotation);(r(this.position[0])||r(this.position[1]))&&Jn.Util_matrix.translate(t,t,this.position)}this.transform=t,this.parent&&this.parent.needTransform&&(this.needLocalTransform?Jn.Util_matrix.mul(this.transform,this.parent.transform,this.transform):Jn.Util_matrix.copy(this.transform,this.parent.transform))}function r(e){return e>5e-5||e<-5e-5}}setTransform(e){if(this.needTransform){var t=this.transform;e.transform(t[0],t[1],t[2],t[3],t[4],t[5])}}decomposeTransform(){if(this.transform){var e=this.transform,t=e[0]*e[0]+e[1]*e[1],r=this.position,s=this.scale,i=this.rotation;a(t-1)&&(t=Math.sqrt(t));var n=e[2]*e[2]+e[3]*e[3];a(n-1)&&(n=Math.sqrt(n)),r[0]=e[4],r[1]=e[5],s[0]=t,s[1]=n,s[2]=s[3]=0,i[0]=Math.atan2(-e[1]/n,e[0]/t),i[1]=i[2]=0}function a(e){return e>5e-5||e<-5e-5}}}class Hn extends(z(jn,qn)){constructor(e){var t;super(e),e=e||{},this.id=null,this.style={},this.highlightStyle=null,this.parent=null,this.__dirty=!0,this.__clipShapes=[],this.invisible=!1,this.ignore=!1,this.zlevel=0,this.draggable=!1,this.clickable=!1,this.hoverable=!0,this.z=0,this.refOriginalPosition=[0,0],this.refDataID=null,this.isHoverByRefDataID=!1,this.refDataHoverGroup=null,this.dataInfo=null,$.extend(this,e),this.id=this.id||$.createUniqueID("smShape_"),this.CLASS_NAME="SuperMap.LevelRenderer.Shape",this.getTansform=(t=[],function(e,r){var s=[e,r];return this.needTransform&&this.transform&&(Jn.Util_matrix.invert(t,this.transform),Jn.Util_matrix.mulVector(s,t,[e,r,1]),e==s[0]&&r==s[1]&&this.updateNeedTransform()),s})}destroy(){this.id=null,this.style=null,this.highlightStyle=null,this.parent=null,this.__dirty=null,this.__clipShapes=null,this.invisible=null,this.ignore=null,this.zlevel=null,this.draggable=null,this.clickable=null,this.hoverable=null,this.z=null,this.refOriginalPosition=null,this.refDataID=null,this.refDataHoverGroup=null,this.isHoverByRefDataID=null,this.dataInfo=null,super.destroy()}brush(e,t){var r=this.beforeBrush(e,t);switch(e.beginPath(),this.buildPath(e,r),r.brushType){case"both":this.setCtxGlobalAlpha(e,"fill",r),e.fill(),r.lineWidth>0&&(this.setCtxGlobalAlpha(e,"stroke",r),e.stroke()),this.setCtxGlobalAlpha(e,"reset",r);break;case"stroke":this.setCtxGlobalAlpha(e,"stroke",r),r.lineWidth>0&&e.stroke(),this.setCtxGlobalAlpha(e,"reset",r);break;default:this.setCtxGlobalAlpha(e,"fill",r),e.fill(),this.setCtxGlobalAlpha(e,"reset",r)}this.drawText(e,r,this.style),this.afterBrush(e)}beforeBrush(e,t){var r=this.style;return this.brushTypeOnly&&(r.brushType=this.brushTypeOnly),t&&(r=this.getHighlightStyle(r,this.highlightStyle||{},this.brushTypeOnly)),"stroke"==this.brushTypeOnly&&(r.strokeColor=r.strokeColor||r.color),e.save(),this.doClip(e),this.setContext(e,r),this.setTransform(e),r}afterBrush(e){e.restore()}setContext(e,t){for(var r=[["color","fillStyle"],["strokeColor","strokeStyle"],["opacity","globalAlpha"],["lineCap","lineCap"],["lineJoin","lineJoin"],["miterLimit","miterLimit"],["lineWidth","lineWidth"],["shadowBlur","shadowBlur"],["shadowColor","shadowColor"],["shadowOffsetX","shadowOffsetX"],["shadowOffsetY","shadowOffsetY"]],s=0,i=r.length;s<i;s++){var n=t[r[s][0]],a=r[s][1];void 0!==n&&(e[a]=n)}}doClip(e){var t=Jn.Util_matrix.create();if(this.__clipShapes)for(var r=0;r<this.__clipShapes.length;r++){var s=this.__clipShapes[r];if(s.needTransform){let r=s.transform;Jn.Util_matrix.invert(t,r),e.transform(r[0],r[1],r[2],r[3],r[4],r[5])}if(e.beginPath(),s.buildPath(e,s.style),e.clip(),s.needTransform){let r=t;e.transform(r[0],r[1],r[2],r[3],r[4],r[5])}}}getHighlightStyle(e,t,r){var s={};for(let t in e)s[t]=e[t];var i=Jn.Util_color.getHighlightColor();"stroke"!=e.brushType?(s.strokeColor=i,s.lineWidth=e.lineWidth||1,s.brushType="both"):"stroke"!=r?(s.strokeColor=i,s.lineWidth=e.lineWidth||1):s.strokeColor=t.strokeColor||Jn.Util_color.mix(e.strokeColor,Jn.Util_color.toRGB(i));for(let e in t)void 0!==t[e]&&(s[e]=t[e]);return s}getHighlightZoom(){return"text"!=this.type?6:2}drift(e,t){this.position[0]+=e,this.position[1]+=t}buildPath(e,t){Jn.Util_log("buildPath not implemented in "+this.type)}getRect(e){Jn.Util_log("getRect not implemented in "+this.type)}isCover(e,t){var r=this.getTansform(e,t);e=r[0],t=r[1];var s=this.style.__rect;return s||(s=this.style.__rect=this.getRect(this.style)),e>=s.x&&e<=s.x+s.width&&t>=s.y&&t<=s.y+s.height&&Jn.Util_area.isInside(this,this.style,e,t)}drawText(e,t,r){if(void 0!==t.text&&!1!==t.text){var s=t.textColor||t.color||t.strokeColor;e.fillStyle=s;var i,n,a,o,l=10,h=t.textPosition||this.textPosition||"top",u=[];switch(u=this.refOriginalPosition&&2===this.refOriginalPosition.length?this.refOriginalPosition:[0,0],h){case"inside":case"top":case"bottom":case"left":case"right":if(this.getRect){var c=(r||t).__rect||this.getRect(r||t);switch(h){case"inside":a=c.x+c.width/2,o=c.y+c.height/2,i="center",n="middle","stroke"!=t.brushType&&s==t.color&&(e.fillStyle="#fff");break;case"left":a=c.x-l,o=c.y+c.height/2,i="end",n="middle";break;case"right":a=c.x+c.width+l,o=c.y+c.height/2,i="start",n="middle";break;case"top":a=c.x+c.width/2,o=c.y-l,i="center",n="bottom";break;case"bottom":a=c.x+c.width/2,o=c.y+c.height+l,i="center",n="top"}}break;case"start":case"end":var d=0,p=0,f=0,m=0;if(void 0!==t.pointList){var y=t.pointList;if(y.length<2)return;var g=y.length;switch(h){case"start":d=y[0][0]+u[0],p=y[1][0]+u[0],f=y[0][1]+u[1],m=y[1][1]+u[1];break;case"end":d=y[g-2][0]+u[0],p=y[g-1][0]+u[0],f=y[g-2][1]+u[1],m=y[g-1][1]+u[1]}}else d=t.xStart+u[0]||0,p=t.xEnd+u[0]||0,f=t.yStart+u[1]||0,m=t.yEnd+u[1]||0;switch(h){case"start":i=d<p?"end":"start",n=f<m?"bottom":"top",a=d,o=f;break;case"end":i=d<p?"start":"end",n=f<m?"top":"bottom",a=p,o=m}l-=4,d&&p&&d!=p?a-="end"==i?l:-l:i="center",f!=m?o-="bottom"==n?l:-l:n="middle";break;case"specific":a=t.textX||0,o=t.textY||0,i="start",n="middle"}t.labelXOffset&&!isNaN(t.labelXOffset)&&(a+=t.labelXOffset),t.labelYOffset&&!isNaN(t.labelYOffset)&&(o+=t.labelYOffset),null!=a&&null!=o&&Hn._fillText(e,t.text,a,o,t.textFont,t.textAlign||i,t.textBaseline||n)}}modSelf(){this.__dirty=!0,this.style&&(this.style.__rect=null),this.highlightStyle&&(this.highlightStyle.__rect=null)}isSilent(){return!(this.hoverable||this.draggable||this.clickable||this.onmousemove||this.onmouseover||this.onmouseout||this.onmousedown||this.onmouseup||this.onclick||this.ondragenter||this.ondragover||this.ondragleave||this.ondrop)}setCtxGlobalAlpha(e,t,r){e.globalAlpha="fill"===t?void 0===r.fillOpacity?void 0===r.opacity?1:r.opacity:r.fillOpacity:"stroke"===t?void 0===r.strokeOpacity?void 0===r.opacity?1:r.opacity:r.strokeOpacity:void 0===r.opacity?1:r.opacity}static _fillText(e,t,r,s,i,n,a){i&&(e.font=i),e.textAlign=n,e.textBaseline=a;var o=Hn._getTextRect(t,r,s,i,n,a);t=(t+"").split("\n");var l=Jn.Util_area.getTextHeight("ZH",i);switch(a){case"top":s=o.y;break;case"bottom":s=o.y+l;break;default:s=o.y+l/2}for(var h=0,u=t.length;h<u;h++)e.fillText(t[h],r,s),s+=l}static _getTextRect(e,t,r,s,i,n){var a=Jn.Util_area.getTextWidth(e,s),o=Jn.Util_area.getTextHeight("ZH",s);switch(e=(e+"").split("\n"),i){case"end":case"right":t-=a;break;case"center":t-=a/2}switch(n){case"top":break;case"bottom":r-=o*e.length;break;default:r-=o*e.length/2}return{x:t,y:r,width:a,height:o*e.length}}}class Wn extends Hn{constructor(e){super(e),this.type="smicpoint",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicPoint"}destroy(){this.type=null,super.destroy()}buildPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition;e.arc(t.x+r[0],t.y+r[1],t.r,0,2*Math.PI,!0)}getRect(e){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t,r=this.refOriginalPosition;return e.__rect?e.__rect:(t="stroke"==e.brushType||"fill"==e.brushType?e.lineWidth||1:0,e.__rect={x:Math.round(e.x+r[0]-e.r-t/2),y:Math.round(e.y+r[1]-e.r-t/2),width:2*e.r+t,height:2*e.r+t},e.__rect)}}class Yn extends Hn{constructor(e){super(e),this.type="smictext",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicText"}destroy(){this.type=null,super.destroy()}brush(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition,s=this.style;if(t&&(s=this.getHighlightStyle(s,this.highlightStyle||{})),void 0!==s.text&&!1!==s.text){e.save(),this.doClip(e),this.setContext(e,s),this.setTransform(e),s.textFont&&(e.font=s.textFont),e.textAlign=s.textAlign||"start",e.textBaseline=s.textBaseline||"middle";var i,n=(s.text+"").split("\n"),a=Jn.Util_area.getTextHeight("ZH",s.textFont),o=this.getRectNoRotation(s),l=s.x+r[0];i="top"==s.textBaseline?o.y:"bottom"==s.textBaseline?o.y+a:o.y+a/2;for(var h=s.x+r[0],u=s.y+r[1],c=0,d=n.length;c<d;c++){switch(s.labelRect&&(e.fillRect(o.x-2,o.y,o.width+4,o.height),e.fillStyle=s.strokeColor,e.strokeRect(o.x-2,o.y,o.width+4,o.height),e.fillStyle=s.textColor),s.brushType){case"stroke":this.setCtxGlobalAlpha(e,"stroke",s),s.textRotation&&0!==s.textRotation?(e.save(),e.translate(h,u),e.rotate(s.textRotation*Math.PI/180),"top"==s.textBaseline?s.maxWidth?e.strokeText(n[c],0,a*c,s.maxWidth):e.strokeText(n[c],0,a*c):"bottom"==s.textBaseline?s.maxWidth?e.strokeText(n[c],0,a*(c+1)-o.height,s.maxWidth):e.strokeText(n[c],0,a*(c+1)-o.height):s.maxWidth?e.strokeText(n[c],0,a*(c+1)-o.height/2-a/2,s.maxWidth):e.strokeText(n[c],0,a*(c+1)-o.height/2-a/2),e.restore()):s.maxWidth?e.strokeText(n[c],l,i,s.maxWidth):e.strokeText(n[c],l,i),this.setCtxGlobalAlpha(e,"reset",s);break;case"both":s.textRotation&&0!==s.textRotation?(e.save(),e.translate(h,u),e.rotate(s.textRotation*Math.PI/180),"top"==s.textBaseline?s.maxWidth?(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*c,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*c,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s)):(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*c),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*c),this.setCtxGlobalAlpha(e,"reset",s)):"bottom"==s.textBaseline?s.maxWidth?(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*(c+1)-o.height,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*(c+1)-o.height,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s)):(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*(c+1)-o.height),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*(c+1)-o.height),this.setCtxGlobalAlpha(e,"reset",s)):s.maxWidth?(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*(c+1)-o.height/2-a/2,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*(c+1)-o.height/2-a/2,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s)):(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],0,a*(c+1)-o.height/2-a/2),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],0,a*(c+1)-o.height/2-a/2),this.setCtxGlobalAlpha(e,"reset",s)),e.restore()):s.maxWidth?(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],l,i,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],l,i,s.maxWidth),this.setCtxGlobalAlpha(e,"reset",s)):(this.setCtxGlobalAlpha(e,"fill",s),e.fillText(n[c],l,i),this.setCtxGlobalAlpha(e,"reset",s),this.setCtxGlobalAlpha(e,"stroke",s),e.strokeText(n[c],l,i),this.setCtxGlobalAlpha(e,"reset",s));break;default:this.setCtxGlobalAlpha(e,"fill",s),s.textRotation&&0!==s.textRotation?(e.save(),e.translate(h,u),e.rotate(s.textRotation*Math.PI/180),"top"==s.textBaseline?s.maxWidth?e.fillText(n[c],0,a*c,s.maxWidth):e.fillText(n[c],0,a*c):"bottom"==s.textBaseline?s.maxWidth?e.fillText(n[c],0,a*(c+1)-o.height,s.maxWidth):e.fillText(n[c],0,a*(c+1)-o.height):s.maxWidth?e.fillText(n[c],0,a*(c+1)-o.height/2-a/2,s.maxWidth):e.fillText(n[c],0,a*(c+1)-o.height/2-a/2),e.restore()):s.maxWidth?e.fillText(n[c],l,i,s.maxWidth):e.fillText(n[c],l,i),this.setCtxGlobalAlpha(e,"reset",s)}i+=a}e.restore()}}getRect(e){if(e.__rect)return e.__rect;for(var t,r,s,i,n=this.getTextBackground(e,!0),a=0,o=n.length;a<o;a++){var l=n[a];0==a?(t=l[0],s=l[0],r=l[1],i=l[1]):(l[0]<t&&(t=l[0]),l[0]>s&&(s=l[0]),l[1]<r&&(r=l[1]),l[1]>i&&(i=l[1]))}return e.__rect={x:t,y:r,width:s-t,height:i-r},e.__rect}getRectNoRotation(e){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t,r=this.refOriginalPosition,s=Jn.Util_area.getTextHeight("ZH",e.textFont),i=Jn.Util_area.getTextWidth(e.text,e.textFont),n=Jn.Util_area.getTextHeight(e.text,e.textFont),a=e.x+r[0];"end"==e.textAlign||"right"==e.textAlign?a-=i:"center"==e.textAlign&&(a-=i/2),t="top"==e.textBaseline?e.y+r[1]:"bottom"==e.textBaseline?e.y+r[1]-n:e.y+r[1]-n/2;var o,l=!1;if(e.maxWidth){var h=parseInt(e.maxWidth);h<i&&(o=i,l=!0,i=h),a=e.x+r[0],"end"==e.textAlign||"right"==e.textAlign?a-=i:"center"==e.textAlign&&(a-=i/2)}e.textFont&&(e.textFont.toLowerCase().indexOf("italic")>-1&&(i+=!0===l?s/3*(i/o):s/3));return{x:a,y:t,width:i,height:n}}getTextBackground(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition;if(!t&&e.__textBackground)return e.__textBackground;var s=this.getRectNoRotation(e),i=e.x+r[0],n=e.y+r[1],a=[];if(e.textRotation&&0!==e.textRotation){let t=e.textRotation,r=this.getRotatedLocation(s.x,s.y,i,n,t),o=this.getRotatedLocation(s.x+s.width,s.y,i,n,t),l=this.getRotatedLocation(s.x+s.width,s.y+s.height,i,n,t),h=this.getRotatedLocation(s.x,s.y+s.height,i,n,t);a.push(r),a.push(o),a.push(l),a.push(h)}else{let e=[s.x,s.y],t=[s.x+s.width,s.y],r=[s.x+s.width,s.y+s.height],i=[s.x,s.y+s.height];a.push(e),a.push(t),a.push(r),a.push(i)}return e.__textBackground=a,e.__textBackground}getRotatedLocation(e,t,r,s,i){var n,a,o=new Array;return t=-t,s=-s,i=-i,n=(e-r)*Math.cos(i/180*Math.PI)-(t-s)*Math.sin(i/180*Math.PI)+r,a=(e-r)*Math.sin(i/180*Math.PI)+(t-s)*Math.cos(i/180*Math.PI)+s,o[0]=n,o[1]=-a,o}}class Xn extends Hn{constructor(e){super(e),this.type="smiccircle",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicCircle"}destroy(){this.type=null,super.destroy()}buildPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition,s=t.x+r[0],i=t.y+r[1];return e.moveTo(s+t.r,i),e.arc(s,i,t.r,0,2*Math.PI,!0),!0}getRect(e){if(e.__rect)return e.__rect;this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t,r=this.refOriginalPosition,s=e.x+r[0],i=e.y+r[1],n=e.r;return t="stroke"==e.brushType||"fill"==e.brushType?e.lineWidth||1:0,e.__rect={x:Math.round(s-n-t/2),y:Math.round(i-n-t/2),width:2*n+t,height:2*n+t},e.__rect}}class Qn extends Hn{constructor(e){super(e),this.type="smicpolygon",this.holePolygonPointLists=null,this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicPolygon"}destroy(){this.type=null,this.holePolygonPointLists=null,super.destroy()}brush(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.style;t&&(r=this.getHighlightStyle(r,this.highlightStyle||{})),e.save(),this.setContext(e,r),this.setTransform(e);var s=!1;"fill"!=r.brushType&&"both"!=r.brushType&&void 0!==r.brushType||(e.beginPath(),"dashed"==r.lineType||"dotted"==r.lineType||"dot"==r.lineType||"dash"==r.lineType||"dashdot"==r.lineType||"longdash"==r.lineType||"longdashdot"==r.lineType?this.buildPath(e,{lineType:"solid",lineWidth:r.lineWidth,pointList:r.pointList}):(this.buildPath(e,r),s=!0),e.closePath(),this.setCtxGlobalAlpha(e,"fill",r),e.fill(),this.setCtxGlobalAlpha(e,"reset",r)),r.lineWidth>0&&("stroke"==r.brushType||"both"==r.brushType)&&(s||(e.beginPath(),this.buildPath(e,r)),this.setCtxGlobalAlpha(e,"stroke",r),e.stroke(),this.setCtxGlobalAlpha(e,"reset",r)),this.drawText(e,r,this.style);var i=$.cloneObject(r);if(i.pointList&&this.holePolygonPointLists&&this.holePolygonPointLists.length>0)for(var n=this.holePolygonPointLists,a=n.length,o=0;o<a;o++){var l=n[o];i.pointList=l,e.globalCompositeOperation="destination-out",s=!1,"fill"!=i.brushType&&"both"!=i.brushType&&void 0!==i.brushType||(e.beginPath(),"dashed"==i.lineType||"dotted"==i.lineType||"dot"==i.lineType||"dash"==i.lineType||"dashdot"==i.lineType||"longdash"==i.lineType||"longdashdot"==i.lineType?this.buildPath(e,{lineType:"solid",lineWidth:i.lineWidth,pointList:i.pointList}):(this.buildPath(e,i),s=!0),e.closePath(),this.setCtxGlobalAlpha(e,"fill",i),e.fill(),this.setCtxGlobalAlpha(e,"reset",i)),i.lineWidth>0&&("stroke"==i.brushType||"both"==i.brushType)?(s||(e.beginPath(),this.buildPath(e,i)),e.globalCompositeOperation="source-over",this.setCtxGlobalAlpha(e,"stroke",i),e.stroke(),this.setCtxGlobalAlpha(e,"reset",i)):e.globalCompositeOperation="source-over"}e.restore()}buildPath(e,t){t.showShadow&&(e.shadowBlur=t.shadowBlur,e.shadowColor=t.shadowColor,e.shadowOffsetX=t.shadowOffsetX,e.shadowOffsetY=t.shadowOffsetY),this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition,s=t.pointList;if(!(s.length<2))if(t.smooth&&"spline"!==t.smooth){var i,n,a,o=Jn.SUtil_smoothBezier(s,t.smooth,!0,t.smoothConstraint,r);e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(var l=s.length,h=0;h<l;h++)i=o[2*h],n=o[2*h+1],a=[s[(h+1)%l][0]+r[0],s[(h+1)%l][1]+r[1]],e.bezierCurveTo(i[0],i[1],n[0],n[1],a[0],a[1])}else if("spline"===t.smooth&&(s=Jn.SUtil_smoothSpline(s,!0,null,r)),t.lineType&&"solid"!=t.lineType){if("dashed"===t.lineType||"dotted"===t.lineType||"dot"===t.lineType||"dash"===t.lineType||"longdash"===t.lineType){let i=t._dashLength||(t.lineWidth||1)*("dashed"==t.lineType?5:1);t._dashLength=i;let n=t.lineWidth||1,a=n,o=n;"dashed"===t.lineType&&(a*=5,o*=5,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),"dotted"===t.lineType&&t.lineCap&&"butt"!==t.lineCap&&(a=1,o+=n),"dot"===t.lineType&&(o*=4,t.lineCap&&"butt"!==t.lineCap&&(a=1,o+=n)),"dash"===t.lineType&&(a*=4,o*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),"longdash"===t.lineType&&(a*=8,o*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=1;t<s.length;t++)Jn.SUtil_dashedLineTo(e,s[t-1][0]+r[0],s[t-1][1]+r[1],s[t][0]+r[0],s[t][1]+r[1],n,[a,o]);Jn.SUtil_dashedLineTo(e,s[s.length-1][0]+r[0],s[s.length-1][1]+r[1],s[0][0]+r[0],s[0][1]+r[1],n,[a,o])}else if("dashdot"===t.lineType||"longdashdot"===t.lineType){let i=t._dashLength||(t.lineWidth||1)*("dashed"==t.lineType?5:1);t._dashLength=i;let n=t.lineWidth||1,a=n,o=n,l=n,h=n;"dashdot"===t.lineType&&(a*=4,o*=4,h*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n,l=1,h+=n)),"longdashdot"===t.lineType&&(a*=8,o*=4,h*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n,l=1,h+=n)),e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=1;t<s.length;t++)Jn.SUtil_dashedLineTo(e,s[t-1][0]+r[0],s[t-1][1]+r[1],s[t][0]+r[0],s[t][1]+r[1],n,[a,o,l,h]);Jn.SUtil_dashedLineTo(e,s[s.length-1][0]+r[0],s[s.length-1][1]+r[1],s[0][0]+r[0],s[0][1]+r[1],n,[a,o,l,h])}}else{e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=1;t<s.length;t++)e.lineTo(s[t][0]+r[0],s[t][1]+r[1]);e.lineTo(s[0][0]+r[0],s[0][1]+r[1])}}getRect(e,t){var r;if(t?r=t:(this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),r=this.refOriginalPosition),e.__rect)return e.__rect;for(var s,i=Number.MAX_VALUE,n=Number.MIN_VALUE,a=Number.MAX_VALUE,o=Number.MIN_VALUE,l=e.pointList,h=0,u=l.length;h<u;h++)l[h][0]+r[0]<i&&(i=l[h][0]+r[0]),l[h][0]+r[0]>n&&(n=l[h][0]+r[0]),l[h][1]+r[1]<a&&(a=l[h][1]+r[1]),l[h][1]+r[1]>o&&(o=l[h][1]+r[1]);return s="stroke"==e.brushType||"fill"==e.brushType?e.lineWidth||1:0,e.__rect={x:Math.round(i-s/2),y:Math.round(a-s/2),width:n-i+s,height:o-a+s},e.__rect}}class Zn extends Hn{constructor(e){super(e),this.brushTypeOnly="stroke",this.textPosition="end",this.type="smicbroken-line",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicBrokenLine"}destroy(){this.brushTypeOnly=null,this.textPosition=null,this.type=null,super.destroy()}buildPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition,s=t.pointList;if(!(s.length<2)){var i=Math.min(t.pointList.length,Math.round(t.pointListLength||t.pointList.length));if(t.smooth&&"spline"!==t.smooth){var n,a,o,l=Jn.SUtil_smoothBezier(s,t.smooth,!1,t.smoothConstraint,r);e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=0;t<i-1;t++)n=l[2*t],a=l[2*t+1],o=[s[t+1][0]+r[0],s[t+1][1]+r[1]],e.bezierCurveTo(n[0],n[1],a[0],a[1],o[0],o[1])}else if("spline"===t.smooth&&(i=(s=Jn.SUtil_smoothSpline(s,null,null,r)).length),t.lineType&&"solid"!==t.lineType){if("dashed"===t.lineType||"dotted"===t.lineType||"dot"===t.lineType||"dash"===t.lineType||"longdash"===t.lineType){let n=t.lineWidth||1,a=n,o=n;"dashed"===t.lineType&&(a*=5,o*=5,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),"dotted"===t.lineType&&t.lineCap&&"butt"!==t.lineCap&&(a=1,o+=n),"dot"===t.lineType&&(o*=4,t.lineCap&&"butt"!==t.lineCap&&(a=1,o+=n)),"dash"===t.lineType&&(a*=4,o*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),"longdash"===t.lineType&&(a*=8,o*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n)),e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(var h=1;h<i;h++)Jn.SUtil_dashedLineTo(e,s[h-1][0]+r[0],s[h-1][1]+r[1],s[h][0]+r[0],s[h][1]+r[1],n,[a,o])}else if("dashdot"===t.lineType||"longdashdot"===t.lineType){let n=t.lineWidth||1,a=n,o=n,l=n,h=n;"dashdot"===t.lineType&&(a*=4,o*=4,h*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n,l=1,h+=n)),"longdashdot"===t.lineType&&(a*=8,o*=4,h*=4,t.lineCap&&"butt"!==t.lineCap&&(a-=n,o+=n,l=1,h+=n)),n=(t.lineWidth||1)*("dashed"===t.lineType?5:1),e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=1;t<i;t++)Jn.SUtil_dashedLineTo(e,s[t-1][0]+r[0],s[t-1][1]+r[1],s[t][0]+r[0],s[t][1]+r[1],n,[a,o,l,h])}}else{e.moveTo(s[0][0]+r[0],s[0][1]+r[1]);for(let t=1;t<i;t++)e.lineTo(s[t][0]+r[0],s[t][1]+r[1])}}}getRect(e){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t=this.refOriginalPosition;return Qn.prototype.getRect.apply(this,[e,t])}}class Kn extends Hn{constructor(e){super(e),this.type="smicimage",this._imageCache={},this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicImage"}destroy(){this.type=null,this._imageCache=null,super.destroy()}brush(e,t,r){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var s=this.refOriginalPosition,i=this.style||{};t&&(i=this.getHighlightStyle(i,this.highlightStyle||{}));var n=i.image,a=this;if("string"==typeof n){var o=n;this._imageCache[o]?n=this._imageCache[o]:((n=new Image).onload=function(){n.onload=null,clearTimeout(Kn._refreshTimeout),Kn._needsRefresh.push(a),Kn._refreshTimeout=setTimeout(function(){r&&r(Kn._needsRefresh),Kn._needsRefresh=[]},10)},n.src=o,this._imageCache[o]=n)}if(n){if("IMG"==n.nodeName.toUpperCase())if(window.ActiveXObject){if("complete"!=n.readyState)return}else if(!n.complete)return;var l=i.width||n.width,h=i.height||n.height,u=i.x+s[0],c=i.y+s[1];if(!n.width||!n.height)return;if(e.save(),this.doClip(e),this.setContext(e,i),this.setTransform(e),i.sWidth&&i.sHeight){let t=i.sx+s[0]||0,r=i.sy+s[1]||0;e.drawImage(n,t,r,i.sWidth,i.sHeight,u,c,l,h)}else if(i.sx&&i.sy){let t=i.sx+s[0],r=i.sy+s[1];var d=l-t,p=h-r;e.drawImage(n,t,r,d,p,u,c,l,h)}else e.drawImage(n,u,c,l,h);i.width||(i.width=l),i.height||(i.height=h),this.style.width||(this.style.width=l),this.style.height||(this.style.height=h),this.drawText(e,i,this.style),e.restore()}}getRect(e){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t=this.refOriginalPosition;return{x:e.x+t[0],y:e.y+t[1],width:e.width,height:e.height}}clearCache(){this._imageCache={}}}Kn._needsRefresh=[],Kn._refreshTimeout=null;class $n extends Hn{constructor(e){super(e),this.type="smicrectangle",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicRectangle"}destroy(){this.type=null,super.destroy()}_buildRadiusPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r,s,i,n,a,o=this.refOriginalPosition,l=t.x+o[0],h=t.y+o[1],u=t.width,c=t.height,d=t.radius;"number"==typeof d?r=s=i=n=d:d instanceof Array?1===d.length?r=s=i=n=d[0]:2===d.length?(r=i=d[0],s=n=d[1]):3===d.length?(r=d[0],s=n=d[1],i=d[2]):(r=d[0],s=d[1],i=d[2],n=d[3]):r=s=i=n=0,r+s>u&&(r*=u/(a=r+s),s*=u/a),i+n>u&&(i*=u/(a=i+n),n*=u/a),s+i>c&&(s*=c/(a=s+i),i*=c/a),r+n>c&&(r*=c/(a=r+n),n*=c/a),e.moveTo(l+r,h),e.lineTo(l+u-s,h),0!==s&&e.quadraticCurveTo(l+u,h,l+u,h+s),e.lineTo(l+u,h+c-i),0!==i&&e.quadraticCurveTo(l+u,h+c,l+u-i,h+c),e.lineTo(l+n,h+c),0!==n&&e.quadraticCurveTo(l,h+c,l,h+c-n),e.lineTo(l,h+r),0!==r&&e.quadraticCurveTo(l,h,l+r,h)}buildPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition;t.radius?this._buildRadiusPath(e,t):(e.moveTo(t.x+r[0],t.y+r[1]),e.lineTo(t.x+r[0]+t.width,t.y+r[1]),e.lineTo(t.x+r[0]+t.width,t.y+r[1]+t.height),e.lineTo(t.x+r[0],t.y+r[1]+t.height),e.lineTo(t.x+r[0],t.y+r[1])),e.closePath()}getRect(e){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t,r=this.refOriginalPosition;return e.__rect?e.__rect:(t="stroke"==e.brushType||"fill"==e.brushType?e.lineWidth||1:0,e.__rect={x:Math.round(e.x+r[0]-t/2),y:Math.round(e.y+r[1]-t/2),width:e.width+t,height:e.height+t},e.__rect)}}class ea extends Hn{constructor(e){super(e),this.type="smicsector",this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]),this.CLASS_NAME="SuperMap.LevelRenderer.Shape.SmicSector"}destroy(){this.type=null,super.destroy()}buildPath(e,t){this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var r=this.refOriginalPosition,s=t.x+r[0],i=t.y+r[1],n=t.r0||0,a=t.r,o=t.startAngle,l=t.endAngle,h=t.clockWise||!1;o=Jn.Util_math.degreeToRadian(o),l=Jn.Util_math.degreeToRadian(l),h||(o=-o,l=-l);var u=Jn.Util_math.cos(o),c=Jn.Util_math.sin(o);e.moveTo(u*n+s,c*n+i),e.lineTo(u*a+s,c*a+i),e.arc(s,i,a,o,l,!h),e.lineTo(Jn.Util_math.cos(l)*n+s,Jn.Util_math.sin(l)*n+i),0!==n&&e.arc(s,i,n,l,o,h),e.closePath()}getRect(e){if(e.__rect)return e.__rect;this.refOriginalPosition&&2===this.refOriginalPosition.length||(this.refOriginalPosition=[0,0]);var t=this.refOriginalPosition,r=Jn.Util_vector.create(),s=Jn.Util_vector.create(),i=Jn.Util_vector.create(),n=Jn.Util_vector.create(),a=e.x+t[0],o=e.y+t[1],l=e.r0||0,h=e.r,u=Jn.Util_math.degreeToRadian(e.startAngle),c=Jn.Util_math.degreeToRadian(e.endAngle),d=e.clockWise;return d||(u=-u,c=-c),l>1?Jn.Util_computeBoundingBox.arc(a,o,l,u,c,!d,r,i):(r[0]=i[0]=a,r[1]=i[1]=o),Jn.Util_computeBoundingBox.arc(a,o,h,u,c,!d,s,n),Jn.Util_vector.min(r,r,s),Jn.Util_vector.max(i,i,n),e.__rect={x:r[0],y:r[1],width:i[0]-r[0],height:i[1]-r[1]},e.__rect}}class ta{constructor(e){this.shapeParameters=e,this.CLASS_NAME="SuperMap.Feature.ShapeFactory"}destroy(){this.shapeParameters=null}createShape(e){if(e&&(this.shapeParameters=e),!this.shapeParameters)return null;var t=this.shapeParameters;if(t instanceof In){let e=new Object;e.x=t.x,e.y=t.y,e.r=t.r,e=$.copyAttributesWithClip(e,t.style,["x","y"]);let r=new Wn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","style","highlightStyle"]),r}if(t instanceof Nn){if(!t.pointList)return null;let e=new Object;e.pointList=t.pointList,e=$.copyAttributesWithClip(e,t.style,["pointList"]);let r=new Zn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["pointList","style","highlightStyle"]),r}if(t instanceof Fn){if(!t.pointList)return null;let e=new Object;e.pointList=t.pointList,e=$.copyAttributesWithClip(e,t.style,["pointList"]);let r=new Qn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["pointList","style","highlightStyle"]),r}if(t instanceof kn){if(!t.x&&!t.y&!t.width&!t.height)return null;let e=new Object;e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height,e=$.copyAttributesWithClip(e,t.style,["x","y","width","height"]);let r=new $n;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","width","height","style","highlightStyle"]),r}if(t instanceof Rn){let e=new Object;e.x=t.x,e.y=t.y,e.r=t.r,e.startAngle=t.startAngle,e.endAngle=t.endAngle,t.r0&&(e.r0=t.r0),t.clockWise&&(e.clockWise=t.clockWise),e=$.copyAttributesWithClip(e,t.style,["x","y","r","startAngle","endAngle","r0","endAngle"]);let r=new ea;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","r","startAngle","endAngle","r0","endAngle","style","highlightStyle"]),r}if(t instanceof Dn){let e=new Object;e.x=t.x,e.y=t.y,e.text=t.text,e=$.copyAttributesWithClip(e,t.style,["x","y","text"]);let r=new Yn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","text","style","highlightStyle"]),r}if(t instanceof Gn){let e=new Object;e.x=t.x,e.y=t.y,t.image&&(e.image=t.image),t.width&&(e.width=t.width),t.height&&(e.height=t.height),t.sx&&(e.sx=t.sx),t.sy&&(e.sy=t.sy),t.sWidth&&(e.sWidth=t.sWidth),t.sHeight&&(e.sHeight=t.sHeight),e=$.copyAttributesWithClip(e,t.style,["x","y","image","width","height","sx","sy","sWidth","sHeight"]);let r=new Kn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","image","width","height","style","highlightStyle"]),r}if(t instanceof Bn){let e=new Object;e.x=t.x,e.r=t.r,e.y=t.y,e=$.copyAttributesWithClip(e,t.style,["x","y","r"]);let r=new Xn;return r.style=ta.transformStyle(e),r.highlightStyle=ta.transformStyle(t.highlightStyle),$.copyAttributesWithClip(r,t,["x","y","r","style","highlightStyle","lineWidth","text","textPosition"]),r}return null}static transformStyle(e){var t={},r=["normal","normal","normal","12","arial,sans-serif"],s=[!0,!1];for(var i in e)switch(i){case"fill":s[0]=e[i];break;case"fillColor":t.color=e[i];break;case"stroke":s[1]=e[i];break;case"strokeWidth":t.lineWidth=e[i];break;case"strokeLinecap":t.lineCap=e[i];break;case"strokeLineJoin":t.lineJoin=e[i];break;case"strokeDashstyle":t.lineType=e[i];break;case"pointRadius":t.r=e[i];break;case"label":t.text=e[i];break;case"labelRect":t.labelRect=e[i];break;case"fontColor":t.textColor=e[i];break;case"fontStyle":r[0]=e[i];break;case"fontVariant":r[1]=e[i];break;case"fontWeight":r[2]=e[i];break;case"fontSize":var n="";e[i]&&e[i].toString().indexOf("px")<0&&(n="px"),r[3]=e[i]+n;break;case"fontFamily":r[4]=e[i];break;case"fontOpacity":t.opacity=e[i];break;case"labelPosition":t.textPosition=e[i];break;case"labelAlign":t.textAlign=e[i];break;case"labelBaseline":t.textBaseline=e[i];break;case"labelRotation":t.textRotation=e[i];break;default:t[i]=e[i]}return t.textFont=r.join(" "),!0===s[0]&&!1===s[1]?t.brushType="fill":!1===s[0]&&!0===s[1]?t.brushType="stroke":!0===s[0]&&!0===s[1]?t.brushType="both":t.brushType="fill",null==t.lineWidth&&(t.lineWidth=1),t}static Background(e,t,r){var s=r||{},i=new kn(t[0],t[3],Math.abs(t[2]-t[0]),Math.abs(t[3]-t[1]));return i.style={fillColor:"#f3f3f3"},s.backgroundStyle&&$.copyAttributesWithClip(i.style,s.backgroundStyle),s.backgroundRadius&&(i.style.radius=s.backgroundRadius),i.clickable=!1,i.hoverable=!1,e.createShape(i)}static GraphAxis(e,t,r,s){var i=t,n=r||{},a=[],o=[],l=!!n.useXReferenceLine&&n.useXReferenceLine,h=n.axisYTick&&!isNaN(n.axisYTick)?n.axisYTick:0,u=[],c=[];if(0==h){if(c.push([i[0],i[3]-5]),c.push([i[0],i[1]]),n.axis3DParameter&&!isNaN(n.axis3DParameter)&&n.axis3DParameter>=15){let e=parseInt(n.axis3DParameter),t=[i[0]-e,i[1]+e];n.axisUseArrow?(u.push([t[0]+1.5,t[1]-7.5]),u.push([t[0]-1,t[1]+1]),u.push([t[0]+7.5,t[1]-1.5]),c.push([t[0],t[1]])):c.push([t[0],t[1]]),c.push([i[0],i[1]])}c.push([i[2]+5,i[1]])}else{var d=Math.abs(i[1]-i[3])/h,p=i[3];c.push([i[0],p-5]);for(var f=0;f<h;f++){if(c.push([i[0],p]),c.push([i[0]-5,p]),c.push([i[0],p]),l){var m=new Nn([[i[0],p],[i[2],p]]);m.style={strokeColor:"#cfcfcf",strokeLinecap:"butt",strokeLineJoin:"round",strokeWidth:1},m.clickable=!1,m.hoverable=!1,n.xReferenceLineStyle&&$.copyAttributesWithClip(m.style,n.xReferenceLineStyle),a.push(e.createShape(m))}p+=d}if(c.push([i[0],i[1]]),n.axis3DParameter&&!isNaN(n.axis3DParameter)&&n.axis3DParameter>=15){let e=parseInt(n.axis3DParameter),t=[i[0]-e,i[1]+e];n.axisUseArrow?(u.push([t[0]+1.5,t[1]-7.5]),u.push([t[0]-1,t[1]+1]),u.push([t[0]+7.5,t[1]-1.5]),c.push([t[0],t[1]])):c.push([t[0],t[1]]),c.push([i[0],i[1]])}c.push([i[2]+5,i[1]])}if(n.axisUseArrow){var y=[[i[2]+5,i[1]+4],[i[2]+13,i[1]],[i[2]+5,i[1]-4]],g=[[i[0]-4,i[3]-5],[i[0],i[3]-13],[i[0]+4,i[3]-5]],v=new Fn(y);v.style={fillColor:"#008acd"},$.copyAttributesWithClip(v.style,n.axisStyle),o.push(e.createShape(v));var b=new Fn(g);if(b.style={fillColor:"#008acd"},$.copyAttributesWithClip(b.style,n.axisStyle),o.push(e.createShape(b)),n.axis3DParameter&&!isNaN(n.axis3DParameter)&&n.axis3DParameter>=15){var S=new Fn(u);S.style={fillColor:"#008acd"},$.copyAttributesWithClip(S.style,n.axisStyle),o.push(e.createShape(S))}}var x=new Nn(c);x.style={strokeLinecap:"butt",strokeLineJoin:"round",strokeColor:"#008acd",strokeWidth:1},n.axisStyle&&$.copyAttributesWithClip(x.style,n.axisStyle),x.clickable=!1,x.hoverable=!1;var _=[e.createShape(x)],w=[];if(n.axisYLabels&&n.axisYLabels.length&&n.axisYLabels.length>0){var C=n.axisYLabels;let t=C.length;var T=[0,0];if(n.axisYLabelsOffset&&n.axisYLabelsOffset.length&&(T=n.axisYLabelsOffset),1==t){let t=new Dn(i[0]-5+T[0],i[3]+T[1],C[0]);t.style={labelAlign:"right"},n.axisYLabelsStyle&&$.copyAttributesWithClip(t.style,n.axisYLabelsStyle),t.clickable=!1,t.hoverable=!1,w.push(e.createShape(t))}else for(var M=i[3],E=Math.abs(i[1]-i[3])/(t-1),A=0;A<t;A++){let t=new Dn(i[0]-5+T[0],M+T[1],C[A]);t.style={labelAlign:"right"},n.axisYLabelsStyle&&$.copyAttributesWithClip(t.style,n.axisYLabelsStyle),t.clickable=!1,t.hoverable=!1,w.push(e.createShape(t)),M+=E}}var O=[];if(n.axisXLabels&&n.axisXLabels.length&&n.axisXLabels.length>0){let t=n.axisXLabels,r=t.length,a=[0,0];if(n.axisXLabelsOffset&&n.axisXLabelsOffset.length&&(a=n.axisXLabelsOffset),s&&s.xPositions&&s.xPositions.length&&s.xPositions.length==r){let o=s.xPositions;for(let s=0;s<r;s++){let r=new Dn(o[s]+a[0],i[1]+a[1],t[s]);r.style={labelAlign:"center",labelBaseline:"top"},n.axisXLabelsStyle&&$.copyAttributesWithClip(r.style,n.axisXLabelsStyle),r.clickable=!1,r.hoverable=!1,O.push(e.createShape(r))}}else if(1==r){let r=new Dn(i[0]-5+a[0],i[1]+a[0],t[0]);r.style={labelAlign:"center",labelBaseline:"top"},n.axisXLabelsStyle&&$.copyAttributesWithClip(r.style,n.axisXLabelsStyle),r.clickable=!1,r.hoverable=!1,O.push(e.createShape(r))}else{let s=i[0],o=Math.abs(i[2]-i[0])/(r-1);for(let l=0;l<r;l++){let r=new Dn(s+a[0],i[1]+a[1],t[l]);r.style={labelAlign:"center",labelBaseline:"top"},n.axisXLabelsStyle&&$.copyAttributesWithClip(r.style,n.axisXLabelsStyle),r.clickable=!1,r.hoverable=!1,O.push(e.createShape(r)),s+=o}}}return a.concat(_).concat(w).concat(O).concat(o)}static ShapeStyleTool(e,t,r,s,i,n){var a=e||{};if(t&&$.copyAttributesWithClip(a,t),r&&r.length&&void 0!==i&&!isNaN(i)&&i>=0&&r[i]&&$.copyAttributesWithClip(a,r[i]),s&&s.length&&void 0!==n)for(var o=s,l=o.length,h=parseFloat(n),u=0;u<l;u++)if(o[u].start<=h&&h<o[u].end){$.copyAttributesWithClip(a,o[u].style);break}return a}}class ra{constructor(e,t){e&&t&&t.map&&t.renderer&&(this.id=$.createUniqueID(this.CLASS_NAME+"_"),this.lonlat=null,this.location=[],this.data=e,this.shapes=[],this.layer=t,this.CLASS_NAME="SuperMap.Feature.Theme")}destroy(){this.data=null,this.id=null,this.lonlat=null,this.location=null,this.shapes=null,this.layer=null}getLocalXY(e){var t=this.layer.map.getResolution(),r=this.layer.map.getExtent();if(e instanceof oe||e instanceof he){return[e.x/t+-r.left/t,r.top/t-e.y/t]}if(e instanceof re){return[e.lon/t+-r.left/t,r.top/t-e.lat/t]}return null}}class sa extends ra{constructor(e,t,r,s,i,n){super(e,t,r,s,i,n),this.shapeFactory=new ta,this.shapeParameters=null,this.RelativeCoordinate=!1,this.setting=null,this.origonPoint=null,this.chartBox=null,this.chartBounds=null,this.width=null,this.height=null,this.XOffset=0,this.YOffset=0,this.DVBParameter=null,this.dataViewBox=null,this.DVBCodomain=null,this.DVBCenterPoint=null,this.DVBUnitValue=null,this.DVBOrigonPoint=null,this.DVBWidth=null,this.DVBHeight=null,this.origonPointOffset=null,this.fields=r||[],this.dataValues=null,this.lonlat=i||this.data.geometry.getBounds().getCenterLonLat(),s&&s.width&&s.height&&s.codomain&&(this.setting=s),this.CLASS_NAME="SuperMap.Feature.Theme.Graph"}destroy(){this.shapeFactory=null,this.shapeParameters=null,this.width=null,this.height=null,this.origonPoint=null,this.chartBox=null,this.dataViewBox=null,this.chartBounds=null,this.DVBParameter=null,this.DVBOrigonPoint=null,this.DVBCenterPoint=null,this.DVBWidth=null,this.DVBHeight=null,this.DVBCodomain=null,this.DVBUnitValue=null,this.origonPointOffset=null,this.XOffset=null,this.YOffset=null,this.fields=null,this.dataValues=null,this.setting=null,super.destroy()}initBaseParameter(){if(!this.setting)return!1;var e=this.setting;if(!(e.width&&e.height&&e.codomain))return!1;var t=void 0===e.decimalNumber||isNaN(e.decimalNumber)?-1:e.decimalNumber,r=ra.getDataValues(this.data,this.fields,t);this.dataValues=r||[],this.width=parseFloat(e.width),this.height=parseFloat(e.height),this.DVBCodomain=e.codomain,this.XOffset=e.XOffset?e.XOffset:0,this.YOffset=e.YOffset?e.YOffset:0,this.origonPoint=[],this.chartBox=[],this.dataViewBox=[],this.DVBParameter=e.dataViewBoxParameter?e.dataViewBoxParameter:[0,0,0,0],this.DVBOrigonPoint=[],this.DVBCenterPoint=[],this.origonPointOffset=[],this.resetLocation();var s=this.width,i=this.height,n=this.location;this.origonPoint=[n[0]-s/2,n[1]-i/2];var a=this.origonPoint;this.chartBox=[a[0],a[1]+i,a[0]+s,a[1]];var o=this.chartBox,l=this.DVBParameter;this.dataViewBox=[o[0]+l[0],o[1]-l[1],o[2]-l[2],o[3]+l[3]];var h=this.dataViewBox;return!(h[0]>=h[2]||h[1]<=h[3])&&(this.DVBOrigonPoint=[h[0],h[3]],this.DVBWidth=Math.abs(h[2]-h[0]),this.DVBHeight=Math.abs(h[1]-h[3]),this.DVBCenterPoint=[this.DVBOrigonPoint[0]+this.DVBWidth/2,this.DVBOrigonPoint[1]+this.DVBHeight/2],this.origonPointOffset=[this.DVBOrigonPoint[0]-a[0],this.DVBOrigonPoint[1]-a[1]],!0)}resetLocation(e){e&&(this.lonlat=e);var t=this.getLocalXY(this.lonlat);t[0]+=this.XOffset,t[1]+=this.YOffset,this.location=t;var r=this.width,s=this.height,i=this.location;return this.chartBounds=new se(i[0]-r/2,i[1]+s/2,i[0]+r/2,i[1]-s/2),this.resetLinearGradient(),i}resetLinearGradient(){}shapesConvertToRelativeCoordinate(){for(var e=this.shapes,t=this.location,r=0,s=e.length;r<s;r++){e[r].refOriginalPosition=t;var i=e[r].style;for(var n in i)switch(n){case"pointList":for(var a=i[n],o=0,l=a.length;o<l;o++)a[o][0]-=t[0],a[o][1]-=t[1];break;case"x":i[n]-=t[0];break;case"y":i[n]-=t[1]}}this.RelativeCoordinate=!0}assembleShapes(){}getLocalXY(e){return this.layer.getLocalXY(e)}}ra.getDataValues=function(e,t,r){if(!e.attributes)return!1;for(var s=[],i=e.attributes,n=0;n<t.length;n++)for(var a in i)if(a===t[n])try{!isNaN(r)&&r>=0?s.push(parseFloat(i[a].toString()).toFixed(r)):s.push(parseFloat(i[a].toString()))}catch(e){throw new Error("not a number")}return s.length===t.length&&s};class ia extends sa{constructor(e,t,r,s,i,n){super(e,t,r,s,i,n),this.setting=null,s&&s.codomain&&(this.setting=s,this.DVBCodomain=this.setting.codomain),this.CLASS_NAME="SuperMap.Feature.Theme.RankSymbol"}destroy(){this.setting=null,super.destroy()}initBaseParameter(){if(!this.setting)return!1;var e=this.setting;e.XOffset&&(this.XOffset=e.XOffset),e.YOffset&&(this.YOffset=e.YOffset),this.XOffset=e.XOffset?e.XOffset:0,this.YOffset=e.YOffset?e.YOffset:0,this.origonPoint=[],this.chartBox=[],this.dataViewBox=[],this.DVBParameter=e.dataViewBoxParameter?e.dataViewBoxParameter:[0,0,0,0],this.DVBOrigonPoint=[],this.DVBCenterPoint=[],this.origonPointOffset=[],this.resetLocation();var t=this.width,r=this.height,s=this.location;this.origonPoint=[s[0]-t/2,s[1]-r/2];var i=this.origonPoint;this.chartBox=[i[0],i[1]+r,i[0]+t,i[1]];var n=this.chartBox,a=this.DVBParameter;this.dataViewBox=[n[0]+a[0],n[1]-a[1],n[2]-a[2],n[3]+a[3]];var o=this.dataViewBox;return!(o[0]>=o[2]||o[1]<=o[3])&&(this.DVBOrigonPoint=[o[0],o[3]],this.DVBWidth=Math.abs(o[2]-o[0]),this.DVBHeight=Math.abs(o[1]-o[3]),this.DVBCenterPoint=[this.DVBOrigonPoint[0]+this.DVBWidth/2,this.DVBOrigonPoint[1]+this.DVBHeight/2],this.origonPointOffset=[this.DVBOrigonPoint[0]-i[0],this.DVBOrigonPoint[1]-i[1]],!0)}}class na extends ra{constructor(e,t,r,s,i){if(super(e,t),e.geometry&&e.geometry instanceof Y){this.dataBounds=e.geometry.getBounds(),this.nodesClipPixel=2,this.isHoverAble=!0,this.isMultiHover=!0,this.isClickAble=!0,this.highlightStyle=null,this.shapeOptions={},this.style=r||{},this.CLASS_NAME="SuperMap.Feature.Theme.Vector",this.style=r||{},s&&$.copyAttributesWithClip(this,s,["shapeOptions","dataBounds"]),i&&$.copyAttributesWithClip(this.shapeOptions,i);var n=e.geometry;this.lonlat=this.dataBounds.getCenterLonLat(),this.location=this.getLocalXY(this.lonlat),n instanceof ue?this.lineToTF(n):n instanceof le?this.lineToTF(n):n instanceof ae||(n instanceof ne?this.multiPointToTF(n):n instanceof ce?this.multiLineStringToTF(n):n instanceof de?this.multiPolygonToTF(n):n instanceof pe?this.polygonToTF(n):n instanceof ie||(n instanceof oe?this.pointToTF(n):n instanceof fe?this.rectangleToTF(n):n instanceof he&&this.geoTextToTF(n)))}}destroy(){this.style=null,this.dataBounds=null,this.nodesClipPixel=null,this.isHoverAble=null,this.isMultiHover=null,this.isClickAble=null,this.highlightStyle=null,this.shapeOptions=null,super.destroy()}lineToTF(e){for(var t=e.components,r=[],s=[],i=this.location,n=[],a=this.nodesClipPixel,o=0;o<t.length;o++){var l=t[o];if(s=[],r=this.getLocalXY(l),s[0]=r[0]-i[0],s[1]=r[1]-i[1],n.length>0){var h=n[n.length-1];if(Math.abs(h[0]-s[0])<=a&&Math.abs(h[1]-s[1])<=a)continue}n.push(s)}if(n.length<2)return null;var u=new Object;(u=$.copyAttributesWithClip(u,this.style,["pointList"])).pointList=n;var c=new Zn({style:u,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(c.highlightStyle=this.highlightStyle),c.refOriginalPosition=this.location,c.refDataID=this.data.id,c.isHoverByRefDataID=this.isMultiHover,this.shapeOptions&&$.copyAttributesWithClip(c,this.shapeOptions),this.shapes.push(c)}multiPointToTF(e){for(var t=e.components,r=[],s=[],i=this.location,n=[],a=this.nodesClipPixel,o=0;o<t.length;o++){var l=t[o];if(s=[],r=this.getLocalXY(l),s[0]=r[0]-i[0],s[1]=r[1]-i[1],n.length>0){var h=n[n.length-1];if(Math.abs(h[0]-s[0])<=a&&Math.abs(h[1]-s[1])<=a)continue}n.push(s);var u=new Object;u.r=6,(u=$.copyAttributesWithClip(u,this.style)).x=s[0],u.y=s[1];var c=new Wn({style:u,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(c.highlightStyle=this.highlightStyle),c.refOriginalPosition=i,c.refDataID=this.data.id,c.isHoverByRefDataID=this.isMultiHover,this.shapeOptions&&$.copyAttributesWithClip(c,this.shapeOptions),this.shapes.push(c)}}multiLineStringToTF(e){for(var t=e.components,r=0;r<t.length;r++){var s=t[r];this.lineToTF(s)}}multiPolygonToTF(e){for(var t=e.components,r=0;r<t.length;r++){var s=t[r];this.polygonToTF(s)}}pointToTF(e){var t=this.location,r=this.getLocalXY(e),s=new Object;s.r=6,(s=$.copyAttributesWithClip(s,this.style)).x=r[0]-t[0],s.y=r[1]-t[1];var i=new Wn({style:s,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(i.highlightStyle=this.highlightStyle),i.refOriginalPosition=t,i.refDataID=this.data.id,i.isHoverByRefDataID=this.isMultiHover,this.shapeOptions&&$.copyAttributesWithClip(i,this.shapeOptions),this.shapes.push(i)}polygonToTF(e){for(var t=e.components,r=[],s=[],i=this.location,n=[],a=[],o=[],l=this.nodesClipPixel,h=0;h<t.length;h++){var u=t[h].components;if(0===h){n=[];for(var c=0;c<u.length;c++){if(s=[],r=this.getLocalXY(u[c]),s[0]=r[0]-i[0],s[1]=r[1]-i[1],n.length>0){var d=n[n.length-1];if(Math.abs(d[0]-s[0])<=l&&Math.abs(d[1]-s[1])<=l)continue}n.push(s)}}else{a=[];for(var p=0;p<u.length;p++){if(s=[],r=this.getLocalXY(u[p]),s[0]=r[0]-i[0],s[1]=r[1]-i[1],a.length>0){var f=a[a.length-1];if(Math.abs(f[0]-s[0])<=l&&Math.abs(f[1]-s[1])<=l)continue}a.push(s)}}a.length<2||o.push(a)}if(!(n.length<2)){var m={};(m=$.copyAttributesWithClip(m,this.style,["pointList"])).pointList=n;var y=new Qn({style:m,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(y.highlightStyle=this.highlightStyle),y.refOriginalPosition=this.location,y.refDataID=this.data.id,y.isHoverByRefDataID=this.isMultiHover,o.length>0&&(y.holePolygonPointLists=o),this.shapeOptions&&$.copyAttributesWithClip(y,this.shapeOptions),this.shapes.push(y)}}rectangleToTF(e){var t=this.location,r=new re(e.x,e.y),s=this.layer.map.getResolution(),i=this.getLocalXY(r),n=new Object;n.r=6,(n=$.copyAttributesWithClip(n,this.style)).x=i[0]-t[0],n.y=i[1]-t[1]-2*e.width/s,n.width=e.width/s,n.height=e.height/s;var a=new $n({style:n,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(a.highlightStyle=this.highlightStyle),a.refOriginalPosition=t,a.refDataID=this.data.id,a.isHoverByRefDataID=this.isMultiHover,this.shapeOptions&&$.copyAttributesWithClip(a,this.shapeOptions),this.shapes.push(a)}geoTextToTF(e){var t=this.location,r=this.getLocalXY(e),s=new Object;s.r=6,(s=$.copyAttributesWithClip(s,this.style,["x","y","text"])).x=r[0]-t[0],s.y=r[1]-t[1],s.text=e.text;var i=new Yn({style:s,clickable:this.isClickAble,hoverable:this.isHoverAble});this.highlightStyle&&(i.highlightStyle=this.highlightStyle),i.refOriginalPosition=t,i.refDataID=this.data.id,i.isHoverByRefDataID=this.isMultiHover,this.shapeOptions&&$.copyAttributesWithClip(i,this.shapeOptions),this.shapes.push(i)}updateAndAddShapes(){var e=this.getLocalXY(this.lonlat);this.location=e;for(var t=this.layer.renderer,r=0,s=this.shapes.length;r<s;r++){var i=this.shapes[r];i.refOriginalPosition=e,t.addShape(i)}}getShapesCount(){return this.shapes.length}getLocalXY(e){return this.layer.getLocalXY(e)}}class aa extends(z(jn,qn)){constructor(e){super(e),e=e||{},this.id=null,this.type="group",this.clipShape=null,this._children=[],this._storage=null,this.__dirty=!0,this.ignore=!1,$.extend(this,e),this.id=this.id||$.createUniqueID("smShapeGroup_"),this.CLASS_NAME="SuperMap.LevelRenderer.Group"}destroy(){this.id=null,this.type=null,this.clipShape=null,this._children=null,this._storage=null,this.__dirty=null,this.ignore=null,super.destroy()}children(){return this._children.slice()}childAt(e){return this._children[e]}addChild(e){e!=this&&e.parent!=this&&(e.parent&&e.parent.removeChild(e),this._children.push(e),e.parent=this,this._storage&&this._storage!==e._storage&&(this._storage.addToMap(e),e instanceof aa&&e.addChildrenToStorage(this._storage)))}removeChild(e){var t=$.indexOf(this._children,e);this._children.splice(t,1),e.parent=null,this._storage&&(this._storage.delFromMap(e.id),e instanceof aa&&e.delChildrenFromStorage(this._storage))}eachChild(e,t){for(var r=!!t,s=0;s<this._children.length;s++){var i=this._children[s];r?e.call(t,i):e(i)}}traverse(e,t){for(var r=!!t,s=0;s<this._children.length;s++){var i=this._children[s];r?e.call(t,i):e(i),"group"===i.type&&i.traverse(e,t)}}addChildrenToStorage(e){for(var t=0;t<this._children.length;t++){var r=this._children[t];e.addToMap(r),"group"===r.type&&r.addChildrenToStorage(e)}}delChildrenFromStorage(e){for(var t=0;t<this._children.length;t++){var r=this._children[t];e.delFromMap(r.id),"group"===r.type&&r.delChildrenFromStorage(e)}}modSelf(){this.__dirty=!0}}class oa{constructor(){this._elements={},this._hoverElements=[],this._roots=[],this._shapeList=[],this._shapeListOffset=0,this.CLASS_NAME="SuperMap.LevelRenderer.Storage"}destroy(){this.dispose(),this._shapeList=null,this._shapeListOffset=null}iterShape(e,t){if(!t){t={hover:!1,normal:"down",update:!1}}if(t.hover)for(var r=0,s=this._hoverElements.length;r<s;r++){var i=this._hoverElements[r];if(i.updateTransform(),e(i))return this}switch(t.update&&this.updateShapeList(),t.normal){case"down":{let t=this._shapeList.length;for(;t--;)if(e(this._shapeList[t]))return this;break}default:for(let t=0,r=this._shapeList.length;t<r;t++)if(e(this._shapeList[t]))return this}return this}getHoverShapes(e){var t=[],r=this._hoverElements.length;for(let e=0;e<r;e++){t.push(this._hoverElements[e]);var s=this._hoverElements[e].hoverConnect;if(s)for(var i,n=0,a=(s=s instanceof Array?s:[s]).length;n<a;n++)(i=s[n].id?s[n]:this.get(s[n]))&&t.push(i)}if(t.sort(oa.shapeCompareFunc),e)for(let e=0,r=t.length;e<r;e++)t[e].updateTransform();return t}getShapeList(e){return e&&this.updateShapeList(),this._shapeList}updateShapeList(){this._shapeListOffset=0;var e=this._roots.length;for(let t=0;t<e;t++){let e=this._roots[t];this._updateAndAddShape(e)}this._shapeList.length=this._shapeListOffset;var t=this._shapeList.length;for(let e=0;e<t;e++)this._shapeList[e].__renderidx=e;this._shapeList.sort(oa.shapeCompareFunc)}_updateAndAddShape(e,t){if(!e.ignore)if(e.updateTransform(),"group"==e.type){e.clipShape&&(e.clipShape.parent=e,e.clipShape.updateTransform(),t?(t=t.slice()).push(e.clipShape):t=[e.clipShape]);for(var r=0;r<e._children.length;r++){var s=e._children[r];s.__dirty=e.__dirty||s.__dirty,this._updateAndAddShape(s,t)}e.__dirty=!1}else e.__clipShapes=t,this._shapeList[this._shapeListOffset++]=e}mod(e,t){var r=this._elements[e];if(r&&(r.modSelf(),t))if(t.parent||t._storage||t.__startClip){var s={};for(var i in t)"parent"!=i&&"_storage"!=i&&"__startClip"!=i&&t.hasOwnProperty(i)&&(s[i]=t[i]);(new bn).merge(r,s,!0)}else(new bn).merge(r,t,!0);return this}drift(e,t,r){var s=this._elements[e];return s&&(s.needTransform=!0,"horizontal"===s.draggable?r=0:"vertical"===s.draggable&&(t=0),(!s.ondrift||s.ondrift&&!s.ondrift(t,r))&&s.drift(t,r)),this}addHover(e){return e.updateNeedTransform(),this._hoverElements.push(e),this}delHover(){return this._hoverElements=[],this}hasHoverShape(){return this._hoverElements.length>0}addRoot(e){e instanceof aa&&e.addChildrenToStorage(this),this.addToMap(e),this._roots.push(e)}delRoot(e){if(void 0===e){for(var t=0;t<this._roots.length;t++){var r=this._roots[t];r instanceof aa&&r.delChildrenFromStorage(this)}return this._elements={},this._hoverElements=[],void(this._roots=[])}if(e instanceof Array){var s=e.length;for(let t=0;t<s;t++)this.delRoot(e[t])}else{var i;i="string"==typeof e?this._elements[e]:e;var n=(new bn).indexOf(this._roots,i);n>=0&&(this.delFromMap(i.id),this._roots.splice(n,1),i instanceof aa&&i.delChildrenFromStorage(this))}}addToMap(e){return e instanceof aa&&(e._storage=this),e.modSelf(),this._elements[e.id]=e,this}get(e){return this._elements[e]}delFromMap(e){var t=this._elements[e];return t&&(delete this._elements[e],t instanceof aa&&(t._storage=null)),this}dispose(){this._elements=null,this._roots=null,this._hoverElements=null}static shapeCompareFunc(e,t){return e.zlevel==t.zlevel?e.z==t.z?e.__renderidx-t.__renderidx:e.z-t.z:e.zlevel-t.zlevel}}class la{constructor(e,t){this.root=e,this.storage=t,this._domRoot=null,this._layers={},this._zlevelList=[],this._layerConfig={},this._bgDom=null,this.shapeToImage=null,la.devicePixelRatio=Math.max(window.devicePixelRatio||1,1),this.CLASS_NAME="SuperMap.LevelRenderer.Painter",this.root.innerHTML="",this._width=this._getWidth(),this._height=this._getHeight();var r=document.createElement("div");this._domRoot=r,r.style.position="relative",r.style.overflow="hidden",r.style.width=this._width+"px",r.style.height=this._height+"px",this.root.appendChild(r),this.shapeToImage=this._createShapeToImageProcessor(),this._bgDom=la.createDom($.createUniqueID("SuperMap.Theme_background_"),"div",this),r.appendChild(this._bgDom),this._bgDom.onselectstart=n,this._bgDom.style["-webkit-user-select"]="none",this._bgDom.style["user-select"]="none",this._bgDom.style["-webkit-touch-callout"]="none";var s=new ha($.createUniqueID("_highLightLayer_"),this);this._layers.hover=s,r.appendChild(s.dom),s.initContext(),s.dom.onselectstart=n,s.dom.style["-webkit-user-select"]="none",s.dom.style["user-select"]="none",s.dom.style["-webkit-touch-callout"]="none";var i=this;function n(){return!1}this.updatePainter=function(e,t){i.refreshShapes(e,t)}}destroy(){this.dispose(),this._zlevelList=null,this._layerConfig=null,this._bgDom=null,this.shapeToImage=null}render(e){return this.refresh(e,!0),this}refresh(e,t){var r=this.storage.getShapeList(!0);return this._paintList(r,t),"function"==typeof e&&e(),this}_paintList(e,t){var r,s,i;for(var n in void 0===t&&(t=!1),this._updateLayerStatus(e),this._layers)"hover"!==n&&(this._layers[n].unusedCount++,this._layers[n].updateTransform());for(var a=[],o=0,l=e.length;o<l;o++){var h=e[o];if(s!==h.zlevel&&(r&&r.needTransform&&i.restore(),i=(r=this.getLayer(h.zlevel)).ctx,s=h.zlevel,r.unusedCount=0,(r.dirty||t)&&r.clear(),r.needTransform&&(i.save(),r.setTransform(i))),i&&h.__startClip){var u=h.__startClip;if(i.save(),u.needTransform){let e=u.transform;Jn.Util_matrix.invert(a,e),i.transform(e[0],e[1],e[2],e[3],e[4],e[5])}if(i.beginPath(),u.buildPath(i,u.style),i.clip(),u.needTransform){let e=a;i.transform(e[0],e[1],e[2],e[3],e[4],e[5])}}if((r&&r.dirty||t)&&!h.invisible&&(!h.onbrush||h.onbrush&&!h.onbrush(i,!1)))if(zn.catchBrushException)try{h.brush(i,!1,this.updatePainter)}catch(e){Jn.Util_log(e,"brush error of "+h.type,h)}else h.brush(i,!1,this.updatePainter);i&&h.__stopClip&&i.restore(),h.__dirty=!1}i&&r&&r.needTransform&&i.restore();for(let e in this._layers)if("hover"!==e){var c=this._layers[e];c.dirty=!1,1==c.unusedCount&&c.clear()}}getLayer(e){var t=this._layers[e];if(!t){var r=this._zlevelList.length,s=null,i=-1;if(r>0&&e>this._zlevelList[0]){for(i=0;i<r-1&&!(this._zlevelList[i]<e&&this._zlevelList[i+1]>e);i++);s=this._layers[this._zlevelList[i]]}this._zlevelList.splice(i+1,0,e),t=new ha($.createUniqueID("_levelLayer_"+e),this);var n=s?s.dom:this._bgDom;n.nextSibling?n.parentNode.insertBefore(t.dom,n.nextSibling):n.parentNode.appendChild(t.dom),t.initContext(),this._layers[e]=t,this._layerConfig[e]&&(new bn).merge(t,this._layerConfig[e],!0),t.updateTransform()}return t}getLayers(){return this._layers}_updateLayerStatus(e){var t=this._layers,r={};for(let e in t)"hover"!==e&&(r[e]=t[e].elCount,t[e].elCount=0);for(let r=0;r<e.length;r++){var s=e[r],i=t[s.zlevel];if(i){if(i.elCount++,i.dirty)continue;i.dirty=s.__dirty}}for(let e in t)"hover"!==e&&r[e]!==t[e].elCount&&(t[e].dirty=!0)}refreshShapes(e,t){for(var r=0,s=e.length;r<s;r++){var i=e[r];this.storage.mod(i.id)}return this.refresh(t),this}clear(){for(var e in this._layers)"hover"!=e&&this._layers[e].clear();return this}modLayer(e,t){if(t){this._layerConfig[e]?(new bn).merge(this._layerConfig[e],t,!0):this._layerConfig[e]=t;var r=this._layers[e];r&&(new bn).merge(r,this._layerConfig[e],!0)}}delLayer(e){var t=this._layers[e];t&&(this.modLayer(e,{position:t.position,rotation:t.rotation,scale:t.scale}),t.dom.parentNode.removeChild(t.dom),delete this._layers[e],this._zlevelList.splice((new bn).indexOf(this._zlevelList,e),1))}refreshHover(){this.clearHover();for(var e=this.storage.getHoverShapes(!0),t=0,r=e.length;t<r;t++)this._brushHover(e[t]);return this.storage.delHover(),this}clearHover(){var e=this._layers.hover;return e&&e.clear(),this}resize(){var e=this._domRoot;e.style.display="none";var t=this._getWidth(),r=this._getHeight();if(e.style.display="",this._width!=t||r!=this._height){for(var s in this._width=t,this._height=r,e.style.width=t+"px",e.style.height=r+"px",this._layers)this._layers[s].resize(t,r);this.refresh(null,!0)}return this}clearLayer(e){var t=this._layers[e];t&&t.clear()}dispose(){this.root.innerHTML="",this.root=null,this.storage=null,this._domRoot=null,this._layers=null}getDomHover(){return this._layers.hover.dom}toDataURL(e,t,r){var s=la.createDom($.createUniqueID("SuperMap.Theme.image_"),"canvas",this);this._bgDom.appendChild(s);var i=s.getContext("2d");1!=la.devicePixelRatio&&i.scale(la.devicePixelRatio,la.devicePixelRatio),i.fillStyle=t||"#fff",i.rect(0,0,this._width*la.devicePixelRatio,this._height*la.devicePixelRatio),i.fill();var n=this;this.storage.iterShape(function(e){if(!e.invisible&&(!e.onbrush||e.onbrush&&!e.onbrush(i,!1)))if(zn.catchBrushException)try{e.brush(i,!1,n.updatePainter)}catch(t){Jn.Util_log(t,"brush error of "+e.type,e)}else e.brush(i,!1,n.updatePainter)},{normal:"up",update:!0});var a=s.toDataURL(e,r);return i=null,this._bgDom.removeChild(s),a}getWidth(){return this._width}getHeight(){return this._height}_getWidth(){var e=this.root,t=e.currentStyle||document.defaultView.getComputedStyle(e);return((e.clientWidth||parseInt(t.width,10))-parseInt(t.paddingLeft,10)-parseInt(t.paddingRight,10)).toFixed(0)-0}_getHeight(){var e=this.root,t=e.currentStyle||document.defaultView.getComputedStyle(e);return((e.clientHeight||parseInt(t.height,10))-parseInt(t.paddingTop,10)-parseInt(t.paddingBottom,10)).toFixed(0)-0}_brushHover(e){var t=this._layers.hover.ctx;if(!e.onbrush||e.onbrush&&!e.onbrush(t,!0)){var r=this.getLayer(e.zlevel);if(r.needTransform&&(t.save(),r.setTransform(t)),zn.catchBrushException)try{e.brush(t,!0,this.updatePainter)}catch(t){Jn.Util_log(t,"hoverBrush error of "+e.type,e)}else e.brush(t,!0,this.updatePainter);r.needTransform&&t.restore()}}_shapeToImage(e,t,r,s,i){var n=document.createElement("canvas"),a=n.getContext("2d"),o=i||window.devicePixelRatio||1;n.style.width=r+"px",n.style.height=s+"px",n.setAttribute("width",r*o),n.setAttribute("height",s*o),a.clearRect(0,0,r*o,s*o);var l={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[0,0,0],t.rotation=0,t.scale=[1,1],t&&t.brush(a,!1);var h=new Kn({id:e,style:{x:0,y:0,image:n}});return null!=l.position&&(h.position=t.position=l.position),null!=l.rotation&&(h.rotation=t.rotation=l.rotation),null!=l.scale&&(h.scale=t.scale=l.scale),h}_createShapeToImageProcessor(){var e=this;return function(t,r,s,i){return e._shapeToImage(t,r,s,i,la.devicePixelRatio)}}updateHoverLayer(e){if(!(e instanceof Array))return this;this.clearHover(),this.storage.delHover();for(var t=0;t<e.length;t++)this.storage.addHover(e[t]),this._brushHover(e[t])}static createDom(e,t,r){var s=document.createElement(t),i=r._width,n=r._height;return s.style.position="absolute",s.style.left=0,s.style.top=0,s.style.width=i+"px",s.style.height=n+"px",s.setAttribute("width",i*la.devicePixelRatio),s.setAttribute("height",n*la.devicePixelRatio),s.setAttribute("id",e),s}}class ha extends qn{constructor(e,t){super(e,t),this.dom=null,this.domBack=null,this.ctxBack=null,this.painter=t,this.unusedCount=0,this.config=null,this.dirty=!0,this.elCount=0,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.zoomable=!1,this.panable=!1,this.maxZoom=1/0,this.minZoom=0,this.ctx=null,this.dom=la.createDom($.createUniqueID("SuperMap.Theme"+e),"canvas",t),this.dom.onselectstart=function(){return!1},this.dom.style["-webkit-user-select"]="none",this.dom.style["user-select"]="none",this.dom.style["-webkit-touch-callout"]="none",this.CLASS_NAME="SuperMap.LevelRenderer.Painter.Layer"}destroy(){this.dom=null,this.domBack=null,this.ctxBack=null,this.painter=null,this.unusedCount=null,this.config=null,this.dirty=null,this.elCount=null,this.clearColor=null,this.motionBlur=null,this.lastFrameAlpha=null,this.zoomable=null,this.panable=null,this.maxZoom=null,this.minZoom=null,this.ctx=null,qn.destroy.apply(this,arguments)}initContext(){this.ctx=this.dom.getContext("2d"),1!=la.devicePixelRatio&&this.ctx.scale(la.devicePixelRatio,la.devicePixelRatio)}createBackBuffer(){this.domBack=la.createDom($.createUniqueID("SuperMap.Theme.back-"+this.id),"canvas",this.painter),this.ctxBack=this.domBack.getContext("2d"),1!=la.devicePixelRatio&&this.ctxBack.scale(la.devicePixelRatio,la.devicePixelRatio)}resize(e,t){this.dom.style.width=e+"px",this.dom.style.height=t+"px",this.dom.setAttribute("width",e*la.devicePixelRatio),this.dom.setAttribute("height",t*la.devicePixelRatio),1!=la.devicePixelRatio&&this.ctx.scale(la.devicePixelRatio,la.devicePixelRatio),this.domBack&&(this.domBack.setAttribute("width",e*la.devicePixelRatio),this.domBack.setAttribute("height",t*la.devicePixelRatio),1!=la.devicePixelRatio&&this.ctxBack.scale(la.devicePixelRatio,la.devicePixelRatio))}clear(){var e=this.dom,t=this.ctx,r=e.width,s=e.height,i=this.clearColor,n=this.motionBlur,a=this.lastFrameAlpha;if(n&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,r/la.devicePixelRatio,s/la.devicePixelRatio)),i?(t.save(),t.fillStyle=this.config.clearColor,t.fillRect(0,0,r/la.devicePixelRatio,s/la.devicePixelRatio),t.restore()):t.clearRect(0,0,r/la.devicePixelRatio,s/la.devicePixelRatio),n){var o=this.domBack;t.save(),t.globalAlpha=a,t.drawImage(o,0,0,r/la.devicePixelRatio,s/la.devicePixelRatio),t.restore()}}}class ua extends jn{constructor(e,t,r){var s,i;super(e,t,r),this.root=e,this.storage=t,this.painter=r,this._lastX=0,this._lastY=0,this._mouseX=0,this._mouseY=0,this._findHover=null,this._domHover=null,this._findHover=(s=function(e,t,r){var s=this;if(s._draggingTarget&&s._draggingTarget.id==e.id||e.isSilent())return!1;var i=s._event;if(e.isCover(t,r)){if(e.hoverable)if(e.isHoverByRefDataID&&!0===e.isHoverByRefDataID){if(e.refDataID){var n=e.refDataID,a=null;e.refDataHoverGroup&&(a=e.refDataHoverGroup);for(var o=s.storage._shapeList,l=0,h=o.length;l<h;l++){var u=o[l];u.refDataID&&n===u.refDataID&&(a?u.refDataHoverGroup&&a===u.refDataHoverGroup&&s.storage.addHover(u):s.storage.addHover(u))}}}else s.storage.addHover(e);for(var c=e.parent;c;){if(c.clipShape&&!c.clipShape.isCover(s._mouseX,s._mouseY))return!1;c=c.parent}return s._lastHover!=e&&(s._processOutShape(i),s._processDragLeave(i),s._lastHover=e,s._processDragEnter(i)),s._processOverShape(i),s._processDragOver(i),s._hasfound=1,!0}return!1},i=this,function(e,t,r){return s.call(i,e,t,r)}),this._domHover=r.getDomHover(),this.CLASS_NAME="SuperMap.LevelRenderer.Handler";var n={resize:function(e){e=e||window.event,this._lastHover=null,this._isMouseDown=0,this.dispatch(zn.EVENT.RESIZE,e)},click:function(e){e=this._zrenderEventFixed(e);var t=this._lastHover;(t&&t.clickable||!t)&&this._clickThreshold<10&&this._dispatchAgency(t,zn.EVENT.CLICK,e),this._mousemoveHandler(e)},dblclick:function(e){e=e||window.event,e=this._zrenderEventFixed(e);var t=this._lastHover;(t&&t.clickable||!t)&&this._clickThreshold<5&&this._dispatchAgency(t,zn.EVENT.DBLCLICK,e),this._mousemoveHandler(e)},mousewheel:function(e){var t=((e=this._zrenderEventFixed(e)).wheelDelta||-e.detail)>0?1.1:1/1.1,r=this.painter.getLayers(),s=!1;for(var i in r)if("hover"!==i){var n=r[i],a=n.position;if(n.zoomable){n.__zoom=n.__zoom||1;var o=n.__zoom;o*=t,t=(o=Math.max(Math.min(n.maxZoom,o),n.minZoom))/n.__zoom,n.__zoom=o,a[0]-=(this._mouseX-a[0])*(t-1),a[1]-=(this._mouseY-a[1])*(t-1),n.scale[0]*=t,n.scale[1]*=t,n.dirty=!0,s=!0}}s&&this.painter.refresh(),this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEWHEEL,e),this._mousemoveHandler(e)},mousemove:function(e){this._clickThreshold++,e=this._zrenderEventFixed(e),this._lastX=this._mouseX,this._lastY=this._mouseY,this._mouseX=Jn.Util_event.getX(e),this._mouseY=Jn.Util_event.getY(e);var t=this._mouseX-this._lastX,r=this._mouseY-this._lastY;this._processDragStart(e),this._hasfound=0,this._event=e,this._iterateAndFindHover(),this._hasfound||((!this._draggingTarget||this._lastHover&&this._lastHover!=this._draggingTarget)&&(this._processOutShape(e),this._processDragLeave(e)),this._lastHover=null,this.storage.delHover(),this.painter.clearHover());var s="";if(this._draggingTarget)this.storage.drift(this._draggingTarget.id,t,r),this._draggingTarget.modSelf(),this.storage.addHover(this._draggingTarget);else if(this._isMouseDown){var i=this.painter.getLayers(),n=!1;for(var a in i)if("hover"!==a){var o=i[a];o.panable&&(s="move",o.position[0]+=t,o.position[1]+=r,n=!0,o.dirty=!0)}n&&this.painter.refresh()}this._draggingTarget||this._hasfound&&this._lastHover.draggable?s="move":this._hasfound&&this._lastHover.clickable&&(s="pointer"),this.root.style.cursor=s,this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEMOVE,e),(this._draggingTarget||this._hasfound||this.storage.hasHoverShape())&&this.painter.refreshHover()},mouseout:function(e){var t=(e=this._zrenderEventFixed(e)).toElement||e.relatedTarget;if(t!=this.root)for(;t&&9!=t.nodeType;){if(t==this.root)return void this._mousemoveHandler(e);t=t.parentNode}e.zrenderX=this._lastX,e.zrenderY=this._lastY,this.root.style.cursor="",this._isMouseDown=0,this._processOutShape(e),this._processDrop(e),this._processDragEnd(e),this.painter.refreshHover(),this.dispatch(zn.EVENT.GLOBALOUT,e)},mousedown:function(e){if(this._clickThreshold=0,2==this._lastDownButton)return this._lastDownButton=e.button,void(this._mouseDownTarget=null);this._lastMouseDownMoment=new Date,e=this._zrenderEventFixed(e),this._isMouseDown=1,this._mouseDownTarget=this._lastHover,this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEDOWN,e),this._lastDownButton=e.button},mouseup:function(e){e=this._zrenderEventFixed(e),this.root.style.cursor="",this._isMouseDown=0,this._mouseDownTarget=null,this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEUP,e),this._processDrop(e),this._processDragEnd(e)},touchstart:function(e){e=this._zrenderEventFixed(e,!0),this._lastTouchMoment=new Date,this._mobildFindFixed(e),this._mousedownHandler(e)},touchmove:function(e){e=this._zrenderEventFixed(e,!0),this._mousemoveHandler(e),this._isDragging&&Jn.Util_event.stop(e)},touchend:function(e){e=this._zrenderEventFixed(e,!0),this._mouseupHandler(e);var t=new Date;t-this._lastTouchMoment<zn.EVENT.touchClickDelay&&(this._mobildFindFixed(e),this._clickHandler(e),t-this._lastClickMoment<zn.EVENT.touchClickDelay/2&&(this._dblclickHandler(e),this._lastHover&&this._lastHover.clickable&&Jn.Util_event.stop(e)),this._lastClickMoment=t),this.painter.clearHover()}};function a(e,t){return function(r){return e.call(t,r)}}!function(e){var t=["resize","click","dblclick","mousewheel","mousemove","mouseout","mouseup","mousedown","touchstart","touchend","touchmove"],r=t.length;for(;r--;){var s=t[r];e["_"+s+"Handler"]=a(n[s],e)}}(this),window.addEventListener?(window.addEventListener("resize",this._resizeHandler),Jn.Util_env.os.tablet||Jn.Util_env.os.phone?(e.addEventListener("touchstart",this._touchstartHandler),e.addEventListener("touchmove",this._touchmoveHandler),e.addEventListener("touchend",this._touchendHandler)):(e.addEventListener("click",this._clickHandler),e.addEventListener("dblclick",this._dblclickHandler),e.addEventListener("mousewheel",this._mousewheelHandler),e.addEventListener("mousemove",this._mousemoveHandler),e.addEventListener("mousedown",this._mousedownHandler),e.addEventListener("mouseup",this._mouseupHandler)),e.addEventListener("DOMMouseScroll",this._mousewheelHandler),e.addEventListener("mouseout",this._mouseoutHandler)):(window.attachEvent("onresize",this._resizeHandler),e.attachEvent("onclick",this._clickHandler),e.ondblclick=this._dblclickHandler,e.attachEvent("onmousewheel",this._mousewheelHandler),e.attachEvent("onmousemove",this._mousemoveHandler),e.attachEvent("onmouseout",this._mouseoutHandler),e.attachEvent("onmousedown",this._mousedownHandler),e.attachEvent("onmouseup",this._mouseupHandler))}destroy(){this.dispose(),this._lastX=null,this._lastY=null,this._mouseX=null,this._mouseY=null,this._findHover=null,jn.prototype.destroy.apply(this,arguments)}on(e,t){return this.bind(e,t),this}un(e,t){return this.unbind(e,t),this}trigger(e,t){var r=zn.EVENT;switch(e){case r.RESIZE:case r.CLICK:case r.DBLCLICK:case r.MOUSEWHEEL:case r.MOUSEMOVE:case r.MOUSEDOWN:case r.MOUSEUP:case r.MOUSEOUT:this["_"+e+"Handler"](t)}}dispose(){var e=this.root;window.removeEventListener?(window.removeEventListener("resize",this._resizeHandler),Jn.Util_env.os.tablet||Jn.Util_env.os.phone?(e.removeEventListener("touchstart",this._touchstartHandler),e.removeEventListener("touchmove",this._touchmoveHandler),e.removeEventListener("touchend",this._touchendHandler)):(e.removeEventListener("click",this._clickHandler),e.removeEventListener("dblclick",this._dblclickHandler),e.removeEventListener("mousewheel",this._mousewheelHandler),e.removeEventListener("mousemove",this._mousemoveHandler),e.removeEventListener("mousedown",this._mousedownHandler),e.removeEventListener("mouseup",this._mouseupHandler)),e.removeEventListener("DOMMouseScroll",this._mousewheelHandler),e.removeEventListener("mouseout",this._mouseoutHandler)):(window.detachEvent("onresize",this._resizeHandler),e.detachEvent("onclick",this._clickHandler),e.detachEvent("dblclick",this._dblclickHandler),e.detachEvent("onmousewheel",this._mousewheelHandler),e.detachEvent("onmousemove",this._mousemoveHandler),e.detachEvent("onmouseout",this._mouseoutHandler),e.detachEvent("onmousedown",this._mousedownHandler),e.detachEvent("onmouseup",this._mouseupHandler)),this.root=null,this._domHover=null,this.storage=null,this.painter=null,this.un()}_processDragStart(e){var t=this._lastHover;if(this._isMouseDown&&t&&t.draggable&&!this._draggingTarget&&this._mouseDownTarget==t){if(t.dragEnableTime&&new Date-this._lastMouseDownMoment<t.dragEnableTime)return;var r=t;this._draggingTarget=r,this._isDragging=1,r.invisible=!0,this.storage.mod(r.id),this._dispatchAgency(r,zn.EVENT.DRAGSTART,e),this.painter.refresh()}}_processDragEnter(e){this._draggingTarget&&this._dispatchAgency(this._lastHover,zn.EVENT.DRAGENTER,e,this._draggingTarget)}_processDragOver(e){this._draggingTarget&&this._dispatchAgency(this._lastHover,zn.EVENT.DRAGOVER,e,this._draggingTarget)}_processDragLeave(e){this._draggingTarget&&this._dispatchAgency(this._lastHover,zn.EVENT.DRAGLEAVE,e,this._draggingTarget)}_processDrop(e){this._draggingTarget&&(this._draggingTarget.invisible=!1,this.storage.mod(this._draggingTarget.id),this.painter.refresh(),this._dispatchAgency(this._lastHover,zn.EVENT.DROP,e,this._draggingTarget))}_processDragEnd(e){this._draggingTarget&&(this._dispatchAgency(this._draggingTarget,zn.EVENT.DRAGEND,e),this._lastHover=null),this._isDragging=0,this._draggingTarget=null}_processOverShape(e){this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEOVER,e)}_processOutShape(e){this._dispatchAgency(this._lastHover,zn.EVENT.MOUSEOUT,e)}_dispatchAgency(e,t,r,s){var i="on"+t,n={type:t,event:r,target:e,cancelBubble:!1},a=e;for(s&&(n.dragged=s);a&&(a[i]&&(n.cancelBubble=a[i](n)),a.dispatch(t,n),a=a.parent,!n.cancelBubble););e?n.cancelBubble||this.dispatch(t,n):s||this.dispatch(t,{type:t,event:r})}_iterateAndFindHover(){for(var e,t=Jn.Util_matrix.create(),r=this.storage.getShapeList(),s=[0,0],i=r.length-1;i>=0;i--){var n=r[i];if(void 0!==n.zlevel&&(e=this.painter.getLayer(n.zlevel,e),s[0]=this._mouseX,s[1]=this._mouseY,e.needTransform&&(Jn.Util_matrix.invert(t,e.transform),Jn.Util_vector.applyTransform(s,s,t))),this._findHover(n,s[0],s[1]))break}}_mobildFindFixed(e){var t=[{x:10},{x:-20},{x:10,y:10},{y:-20}];this._lastHover=null,this._mouseX=e.zrenderX,this._mouseY=e.zrenderY,this._event=e,this._iterateAndFindHover();for(var r=0;!this._lastHover&&r<t.length;r++){var s=t[r];s.x&&(this._mouseX+=s.x),s.y&&(this._mouseX+=s.y),this._iterateAndFindHover()}this._lastHover&&(e.zrenderX=this._mouseX,e.zrenderY=this._mouseY)}_zrenderEventFixed(e,t){if(e.zrenderFixed)return e;if(t){var r="touchend"!=e.type?e.targetTouches[0]:e.changedTouches[0];if(r){var s=this.root.getBoundingClientRect();e.zrenderX=r.clientX-s.left,e.zrenderY=r.clientY-s.top}}else{var i=(e=e||window.event).toElement||e.relatedTarget||e.srcElement||e.target;i&&i!=this._domHover&&(e.zrenderX=(void 0!==e.offsetX?e.offsetX:e.layerX)+i.offsetLeft,e.zrenderY=(void 0!==e.offsetY?e.offsetY:e.layerY)+i.offsetTop)}return e.zrenderFixed=1,e}getLastHoverOne(){return this._lastHover?this._lastHover:null}}class ca{constructor(){this.CLASS_NAME="SuperMap.LevelRenderer.Animation.easing"}destroy(){}Linear(e){return e}QuadraticIn(e){return e*e}QuadraticOut(e){return e*(2-e)}QuadraticInOut(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}CubicIn(e){return e*e*e}CubicOut(e){return--e*e*e+1}CubicInOut(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}QuarticIn(e){return e*e*e*e}QuarticOut(e){return 1- --e*e*e*e}QuarticInOut(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}QuinticIn(e){return e*e*e*e*e}QuinticOut(e){return--e*e*e*e*e+1}QuinticInOut(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}SinusoidalIn(e){return 1-Math.cos(e*Math.PI/2)}SinusoidalOut(e){return Math.sin(e*Math.PI/2)}SinusoidalInOut(e){return.5*(1-Math.cos(Math.PI*e))}ExponentialIn(e){return 0===e?0:Math.pow(1024,e-1)}ExponentialOut(e){return 1===e?1:1-Math.pow(2,-10*e)}ExponentialInOut(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}CircularIn(e){return 1-Math.sqrt(1-e*e)}CircularOut(e){return Math.sqrt(1- --e*e)}CircularInOut(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}ElasticIn(e){var t,r=.1;return 0===e?0:1===e?1:(r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4))}ElasticOut(e){var t,r=.1;return 0===e?0:1===e?1:(r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/.4)+1)}ElasticInOut(e){var t,r=.1;return 0===e?0:1===e?1:(r<1?(r=1,t=.1):t=.4*Math.asin(1/r)/(2*Math.PI),(e*=2)<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4)*.5+1)}BackIn(e){var t=1.70158;return e*e*((t+1)*e-t)}BackOut(e){var t=1.70158;return--e*e*((t+1)*e+t)+1}BackInOut(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}BounceIn(e){return 1-this.BounceOut(1-e)}BounceOut(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}BounceInOut(e){return e<.5?.5*this.BounceIn(2*e):.5*this.BounceOut(2*e-1)+.5}}class da{constructor(e){this._targetPool=e.target||{},this._targetPool instanceof Array||(this._targetPool=[this._targetPool]),this._life=e.life||1e3,this._delay=e.delay||0,this._startTime=(new Date).getTime()+this._delay,this._endTime=this._startTime+1e3*this._life,this.loop=void 0!==e.loop&&e.loop,this.gap=e.gap||0,this.easing=e.easing||"Linear",this.onframe=e.onframe,this.ondestroy=e.ondestroy,this.onrestart=e.onrestart,this.CLASS_NAME="SuperMap.LevelRenderer.Animation.Clip"}destroy(){}step(e){var t=new ca,r=(e-this._startTime)/this._life;if(!(r<0)){r=Math.min(r,1);var s="string"==typeof this.easing?t[this.easing]:this.easing,i="function"==typeof s?s(r):r;return this.fire("frame",i),1==r?this.loop?(this.restart(),"restart"):(this._needsRemove=!0,"destroy"):null}}restart(){var e=((new Date).getTime()-this._startTime)%this._life;this._startTime=(new Date).getTime()-e+this.gap}fire(e,t){for(var r=0,s=this._targetPool.length;r<s;r++)this["on"+e]&&this["on"+e](this._targetPool[r],t)}}class pa extends jn{constructor(e){super(e),e=e||{},this.stage={},this.onframe=function(){},this._clips=[],this._running=!1,this._time=0,$.extend(this,e),this.CLASS_NAME="SuperMap.LevelRenderer.Animation"}add(e){this._clips.push(e)}remove(e){var t=(new bn).indexOf(this._clips,e);t>=0&&this._clips.splice(t,1)}_update(){var e=(new Date).getTime(),t=e-this._time,r=this._clips,s=r.length,i=[],n=[];for(let t=0;t<s;t++){var a=r[t],o=a.step(e);o&&(i.push(o),n.push(a))}this.stage.update&&this.stage.update();for(let e=0;e<s;)r[e]._needsRemove?(r[e]=r[s-1],r.pop(),s--):e++;s=i.length;for(let e=0;e<s;e++)n[e].fire(i[e]);this._time=e,this.onframe(t),this.dispatch("frame",t)}start(){var e=window.requestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){setTimeout(e,16)},t=this;this._running=!0,this._time=(new Date).getTime(),e(function r(){t._running&&(t._update(),e(r))})}stop(){this._running=!1}clear(){this._clips=[]}animate(e,t){var r=new fa(e,(t=t||{}).loop,t.getter,t.setter);return r.animation=this,r}static _interpolateNumber(e,t,r){return(t-e)*r+e}static _interpolateArray(e,t,r,s,i){var n=e.length;if(1==i)for(let i=0;i<n;i++)s[i]=pa._interpolateNumber(e[i],t[i],r);else{var a=e[0].length;for(let i=0;i<n;i++)for(let n=0;n<a;n++)s[i][n]=pa._interpolateNumber(e[i][n],t[i][n],r)}}static _isArrayLike(e){switch(typeof e){case"undefined":case"string":return!1}return void 0!==e.length}static _catmullRomInterpolateArray(e,t,r,s,i,n,a,o,l){var h=e.length;if(1==l)for(let l=0;l<h;l++)o[l]=pa._catmullRomInterpolate(e[l],t[l],r[l],s[l],i,n,a);else{var u=e[0].length;for(let l=0;l<h;l++)for(var c=0;c<u;c++)o[l][c]=pa._catmullRomInterpolate(e[l][c],t[l][c],r[l][c],s[l][c],i,n,a)}}static _catmullRomInterpolate(e,t,r,s,i,n,a){var o=.5*(r-e),l=.5*(s-t);return(2*(t-r)+o+l)*a+(-3*(t-r)-2*o-l)*n+o*i+t}static _cloneValue(e){var t=Array.prototype.slice;if(pa._isArrayLike(e)){var r=e.length;if(pa._isArrayLike(e[0])){for(var s=[],i=0;i<r;i++)s.push(t.call(e[i]));return s}return t.call(e)}return e}static rgba2String(e){return e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.floor(e[2]),"rgba("+e.join(",")+")"}}class fa{constructor(e,t,r,s){this._tracks={},this._target=e,this._loop=t||!1,this._getter=r||function(e,t){return e[t]},this._setter=s||function(e,t,r){e[t]=r},this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[],this.CLASS_NAME="SuperMap.LevelRenderer.Animation.Animator"}when(e,t){for(var r in t)this._tracks[r]||(this._tracks[r]=[],0!==e&&this._tracks[r].push({time:0,value:pa._cloneValue(this._getter(this._target,r))})),this._tracks[r].push({time:parseInt(e,10),value:t[r]});return this}during(e){return this._onframeList.push(e),this}start(e){var t=this,r=this._setter,s=this._getter,i=t._onframeList.length,n="spline"===e,a=function(){if(t._clipCount--,0===t._clipCount){t._tracks={};for(var e=t._doneList.length,r=0;r<e;r++)t._doneList[r].call(t)}},o=function(o,l){var h=o.length;if(h){var u=o[0].value,c=pa._isArrayLike(u),d=!1,p=c&&pa._isArrayLike(u[0])?2:1;o.sort(function(e,t){return e.time-t.time});var f=o[h-1].time,m=[],y=[];for(let e=0;e<h;e++){m.push(o[e].time/f);var g=o[e].value;"string"==typeof g&&(0===(g=Jn.Util_color.toArray(g)).length&&(g[0]=g[1]=g[2]=0,g[3]=1),d=!0),y.push(g)}var v,b,S,x,_,w,C,T=0,M=0;if(d)var E=[0,0,0,0];var A=new da({target:t._target,life:f,loop:t._loop,delay:t._delay,onframe:function(e,a){if(a<M){for(v=Math.min(T+1,h-1),b=v;b>=0&&!(m[b]<=a);b--);b=Math.min(b,h-2)}else{for(b=T;b<h&&!(m[b]>a);b++);b=Math.min(b-1,h-2)}T=b,M=a;var o=m[b+1]-m[b];if(0!==o){if(S=(a-m[b])/o,n)if(_=y[b],x=y[0===b?b:b-1],w=y[b>h-2?h-1:b+1],C=y[b>h-3?h-1:b+2],c)pa._catmullRomInterpolateArray(x,_,w,C,S,S*S,S*S*S,s(e,l),p);else{let t;t=d?pa.rgba2String(E):pa._catmullRomInterpolate(x,_,w,C,S,S*S,S*S*S),r(e,l,t)}else if(c)pa._interpolateArray(y[b],y[b+1],S,s(e,l),p);else{let t;d?(pa._interpolateArray(y[b],y[b+1],S,E,1),t=pa.rgba2String(E)):t=pa._interpolateNumber(y[b],y[b+1],S),r(e,l,t)}for(b=0;b<i;b++)t._onframeList[b](e,a)}},ondestroy:a});e&&"spline"!==e&&(A.easing=e),t._clipList.push(A),t._clipCount++,t.animation.add(A)}};for(var l in this._tracks)o(this._tracks[l],l);return this}stop(){for(var e=0;e<this._clipList.length;e++){var t=this._clipList[e];this.animation.remove(t)}this._clipList=[]}delay(e){return this._delay=e,this}done(e){return e&&this._doneList.push(e),this}}class ma{constructor(e,t){this.id=e,this.storage=new oa,this.painter=new la(t,this.storage),this.handler=new ua(t,this.storage,this.painter),this.animatingElements=[],this.animation=new pa({stage:{update:ma.getFrameCallback(this)}}),this._needsRefreshNextFrame=!1,this.animation.start(),this.CLASS_NAME="SuperMap.LevelRenderer.Render"}destroy(){this.id=null,this.storage=null,this.painter=null,this.handler=null,this.animatingElements=null,this.animation=null,this._needsRefreshNextFrame=null}getId(){return this.id}addShape(e){return this.storage.addRoot(e),this}addGroup(e){return this.storage.addRoot(e),this}delShape(e){return this.storage.delRoot(e),this}delGroup(e){return this.storage.delRoot(e),this}modShape(e,t){return this.storage.mod(e,t),this}modGroup(e,t){return this.storage.mod(e,t),this}modLayer(e,t){return this.painter.modLayer(e,t),this}addHoverShape(e){return this.storage.addHover(e),this}render(e){return this.painter.render(e),this._needsRefreshNextFrame=!1,this}refresh(e){return this.painter.refresh(e),this._needsRefreshNextFrame=!1,this}refreshNextFrame(){return this._needsRefreshNextFrame=!0,this}refreshHover(e){return this.painter.refreshHover(e),this}refreshShapes(e,t){return this.painter.refreshShapes(e,t),this}resize(){return this.painter.resize(),this}animate(e,t,r){if("string"==typeof e&&(e=this.storage.get(e)),e){var s;if(t){for(var i=t.split("."),n=e,a=0,o=i.length;a<o;a++)n&&(n=n[i[a]]);n&&(s=n)}else s=e;if(!s)return void Jn.Util_log('Property "'+t+'" is not existed in element '+e.id);var l=this.animatingElements;return void 0===e.__aniCount&&(e.__aniCount=0),0===e.__aniCount&&l.push(e),e.__aniCount++,this.animation.animate(s,{loop:r}).done(function(){if(e.__aniCount--,0===e.__aniCount){var t=(new bn).indexOf(l,e);l.splice(t,1)}})}Jn.Util_log("Element not existed")}clearAnimation(){this.animation.clear()}getWidth(){return this.painter.getWidth()}getHeight(){return this.painter.getHeight()}toDataURL(e,t,r){return this.painter.toDataURL(e,t,r)}shapeToImage(e,t,r){var s=$.createUniqueID("SuperMap.LevelRenderer.ToImage_");return this.painter.shapeToImage(s,e,t,r)}on(e,t){return this.handler.on(e,t),this}un(e,t){return this.handler.un(e,t),this}trigger(e,t){return this.handler.trigger(e,t),this.handler.dispatch(e,t),this}clear(){return this.storage.delRoot(),this.painter.clear(),this}dispose(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=null,this.animatingElements=null,this.storage=null,this.painter=null,this.handler=null}updateHoverShapes(e){return this.painter.updateHoverLayer(e),this}getAllShapes(){return this.storage._shapeList}clearAll(){return this.clear(),this.painter.clearHover(),this}getHoverOne(){return this.handler.getLastHoverOne()}static getFrameCallback(e){return function(){var t=e.animatingElements;if(t instanceof Array){for(var r=0,s=t.length;r<s;r++)e.storage.mod(t[r].id);(t.length||e._needsRefreshNextFrame)&&e.refresh()}}}}class ya{constructor(){ya._instances={},ya.Tool={},this.version="2.0.4",this.CLASS_NAME="SuperMap.LevelRenderer"}destroy(){this.dispose(),this.version=null}init(e){var t=new ma($.createUniqueID("LRenderer_"),e);return ya._instances[t.id]=t,t}dispose(e){if(e)e.dispose(),this.delInstance(e.id);else{for(var t in ya._instances)ya._instances[t].dispose();ya._instances={}}return this}getInstance(e){return ya._instances[e]}delInstance(e){return delete ya._instances[e],this}}const ga="EXCEL",va="CSV",ba="GEOJSON",Sa="JSON";class xa{constructor(){this._initView()}_initView(){const e=document.createElement("div");e.hidden=!0,e.setAttribute("class","component-messageboxcontainer component-border-bottom-orange");const t=document.createElement("div");t.setAttribute("class","icon"),this.icon=document.createElement("span"),this.icon.setAttribute("class","supermapol-icons-message-warning"),t.appendChild(this.icon),e.appendChild(t);const r=document.createElement("div");r.setAttribute("class","component-messagebox"),r.innerHTML="",e.appendChild(r),this.messageBox=r;const s=document.createElement("div");s.setAttribute("class","component-messagebox__cancelbtncontainer");const i=document.createElement("button");i.setAttribute("class","component-messagebox__cancelBtn"),i.innerHTML="x",i.onclick=this.closeView.bind(this),s.appendChild(i),e.appendChild(s),this.messageBoxContainer=e,document.body.appendChild(this.messageBoxContainer)}closeView(){this.messageBoxContainer.hidden=!0}showView(e,t="warring"){"success"===t?(this.icon.setAttribute("class","supermapol-icons-message-success"),this.messageBoxContainer.setAttribute("class","component-messageboxcontainer component-border-bottom-green")):"failure"===t?(this.icon.setAttribute("class","supermapol-icons-message-failure"),this.messageBoxContainer.setAttribute("class","component-messageboxcontainer component-border-bottom-red")):"warring"===t&&(this.icon.setAttribute("class","supermapol-icons-message-warning"),this.messageBoxContainer.setAttribute("class","component-messageboxcontainer component-border-bottom-orange")),this.messageBox.innerHTML=e,this.messageBoxContainer.hidden=!1}}const _a=function(){try{return echarts}catch(e){return{}}}();var wa=r.n(_a);let Ca={"en-US":{title_dataFlowService:"Data Flow Service",title_distributedAnalysis:"Distributed Analysis",title_clientComputing:"Client Computing",title_dataServiceQuery:"Data Service Query",title_searchCity:"Search city",title_searchLayer:" Search layer",text_input_value_inputDataFlowUrl:"Please enter the data stream service address such as: ws://{serviceRoot}/{dataFlowName}/dataflow/subscribe",text_displayFeaturesInfo:"Display feature information",text_subscribe:"subscribe",text_cancelSubscribe:"unsubscribe",text_densityAnalysis:"Density Analysis",text_CalculateTheValuePerUnitArea:"Calculate the value per unit area within the neighborhood shape",text_option_selectDataset:"Please select a dataset",text_label_dataset:"Dataset",text_option_simplePointDensityAnalysis:"Simple point density analysis",text_option_nuclearDensityAnalysis:"Nuclear density analysis",text_label_analyticalMethod:"Analytical method",text_option_quadrilateral:"Quadrilateral",text_option_hexagon:"hexagon",text_label_meshType:"Mesh type",text_option_notSet:"Not set",text_label_weightField:"Weight field",text_label_gridSizeInMeters:"Grid size",text_label_searchRadius:"Search radius",text_label_queryRange:"Scope of analysis",text_label_areaUnit:"Area unit",text_option_equidistantSegmentation:"Equidistant segmentation",text_option_logarithm:"Logarithm",text_option_equalCountingSegment:"Equal counting segment",text_option_squareRootSegmentation:"Square root segmentation",text_label_thematicMapSegmentationMode:"Thematic map segmentation mode",text_label_thematicMapSegmentationParameters:"Thematic map segmentation parameters",text_option_greenOrangePurpleGradient:"Green orange purple gradient",text_option_greenOrangeRedGradient:"Green orange red gradient",text_option_rainbowGradient:"Rainbow gradient",text_option_spectralGradient:"Spectral gradient",text_option_terrainGradient:"Terrain gradient",text_label_thematicMapColorGradientMode:"Thematic map color gradient mode",text_label_resultLayerName:"Result layer name",text_chooseFile:"Open File",text_isoline:"Isoline",text_extractDiscreteValue:"Extract discrete value generation curve",text_buffer:"Buffer",text_specifyTheDistance:"Specify the distance to create the surrounding area",text_label_analysisLayer:"Analysis layer",text_label_extractField:"Extract field",text_label_extractedValue:"Extracted value",text_label_distanceAttenuation:"Distance attenuation",text_label_gridSize:"gridSize",text_label_bufferRadius:"Buffer radius",text_label_defaultkilometers:"Default 10 kilometers",text_label_kilometer:"kilometer",text_label_unit:"unit",text_retainOriginal:"Retain original object field",text_mergeBuffer:"Merge buffer",text_label_color:"Color",text_label_buffer:"[Buffer]",text_label_isolines:"[Isolines]",text_label_queryRangeTips:"The default is the full range of input data. Example: -74.050, 40.650, -73.850, 40.850",text_label_queryModel:"Query mode",text_label_IDArrayOfFeatures:"ID array of features",text_label_maxFeatures:"The maximum number of features that can be returned",text_label_bufferDistance:"Buffer distance",text_label_queryRange1:"Query range",text_label_spatialQueryMode:"Spatial query mode",text_label_featureFilter:"Feature filter",text_label_geometricObject:"Geometric object",text_label_queryMode:"Query mode",text_label_searchTips:"Search for city locations or layer features",text_label_chooseSearchLayers:"Select a query layer",text_loadSearchCriteria:"Load search criteria",text_saveSearchCriteria:"Save search criteria",btn_analyze:"Analyze",btn_analyzing:"Analyzing",btn_emptyTheAnalysisLayer:"Empty the analysis layer",btn_cancelAnalysis:"Cancel",btn_query:"Query",btn_querying:"Querying",btn_emptyTheRresultLayer:"Clear all result layers","msg_dataReturnedIsEmpty.":"The request is successful and the data returned by the query is empty.",msg_dataFlowServiceHasBeenSubscribed:"The data stream service has been subscribed to.",msg_inputDataFlowUrlFirst:"Please enter the data stream service address first.",msg_datasetOrMethodUnsupport:"This dataset does not support this analysis type. Please reselect the dataset.",msg_selectDataset:"Please select a data set!",msg_setTheWeightField:"Please set the weight field!",msg_theFieldNotSupportAnalysis:"The field you currently select does not support analysis!",msg_resultIsEmpty:"The result of the analysis is empty!",msg_openFileFail:"Failed to open file!",msg_fileTypeUnsupported:"File format is not supported!",msg_fileSizeExceeded:"File size exceeded! The file size should not exceed 10M!",msg_dataInWrongGeoJSONFormat:"Wrong data format! Non standard GEOJSON format data!",msg_dataInWrongFormat:"Wrong data format! Non standard EXCEL, CSV or GEOJSON format data!",msg_searchKeywords:"Search keywords cannot be empty. Please enter your search criteria.",msg_searchGeocodeField:"Did not match the address matching service data!",msg_cityGeocodeField:"The address matching service of the current city is not configured.",msg_getFeatureField:"No related vector features found!",msg_dataflowservicesubscribed:"The data stream service has been subscribed to.",msg_subscribesucceeded:"The data stream service subscription was successful.",msg_crsunsupport:"Does not support the coordinate system of the current map",msg_tilematrixsetunsupport:"Incoming TileMatrixSet is not supported",msg_jsonResolveFiled:"JSON format parsing failure",msg_requestContentFiled:"Failed to request data through iportal!",msg_getdatafailed:"Failed to get data!"},"zh-CN":{title_dataFlowService:"数据流服务",title_distributedAnalysis:"分布式分析",title_clientComputing:"客户端计算",title_dataServiceQuery:"数据服务查询",title_searchCity:"搜索城市",title_searchLayer:"搜索图层",text_input_value_inputDataFlowUrl:"请输入数据流服务地址如:ws://{serviceRoot}/{dataFlowName}/dataflow/subscribe",text_displayFeaturesInfo:"显示要素信息",text_subscribe:"订阅",text_cancelSubscribe:"取消订阅",text_densityAnalysis:"密度分析",text_CalculateTheValuePerUnitArea:"计算点指定邻域形状内的每单位面积量值",text_option_selectDataset:"请选择数据集",text_label_dataset:"数据集",text_option_simplePointDensityAnalysis:"简单点密度分析",text_option_nuclearDensityAnalysis:"核密度分析",text_label_analyticalMethod:"分析方法",text_option_quadrilateral:"四边形",text_option_hexagon:"六边形",text_label_meshType:"网格面类型",text_option_notSet:"未设置",text_label_weightField:"权重字段",text_label_gridSizeInMeters:"网格大小",text_label_searchRadius:"搜索半径",text_label_queryRange:"分析范围",text_label_areaUnit:"面积单位",text_option_equidistantSegmentation:"等距离分段",text_option_logarithm:"对数",text_option_equalCountingSegment:"等计数分段",text_option_squareRootSegmentation:"平方根分段",text_label_thematicMapSegmentationMode:"专题图分段模式",text_label_thematicMapSegmentationParameters:"专题图分段参数",text_option_greenOrangePurpleGradient:"绿橙紫渐变",text_option_greenOrangeRedGradient:"绿橙红渐变",text_option_rainbowGradient:"彩虹渐变",text_option_spectralGradient:"光谱渐变",text_option_terrainGradient:"地形渐变",text_label_thematicMapColorGradientMode:"专题图颜色渐变模式",text_label_resultLayerName:"结果图层名称",text_chooseFile:"选择文件",text_isoline:"等值线",text_extractDiscreteValue:"提取离散值生成曲线",text_buffer:"缓冲区",text_specifyTheDistance:"指定距离创建周边区域",text_label_analysisLayer:"分析图层",text_label_extractField:"提取字段",text_label_extractedValue:"提取值",text_label_distanceAttenuation:"距离衰减",text_label_gridSize:"栅格大小",text_label_bufferRadius:"缓冲半径",text_label_defaultkilometers:"默认10千米",text_option_kilometer:"千米",text_label_unit:"单位",text_retainOriginal:"保留原对象字段属性",text_mergeBuffer:"合并缓冲区",text_label_color:"颜色",text_label_buffer:"[缓冲区]",text_label_isolines:"[等值线]",text_label_queryRangeTips:"默认为输入数据的全幅范围。范例:-74.050,40.650,-73.850,40.850",text_label_IDArrayOfFeatures:"要素 ID 数组",text_label_maxFeatures:"最多可返回的要素数量",text_label_bufferDistance:"缓冲区距离",text_label_queryRange1:"查询范围",text_label_spatialQueryMode:"空间查询模式",text_label_featureFilter:"要素过滤器",text_label_geometricObject:"几何对象",text_label_queryMode:"查询模式",text_label_searchTips:"搜索城市地点或图层要素",text_label_chooseSearchLayers:"选择查询图层",text_loadSearchCriteria:"加载搜索条件",text_saveSearchCriteria:"保存搜索条件",btn_analyze:"分析",btn_analyzing:"分析中",btn_emptyTheAnalysisLayer:"清空分析图层",btn_cancelAnalysis:"取消",btn_query:"查询",btn_querying:"查询中",btn_emptyTheRresultLayer:"清除所有结果图层",msg_dataFlowServiceHasBeenSubscribed:"已订阅该数据流服务。",msg_inputDataFlowUrlFirst:"请先输入数据流服务地址。",msg_datasetOrMethodUnsupport:"该数据集不支持本分析类型,请重新选择数据集",msg_selectDataset:"请选择数据集!",msg_setTheWeightField:"请设置权重字段!",msg_theFieldNotSupportAnalysis:"您当前选择的字段不支持分析!",msg_resultIsEmpty:"分析的结果为空!",msg_dataReturnedIsEmpty:"请求成功,查询返回的数据为空。",msg_openFileFail:"打开文件失败!",msg_fileTypeUnsupported:"不支持该文件格式!",msg_fileSizeExceeded:"文件大小超限!文件大小不得超过 10M",msg_dataInWrongGeoJSONFormat:"数据格式错误!非标准的 GEOJSON 格式数据!",msg_dataInWrongFormat:"数据格式错误!非标准的 EXCEL, CSV 或 GEOJSON 格式数据!",msg_searchKeywords:"搜索关键字不能为空,请输入搜索条件。",msg_searchGeocodeField:"未匹配到地址匹配服务数据!",msg_cityGeocodeField:"未配置当前城市的地址匹配服务。",msg_getFeatureField:"未查找到相关矢量要素!",msg_dataflowservicesubscribed:"已订阅该数据流服务。",msg_subscribesucceeded:"数据流服务订阅成功。",msg_crsunsupport:"不支持当前地图的坐标系",msg_tilematrixsetunsupport:"不支持传入的TileMatrixSet",msg_jsonResolveFiled:"json格式解析失败",msg_requestContentFiled:"通过iportal请求数据失败",msg_getdatafailed:"获取数据失败!"},code:null,defaultCode:"en-US",getCode:function(){return Ca.code||Ca.setCode(),Ca.code},setCode:function(){var e=this.getLanguageFromCookie();e?Ca.code=e:(e=Ca.defaultCode,0===(e="Netscape"===navigator.appName?navigator.language:navigator.browserLanguage).indexOf("zh")&&(e="zh-CN"),0===e.indexOf("en")&&(e="en-US"),Ca.code=e)},getLanguageFromCookie(){for(var e=document.cookie.split(";"),t=0;t<e.length;t++){for(var r=e[t];" "===r.charAt(0);)r=r.substring(1);if(-1!==r.indexOf("language="))return r.substring("language=".length,r.length)}return""},i18n:function(e){var t=Ca[Ca.getCode()],r=t&&t[e];return r||(r=e),r}};const Ta=function(){try{return XLSX}catch(e){return{}}}();let Ma={rABS:"undefined"!=typeof FileReader&&FileReader.prototype&&FileReader.prototype.readAsBinaryString,rABF:"undefined"!=typeof FileReader&&FileReader.prototype&&FileReader.prototype.readAsArrayBuffer,rAT:"undefined"!=typeof FileReader&&FileReader.prototype&&FileReader.prototype.readAsText,readFile(e,t,r,s,i){Sa===e||ba===e?this.readTextFile(t,r,s,i):ga!==e&&va!==e||this.readXLSXFile(t,r,s,i)},readTextFile(e,t,r,s){let i=new FileReader;i.onloadend=function(e){t&&t.call(s,e.target.result)},i.onerror=function(e){r&&r.call(s,e)},this.rAT?i.readAsText(e.file,"utf-8"):i.readAsBinaryString(e.file)},readXLSXFile(e,t,r,s){let i=new FileReader;i.onloadend=function(e){let i=new Uint8Array(e.target.result),n=Ta.read(i,{type:"array"});try{if(n&&n.SheetNames&&n.SheetNames.length>0){let e=n.SheetNames[0],r=Ta.utils.sheet_to_csv(n.Sheets[e]);t&&t.call(s,r)}}catch(e){r&&r.call(s,e)}},i.onerror=function(e){r&&r.call(s,e)},this.rABF&&i.readAsArrayBuffer(e.file)},processDataToGeoJson(e,t,r,s,i){let n=null;if("EXCEL"===e||"CSV"===e)n=this.processExcelDataToGeoJson(t),r&&r.call(i,n);else if("JSON"===e||"GEOJSON"===e){let e=t;"string"==typeof e&&(e=JSON.parse(e)),"ISERVER"===e.type?n=e.data.recordsets[0].features:"FeatureCollection"===e.type?n=e:s&&s.call(i,Ca.i18n("msg_dataInWrongGeoJSONFormat")),r&&r.call(i,n)}else s&&s.call(i,Ca.i18n("msg_dataInWrongFormat"))},processExcelDataToGeoJson(e){let t=this.string2Csv(e),r=t.colTitles,s=-1,i=-1;for(let e=0,t=r.length;e<t;e++)this.isXField(r[e])&&(s=e),this.isYField(r[e])&&(i=e);let n=[];for(let e=0,r=t.rows.length;e<r;e++){let r=t.rows[e],a=Number(r[s]),o=Number(r[i]),l={};for(let r in t.colTitles){l[t.colTitles[r]]=t.rows[e][r]}let h={type:"Feature",geometry:{type:"Point",coordinates:[a,o]},properties:l};n.push(h)}return n},isXField(e){var t=e.toLowerCase();return"x"===t||"smx"===t||"jd"===t||"经度"===t||"东经"===t||"longitude"===t||"lot"===t||"lon"===t||"lng"===t||"x坐标"===t},isYField(e){var t=e.toLowerCase();return"y"===t||"smy"===t||"wd"===t||"纬度"===t||"北纬"===t||"latitude"===t||"lat"===t||"y坐标"===t},string2Csv(e,t){let r=e.split("\n"),s={};s.colTitles=t?[]:r[0].split(","),s.rows=[];for(let e=t?0:1;e<r.length;e++)r[e]&&s.rows.push(r[e].split(","));return s}};class Ea{constructor(e){this.datasets=e,this.EVENT_TYPES=["getdatafailed"],this.events=new ve(this,null,this.EVENT_TYPES)}getDatasetInfo(e){let t=this.datasets.url,r=this;Be.get(t).then(function(e){return e.json()}).then(function(t){if(t.datasetInfo){let s=t.datasetInfo;r.datasetsInfo={dataSourceName:s.dataSourceName,datasetName:s.name,mapName:t.name},e({result:r.datasetsInfo})}}).catch(function(e){console.log(e),r._fireFailedEvent(e)})}getDataFeatures(e,t){let r,s,i,n=e.result,a={name:n.datasetName+"@"+n.dataSourceName};Object.assign(a,this.datasets.queryInfo),r=new pt(a),s=new Vr({queryParameter:r,datasetNames:[n.dataSourceName+":"+n.datasetName],fromIndex:0,toIndex:1e5}),(i=new zr(n.dataUrl,{eventListeners:{processCompleted:t,processFailed:function(){}}})).processAsync(s)}getLayerFeatures(e,t){let r,s,i,n=e.result,a={name:n.mapName};Object.assign(a,this.datasets.queryInfo),r=new pt(a),s=new Ws({queryParams:[r],expectCount:1e5}),(i=new Ys(n.dataUrl,{eventListeners:{processCompleted:t,processFailed:function(){}}})).processAsync(s)}getDataInfoByIptl(e){this.getServiceInfo(this.datasets.url,e)}getServiceInfo(e,t){let r=this;Be.get(e,null,{withCredentials:this.datasets.withCredentials}).then(e=>e.json()).then(s=>{if(!1!==s.succeed)if(s.dataItemServices&&s.dataItemServices.length>0){let i;s.dataItemServices.forEach(s=>{if("RESTDATA"===s.serviceType&&"PUBLISHED"===s.serviceStatus)i=s;else{if("RESTMAP"!==s.serviceType||"PUBLISHED"!==s.serviceStatus)return void r.getDatafromContent(e,t);i=s}}),i&&r.getDatafromRest(i.serviceType,i.address,t)}else r.getDatafromContent(e,t);else r._fireFailedEvent(s)}).catch(e=>{console.log(e),r._fireFailedEvent(e)})}getDatafromContent(e,t){let r={result:{}},s=this;e+="/content.json?pageSize=9999999&currentPage=1",Be.get(e,null,{withCredentials:this.datasets.withCredentials}).then(e=>e.json()).then(e=>{if(!1!==e.succeed){if(e.type){if("JSON"===e.type||"GEOJSON"===e.type){if(e.content=JSON.parse(e.content.trim()),!e.content.features)return void console.log(Ca.i18n("msg_jsonResolveFiled"));let t=this._formatGeoJSON(e.content);r.result.features={type:e.content.type,features:t}}else if("EXCEL"===e.type||"CSV"===e.type){let t=this._excelData2Feature(e.content);r.result.features={type:"FeatureCollection",features:t}}t(r,"content")}}else s._fireFailedEvent(e)},this).catch(e=>{console.log(e),s._fireFailedEvent(e)})}getDatafromRest(e,t,r){let s=this,i=this.datasets.withCredentials;if("RESTDATA"===e){let e,n,a=`${t}/data/datasources`;Be.get(a,null,{withCredentials:i}).then(e=>e.json()).then(o=>{e=o.datasourceNames[0],a=`${t}/data/datasources/${e}/datasets`,Be.get(a,null,{withCredentials:i}).then(e=>e.json()).then(i=>(n=i.datasetNames[0],s.getDatafromRestData(`${t}/data`,[e+":"+n],r),[e+":"+n])).catch(function(e){s._fireFailedEvent(e)})}).catch(function(e){s._fireFailedEvent(e)})}else{let e,n,a,o=`${t}/maps`;Be.get(o,null,{withCredentials:i}).then(e=>e.json()).then(l=>{e=l[0].name,a=l[0].path,o=o=`${t}/maps/${e}/layers`,Be.get(o,null,{withCredentials:i}).then(e=>e.json()).then(e=>(n=e[0].subLayers.layers[0].caption,s.getDatafromRestMap(n,a,r),n)).catch(function(e){s._fireFailedEvent(e)})}).catch(function(e){s._fireFailedEvent(e)})}}getDatafromRestData(e,t,r){let s=this;this.datasets.queryInfo.attributeFilter=this.datasets.queryInfo.attributeFilter||"SmID>0",this._getFeatureBySQL(e,t,this.datasets.queryInfo,e=>{r(e,"RESTDATA")},e=>{console.log(e),s._fireFailedEvent(e)})}getDatafromRestMap(e,t,r){let s=this;this.datasets.queryInfo.attributeFilter=this.datasets.queryInfo.attributeFilter||"smid=1",this._queryFeatureBySQL(t,e,this.datasets.queryInfo,null,null,e=>{r(e,"RESTMAP")},e=>{console.log(e),s._fireFailedEvent(e)})}_getFeatureBySQL(e,t,r,s,i){let n,a,o,l={name:t.join().replace(":","@")};Object.assign(l,r),n=new pt(l),o=new Vr({queryParameter:n,datasetNames:t,fromIndex:0,toIndex:1e5,returnContent:!0}),(a=new zr(e,{eventListeners:{processCompleted:e=>{s&&s(e)},processFailed:e=>{i&&i(e)}}})).processAsync(o)}_queryFeatureBySQL(e,t,r,s,i,a,o,l,h,u){var c,d,p={name:t};Object.assign(p,r),c=new pt(p),s&&(c.fields=s);var f={queryParams:[c]};u&&(f.queryOption=n.ATTRIBUTE),l&&(f.startRecord=l),h&&(f.expectCount=h),i&&(f.prjCoordSys={epsgCode:i}),d=new Ws(f),this._queryBySQL(e,d,e=>{"processCompleted"===e.type?a(e):o(e)})}_queryBySQL(e,t,r,s){new Ys(e,{eventListeners:{scope:this,processCompleted:r,processFailed:r},format:this._processFormat(s)}).processAsync(t)}_processFormat(e){return e||t.GEOJSON}_formatGeoJSON(e){let t=e.features;return t.forEach((e,t)=>{e.properties.index=t}),t}_excelData2Feature(e){let t=e.colTitles,r=-1,s=-1;for(let e=0,i=t.length;e<i;e++)Ma.isXField(t[e])&&(r=e),Ma.isYField(t[e])&&(s=e);let i=[];for(let t=0,n=e.rows.length;t<n;t++){let n=e.rows[t],a=Number(n[r]),o=Number(n[s]),l={};for(let r in e.colTitles){l[e.colTitles[r]]=e.rows[t][r]}l.index=t+"";let h={type:"Feature",geometry:{type:"Point",coordinates:[a,o]},properties:l};i.push(h)}return i}_fireFailedEvent(e){let t=e?{error:e,message:Ca.i18n("msg_getdatafailed")}:{message:Ca.i18n("msg_getdatafailed")};this.events.triggerEvent("getdatafailed",t)}}class Aa{constructor(e){this.datasets=e.datasets,this.xField=[],this.yField=[],this.grid={top:"50px",bottom:"50px",left:"50px",right:"60px"},this.chartType=e.type||"bar",this._initXYField(e.chartOptions),this.EVENT_TYPES=["getdatafailed"],this.events=new ve(this,null,this.EVENT_TYPES)}_initXYField(e){let t=this;e&&e.length>0&&e.forEach(function(e){e.xAxis&&t.xField.push({field:e.xAxis.field,name:e.xAxis.name}),e.yAxis&&t.yField.push({field:e.yAxis.field,name:e.yAxis.name})})}getDatasetInfo(e){this.createChart=e,this.datasets&&this._checkUrl(this.datasets.url)&&(this.chartModel=new Ea(this.datasets),"iServer"===this.datasets.type?this.chartModel.getDatasetInfo(this._getDatasetInfoSuccess.bind(this)):"iPortal"===this.datasets.type&&this.chartModel.getDataInfoByIptl(this._getDataInfoSuccess.bind(this)),this.chartModel.events.on({getdatafailed:e=>{this.events.triggerEvent("getdatafailed",e)}}))}_getDatasetInfoSuccess(e){let t=this.datasets.url,r=t.indexOf("rest");if(r>0){let s=t.indexOf("/",r+5),i=t.substring(r+5,s),n=t.substring(0,r+4)+"/data";if("maps"===i){let i=t.indexOf("/",s+1),a=t.substring(s+1,i);n=t.substring(0,r+4)+"/maps/"+a,e.result.dataUrl=n,this._getLayerFeatures(e)}else"data"===i&&(e.result.dataUrl=n,this._getDataFeatures(e))}}_getDataInfoSuccess(e,t){let r=this;"RESTMAP"===t?r._getChartDatasFromLayer(e):r._getChartDatas(e)}_getDataFeatures(e){this.chartModel.getDataFeatures(e,this._getChartDatas.bind(this))}_getLayerFeatures(e){this.chartModel.getLayerFeatures(e,this._getChartDatasFromLayer.bind(this))}_getChartDatas(e){if(e){this.features=e.result.features;let t=this.features.features,r={};if(t.length){let e=t[0],s=[],i=[];for(let t in e.properties)s.push(t),i.push(this._getDataType(e.properties[t]));r={features:t,fieldCaptions:s,fieldTypes:i,fieldValues:[]};for(let e in i){let s=[];for(let i in t){let n=t[i],a=r.fieldCaptions[e],o=n.properties[a];s.push(o)}r.fieldValues.push(s)}this.createChart(r)}}}_getChartDatasFromLayer(e){if(e.result.recordsets){let t=e.result.recordsets[0],r=t.features.features;this.features=t.features;let s={};if(r.length){s={features:t.features,fieldCaptions:t.fieldCaptions,fieldTypes:t.fieldTypes,fieldValues:[]};for(let e in s.fieldCaptions){let t=[];for(let i in r){let n=r[i],a=s.fieldCaptions[e],o=n.properties[a];t.push(o)}s.fieldValues.push(t)}this.createChart(s)}}}_createChartOptions(e){return this.calculatedData=this._createChartDatas(e),this.updateChartOptions(this.chartType)}changeType(e){if(e!==this.chartType)return this.chartType=e,this.updateChartOptions(this.chartType)}updateData(e,t,r){this.updateChart=r,this.xField=[],this.yField=[],this._initXYField(t),e.type=e.type||"iServer",e.withCredentials=e.withCredentials||!1,this.datasets=e,this.getDatasetInfo(this._updateDataSuccess.bind(this))}_updateDataSuccess(e){let t=this._createChartOptions(e);this.updateChart(t)}updateChartOptions(e,t){if(this.calculatedData){let r=this.grid,s=this._createChartSeries(this.calculatedData,e),i=[];for(let e in this.calculatedData.XData)i.push({value:this.calculatedData.XData[e].fieldsData});let n={type:"category",name:this.xField[0].name||"X",data:i,nameTextStyle:{color:"#fff",fontSize:14},splitLine:{show:!1},axisLine:{lineStyle:{color:"#eee"}}},a={type:"value",name:this.yFieldName||"Y",data:{},nameTextStyle:{color:"#fff",fontSize:14},splitLine:{show:!1},axisLine:{lineStyle:{color:"#eee"}}},o={formatter:"{b0}: {c0}"},l="#404a59";return t&&(t.grid&&(r=t.grid),t.tooltip&&(o=t.tooltip),t.backgroundColor&&(l=t.backgroundColor)),{backgroundColor:l,grid:r,series:s,xAxis:n,yAxis:a,tooltip:o}}}_createChartDatas(e){let t=0,r=[],s=e.fieldCaptions,i=this;s.forEach(function(e,r){i.xField[0]&&e===i.xField[0].field&&(t=r)}),this.yFieldName="",this.yField.forEach(function(e,t){0!==t&&(i.yFieldName=i.yFieldName+","),i.yFieldName=i.yFieldName+e.name,s.forEach(function(t,s){t===e.field&&r.push(s)})});let n=this._getAttrData(e,t),a=[];if(r.length>0)r.forEach(function(t){let r=[];for(let s in e.fieldValues[t])r.push({value:e.fieldValues[t][s]});a.push(r)});else{let e=[],t=[],r=n.length;for(let s=0;s<r;s++){let r=!1;for(let i=0,a=t.length;i<a;i++)if(n[s].fieldsData===t[i].fieldsData){e[i].value++,t[i].recordIndexs.push(s),r=!0;break}r||n[s].fieldsData&&(t.push({fieldsData:n[s].fieldsData,recordIndexs:[s]}),e.push({value:1}))}n=t,a=[e]}return{XData:n,YData:a}}_getAttrData(e,t){0===t&&(this.xField=[{field:e.fieldCaptions[t],name:e.fieldCaptions[t]}]);let r=[];for(let s=0,i=e.fieldValues[t].length;s<i;s++){let i=e.fieldValues[t][s];r.push({recordIndexs:s,fieldsData:i})}return r}_createChartSeries(e,t){let r=[];return e.YData.forEach(function(e){let s=0,i=[];for(let t of e)s=t.value,i.push({value:s});let n={type:t,data:i,name:"y"};r.push(n)}),r}_isDate(e){return/((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))/gi.test(e)}_isNumber(e){let t=Number(e);return 0===t||!isNaN(t)}_getDataType(e){if(null!==e&&void 0!==e&&""!==e){if(this._isDate(e))return"DATE";if(this._isNumber(e))return"NUMBER"}return"STRING"}_checkUrl(e){let t;return t=!(""===e||!this._isMatchUrl(e))&&(!/^http[s]?:\/\/localhost/.test(e)&&!/^http[s]?:\/\/127.0.0.1/.test(e))}_isMatchUrl(e){return new RegExp("(https?|http|file|ftp)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]").test(e)}getStyle(){return{grid:this.grid,tooltip:this.tooltip,backgroundColor:this.backgroundColor}}getFeatures(){return this.features}setStyle(e){return this.updateChartOptions(this.chartType,e)}}class Oa{constructor(e){e=e||{},this.id=e.id?e.id:null,this.rootContainer=null}getElement(){return this.id&&(this.rootContainer.id=this.id),this.rootContainer}_initView(){}showView(){this.rootContainer.hidden=!1}closeView(){this.rootContainer.hidden=!0}}class Pa extends Oa{constructor(e){super(e=e||{}),e.title=e.title?e.title:"",this._initView(e.title)}_initView(e){const t=document.createElement("div");t.setAttribute("class","component-popcontainer");const r=document.createElement("div");r.setAttribute("class","component-popcontainer__header");const s=document.createElement("label");s.setAttribute("class","component-popcontainer__header__title"),s.innerHTML=e,r.appendChild(s);const i=document.createElement("span");i.setAttribute("class","supermapol-icons-clear component-popcontainer__header__close"),i.onclick=this.closeView.bind(this),t.appendChild(i),t.appendChild(r);const n=document.createElement("div");n.setAttribute("class","component-popcontainer__content"),this.content=n,t.appendChild(n),this.rootContainer=t}appendContent(e){this.content.appendChild(e)}}class La extends Oa{constructor(e){super(e),this._initView()}_initView(){const e=document.createElement("div");e.setAttribute("class","component-tabpage");const t=document.createElement("ul");this.header=t;const r=document.createElement("div");r.setAttribute("class","component-tabpage__content"),this.content=r,e.appendChild(t),e.appendChild(r),this.rootContainer=e}setTabs(e){this.removeAllTabs(),this.appendTabs(e)}appendTabs(e){for(let t=0;t<e.length;t++){let r=document.createElement("span");r.index=t,r.appendChild(document.createTextNode(e[t].title)),r.onclick=this._changeTabsPage.bind(this);let s=e[t].content;s.index=t,s.hidden=!0,this.header.appendChild(r),this.content.appendChild(s)}this.header.firstChild.setAttribute("class","on"),this.content.firstChild.hidden=!1}removeTab(e){this.header.removeChild(this.header.children[e]),this.content.removeChild(this.content.children[e])}removeAllTabs(){for(let e=this.header.children.length;e>0;e--)this.header.removeChild(this.header.children[e]),this.content.removeChild(this.content.children[e])}_changeTabsPage(e){const t=e.target.index;for(let e=0;e<this.header.children.length;e++)this.header.children[e].setAttribute("class",""),this.content.children[e].hidden=!0,e===t&&(this.header.children[e].setAttribute("class","on"),this.content.children[e].hidden=!1)}}e.Lang=Ca,e.i18n=e.Lang.i18n,e.Util={...e.Util,...$},e.Browser=X,e.INCHES_PER_UNIT=ee,e.METERS_PER_INCH=te,e.DOTS_PER_INCH=K,e.IS_GECKO=Z,e.setCORS=function(e){Fe=e},e.isCORS=De,e.setRequestTimeout=function(e){return ke=e},e.getRequestTimeout=Ge,e.FetchRequest=Be,e.inherit=function(e,t){var r,s,i,n=function(){};for(n.prototype=t.prototype,e.prototype=new n,r=2,s=arguments.length;r<s;r++)"function"==typeof(i=arguments[r])&&(i=i.prototype),$.extend(e.prototype,i)},e.mixin=z,e.String=J,e.Number=q,e.Function=H,e.Array=W,e.Date=ye,e.Event=ge,e.Bounds=se,e.Credential=me,e.Events=ve,e.Feature=be,e.Geometry=Y,e.Pixel=V,e.Size=U,e.Feature.Vector=xe,e.Geometry.Collection=ie,e.Geometry.Curve=ae,e.Geometry.GeoText=he,e.Geometry.LinearRing=ue,e.Geometry.LineString=le,e.Geometry.MultiLineString=ce,e.Geometry.MultiPoint=ne,e.Geometry.MultiPolygon=de,e.Geometry.Point=oe,e.Geometry.Polygon=pe,e.Geometry.Rectangle=fe,e.Components.Chart=class{constructor(e,t){this.domID=e,this.chartType=t.type||"bar",t.datasets.type=t.datasets.type||"iServer",t.datasets.withCredentials=t.datasets.withCredentials||!1,this.viewModel=new Aa(t),this._fillDataToView()}onAdd(e){this.addChart=e}_fillDataToView(){let e=new xa;this.viewModel.getDatasetInfo(this._createChart.bind(this)),this.viewModel.events.on({getdatafailed:t=>{e.showView(t.message)}})}getStyle(){return this.viewModel.getStyle()}getFeatures(){return this.viewModel.getFeatures()}setStyle(e){let t=this.viewModel.setStyle(e);this._updateChart(t)}changeType(e){if(this.chartType!==e){this.chartType=e;let t=this.viewModel.changeType(e);this._updateChart(t)}}updateData(e,t){let r=this;this.viewModel.updateData(e,t,function(e){r._updateChart(e),r.addChart&&r.addChart()})}_createChart(e){this.echart=wa().init(document.getElementById(this.domID),null,{renderer:"canvas"});let t=this.viewModel._createChartOptions(e);this.echart.setOption(t),this.addChart&&this.addChart()}_updateChart(e){this.echart&&(this.echart.clear(),this.echart.setOption(e))}},e.Components.ChartViewModel=Aa,e.Components.MessageBox=xa,e.Components.AttributesPopContainer=class extends Pa{constructor(e){e.title=e.title?e.title:"属性",super(e),this.rootContainer.firstChild.hidden=!0,e.attributes=e.attributes?e.attributes:[],this._createAttributesTable(e.attributes)}_createAttributesTable(e){const t=document.createElement("table");t.setAttribute("class","component-popcontainer__content__table");const r=document.createElement("tbody");let s=!0;for(let t in e){const i=document.createElement("tr");s&&i.setAttribute("class","component-popcontainer__content__td--color");const n=document.createElement("td"),a=document.createElement("Span");a.innerHTML=t,n.appendChild(a);const o=document.createElement("td");o.innerHTML=e[t],i.appendChild(n),i.appendChild(o),r.appendChild(i),s=!s}t.appendChild(r),this.appendContent(t)}},e.Components.CityTabsPage=class extends La{constructor(e){super(e),this.rootContainer.classList.add("component-citytabpage--noneBoxShadow"),this.config=e.config,$.isArray(this.config)?(this.header.hidden=!0,this._createCityItem("城市",this.config),this.content.style.border="none"):(this._createTabs(),this.header.onclick=(e=>{for(let e=0;e<this.header.children.length;e++)this.header.children[e].setAttribute("class","");e.target.setAttribute("class","on"),this._createCityContent(e.target.innerHTML)}))}_createTabs(){if($.isArray(this.config))for(let e=0;e<this.config.length;e++){let t="";for(const r in this.config[e])t+=r;let r=document.createElement("li");r.innerHTML=t,this.header.appendChild(r)}else for(const e in this.config){let t=document.createElement("li");t.innerHTML=e,this.header.appendChild(t)}this.header.firstChild.setAttribute("class","on"),this._createCityContent(this.header.firstChild.innerHTML)}_createCityContent(e){for(let e=this.content.children.length;e>0;e--)this.content.removeChild(this.content.children[e-1]);const t=this.config[e];for(let e in t)this._createCityItem(e,t[e])}_createCityItem(e,t){const r=document.createElement("div"),s=document.createElement("div");s.setAttribute("class","component-citytabpag__py-key"),s.innerHTML=e,r.appendChild(s);const i=document.createElement("div");i.setAttribute("class","component-citytabpag__content");for(let e=0;e<t.length;e++){let r=document.createElement("span");r.innerHTML=t[e],i.appendChild(r)}"HOT"===e&&(i.style.width="428px"),r.appendChild(i),this.content.appendChild(r)}},e.Components.CommonContainer=class extends Oa{constructor(e){super(e);let t=e.title?e.title:"";this._initView(t)}_initView(e){const t=document.createElement("div");t.setAttribute("class","component-container");const r=document.createElement("div");r.setAttribute("class","component-title");const s=document.createElement("div");s.innerHTML=e,r.appendChild(s),t.appendChild(r);const i=document.createElement("div");return i.setAttribute("class","component-content"),t.appendChild(i),this.content=i,this.rootContainer=t,t}getContentElement(){return this.content}appendContent(e){this.content.appendChild(e)}},e.Components.DropDownBox=class extends Oa{constructor(e){super(e),this._initView(e)}_initView(e){let t=document.createElement("div");t.className="component-dropdownbox--container";let r=document.createElement("div");r.setAttribute("tabindex","1"),r.className="component-dropdownbox",t.appendChild(r);let s=document.createElement("div");r.appendChild(s),this._createDropDownOption(e[0],s);let i=document.createElement("div");i.className="component-dropdownbox__triangle-btn",r.appendChild(i);let n=document.createElement("div");n.className="component-triangle-down-img",i.appendChild(n);let a={parentEle:r,dropDownContent:["component-dropdownbox__content component-dropdownbox__content--chart","dropDownContent"],scrollareaContent:"component-selecttool__scrollarea__content",optionsArr:e,triangleBtn:n,dropDownTopContainer:s};this._createDropDownBox(a),this.rootContainer=t}_createDropDownBox(e){let t=e.parentEle,r=e.dropDownTopContainer,s=document.createElement("div");s.className=e.dropDownContent[0],t.appendChild(s);let i=document.createElement("div");i.className=e.scrollareaContent,s.appendChild(i);let n=e.optionsArr;for(let e=0;e<n.length;e++)this._createDropDownOption(n[e],i);let a=e.triangleBtn;this._dropDownClickEvent(t,s,a),this._eleOnblur(t,s,a);let o=i.children;for(let e=0;e<o.length;e++)o[e].onclick=function(){r.innerHTML=o[e].outerHTML}}_createDropDownOption(e,t){let r=document.createElement("div");r.className="component-dropdownbox__item";let s=e;s.dataValue&&r.setAttribute("data-value",s.dataValue),t.appendChild(r);let i=document.createElement("div");i.className="component-dropdownbox__item__img",r.appendChild(i);let n=document.createElement("div");s.icon.className&&(n.className=s.icon.className),s.icon.background&&(n.style.background=s.icon.background),i.appendChild(n);let a=document.createElement("div");a.className="component-dropdownbox__item__title",a.title=s.title,a.innerHTML=s.title,r.appendChild(a);let o=document.createElement("div");o.className="component-dropdownbox__item__remark",o.title=s.remark,o.innerHTML=s.remark,r.appendChild(o)}_dropDownClickEvent(e,t,r){e.onclick=function(e){"block"===t.style.display?(t.style.display="none",r.className="component-triangle-down-img"):(t.style.display="block",r.className="triangle-up-img"),e.preventDefault(),e.stopPropagation()},e.onmousedown=function(e){e.target!==this&&(this.focus(),e.preventDefault(),e.stopPropagation())}}_eleOnblur(e,t,r){e.onblur=function(){t.style.display="none",r.className="component-triangle-down-img"}}_createElement(e,t,r){let s=document.createElement(e||"div");return t&&(s.className=t),r&&r.appendChild(s),s}},e.Components.IndexTabsPageContainer=La,e.Components.NavTabsPage=class extends Oa{constructor(e){super(e),this.navTabsTitle=null,this.navTabsContent=null,e.tabs=e.tabs?e.tabs:[],this._initView(e.tabs)}_initView(e){const t=document.createElement("div");t.setAttribute("class","component-navtabspage");const r=document.createElement("span");r.setAttribute("class","supermapol-icons-close"),r.onclick=this.closeView.bind(this),t.appendChild(r);const s=document.createElement("div");this.navTabsTitle=s,s.setAttribute("class","component-navtabspage__title"),t.appendChild(s);const i=document.createElement("div");this.navTabsContent=i,i.setAttribute("class","component-navtabspage__content"),t.appendChild(i),e.length>0&&this.appendTabs(e),this.rootContainer=t}setTabs(e){this.removeAllTabs(),this.appendTabs(e)}appendTabs(e){for(let t=0;t<e.length;t++){let r=document.createElement("span");r.index=t,r.appendChild(document.createTextNode(e[t].title)),r.onclick=this._changeTabsPage.bind(this);let s=e[t].content;s.index=t,s.hidden=!0,this.navTabsTitle.appendChild(r),this.navTabsContent.appendChild(s)}this.navTabsTitle.firstChild.setAttribute("class","component-navtabspage__tabs--select"),this.navTabsContent.firstChild.hidden=!1}removeTab(e){this.navTabsTitle.removeChild(this.navTabsTitle.children[e]),this.navTabsContent.removeChild(this.navTabsContent.children[e])}removeAllTabs(){for(let e=this.navTabsTitle.children.length;e>0;e--)this.navTabsTitle.removeChild(this.navTabsTitle.children[e]),this.navTabsContent.removeChild(this.navTabsContent.children[e])}_changeTabsPage(e){const t=e.target.index;for(let e=0;e<this.navTabsTitle.children.length;e++)this.navTabsTitle.children[e].setAttribute("class",""),this.navTabsContent.children[e].hidden=!0,e===t&&(this.navTabsTitle.children[e].setAttribute("class","component-navtabspage__tabs--select"),this.navTabsContent.children[e].hidden=!1)}},e.Components.PaginationContainer=class extends Oa{constructor(e){super(e=e||{}),this.currentPage=0,this.pageNumberLis=[],this.currentPageNumberLis=[],this.linkageEvent=null,e.contents=e.contents?e.contents:null,e.pageCounts=e.pageCounts?e.pageCounts:0,this._initView(e.contents,e.pageCounts)}setLinkageEvent(e){this.linkageEvent=e}_initView(e,t){const r=document.createElement("div");r.setAttribute("class","component-pagination");const s=document.createElement("div");s.setAttribute("class","component-pagination__content"),r.appendChild(s),this.content=s;const i=document.createElement("ul");i.setAttribute("class","component-pagination__link"),i.onclick=this._changePageEvent.bind(this),r.appendChild(i),this._createLink(i),this.link=i,e&&this.setContent(e),0!==t&&this.setPageLink(t),this.rootContainer=r}setContent(e){this.clearContent(),this.appendContent(e)}appendContent(e){this.content.appendChild(e)}clearContent(){for(let e=this.content.children.length-1;e>=0;e--)this.content.removeChild(this.content.children[e])}setPageLink(e){this.pageNumberLis=[],this.currentPageNumberLis=[],this.clearPageLink(),this._createPageLi(e),this._appendPageLink()}_createPageLi(e){for(let t=0;t<e;t++){const e=document.createElement("li");e.innerHTML=t+1,this.pageNumberLis.push(e)}if(this.pageNumberLis[0].setAttribute("class","active"),this.currentPage=1,e<5)this.currentPageNumberLis=this.pageNumberLis;else for(let e=0;e<5;e++)this.currentPageNumberLis.push(this.pageNumberLis[e])}_appendPageLink(){for(let e=0;e<this.currentPageNumberLis.length;e++)this.link.insertBefore(this.currentPageNumberLis[e],this.link.childNodes[this.link.children.length-2]);for(let e=0;e<this.currentPageNumberLis.length;e++)this.currentPageNumberLis[e].setAttribute("class",""),Number(this.currentPageNumberLis[e].innerHTML)===this.currentPage&&this.currentPageNumberLis[e].setAttribute("class","active");this._changeDisableState(),this.linkageEvent&&this.linkageEvent(this.currentPage)}clearPageLink(){for(let e=this.link.children.length-3;e>1;e--)this.link.removeChild(this.link.children[e])}_createLink(e){for(let t=0;t<4;t++){const r=document.createElement("li");r.setAttribute("class","disable");const s=document.createElement("span");r.appendChild(s),0===t?(s.id="first",s.setAttribute("class","supermapol-icons-first")):1===t?(s.id="prev",s.setAttribute("class","supermapol-icons-prev")):2===t?(s.id="next",s.setAttribute("class","supermapol-icons-next")):3===t&&(s.id="last",s.setAttribute("class","supermapol-icons-last")),e.appendChild(r)}}_changePageEvent(e){const t=e.target;if("disable"===t.parentElement.classList[0])return;let r;if(t.id)r=t.id;else{if(!Number(t.innerHTML))return;r=Number(t.innerHTML)}this._prePageNum(r),this.clearPageLink(),this._appendPageLink()}_changeDisableState(){this.link.children[0].setAttribute("class",""),this.link.children[1].setAttribute("class",""),this.link.children[this.link.children.length-1].setAttribute("class",""),this.link.children[this.link.children.length-2].setAttribute("class",""),1===this.currentPage&&(this.link.children[0].setAttribute("class","disable"),this.link.children[1].setAttribute("class","disable")),this.currentPage===this.pageNumberLis.length&&(this.link.children[this.link.children.length-1].setAttribute("class","disable"),this.link.children[this.link.children.length-2].setAttribute("class","disable"))}_prePageNum(e){const t=[];if(this.currentPage="first"===e?1:"last"===e?this.pageNumberLis.length:"prev"===e?this.currentPage-1:"next"===e?this.currentPage+1:e,this.pageNumberLis.length<=5)for(let e=0;e<this.pageNumberLis.length;e++)t.push(this.pageNumberLis[e]);else if(this.currentPage<=3)for(let e=0;e<5;e++)t.push(this.pageNumberLis[e]);else if(this.currentPage>=this.pageNumberLis.length-3)for(let e=this.pageNumberLis.length-5;e<this.pageNumberLis.length;e++)t.push(this.pageNumberLis[e]);else for(let e=this.currentPage-3;e<=this.currentPage+1;e++)t.push(this.pageNumberLis[e]);t.length>0&&(this.currentPageNumberLis=t)}},e.Components.PopContainer=Pa,e.Components.Select=class extends Oa{constructor(e){super(e),this._initView(e)}_initView(e){let t=this._createElement("div","component-selecttool");e.labelName&&(this._createElement("label","component-selecttool__lable--describe",t).innerHTML=e.labelName);let r=this._createElement("div","component-selecttool--chart",t);r.setAttribute("tabindex","1");let s=this._createElement("div","component-selecttool__name",r);s.title=e.optionsArr[0],s.innerHTML=e.optionsArr[0];let i=this._createElement("div","component-selecttool__trianglebtn--chart",r),n=this._createElement("div","component-triangle-down-img",i),a=this._createElement("div","component-selecttool__content",r),o=this._createElement("div","component-selecttool__content--chart",a),l=this._createElement("div","component-selecttool__scrollarea__content",o);l.setAttribute("tabindex","1"),this.createOptions(l,e.optionsArr),this.optionClickEvent(l,s,e.optionsClickCb),this._selectClickEvent(r,a,n),this.rootContainer=t}createOptions(e,t){for(let r in t){let s=this._createElement("div","component-selecttool__option",e);s.title=t[r],s.innerHTML=t[r]}}_selectClickEvent(e,t,r){e.onclick=function(e){"block"===t.style.display?(t.style.display="none",r.className="component-triangle-down-img"):(t.style.display="block",r.className="triangle-up-img"),e.preventDefault(),e.stopPropagation()},e.onmousedown=function(e){e.target!==this&&(this.focus(),e.preventDefault(),e.stopPropagation())},e.onblur=function(){t.style.display="none",r.className="component-triangle-down-img"}}_createElement(e,t,r){let s=document.createElement(e||"div");return t&&(s.className=t),r&&r.appendChild(s),s}optionClickEvent(e,t,r){for(let s=0;s<e.children.length;s++){let i=e.children[s];i.onclick=function(){t.innerHTML=i.innerHTML,t.title=i.title,i.getAttribute("data-value")&&t.setAttribute("data-value",i.getAttribute("data-value")),r&&r(i)}}}},e.Components.TemplateBase=Oa,e.Components.FileReaderUtil=Ma,e.TimeControlBase=Pe,e.TimeFlowControl=class extends Pe{constructor(e,t){super(t);var r=this;r.callback=e,Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t=Array.prototype.slice.call(arguments,1),r=this,s=function(){},i=function(){return r.apply(this instanceof s&&e?this:e,t.concat(Array.prototype.slice.call(arguments)))};return s.prototype=this.prototype,i.prototype=new s,i}),r.update=r.update.bind(r),r.oldTime=r.currentTime,r.CLASS_NAME="SuperMap.TimeFlowControl"}updateOptions(e){e=e||{},super.updateOptions(e)}start(){var e=this;e.running||(e.running=!0,e.reverse?e.currentTime===e.startTime&&(e.oldTime=e.endTime,e.currentTime=e.oldTime):e.oldTime===e.endTime&&(e.currentTime=e.startTime,e.oldTime=e.currentTime),e.tick())}stop(){super.stop();var e=this;e.oldTime=e.currentTime,e.running&&(e.running=!1),e.intervalId&&window.clearTimeout(e.intervalId)}destroy(){super.destroy(),this.oldTime=null,this.callback=null}tick(){var e=this;e.intervalId&&window.clearInterval(e.intervalId),e.intervalId=null,e.update(),e.intervalId=window.setInterval(e.update,e.frequency)}update(){var e=this;if(e.running)if(e.callback&&e.callback(e.currentTime),e.reverse){if(e.currentTime===e.startTime){if(!e.repeat)return e.running=!1,null;e.oldTime=e.endTime,e.currentTime=e.oldTime}else e.currentTime=e.oldTime,e.oldTime-=e.speed;e.oldTime<=e.startTime&&(e.oldTime=e.startTime)}else{if(e.currentTime===e.endTime){if(!e.repeat)return e.running=!1,e.stop(),null;e.stop(),e.currentTime=e.startTime,e.oldTime=e.currentTime,e.start()}else e.oldTime=e.currentTime,e.currentTime+=e.speed;e.currentTime>=e.endTime&&(e.currentTime=e.endTime)}}},e.Format=e.Format||_e,e.Format.GeoJSON=Oe,e.Format.JSON=we,e.Format.WKT=class extends _e{constructor(e){super(e),this.regExes={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/},this.CLASS_NAME="SuperMap.Format.WKT",this.extract={point:function(e){return e.x+" "+e.y},multipoint(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push("("+this.extract.point.apply(this,[e.components[r]])+")");return t.join(",")},linestring(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extract.point.apply(this,[e.components[r]]));return t.join(",")},multilinestring(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push("("+this.extract.linestring.apply(this,[e.components[r]])+")");return t.join(",")},polygon(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push("("+this.extract.linestring.apply(this,[e.components[r]])+")");return t.join(",")},multipolygon(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push("("+this.extract.polygon.apply(this,[e.components[r]])+")");return t.join(",")},collection(e){for(var t=[],r=0,s=e.components.length;r<s;++r)t.push(this.extractGeometry.apply(this,[e.components[r]]));return t.join(",")}},this.parse={point:function(e){var t=J.trim(e).split(this.regExes.spaces);return new xe(new oe(t[0],t[1]))},multipoint:function(e){for(var t,r=J.trim(e).split(","),s=[],i=0,n=r.length;i<n;++i)t=r[i].replace(this.regExes.trimParens,"$1"),s.push(this.parse.point.apply(this,[t]).geometry);return new xe(new ne(s))},linestring:function(e){for(var t=J.trim(e).split(","),r=[],s=0,i=t.length;s<i;++s)r.push(this.parse.point.apply(this,[t[s]]).geometry);return new xe(new le(r))},multilinestring:function(e){for(var t,r=J.trim(e).split(this.regExes.parenComma),s=[],i=0,n=r.length;i<n;++i)t=r[i].replace(this.regExes.trimParens,"$1"),s.push(this.parse.linestring.apply(this,[t]).geometry);return new xe(new ce(s))},polygon:function(e){for(var t,r,s,i=J.trim(e).split(this.regExes.parenComma),n=[],a=0,o=i.length;a<o;++a)t=i[a].replace(this.regExes.trimParens,"$1"),r=this.parse.linestring.apply(this,[t]).geometry,s=new ue(r.components),n.push(s);return new xe(new pe(n))},multipolygon:function(e){for(var t,r=J.trim(e).split(this.regExes.doubleParenComma),s=[],i=0,n=r.length;i<n;++i)t=r[i].replace(this.regExes.trimParens,"$1"),s.push(this.parse.polygon.apply(this,[t]).geometry);return new xe(new de(s))},geometrycollection:function(e){e=e.replace(/,\s*([A-Za-z])/g,"|$1");for(var t=J.trim(e).split("|"),r=[],s=0,i=t.length;s<i;++s)r.push(this.read(t[s]));return r}}}read(e){var t,r,s;e=e.replace(/[\n\r]/g," ");var i=this.regExes.typeStr.exec(e);return i&&(r=i[1].toLowerCase(),s=i[2],this.parse[r]&&(t=this.parse[r].apply(this,[s]))),t}write(e){var t,r,s;e.constructor===Array?(t=e,s=!0):(t=[e],s=!1);var i=[];s&&i.push("GEOMETRYCOLLECTION(");for(var n=0,a=t.length;n<a;++n)s&&n>0&&i.push(","),r=t[n].geometry,i.push(this.extractGeometry(r));return s&&i.push(")"),i.join("")}extractGeometry(e){var t=e.CLASS_NAME.split(".")[2].toLowerCase();return this.extract[t]?("collection"===t?"GEOMETRYCOLLECTION":t.toUpperCase())+"("+this.extract[t].apply(this,[e])+")":null}},e.iManager=class extends Ue{constructor(e){super(e)}load(){return this.request("GET",this.serviceUrl+"/web/api/service.json")}createIServer(e){return this.request("POST",this.serviceUrl+"/icloud/web/nodes/server.json",new Ve(e))}createIPortal(e){return this.request("POST",this.serviceUrl+"/icloud/web/nodes/portal.json",new Ve(e))}iServerList(){return this.request("GET",this.serviceUrl+"/icloud/web/nodes/server.json")}iPortalList(){return this.request("GET",this.serviceUrl+"/icloud/web/nodes/portal.json")}startNodes(e){return this.request("POST",this.serviceUrl+"/icloud/web/nodes/started.json",e)}stopNodes(e){return this.request("POST",this.serviceUrl+"/icloud/web/nodes/stopped.json",e)}},e.iManagerCreateNodeParam=Ve,e.iManagerServiceBase=Ue,e.iPortal=class extends ze{constructor(e,t){super(e,t),this.iportalUrl=e,t=t||{},this.withCredentials=t.withCredentials||!1}load(){return Be.get(this.iportalUrl+"/web")}queryResources(e){if(!(e instanceof Je))return new Promise(function(e){e("queryParams is not instanceof iPortalQueryParam !")});var t=this,r=this.iportalUrl+"/gateway/catalog/resource/search.json";return e.t=(new Date).getTime(),this.request("GET",r,e).then(function(e){var r=[];e.content.forEach(function(e){r.push(new He(t.iportalUrl,e))});let s=new qe;return s.content=r,s.total=e.total,s.currentPage=e.currentPage,s.pageSize=e.pageSize,s.aggregations=e.aggregations,s})}updateResourcesShareSetting(e){if(!(e instanceof We))return new Promise(function(e){e("shareParams is not instanceof iPortalShareParam !")});var t=e.resourceType.replace("_","").toLowerCase()+"s";"datas"===t&&(t="mycontent/"+t);var r={ids:e.ids,entities:e.entities},s=this.iportalUrl+"/web/"+t+"/sharesetting.json";return this.request("PUT",s,JSON.stringify(r)).then(function(e){return e})}},e.iPortalAddDataParam=Qe,e.iPortalAddResourceParam=Ye,e.iPortalDataConnectionInfoParam=$e,e.iPortalDataMetaInfoParam=Ze,e.iPortalDataStoreInfoParam=Ke,e.iPortalQueryParam=Je,e.iPortalQueryResult=qe,e.iPortalRegisterServiceParam=Xe,e.iPortalResource=He,e.iPortalServiceBase=ze,e.iPortalShareEntity=class{constructor(e){e=e||{},this.permissionType="",this.entityType="",this.entityName="GUEST",this.entityId=null,$.extend(this,e)}},e.iPortalShareParam=We,e.iPortalUser=class extends ze{constructor(e){super(e),this.iportalUrl=e}deleteResources(e){var t=e.resourceType.replace("_","").toLowerCase(),r=this.iportalUrl+"/web/"+t+"s.json?ids="+encodeURI(JSON.stringify(e.ids));return"data"===t?(r=this.iportalUrl+"/web/mycontent/datas/delete.json",this.request("POST",r,JSON.stringify(e.ids))):this.request("DELETE",r)}addMap(e){if(!(e instanceof Ye))return this.getErrMsgPromise("addMapParams is not instanceof IPortalAddResourceParam !");let t={rootUrl:e.rootUrl,tags:e.tags,authorizeSetting:e.entities},r=this.iportalUrl+"/web/maps/batchaddmaps.json";return this.request("POST",r,JSON.stringify(t)).then(function(e){return e})}addScene(e){if(!(e instanceof Ye))return this.getErrMsgPromise("addSceneParams is not instanceof IPortalAddResourceParam !");let t={rootUrl:e.rootUrl,tags:e.tags,authorizeSetting:e.entities},r=this.iportalUrl+"/web/scenes/batchaddscenes.json";return this.request("POST",r,JSON.stringify(t)).then(function(e){return e})}registerService(e){if(!(e instanceof Xe))return this.getErrMsgPromise("registerParams is not instanceof IPortalRegisterServiceParam !");let t={type:e.type,tags:e.tags,authorizeSetting:e.entities,metadata:e.metadata,addedMapNames:e.addedMapNames,addedSceneNames:e.addedSceneNames},r=this.iportalUrl+"/web/services.json";return this.request("POST",r,JSON.stringify(t)).then(e=>e)}getErrMsgPromise(e){return new Promise(t=>{t(e)})}uploadDataRequest(e,t){var r=this.iportalUrl+"/web/mycontent/datas/"+e+"/upload.json";return this.request("POST",r,t)}addData(e,t){if(!(e instanceof Qe))return this.getErrMsgPromise("params is not instanceof iPortalAddDataParam !");var r,s=this.iportalUrl+"/web/mycontent/datas.json",i={fileName:e.fileName,tags:e.tags,type:e.type},n=e.type.toLowerCase();if("excel"===n||"csv"===n){if(!(e.dataMetaInfo instanceof Ze))return this.getErrMsgPromise("params.dataMetaInfo is not instanceof iPortalDataMetaInfoParam !");r={xField:e.dataMetaInfo.xField,yField:e.dataMetaInfo.yField},"csv"===n&&(r.fileEncoding=e.dataMetaInfo.fileEncoding),i.coordType="WGS84",i.dataMetaInfo=r}else if("hdfs"===n||"hbase"===n){if(!(e.dataMetaInfo instanceof Ze))return this.getErrMsgPromise("params.dataMetaInfo is not instanceof iPortalDataMetaInfoParam !");if(!(e.dataMetaInfo.dataStoreInfo instanceof Ke))return this.getErrMsgPromise("params.dataMetaInfo.dataStoreInfo is not instanceof iPortalDataStoreInfoParam !");var a={type:e.dataMetaInfo.dataStoreInfo.type};switch(n){case"hdfs":a.url=e.dataMetaInfo.dataStoreInfo.url,r={url:e.dataMetaInfo.url,dataStoreInfo:a};break;case"hbase":if(!(e.dataMetaInfo.dataStoreInfo.connectionInfo instanceof $e))return this.getErrMsgPromise("params.dataMetaInfo.dataStoreInfo.connectionInfo is not instanceof iPortalDataConnectionInfoParam !");a.connectionInfo={dataBase:e.dataMetaInfo.dataStoreInfo.connectionInfo.dataBase,server:e.dataMetaInfo.dataStoreInfo.connectionInfo.server,engineType:"HBASE"},a.datastoreType="SPATIAL",r={dataStoreInfo:a}}i.dataMetaInfo=r}return this.request("POST",s,JSON.stringify(i)).then(e=>"hdfs"===n||"hbase"===n?e:e.childID?this.uploadDataRequest(e.childID,t):e.customResult)}publishOrUnpublish(e,t){if(!e.dataId||!e.serviceType)return this.getErrMsgPromise("option.dataID and option.serviceType are Required!");var r=e.dataId,s=e.dataServiceId,i=e.serviceType,n=this.iportalUrl+"/web/mycontent/datas/"+r+"/publishstatus.json?serviceType="+i;return s&&(n+="&dataServiceId="+s),this.request("PUT",n,JSON.stringify(t)).then(e=>t?(s||(s=e.customResult),s):e)}getDataPublishedStatus(e,t){var r=this.iportalUrl+"/web/mycontent/datas/"+e+"/publishstatus.json?dataServiceId="+t+"&forPublish=true";return this.request("GET",r)}unPublishDataService(e){return this.publishOrUnpublish(e,!1)}publishDataService(e){return this.publishOrUnpublish(e,!0)}},e.AddressMatchService=st,e.AggregationParameter=it,e.AreaSolarRadiationParameters=at,e.AreaSolarRadiationService=lt,e.BucketAggParameter=nt,e.BufferAnalystParameters=ct,e.BufferAnalystService=yt,e.BufferDistance=ht,e.BuffersAnalystJobsParameter=St,e.BuffersAnalystJobsService=_t,e.BufferSetting=ut,e.BurstPipelineAnalystParameters=wt,e.BurstPipelineAnalystService=Tt,e.ChartFeatureInfoSpecsService=Mt,e.ChartQueryFilterParameter=Et,e.ChartQueryParameters=At,e.ChartQueryService=Pt,e.ClipParameter=class{constructor(e){this.clipDatasetName=null,this.clipDatasourceName=null,this.clipRegion=null,this.isClipInRegion=!0,this.isExactClip=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.ClipParameter"}destroy(){var e=this;e.clipDatasetName=null,e.clipDatasourceName=null,e.clipRegion=null,e.isClipInRegion=null,e.isExactClip=null}toJSON(){return $.toJSON({isClipInRegion:this.isClipInRegion,clipDatasetName:this.clipDatasetName,clipDatasourceName:this.clipDatasourceName,isExactClip:this.isExactClip,clipRegion:Ae.fromGeometry(this.clipRegion)})}},e.ColorDictionary=Lt,e.CommonServiceBase=et,e.ComputeWeightMatrixParameters=Ft,e.ComputeWeightMatrixService=kt,e.CreateDatasetParameters=Gi,e.DataFlowService=Rt,e.DataReturnOption=dt,e.DatasetBufferAnalystParameters=ft,e.DatasetInfo=Dt,e.DatasetOverlayAnalystParameters=Bt,e.DatasetService=Lr,e.DatasetSurfaceAnalystParameters=Vt,e.DatasetThiessenAnalystParameters=Jt,e.DatasourceConnectionInfo=gt,e.DatasourceService=qt,e.DensityAnalystService=Wt,e.DensityKernelAnalystParameters=Ht,e.EditFeaturesParameters=Yt,e.EditFeaturesService=Xt,e.FacilityAnalyst3DParameters=Qt,e.FacilityAnalystSinks3DParameters=Zt,e.FacilityAnalystSinks3DService=Kt,e.FacilityAnalystSources3DParameters=$t,e.FacilityAnalystSources3DService=er,e.FacilityAnalystStreamParameters=tr,e.FacilityAnalystStreamService=rr,e.FacilityAnalystTracedown3DParameters=sr,e.FacilityAnalystTracedown3DService=ir,e.FacilityAnalystTraceup3DParameters=nr,e.FacilityAnalystTraceup3DService=ar,e.FacilityAnalystUpstream3DParameters=or,e.FacilityAnalystUpstream3DService=lr,e.FieldParameters=hr,e.FieldsFilter=an,e.FieldStatisticService=ur,e.FieldStatisticsParameters=class extends hr{constructor(e){super(e),this.fieldName=null,this.statisticMode=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.FieldStatisticsParameters"}destroy(){this.fieldName=null,this.statisticMode=null}},e.FilterParameter=pt,e.FindClosestFacilitiesParameters=cr,e.FindClosestFacilitiesService=dr,e.FindLocationParameters=pr,e.FindLocationService=fr,e.FindMTSPPathsParameters=mr,e.FindMTSPPathsService=yr,e.FindPathParameters=gr,e.FindPathService=vr,e.FindServiceAreasParameters=br,e.FindServiceAreasService=Sr,e.FindTSPPathsParameters=xr,e.FindTSPPathsService=_r,e.GenerateSpatialDataParameters=wr,e.GenerateSpatialDataService=Cr,e.GeoCodingParameter=tt,e.GeoDecodingParameter=rt,e.GeoHashGridAggParameter=class extends nt{constructor(e){super(),this.precision=5,$.extend(this,e),this.aggType=G.GEOHASH_GRID,this.CLASS_NAME="SuperMap.GeoHashGridAggParameter"}destroy(){super.destroy(),this.aggType=null,this.precision=null}static toJsonParameters(e){var t={aggName:e.aggName,aggFieldName:e.aggFieldName,aggType:e.aggType,precision:e.precision};return $.toJson(t)}},e.GeometryBatchAnalystService=Ai,e.GeometryBufferAnalystParameters=mt,e.GeometryOverlayAnalystParameters=Tr,e.GeometrySurfaceAnalystParameters=Mr,e.GeometryThiessenAnalystParameters=Er,e.GeoprocessingService=Ar,e.GeoRelationAnalystParameters=Or,e.GeoRelationAnalystService=Pr,e.GetFeaturesByBoundsParameters=Nr,e.GetFeaturesByBoundsService=kr,e.GetFeaturesByBufferParameters=Rr,e.GetFeaturesByBufferService=Dr,e.GetFeaturesByGeometryParameters=Gr,e.GetFeaturesByGeometryService=Br,e.GetFeaturesByIDsParameters=jr,e.GetFeaturesByIDsService=Ur,e.GetFeaturesBySQLParameters=Vr,e.GetFeaturesBySQLService=zr,e.GetFeaturesParametersBase=Ir,e.GetFeaturesServiceBase=Fr,e.GetFieldsService=Jr,e.GetGridCellInfosParameters=qr,e.GetGridCellInfosService=Hr,e.GetLayersInfoService=_s,e.Grid=bs,e.HillshadeParameter=class extends qi{constructor(e){super(e),this.altitude=45,this.azimuth=315,this.zFactor=1,this.type=j.HILLSHADE,$.extend(this,e),this.CLASS_NAME="SuperMap.HillshadeParameter"}destroy(){super.destroy(),this.altitude=null,this.azimuth=null,this.zFactor=null}toJSON(){return{altitude:this.altitude,azimuth:this.azimuth,zFactor:this.zFactor,type:this.type}}},e.Image=Ss,e.ImageCollectionService=sn,e.ImageGFAspect=dn,e.ImageGFHillShade=cn,e.ImageGFOrtho=pn,e.ImageGFSlope=fn,e.ImageRenderingRule=un,e.ImageSearchParameter=ln,e.ImageService=nn,e.ImageStretchOption=hn,e.InterpolationAnalystParameters=ws,e.InterpolationAnalystService=As,e.InterpolationDensityAnalystParameters=Ts,e.InterpolationIDWAnalystParameters=Ms,e.InterpolationKrigingAnalystParameters=Es,e.InterpolationRBFAnalystParameters=Cs,e.JoinItem=ys,e.KernelDensityJobParameter=Os,e.KernelDensityJobsService=Ps,e.LabelImageCell=class extends Ls{constructor(e){super(e),this.height=0,this.pathField=null,this.rotation=0,this.width=0,this.sizeFixed=!1,this.type="IMAGE",e&&$.extend(this,e),this.CLASS_NAME="SuperMap.LabelImageCell"}destroy(){var e=this;e.height=null,e.pathField=null,e.rotation=null,e.width=null,e.sizeFixed=null}},e.LabelMatrixCell=Ls,e.LabelMixedTextStyle=Kr,e.LabelSymbolCell=class extends Ls{constructor(e){super(e),this.style=new Te,this.symbolIDField=null,this.type="SYMBOL",e&&$.extend(this,e),this.CLASS_NAME="SuperMap.LabelSymbolCell"}destroy(){this.style&&(this.style.destroy(),this.style=null),this.symbolIDField=null}},e.LabelThemeCell=class extends Ls{constructor(e){super(e),this.themeLabel=new rs,this.type="THEME",e&&$.extend(this,e),this.CLASS_NAME=" SuperMap.LabelThemeCell"}destroy(){this.themeLabel&&(this.themeLabel.destroy(),this.themeLabel=null)}},e.LayerStatus=class{constructor(e){this.layerName=null,this.isVisible=null,this.displayFilter=null,this.fieldValuesDisplayFilter=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.LayerStatus"}destroy(){this.layerName=null,this.isVisible=null,this.displayFilter=null}toJSON(){var e="{";e+='"type":"UGC",';var t=[];return this.layerName&&(t.push('"name":"'+this.layerName+'"'),t.push('"visible":'+this.isVisible)),this.displayFilter&&t.push('"displayFilter":"'+this.displayFilter+'"'),(this.minScale||0==this.minScale)&&t.push('"minScale":'+this.minScale),(this.maxScale||0==this.maxScale)&&t.push('"maxScale":'+this.maxScale),this.fieldValuesDisplayFilter&&t.push('"fieldValuesDisplayFilter":'+$.toJSON(this.fieldValuesDisplayFilter)),e+=t,e+="}"}},e.LinkItem=class{constructor(e){this.datasourceConnectionInfo=null,this.foreignKeys=null,this.foreignTable=null,this.linkFields=null,this.linkFilter=null,this.name=null,this.primaryKeys=null,e&&$.extend(this,e),this.CLASS_NAME="SuperMap.LinkItem"}destroy(){var e=this;e.datasourceConnectionInfo instanceof gt&&(e.datasourceConnectionInfo.destroy(),e.datasourceConnectionInfo=null),e.foreignKeys=null,e.foreignTable=null,e.linkFields=null,e.linkFilter=null,e.name=null,e.primaryKeys=null}},e.MappingParameters=bt,e.MapService=Is,e.MathExpressionAnalysisParameters=Ns,e.MathExpressionAnalysisService=Fs,e.MeasureParameters=ks,e.MeasureService=Rs,e.MetricsAggParameter=class extends it{constructor(e){super(),this.aggType=B.AVG,$.extend(this,e),this.CLASS_NAME="SuperMap.MetricsAggParameter"}destroy(){super.destroy(),this.aggType=null}},e.NDVIParameter=class extends qi{constructor(e){super(e),this.redIndex=0,this.nirIndex=1,this.colorMap="0:ffffe5ff;0.1:f7fcb9ff;0.2:d9f0a3ff;0.3:addd8eff;0.4:78c679ff;0.5:41ab5dff;0.6:238443ff;0.7:006837ff;1:004529ff",this.type=j.NDVI,$.extend(this,e),this.CLASS_NAME="SuperMap.NDVIParameter"}destroy(){super.destroy(),this.redIndex=null,this.nirIndex=null,this.colorMap=null}toJSON(){return{redIndex:this.redIndex,nirIndex:this.nirIndex,colorMap:this.colorMap,type:this.type}}},e.NetworkAnalystServiceBase=Ct,e.OutputSetting=vt,e.OverlapDisplayedOptions=class{constructor(e){e=e||{},this.allowPointOverlap=!0,this.allowPointWithTextDisplay=!0,this.allowTextOverlap=!1,this.allowTextAndPointOverlap=!0,this.allowThemeGraduatedSymbolOverlap=!1,this.allowThemeGraphOverlap=!1,this.horizontalOverlappedSpaceSize=0,this.verticalOverlappedSpaceSize=0,$.extend(this,e),this.ugcLayer=new fs(e),this.CLASS_NAME="SuperMap.OverlapDisplayedOptions"}destroy(){$.reset(this)}fromJson(e){this.ugcLayer.fromJson.apply(this,[e])}toServerJSONObject(){return this.ugcLayer.toServerJSONObject.apply(this,arguments)}toString(){var e=this.ugcLayer.toServerJSONObject.apply(this,arguments),t="{";for(var r in e)e.hasOwnProperty(r)&&(t+="'"+r+"':"+e[r]+",");return t=t.substr(0,t.length-1),t+="}"}},e.OverlayAnalystParameters=Gt,e.OverlayAnalystService=Ds,e.OverlayGeoJobParameter=Gs,e.OverlayGeoJobsService=Bs,e.PointWithMeasure=Me,e.ProcessingServiceBase=xt,e.QueryByBoundsParameters=js,e.QueryByBoundsService=Vs,e.QueryByDistanceParameters=zs,e.QueryByDistanceService=Js,e.QueryByGeometryParameters=qs,e.QueryByGeometryService=Hs,e.QueryBySQLParameters=Ws,e.QueryBySQLService=Ys,e.QueryParameters=Ot,e.QueryService=Us,e.RasterFunctionParameter=qi,e.Route=Ee,e.RouteCalculateMeasureParameters=Xs,e.RouteCalculateMeasureService=Qs,e.RouteLocatorParameters=Zs,e.RouteLocatorService=Ks,e.ServerColor=Ce,e.ServerFeature=$s,e.ServerGeometry=Ae,e.ServerStyle=Te,e.ServerTextStyle=Yr,e.ServerTheme=vs,e.SetDatasourceParameters=ei,e.SetLayerInfoParameters=class{constructor(e){e=e||{},this.resourceID=null,this.tempLayerName=null,this.layerInfo=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SetLayerInfoParameters"}destroy(){this.resourceID=null,this.tempLayerName=null,this.layerInfo=null}},e.SetLayerInfoService=ti,e.SetLayersInfoParameters=class{constructor(e){e=e||{},this.isTempLayers=null,this.resourceID=null,this.layersInfo=null,$.extend(this,e),this.CLASS_NAME="SuperMap.SetLayersInfoParameters"}destroy(){this.isTempLayers=null,this.resourceID=null,this.layersInfo=null}},e.SetLayersInfoService=ri,e.SetLayerStatusParameters=si,e.SetLayerStatusService=ii,e.SingleObjectQueryJobsParameter=ni,e.SingleObjectQueryJobsService=ai,e.Sortby=on,e.SpatialAnalystBase=ot,e.StopQueryParameters=oi,e.StopQueryService=li,e.SummaryAttributesJobsParameter=hi,e.SummaryAttributesJobsService=ui,e.SummaryMeshJobParameter=ci,e.SummaryMeshJobsService=di,e.SummaryRegionJobParameter=pi,e.SummaryRegionJobsService=fi,e.SupplyCenter=mi,e.SurfaceAnalystParameters=Ut,e.SurfaceAnalystParametersSetting=jt,e.SurfaceAnalystService=yi,e.TerrainCurvatureCalculationParameters=gi,e.TerrainCurvatureCalculationService=vi,e.Theme=Wr,e.ThemeDotDensity=hs,e.ThemeFlow=bi,e.ThemeGraduatedSymbol=cs,e.ThemeGraduatedSymbolStyle=us,e.ThemeGraph=ls,e.ThemeGraphAxes=is,e.ThemeGraphItem=os,e.ThemeGraphSize=ns,e.ThemeGraphText=as,e.ThemeGridRange=xi,e.ThemeGridRangeItem=Si,e.ThemeGridUnique=wi,e.ThemeGridUniqueItem=_i,e.ThemeLabel=rs,e.ThemeLabelAlongLine=es,e.ThemeLabelBackground=ts,e.ThemeLabelItem=Xr,e.ThemeLabelText=$r,e.ThemeLabelUniqueItem=Ci,e.ThemeMemoryData=class{constructor(e,t){this.srcData=e,this.targetData=t,this.CLASS_NAME="SuperMap.ThemeMemoryData"}destroy(){this.srcData=null,this.targetData=null}toJSON(){if(this.srcData&&this.targetData){for(var e="",t=Math.min(this.srcData.length,this.targetData.length),r=0;r<t;r++)e+="'"+this.srcData[r]+"':'"+this.targetData[r]+"',";return r>0&&(e=e.substring(0,e.length-1)),"{"+e+"}"}return null}},e.ThemeOffset=Zr,e.ThemeParameters=Ti,e.ThemeRange=ps,e.ThemeRangeItem=ds,e.ThemeService=Mi,e.ThemeUnique=ss,e.ThemeUniqueItem=Qr,e.ThiessenAnalystParameters=zt,e.ThiessenAnalystService=Ei,e.TilesetsService=Oi,e.TopologyValidatorJobsParameter=Pi,e.TopologyValidatorJobsService=Li,e.TransferLine=Ii,e.TransferPathParameters=Ni,e.TransferPathService=Fi,e.TransferSolutionParameters=ki,e.TransferSolutionService=Ri,e.TransportationAnalystParameter=Nt,e.TransportationAnalystResultSetting=It,e.UGCLayer=fs,e.UGCMapLayer=ms,e.UGCSubLayer=gs,e.UpdateDatasetParameters=Vi,e.UpdateEdgeWeightParameters=Di,e.UpdateEdgeWeightService=Bi,e.UpdateTurnNodeWeightParameters=ji,e.UpdateTurnNodeWeightService=Ui,e.Vector=xs,e.VectorClipJobsParameter=zi,e.VectorClipJobsService=Ji,e.WebPrintingJobContent=$i,e.WebPrintingJobCustomItems=Hi,e.WebPrintingJobExportOptions=tn,e.WebPrintingJobImage=Wi,e.WebPrintingJobLayers=Yi,e.WebPrintingJobLayoutOptions=en,e.WebPrintingJobLegendOptions=Xi,e.WebPrintingJobLittleMapOptions=Qi,e.WebPrintingJobNorthArrowOptions=Zi,e.WebPrintingJobParameters=class{constructor(e){e&&(this.content=null,this.layoutOptions=null,this.exportOptions=null,$.extend(this,e),this.CLASS_NAME="SuperMap.WebPrintingJobParameters")}destroy(){this.content instanceof $i&&(this.content.destroy(),this.content=null),this.layoutOptions instanceof en&&(this.layoutOptions.destroy(),this.layoutOptions=null),this.exportOptions instanceof tn&&(this.exportOptions.destroy(),this.exportOptions=null)}},e.WebPrintingJobScaleBarOptions=Ki,e.WebPrintingService=rn,e.Online=class{constructor(){this.rootUrl="https://www.supermapol.com",this.webUrl=this.rootUrl+"/web";var e=this.webUrl+"/mycontent";this.mDatasUrl=e+"/datas",this.CLASS_NAME="SuperMap.Online"}load(){return Be.get(this.rootUrl).then(function(e){return e})}login(){je.loginOnline(this.rootUrl,!0)}queryDatas(e){var t=this,r=t.mDatasUrl;return e&&(e=e.toJSON()),Be.get(r,e).then(function(e){if(e&&e.content&&!(e.content.length<1)){for(var r=[],s=e.content,i=s.length,n=0;n<i;n++){var a=s[n],o=new yn(t.mDatasUrl,a);r.push(o)}return r}})}},e.OnlineData=yn,e.OnlineQueryDatasParameter=class{constructor(e){e=e||{},this.userNames=null,this.types=null,this.fileName=null,this.serviceStatuses=null,this.serviceId=null,this.ids=null,this.keywords=null,this.orderBy=null,this.tags=null,this.filterFields=null,$.extend(this,e),this.CLASS_NAME="SuperMap.OnlineQueryDatasParameter"}toJSON(){var e=this,t={types:e.types,fileName:e.fileName,serviceStatuses:e.serviceStatuses,serviceId:e.serviceId,ids:e.ids,keywords:e.keywords,orderBy:e.orderBy,tags:e.tags,filterFields:e.filterFields};for(var r in t)null==t[r]&&delete t[r];return t}},e.ServiceStatus={DOES_NOT_INVOLVE:"DOES_NOT_INVOLVE",PUBLISH_FAILED:"PUBLISH_FAILED",PUBLISHED:"PUBLISHED",PUBLISHING:"PUBLISHING",UNPUBLISHED:"UNPUBLISHED",UNPUBLISHED_FAILED:"UNPUBLISHED_FAILED"},e.DataItemType={GEOJSON:"GEOJSON",UGCV5_MVT:"UGCV5_MVT",JSON:"JSON",AUDIO:"AUDIO",COLOR:"COLOR",COLORSCHEME:"COLORSCHEME",CSV:"CSV",EXCEL:"EXCEL",FILLSYMBOL:"FILLSYMBOL",IMAGE:"IMAGE",LAYERTEMPLATE:"LAYERTEMPLATE",LAYOUTTEMPLATE:"LAYOUTTEMPLATE",LINESYMBOL:"LINESYMBOL",MAPTEMPLATE:"MAPTEMPLATE",MARKERSYMBOL:"MARKERSYMBOL",MBTILES:"MBTILES",PHOTOS:"PHOTOS",SHP:"SHP",SMTILES:"SMTILES",SVTILES:"SVTILES",THEMETEMPLATE:"THEMETEMPLATE",TPK:"TPK",UDB:"UDB",UGCV5:"UGCV5",UNKNOWN:"UNKNOWN",VIDEO:"VIDEO",WORKENVIRONMENT:"WORKENVIRONMENT",WORKSPACE:"WORKSPACE"},e.DataItemOrderBy={FILENAME:"FILENAME",ID:"ID",LASTMODIFIEDTIME:"LASTMODIFIEDTIME",NICKNAME:"NICKNAME",SERVICESTATUS:"SERVICESTATUS",SIZE:"SIZE",STATUS:"STATUS",TYPE:"TYPE",UPDATETIME:"UPDATETIME",USERNAME:"USERNAME"},e.FilterField={LINKPAGE:"LINKPAGE",MAPTITLE:"MAPTITLE",NICKNAME:"NICKNAME",RESTITLE:"RESTITLE",USERNAME:"USERNAME"},e.OnlineServiceBase=mn,e.Feature=e.Feature||{},e.Feature.Theme=ra,e.Feature.Theme.Bar=class extends sa{constructor(e,t,r,s,i){super(e,t,r,s,i),this.CLASS_NAME="SuperMap.Feature.Theme.Bar"}destroy(){super.destroy()}assembleShapes(){var e={showShadow:!0,shadowBlur:8,shadowColor:"rgba(100,100,100,0.8)",shadowOffsetX:2,shadowOffsetY:2},t=this.setting;if(t.barLinearGradient||(t.barLinearGradient=[["#00FF00","#00CD00"],["#00CCFF","#5E87A2"],["#00FF66","#669985"],["#CCFF00","#94A25E"],["#FF9900","#A2945E"]]),t.dataViewBoxParameter||(void 0===t.useAxis||t.useAxis?t.dataViewBoxParameter=[45,15,15,15]:t.dataViewBoxParameter=[5,5,5,5]),this.initBaseParameter()){var r=this.DVBCodomain;this.DVBUnitValue=(r[1]-r[0])/this.DVBHeight;var s=this.dataViewBox,i=this.dataValues;if(!(i.length<1)){for(let e=0,t=i.length;e<t;e++)if(i[e]<r[0]||i[e]>r[1])return;var n=this.calculateXShapeInfo();if(n){var a=n.xPositions,o=n.width;(void 0===t.useBackground||t.useBackground)&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,t)),(void 0===t.useAxis||t.useAxis)&&(this.shapes=this.shapes.concat(ta.GraphAxis(this.shapeFactory,s,t,n)));for(var l=0;l<i.length;l++){var h=s[1]-(i[l]-r[0])/this.DVBUnitValue,u=[[a[l]-o/2,s[1]-1],[a[l]+o/2,s[1]-1],[a[l]+o/2,h],[a[l]-o/2,h]],c=new Fn(u);if(void 0===t.showShadow||t.showShadow){if(t.barShadowStyle){var d=t.barShadowStyle;d.shadowBlur&&(e.shadowBlur=d.shadowBlur),d.shadowColor&&(e.shadowColor=d.shadowColor),d.shadowOffsetX&&(e.shadowOffsetX=d.shadowOffsetX),d.shadowOffsetY&&(e.shadowOffsetY=d.shadowOffsetY)}c.style={},$.copyAttributesWithClip(c.style,e)}c.refDataID=this.data.id,c.dataInfo={field:this.fields[l],value:i[l]},void 0!==t.barHoverAble&&(c.hoverable=t.barHoverAble),void 0!==t.barClickAble&&(c.clickable=t.barClickAble),this.shapes.push(this.shapeFactory.createShape(c))}this.shapesConvertToRelativeCoordinate()}}}}calculateXShapeInfo(){var e,t=this.dataViewBox,r=this.setting,s=this.dataValues.length;if(s<1)return null;var i=[],n=0,a=this.DVBWidth;if(r.xShapeBlank&&r.xShapeBlank.length&&3==r.xShapeBlank.length){var o=a-((e=r.xShapeBlank)[0]+e[2]+(s-1)*e[1]);if(o<=s)return null;n=o/s}else e=[n=a/(2*s+1),n,n];for(var l=0,h=0;h<s;h++)0==h?l=e[0]+n/2:l+=n+e[1],i.push(t[0]+l);return{xPositions:i,width:n}}resetLinearGradient(){if(this.RelativeCoordinate)for(var e=this.shapes.length,t=this.setting.barLinearGradient,r=-1,s=0;s<e;s++){var i=this.shapes[s];if("SuperMap.LevelRenderer.Shape.SmicPolygon"===i.CLASS_NAME){var n=i.style,a=this.location[0]+n.pointList[0][0],o=this.location[0]+n.pointList[1][0];++r>=t.length&&(r%=t.length);var l=t[r][0],h=t[r][1],u=(new Sn).getLinearGradient(a,0,o,0,[[0,l],[1,h]]);i.style.color=u}}}},e.Feature.Theme.Bar3D=class extends sa{constructor(e,t,r,s,i){super(e,t,r,s,i),this.CLASS_NAME="SuperMap.Feature.Theme.Bar3D"}destroy(){super.destroy()}assembleShapes(){var e=this.setting;if(e.dataViewBoxParameter||(void 0===e.useAxis||e.useAxis?e.dataViewBoxParameter=[45,25,20,20]:e.dataViewBoxParameter=[5,5,5,5]),e.axisUseArrow=void 0===e.axisUseArrow||e.axisUseArrow,e.axisXLabelsOffset=void 0!==e.axisXLabelsOffset?e.axisXLabelsOffset:[-10,10],this.initBaseParameter()){var t=this.DVBCodomain;this.DVBUnitValue=(t[1]-t[0])/this.DVBHeight;var r=this.dataViewBox,s=this.dataValues;if(!(s.length<1)){for(let e=0,r=s.length;e<r;e++)if(s[e]<t[0]||s[e]>t[1])return;var i=this.calculateXShapeInfo();if(i){var n=i.xPositions,a=i.width;(void 0===e.useBackground||e.useBackground)&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,e)),(!e.axis3DParameter||isNaN(e.axis3DParameter)||e.axis3DParameter<15)&&(e.axis3DParameter=20),(void 0===e.useAxis||e.useAxis)&&(this.shapes=this.shapes.concat(ta.GraphAxis(this.shapeFactory,r,e,i)));var o=e.bar3DParameter&&!isNaN(e.bar3DParameter)?e.bar3DParameter:10;for(let i=0;i<s.length;i++){var l=r[1]-(s[i]-t[0])/this.DVBUnitValue,h=n[i]-a/2,u=n[i]+a/2,c=[[h,l],[u,l],[u-o,l+o],[h-o,l+o]],d=[[u,l],[u-o,l+o],[u-o,r[1]+o],[u,r[1]]],p=[[h-o,r[1]+o],[u-o,r[1]+o],[u-o,l+o],[h-o,l+o]];o<=0&&(p=[[h,r[1]],[u,r[1]],[u,l],[h,l]]);var f=new Fn(c),m=new Fn(d),y=new Fn(p);e.barSideStyle=e.barSideStyle?e.barSideStyle:e.barFaceStyle,e.barSideStyleByFields=e.barSideStyleByFields?e.barSideStyleByFields:e.barFaceStyleByFields,e.barSideStyleByCodomain=e.barSideStyleByCodomain?e.barSideStyleByCodomain:e.barFaceStyleByCodomain,e.barTopStyle=e.barTopStyle?e.barTopStyle:e.barFaceStyle,e.barTopStyleByFields=e.barTopStyleByFields?e.barTopStyleByFields:e.barFaceStyleByFields,e.barTopStyleByCodomain=e.barTopStyleByCodomain?e.barTopStyleByCodomain:e.barFaceStyleByCodomain,y.style=ta.ShapeStyleTool({stroke:!0,strokeColor:"#ffffff",fillColor:"#ee9900"},e.barFaceStyle,e.barFaceStyleByFields,e.barFaceStyleByCodomain,i,s[i]),m.style=ta.ShapeStyleTool({stroke:!0,strokeColor:"#ffffff",fillColor:"#ee9900"},e.barSideStyle,e.barSideStyleByFields,e.barSideStyleByCodomain,i,s[i]),f.style=ta.ShapeStyleTool({stroke:!0,strokeColor:"#ffffff",fillColor:"#ee9900"},e.barTopStyle,e.barTopStyleByFields,e.barTopStyleByCodomain,i,s[i]),e.barSideHoverStyle=e.barSideHoverStyle?e.barSideHoverStyle:e.barFaceHoverStyle,e.barTopHoverStyle=e.barTopHoverStyle?e.barTopHoverStyle:e.barFaceHoverStyle,y.highlightStyle=ta.ShapeStyleTool({stroke:!0},e.barFaceHoverStyle),m.highlightStyle=ta.ShapeStyleTool({stroke:!0},e.barSideHoverStyle),f.highlightStyle=ta.ShapeStyleTool({stroke:!0},e.barTopHoverStyle),f.refDataID=m.refDataID=y.refDataID=this.data.id,f.isHoverByRefDataID=m.isHoverByRefDataID=y.isHoverByRefDataID=!0,f.refDataHoverGroup=m.refDataHoverGroup=y.refDataHoverGroup=$.createUniqueID("lr_shg"),f.dataInfo=m.dataInfo=y.dataInfo={field:this.fields[i],value:s[i]},void 0!==e.barHoverAble&&(f.hoverable=m.hoverable=y.hoverable=e.barHoverAble),void 0!==e.barClickAble&&(f.clickable=m.clickable=y.clickable=e.barClickAble),this.shapes.push(this.shapeFactory.createShape(m)),this.shapes.push(this.shapeFactory.createShape(f)),this.shapes.push(this.shapeFactory.createShape(y))}this.shapesConvertToRelativeCoordinate()}}}}calculateXShapeInfo(){var e,t=this.dataViewBox,r=this.setting,s=this.dataValues.length;if(s<1)return null;var i=[],n=0,a=this.DVBWidth;if(r.xShapeBlank&&r.xShapeBlank.length&&3==r.xShapeBlank.length){var o=a-((e=r.xShapeBlank)[0]+e[2]+(s-1)*e[1]);if(o<=s)return null;n=o/s}else e=[n=a/(2*s+1),n,n];for(var l=0,h=0;h<s;h++)0==h?l=e[0]+n/2:l+=n+e[1],i.push(t[0]+l);return{xPositions:i,width:n}}},e.Feature.Theme.Circle=class extends ia{constructor(e,t,r,s,i){super(e,t,r,s,i),this.CLASS_NAME="SuperMap.Feature.Theme.Circle"}destroy(){super.destroy()}assembleShapes(){if(!this.setting)return!1;var e=this.setting;if(!e.codomain)return!1;var t=void 0===e.decimalNumber||isNaN(e.decimalNumber)?-1:e.decimalNumber,r=ra.getDataValues(this.data,this.fields,t);this.dataValues=r||[];var s=this.dataValues;e.maxR||(e.maxR=100),e.minR||(e.minR=0);var i=this.DVBCodomain;i&&i[1]-i[0]>0?this.DVBUnitValue=e.maxR/(i[1]-i[0]):this.DVBUnitValue=e.maxR;var n=this.DVBUnitValue,a=s[0]*n+e.minR;if(this.width=2*a,this.height=2*a,this.initBaseParameter()&&(!i||!(s[0]<i[0]||s[0]>i[1]))){var o=this.DVBCenterPoint,l=new Bn(o[0],o[1],a);l.style=ta.ShapeStyleTool(null,e.circleStyle,null,null,0),void 0!==e.fillColor?l.style.fillColor=e.fillColor:l.style.fillColor="#ff9277",l.highlightStyle=ta.ShapeStyleTool(null,e.circleHoverStyle),void 0!==e.circleHoverAble&&(l.hoverable=e.circleHoverAble),void 0!==e.circleClickAble&&(l.clickable=e.circleClickAble),l.refDataID=this.data.id,l.dataInfo={field:this.fields[0],r:a,value:s[0]},this.shapes.push(this.shapeFactory.createShape(l)),this.shapesConvertToRelativeCoordinate()}}},e.Feature.Theme.Graph=sa,e.Feature.Theme.Line=class extends sa{constructor(e,t,r,s,i,n){super(e,t,r,s,i,n),this.CLASS_NAME="SuperMap.Feature.Theme.Line"}destroy(){super.destroy()}assembleShapes(){var e=this.setting;if(e.dataViewBoxParameter||(void 0===e.useAxis||e.useAxis?e.dataViewBoxParameter=[45,15,15,15]:e.dataViewBoxParameter=[5,5,5,5]),this.initBaseParameter()){var t=this.dataViewBox,r=this.DVBCodomain;this.DVBUnitValue=(r[1]-r[0])/this.DVBHeight;var s=this.DVBUnitValue,i=this.dataValues;if(!(i.length<1)){var n=this.calculateXShapeInfo();if(n){var a,o,l=n.xPositions;(void 0===e.useBackground||e.useBackground)&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,e)),this.shapes=this.shapes.concat(ta.GraphAxis(this.shapeFactory,t,e,n));for(var h=[],u=[],c=0,d=i.length;c<d;c++){if(i[c]<r[0]||i[c]>r[1])return null;a=l[c],o=t[1]-(i[c]-r[0])/s;var p=new In(a,o);p.style=ta.ShapeStyleTool({fillColor:"#ee9900"},e.pointStyle,e.pointStyleByFields,e.pointStyleByCodomain,c,i[c]),p.highlightStyle=ta.ShapeStyleTool(null,e.pointHoverStyle),void 0!==e.pointHoverAble&&(p.hoverable=e.pointHoverAble),void 0!==e.pointClickAble&&(p.clickable=e.pointClickAble),p.refDataID=this.data.id,p.dataInfo={field:this.fields[c],value:i[c]},u.push(this.shapeFactory.createShape(p));var f=[a,o];h.push(f)}var m=new Nn(h);m.style=ta.ShapeStyleTool({strokeColor:"#ee9900"},e.lineStyle),m.clickable=!1,m.hoverable=!1;var y=this.shapeFactory.createShape(m);this.shapes.push(y),this.shapes=this.shapes.concat(u),this.shapesConvertToRelativeCoordinate()}}}}calculateXShapeInfo(){var e,t=this.dataViewBox,r=this.setting,s=this.dataValues.length;if(s<1)return null;var i=[],n=this.DVBWidth,a=0;if(r.xShapeBlank&&r.xShapeBlank.length&&2==r.xShapeBlank.length){var o=n-((e=r.xShapeBlank)[0]+e[1]);if(o<=s)return null;a=o/(s-1)}else e=[a=n/(s+1),a,a];for(var l=0,h=0;h<s;h++)0==h?l=e[0]:l+=a,i.push(t[0]+l);return{xPositions:i,width:0}}},e.Feature.Theme.Pie=class extends sa{constructor(e,t,r,s,i){super(e,t,r,s,i),this.CLASS_NAME="SuperMap.Feature.Theme.Pie"}destroy(){super.destroy()}assembleShapes(){var e=this.setting,t=[{fillColor:"#ff9277"},{fillColor:"#dddd00"},{fillColor:"#ffc877"},{fillColor:"#bbe3ff"},{fillColor:"#d5ffbb"},{fillColor:"#bbbbff"},{fillColor:"#ddb000"},{fillColor:"#b0dd00"},{fillColor:"#e2bbff"},{fillColor:"#ffbbe3"},{fillColor:"#ff7777"},{fillColor:"#ff9900"},{fillColor:"#83dd00"},{fillColor:"#77e3ff"},{fillColor:"#778fff"},{fillColor:"#c877ff"},{fillColor:"#ff77ab"},{fillColor:"#ff6600"},{fillColor:"#aa8800"},{fillColor:"#77c7ff"},{fillColor:"#ad77ff"},{fillColor:"#ff77ff"},{fillColor:"#dd0083"},{fillColor:"#777700"},{fillColor:"#00aa00"},{fillColor:"#0088aa"},{fillColor:"#8400dd"},{fillColor:"#aa0088"},{fillColor:"#dd0000"},{fillColor:"#772e00"}];if(this.initBaseParameter()){e.useBackground&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,e));var r=this.dataValues;if(!(r.length<1)){var s=this.DVBCodomain;for(let e=0;e<r.length;e++)if(r[e]<s[0]||r[e]>s[1])return;var i=0;for(let e=0;e<r.length;e++)i+=Math.abs(r[e]);this.DVBUnitValue=360/i;for(var n=this.DVBUnitValue,a=this.DVBCenterPoint,o=0,l=0,h=o,u=this.DVBHeight<this.DVBWidth?this.DVBHeight/2:this.DVBWidth/2,c=0;c<r.length;c++){var d=Math.abs(r[c]);(l=0===c?o+d*n:c===d.length-1?h:o+d*n)-o>=360&&(l=359.9999999);var p=new Rn(a[0],a[1],u,o,l);if(void 0===e.sectorStyleByFields){var f=c%t.length;p.style=ta.ShapeStyleTool(null,e.sectorStyle,t,null,f)}else p.style=ta.ShapeStyleTool(null,e.sectorStyle,e.sectorStyleByFields,e.sectorStyleByCodomain,c,r[c]);p.highlightStyle=ta.ShapeStyleTool(null,e.sectorHoverStyle),void 0!==e.sectorHoverAble&&(p.hoverable=e.sectorHoverAble),void 0!==e.sectorClickAble&&(p.clickable=e.sectorClickAble),p.refDataID=this.data.id,p.dataInfo={field:this.fields[c],value:r[c]},this.shapes.push(this.shapeFactory.createShape(p)),o=l}this.shapesConvertToRelativeCoordinate()}}}},e.Feature.Theme.Point=class extends sa{constructor(e,t,r,s,i,n){super(e,t,r,s,i,n),this.CLASS_NAME="SuperMap.Feature.Theme.Point"}destroy(){super.destroy()}assembleShapes(){var e=this.setting;if(e.dataViewBoxParameter||(void 0===e.useAxis||e.useAxis?e.dataViewBoxParameter=[45,15,15,15]:e.dataViewBoxParameter=[5,5,5,5]),this.initBaseParameter()){var t=this.dataViewBox,r=this.DVBCodomain;this.DVBUnitValue=(r[1]-r[0])/this.DVBHeight;var s=this.DVBUnitValue,i=this.dataValues,n=this.calculateXShapeInfo();if(n){var a,o,l=n.xPositions;(void 0===e.useBackground||e.useBackground)&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,e)),this.shapes=this.shapes.concat(ta.GraphAxis(this.shapeFactory,t,e,n));for(var h=0,u=i.length;h<u;h++){if(i[h]<r[0]||i[h]>r[1])return null;a=l[h],o=t[1]-(i[h]-r[0])/s;var c=new In(a,o);c.style=ta.ShapeStyleTool({fillColor:"#ee9900"},e.pointStyle,e.pointStyleByFields,e.pointStyleByCodomain,h,i[h]),c.highlightStyle=ta.ShapeStyleTool(null,e.pointHoverStyle),void 0!==e.pointHoverAble&&(c.hoverable=e.pointHoverAble),void 0!==e.pointClickAble&&(c.clickable=e.pointClickAble),c.refDataID=this.data.id,c.dataInfo={field:this.fields[h],value:i[h]},this.shapes.push(this.shapeFactory.createShape(c))}this.shapesConvertToRelativeCoordinate()}}}calculateXShapeInfo(){var e,t=this.dataViewBox,r=this.setting,s=this.dataValues.length;if(s<1)return null;var i=[],n=this.DVBWidth,a=0;if(r.xShapeBlank&&r.xShapeBlank.length&&2==r.xShapeBlank.length){var o=n-((e=r.xShapeBlank)[0]+e[1]);if(o<=s)return null;a=o/(s-1)}else e=[a=n/(s+1),a,a];for(var l=0,h=0;h<s;h++)0==h?l=e[0]:l+=a,i.push(t[0]+l);return{xPositions:i,width:0}}},e.Feature.Theme.RankSymbol=ia,e.Feature.Theme.Ring=class extends sa{constructor(e,t,r,s,i){super(e,t,r,s,i),this.CLASS_NAME="SuperMap.Feature.Theme.Ring"}destroy(){super.destroy()}assembleShapes(){if(this.initBaseParameter()){var e=[{fillColor:"#ff9277"},{fillColor:"#dddd00"},{fillColor:"#ffc877"},{fillColor:"#bbe3ff"},{fillColor:"#d5ffbb"},{fillColor:"#bbbbff"},{fillColor:"#ddb000"},{fillColor:"#b0dd00"},{fillColor:"#e2bbff"},{fillColor:"#ffbbe3"},{fillColor:"#ff7777"},{fillColor:"#ff9900"},{fillColor:"#83dd00"},{fillColor:"#77e3ff"},{fillColor:"#778fff"},{fillColor:"#c877ff"},{fillColor:"#ff77ab"},{fillColor:"#ff6600"},{fillColor:"#aa8800"},{fillColor:"#77c7ff"},{fillColor:"#ad77ff"},{fillColor:"#ff77ff"},{fillColor:"#dd0083"},{fillColor:"#777700"},{fillColor:"#00aa00"},{fillColor:"#0088aa"},{fillColor:"#8400dd"},{fillColor:"#aa0088"},{fillColor:"#dd0000"},{fillColor:"#772e00"}],t=this.setting;t.useBackground&&this.shapes.push(ta.Background(this.shapeFactory,this.chartBox,t));var r=this.dataValues;if(!(r.length<1)){var s=this.DVBCodomain;for(let e=0;e<r.length;e++)if(r[e]<s[0]||r[e]>s[1])return;var i=0;for(let e=0;e<r.length;e++)i+=Math.abs(r[e]);this.DVBUnitValue=360/i;for(var n=this.DVBUnitValue,a=this.DVBCenterPoint,o=0,l=0,h=o,u=this.DVBHeight<this.DVBWidth?this.DVBHeight/2:this.DVBWidth/2,c=t.innerRingRadius>=0&&t.innerRingRadius<u,d=void 0!==t.innerRingRadius&&!isNaN(t.innerRingRadius)&&c?t.innerRingRadius:0,p=0;p<r.length;p++){var f=Math.abs(r[p]);l=0===p?o+f*n:p===f.length-1?h:o+f*n;var m=new Rn(a[0],a[1],u,o,l,d);if(void 0===t.sectorStyleByFields){var y=p%e.length;m.style=ta.ShapeStyleTool(null,t.sectorStyle,e,null,y)}else m.style=ta.ShapeStyleTool(null,t.sectorStyle,t.sectorStyleByFields,t.sectorStyleByCodomain,p,r[p]);m.highlightStyle=ta.ShapeStyleTool(null,t.sectorHoverStyle),void 0!==t.sectorHoverAble&&(m.hoverable=t.sectorHoverAble),void 0!==t.sectorClickAble&&(m.clickable=t.sectorClickAble),m.refDataID=this.data.id,m.dataInfo={field:this.fields[p],value:r[p]},this.shapes.push(this.shapeFactory.createShape(m)),o=l}this.shapesConvertToRelativeCoordinate()}}}},e.Feature.Theme.ThemeVector=na,e.Feature.ShapeParameters=Ln,e.Feature.ShapeParameters.Circle=Bn,e.Feature.ShapeParameters.Image=Gn,e.Feature.ShapeParameters.Label=Dn,e.Feature.ShapeParameters.Line=Nn,e.Feature.ShapeParameters.Point=In,e.Feature.ShapeParameters.Polygon=Fn,e.Feature.ShapeParameters.Rectangle=kn,e.Feature.ShapeParameters.Sector=Rn,e.Feature.ShapeFactory=ta,e.LevelRenderer=ya,e.KeyServiceParameter=class{constructor(e){this.name=null,this.serviceIds=null,this.clientType=L.SERVER,this.limitation=null,$.extend(this,e),this.CLASS_NAME="SuperMap.KeyServiceParameter"}toJSON(){return{name:this.name,serviceIds:this.serviceIds,clientType:this.clientType,limitation:this.limitation}}},e.SecurityManager=je,e.ServerInfo=class{constructor(e,t){this.type=e,this.server=null,this.tokenServiceUrl=null,this.keyServiceUrl=null,$.extend(this,t),this.CLASS_NAME="SuperMap.ServerInfo",this.type=this.type||s.ISERVER,this.server||console.error("server url require is not undefined");var r="/services/security/tokens";this.type===s.ISERVER&&this.server.indexOf("iserver")<0&&(r="/iserver"+r),this.tokenServiceUrl||(this.tokenServiceUrl=$.urlPathAppend(this.server,r)),this.keyServiceUrl||(this.type===s.IPORTAL?this.keyServiceUrl=$.urlPathAppend(this.server,"/web/mycontent/keys/register"):this.type===s.ONLINE&&(this.keyServiceUrl=$.urlPathAppend(this.server,"/web/mycontent/keys")))}},e.TokenServiceParameter=class{constructor(e){this.userName=null,this.password=null,this.clientType=L.NONE,this.ip=null,this.referer=null,this.expiration=60,$.extend(this,e),this.CLASS_NAME="SuperMap.TokenServiceParameter"}toJSON(){return{userName:this.userName,password:this.password,clientType:this.clientType,ip:this.ip,referer:this.referer,expiration:this.expiration}}},e.ThemeStyle=class{constructor(e){e=e||{},this.fill=!0,this.fillColor="#000000",this.fillOpacity=1,this.stroke=!1,this.strokeColor="#000000",this.strokeOpacity=1,this.strokeWidth=1,this.strokeLinecap="butt",this.strokeLineJoin="miter",this.strokeDashstyle="solid",this.pointRadius=6,this.shadowBlur=0,this.shadowColor="#000000",this.shadowOffsetX=0,this.shadowOffsetY=0,this.label="",this.labelRect=!1,this.fontColor="",this.fontSize=12,this.fontStyle="normal",this.fontVariant="normal",this.fontWeight="normal",this.fontFamily="arial,sans-serif",this.labelPosition="top",this.labelAlign="center",this.labelBaseline="middle",this.labelXOffset=0,this.labelYOffset=0,$.extend(this,e)}},e.CartoCSS=On,e.ElasticSearch=class{constructor(e,t){t=t||{},this.url=e;try{this.client=new(vn().Client)({host:this.url})}catch(e){this.client=new(vn().Client)({node:{url:new URL(this.url)}})}this.change=null,this.openGeoFence=!1,this.outOfGeoFence=null,this.geoFence=null,this.EVENT_TYPES=["change","error","outOfGeoFence"],this.events=new ve(this,null,this.EVENT_TYPES),this.eventListeners=null,$.extend(this,t),this.eventListeners instanceof Object&&this.events.on(this.eventListeners)}setGeoFence(e){this.geoFence=e}bulk(e,t){return this.client.bulk(e,this._handleCallback(t))}clearScroll(e,t){return this.client.clearScroll(e,this._handleCallback(t))}count(e,t){return this.client.count(e,this._handleCallback(t))}create(e,t){return this.client.create(e,this._handleCallback(t))}delete(e,t){return this.client.delete(e,this._handleCallback(t))}deleteByQuery(e,t){return this.client.deleteByQuery(e,this._handleCallback(t))}deleteScript(e,t){return this.client.deleteScript(e,this._handleCallback(t))}deleteTemplate(e,t){return this.client.deleteTemplate(e,this._handleCallback(t))}exists(e,t){return this.client.exists(e,this._handleCallback(t))}existsSource(e,t){return this.client.existsSource(e,this._handleCallback(t))}explain(e,t){return this.client.explain(e,this._handleCallback(t))}fieldCaps(e,t){return this.client.fieldCaps(e,this._handleCallback(t))}get(e,t){return this.client.get(e,this._handleCallback(t))}getScript(e,t){return this.client.getScript(e,this._handleCallback(t))}getSource(e,t){return this.client.getSource(e,this._handleCallback(t))}getTemplate(e,t){return this.client.getTemplate(e,this._handleCallback(t))}index(e,t){return this.client.index(e,this._handleCallback(t))}info(e,t){return this.client.info(e,this._handleCallback(t))}mget(e,t){return this.client.mget(e,this._handleCallback(t))}msearch(e,t){let r=this;return r.client.msearch(e).then(function(e){return e=e.body||e,r._update(e.responses,t),e},function(e){return t(e),r.events.triggerEvent("error",{error:e}),e})}msearchTemplate(e,t){return this.client.msearchTemplate(e,this._handleCallback(t))}mtermvectors(e,t){return this.client.mtermvectors(e,this._handleCallback(t))}ping(e,t){return this.client.ping(e,this._handleCallback(t))}putScript(e,t){return this.client.putScript(e,this._handleCallback(t))}putTemplate(e,t){return this.client.putTemplate(e,this._handleCallback(t))}reindex(e,t){return this.client.reindex(e,this._handleCallback(t))}reindexRessrottle(e,t){return this.client.reindexRessrottle(e,this._handleCallback(t))}renderSearchTemplate(e,t){return this.client.renderSearchTemplate(e,this._handleCallback(t))}scroll(e,t){return this.client.scroll(e,this._handleCallback(t))}search(e,t){let r=this;return r.client.search(e).then(function(e){return e=e.body||e,r._update(e,t),e},function(e){return t&&t(e),r.events.triggerEvent("error",{error:e}),e})}searchShards(e,t){return this.client.searchShards(e,this._handleCallback(t))}searchTemplate(e,t){return this.client.searchTemplate(e,this._handleCallback(t))}suggest(e,t){return this.client.suggest(e,this._handleCallback(t))}termvectors(e,t){return this.client.termvectors(e,this._handleCallback(t))}update(e,t){return this.client.update(e,this._handleCallback(t))}updateByQuery(e,t){return this.client.updateByQuery(e,this._handleCallback(t))}_handleCallback(e){return function(){let t=Array.from(arguments);const r=t.shift();let s=t.shift();const i=s&&s.body;if(i){const{statusCode:e,headers:r}=s;t=[e,r],s=i}e.call(this,r,s,...t)}}_update(e,t){let r=this;e&&(r.data=e,r.openGeoFence&&r.geoFence&&r._validateDatas(e),r.events.triggerEvent("change",{data:r.data}),r.change?r.change&&r.change(e):t&&t(void 0,{responses:e}))}_validateDatas(e){if(e){e instanceof Array||(e=[e]);var t,r=e.length;for(t=0;t<r;t++)this._validateData(e[t])}}_validateData(e){let t=this;e.hits.hits.map(function(r){let s=r._source,i=t._getMeterPerMapUnit(t.geoFence.unit),n=t.geoFence.center[0]*i,a=t.geoFence.center[1]*i,o=s.x*i,l=s.y*i;return t._distance(o,l,n,a)>t.geoFence.radius&&(t.outOfGeoFence&&t.outOfGeoFence(e),t.events.triggerEvent("outOfGeoFence",{data:e})),r})}_distance(e,t,r,s){return Math.sqrt((e-r)*(e-r)+(t-s)*(t-s))}_getMeterPerMapUnit(e){let t;return"meter"===e?t=1:"degree"===e&&(t=2*Math.PI*6378137/360),t}},e.ArrayStatistic=wn,e.ColorsPickerUtil=_n,e.DataFormat=t,e.ServerType=s,e.GeometryType=i,e.QueryOption=n,e.JoinType={INNERJOIN:"INNERJOIN",LEFTJOIN:"LEFTJOIN"},e.SpatialQueryMode=a,e.SpatialRelationType={CONTAIN:"CONTAIN",INTERSECT:"INTERSECT",WITHIN:"WITHIN"},e.MeasureMode=o,e.Unit=l,e.BufferRadiusUnit=h,e.EngineType={IMAGEPLUGINS:"IMAGEPLUGINS",OGC:"OGC",ORACLEPLUS:"ORACLEPLUS",SDBPLUS:"SDBPLUS",SQLPLUS:"SQLPLUS",UDB:"UDB"},e.ThemeGraphTextFormat=u,e.ThemeGraphType=c,e.GraphAxesTextDisplayMode=d,e.GraduatedMode=p,e.RangeMode=f,e.ThemeType={DOTDENSITY:"DOTDENSITY",GRADUATEDSYMBOL:"GRADUATEDSYMBOL",GRAPH:"GRAPH",LABEL:"LABEL",RANGE:"RANGE",UNIQUE:"UNIQUE"},e.ColorGradientType=m,e.TextAlignment=y,e.FillGradientMode={NONE:"NONE",LINEAR:"LINEAR",RADIAL:"RADIAL",CONICAL:"CONICAL",SQUARE:"SQUARE"},e.AlongLineDirection=g,e.LabelBackShape=v,e.LabelOverLengthMode=b,e.DirectionType={EAST:"EAST",NONE:"NONE",NORTH:"NORTH",SOURTH:"SOURTH",WEST:"WEST"},e.OverlayOperationType=x,e.OutputType=_,e.SideType={LEFT:"LEFT",MIDDLE:"MIDDLE",NONE:"NONE",RIGHT:"RIGHT"},e.SupplyCenterType={FIXEDCENTER:"FIXEDCENTER",NULL:"NULL",OPTIONALCENTER:"OPTIONALCENTER"},e.TurnType={AHEAD:"AHEAD",BACK:"BACK",END:"END",LEFT:"LEFT",NONE:"NONE",RIGHT:"RIGHT"},e.BufferEndType=S,e.SmoothMethod=w,e.SurfaceAnalystMethod=C,e.DataReturnMode=T,e.EditType=M,e.TransferTactic=E,e.TransferPreference=A,e.GridType={CROSS:"CROSS",GRID:"GRID",POINT:"POINT"},e.ColorSpaceType={CMYK:"CMYK",RGB:"RGB"},e.LayerType={UGC:"UGC",WMS:"WMS",WFS:"WFS",CUSTOM:"CUSTOM"},e.UGCLayerType={THEME:"THEME",VECTOR:"VECTOR",GRID:"GRID",IMAGE:"IMAGE"},e.StatisticMode={AVERAGE:"AVERAGE",MAX:"MAX",MIN:"MIN",STDDEVIATION:"STDDEVIATION",SUM:"SUM",VARIANCE:"VARIANCE"},e.PixelFormat={BIT16:"BIT16",BIT32:"BIT32",BIT64:"BIT64",SINGLE:"SINGLE",DOUBLE:"DOUBLE",UBIT1:"UBIT1",UBIT4:"UBIT4",UBIT8:"UBIT8",UBIT24:"UBIT24",UBIT32:"UBIT32"},e.SearchMode={KDTREE_FIXED_COUNT:"KDTREE_FIXED_COUNT",KDTREE_FIXED_RADIUS:"KDTREE_FIXED_RADIUS",NONE:"NONE",QUADTREE:"QUADTREE"},e.InterpolationAlgorithmType={KRIGING:"KRIGING",SimpleKriging:"SimpleKriging",UniversalKriging:"UniversalKriging"},e.VariogramMode=O,e.Exponent=P,e.ClientType=L,e.ChartType={BAR:"Bar",BAR3D:"Bar3D",CIRCLE:"Circle",PIE:"Pie",POINT:"Point",LINE:"Line",RING:"Ring"},e.ClipAnalystMode=I,e.AnalystAreaUnit=N,e.AnalystSizeUnit=F,e.StatisticAnalystMode=k,e.SummaryType=R,e.TopologyValidatorRule=D,e.BucketAggType=G,e.MetricsAggType=B,e.GetFeatureMode={BOUNDS:"BOUNDS",BUFFER:"BUFFER",ID:"ID",SPATIAL:"SPATIAL",SQL:"SQL"},e.RasterFunctionType=j,e.ResourceType={MAP:"MAP",SERVICE:"SERVICE",SCENE:"SCENE",DATA:"DATA",INSIGHTS_WORKSPACE:"INSIGHTS_WORKSPACE",MAP_DASHBOARD:"MAP_DASHBOARD"},e.OrderBy={UPDATETIME:"UPDATETIME",HEATLEVEL:"HEATLEVEL",RELEVANCE:"RELEVANCE"},e.OrderType={ASC:"ASC",DESC:"DESC"},e.SearchType={PUBLIC:"PUBLIC",MY_RES:"MY_RES",MYGROUP_RES:"MYGROUP_RES",MYDEPARTMENT_RES:"MYDEPARTMENT_RES",SHARETOME_RES:"SHARETOME_RES"},e.AggregationTypes={TAG:"TAG",TYPE:"TYPE"},e.PermissionType={SEARCH:"SEARCH",READ:"READ",READWRITE:"READWRITE",DELETE:"DELETE",DOWNLOAD:"DOWNLOAD"},e.EntityType={DEPARTMENT:"DEPARTMENT",GROUP:"GROUP",IPORTALGROUP:"IPORTALGROUP",ROLE:"ROLE",USER:"USER"},e.WebExportFormatType={PNG:"PNG",PDF:"PDF"},e.WebScaleOrientationType={HORIZONTALLABELSBELOW:"HORIZONTALLABELSBELOW",HORIZONTALLABELSABOVE:"HORIZONTALLABELSABOVE",VERTICALLABELSLEFT:"VERTICALLABELSLEFT",VERTICALLABELSRIGHT:"VERTICALLABELSRIGHT"},e.WebScaleType={LINE:"LINE",BAR:"BAR",BAR_SUB:"BAR_SUB"},e.WebScaleUnit={METER:"METER",FOOT:"FOOT",DEGREES:"DEGREES"};const Ia=ol.Observable;var Na=r.n(Ia);class Fa extends(Na()){constructor(e,t){super(e,t),this.options=t||{},this.url=e,this.dispatchEvent({type:"initialized",value:this})}}class ka extends Fa{constructor(e,t){super(e,t)}getMapInfo(e){var t=this;new Is(t.url,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e},projection:t.options.projection}).processAsync()}getWkt(e){var t=this;new Is(`${t.url}/prjCoordSys.wkt`,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,withoutFormatSuffix:!0,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e},projection:t.options.projection}).processAsync()}getTilesets(e){var t=this;new Oi(t.url,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).processAsync()}}const Ra=ol.control.Control;var Da=r.n(Ra);class Ga extends(Da()){constructor(e){function t(e,t,r){var s=document.createElement(e);return s.className=t||"",r&&r.appendChild(s),s}function r(e,t,r,s){var i=function(t){if(r)return r.call(s||e,t||window.event)},n=i;return"addEventListener"in e?"mousewheel"===t?e.addEventListener("onwheel"in e?"wheel":"mousewheel",i,!1):"mouseenter"===t||"mouseleave"===t?(i=function(t){t=t||window.event,function(e,t){var r=t.relatedTarget;if(!r)return!0;try{for(;r&&r!==e;)r=r.parentNode}catch(e){return!1}return r!==e}(e,t)&&n(t)},e.addEventListener("mouseenter"===t?"mouseover":"mouseout",i,!1)):e.addEventListener(t,i,!1):"attachEvent"in e&&e.attachEvent("on"+t,i),this}function s(){this._container.classList.add("ol-control-ctv-expanded")}function i(){this._container.classList.remove("ol-control-ctv-expanded")}function n(){var e=this.getVersion();this.tilesVersion(e)}(e=e||{}).title||(e.title="switch tile version"),e.tooltip||(e.tooltip="top"),e.collapsed||(e.collapsed=!0),e.lastText||(e.lastText="-"),e.nextText||(e.nextText="+"),e.ico||(e.ico="V"),"vertical"!==e.orientation&&(e.orientation="horizontal"),e.switch||(e.switch=!0),super(e),this.options=e,this.element=e.element=function(){var a="ol-control-ctv";this._container=t("div",a+" "+a+"-"+e.orientation+" ol-unselectable ol-control"),this._sliderBtn=t("button",a+"-toggle",this._container),this._sliderBtn.setAttribute("title",e.title),this._sliderBtn.innerHTML=e.ico,this._sliderValue=t("p",a+"-value",this._container),this._sliderValue.innerHTML=e.ico,this._sliderValue.setAttribute("title",e.title);this._sliderContent=t("div","ol-ctv-slider-main tooltip",this._container),"vertical"===e.orientation&&"top"===e.tooltip&&(e.tooltip="right");this.tooltip=t("span","tooltip-text tooltip-"+e.tooltip,this._sliderContent),this.tooltip.innerHTML=e.ico,e.switch&&(this._next=t("a","ol-ctv-slider-incdec ol-ctv-slider-next",this._sliderContent),this._next.innerHTML=e.nextText,r(this._next,"click",this.nextTilesVersion,this),this._container.classList.add(a+"-incdec"));this._sliderContainer=t("div","ol-ctv-slider-container",this._sliderContent),this.slider=t("input","ol-ctv-slider",this._sliderContainer),this.min=null==this.min||isNaN(this.min)?0:parseInt(this.min),this.slider.setAttribute("title",e.title),this.slider.setAttribute("id","slider"),this.slider.setAttribute("type","range"),this.slider.setAttribute("min",this.min),this.slider.setAttribute("max",0),this.slider.setAttribute("step",1),this.slider.setAttribute("value",0),this.firstLoad=!0,"oninput"in this.slider||"onchange"in this.slider?r(this.slider,"change",n,this):this.slider.onpropertychange=n;e.switch&&(this._last=t("a","ol-ctv-slider-incdec ol-ctv-slider-last",this._sliderContent),this._last.innerHTML=e.lastText,r(this._last,"click",this.lastTilesVersion,this));"vertical"==e.orientation?(this.slider.style.width="170px",this._sliderContainer.style.height="170px"):this._sliderContainer.style.width="150px";r(this._container,"click",function(e){e.preventDefault(),e.stopPropagation()},this),e.collapsed?(r(this._container,"mouseenter",s,this),r(this._container,"mouseleave",i,this),r(this._sliderBtn,"click",function(e){e.preventDefault(),e.stopPropagation()}),r(this._sliderBtn,"click",s,this),r(this._sliderBtn,"focus",s,this)):s();return this._container}.call(this),e.layer&&this.setLayer(e.layer)}setContent(e){var t=e||{};this.setVersionName(t.desc).setToolTip(t.desc)}setVersionName(e){var t=e;return e||(t=this.getValue()),this._sliderValue.innerHTML=t,this}setToolTip(e){return this.tooltip.innerHTML=e,this}updateLength(e){e>0&&(this.length=e,this.max=this.length-1,this.slider.setAttribute("max",this.max))}setLayer(e){e&&(this.options.layer=e);var t=this,r=t.options.layer;r.on("tilesetsinfoloaded",function(e){var r=e.value&&e.value.tileVersions;t.update(r)}),r.on("tileversionschanged",function(e){var r=e.value&&e.value.tileVersion;t.setContent(r)}),t.getTileSetsInfo()}update(e){this.tileVersions=e||[],this.updateLength(this.tileVersions.length)}getTileSetsInfo(){var e=this;e.options.layer&&new ka(e.options.layer._url).getTilesets(function(t){e.options.layer.setTileSetsInfo(t.result)})}removeLayer(){this.options.layer=null}nextTilesVersion(){return this.firstLoad?(this.options.layer.nextTilesVersion(),this.firstLoad=!1,this):parseInt(this.slider.value)>this.max-1?this:(this.slider.value=parseInt(this.slider.value)+1,this.options.layer.nextTilesVersion(),this)}lastTilesVersion(){return parseInt(this.slider.value)<this.min+1?this:(this.slider.value=parseInt(this.slider.value)-1,this.options.layer.lastTilesVersion(),this)}tilesVersion(e){for(var t=this.options.layer,r=this.tileVersions,s=r.length,i=0;i<s;i++)if(r[i].name==e){t.updateCurrentTileSetsIndex(i),t.changeTilesVersion();break}}getValue(){return this.slider.value}getVersion(){var e=this.tileVersions[this.getValue()];return e&&e.name}}const Ba=ol.control.ScaleLine;var ja=r.n(Ba);const Ua=ol.proj,Va=ol.AssertionError;var za=r.n(Va);class Ja extends(ja()){constructor(e){(e=e||{}).render=function(e){var t=e.frameState;this.viewState_=t?t.viewState:null,this.updateElementRepair()},super(e)}updateElementRepair(){const e=this.viewState_||this.o||this.Om;if(!e)return this.renderedVisible_=this.renderedVisible_||this.j||this.yn,void(this.renderedVisible_&&(this.element_=this.element_||this.c,this.element.style.display="none",this.renderedVisible_=!1));const t=e.center,r=e.projection,s=this.getUnits(),i="degrees"==s?"degrees":"m";let n=Ua.getPointResolution(r,e.resolution,t,i);this.minWidth_=this.minWidth_||this.v||this.Em;let a=this.minWidth_*n,o="";if("degrees"==s){const e=Ua.METERS_PER_UNIT.degrees;(a*=e)<e/60?(o="″",n*=3600):a<e?(o="",n*=60):o="°"}else if("imperial"==s)a<.9144?(o="in",n/=.0254):a<1609.344?(o="ft",n/=.3048):(o="mi",n/=1609.344);else if("nautical"==s)n/=1852,o="nm";else if("metric"==s)a<.001?(o="μm",n*=1e6):a<1?(o="mm",n*=1e3):a<1e3?o="m":(o="km",n/=1e3);else{if("us"!=s)throw new(za())(33);a<.9144?(o="in",n*=39.37):a<1609.344?(o="ft",n/=.30480061):(o="mi",n/=1609.3472)}var l=[1,2,5];let h,u,c,d=3*Math.floor(Math.log(this.minWidth_*n)/Math.log(10));for(;;){c=Math.floor(d/3);const e=Math.pow(10,c);if(h=l[(d%3+3)%3]*e,u=Math.round(h/n),isNaN(u))return this.element.style.display="none",void(this.renderedVisible_=!1);if(u>=this.minWidth_)break;++d}this.renderedHTML_=this.renderedHTML_||this.D||this.am,this.innerElement_=this.innerElement_||this.l||this.Tm,this.renderedWidth_=this.renderedWidth_||this.B||this.Am,this.renderedVisible_=this.renderedVisible_||this.j||this.yn,this.element_=this.element_||this.c;let p=h.toFixed(c<0?-c:0)+" "+o;this.renderedHTML_!=p&&(this.innerElement_.innerHTML=p,this.renderedHTML_=p),this.renderedWidth_!=u&&(this.innerElement_.style.width=u+"px",this.renderedWidth_=u),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}}var qa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAAAdCAYAAAAjHtusAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYWZlOGIwMi01MWE3LTRiZjYtYWVkYS05MGQ2ZTQ4YjZiMmUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODg0NkFBQUE3RjEzMTFFNzhFRjJFQkY4RjcxQjc1NjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODg0NkFBQTk3RjEzMTFFNzhFRjJFQkY4RjcxQjc1NjIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MWI3NzdhNC1lZmEyLTQ1MzUtOGQzNi03MmRjNDkyODMzN2UiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYTYzODVjMi1jNDQ1LTExN2EtYTc0ZC1lM2I5MzJlMGE4Y2QiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5q1HM0AAAF/ElEQVR42tSabYhUVRjHZ7W01C1uaCRW4F3oi9SXCUnwQ9gsGUFvOEtQH1bLu5VS9sbYh5KicjYt29qiGQwVg2xWWKgocob91AvC+CWsoJqB3qHMSdTMpZyeU/+Df07n3pk7997Z6cBv99z7nHvOvf/z/pxJNZvNVI/jCKXmv6EquAmVkxPSlvtp2GItr0/96fFQForChJAWDiVYTkMYMu4XBFcYjLOwWS3sNwmn8NGzZ0h4Flv/zwIdchAnh/slCGmmKUNIBzYPaXOUr0vPuEjD71JAPh7l61embzinhV3V8nnCGmGT8LwlzSL8/yUh4Tfjo9T/CgnCIYNKycA2Qq21AcHU/VHE80Idoo3Qs0W6p0UtUnkZvEMDeVcCyqxEafF7hL8Qf0oYsIj+lfC9cH1CwhchWAGCtZO+AooQOkdC1Km1VtCb63StW73uFSzgKFUkNwBbmZGGmqowhvg8ZNpH9oXChcIcYRdeNomgxLkaH+S1SGubAxyIpFv+Zp+0DYjrAS00j/dem2VGEl6FJ4Qa4quEu8j2hTCJ+GJhe4JjfQMf6JCYPPbysMPxBlp0BUKOogEF9Rg9/heNvNKYfM0KsZUZaYxX4STGrzJa+zbhPeFH2DcK10KItcI+pI0rVElwXl1ULaKnIJhDw0oRQpTQc1zcbwRU8ATy4DR6yMlTzwkqMziEWHvubJ4Nk4ZtHdnqwvwY17xq3Z4FjrG+z2Kdrdf2ZSGD+xlLPh6t1R0jP9fI22ZzKI92yvQl7EbmBxI4S7Y+vIAOL87QZqsc5uNnssxZIcfYjXT9snCR7jjobidp+FkxA2v+Cq1QervMDmp4P7Xs3YZtE9kOC3P/By6JGaETl8ElwueYTNTDq4UDsKnd7YfCNbT239LF1udS72xYJt1UWxNfN4IIP4bWuTpEja01JtMFZFsm/AHbtHBlDE6yasA4moYTrUbvdBTXHqUrAH4uSadbyzF+vbBM2IsNkS3MNa5305JxqfA02T4TnkX8XOH1mPw8ruVejpxbI9hZD2Cz1U7LdrrUvjP/WfZinNZhr6V27hP+FPZh9aLvLxVO4DllX0G2OcKnlO/DCblxaz6uXBtmi+8mBaP3/SP8IuEIiTRoPPQm2TaEmEyXo0JU+F0YiPFD0hhOsiE/vqeEVwyTgF8L51OilcIZ2I4Ll5NttvAJPfukUeB2sk0ZPSbKIUUJpCII7+DasWy08uhNNazT0wGHI7mAtB7KqMKm38HhDdAUibTVKGicbB8YAqrJ9DRsp43JdB4qUof1HQrPE6XTQWu3Ce/inVzjXhXpMiTwUYugNVQ+p80jrUsV5EH0POKeuXO9QjhFq5GryNYvfEMCDhsftYVsB9ETtG0V9ZjfhCURhbcJFpfwVZ9jvhxsLHwTYtp2svlWQw3vXL8UnqHVSIG8l8ex+tHhBXgjddgqHEZ8ufAA2aaEnYgrF/KrPXrEmMUqZ9THLW06xhoBaVueQpkug+ewOUphE3Qv2Q5gGamXYa+QbVq4O+DQ5FHyZqrjxNt7UHh9uuRa0F7HjCF8o9PCTOGnscM7g2u1Hl9C9oeEnxC/1ajZg8JLiM9Hj9GHJseMShwL2DO0G5yEWn3Zh1QUods5CPkIoqlwAZxhXMsb6HrcEPBxchhdJ6wj29vCW4hfLOzo8J3rltYX50nXQAATSf/K4DEaGlTLvplsk/QCpoD60EQ7gLYZc8H9wq+I3yncEOEcNhuz6HWf3XEiwU/4Y8YEqVp2P10rt+8REvBGw026i4aDcbL9jF8r8Blmf4fCOzhViiscskygXRdehf3CO4hfigmTBXyQrl8TFtD1IzQX3CbcQrY3hPcRv4z8OmHPXwchVNln2MmE7BX6VwIFi/he6uxvb6JM3m0fdqvx/ATidxg2JeC7VDErAw5NzGfvwRJVheEIQ8Mg/pdwIM+UOmi9Q8ivCsrIy0tF+wVbEcLrd3Pb2XisEb4Tdlhsi4WP4RBbaLGrHfC3PrvMIezy9rTpGm5lz9LOMG15xvFxD/j5gjzjjDbMOzk+9zzt3v5bgAEAibzFeFHVgYkAAAAASUVORK5CYII=";class Ha extends(Da()){constructor(e){(e=e||{}).imageUrl=e.imageUrl||null,e.width=e.width||null,e.height=e.height||null,e.alt=e.alt||"SuperMap iClient",super(e),this.options=e,this.element=e.element=function(){var e=document.createElement("div");e.className="ol-control-logo ol-unselectable ol-control",function(e){var t=document.getElementsByClassName("ol-attribution"),r=(t=t&&t[0])&&t.clientHeight||29;e.style.bottom=parseInt(r)+6+"px",e.style.right="4px",e.style.marginTop=0,e.style.marginLeft=0,e.style.marginBottom=0,e.style.marginRight=0;var s=document.createElement("style");s.type="text/css",s.innerHTML=".ol-control-logo,.ol-control-logo:hover {background-color: rgba(255,255,255,0);}",document.getElementsByTagName("head")[0].appendChild(s)}.call(this,e);var t=qa;this.options.imageUrl&&(t=this.options.imageUrl);var r=this.options.alt,s=this.options.link,i="94px",n="29px",a="width:"+i+";height:"+n+";";this.options.imageUrl&&(i=this.options.width,n=this.options.height,a="width:"+i+";height:"+n+";",i&&n||(a=""));return e.innerHTML="<a href='"+s+"' target='_blank' style='border: none;display: block;'><img src="+t+" alt='"+r+"' style='border: none;"+a+"white-space: nowrap;margin-bottom: 2px'></a>",e}.call(this)}}var Wa={"point-file":"pointFile","point-fill":"fillStyle","point-radius":"pointRadius","point-halo-radius":"pointHaloRadius","point-halo-color":"pointHaloColor","point-dx":"offsetX","point-dy":"offsetY","point-opacity":"globalAlpha","point-comp-op":"globalCompositeOperation"},Ya={"line-color":"strokeStyle","line-width":"lineWidth","line-cap":"lineCap","line-join":"lineJoin","line-miterlimit":"miterLimit","line-dash-offset":"lineDashOffset","line-opacity":"strokeOpacity","line-dasharray":"lineDasharray","line-offset":"offset","line-comp-op":"globalCompositeOperation"},Xa={"line-color":"strokeStyle","line-width":"lineWidth","line-cap":"lineCap","line-join":"lineJoin","line-miterlimit":"miterLimit","line-dash-offset":"lineDashOffset","line-opacity":"strokeOpacity","line-dasharray":"lineDasharray","polygon-fill":"fillStyle","polygon-dx":"offsetX","polygon-dy":"offsetY","polygon-opacity":"fillOpacity","polygon-comp-op":"globalCompositeOperation"},Qa={CartoStyleMap:{TEXT:{"text-size":"fontSize","text-face-name":"fontFamily","text-align":"textAlign","text-vertical-alignment":"textBaseline","text-horizontal-alignment":"textAlign","text-bold":"bold","text-weight":"fontWeight","text-name":"textName","text-halo-radius":"haloRadius","text-halo-color":"backColor","text-fill":"foreColor","text-opacity":"globalAlpha","text-dx":"offsetX","text-dy":"offsetY","text-comp-op":"globalCompositeOperation"},POINT:Wa,MULTIPOINT:Wa,LINE:Ya,LINESTRING:Ya,MULTILINESTRING:Ya,REGION:Xa,POLYGON:Xa,MULTIPOLYGON:Xa},ServerStyleMap:{fillBackOpaque:{canvasStyle:"",type:"bool",defaultValue:!0},lineWidth:{canvasStyle:"lineWidth",type:"number",unit:"mm",defaultValue:.1},fillBackColor:{canvasStyle:"",type:"color",defaultValue:"rgba(0,0,0,0)"},markerWidth:{canvasStyle:"",type:"number",unit:"mm",defaultValue:""},markerAngle:{canvasStyle:"",type:"number",unit:"degree",defaultValue:""},fillForeColor:{canvasStyle:"fillStyle",type:"color",defaultValue:"rgba(0,0,0,0)"},foreColor:{canvasStyle:"fillStyle",type:"color",defaultValue:"rgba(0,0,0,0)"},markerSize:{canvasStyle:"markerSize",type:"number",unit:"mm",defaultValue:2.4},fillGradientOffsetRatioX:{canvasStyle:"",type:"number",defaultValue:0},fillGradientOffsetRatioY:{canvasStyle:"",type:"number",defaultValue:0},lineColor:{canvasStyle:"strokeStyle",type:"color",defaultValue:"rgba(0,0,0,0)"},fillOpaqueRate:{canvasStyle:"",type:"number",defaultValue:100},markerHeight:{canvasStyle:"",type:"number",unit:"mm",defaultValue:0},fillGradientMode:{canvasStyle:"",type:"string",defaultValue:"NONE"},fillSymbolID:{canvasStyle:"",type:"number",defaultValue:0},fillGradientAngle:{canvasStyle:"",type:"number",unit:"degree",defaultValue:0},markerSymbolID:{canvasStyle:"",type:"number",defaultValue:0},lineSymbolID:{canvasStyle:"",type:"number",defaultValue:0}},CartoCompOpMap:{clear:"",src:"",dst:"","src-over":"source-over","dst-over":"destination-over","src-in":"source-in","dst-in":"destination-in","src-out":"source-out","dst-out":"destination-out","src-atop":"source-atop","dst-atop":"destination-atop",xor:"xor",plus:"lighter",minus:"",multiply:"",screen:"",overlay:"",darken:"",lighten:"lighter","color-dodge":"","color-burn":"","hard-light":"","soft-light":"",difference:"",exclusion:"",contrast:"",invert:"","invert-rgb":"","grain-merge":"","grain-extract":"",hue:"",saturation:"",color:"",value:""}},Za={pointFile:"",pointRadius:3,pointHaloRadius:1,pointHaloColor:"#c33",offsetX:0,offsetY:0,fillStyle:"#fc0",globalAlpha:1,globalCompositeOperation:"source-over",imageSmoothingEnabled:!0},Ka={strokeStyle:"rgba(0,0,0,0)",lineWidth:1,lineCap:"butt",lineJoin:"round",miterLimit:10,lineDashOffset:0,lineDasharray:[],strokeOpacity:1,offset:0,globalAlpha:1,globalCompositeOperation:"source-over",imageSmoothingEnabled:!0},$a={strokeStyle:"rgba(0,0,0,0)",lineWidth:1,lineCap:"butt",lineJoin:"round",miterLimit:10,lineDashOffset:0,lineOpacity:1,fillOpacity:1,lineDasharray:[],fillStyle:"rgba(0,0,0,0)",polygonOpacity:1,offsetX:0,offsetY:0,globalAlpha:1,globalCompositeOperation:"source-over",imageSmoothingEnabled:!0},eo={TEXT:{font:"10px sans-serif",textAlign:"middle",textBaseline:"center",direction:"ltr",bold:!1,haloRadius:0,backColor:"rgba(255,255,255,1)",foreColor:"rgba(0,0,0,1)",offsetX:0,offsetY:0,textHeight:0,globalAlpha:1,globalCompositeOperation:"source-over",imageSmoothingEnabled:!0},POINT:Za,MULTIPOINT:Za,LINE:Ka,LINESTRING:Ka,MULTILINESTRING:Ka,REGION:$a,POLYGON:$a,MULTIPOLYGON:$a,SHADOW:{shadowBlur:0,shadowColor:"rgba(0,0,0,0)",shadowOffsetX:0,shadowOffsetY:0},GLOBAL:{globalAlpha:1,globalCompositeOperation:"source-over",imageSmoothingEnabled:!0}};const to=ol.util,ro=ol.geom.Geometry;var so=r.n(ro);const io=ol.render,no=ol.source.Vector;var ao=r.n(no);const oo=ol.layer.Vector;var lo=r.n(oo);const ho=ol.style,uo=ol.Feature;var co=r.n(uo);const po=ol.proj.Projection;var fo=r.n(po);const mo={getOlVersion(){if(to&&to.VERSION)return to.VERSION.split(".")[0];if(window&&window.ol){if(window.ol.util)return"6";if(window.ol.WebGLMap)return"5"}return"4"},toGeoJSON:e=>e?(new Oe).toGeoJSON(e):null,toSuperMapGeometry(e){if(!e||!e.type)return null;return(new Oe).read(e,"FeatureCollection")[0].geometry},resolutionToScale:(e,t,r)=>1/(e*t*(1/.0254)*Cn(r)),toSuperMapBounds:e=>new se(e[0],e[1],e[2],e[3]),toProcessingParam(e){if(e.length<1)return"";const t={},r=[];for(let t=0;t<e.length;t++){const s={x:e[t][0],y:e[t][1]};r.push(s)}return r.push(r[0]),t.type="REGION",t.points=r,t},scaleToResolution:(e,t,r)=>1/(e*t*(1/.0254)*Cn(r)),getMeterPerMapUnit:Cn,isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},Csv2GeoJSON(e,t){t=t||{titles:["lon","lat"],latitudeTitle:"lat",longitudeTitle:"lon",fieldSeparator:",",lineSeparator:"\n",deleteDoubleQuotes:!0,firstLineTitles:!1};const r=[];if("string"==typeof e){let i=t.titles;if(t.firstLineTitles){if((e=e.split(t.lineSeparator)).length<2)return;i=e[0],e.splice(0,1),e=e.join(t.lineSeparator),i=i.trim().split(t.fieldSeparator);for(let e=0;e<i.length;e++)i[e]=s(i[e]);t.titles=i}for(let e=0;e<i.length;e++){let t=i[e].toLowerCase().replace(/[^\w ]+/g,"").replace(/ +/g,"_");""!==t&&"_"!==t||(t=`prop-${e}`),r[e]=t}e=function(e){const i={type:"FeatureCollection",features:[]},n=t.titles;e=e.split(t.lineSeparator);for(let a=0;a<e.length;a++){const o=e[a].trim().split(t.fieldSeparator),l=parseFloat(o[n.indexOf(t.longitudeTitle)]),h=parseFloat(o[n.indexOf(t.latitudeTitle)]),u=l<180&&l>-180&&h<90&&h>-90;if(o.length!==n.length||!u)continue;const c={type:"Feature",geometry:{},properties:{}};c.geometry.type="Point",c.geometry.coordinates=[l,h];for(let e=0;e<n.length;e++)n[e]!==t.latitudeTitle&&n[e]!==t.longitudeTitle&&(c.properties[r[e]]=s(o[e]));i.features.push(c)}return i}(e)}return e;function s(e){return t.deleteDoubleQuotes&&(e=e.trim().replace(/^"/,"").replace(/"$/,"")),e}},createCanvasContext2D(e,t){const r=document.createElement("CANVAS");return e&&(r.width=e),t&&(r.height=t),r.getContext("2d")},supportWebGL2(){const e=document.createElement("canvas");return Boolean(e&&e.getContext("webgl2"))},isString:yo,isObject:e=>"[object Object]"===Object.prototype.toString.call(e),trim:(e="")=>e.replace(/(^\s*)|(\s*$)/g,""),newGuid(e){let t=e||32,r="";for(let e=1;e<t;e++){r+=Math.floor(16*Math.random()).toString(16)}return r},isNumber(e){if(""===e)return!1;let t=Number(e);return 0===t||!isNaN(t)},isMatchAdministrativeName:vo,getHighestMatchAdministration(e,t){let r=0,s=null;return e.filter(e=>vo(e.properties.Name,t)).forEach(e=>{let i=0;Array.from(new Set(e.properties.Name.split(""))).forEach(e=>{t.includes(e)&&i++}),i>r&&(r=i,s=e)}),s},setMask(e,t){if(!t)return;if(!((t instanceof co()?t.getGeometry():t)instanceof so())&&["MultiPolygon","Polygon"].indexOf(t.getType())<0)return;const r=t instanceof co()?t:new(co())(t),s=new ho.Style({fill:new ho.Fill({color:"black"})}),i=new(lo())({source:new(ao())({features:[r],wrapX:!1})}),n=function(e){const t=(0,io.getVectorContext)(e);e.context.globalCompositeOperation="destination-in",i.getSource().forEachFeature(function(r){t.drawFeature(r,s),e.context.globalCompositeOperation="source-over"})},a=Array.isArray(e)?e:[e];go(a),a.forEach(e=>{e.classNameBak_=e.className_,e.className_=`ol_mask_layer_${e.ol_uid}`,e.clipRender=n,e.extentBak_=e.getExtent(),e.setExtent(i.getSource().getExtent()),e.on("postrender",n),e.changed()})},unsetMask:go,getZoomByResolution:(e,t)=>(function(e,t){let r,s=0;for(let i=0;i<t.length;i++)0===i&&(r=Math.abs(e-t[i])),r>Math.abs(e-t[i])&&(r=Math.abs(e-t[i]),s=i);return s})(e,t),scalesToResolutions:(e,t,r,s,i,n)=>(function(e,t,r,s,i=22){var n=[];if(e&&e.length>0)for(let t=0;t<e.length;t++)n.push(Tn(e[t],r,s));else{const e=Math.abs(t.left-t.right)/256;for(let t=0;t<i;t++)n.push(e/Math.pow(2,t))}return n.sort(function(e,t){return t-e})})(e,t,r,s,i),getProjection(e,t){let r=(0,Ua.get)(`EPSG:${e.epsgCode}`);return"PCS_NON_EARTH"==e.type&&(r=new(fo())({extent:t,units:"m",code:"0"})),r||console.error(`The projection of EPSG:${e.epsgCode} is missing, please register the projection of EPSG:${e.epsgCode} first, refer to the documentation: https://iclient.supermap.io/web/introduction/leafletDevelop.html#multiProjection`),r}};function yo(e){return"string"==typeof e&&e.constructor===String}function go(e){const t=Array.isArray(e)?e:[e];for(let e=0;e<t.length;e++){const r=t[e];r.clipRender&&(r.un("postrender",r.clipRender),r.className_=r.classNameBak_,r.setExtent(r.extentBak),delete r.classNameBak_,delete r.clipRender,delete r.extentBak_,r.changed())}}function vo(e,t){if(yo(t)){let r=e.substr(0,2);return"张家"===r&&(r=e.substr(0,3)),!!t.match(new RegExp(r))}return!1}const bo=function(){try{return canvg}catch(e){return{}}}();var So=r.n(bo);const xo=ol.style.Style;var _o=r.n(xo);const wo=ol.style.Icon;var Co=r.n(wo);const To=ol.style.Circle;var Mo=r.n(To);const Eo=ol.style.Fill;var Ao=r.n(Eo);const Oo=ol.style.Stroke;var Po=r.n(Oo);const Lo=ol.style.Text;var Io=r.n(Lo),No=8,Fo=2*No;const ko=1e-7;class Ro{static getValidStyleFromLayerInfo(e,t,r){var s=t.getGeometry().getType().toUpperCase(),i=e.layerStyle,n=this.getDefaultStyle(s);if(!("POINT"!==s&&"MULTIPOINT"!==s||t.getProperties().textStyle||"LABEL"===e.type||t.getProperties().TEXT_FEATURE_CONTENT)){if(i){var a={transparent:!0,resourceType:"SYMBOLMARKER",picWidth:Math.ceil(i.markerSize*K*ee.mm)||13,picHeight:Math.ceil(i.markerSize*K*ee.mm)||13,style:JSON.stringify(i)},o=$.urlAppend(r+"/symbol.png",$.getParameterString(a));return n.pointFile=o,new(_o())({image:new(Co())({src:n.pointFile})})}return this.toOLPointStyle(n)}if(("POINT"===s||"MULTIPOINT"===s)&&(t.getProperties().textStyle||"LABEL"===e.type||t.getProperties().TEXT_STYLE_INFO)){if(n=this.getDefaultStyle("TEXT"),t.getProperties().textStyle&&(i=t.getProperties().textStyle),t.getProperties().TEXT_STYLE_INFO&&(i=JSON.parse(t.getProperties().TEXT_STYLE_INFO).textStyle),i&&"{}"!==i){var l="";n.fontStyle=i.italic?"italic":"normal",n.fontWeight=i.bold?i.fontWeight:"normal";var h=i.fontHeight*K*ee.mm*.85;n.fontSize=h+"px",l=i.fontName.indexOf("@")?i.fontName.replace(/@/g,""):i.fontName,n.fontFamily=l,n.textHeight=h;var u=i.align.replace(/TOP|MIDDLE|BASELINE|BOTTOM/,"");n.textAlign=u.toLowerCase();var c=i.align.replace(/LEFT|RIGHT|CENTER/,"");"BASELINE"===c&&(c="alphabetic"),n.textBaseline=c.toLowerCase(),n.haloRadius=i.outline?i.outlineWidth:0,n.backColor="rgba("+i.backColor.red+","+i.backColor.green+","+i.backColor.blue+",1)",n.foreColor="rgba("+i.foreColor.red+","+i.foreColor.green+","+i.foreColor.blue+",1)",n.rotation=i.rotation}var d;if(t.getProperties().textStyle&&t.getProperties().texts&&(d=t.getProperties().texts[0]),"LABEL"===e.type){var p=e.textField;if(p&&p.indexOf(".")){var f=p.split(".");p=f&&f.length>0&&f[f.length-1]}d=t.getProperties().attributes?t.getProperties().attributes[p]:t.getProperties()[p]}return t.getProperties().TEXT_FEATURE_CONTENT&&(d=t.getProperties().TEXT_FEATURE_CONTENT),d?this.toOLTextStyle(n,d):this.toOLPointStyle(this.getDefaultStyle("POINT"))}if(i){var m=i.fillSymbolID>7?0:i.fillSymbolID,y=i.lineSymbolID>5?0:i.lineSymbolID;for(var g in i){var v,b=Qa.ServerStyleMap[g],S=b.canvasStyle;if(S&&""!=S)switch(b.type){case"number":v=i[g],b.unit&&(v=v*K*ee[b.unit]*2.5),n[S]=v;break;case"color":var x=i[g],_=i.fillBackColor,w=1;if("fillStyle"===S)if(0===m||1===m)w=1-m,v="rgba("+x.red+","+x.green+","+x.blue+","+w+")";else try{var C=document.createElement("canvas");C.height=8,C.width=8;var T=C.getContext("2d"),M=new Image;this.layer&&this.layer.fillImages&&T.drawImage(this.layer.fillImages["System "+m],0,0);for(var E=T.getImageData(0,0,C.width,C.height),A=E.data,O=0,P=A.length;O<P;O+=4){var L=A[O],I=A[O+1],N=A[O+2];L<225&&I<225&&N<225?(A[O]=x.red,A[O+1]=x.green,A[O+2]=x.blue):_&&(A[O]=_.red,A[O+1]=_.green,A[O+2]=_.blue)}T.putImageData(E,0,0),M.src=C.toDataURL(),this.context&&(v=this.context.createPattern(M,"repeat"))}catch(e){throw Error(e.message)}else if("strokeStyle"===S){if(0===y||5===y)w=0===y?1:0;else{var F=[1,0];switch(y){case 1:F=[9.7,3.7];break;case 2:F=[3.7,3.7];break;case 3:F=[9.7,3.7,2.3,3.7];break;case 4:F=[9.7,3.7,2.3,3.7,2.3,3.7]}n.lineDasharray=F}v="rgba("+x.red+","+x.green+","+x.blue+","+w+")"}n[S]=v}}}return"LINESTRING"===s||"MULTILINESTRING"===s?this.toOLLineStyle(n):"POLYGON"===s||"MULTIPOLYGON"===s?this.toOLPolygonStyle(n):void 0}static getStyleFromCarto(e,t,r,s,i,n){var a=s.getGeometry().getType().toUpperCase(),o={},l=this.getDefaultStyle(a);o.FEATUREID=s.getProperties().id,o.SCALE=t;var h,u,c="TEXT"===s.getProperties().type?"TEXT":a,d=Qa.CartoStyleMap[c];if(r)for(var p=0,f=r.length;p<f;p++){var m=r[p],y=d[m.property],g=m.getValue(o,e,!0);if(null!==g&&y)if("fontSize"===y)i&&(g*=.8),h=g+"px",l.fontSize=h;else if("fontName"===y)u=g,l.fontName=u;else{if("globalCompositeOperation"===y){if(!(g=Qa.CartoCompOpMap[g]))continue}else i&&"pointFile"===y&&(g=(g=n+"/tileFeature/symbols/"+g.replace(/(___)/gi,"@")).replace(/(__0__0__)/gi,"__8__8__"));"lineWidth"===y&&g<1&&(g=Math.ceil(g)),l[y]=g}}if("TEXT"===s.getProperties().type){var v;if(s.getProperties().texts&&(v=s.getProperties().texts[0]),null==v&&l.textName){var b=l.textName.substring(1,l.textName.length-1);if(null!=(v=s.getProperties().attributes?s.getProperties().attributes[b]:s.getProperties()[b])){var S=s.getProperties().texts||[];S.push(v),s.setProperties({texts:S})}}return this.toOLTextStyle(l,v)}return"POINT"===a||"MULTIPOINT"===a?this.toOLPointStyle(l):"LINESTRING"===a||"MULTILINESTRING"===a?this.toOLLineStyle(l):"POLYGON"===a||"MULTIPOLYGON"===a?this.toOLPolygonStyle(l):void 0}static toOLPointStyle(e){return""!==e.pointFile?new(_o())({image:new(Co())({src:e.pointFile})}):new(_o())({image:new(Mo())({radius:e.pointRadius,fill:new(Ao())({color:e.fillStyle}),stroke:new(Po())({color:e.pointHaloColor,width:e.pointHaloRadius})})})}static toOLLineStyle(e){return new(_o())({stroke:new(Po())({color:e.strokeStyle,width:e.lineWidth,lineCap:e.lineCap,lineDash:e.lineDasharray,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,miterLimit:e.miterLimit})})}static toOLPolygonStyle(e){var t=new(Ao())({color:e.fillStyle}),r=new(Po())({color:e.strokeStyle,width:e.lineWidth,lineCap:e.lineCap,lineDash:e.lineDasharray,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,miterLimit:e.miterLimit});return new(_o())({fill:t,stroke:r})}static toOLTextStyle(e,t){return new(_o())({text:new(Io())({font:(e.fontStyle||"")+" "+(e.fontWeight||"")+" "+(e.fontSize||"")+" "+e.fontFamily,text:t,textAlign:e.textAlign,textBaseline:e.textBaseline,fill:new(Ao())({color:e.foreColor}),stroke:new(Po())({color:e.backColor}),offsetX:e.offsetX,offsetY:e.offsetY})})}static dashStyle(e,t){if(!e)return[];var r=e.strokeWidth*t,s=e.strokeDashstyle||e.lineDash;switch(s){case"solid":return[0];case"dot":return[1,4*r];case"dash":return[4*r,4*r];case"dashdot":return[4*r,4*r,1,4*r];case"longdash":return[8*r,4*r];case"longdashdot":return[8*r,4*r,1,4*r];default:return s?$.isArray(s)?s:(s=J.trim(s).replace(/\s+/g,",")).replace(/\[|\]/gi,"").split(","):[]}}static getStyleFromiPortalMarker(e){return 0==e.indexOf("./")?null:new(_o())({image:new(Co())({src:e,opacity:1,size:[48,43],anchor:[.5,1]})})}static getStyleFromiPortalStyle(e,t,r){var s=r?JSON.parse(r):null,i=this;if("Point"===t||"MultiPoint"===t){var n=s||e.pointStyle;return n.externalGraphic?0==n.externalGraphic.indexOf("./")?null:new(_o())({image:new(Co())({src:n.externalGraphic,opacity:n.graphicOpacity,size:[n.graphicWidth,n.graphicHeight]})}):new(_o())({image:new(Mo())({fill:new(Ao())({color:i.hexToRgba(n.fillColor,n.fillOpacity)}),stroke:new(Po())({color:i.hexToRgba(n.strokeColor,n.strokeOpacity),lineCap:n.strokeLineCap,lineDash:this.dashStyle(n,1),width:n.strokeWidth}),radius:n.pointRadius})})}if("LineString"===t||"MultiLineString"===t||"Box"===t){var a=s||e.lineStyle;return new(_o())({stroke:new(Po())({color:i.hexToRgba(a.strokeColor,a.strokeOpacity),lineCap:a.strokeLineCap,lineDash:this.dashStyle(a,1),width:a.strokeWidth})})}if("Polygon"===t||"MultiPolygon"===t){var o=s||e.polygonStyle;return new(_o())({fill:new(Ao())({color:i.hexToRgba(o.fillColor,o.fillOpacity)}),stroke:new(Po())({color:i.hexToRgba(o.strokeColor,o.strokeOpacity),lineCap:o.strokeLineCap,lineDash:this.dashStyle(o,1),width:o.strokeWidth})})}}static hexToRgba(e,t){var r=[],s=[];if(3==(e=e.replace(/#/,"")).length){var i=[];for(let t=0;t<3;t++)i.push(e.charAt(t)+e.charAt(t));e=i.join("")}for(let t=0;t<6;t+=2)r[t]="0x"+e.substr(t,2),s.push(parseInt(Number(r[t])));return s.push(t),"rgba("+s.join(",")+")"}static getDefaultStyle(e){var t={},r=eo[e];for(var s in r){var i=r[s];t[s]=i}return t}static async toOpenLayersStyle(e,t){e=e||this.getDefaultStyle();let r,s,i,n=new(_o()),{fillColor:a,fillOpacity:o,strokeColor:l,strokeWidth:h,strokeOpacity:u,radius:c,lineCap:d,src:p,scale:f,offsetX:m,offsetY:y,anchor:g}=e,v=this.hexToRgb(a);v&&v.push(o);let b=this.hexToRgb(l);if(b&&b.push(u),"POINT"===t)p?/.+(\.svg$)/.test(p)?(this.svgDiv||(this.svgDiv=document.createElement("div"),document.body.appendChild(this.svgDiv)),await this.getCanvasFromSVG(p,this.svgDiv,e=>{r=new(Co())({img:e,scale:c/e.width,imgSize:[e.width,e.height],anchor:[.5,.5]})})):r=new(Co())({src:p,scale:f,anchor:g}):r=new(Mo())({radius:c,fill:new(Ao())({color:v}),stroke:new(Po())({width:h||ko,color:b}),displacement:this.getCircleDisplacement(c,m,y)}),n.setImage(r);else if("LINE"===t||"LINESTRING"===t||"MULTILINESTRING"===t||"LINEARRING"===t)i=new(Po())({width:h||ko,color:b,lineCap:d||"round",lineDash:this.dashStyle(e,1)}),n.setStroke(i);else if("POLYGON"===t||"MULTIPOLYGON"===t||"REGION"===t)s=new(Ao())({color:v}),i=new(Po())({width:h||ko,color:b,lineCap:d||"round",lineDash:this.dashStyle(e,1)}),n.setFill(s),n.setStroke(i);else{let t=this.getCanvas(e);r=new(Co())({img:t.canvas,imgSize:[t.width,t.height],scale:1,anchor:[.5,.5]}),n.setImage(r)}return n}static getIconAnchor(e=.5,t=.5){return[e,t]}static getCircleDisplacement(e,t=0,r=0){return[e*t,-(e*r)]}static getTextOffset(e,t=0,r=0){const s=e.substr(0,e.length-2)/2;return{x:s*t,y:s*r}}static getCanvas(e){let t;e.canvas?t=document.querySelector("#"+e.canvas)?document.getElemntById(e.canvas):this.createCanvas(e):(t=this.createCanvas(e),e.canvas=t.id),t.style.display="none";var r=t.getContext("2d");let s=Number(e.font.replace(/[^0-9]/gi,"")),i=e.text.split("\r\n"),n=i.length;r.font=e.font;let a=this.drawRect(r,e,i,s,t);return this.positionY=No,n>1?i.forEach(function(t,i){0!==i&&(this.positionY=this.positionY+s),this.canvasTextAutoLine(t,e,r,s,a.width)},this):this.canvasTextAutoLine(i[0],e,r,s,a.width),{canvas:t,width:a.width,height:a.height}}static createCanvas(e){let t=document.createElement("div");document.body.appendChild(t);let r=document.createElement("canvas");return r.id=e.canvas?e.canvas:"textCanvas"+mo.newGuid(8),t.appendChild(r),r}static drawRect(e,t,r,s,i){let n,a=t.backgroundFill,o=t.maxWidth-Fo,l=0,h=0,u=[];return r.forEach(function(t){let r,s="";h++;for(var i=0;i<t.length;i++){let a=s+t[i],l=e.measureText(a).width;l>o&&i>0||"\n"===t[i]?(s=t[i],h++,r=!0):(s=a,n=l)}r?u.push(o):u.push(n)},this),n=this.getCanvasWidth(u,o),l=h*s,l+=Fo,i.width=n,i.height=l,e.fillStyle=a,e.fillRect(0,0,n,l),{width:n,height:l}}static getCanvasWidth(e,t){let r=0;for(let s=0;s<e.length;s++){let i=e[s];if(i>=t)return t+Fo;i>r&&(r=i)}return r+Fo}static canvasTextAutoLine(e,t,r,s,i){r.font=t.font;let n=t.textAlign,a=this.getPositionX(n,i),o=e.split(""),l="",h=t.fillColor,u=t.maxWidth-Fo;for(var c=0;c<o.length;c++){let e=l+o[c];r.measureText(e).width>u&&c>0||"\n"===o[c]?(r.fillStyle=h,r.textAlign=n,r.textBaseline="top",r.fillText(l,a,this.positionY),l=o[c],this.positionY+=s):l=e}r.fillStyle=h,r.textAlign=n,r.textBaseline="top",r.fillText(l,a,this.positionY)}static getPositionX(e,t){let r,s=t-Fo;switch(e){case"center":r=s/2;break;case"right":r=s;break;default:r=8}return r}static hexToRgb(e){if(e){var t=e.replace("#","").split(""),r=[t[0]+t[1],t[2]+t[3],t[4]+t[5]];return r=r.map(function(e){return parseInt(e,16)})}}static formatRGB(e){let t;return 3===e.length?(t="rgb(",e.forEach(function(e,r){t+=2===r?e:e+","})):(t="rgba(",e.forEach(function(e,r){t+=3===r?e:e+","})),t+=")"}static async getCanvasFromSVG(e,t,r){const s=window.canvg&&window.canvg.default?window.canvg.default:So();let i=document.createElement("canvas");i.id="dataviz-canvas-"+mo.newGuid(8),i.style.display="none",t.appendChild(i);try{const t=i.getContext("2d");if((await s.from(t,e,{ignoreMouse:!0,ignoreAnimation:!0,forceRedraw:()=>!1})).start(),i.width>300||i.height>300)return;r(i)}catch(e){return}}static stopCanvg(){this.canvgsV.forEach(e=>e.stop()),this.canvgsV=[]}static getMarkerDefaultStyle(e,t){let r;switch(e){case"POINT":r={src:`${t}apps/dataviz/static/imgs/markers/mark_red.png`,scale:1,anchor:[.5,1]};break;case"LINE":case"LINESTRING":case"MULTILINESTRING":r={strokeColor:"#3498db",strokeOpacity:1,strokeWidth:5,lineCap:"round",lineDash:"solid"};break;case"REGION":case"POLYGON":case"MULTIPOLYGON":r={fillColor:"#1abd9c",fillOpacity:1,strokeColor:"#3498db",strokeOpacity:1,strokeWidth:3,lineCap:"round",lineDash:"solid"}}return r}static async getOpenlayersStyle(e,t,r){let s;return"BASIC_POINT"===e.type?s=await this.toOpenLayersStyle(e,t):"SYMBOL_POINT"===e.type?s=this.getSymbolStyle(e,r):"SVG_POINT"===e.type?s=await this.getSVGStyle(e):"IMAGE_POINT"===e.type&&(s=this.getImageStyle(e)),s}static getSymbolStyle(e,t){let r="";e.unicode&&(r=String.fromCharCode(parseInt(e.unicode.replace(/^&#x/,""),16)));let s=Ro.hexToRgb(e.fillColor);s.push(e.fillOpacity);let i=Ro.hexToRgb(e.strokeColor);i.push(e.strokeOpacity);let n=t?2*e.radius+"px":e.fontSize;const{offsetX:a,offsetY:o,rotation:l=0}=e,h=Ro.getTextOffset(n,a,o);return new(_o())({text:new(Io())({text:r,font:n+" supermapol-icons",placement:"point",textAlign:"center",fill:new(Ao())({color:s}),backgroundFill:new(Ao())({color:[0,0,0,0]}),stroke:new(Po())({width:e.strokeWidth||1e-6,color:i}),offsetX:h.x,offsetY:h.y,rotation:l})})}static async getSVGStyle(e){let t,r=this;r.svgDiv||(r.svgDiv=document.createElement("div"),document.body.appendChild(r.svgDiv));const{url:s,radius:i,offsetX:n,offsetY:a,fillOpacity:o,rotation:l}=e;let h=this.getIconAnchor(n,a);return await Ro.getCanvasFromSVG(s,r.svgDiv,function(s){t=new(_o())({image:new(Co())({img:r.setColorToCanvas(s,e),scale:2*i/s.width,imgSize:[s.width,s.height],anchor:h||[.5,.5],opacity:o,anchorOrigin:"bottom-right",rotation:l})})}),t}static setColorToCanvas(e,t){let r=e.getContext("2d"),s=Ro.hexToRgb(t.fillColor);s&&s.push(t.fillOpacity);let i=Ro.hexToRgb(t.strokeColor);return i&&i.push(t.strokeOpacity),r.fillStyle=Ro.formatRGB(s),r.fill(),r.strokeStyle=Ro.formatRGB(i),r.lineWidth=t.strokeWidth,r.stroke(),e}static getImageStyle(e){let t=e.imageInfo.size,r=2*e.radius/t.w,s=e.imageInfo,i=s.img;i&&i.src||((i=new Image).src=s.url);const{offsetX:n,offsetY:a,rotation:o}=e;let l=this.getIconAnchor(n,a);return new(_o())({image:new(Co())({img:i,scale:r,imgSize:[t.w,t.h],anchor:l||[.5,.5],anchorOrigin:"bottom-right",rotation:o})})}static getRoadPath(e,t){const{strokeWidth:r=ko,lineCap:s,strokeColor:i,strokeOpacity:n}=e;let a=this.hexToRgb(i);a&&a.push(n);var o=new(_o())({stroke:new(Po())({width:r||ko,color:a,lineCap:s||"round",lineDash:[0]})});const{strokeColor:l}=t;let h=this.hexToRgb(l);h&&h.push(n);let u=0===r?ko:r+2;return[new(_o())({stroke:new(Po())({width:u,color:h,lineCap:s||"round",lineDash:[0]})}),o]}static getPathway(e,t){let{strokeWidth:r=ko,strokeColor:s,strokeOpacity:i}=e;const n=(e=>[e,e+2*r])(4*r);let a=this.hexToRgb(s);a&&a.push(i);var o=new(_o())({stroke:new(Po())({width:.5*r||ko,color:a,lineCap:"square",lineDash:n})});const{strokeColor:l}=t;let h=this.hexToRgb(l);return h&&h.push(i),[new(_o())({stroke:new(Po())({width:r||ko,color:h,lineCap:"square"})}),o]}}const Do=ol.Map;var Go=r.n(Do);const Bo=ol.layer.Group;var jo=r.n(Bo);!function(){const e=function(t,r,s,i,n,a){t instanceof jo()?t.getLayers().forEach(function(t){e(t,r,s,i,n,a)}):t.getSource()._forEachFeatureAtCoordinate&&t.getSource()._forEachFeatureAtCoordinate(r,s,e=>{i(e,t)},n,a)};Go().prototype.forEachFeatureAtPixelDefault=Go().prototype.forEachFeatureAtPixel,Go().prototype.forEachFeatureAtPixel=Go().prototype.Tc=function(t,r,s,i){const n=s&&s.layerFilter?s.layerFilter:()=>!0,a=this.getLayers().getArray(),o=this.getView().getResolution(),l=this.getCoordinateFromPixel(t);for(let s=0;s<a.length;s++){const h=a[s];h.getVisible()&&n.call(null,h)&&e(h,l,o,r,t,i)}return this.forEachFeatureAtPixelDefault(t,r,s)}}();const Uo=ol.source.TileImage;var Vo=r.n(Uo);const zo=ol.asserts,Jo=ol.tilegrid.TileGrid;var qo=r.n(Jo);class Ho extends(Vo()){constructor(e){var t=e||{},r=t.attributions||"Map Data © 2018 Baidu - GS(2016)2089号 - Data © 长地万方 with <span>© SuperMap iClient</span>",s=Ho.defaultTileGrid(),i=void 0!==t.crossOrigin?t.crossOrigin:"anonymous",n=void 0!==t.url?t.url:"http://online1.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles={styles}&udt=20170408",a=t.hidpi||(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1;n=n.replace("{styles}",a?"ph":"pl"),super({attributions:r,cacheSize:t.cacheSize,crossOrigin:i,opaque:void 0===t.opaque||t.opaque,maxZoom:void 0!==t.maxZoom?t.maxZoom:19,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,projection:"EPSG:3857",wrapX:t.wrapX,tilePixelRatio:a?2:1,tileGrid:s,tileUrlFunction:function(e,t,r){var i=n.replace("{z}",e[0].toString()).replace("{x}",e[1].toString()).replace("{y}",function(){console.log(mo.getOlVersion());var t=["4","5"].indexOf(mo.getOlVersion())>-1?e[2]:-e[2]-1;return t.toString()}).replace("{-y}",function(){var t=e[0],r=s.getFullTileRange(t);zo.assert(r,55);var i=r.getHeight()+e[2];return i.toString()});o.tileProxy&&(i=o.tileProxy+encodeURIComponent(i));return i}}),t.tileProxy&&(this.tileProxy=t.tileProxy);var o=this}static defaultTileGrid(){return new(qo())({extent:[-33554432,-33554432,33554432,33554432],resolutions:[262144,131072,65536,32768,16284,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1,.5],origin:[0,0],minZoom:3})}}const Wo=ol.source.Image;var Yo=r.n(Wo);const Xo=ol.Image;var Qo=r.n(Xo);const Zo=ol.format.GeoJSON;var Ko=r.n(Zo);const $o=ol.extent;class el extends(Yo()){constructor(e){if(super({attributions:e.attributions,imageSmoothing:e.imageSmoothing,projection:e.projection,resolutions:e.resolutions}),void 0===e.url)return;this.imageLoadFunction_=void 0!==e.imageLoadFunction?e.imageLoadFunction:Wo.defaultImageLoadFunction,this._image=null,this.renderedRevision_=0,this._crossOrigin=void 0!==e.crossOrigin?e.crossOrigin:null,this._url=e.url,this.ratio_=void 0!==e.ratio?e.ratio:1.5,e.attributions=e.attributions||"Map Data <span>© SuperMap iServer</span> with © SuperMap iClient",e.format=e.format?e.format:"png",this._layerUrl=$.urlPathAppend(e.url,"image."+e.format),this._layerUrl=je.appendCredential(this._layerUrl);const t={},r=void 0===e.transparent||e.transparent;t.transparent=r;const s=void 0===e.cacheEnabled||e.cacheEnabled;t.cacheEnabled=s,void 0!==e.layersID&&(t.layersID=e.layersID);let i=!1;void 0!==e.redirect&&(i=e.redirect),t.redirect=i,e.prjCoordSys&&(t.prjCoordSys=JSON.stringify(e.prjCoordSys)),e.clipRegionEnabled&&e.clipRegion instanceof so()&&(e.clipRegion=mo.toSuperMapGeometry((new(Ko())).writeGeometryObject(e.clipRegion)),e.clipRegion=$.toJSON(Ae.fromGeometry(e.clipRegion)),t.clipRegionEnabled=e.clipRegionEnabled,t.clipRegion=JSON.stringify(e.clipRegion)),e.overlapDisplayed&&e.overlapDisplayedOptions&&(t.overlapDisplayed=e.overlapDisplayed,t.overlapDisplayedOptions=e.overlapDisplayedOptions.toString()),!0===s&&e.tileversion&&(t.tileversion=e.tileversion),e.rasterfunction&&(t.rasterfunction=JSON.stringify(e.rasterfunction)),void 0!==e.antialias&&(t.antialias=e.antialias),void 0!==e.markerAngleFixed&&(t.markerAngleFixed=e.markerAngleFixed),void 0!==e.textAngleFixed&&(t.textAngleFixed=e.textAngleFixed),void 0!==e.textOrientationFixed&&(t.textOrientationFixed=e.textOrientationFixed),void 0!==e.paintBackground&&(t.paintBackground=e.paintBackground),isNaN(e.maxVisibleTextSize)||(t.maxVisibleTextSize=+e.maxVisibleTextSize),isNaN(e.minVisibleTextSize)||(t.maxVisibleTextSize=+e.minVisibleTextSize),isNaN(e.maxVisibleVertex)||(t.maxVisibleVertex=Math.round(+e.maxVisibleVertex)),this._layerUrl=$.urlAppend(this._layerUrl,$.getParameterString(t)),this.cacheEnabled=s,e.tileProxy&&(this.tileProxy=e.tileProxy)}getImageInternal(e,t,r){const s=(t=this.findNearestResolution(t))/r,i=(0,$o.getCenter)(e),n=Math.ceil((0,$o.getWidth)(e)/s),a=Math.ceil((0,$o.getHeight)(e)/s),o=(0,$o.getForViewAndSize)(i,s,0,[n,a]),l=Math.ceil(this.ratio_*(0,$o.getWidth)(e)/s),h=Math.ceil(this.ratio_*(0,$o.getHeight)(e)/s),u=(0,$o.getForViewAndSize)(i,s,0,[l,h]),c=this._image;if(c&&this.renderedRevision_===this.getRevision()&&c.getResolution()===t&&c.getPixelRatio()===r&&(0,$o.containsExtent)(c.getExtent(),o))return c;const d=[Math.round((0,$o.getWidth)(u)/s),Math.round((0,$o.getHeight)(u)/s)],p=this._getRequestUrl(u,d);return this._image=new(Qo())(u,t,r,p,this._crossOrigin,this.imageLoadFunction_),this.renderedRevision_=this.getRevision(),this._image.addEventListener("change",this.handleImageChange.bind(this)),this._image}_getRequestUrl(e,t){const r={width:t[0],height:t[1],viewBounds:{leftBottom:{x:e[0],y:e[1]},rightTop:{x:e[2],y:e[3]}}};this.cacheEnabled||(r._t=(new Date).getTime());let s=$.urlAppend(this._layerUrl,$.getParameterString(r));return this.tileProxy&&(s=this.tileProxy+encodeURIComponent(s)),s}static optionsFromMapJSON(e,t){var r=[t.bounds.left,t.bounds.bottom,t.bounds.right,t.bounds.top];return{url:e,resolutions:function(){var e,s=r[2]-r[0],i=r[3]-r[1],n=s>=i?s:i;e=n===s?n/t.viewer.width:n/t.viewer.height;var a=[],o=l.METER;t.coordUnit===l.DEGREE&&(o=l.DEGREE);if(t.visibleScales.length>0)for(let e=0;e<t.visibleScales.length;e++)a.push(mo.scaleToResolution(t.visibleScales[e],96,o));else for(let t=0;t<28;t++)a.push(e/Math.pow(2,t));return a.sort(function(e,t){return t-e})}()}}}const tl=ol.source.XYZ;var rl=r.n(tl);class sl extends(rl()){constructor(e){var t=e||{},r=t.attributions||"Map Data ©2014 SuperMap - GS(2014)6070号-data©Navinfo with <span>© SuperMap iClient</span>",s=t.mapName||"quanguo",i=t.mapType||"web",n=t.url||"http://t2.dituhui.com/FileService/image?map={mapName}&type={type}&x={x}&y={y}&z={z}";n=n.replace("{mapName}",s).replace("{type}",i);var a={attributions:r,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,opaque:void 0===t.opaque||t.opaque,maxZoom:t.maxZoom||18,reprojectionErrorThreshold:t.reprojectionErrorThreshold,url:n,wrapX:t.wrapX};t.tileProxy&&(a.tileLoadFunction=function(e,t){e.getImage().src=o.tileProxy+encodeURIComponent(t)}),super(a),t.tileProxy&&(this.tileProxy=t.tileProxy);var o=this}}const il=ol.source.WMTS;var nl=r.n(il);const al=ol.tilegrid.WMTS;var ll=r.n(al);class hl extends(nl()){constructor(e){var t=e||{},r=t.attributions||"Map Data <a href='http://www.tianditu.gov.cn' target='_blank'><img style='background-color:transparent;bottom:2px;opacity:1;' src='http://api.tianditu.gov.cn/img/map/logo.png' width='53px' height='22px' opacity='0'></a> with <span>© SuperMap iClient</span>";t.layerType=t.layerType||"vec",t.layerType=t.isLabel?{vec:"cva",ter:"cta",img:"cia"}[t.layerType]:t.layerType,t.matrixSet="EPSG:4326"===t.projection||"EPSG:4490"===t.projection?"c":"w",t.url||t.urls||(t.url="http://t{0-7}.tianditu.gov.cn/{layer}_{proj}/wmts?"),t.key&&(t.url=`${t.url}tk=${t.key}`),t.url=t.url.replace("{layer}",t.layerType).replace("{proj}",t.matrixSet);var s=t.tileGrid||hl.getTileGrid(t.projection||"EPSG:3857"),i=void 0!==t.crossOrigin?t.crossOrigin:"anonymous",n={version:t.version||"1.0.0",format:t.format||"tiles",dimensions:t.dimensions||{},layer:t.layerType,matrixSet:t.matrixSet,tileGrid:s,style:t.style||"default",attributions:r,cacheSize:t.cacheSize,crossOrigin:i,opaque:void 0===t.opaque||t.opaque,maxZoom:{vec:18,ter:14,img:18}[t.layerType],reprojectionErrorThreshold:t.reprojectionErrorThreshold,url:t.url,urls:t.urls,projection:t.projection||"EPSG:3857",wrapX:t.wrapX};t.tileProxy&&(n.tileLoadFunction=function(e,t){e.getImage().src=a.tileProxy+encodeURIComponent(t)}),super(n),t.tileProxy&&(this.tileProxy=t.tileProxy);var a=this}static getTileGrid(e){return"EPSG:4326"===e||"EPSG:4490"===e?hl.default4326TileGrid():hl.default3857TileGrid()}static default4326TileGrid(){for(var e=[],t=[],r=1;r<19;r++)e.push(1.40625/Math.pow(2,r)),t.push(r);return new(ll())({extent:[-180,-90,180,90],resolutions:e,origin:[-180,90],matrixIds:t,minZoom:1})}static default3857TileGrid(){for(var e=[],t=[],r=1;r<19;r++)e.push(156543.03392804062/Math.pow(2,r)),t.push(r);return new(ll())({extent:[-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892],resolutions:e,matrixIds:t,origin:[-20037508.3427892,20037508.3427892],minZoom:1})}}const ul=ol.size,cl=ol.tilegrid;class dl extends(Vo()){constructor(e){(e=e||{}).attributions=e.attributions||"Map Data <span>© SuperMap iServer</span> with <span>© SuperMap iClient</span>",e.format=e.format?e.format:"png",super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,logo:"4"===mo.getOlVersion()?e.logo:null,opaque:e.opaque,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:e.state,tileClass:e.tileClass,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:function(r,i,n){t.tileGrid||(e.extent?(t.tileGrid=dl.createTileGrid(e.extent),t.resolutions&&(t.tileGrid.resolutions=t.resolutions)):("EPSG:3857"===n.getCode()&&(t.tileGrid=dl.createTileGrid([-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892]),t.extent=[-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892]),"EPSG:4326"===n.getCode()&&(t.tileGrid=dl.createTileGrid([-180,-90,180,90]),t.extent=[-180,-90,180,90])));t.origin=t.tileGrid.getOrigin(0);var a=r[0],o=r[1],h=["4","5"].indexOf(mo.getOlVersion())>-1?-r[2]-1:r[2],u=t.tileGrid.getResolution(a),c=t.dpi||96,d=n.getUnits()||l.DEGREE;"degrees"!==d&&"degree"!==d||(d=l.DEGREE);"m"!==d&&"meter"!==d||(d=l.METER);var p=mo.resolutionToScale(u,c,d),f=ul.toSize(t.tileGrid.getTileSize(a,t.tmpSize)),m=function(){this._paramsChanged&&(this._layerUrl=s.call(this),this._paramsChanged=!1);return this._layerUrl||s.call(this)}.call(t)+encodeURI("&x="+o+"&y="+h+"&width="+f[0]+"&height="+f[1]+"&scale="+p);t.tileProxy&&(m=t.tileProxy+encodeURIComponent(m));t.cacheEnabled||(m+="&_t="+(new Date).getTime());return m},wrapX:void 0!==e.wrapX&&e.wrapX,cacheEnabled:e.cacheEnabled,layersID:e.layersID}),e.tileProxy&&(this.tileProxy=e.tileProxy),this.options=e,this._url=e.url,this.tileSetsIndex=-1,this.tempIndex=-1,this.dpi=this.options.dpi||96;var t=this,r=$.urlPathAppend(e.url,"tileImage."+e.format);function s(){return this.requestParams=this.requestParams||function(){var t={};return t.redirect=void 0!==e.redirect&&e.redirect,t.transparent=void 0===e.transparent||e.transparent,t.cacheEnabled=!(!1===e.cacheEnabled),this.cacheEnabled=t.cacheEnabled,t._cache=t.cacheEnabled,this.origin&&(t.origin=JSON.stringify({x:this.origin[0],y:this.origin[1]})),e.prjCoordSys&&(t.prjCoordSys=JSON.stringify(e.prjCoordSys)),e.layersID&&(t.layersID=e.layersID.toString()),e.clipRegion instanceof so()&&(e.clipRegionEnabled=!0,e.clipRegion=mo.toSuperMapGeometry((new(Ko())).writeGeometryObject(e.clipRegion)),e.clipRegion=$.toJSON(Ae.fromGeometry(e.clipRegion)),t.clipRegionEnabled=e.clipRegionEnabled,t.clipRegion=JSON.stringify(e.clipRegion)),e.overlapDisplayed?t.overlapDisplayed=!0:(t.overlapDisplayed=!1,e.overlapDisplayedOptions&&(t.overlapDisplayedOptions=this.overlapDisplayedOptions.toString())),t.cacheEnabled&&e.tileversion&&(t.tileversion=e.tileversion.toString()),e.rasterfunction&&(t.rasterfunction=JSON.stringify(e.rasterfunction)),t}.call(this),this._layerUrl=$.urlAppend(r,$.getParameterString(this.requestParams)),this._layerUrl=je.appendCredential(this._layerUrl),this._layerUrl}}setTileSetsInfo(e){this.tileSets=e,mo.isArray(this.tileSets)&&(this.tileSets=e[0]),this.tileSets&&(this.dispatchEvent({type:"tilesetsinfoloaded",value:{tileVersions:this.tileSets.tileVersions}}),this.changeTilesVersion())}lastTilesVersion(){this.tempIndex=this.tileSetsIndex-1,this.changeTilesVersion()}nextTilesVersion(){this.tempIndex=this.tileSetsIndex+1,this.changeTilesVersion()}changeTilesVersion(){var e=this;if(null!=e.tileSets&&!(e.tempIndex===e.tileSetsIndex||this.tempIndex<0)){var t=e.tileSets.tileVersions;if(t&&e.tempIndex<t.length&&e.tempIndex>=0){var r=t[e.tempIndex].name;e.mergeTileVersionParam(r)&&(e.tileSetsIndex=e.tempIndex,e.dispatchEvent({type:"tileversionschanged",value:{tileVersion:t[e.tempIndex]}}))}}}updateCurrentTileSetsIndex(e){this.tempIndex=e}mergeTileVersionParam(e){return!!e&&(this.requestParams.tileversion=e,this._paramsChanged=!0,this.refresh(),!0)}static optionsFromMapJSON(e,t){var r={};r.url=e,r.crossOrigin="anonymous";var s=[t.bounds.left,t.bounds.bottom,t.bounds.right,t.bounds.top];const{visibleScales:i,bounds:n,dpi:a,coordUnit:o}=t;var l=mo.scalesToResolutions(i,n,a,o);return r.tileGrid=new(qo())({extent:s,resolutions:l}),r}static createTileGrid(e,t,r,s,i){var n=cl.createXYZ({extent:e,maxZoom:t,minZoom:r,tileSize:s});return new(qo())({extent:e,minZoom:r,origin:i,resolutions:n.getResolutions(),tileSize:n.getTileSize()})}}var pl=r(785),fl=r.n(pl);function ml(e){const t=function(){const e={};return["(",")","","",",",""].forEach((t,r)=>{e[t]=`$${r}`}),e}();for(let r in t){const s=t[r],i=new RegExp(`\\${r}`,"g");for(;i.test(e);)e=e.replace(i,s)}return e}function yl(e,t){let r=e;return e.replace(/&|\||>|<|=|!/g," ").split(" ").filter(e=>e).forEach(e=>{const s=t.find(t=>t===e);if(vl(e)&&s&&(r=r.replace(s,"$"+s)),s){const e=ml(s);r=r.replace(s,e)}}),r}function gl(e){let t={};for(let r in e){let s=r;vl(r)&&(s="$"+r),t[s=ml(s)]=e[r]}return t}function vl(e){return/^\d/.test(e)}const bl=ol.geom.Point;var Sl=r.n(bl);class xl extends Fa{constructor(e,t){super(e,t)}queryByBounds(e,t,r){var s=this;new Vs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}queryByDistance(e,t,r){var s=this;new Js(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}queryBySQL(e,t,r){var s=this;new Ys(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}queryByGeometry(e,t,r){var s=this;new Hs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}_processParams(e){return e?(e.returnContent=null==e.returnContent||e.returnContent,e.queryParams&&!mo.isArray(e.queryParams)&&(e.queryParams=[e.queryParams]),e.bounds&&(e.bounds=new se(e.bounds[0],e.bounds[1],e.bounds[2],e.bounds[3])),e.geometry&&(e.geometry instanceof Sl()?e.geometry=new oe(e.geometry.getCoordinates()[0],e.geometry.getCoordinates()[1]):e.geometry=mo.toSuperMapGeometry(JSON.parse((new(Ko())).writeGeometry(e.geometry)))),e):{}}_processFormat(e){return e||t.GEOJSON}}class _l extends Fa{constructor(e,t){super(e,t)}getFeaturesByIDs(e,t,r){var s=this;new Ur(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}getFeaturesByBounds(e,t,r){var s=this;new kr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}getFeaturesByBuffer(e,t,r){var s=this;new Dr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}getFeaturesBySQL(e,t,r){var s=this;new zr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}getFeaturesByGeometry(e,t,r){var s=this;new Br(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}editFeatures(e,t){if(e&&e.dataSourceName&&e.dataSetName){var r=this,s=r.url,i=e.dataSourceName,n=e.dataSetName;s=$.urlPathAppend(s,"datasources/"+i+"/datasets/"+n),new Xt(s,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{processCompleted:t,processFailed:t}}).processAsync(r._processParams(e))}}_processParams(e){if(!e)return{};var t=this;if(e.returnContent=null==e.returnContent||e.returnContent,e.fromIndex=e.fromIndex?e.fromIndex:0,e.toIndex=e.toIndex?e.toIndex:-1,e.bounds&&(e.bounds=mo.toSuperMapBounds(e.bounds)),e.geometry&&(e.geometry=mo.toSuperMapGeometry(JSON.parse((new(Ko())).writeGeometry(e.geometry)))),e.editType&&(e.editType=e.editType.toLowerCase()),e.features){var r=[];mo.isArray(e.features)?e.features.map(function(e){return r.push(t._createServerFeature(e)),e}):r.push(t._createServerFeature(e.features)),e.features=r}return e}_createServerFeature(e){var t={},r=[],s=[],i=e.getProperties();for(var n in i)n!==e.getGeometryName()&&(r.push(n),s.push(i[n]));return t.fieldNames=r,t.fieldValues=s,e.getId()&&(t.id=e.getId()),t.geometry=mo.toSuperMapGeometry((new(Ko())).writeFeatureObject(e)),t}_processFormat(e){return e||t.GEOJSON}}function wl(e){let t=[];var r;return r=e,"[object Array]"===Object.prototype.toString.call(r)&&e.length&&e.forEach(e=>{let r=e.get("attributes");r&&t.push(r)}),t}function Cl(e,t,r,s,i,n,a){!function(e,t,r,s,i,n,a){let o,l=new pt({name:t.join().replace(":","@")}),h=a||1e3,u=[];Ml(e,l,t,0,1,1,i,n).then(a=>{o=a;let c=a.result.totalCount;if(c>1){for(let r=1;r<c;)u.push(Ml(e,l,t,r,r+h,h,i,n)),r+=h;Promise.all(u).then(e=>{e.forEach(e=>{"processCompleted"===e.type&&e.result.features&&e.result.features.features?e.result.features.features.forEach(e=>{o.result.features.features.push(e)}):o.someRequestFailed=!0}),r(o)}).catch(e=>{s(e)})}else r(a)}).catch(e=>{s(e)})}(e,t,s,i,r,n,a)}function Tl(e,t,r,s,i,a,o,l,h,u){const c=new pt({name:t,attributeFilter:r});s&&(c.fields=s);const d={queryParams:[c]};u&&(d.queryOption=n.ATTRIBUTE),l&&(d.startRecord=l),h&&(d.expectCount=h),i&&(d.prjCoordSys={epsgCode:i});const p=new Ws(d);new xl(e).queryBySQL(p,function(e){"processCompleted"===e.type?a(e):o(e)})}function Ml(e,t,r,s,i,n,a,o){return new Promise((l,h)=>{new _l(e,a).getFeaturesBySQL(function(e,t,r,s,i,n){return new Vr({queryParameter:e,datasetNames:t,fromIndex:r,toIndex:s,maxFeatures:i,returnContent:!0,targetEpsgCode:n})}(t,r,s,i,n,o),e=>{let t=e.result;"processCompleted"===e.type&&t&&t.features?l(e):h(e)})})}class El extends Fa{constructor(e,t){(t=t||{}).projection&&(t.prjCoordSys=t.projection),super(e,t),this.dataFlow=new Rt(e,t),this.dataFlow.events.on({broadcastSocketConnected:this._defaultEvent,broadcastSocketError:this._defaultEvent,broadcastFailed:this._defaultEvent,broadcastSucceeded:this._defaultEvent,subscribeSocketConnected:this._defaultEvent,subscribeSocketError:this._defaultEvent,messageSucceeded:this._defaultEvent,setFilterParamSucceeded:this._defaultEvent,scope:this})}initBroadcast(){return this.dataFlow.initBroadcast(),this}broadcast(e){this.dataFlow.broadcast(e)}initSubscribe(){return this.dataFlow.initSubscribe(),this}setExcludeField(e){return this.dataFlow.setExcludeField(e),this.options.excludeField=e,this}setGeometry(e){return this.dataFlow.setGeometry(e),this.options.geometry=e,this}unSubscribe(){this.dataFlow.unSubscribe()}unBroadcast(){this.dataFlow.unBroadcast()}_defaultEvent(e){this.dispatchEvent({type:e.eventType||e.type,value:e})}}class Al extends(ao()){constructor(e){var t=e||{};super(t),this.idField=t.idField||"id",this.dataService=new El(t.ws,{geometry:t.geometry,prjCoordSys:t.prjCoordSys,excludeField:t.excludeField}).initSubscribe();var r=this;r.dataService.on("subscribeSocketConnected",function(e){r.dispatchEvent({type:"subscribeSucceeded",value:e})}),r.dataService.on("messageSucceeded",function(e){r._onMessageSuccessed(e)}),r.dataService.on("setFilterParamSucceeded",function(e){r.dispatchEvent({type:"setFilterParamSucceeded",value:e})}),this.featureCache={}}setExcludeField(e){return this.dataService.setExcludeField(e),this.excludeField=e,this}setGeometry(e){return this.dataService.setGeometry(e),this.geometry=e,this}_onMessageSuccessed(e){var t=(new(Ko())).readFeature(e.value.featureResult),r=t.get(this.idField);void 0!==r&&this.featureCache[r]?(this.featureCache[r].setGeometry(t.getGeometry()),this.featureCache[r].setProperties(t.getProperties()),this.changed()):(this.addFeature(t),this.featureCache[r]=t),this.dispatchEvent({type:"dataupdated",value:{source:this,data:t}})}}class Ol{constructor(e,t){this.geometry=e,this.attributes=t}toFeature(){var e=this.geometry;if(e instanceof so()){let t=this.attributes;t.geometry=e;let r=new(co())(t);return(new Oe).read((new(Ko())).writeFeature(r),"Feature")}if(3===e.length)return e=new he(e[0],e[1],e[2]),new xe(e,this.attributes)}}const Pl=ol.source.ImageCanvas;var Ll=r.n(Pl);class Il extends(Ll()){constructor(e,t){var r=t||{};function s(e,t,r,s,i){var n=s[0]*r,a=s[1]*r;if(this.context||(this.context=mo.createCanvasContext2D(n,a)),!this.features)return this.context.canvas;this.pixelRatio=r;var o=this.map.getSize()[0]*r,l=this.map.getSize()[1]*r;this.offset=[(n-o)/2/r,(a-l)/2/r],this.notFirst||(this.redrawThematicFeatures(e),this.notFirst=!0),this.div.id=this.id,this.div.className="themeLayer",this.div.style.width=n+"px",this.div.style.height=a+"px",this.map.getViewport().appendChild(this.div),this.renderer.resize(),this.map.getViewport().removeChild(this.div),this.themeCanvas=this.renderer.painter.root.getElementsByTagName("canvas")[0],this.themeCanvas.width=n,this.themeCanvas.height=a,this.themeCanvas.style.width=n+"px",this.themeCanvas.style.height=a+"px",this.themeCanvas.getContext("2d").clearRect(0,0,n,a);var h=this.renderer.painter._layers.hover.ctx.canvas,u=mo.createCanvasContext2D(n,a);u.drawImage(h,0,0,h.width,h.height,0,0,n,a),this.redrawThematicFeatures(e);var c=this.context.canvas;return this.context.clearRect(0,0,c.width,c.height),c.width=n,c.height=a,c.style.width=n+"px",c.style.height=a+"px",this.context.drawImage(this.themeCanvas,0,0),this.context.drawImage(u.canvas,0,0),this.context.canvas}super({attributions:r.attributions||"Map Data <span>© SuperMap iServer</span> with <span>© SuperMap iClient</span>",canvasFunction:s,logo:"4"===mo.getOlVersion()?r.logo:null,projection:r.projection,ratio:r.ratio,resolutions:r.resolutions,state:r.state}),this.on=this.onInternal,this.id=r.id?r.id:$.createUniqueID("themeLayer_"),this.canvasFunctionInternal_=s,this.EVENT_TYPES=["loadstart","loadend","loadcancel","visibilitychanged","move","moveend","added","removed","tileloaded","beforefeaturesadded","featuresadded","featuresremoved"],this.features=[],this.TFEvents=r.TFEvents||[],this.map=r.map;var i=this.map.getSize();this.div=document.createElement("div"),this.map.getViewport().appendChild(this.div),this.div.style.width=i[0]+"px",this.div.style.height=i[1]+"px",this.setOpacity(r.opacity),this.levelRenderer=new ya,this.movingOffset=[0,0],this.renderer=this.levelRenderer.init(this.div),this.map.getViewport().removeChild(this.div),this.renderer.clear(),this.addTFEvents()}destroy(){this.EVENT_TYPES=null,this.isBaseLayer=null,this.TFEvents=null,this.destroyFeatures(),this.features=null,this.renderer&&this.renderer.dispose(),this.renderer=null,this.levelRenderer=null,this.movingOffset=null,this.currentMousePosition=null}destroyFeatures(e){if(void 0==e&&(e=this.features),e){this.removeFeatures(e),Array.isArray(e)||(e=[e]);for(var t=e.length-1;t>=0;t--)e[t].destroy()}}setOpacity(e){if(e!==this.opacity){this.opacity=e;var t=this.div;$.modifyDOMElement(t,null,null,null,null,null,null,e),null!==this.map&&this.dispatchEvent({type:"changelayer",value:{layer:this,property:"opacity"}})}}addFeatures(e){}removeFeatures(e){var t=this;if(e){if(e===t.features)return t.removeAllFeatures();$.isArray(e)||"function"==typeof e||(e=[e]);for(var r=[],s=0;s<t.features.length;s++){var i=t.features[s];if(e&&"function"==typeof e)e(i)&&t.features.splice(s--,1);else-1===$.indexOf(e,i)?r.push(i):t.features.splice(s--,1)}for(var n=[],a=0,o=this.features.length;a<o;a++)i=this.features[a],n.push(i);this.features=[],this.addFeatures(n),this.renderer&&this.redrawThematicFeatures(this.map.getView().calculateExtent());var l=0==r.length;this.dispatchEvent({type:"featuresremoved",value:{features:r,succeed:l}})}}removeAllFeatures(){this.renderer&&this.renderer.clear(),this.features=[],this.dispatchEvent({type:"featuresremoved",value:{features:[],succeed:!0}})}getFeatures(e){for(var t=this.features.length,r=[],s=0;s<t;++s)(!e||e&&"function"==typeof e&&e(this.features[s]))&&r.push(this.features[s]);return r}getFeatureBy(e,t){var r=null;for(var s in this.features)if(this.features[s][e]===t){r=this.features[s];break}return r}getFeatureById(e){return this.getFeatureBy("id",e)}getFeaturesByAttribute(e,t){var r,s=[];for(var i in this.features)(r=this.features[i])&&r.attributes&&r.attributes[e]===t&&s.push(r);return s}redrawThematicFeatures(e){}onInternal(e,t){var r=t;if(this.renderer)this.renderer.on(e,r);else{var s=[];s.push(e),s.push(r),this.TFEvents.push(s)}}fire(e,t){if(this.offset){t=t.originalEvent;var r=this.getX(t),s=this.getY(t),i=-this.map.getView().getRotation(),n=this.map.getPixelFromCoordinate(this.map.getView().getCenter()),a=this.scale([r,s],n,this.pixelRatio),o=this.rotate(a,i,n),l=[o[0]+this.offset[0],o[1]+this.offset[1]],h=document.createEvent("Event");h.initEvent("pointermove",!0,!0),h.offsetX=l[0],h.offsetY=l[1],h.layerX=l[0],h.layerY=l[1],h.clientX=l[0],h.clientY=l[1],h.x=r,h.y=s,"click"===e&&this.renderer.handler._clickHandler(h),"dblclick"===e&&this.renderer.handler._dblclickHandler(h),"onmousewheel"===e&&this.renderer.handler._mousewheelHandler(h),"mousemove"===e&&(this.renderer.handler._mousemoveHandler(h),this.changed()),"onmouseout"===e&&this.renderer.handler._mouseoutHandler(h),"onmousedown"===e&&this.renderer.handler._mousedownHandler(h),"onmouseup"===e&&this.renderer.handler._mouseupHandler(h)}}getX(e){return void 0!==e.zrenderX&&e.zrenderX||void 0!==e.offsetX&&e.offsetX||void 0!==e.layerX&&e.layerX||void 0!==e.clientX&&e.clientX}getY(e){return void 0!==e.zrenderY&&e.zrenderY||void 0!==e.offsetY&&e.offsetY||void 0!==e.layerY&&e.layerY||void 0!==e.clientY&&e.clientY}un(e,t){var r=t;if(this.renderer)this.renderer.un(e,r);else{for(var s=this.TFEvents,i=s.length,n=[],a=0;a<i;a++){var o=s[a];o[0]===e&&o[1]===r||n.push(o)}this.TFEvents=n}}addTFEvents(){for(var e=this.TFEvents,t=e.length,r=0;r<t;r++)this.renderer.on(e[r][0],e[r][1])}getLocalXY(e){var t,r=this.map;(e instanceof oe||e instanceof he)&&(t=r.getPixelFromCoordinate([e.x,e.y])),e instanceof re&&(t=r.getPixelFromCoordinate([e.lon,e.lat]));var s=-r.getView().getRotation(),i=r.getPixelFromCoordinate(r.getView().getCenter()),n=t;return this.pixelRatio&&(n=this.scale(t,i,this.pixelRatio)),t&&i&&(n=this.rotate(n,s,i)),this.offset&&n?[n[0]+this.offset[0],n[1]+this.offset[1]]:n}rotate(e,t,r){return[Math.cos(t)*(e[0]-r[0])-Math.sin(t)*(e[1]-r[1])+r[0],Math.sin(t)*(e[0]-r[0])+Math.cos(t)*(e[1]-r[1])+r[1]]}scale(e,t,r){return[(e[0]-t[0])*r+t[0],(e[1]-t[1])*r+t[1]]}toiClientFeature(e){$.isArray(e)||(e=[e]);let t=[];for(let r=0;r<e.length;r++)if(e[r]instanceof Ol)t.push(e[r].toFeature());else if(e[r]instanceof co())t.push(this._toFeature(e[r]));else if(e[r]instanceof xe)t.push(e[r]);else if(e[r].geometry&&e[r].geometry.parts)t.push($s.fromJson(e[r]).toFeature());else{if(-1==["FeatureCollection","Feature","Geometry"].indexOf(e[r].type))throw new Error(`features[${r}]'s type is not be supported.`);{const s=new Oe;t=t.concat(s.read(e[r]))}}return t}toFeature(e){return this.toiClientFeature(e)}_toFeature(e){let t=(new(Ko())).writeFeature(e);return(new Oe).read(t,"Feature")}}class Nl extends Il{constructor(e,t,r){super(e,r),this.chartsSetting=r.chartsSetting||{},this.themeFields=r.themeFields||null,this.overlayWeightField=r.overlayWeightField||null,this.isOverLay=void 0===r.isOverLay||r.isOverLay,this.charts=r.charts||[],this.cache=r.cache||{},this.chartsType=t}destroy(){this.chartsType=null,this.chartsSetting=null,this.themeFields=null,this.overlayWeightField=null,this.isOverLay=null,Il.prototype.destroy.apply(this,arguments),this.charts=null,this.cache=null}setChartsType(e){this.chartsType=e,this.redraw()}addFeatures(e){!1!==this.dispatchEvent({type:"beforefeaturesadded",value:{features:e}})&&(this.features=this.toiClientFeature(e),this.renderer&&this.changed())}redrawThematicFeatures(e){this.renderer.clearAll();for(var t=this.features,r=0,s=t.length;r<s;r++){var i=t[r],n=i.geometry.getBounds();if(e)if(!new se(e[0],e[1],e[2],e[3]).intersectsBounds(n))continue;var a=this.cache,o=i.id;if(!a[o]){a[o]=o;var l=this.createThematicFeature(i);l&&this.overlayWeightField&&i.attributes[this.overlayWeightField]&&!isNaN(i.attributes[this.overlayWeightField])&&(l.__overlayWeight=i.attributes[this.overlayWeightField]),l&&this.charts.push(l)}}this.drawCharts()}createThematicFeature(e){var t;return ra[this.chartsType]&&this.themeFields&&this.chartsSetting&&(t=new ra[this.chartsType](e,this,this.themeFields,this.chartsSetting)),!!t&&(t.assembleShapes(),t)}drawCharts(){if(this.renderer){var e=this.charts;if(this.overlayWeightField&&e.sort(function(e,t){return void 0===e.__overlayWeight&&void 0===t.__overlayWeight?0:void 0!==e.__overlayWeight&&void 0===t.__overlayWeight?-1:void 0===e.__overlayWeight&&void 0!==t.__overlayWeight?1:void 0!==e.__overlayWeight&&void 0!==t.__overlayWeight?parseFloat(e.__overlayWeight)<parseFloat(t.__overlayWeight)?1:-1:0}),this.isOverLay)for(var t=[],r=this.map.getView().calculateExtent(),s=new se(r[0],r[1],r[2],r[3]),i=this.getLocalXY(new re(s.left,s.top)),n=this.getLocalXY(new re(s.right,s.bottom)),a=new se(i[0],n[1],n[0],i[1]),o=0,l=e.length;o<l;o++){var h=e[o],u=h.resetLocation(),c=h.chartBounds,d=[{x:c.left,y:c.top},{x:c.left,y:c.bottom},{x:c.right,y:c.bottom},{x:c.right,y:c.top},{x:c.left,y:c.top}];if(!a||this.isChartInMap(a,d)){var p=!1;if(0!==o)for(let e=0;e<t.length;e++)if(this.isQuadrilateralOverLap(d,t[e])){p=!0;break}if(!p){t.push(d);var f=h.shapes;for(let e=0,t=f.length;e<t;e++)f[e].refOriginalPosition=u,this.renderer.addShape(f[e])}}}else for(var m=0,y=e.length;m<y;m++)for(var g=e[m],v=g.resetLocation(),b=g.shapes,S=0,x=b.length;S<x;S++)b[S].refOriginalPosition=v,this.renderer.addShape(b[S]);this.renderer.render()}}getShapesByFeatureID(e){var t=[],r=this.renderer.getAllShapes();if(!e)return r;for(var s=0,i=r.length;s<i;s++){var n=r[s];n.refDataID&&e===n.refDataID&&t.push(n)}return t}isQuadrilateralOverLap(e,t){var r=e.length,s=t.length;if(5!==r||5!==s)return null;var i=!1;for(let s=0;s<r;s++)if(this.isPointInPoly(e[s],t)){i=!0;break}for(let r=0;r<s;r++)if(this.isPointInPoly(t[r],e)){i=!0;break}for(let n=0;n<r-1&&!i;n++)for(let r=0;r<s-1;r++){if("SuperMap.Geometry.Point"===$.lineIntersection(e[n],e[n+1],t[r],t[r+1]).CLASS_NAME){i=!0;break}}return i}isPointInPoly(e,t){for(var r=!1,s=-1,i=t.length,n=i-1;++s<i;n=s)(t[s].y<=e.y&&e.y<t[n].y||t[n].y<=e.y&&e.y<t[s].y)&&e.x<(t[n].x-t[s].x)*(e.y-t[s].y)/(t[n].y-t[s].y)+t[s].x&&(r=!r);return r}isChartInMap(e,t){for(var r=e,s=!1,i=0,n=t.length;i<n;i++){var a=t[i];if(a.x>=r.left&&a.x<=r.right&&a.y>=r.top&&a.y<=r.bottom){s=!0;break}}return s}clearCache(){this.cache={},this.charts=[]}removeFeatures(e){this.clearCache(),super.removeFeatures(e)}removeAllFeatures(){this.clearCache(),super.removeAllFeatures()}redraw(){return this.clearCache(),!!this.renderer&&(this.redrawThematicFeatures(this.map.getView().calculateExtent()),!0)}clear(){this.renderer&&(this.renderer.clearAll(),this.renderer.refresh()),this.removeAllFeatures(),this.clearCache()}canvasFunctionInternal_(e,t,r,s,i){return Il.prototype.canvasFunctionInternal_.apply(this,arguments)}}const Fl=ol.style.RegularShape;var kl=r.n(Fl);class Rl extends(kl()){constructor(e){e.stroke?(e.stroke.color=e.stroke.getColor()||"#3388ff",e.stroke.width=e.stroke.getWidth()||1):e.stroke=new(Po())({color:"#3388ff",width:1}),e.fill?e.fill.color=e.fill.getColor()||"#66ccff":e.fill=new(Ao())({color:"#66ccff"}),super({angle:e.angle||60,stroke:e.stroke,fill:e.fill,radius:e.radius||10,rotation:e.rotation||0}),this.count_=e.count||3,this.strokeOpacity=e.strokeOpacity||1,this.fillOpacity=e.fillOpacity||1,this._pixelRatio=window?window.devicePixelRatio:1,this._canvas=this.getImage(this._pixelRatio),this._ctx=this._canvas.getContext("2d"),this._render()}_render(){var e=0,t=this.getAngle();if(this.spaceAngle=360/this.count_-this.getAngle(),!(this.spaceAngle<0)){this._ctx.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0),this._ctx.translate(0,0),this._ctx.beginPath();for(var r=0;r<this.count_;r++)this._drawSector(this._ctx,this.getAnchor()[0],this.getAnchor()[1],this.getRadius(),e,t),t=(e=t+this.spaceAngle)+this.getAngle();this._fillStroke(),this._ctx.closePath()}}_drawSector(e,t,r,s,i,n){i=i/180*Math.PI,n=n/180*Math.PI,e.moveTo(t,r),e.lineTo(t+s*Math.cos(i),r+s*Math.sin(i)),e.arc(t,r,s,i,n),e.lineTo(t,r)}_fillStroke(){this.getFill()&&(this._ctx.globalAlpha=this.fillOpacity,this._ctx.fillStyle=this.getFill().color,this._ctx.fill()),this.getStroke()&&0!==this.weight&&(this._ctx.globalAlpha=this.strokeOpacity,this._ctx.lineWidth=this.getStroke().width,this._ctx.strokeStyle=this.getStroke().color,this._ctx.lineCap=this.getStroke().lineCap,this._ctx.lineJoin=this.getStroke().lineJoin,this._ctx.stroke())}getCount(){return this.count_}getSpaceAngle(){return this.spaceAngle}}class Dl extends Rl{constructor(e){super(e),this.sAngle=e.sAngle,this.eAngle=e.eAngle,this._render()}_render(){this._ctx.clearRect(0,0,this.getImage().width,this.getImage().height),this._ctx.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0),this._ctx.translate(0,0),this._ctx.beginPath(),this._drawSector(this._ctx,this.getAnchor()[0],this.getAnchor()[1],this.getRadius(),this.sAngle,this.eAngle),this._fillStroke(),this._ctx.closePath()}getSAngle(){return this.sAngle}getEAngle(){return this.eAngle}}const Gl=ol.Object;var Bl=r.n(Gl);const jl=()=>!1,Ul=function(){let e=document.createElement("div"),t=["transform","WebkitTransform","MozTransform","OTransform","msTransform"];for(let r=0;r<t.length;r++){let s=t[r];if(void 0!==e.style[s])return s}return t[0]}();class Vl extends(Bl()){constructor(e,t){super(),this.layer=e,this.map=e.map;let r=t||{};$.extend(this,r);let s=this.pixelRatio=window?window.devicePixelRatio:1;this.width=this.map.getSize()[0]*s,this.height=this.map.getSize()[1]*s,this.center=this.map.getView().getCenter(),this._initContainer(),this._registerEvents()}_registerEvents(){let e=this.map,t=e.getView();e.on("change:size",this._resizeEvent.bind(this),this),t.on("change:resolution",this._moveEndEvent.bind(this),this),t.on("change:center",this._moveEvent.bind(this),this),t.on("change:rotation",this._moveEndEvent.bind(this),this),e.on("moveend",this._moveEndEvent.bind(this),this)}_resizeEvent(){this._resize(),this._clearAndRedraw()}_moveEvent(){let e=this.map.getPixelFromCoordinate(this.center),t=this.map.getPixelFromCoordinate(this.map.getView().getCenter()),r=[e[0]-t[0],e[1]-t[1]];this._canvas.style[Ul]="translate("+Math.round(r[0])+"px,"+Math.round(r[1])+"px)"}_moveEndEvent(){this._canvas.style[Ul]="translate(0,0)",this.center=this.map.getView().getCenter(),this._clearAndRedraw()}_clearAndRedraw(){this._clearBuffer(),this.layer.changed()}_resize(){const e=this.map.getSize(),t=e[0]*this.pixelRatio,r=e[1]*this.pixelRatio;this._canvas.width=t,this._canvas.height=r,this._canvas.style.width=t+"px",this._canvas.style.height=r+"px"}_clearBuffer(){if(!this.deckGL)return;let e=this.deckGL.layerManager;return e&&e.context.gl.clear(e.context.gl.COLOR_BUFFER_BIT),this}getCanvas(){return this._canvas}update(e){if(e&&e.length>-1&&(this._data=e),!this._renderLayer)return;this._renderLayer.setChangeFlags({dataChanged:!0,propsChanged:!0,viewportChanged:!0,updateTriggersChanged:!0}),this._refreshData();let t=this._getLayerState();t.data=this._data||[],this._renderLayer.setNeedsRedraw(!0),this._renderLayer.setState(t)}drawGraphics(e){this._data=e||(this._data?this._data:[]),this._renderLayer||this._createInnerRender(),this._clearBuffer(),this._draw()}_initContainer(){this._canvas=this._createCanvas(this.width,this.height),this._layerContainer=this.container,this._wrapper=document.createElement("div"),this._wrapper.className="deck-wrapper",this._wrapper.style.position="absolute",this._wrapper.style.top="0",this._wrapper.style.left="0",this._wrapper.appendChild(this._canvas),this._layerContainer&&this._layerContainer.appendChild(this._wrapper)}_createCanvas(e,t){let r=document.createElement("canvas");return r.oncontextmenu=jl,r.width=e,r.height=t,r.style.width=e+"px",r.style.height=t+"px",r}_createInnerRender(){let e=this,t=this._getLayerState(),{color:r,radius:s,opacity:i,highlightColor:n,radiusScale:a,radiusMinPixels:o,radiusMaxPixels:l,strokeWidth:h,outline:u}=t;s=this._pixelToMeter(s);let c={id:"scatter-plot",data:[],pickable:Boolean(this.onClick)||Boolean(this.onHover),autoHighlight:!0,color:r,opacity:i,radius:s,radiusScale:a,highlightColor:n,radiusMinPixels:o,radiusMaxPixels:l,strokeWidth:h,outline:u,getPosition(t){if(!t)return[0,0,0];let r=t.getGeometry(),s=r&&r.getCoordinates();return(s=e._project(s))&&[s[0],s[1],0]},getColor(t){let r=e._getLayerDefaultStyle(),s=t&&t.getStyle();return s&&s.getColor&&s.getColor()||r.color},getRadius(t){let r=e._getLayerDefaultStyle(),s=t&&t.getStyle();return s&&s.getRadius&&s.getRadius()||r.radius},updateTriggers:{getColor:[r],getRadius:[s]}};e._renderLayer=new window.DeckGL.ScatterplotLayer(c)}_getLayerDefaultStyle(){let{color:e,opacity:t,radius:r,radiusScale:s,radiusMinPixels:i,radiusMaxPixels:n,strokeWidth:a,outline:o}=this._getLayerState();return{color:e,opacity:t,radius:r=this._pixelToMeter(r),radiusScale:s,radiusMinPixels:i,radiusMaxPixels:n,strokeWidth:a,outline:o}}_getLayerState(){let e=this.layer.getLayerState(),t=this.map.getView().getProjection().getCode(),r=Ua.transform([e.longitude,e.latitude],t,"EPSG:4326");return e.longitude=r[0],e.latitude=r[1],e.zoom=e.zoom-1,e}_draw(){this._refreshData();let e=this._getLayerState();e.data=this._data||[];let t={};for(let r in e)t[r]=e[r];this._renderLayer.setNeedsRedraw(!0),t.layers=[this._renderLayer],t.canvas=this._canvas,this.onBeforeRender&&(t.onBeforeRender=this.onBeforeRender.bind(this)),this.onAfterRender&&(t.onAfterRender=this.onAfterRender.bind(this)),this.deckGL?this.deckGL.setProps(t):this.deckGL=new window.DeckGL.experimental.DeckGLJS(t)}_refreshData(){let e=this._data||[],t=mo.isArray(e)?[].concat(e):[e];this._renderLayer.props.data||(this._renderLayer.props.data=[]),this._renderLayer.props.data.length=0;for(let e=0;e<t.length;e++)this._renderLayer.props.data.push(t[e]);this._data=this._renderLayer.props.data}_project(e){let t=this.map.getView().getProjection().getCode();return"EPSG:4326"===t?e:Ua.transform(e,t,"EPSG:4326")}_pixelToMeter(e){let t=this.map.getView(),r=t.getProjection().getUnits()||"degrees";"degrees"===r&&(r=l.DEGREE),"m"===r&&(r=l.METER);const s=t.getResolution();if(r===l.DEGREE){return e*(s*(6378137*Math.PI/180))}return e*s}}class zl extends(Bl()){constructor(e,t){super(),this.layer=e,this.map=e.map;let r=t||{};$.extend(this,r),this.highLightStyle=this.layer.highLightStyle,this.mapWidth=this.size[0]/this.pixelRatio,this.mapHeight=this.size[1]/this.pixelRatio,this.width=this.map.getSize()[0],this.height=this.map.getSize()[1],this.context=mo.createCanvasContext2D(this.mapWidth,this.mapHeight),this.context.scale(this.pixelRatio,this.pixelRatio),this.canvas=this.context.canvas,this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px",this._registerEvents()}_registerEvents(){this.map.on("change:size",this._resizeEvent.bind(this),this)}_resizeEvent(){this._resize(),this._clearAndRedraw()}_resize(){let e=this.map.getSize(),t=e[0],r=e[1],s=t/this.width,i=r/this.height;this.width=t,this.height=r,this.mapWidth=this.mapWidth*s,this.mapHeight=this.mapHeight*i,this.canvas.width=this.mapWidth,this.canvas.height=this.mapHeight,this.canvas.style.width=this.width+"px",this.canvas.style.height=this.height+"px"}_clearAndRedraw(){this._clearBuffer(),this.layer.changed()}update(){this.layer.changed()}_clearBuffer(){}getCanvas(){return this.canvas}drawGraphics(e){this.graphics_=e||[];let t=this.mapWidth,r=this.mapHeight,s=io.toContext(this.context,{size:[t,r],pixelRatio:this.pixelRatio}),i=this.layer._getDefaultStyle(),n=this,a=n.layer.map;e.map(function(e){let t=e.getStyle()||i;if(n.selected===e){let e=t;t instanceof ho.Circle?e=new ho.Circle({radius:t.getRadius(),fill:new ho.Fill({color:"rgba(0, 153, 255, 1)"}),stroke:t.getStroke(),snapToPixel:"4"===mo.getOlVersion()?t.getSnapToPixel():null}):t instanceof ho.RegularShape&&(e=new ho.RegularShape({radius:t.getRadius(),radius2:t.getRadius2(),points:t.getPoints(),angle:t.getAngle(),snapToPixel:"4"===mo.getOlVersion()?t.getSnapToPixel():null,rotation:t.getRotation(),rotateWithView:t.getRotateWithView(),fill:new ho.Fill({color:"rgba(0, 153, 255, 1)"}),stroke:t.getStroke()})),t=n.highLightStyle||e}s.setStyle(new ho.Style({image:t}));let r=e.getGeometry().getCoordinates(),o=a.getView().getCenter(),l=a.getPixelFromCoordinate(o),h=a.getView().getResolution(),u=(r[0]-o[0])/h,c=(o[1]-r[1])/h,d=[u+l[0],c+l[1]],p=[(d=function(e,t,r){return[(e[0]-t[0])*r+t[0],(e[1]-t[1])*r+t[1]]}(d,l,1))[0]+n.offset[0],d[1]+n.offset[1]],f=new(Sl())(p);return s.drawGeometry(f),e})}}class Jl extends(Bl()){constructor(e,t){super(),e instanceof so()&&(this.geometry_=e),this.attributes=t,this.setStyle()}clone(){var e=new Jl;return e.setId(this.id),e.setGeometry(this.geometry_),e.setAttributes(this.attributes),e.setStyle(this.style_),e}getId(){return this.id}setId(e){this.id=e}getGeometry(){return this.geometry_}setGeometry(e){this.geometry_=e}setAttributes(e){this.attributes=e}getAttributes(){return this.attributes}getStyle(){return this.style_}setStyle(e){(this.style||e)&&(this.style_=e,this.styleFunction_=e?Jl.createStyleFunction(new(_o())({image:e})):void 0,this.changed())}getStyleFunction(){return this.styleFunction_}static createStyleFunction(e){var t,r;"function"==typeof e?t=2==e.length?function(t){return e(this,t)}:e:(r=Array.isArray(e)?e:[e],t=function(){return r});return t}destroy(){this.id=null,this.geometry_=null,this.attributes=null,this.style_=null}}const ql=ol.geom.Polygon;var Hl=r.n(ql);const Wl=ol.layer.Image;var Yl=r.n(Wl);const Xl={color:[0,0,0,255],opacity:.8,radius:10,radiusScale:1,radiusMinPixels:0,radiusMaxPixels:Number.MAX_SAFE_INTEGER,strokeWidth:1,outline:!1},Ql=["canvas","webgl"];class Zl extends(Ll()){constructor(e){super({attributions:e.attributions,canvasFunction:function(e,r,s,i,n){var a=i[0]/s,o=i[1]/s,l=t.map.getSize()[0],h=t.map.getSize()[1];t.renderer||(t.renderer=function(e,r){let s;if(t.render===Ql[0])s=new zl(t,{size:e,pixelRatio:r});else{let e=$.extend({},Xl),i=$.extend(e,{color:t.color,opacity:t.opacity,radius:t.radius,radiusScale:t.radiusScale,radiusMinPixels:t.radiusMinPixels,radiusMaxPixels:t.radiusMaxPixels,strokeWidth:t.strokeWidth,outline:t.outline,onClick:t.onClick,onHover:t.onHover});(i=$.extend(t,i)).pixelRatio=r,i.container=t.map.getViewport().getElementsByClassName("ol-overlaycontainer")[0],i.onBeforeRender=function(){return!1},i.onAfterRender=function(){return!1},s=new Vl(t,i)}return s}(i,s));t.renderer.mapWidth=a,t.renderer.mapHeight=o,t.renderer.pixelRatio=s,t.renderer.offset=[(a-l)/2,(o-h)/2];let u=this.getGraphicsInExtent(e);if(t.renderer._clearBuffer(),t.renderer.selected=this.selected,t.renderer.drawGraphics(u),t.isDeckGLRender=t.renderer instanceof Vl,t.isDeckGLRender)return t.context||(t.context=mo.createCanvasContext2D(a,o)),t.context.canvas;return t.renderer.getCanvas()},logo:"4"===mo.getOlVersion()?e.logo:null,projection:e.projection,ratio:e.ratio,resolutions:e.resolutions,state:e.state}),this.graphics=[].concat(e.graphics),this.map=e.map,$.extend(this,e),this.render=e.render||Ql[0],mo.supportWebGL2()||(this.render=Ql[0]),this.highLightStyle=e.highLightStyle,this.isHighLight=void 0===e.isHighLight||e.isHighLight,this.hitGraphicLayer=null,this._forEachFeatureAtCoordinate=function(e,r,s,i,n){let a=t.getGraphicsInExtent();t._highLightClose();for(let t=a.length-1;t>=0;t--){let o=a[t].getStyle();if(!o)return;if(o instanceof Dl)continue;let l=a[t].getGeometry().getCoordinates(),h=new(_o())({image:o}).getImage(),u=!1;if(h instanceof Rl&&1===h.getCount()){const e=180*h.getRotation()/Math.PI,t=Number.parseFloat(h.getAngle()),s=h.getRadius()*r;let n=null;if(t>355)n=new(Mo())(l,s);else{const r=[];r.push(l);const i=t/8;for(let t=0;t<8;t++){const n=(e+t*i)/180*Math.PI;r.push([l[0]+s*Math.cos(n),l[1]-s*Math.sin(n)])}r.push(l),n=new(Hl())([r])}n.intersectsCoordinate(this.map.getCoordinateFromPixel(i))&&(u=!0)}else{let t=[];t[0]=l[0]-h.getAnchor()[0]*r,t[2]=l[0]+h.getAnchor()[0]*r,t[1]=l[1]-h.getAnchor()[1]*r,t[3]=l[1]+h.getAnchor()[1]*r,$o.containsCoordinate(t,e)&&(u=!0)}!0!==u||s&&s(a[t],n)}return},this._options=e;const t=this;e.onClick&&t.map.on("click",function(r){if(t.isDeckGLRender){const s=t.renderer.deckGL.pickObject({x:r.pixel[0],y:r.pixel[1]});return void e.onClick(s)}const s=t.findGraphicByPixel(r,t);s&&(e.onClick(s,r),t.isHighLight&&t._highLight(s.getGeometry().getCoordinates(),new(_o())({image:s.getStyle()}).getImage(),s,r.pixel))}),t.map.on("pointermove",function(r){if(t.isDeckGLRender){const s=t.renderer.deckGL.pickObject({x:r.pixel[0],y:r.pixel[1]});e.onHover&&e.onHover(s)}})}findGraphicByPixel(e,t){const r=t.map.getFeaturesAtPixel(e.pixel)||[];for(let e=0;e<r.length;e++){const s=r[e];if(t.graphics.indexOf(s)>-1)return s}}setGraphics(e){this.graphics=this.graphics||[],this.graphics.length=0;let t=mo.isArray(e)?[].concat(e):[e];this.graphics=[].concat(t),this.update()}addGraphics(e){this.graphics=this.graphics||[];let t=mo.isArray(e)?[].concat(e):[e];this.graphics=this.graphics.concat(t),this.update()}getGraphicBy(e,t){let r=null;for(let s in this.graphics)if(this.graphics[s][e]===t){r=this.graphics[s];break}return r}getGraphicById(e){return this.getGraphicBy("id",e)}getGraphicsByAttribute(e,t){var r,s=[];for(let i in this.graphics)(r=this.graphics[i])&&r.attributes&&r.attributes[e]===t&&s.push(r);return s}removeGraphics(e=null){if(!e||0===e.length||e===this.graphics)return this.graphics.length=0,void this.update();$.isArray(e)||(e=[e]);for(let t=e.length-1;t>=0;t--){let r=e[t],s=$.indexOf(this.graphics,r);-1!==s&&this.graphics.splice(s,1)}this.update()}clear(){this.removeGraphics()}update(){this.renderer.update(this.graphics,this._getDefaultStyle())}_getDefaultStyle(){const e={};return this.color&&(e.fill=new(Ao())({color:this.toRGBA(this.color)})),this.radius&&(e.radius=this.radius),this.outline&&(e.stroke=new(Ao())({color:this.toRGBA(this.color),width:this.strokeWidth})),new(Mo())(e)}toRGBA(e){return`rgba(${e[0]},${e[1]},${e[2]},${(e[3]||255)/255})`}setStyle(e){let t={color:this.color,radius:this.radius,opacity:this.opacity,highlightColor:this.highlightColor,radiusScale:this.radiusScale,radiusMinPixels:this.radiusMinPixels,radiusMaxPixels:this.radiusMaxPixels,strokeWidth:this.strokeWidth,outline:this.outline};$.extend(this,$.extend(t,e)),this.update()}getLayerState(){let e=this.map,t=e.getSize()[0],r=e.getSize()[1],s=e.getView(),i=s.getCenter(),n={longitude:i[0],latitude:i[1],zoom:s.getZoom(),maxZoom:s.getMaxZoom(),pitch:0,bearing:180*-s.getRotation()/Math.PI},a={};for(let e in n)a[e]=n[e];return a.width=t,a.height=r,a.color=this.color,a.radius=this.radius,a.opacity=this.opacity,a.highlightColor=this.highlightColor,a.radiusScale=this.radiusScale,a.radiusMinPixels=this.radiusMinPixels,a.radiusMaxPixels=this.radiusMaxPixels,a.strokeWidth=this.strokeWidth,a.outline=this.outline,a}_highLightClose(){this.selected=null,this.hitGraphicLayer&&(this.map.removeLayer(this.hitGraphicLayer),this.hitGraphicLayer=null),this.changed()}_highLight(e,t,r,s){if(r.getStyle()instanceof Rl){this.hitGraphicLayer&&(this.map.removeLayer(this.hitGraphicLayer),this.hitGraphicLayer=null);var i=this.map.getPixelFromCoordinate([e[0],e[1]]);s=s||[0,0];var n=Math.atan2(s[1]-i[1],s[0]-i[0])/Math.PI*180;n=n>0?n:360+n;var a=(Math.ceil(n/(t.getAngle()+t.getSpaceAngle()))-1)*(t.getAngle()+t.getSpaceAngle()),o={stroke:new(Po())({color:"#ff0000",width:1}),fill:new(Ao())({color:"#0099ff"}),radius:t.getRadius(),angle:t.getAngle(),eAngle:a+t.getAngle(),sAngle:a,rotation:t.getRotation()};this.highLightStyle&&this.highLightStyle instanceof Dl&&(o.stroke=this.highLightStyle.getStroke(),o.fill=this.highLightStyle.getFill(),o.radius=this.highLightStyle.getRadius(),o.angle=this.highLightStyle.getAngle());var l=new Jl(new(Sl())(e));l.setStyle(new Dl(o)),this.hitGraphicLayer=new(Yl())({source:new Zl({map:this.map,graphics:[l]})}),this.map.addLayer(this.hitGraphicLayer)}else this.selected=r,this.changed()}getGraphicsInExtent(e){var t=[];return e?(this.graphics.forEach(r=>{$o.containsExtent(e,r.getGeometry().getExtent())&&t.push(r)}),t):(this.graphics.forEach(e=>{t.push(e)}),t)}}class Kl extends Il{constructor(e,t){super(e,t),this.cache=t.cache||{},this.cacheFields=t.cacheFields||[],this.style=t.style||{},this.maxCacheCount=t.maxCacheCount||0,this.isCustomSetMaxCacheCount=void 0!==t.isCustomSetMaxCacheCount&&t.isCustomSetMaxCacheCount,this.nodesClipPixel=t.nodesClipPixel||2,this.isHoverAble=void 0!==t.isHoverAble&&t.isHoverAble,this.isMultiHover=void 0!==t.isMultiHover&&t.isMultiHover,this.isClickAble=void 0===t.isClickAble||t.isClickAble,this.highlightStyle=t.highlightStyle||null,this.isAllowFeatureStyle=void 0!==t.isAllowFeatureStyle&&t.isAllowFeatureStyle}destroy(){this.maxCacheCount=null,this.isCustomSetMaxCacheCount=null,this.nodesClipPixel=null,this.isHoverAble=null,this.isMultiHover=null,this.isClickAble=null,this.cache=null,this.cacheFields=null,this.style=null,this.highlightStyle=null,this.isAllowFeatureStyle=null}addFeatures(e){this.dispatchEvent({type:"beforefeaturesadded",value:{features:e}}),this.features=this.toiClientFeature(e),this.isCustomSetMaxCacheCount||(this.maxCacheCount=5*this.features.length),this.renderer&&this.changed()}removeFeatures(e){this.clearCache(),Il.prototype.removeFeatures.call(this,e)}removeAllFeatures(){this.clearCache(),Il.prototype.removeAllFeatures.apply(this,arguments)}redrawThematicFeatures(e){var t=this.renderer.getHoverOne(),r=null;t&&t.refDataID&&(r=t.refDataID),this.renderer.clearAll();for(var s=this.features,i=this.cache,n=this.cacheFields,a=this.map.getView().getZoom(),o=this.maxCacheCount,l=0,h=s.length;l<h;l++){var u=s[l];if(u.geometry){var c=u.geometry.getBounds();if(e)if(!new se(e[0],e[1],e[2],e[3]).intersectsBounds(c))continue;var d,p=u.id+"_zoom_"+a.toString();if(i[p])i[p].updateAndAddShapes();else{if((d=this.createThematicFeature(s[l])).getShapesCount()<1)continue;if(i[p]=d,n.push(p),n.length>o){var f=n[0];n.splice(0,1),delete i[f]}}}}if(this.renderer.render(),r&&this.isHoverAble&&this.isMultiHover){var m=this.getShapesByFeatureID(r);this.renderer.updateHoverShapes(m)}}createThematicFeature(e){var t=$.copyAttributesWithClip(this.style);e.style&&!0===this.isAllowFeatureStyle&&(t=$.copyAttributesWithClip(e.style));var r={};r.nodesClipPixel=this.nodesClipPixel,r.isHoverAble=this.isHoverAble,r.isMultiHover=this.isMultiHover,r.isClickAble=this.isClickAble,r.highlightStyle=ta.transformStyle(this.highlightStyle);for(var s=new na(e,this,ta.transformStyle(t),r),i=0;i<s.shapes.length;i++)this.renderer.addShape(s.shapes[i]);return s}canvasFunctionInternal_(e,t,r,s,i){return Il.prototype.canvasFunctionInternal_.apply(this,arguments)}clearCache(){this.cache={},this.cacheFields=[]}clear(){this.renderer.clearAll(),this.renderer.refresh(),this.removeAllFeatures(),this.clearCache()}getCacheCount(){return this.cacheFields.length}setMaxCacheCount(e){isNaN(e)||(this.maxCacheCount=e,this.isCustomSetMaxCacheCount=!0)}getShapesByFeatureID(e){var t=[],r=this.renderer.getAllShapes();if(!e)return r;for(var s=0,i=r.length;s<i;s++){var n=r[s];n.refDataID&&e===n.refDataID&&t.push(n)}return t}}class $l extends Kl{constructor(e,t){super(e,t),this.isOverLay=null==t.isOverLay||t.isOverLay,this.isAvoid=null==t.isAvoid||t.isAvoid,this.style=t.style,this.themeField=t.themeField,this.styleGroups=t.styleGroups,this.defaultStyle={fontColor:"#000000",fontOpacity:1,fontSize:"12px",fontStyle:"normal",fontWeight:"normal",labelAlign:"cm",labelXOffset:0,labelYOffset:0,labelRotation:0,fill:!1,fillColor:"#ee9900",fillOpacity:.4,stroke:!1,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",strokeDashstyle:"solid",labelSelect:!0,_isGeoTextStrategyStyle:!0},this.getPxBoundsMode=0,this.labelFeatures=[]}destroy(){this.style=null,this.themeField=null,this.styleGroups=null,super.destroy()}createThematicFeature(e){var t=this.getStyleByData(e),r={};r.nodesClipPixel=this.nodesClipPixel,r.isHoverAble=this.isHoverAble,r.isMultiHover=this.isMultiHover,r.isClickAble=this.isClickAble,r.highlightStyle=ta.transformStyle(this.highlightStyle);for(var s=new na(e,this,ta.transformStyle(t),r),i=0;i<s.shapes.length;i++)this.renderer.addShape(s.shapes[i]);return s}redrawThematicFeatures(e){if(this.features.length>0&&0===this.labelFeatures.length)for(var t=this.setLabelsStyle(this.features),r=0,s=t.length;r<s;r++)this.labelFeatures.push(t[r]);this.features=this.getDrawnLabels(this.labelFeatures),super.redrawThematicFeatures.call(this,e)}removeFeatures(e){this.labelFeatures=[],super.removeFeatures.call(this,e)}removeAllFeatures(){this.labelFeatures=[],super.removeAllFeatures.call(this,arguments)}getDrawnLabels(e){var t,r,s,i,n=[],a=[],o={labelAlign:"cm",labelXOffset:0,labelYOffset:0},l=this.map,h=l.getSize();h={x:h[0],y:h[1]};for(var u=l.getView().getZoom(),c=0,d=e.length;c<d;c++){(r=e[c]).isStyleChange&&(r=this.setStyle(r));var p=this.getLabelPxLocation(r);if(p.x>=0&&p.x<=h.x&&p.y>=0&&p.y<=h.y){if(r.style.minZoomLevel>-1&&u<=r.style.minZoomLevel)continue;if(r.style.maxZoomLevel>-1&&u>r.style.maxZoomLevel)continue;var f=null;r.isStyleChange?(r.isStyleChange=null,f=this.calculateLabelBounds(r,p)):f=r.geometry.bsInfo.w&&r.geometry.bsInfo.h?this.calculateLabelBounds2(r,p):this.calculateLabelBounds(r,p);var m=new se(0,h.y,h.x,0),y=f.length;if(this.isAvoid){var g=this.getAvoidInfo(m,f);if(g){if("left"===g.aspectW){r.style.labelXOffset+=g.offsetX;for(let e=0;e<y;e++)f[e].x+=g.offsetX}else if("right"===g.aspectW){r.style.labelXOffset+=-g.offsetX;for(let e=0;e<y;e++)f[e].x+=-g.offsetX}if("top"===g.aspectH){r.style.labelYOffset+=g.offsetY;for(let e=0;e<y;e++)f[e].y+=g.offsetY}else if("bottom"===g.aspectH){r.style.labelYOffset+=-g.offsetY;for(let e=0;e<y;e++)f[e].y+=-g.offsetY}r.isStyleChange=!0}}if(this.isOverLay){var v=!1;if(0!=c)for(let e=0;e<a.length;e++)if(this.isQuadrilateralOverLap(f,a[e])){v=!0;break}if(v)continue;a.push(f)}var b=[];for(let e=0;e<y-1;e++)b.push(l.getCoordinateFromPixel([f[e].x,f[e].y]));var S=new se(b[3][0],b[3][1],b[1][0],[b[1][1]]).getCenterLonLat(),x=new he(S.lon,S.lat,r.attributes[this.themeField]);x.calculateBounds(),s=$.cloneObject(r.style),i=$.cloneObject($.copyAttributes(s,o)),(t=new xe(x,r.attributes,i)).id=r.id,t.fid=r.fid,n.push(t)}}return n}getStyleByData(e){var t=e;if(t.style=$.copyAttributes(t.style,this.defaultStyle),this.style&&this.style.fontSize&&parseFloat(this.style.fontSize)<12&&(this.style.fontSize="12px"),t.style=$.copyAttributes(t.style,this.style),this.themeField&&this.styleGroups&&t.attributes){var r=this.themeField,s=t.attributes,i=this.styleGroups,n=!1,a=null;for(var o in s)if(r===o){n=!0,a=s[o];break}if(n)for(var l=0,h=i.length;l<h;l++)if(a>=i[l].start&&a<i[l].end){var u=i[l].style;u&&u.fontSize&&parseFloat(u.fontSize)<12&&(u.fontSize="12px"),t.style=$.copyAttributes(t.style,u)}t.style.label=t.attributes[this.themeField]}return t.style}setLabelsStyle(e){for(var t,r=[],s=0,i=e.length;s<i;s++){var n=e[s];if("SuperMap.Geometry.GeoText"!==n.geometry.CLASS_NAME)return e;(n.geometry.bsInfo.w||n.geometry.bsInfo.h)&&(n.geometry.bsInfo.w=null,n.geometry.bsInfo.h=null,n.geometry.labelWTmp=null),(t=this.setStyle(n)).layer=this.layer,r.push(t)}return r}setStyle(e){var t=e;if(t.style=$.copyAttributes(t.style,this.defaultStyle),this.style&&this.style.fontSize&&parseFloat(this.style.fontSize)<12&&(this.style.fontSize="12px"),t.style=$.copyAttributes(t.style,this.style),this.groupField&&this.styleGroups&&t.attributes){var r=this.groupField,s=t.attributes,i=this.styleGroups,n=!1,a=null;for(var o in s)if(r===o){n=!0,a=s[o];break}if(n)for(var l=0,h=i.length;l<h;l++)if(a>=i[l].start&&a<i[l].end){var u=i[l].style;u&&u.fontSize&&parseFloat(u.fontSize)<12&&(u.fontSize="12px"),t.style=$.copyAttributes(t.style,u)}}return t.style.label=t.geometry.text,t}getLabelPxLocation(e){var t=e.geometry,r=e.style,s=t.getCentroid(),i=this.map.getPixelFromCoordinate([s.x,s.y]),n=new(Sl())([i[0],i[1]]);if(r.labelXOffset||r.labelYOffset){var a=isNaN(r.labelXOffset)?0:r.labelXOffset,o=isNaN(r.labelYOffset)?0:r.labelYOffset;n.translate(a,-o)}return{x:n.getCoordinates()[0],y:n.getCoordinates()[1]}}calculateLabelBounds(e,t){var r=e.geometry,s=null,i=null;if(0==this.getPxBoundsMode)s=r.getLabelPxBoundsByText(t,e.style);else{if(1!==this.getPxBoundsMode)return null;i=this.getLabelInfo(e.geometry.getCentroid(),e.style),s=r.getLabelPxBoundsByLabel(t,i.w,i.h,e.style)}var n=[];return n=e.style.labelRotation%180==0?[{x:s.left,y:s.top},{x:s.right,y:s.top},{x:s.right,y:s.bottom},{x:s.left,y:s.bottom},{x:s.left,y:s.top}]:this.rotationBounds(s,t,e.style.labelRotation),r.bounds=new se(n[1].x,n[3].y,n[2].x,n[4].y),n}calculateLabelBounds2(e,t){var r,s,i,n,a,o=e.geometry.bsInfo,l=e.style,h=$.cloneObject(t);if(l.labelAlign&&"cm"!==l.labelAlign)switch(l.labelAlign){case"lt":h.x+=o.w/2,h.y+=o.h/2;break;case"lm":h.x+=o.w/2;break;case"lb":h.x+=o.w/2,h.y-=o.h/2;break;case"ct":h.y+=o.h/2;break;case"cb":h.y-=o.h/2;break;case"rt":h.x-=o.w/2,h.y+=o.h/2;break;case"rm":h.x-=o.w/2;break;case"rb":h.x-=o.w/2,h.y-=o.h/2}s=h.x-o.w/2,i=h.y+o.h/2,a=l.fontStyle&&"italic"===l.fontStyle?h.x+o.w/2+parseInt(parseFloat(l.fontSize)/2):h.x+o.w/2,n=h.y-o.h/2,r=new se(s,i,a,n);var u=[];return u=l.labelRotation%180==0?[{x:r.left,y:r.top},{x:r.right,y:r.top},{x:r.right,y:r.bottom},{x:r.left,y:r.bottom},{x:r.left,y:r.top}]:this.rotationBounds(r,t,l.labelRotation),e.geometry.bounds=new se(u[1].x,u[3].y,u[2].x,u[4].y),u}getLabelInfo(e,t){var r={l:"left",r:"right",t:"top",b:"bottom"},s={l:0,r:-1,t:0,b:-1};t=$.extend({fontColor:"#000000",labelAlign:"cm"},t);var i=this.getLocalXY(e),n=0;if(t.labelXOffset||t.labelYOffset){var a=isNaN(t.labelXOffset)?0:t.labelXOffset,o=isNaN(t.labelYOffset)?0:t.labelYOffset;i[0]+=a,i[1]-=o}var l=document.createElement("canvas");l.globalAlpha=0,l.lineWidth=1;var h=l.getContext("2d");h.fillStyle=t.fontColor,h.globalAlpha=t.fontOpacity||1;var u,c,d,p=[t.fontStyle?t.fontStyle:"normal","normal",t.fontWeight?t.fontWeight:"normal",t.fontSize?t.fontSize:"1em",t.fontFamily?t.fontFamily:"sans-serif"].join(" "),f=t.label.split("\n"),m=f.length;if(h.fillText){h.font=p,h.textAlign=r[t.labelAlign[0]]||"center",h.textBaseline=r[t.labelAlign[1]]||"middle",null==(u=s[t.labelAlign[1]])&&(u=-.5),c=h.measureText("Mg").height||h.measureText("xx").width,i[1]+=c*u*(m-1);for(let e=0;e<m;e++)n<(d=h.measureText(f[e]).width)&&(n=d)}else if(h.mozDrawText){h.mozTextStyle=p,null==(u=s[t.labelAlign[1]])&&(u=-.5),c=h.mozMeasureText("xx"),i[1]+=c*(1+u*m);for(let e=0;e<m;e++)n<(d=h.measureText(f[e]).width)&&(n=d)}var y={};return n?(y.w=n,y.h=t.fontSize,y.rows=f.length,y):null}rotationBounds(e,t,r){var s=new(Sl())([e.left,e.top]),i=new(Sl())([e.right,e.top]),n=new(Sl())([e.right,e.bottom]),a=new(Sl())([e.left,e.bottom]),o=[];o.push(this.getRotatedLocation(s.getCoordinates()[0],s.getCoordinates()[1],t.x,t.y,r)),o.push(this.getRotatedLocation(i.getCoordinates()[0],i.getCoordinates()[1],t.x,t.y,r)),o.push(this.getRotatedLocation(n.getCoordinates()[0],n.getCoordinates()[1],t.x,t.y,r)),o.push(this.getRotatedLocation(a.getCoordinates()[0],a.getCoordinates()[1],t.x,t.y,r));for(var l=[],h=0;h<o.length;h++)l.push({x:o[h].x,y:o[h].y});return l.push({x:o[0].x,y:o[0].y}),l}getRotatedLocation(e,t,r,s,i){var n,a,o={};return t=-t,s=-s,i=-i,n=(e-r)*Math.cos(i/180*Math.PI)-(t-s)*Math.sin(i/180*Math.PI)+r,a=(e-r)*Math.sin(i/180*Math.PI)+(t-s)*Math.cos(i/180*Math.PI)+s,o.x=n,o.y=-a,o}getAvoidInfo(e,t){if(5!==t.length)return null;for(var r=[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.right,y:e.bottom},{x:e.left,y:e.bottom},{x:e.left,y:e.top}],s=!1,i=r.length,n=t.length,a=0,o=0,l="",h="",u=0;u<i-1;u++)for(var c=0;c<n-1;c++){"SuperMap.Geometry.Point"===$.lineIntersection(r[u],r[u+1],t[c],t[c+1]).CLASS_NAME&&(d(t[c]),d(t[c+1]),s=!0)}return s?{aspectW:h,aspectH:l,offsetX:a,offsetY:o}:null;function d(t){if(!e.contains(t.x,t.y)){if(t.y<e.top){let r=Math.abs(e.top-t.y);r>o&&(o=r,l="top")}if(t.y>e.bottom){let r=Math.abs(t.y-e.bottom);r>o&&(o=r,l="bottom")}if(t.x<e.left){let r=Math.abs(e.left-t.x);r>a&&(a=r,h="left")}if(t.x>e.right){let r=Math.abs(t.x-e.right);r>a&&(a=r,h="right")}}}}isQuadrilateralOverLap(e,t){var r=e.length,s=t.length;if(5!==r||5!==s)return null;var i=!1;for(let s=0;s<r;s++)if(this.isPointInPoly(e[s],t)){i=!0;break}for(let r=0;r<s;r++)if(this.isPointInPoly(t[r],e)){i=!0;break}for(let a=0;a<r-1&&!i;a++)for(var n=0;n<s-1;n++){if("SuperMap.Geometry.Point"===$.lineIntersection(e[a],e[a+1],t[n],t[n+1]).CLASS_NAME){i=!0;break}}return i}isPointInPoly(e,t){for(var r=!1,s=-1,i=t.length,n=i-1;++s<i;n=s)(t[s].y<=e.y&&e.y<t[n].y||t[n].y<=e.y&&e.y<t[s].y)&&e.x<(t[n].x-t[s].x)*(e.y-t[s].y)/(t[n].y-t[s].y)+t[s].x&&(r=!r);return r}canvasFunctionInternal_(e,t,r,s,i){return super.canvasFunctionInternal_.apply(this,arguments)}}class eh{constructor(e){this.options=e||{},this.enableMassClear=this.options.enableMassClear,this._map=e.map,this.paneName=this.options.paneName||"mapPane",this.context=this.options.context||"2d",this.zIndex=this.options.zIndex||2,this.mixBlendMode=this.options.mixBlendMode||null,this.width=e.width,this.height=e.height,this.initialize()}initialize(){var e=this.canvas=document.createElement("canvas");e.style.cssText="position:absolute;left:0;top:0;z-index:"+this.zIndex+";user-select:none;",e.style.mixBlendMode=this.mixBlendMode,e.className="mapvClass";var t="undefined"==typeof window?{}:window,r=this.devicePixelRatio=t.devicePixelRatio||1;e.width=parseInt(this.width)*r,e.height=parseInt(this.height)*r,"2d"===this.context&&e.getContext(this.context).scale(r,r),e.style.width=this.width+"px",e.style.height=this.height+"px","webgl"===this.context&&this.canvas.getContext(this.context).viewport(0,0,e.width,e.height)}draw(){this.options.update&&this.options.update.call(this)}resize(e,t){var r="undefined"==typeof window?{}:window,s=this.devicePixelRatio=r.devicePixelRatio||1;this.canvas.width=e*s,this.canvas.height=t*s,"2d"===this.context&&this.canvas.getContext("2d").scale(s,s),this.canvas.style.width=e+"px",this.canvas.style.height=t+"px","webgl"===this.context&&this.canvas.getContext(this.context).viewport(0,0,this.canvas.width,this.canvas.height)}getContainer(){return this.canvas}setZIndex(e){this.canvas.style.zIndex=e}getZIndex(){return this.zIndex}}const th=function(){try{return mapv}catch(e){return{}}}(),rh=ol.interaction.Pointer;var sh=r.n(rh),ih=th.baiduMapLayer?th.baiduMapLayer.__proto__:Function;class nh extends ih{constructor(e,t,r,s,i,n){super(e,t,r),this.dataSet=t,this.mapWidth=s,this.mapHeight=i;var a=this;r=r||{},this.source=n,a.animator=null,a.map=e,a.init(r),a.argCheck(r),this.canvasLayer=new eh({map:e,context:this.context,paneName:r.paneName,mixBlendMode:r.mixBlendMode,enableMassClear:r.enableMassClear,zIndex:r.zIndex,width:s,height:i,update:function(){a._canvasUpdate()}}),this.clickEvent=this.clickEvent.bind(this),this.mousemoveEvent=this.mousemoveEvent.bind(this),e.on("movestart",this.moveStartEvent.bind(this)),e.on("moveend",this.moveEndEvent.bind(this)),e.getView().on("change:center",this.zoomEvent.bind(this)),e.getView().on("change:size",this.sizeEvent.bind(this)),e.on("pointerdrag",this.dragEvent.bind(this)),this.bindEvent()}init(e){this.options=e,this.initDataRange(e),this.context=this.options.context||"2d",this.options.zIndex&&this.canvasLayer&&this.canvasLayer.setZIndex(this.options.zIndex),this.initAnimator()}clickEvent(e){var t=e.pixel;super.clickEvent({x:t[0]+this.offset[0],y:t[1]+this.offset[1]},e)}mousemoveEvent(e){var t=e.pixel;super.mousemoveEvent({x:t[0],y:t[1]},e)}dragEvent(){this.clear(this.getContext())}zoomEvent(){this.clear(this.getContext())}sizeEvent(){this.canvasLayer.resize()}moveStartEvent(){var e=this.options.animation;this.isEnabledTime()&&this.animator&&(this.steps.step=e.stepsRange.start)}moveEndEvent(){this.canvasLayer.draw()}bindEvent(){var e=this,t=e.map;e.options.methods&&(e.options.methods.click&&t.on("click",e.clickEvent),e.options.methods.mousemove&&(e.pointerInteraction=new(sh()),e.pointerInteraction.handleMoveEvent_=function(t){e.mousemoveEvent(t)},t.addInteraction(e.pointerInteraction)))}unbindEvent(){var e=this.map;this.options.methods&&(this.options.methods.click&&e.un("click",this.clickEvent),this.options.methods.mousemove&&e.removeInteraction(this.pointerInteraction))}addData(e,t){var r=e;e&&e.get&&(r=e.get()),this.dataSet.add(r),this.update({options:t})}update(e){var t=e||{},r=t.data;r&&r.get&&(r=r.get()),void 0!=r&&this.dataSet.set(r),super.update({options:t.options})}draw(){this.canvasLayer.draw()}getData(){return this.dataSet}removeData(e){if(this.dataSet){var t=this.dataSet.get({filter:function(t){return null==e||"function"!=typeof e||!e(t)}});this.dataSet.set(t),this.update({options:null})}}clearData(){this.dataSet&&this.dataSet.clear(),this.update({options:null})}_canvasUpdate(e){if(this.canvasLayer){var t=this,r=t.options.animation,s=t.map,i=t.canvasLayer.canvas.getContext(t.context);if(t.isEnabledTime()){if(void 0===e)return void t.clear(i);t.context&&"2d"!==t.context||(i.save(),i.globalCompositeOperation="destination-out",i.fillStyle="rgba(0, 0, 0, .1)",i.fillRect(0,0,i.canvas.width,i.canvas.height),i.restore())}else this.clear(i);if(t.context&&"2d"!==t.context)i.clear(i.COLOR_BUFFER_BIT);else for(var n in t.options)i[n]=t.options[n];var a=s.getView().calculateExtent(),o=s.getPixelFromCoordinate([a[0],a[3]]);t._mapCenter=s.getView().getCenter(),t._mapCenterPx=s.getPixelFromCoordinate(t._mapCenter),t._reselutions=s.getView().getResolution(),t._rotation=-s.getView().getRotation();var l=t._reselutions,h=1;if("2d"!=this.context){var u=("undefined"==typeof window?{}:window).devicePixelRatio||1;h=u}var c={transferCoordinate:function(e){var r=(e[0]-t._mapCenter[0])/t._reselutions,s=(t._mapCenter[1]-e[1])/t._reselutions,i=[r+t._mapCenterPx[0],s+t._mapCenterPx[1]];return[((i=function(e,t,r){var s=(e[0]-t[0])*r+t[0],i=(e[1]-t[1])*r+t[1];return[s,i]}(i,t._mapCenterPx,1))[0]+t.offset[0])*h,(i[1]+t.offset[1])*h]}};void 0!==e&&(c.filter=function(t){var s=r.trails||10;return e&&t.time>e-s&&t.time<e}),t.isEnabledTime()&&!t.notFirst&&(t.canvasLayer.resize(t.mapWidth,t.mapHeight),t.notFirst=!0);var d=t.dataSet.get(c);t.processData(d),"m"===t.options.unit?(t.options.size&&(t.options._size=t.options.size/l),t.options.width&&(t.options._width=t.options.width/l),t.options.height&&(t.options._height=t.options.height/l)):(t.options._size=t.options.size,t.options._height=t.options.height,t.options._width=t.options.width);var p=s.getPixelFromCoordinate([0,0]);p=[p[0]-o[0],p[1]-o[1]],this.drawContext(i,d,t.options,{x:p[0],y:p[1]}),t.isEnabledTime()&&this.source.changed(),t.options.updateCallback&&t.options.updateCallback(e)}}isEnabledTime(){var e=this.options.animation;return e&&!(!1===e.enabled)}argCheck(e){"heatmap"===e.draw&&e.strokeStyle&&console.warn("[heatmap] options.strokeStyle is discard, pleause use options.strength [eg: options.strength = 0.1]")}getContext(){return this.canvasLayer.canvas.getContext(this.context)}clear(e){e&&e.clearRect&&e.clearRect(0,0,e.canvas.width,e.canvas.height)}}class ah extends(Ll()){constructor(e){var t=e||{};super({attributions:t.attributions||"© 2018 百度 MapV with <span>© SuperMap iClient</span>",canvasFunction:function(e,t,r,s,i){var n=s[0]/r,a=s[1]/r,o=this.map.getSize()[0],l=this.map.getSize()[1];this.layer||(this.layer=new nh(this.map,this.dataSet,this.mapvOptions,n,a,this));this.layer.pixelRatio=r,this.layer.offset=[(n-o)/2,(a-l)/2],this.rotate?this.rotate!==this.map.getView().getRotation()&&(this.layer.canvasLayer.resize(n,a),this.rotate=this.map.getView().getRotation()):this.rotate=this.map.getView().getRotation();var h=this.layer.canvasLayer.canvas;this.layer.isEnabledTime()||(this.layer.canvasLayer.resize(n,a),this.layer.canvasLayer.draw());this.context||(this.context=mo.createCanvasContext2D(n,a));var u=this.context.canvas;this.context.clearRect(0,0,u.width,u.height),u.width=s[0],u.height=s[1],u.style.width=s[0]+"px",u.style.height=s[1]+"px",this.context.drawImage(h,0,0),(this.resolution!==t||JSON.stringify(this.extent)!==JSON.stringify(e))&&(this.resolution=t,this.extent=e);return this.context.canvas},logo:"4"===mo.getOlVersion()?t.logo:null,projection:t.projection,ratio:t.ratio,resolutions:t.resolutions,state:t.state}),this.map=e.map,this.dataSet=e.dataSet,this.mapvOptions=e.mapvOptions}addData(e,t){this.layer.addData(e,t)}getData(){return this.layer&&(this.dataSet=this.layer.getData()),this.dataSet}removeData(e){this.layer&&this.layer.removeData(e)}clearData(){this.layer.clearData()}update(e){this.layer.update(e),this.changed()}}class oh extends Kl{constructor(e,t){super(e,t),this.style=t.style,this.isHoverAble=t.isHoverAble,this.highlightStyle=t.highlightStyle,this.themeField=t.themeField,this.styleGroups=t.styleGroups}destroy(){this.style=null,this.themeField=null,this.styleGroups=null,Kl.prototype.destroy.apply(this,arguments)}createThematicFeature(e){var t=this.getStyleByData(e),r={};r.nodesClipPixel=this.nodesClipPixel,r.isHoverAble=this.isHoverAble,r.isMultiHover=this.isMultiHover,r.isClickAble=this.isClickAble,r.highlightStyle=ta.transformStyle(this.highlightStyle);for(var s=new na(e,this,ta.transformStyle(t),r),i=0;i<s.shapes.length;i++)this.renderer.addShape(s.shapes[i]);return s}getStyleByData(e){var t={},r=e;if(t=$.copyAttributesWithClip(t,this.style),this.themeField&&this.styleGroups&&this.styleGroups.length>0&&r.attributes){var s=this.themeField,i=r.attributes,n=this.styleGroups,a=!1,o=null;for(var l in i)if(s===l){a=!0,o=i[l];break}if(a)for(var h=0,u=n.length;h<u;h++)if(o>=n[h].start&&o<n[h].end){var c=n[h].style;t=$.copyAttributesWithClip(t,c)}}return r.style&&!0===this.isAllowFeatureStyle&&(t=$.copyAttributesWithClip(r.style)),t}canvasFunctionInternal_(e,t,r,s,i){return Kl.prototype.canvasFunctionInternal_.apply(this,arguments)}}class lh extends Nl{constructor(e,t,r){super(e,t,r),this.symbolType=t,this.symbolSetting=r.symbolSetting,this.themeField=r.themeField}destroy(){this.symbolType=null,this.symbolSetting=null,this.themeField=null,Nl.prototype.destroy.apply(this,arguments)}setSymbolType(e){this.symbolType=e,this.redraw()}createThematicFeature(e){var t;return ra[this.symbolType]&&this.themeField&&this.symbolSetting&&(t=new ra[this.symbolType](e,this,[this.themeField],this.symbolSetting)),!!t&&(t.assembleShapes(),t)}canvasFunctionInternal_(e,t,r,s,i){return Nl.prototype.canvasFunctionInternal_.apply(this,arguments)}}const hh=function(){try{return turf}catch(e){return{}}}();class uh extends(ao()){constructor(e){var t=e||{};super({attributions:t.attributions||"<span>© turfjs</span> with <span>© SuperMap iClient</span>",features:t.features,format:t.format,extent:t.extent,logo:"4"===mo.getOlVersion()?t.logo:null,projection:t.projection,wrapX:t.wrapX}),this.turfMap={"Measurement.along":["line","distance","units"],"Measurement.area":["geojson"],"Measurement.bbox":["geojson"],"Measurement.bboxPolygon":["bbox"],"Measurement.bearing":["start","end","final"],"Measurement.center":["geojson","properties"],"Measurement.centerOfMass":["geojson","properties"],"Measurement.centroid":["geojson","properties"],"Measurement.destination":["origin","distance","bearing","units"],"Measurement.distance":["from","to","units"],"Measurement.envelope":["geojson"],"Measurement.length":["geojson","units"],"Measurement.midpoint":["point1","point2"],"Measurement.pointOnFeature":["geojson"],"Measurement.polygonTangents":["point","polygon"],"Measurement.rhumbBearing":["start","end","final"],"Measurement.rhumbDestination":["origin","distance","bearing","units"],"Measurement.rhumbDistance":["from","to","units"],"Measurement.square":["bbox"],"Measurement.greatCircle":["start","end","properties","npoints","offset"],"CoordinateMutation.cleanCoords":["geojson","mutate"],"CoordinateMutation.flip":["geojson","mutate"],"CoordinateMutation.rewind":["geojson","reverse","mutate"],"CoordinateMutation.round":["num","precision"],"CoordinateMutation.truncate":["geojson","precision","coordinates","mutate"],"Transformation.bboxClip":["feature","bbox"],"Transformation.bezierSpline":["line","resolution","sharpness"],"Transformation.buffer":["geojson","radius","units","steps"],"Transformation.circle":["center","radius","steps","units","properties"],"Transformation.clone":["geojson"],"Transformation.concave":["points","maxEdge","units"],"Transformation.convex":["geojson","concavity"],"Transformation.difference":["polygon1","polygon2"],"Transformation.dissolve":["featureCollection","propertyName"],"Transformation.intersect":["poly1","poly2"],"Transformation.lineOffset":["geojson","distance","units"],"Transformation.simplify":["feature","tolerance","highQuality"],"Transformation.tesselate":["poly"],"Transformation.transformRotate":["geojson","angle","pivot","mutate"],"Transformation.transformTranslate":["geojson","distance","direction","units","zTranslation","mutate"],"Transformation.transformScale":["geojson","factor","origin","mutate"],"Transformation.union":["A"],"Transformation.voronoi":["points","bbox"],"featureConversion.combine":["fc"],"featureConversion.explode":["geojson"],"featureConversion.flatten":["geojson"],"featureConversion.lineStringToPolygon":["lines","properties","autoComplete","orderCoords"],"featureConversion.polygonize":["geojson"],"featureConversion.polygonToLineString":["polygon","properties"],"Misc.kinks":["featureIn"],"Misc.lineArc":["center","radius","bearing1","bearing2","steps","units"],"Misc.lineChunk":["geojson","segmentLength","units","reverse"],"Misc.lineIntersect":["line1","line2"],"Misc.lineOverlap":["line1","line2"],"Misc.lineSegment":["geojson"],"Misc.lineSlice":["startPt","stopPt","line"],"Misc.lineSliceAlong":["line","startDist","stopDist","units"],"Misc.lineSplit":["line","splitter"],"Misc.mask":["polygon","mask"],"Misc.pointOnLine":["lines","pt","units"],"Misc.sector":["center","radius","bearing1","bearing2","steps","units"],"Misc.shortestPath":["start","end","obstacles","units","resolution"],"Misc.unkinkPolygon":["geojson"],"Helper.featureCollection":["features","bbox","id"],"Helper.feature":["geometry","properties","bbox","id"],"Helper.geometryCollection":["geometries","properties","bbox","id"],"Helper.lineString":["coordinates","properties","bbox","id"],"Helper.multiLineString":["coordinates","properties","bbox","id"],"Helper.multiPoint":["coordinates","properties","bbox","id"],"Helper.multiPolygon":["coordinates","properties","bbox","id"],"Helper.point":["coordinates","properties","bbox","id"],"Helper.polygon":["coordinates","properties","bbox","id"],"Data.sample":["featurecollection","num"],"Interpolation.interpolate":["points","cellSize","gridType","property","units","weight"],"Interpolation.isobands":["pointGrid","breaks","zProperty","commonProperties","breaksProperties"],"Interpolation.isolines":["pointGrid","breaks","zProperty","commonProperties","breaksProperties"],"Interpolation.planepoint":["point","triangle"],"Interpolation.tin":["points","z"],"Joins.pointsWithinPolygon":["points","polygons"],"Joins.tag":["points","polygons","field","outField","mask","properties"],"Grids.hexGrid":["bbox","cellSide","units","triangles"],"Grids.pointGrid":["bbox","cellSide","units","mask","properties"],"Grids.squareGrid":["bbox","cellSide","units","mask","properties"],"Grids.triangleGrid":["bbox","cellSide","units","mask","properties"],"Classification.nearestPoint":["targetPoint","points"],"Aggregation.collect":["polygons","points","inProperty","outProperty"],"Aggregation.clustersDbscan":["points","maxDistance","units","minPoints","mutate"],"Aggregation.clustersKmeans":["points","numberOfClusters","mutate"],"Meta.coordAll":["geojson"],"Meta.coordEach":["geojson","callback","excludeWrapCoord"],"Meta.coordReduce":["geojson","callback","initialValue","excludeWrapCoord"],"Meta.featureEach":["geojson","callback"],"Meta.featureReduce":["geojson","callback","initialValue"],"Meta.flattenEach":["geojson","callback"],"Meta.flattenReduce":["geojson","callback","initialValue"],"Meta.getCoord":["coord"],"Meta.getCoords":["coords"],"Meta.getGeom":["geojson"],"Meta.getGeomType":["geojson","name"],"Meta.geomEach":["geojson","callback"],"Meta.geomReduce":["geojson","callback","initialValue"],"Meta.propEach":["geojson","callback"],"Meta.propReduce":["geojson","callback","initialValue"],"Meta.segmentEach":["geojson","callback"],"Meta.segmentReduce":["geojson","callback","initialValue"],"Meta.getCluster":["geojson","filter"],"Meta.clusterEach":["geojson","property","callback"],"Meta.clusterReduce":["geojson","property","callback","initialValue"],"Assertions.collectionOf":["featureCollection","type","name"],"Assertions.containsNumber":["coordinates"],"Assertions.geojsonType":["value","type","name"],"Assertions.featureOf":["feature","type","name"],"Booleans.booleanClockwise":["line"],"Booleans.booleanContains":["feature1","feature2"],"Booleans.booleanCrosses":["feature1","feature2"],"Booleans.booleanDisjoint":["feature1","feature2"],"Booleans.booleanEqual":["feature1","feature2"],"Booleans.booleanOverlap":["feature1","feature2"],"Booleans.booleanParallel":["feature1","feature2"],"Booleans.booleanPointInPolygon":["point","polygon","ignoreBoundary"],"Booleans.booleanPointOnLine":["point","linestring","ignoreEndVertices"],"UnitConversion.bearingToAngle":["bearing"],"UnitConversion.convertArea":["area","originalUnit","finalUnit"],"UnitConversion.convertLength":["length","originalUnit","finalUnit"],"UnitConversion.degreesToradians":["degrees"],"UnitConversion.lengthToRadians":["distance","units"],"UnitConversion.lengthToDegrees":["distance","units"],"UnitConversion.radiansToLength":["radians","units"],"UnitConversion.radiansToDegrees":["radians"],"UnitConversion.toMercator":["geojson","mutate"],"UnitConversion.toWgs84":["geojson","mutate"]},this.turfOptionMap={"Measurement.along":["line","distance",{units:""}],"Measurement.bboxPolygon":["bbox",{properties:"",id:""}],"Measurement.bearing":["start","end",{final:""}],"Measurement.center":["geojson",{properties:""}],"Measurement.destination":["origin","distance","bearing",{units:"",properties:""}],"Measurement.distance":["from","to",{units:""}],"Measurement.length":["geojson",{units:""}],"Measurement.rhumbBearing":["start","end",{final:""}],"Measurement.rhumbDestination":["origin","distance","bearing",{units:"",properties:""}],"Measurement.rhumbDistance":["from","to",{units:""}],"Measurement.greatCircle":["start","end",{properties:"",npoints:"",offset:""}],"CoordinateMutation.cleanCoords":["geojson",{mutate:""}],"CoordinateMutation.flip":["geojson",{mutate:""}],"CoordinateMutation.rewind":["geojson",{mutate:"",reverse:""}],"CoordinateMutation.truncate":["geojson",{precision:"",coordinates:"",mutate:""}],"Transformation.bezierSpline":["line",{resolution:"",sharpness:""}],"Transformation.buffer":["geojson","radius",{units:"",steps:""}],"Transformation.circle":["center","radius",{units:"",steps:"",properties:""}],"Transformation.concave":["points",{maxEdge:"",units:""}],"Transformation.convex":["geojson",{concavity:""}],"Transformation.dissolve":["featureCollection",{propertyName:""}],"Transformation.lineOffset":["geojson","distance",{units:""}],"Transformation.simplify":["geojson",{tolerance:"",highQuality:""}],"Transformation.transformRotate":["geojson","angle",{pivot:"",mutate:""}],"Transformation.transformTranslate":["geojson","distance","direction",{units:"",zTranslation:"",mutate:""}],"Transformation.transformScale":["geojson","factor",{origin:"",mutate:""}],"Transformation.voronoi":["points",{bbox:""}],"featureConversion.lineStringToPolygon":["lines",{properties:"",autoComplete:"",orderCoords:""}],"featureConversion.polygonToLineString":["polygon",{properties:""}],"Misc.lineArc":["center","radius","bearing1","bearing2",{steps:"",units:""}],"Misc.lineChunk":["geojson","segmentLength",{units:"",reverse:""}],"Misc.lineOverlap":["line1","line2",{tolerance:""}],"Misc.lineSliceAlong":["line","startDist","stopDist",{units:""}],"Misc.pointOnLine":["lines","pt",{units:""}],"Misc.sector":["center","radius","bearing1","bearing2",{units:"",steps:"",properties:""}],"Misc.shortestPath":["start","end",{obstacles:"",units:"",resolution:""}],"Helper.feature":["geometry","properties",{bbox:"",id:""}],"Helper.geometryCollection":["geometries","properties",{bbox:"",id:""}],"Helper.lineString":["coordinates","properties",{bbox:"",id:""}],"Helper.multiLineString":["coordinates","properties",{bbox:"",id:""}],"Helper.multiPoint":["coordinates","properties",{bbox:"",id:""}],"Helper.multiPolygon":["coordinates","properties",{bbox:"",id:""}],"Helper.point":["coordinates","properties",{bbox:"",id:""}],"Helper.polygon":["coordinates","properties",{bbox:"",id:""}],"Interpolation.interpolate":["points","cellSize",{gridType:"",property:"",units:"",weight:""}],"Interpolation.isobands":["pointGrid","breaks",{zProperty:"",commonProperties:"",breaksProperties:""}],"Interpolation.isolines":["pointGrid","breaks",{zProperty:"",commonProperties:"",breaksProperties:""}],"Grids.hexGrid":["bbox","cellSide",{units:"",triangles:"",properties:"",mask:""}],"Grids.pointGrid":["bbox","cellSide",{units:"",mask:"",properties:""}],"Grids.squareGrid":["bbox","cellSide",{units:"",mask:"",properties:""}],"Grids.triangleGrid":["bbox","cellSide",{units:"",mask:"",properties:""}],"Aggregation.clustersDbscan":["points","maxDistance",{units:"",minPoints:"",mutate:""}],"Aggregation.clustersKmeans":["points",{numberOfClusters:"",mutate:""}],"Booleans.booleanPointInPolygon":["point","polygon",{ignoreBoundary:""}],"Booleans.booleanPointOnLine":["point","linestring",{ignoreEndVertices:""}],"UnitConversion.toMercator":["geojson",{mutate:""}],"UnitConversion.toWgs84":["geojson",{mutate:""}]}}process(e,t,r,s){var i;try{i=hh[e.split(".")[1]].apply(this,this.parse(e,t))}catch(r){i=hh[e.split(".")[1]].apply(this,this.parseOption(e,t))}var n=null;try{n=(new(Ko())).readFeatures(i)}catch(e){return void(r&&r(i))}(s=null==s||s)&&this.addFeatures(n),r&&r(i)}parse(e,t){if("Transformation.union"===e)return t.A;var r=[],s=this.turfMap[e];return s&&s.map(function(e){return r.push(t[e]),t[e]}),r}parseOption(e,t){var r=[];return this.turfOptionMap[e].map(function(e){if(e instanceof Object){var s=e;Object.keys(s).forEach(function(e){s[e]=t[e]}),r.push(s)}else r.push(t[e]);return t}),r}}class ch extends Kl{constructor(e,t){super(e,t),this.themeField=t.themeField,this.style=t.style,this.styleGroups=t.styleGroups,this.isHoverAble=t.isHoverAble,this.highlightStyle=t.highlightStyle}destroy(){this.style=null,this.themeField=null,this.styleGroups=null,Kl.prototype.destroy.apply(this,arguments)}createThematicFeature(e){var t=this.getStyleByData(e),r={};r.nodesClipPixel=this.nodesClipPixel,r.isHoverAble=this.isHoverAble,r.isMultiHover=this.isMultiHover,r.isClickAble=this.isClickAble,r.highlightStyle=ta.transformStyle(this.highlightStyle);for(var s=new na(e,this,ta.transformStyle(t),r),i=0;i<s.shapes.length;i++)this.renderer.addShape(s.shapes[i]);return s}getStyleByData(e){var t={},r=e;if(t=$.copyAttributesWithClip(t,this.style),this.themeField&&this.styleGroups&&this.styleGroups.length>0&&r.attributes){var s=this.themeField,i=r.attributes,n=this.styleGroups,a=!1,o=null;for(var l in i)if(s===l){a=!0,o=i[l];break}if(a)for(var h=0,u=n.length;h<u;h++)if(o.toString()===n[h].value.toString()){var c=n[h].style;t=$.copyAttributesWithClip(t,c)}}return r.style&&!0===this.isAllowFeatureStyle&&(t=$.copyAttributesWithClip(r.style)),t}canvasFunctionInternal_(e,t,r,s,i){return Kl.prototype.canvasFunctionInternal_.apply(this,arguments)}}class dh extends(Na()){constructor(e){if(super(),e){var t=!1;void 0!==e.donotNeedServerCartoCss&&(t=e.donotNeedServerCartoCss),dh.setDonotNeedServerCartoCss(t),e.view&&dh.setView(e.view),e.url&&dh.setUrl(e.url),e.cartoCss&&dh.setCartoCss(e.cartoCss);var r=new(_o())({image:new(Mo())({radius:5,fill:new(Ao())({color:"blue"})})});e.selectedPointStyle&&(r=e.selectedPointStyle),dh.setSelectedPointStyle(r);var s=new(_o())({stroke:new(Po())({color:"blue",width:3})});e.selectedLineStyle&&(s=e.selectedLineStyle),dh.setSelectedLineStyle(s);var i=new(_o())({fill:new(Ao())({color:[0,0,255,.5]}),stroke:new(Po())({color:"blue",width:3})});e.selectedRegionStyle&&(i=e.selectedRegionStyle),dh.setSelectedRegionStyle(i);var n=new(_o())({text:new(Io())({font:"15px Microsoft YaHei",fill:new(Ao())({color:"blue"}),stroke:new(Po())({color:"white",width:1})})});e.selectedTextStyle&&(n=e.selectedTextStyle),dh.setSelectedTextStyle(n);var a=new XMLHttpRequest;a.onreadystatechange=function(){if(4==a.readyState){for(var e=JSON.parse(a.responseText),t={},r=0,s=e.length;r<s;r++)for(var i=e[r].subLayers.layers,n=0,o=i.length;n<o;n++)i[n].layerIndex=o-n,t[i[n].name]=i[n];if(dh.setLayersInfo(t),!dh.getDonotNeedServerCartoCss()){var l=new XMLHttpRequest;l.open("GET",$.urlPathAppend(dh.getUrl(),"tileFeature/vectorstyles.json"),!1),l.onreadystatechange=function(){if(4==l.readyState){var e,r=(new we).read(l.responseText);if(r.style&&"cartoCSS"===r.type){e=(e=(e=r.style).replace(/[@]/gi,"___")).replace(/\\#/gi,"___");var s={};t&&Object.keys(t).sort().forEach(function(t){var r=t.replace(/[@#\s]/gi,"___"),i=t,n=Object.keys(s);for(let e=n.length;e>-1;e--)if(t.indexOf(n[e])>-1){i=t.replace(n[e],s[n[e]]);break}i=i.replace(/[#]/gi,"#"),s[t]=r,e=e.replace(new RegExp(i,"g"),r)}),e=(e=e.replace(/[#]/gi,"\n#")).replace(/\[zoom/gi,"[scale")}var i={};new On(e).getShaders().forEach(function(e){return i[e.elements[0].clean]=i[e.elements[0].clean]||{},i[e.elements[0].clean][e.attachment]=i[e.elements[0].clean][e.attachment]||[],i[e.elements[0].clean][e.attachment].push(e),e}),dh.setCartoShaders(i)}},l.send(null)}if(dh.getCartoCss()){var h={};new On(dh.getCartoCss()).getShaders().forEach(function(e){return h[e.elements[0].clean]=h[e.elements[0].clean]||{},h[e.elements[0].clean][e.attachment]=h[e.elements[0].clean][e.attachment]||[],h[e.elements[0].clean][e.attachment].push(e),e}),dh.setClientCartoShaders(h)}}},a.open("GET",$.urlPathAppend(dh.getUrl(),"layers.json"),!1),a.send(null),this.on("featureSelected",function(e){dh.setSelectedId(e.selectedId),dh.setLayerName(e.layerName)})}}static setCartoShaders(e){this.cartoShaders=e}static getCartoShaders(){return this.cartoShaders}static setClientCartoShaders(e){this.clientCartoShaders=e}static getClientCartoShaders(){return this.clientCartoShaders}static setCartoCss(e){this.cartoCss=e}static getCartoCss(){return this.cartoCss}static setDonotNeedServerCartoCss(e){this.donotNeedServerCartoCss=e}static getDonotNeedServerCartoCss(){return this.donotNeedServerCartoCss}static setLayersInfo(e){this.layersInfo=e}static getLayersInfo(){return this.layersInfo}static setUrl(e){this.url=e}static getUrl(){return this.url}static setView(e){this.view=e}static getView(){return this.view}static setSelectedId(e){this.selectedId=e}static getSelectedId(){return this.selectedId}static setLayerName(e){this.layerName=e}static getLayerName(){return this.layerName}static setSelectedPointStyle(e){this.selectedPointStyle=e}static setSelectedLineStyle(e){this.selectedLineStyle=e}static setSelectedRegionStyle(e){this.selectedRegionStyle=e}static setSelectedTextStyle(e){this.selectedTextStyle=e}static getSelectedStyle(e){return"POINT"===e||"MULTIPOINT"===e?this.selectedPointStyle:"LINESTRING"===e||"MULTILINESTRING"===e?this.selectedLineStyle:"POLYGON"===e||"MULTIPOLYGON"===e?this.selectedRegionStyle:"TEXT"===e?this.selectedTextStyle:void 0}static getLayerInfo(e){var t=dh.getLayersInfo();if(void 0===t)return null;var r=t[e];if(!r)return null;var s={layerIndex:r.layerIndex,ugcLayerType:r.ugcLayerType};switch(r.ugcLayerType){case"VECTOR":s.layerStyle=r.style?r.style:null;break;case"THEME":var i=r.theme;s.layerStyle=i?i.defaultStyle:null,i&&"LABEL"===i.type&&(s.type=i.type,s.textField=i.labelExpression);break;default:r.style&&(s.layerStyle=r.style)}return s}static getStyle(e,t){var r=dh.getUrl(),s=dh.getView(),i=s.getZoom(),n=mo.resolutionToScale(s.getResolution(),96,l.METER),a=e.replace(/(@)/gi,"___").replace(/(#)/gi,"___");if(dh.getCartoCss()&&dh.getClientCartoShaders()[a])return u(dh.getClientCartoShaders()[a]);var o=dh.getLayerInfo(e);if(!dh.getDonotNeedServerCartoCss()&&dh.getCartoShaders()[a]){if(t.getProperties().textStyle||t.getProperties().TEXT_FEATURE_CONTENT||"LABEL"==o.type&&o.textField){var h=Ro.getValidStyleFromLayerInfo(o,t,r);return"POINT"===t.getGeometry().getType().toUpperCase()&&(h=function(e,t,r){var s=Ro.getValidStyleFromLayerInfo(e,t,r);if("LABEL"==e.type){t.setProperties({type:"TEXT"});for(var i=u(dh.getCartoShaders()[a]),n=s.getText(),o=0;o<i.length;o++)n?n.setText(i[o].getText().getText()):n=i[o].getText();return s.setText(n),s}return s}(o,t,r)),h}return u(dh.getCartoShaders()[a])}if(o)return Ro.getValidStyleFromLayerInfo(o,t,r);function u(e){var s=[];for(var a in e)e[a].map(function(e){return s.push(Ro.getStyleFromCarto(i,n,e,t,!0,r)),e});return s}}getFeatureStyle(e){var t,r=e.getProperties().layerName||e.getProperties().layer,s=e.getProperties().id||parseInt(e.getProperties().SmID);if(e.getProperties().type&&"TEXT"===e.getProperties().type.toUpperCase()?(t=dh.getSelectedStyle(e.getProperties().type.toUpperCase()),e.getProperties().texts?t.getText().text_=e.getProperties().texts[0]:t.getText().text_=""):t=dh.getSelectedStyle(e.getGeometry().getType().toUpperCase()),t){var i=dh.getLayerName(),n=dh.getSelectedId();if(i===r&&s===n)return t}return dh.getStyle(r,e)}}const ph=ol.source.VectorTile;var fh=r.n(ph);const mh=ol.format.MVT;var yh,gh=r.n(mh);class vh extends(fh()){constructor(e){void 0===e.url&&void 0===e.style&&console.error("one of 'options.style' or 'options.style' is required");var t=/\{z\}/g,r=/\{x\}/g,s=/\{y\}/g,i=/\{-y\}/g;e.attributions=e.attributions||"Tile Data <span>© SuperMap iServer</span> with <span>© SuperMap iClient</span>",["4","5"].indexOf(mo.getOlVersion())<0&&(e.tileSize=e.format instanceof gh()&&e.style?512:256),super({attributions:e.attributions,cacheSize:e.cacheSize,format:e.format||new(Ko()),logo:"4"===mo.getOlVersion()?e.logo:null,overlaps:e.overlaps,projection:e.projection,state:e.format instanceof gh()&&e.style&&"[object String]"==Object.prototype.toString.call(e.style)?"loading":e.state,tileClass:e.tileClass,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction||(e.format instanceof gh()&&e.style?function(e){return e?n._tileUrl.replace(t,e[0].toString()).replace(r,e[1].toString()).replace(s,function(){var t=["4","5"].indexOf(mo.getOlVersion())>-1?-e[2]-1:e[2];return t.toString()}).replace(i,function(){var t=e[0],r=n.tileGrid.getFullTileRange(t),s=r.getHeight()+e[2];return s.toString()}):void 0}:function(e,t,r){n.tileGrid||(n.tileGrid=n.getTileGridForProjection(r));var s=e[0],i=e[1],a=["4","5"].indexOf(mo.getOlVersion())>-1?-e[2]-1:e[2],o=ul.toSize(n.tileGrid.getTileSize(s,n.tmpSize)),h="";if("ZXY"===n.tileType)h="&width="+o[0]+"&height="+o[1]+"&x="+i+"&y="+a+"&z="+s;else if("ViewBounds"===n.tileType){var u=n.tileGrid.getTileCoordExtent(e);h="&width="+o[0]+"&height="+o[1]+"&viewBounds="+u[0]+","+u[1]+","+u[2]+","+u[3]}else{var c=n.tileGrid.getOrigin(s),d=n.tileGrid.getResolution(s),p=r.getUnits()||"degrees";"degrees"===p&&(p=l.DEGREE),"m"===p&&(p=l.METER);var f=mo.resolutionToScale(d,96,p);h="&x="+i+"&y="+a+"&width="+o[0]+"&height="+o[1]+"&scale="+f+"&origin={'x':"+c[0]+",'y':"+c[1]+"}"}return n._tileUrl+encodeURI(h)}),tileLoadFunction:e.tileLoadFunction||(e.format instanceof gh()?function(e,t){const r=e.getFormat(),s=e.onLoad.bind(e),i=e.onError.bind(e);e.setLoader(function(e,a,o){const l=new XMLHttpRequest;l.open("GET","function"==typeof t?t(e,a,o):t,!0),"arraybuffer"==r.getType()&&(l.responseType="arraybuffer"),l.withCredentials=n.withCredentials,l.onload=function(){if(!l.status||l.status>=200&&l.status<300){const t=r.getType();let n=void 0;"json"===t||"text"===t?n=l.responseText:"xml"===t?(n=l.responseXML)||(n=(new DOMParser).parseFromString(l.responseText,"application/xml")):"arraybuffer"===t&&(n=l.response),n?["4","5"].indexOf(mo.getOlVersion())>-1?s.call(this,r.readFeatures(n,{featureProjection:o}),r.readProjection(n),r.getLastExtent()):s.call(this,r.readFeatures(n,{extent:e,featureProjection:o}),r.readProjection(n)):i.call(this)}else i.call(this)}.bind(this),l.onerror=function(){i.call(this)}.bind(this),l.send()})}:function(e,t){var r=new RegExp("(^|\\?|&)width=([^&]*)(\\s|&|$)"),s=new RegExp("(^|\\?|&)height=([^&]*)(\\s|&|$)"),i=Number(t.match(r)[2]),n=Number(t.match(s)[2]);e.setLoader(function(r,s,a){Be.get(t).then(function(t){if(e.getFormat()instanceof Ko())return t.json()}).then(function(t){var s=[];if(e.getFormat()instanceof Ko()){t.recordsets.map(function(e){return e.features.map(function(e){for(var t=[],r=0,s=0;s<e.geometry.parts.length;s++){for(var i=2*e.geometry.parts[s],n=0,a=r;n<i;n+=2,a+=2)t.push(new oe(e.geometry.points[a],e.geometry.points[a+1]));r+=i}return e.geometry.points=t,e}),e}),t.recordsets.map(function(e){return e.features.map(function(t){return t.layerName=e.layerName,t.type=t.geometry.type,s.push(t),t}),e});let o=new(fo())({extent:[0,0,256,256],code:"TILE_PIXELS",units:"tile-pixels"});["4","5"].indexOf(mo.getOlVersion())>-1?(e.setExtent([0,0,i,n]),e.setProjection(o),s=e.getFormat().readFeatures(mo.toGeoJSON(s))):s=e.getFormat().readFeatures(mo.toGeoJSON(s),{extent:r,dataProjection:o,featureProjection:a}),e.setFeatures(s)}})})}),wrapX:void 0!==e.wrapX&&e.wrapX,tileSize:e.tileSize||null,zDirection:["4","5"].indexOf(mo.getOlVersion())>-1?null:0});var n=this;if(n.withCredentials=e.withCredentials,n._tileType=e.tileType||"ScaleXY",this.vectorTileStyles=new dh,e.format instanceof gh()&&e.style)if("[object String]"==Object.prototype.toString.call(e.style)){var a=je.appendCredential(e.style);Be.get(a,null,{withCredentials:e.withCredentials}).then(e=>e.json()).then(t=>{this._fillByStyleJSON(t,e.source),this.setState("ready")})}else this._fillByStyleJSON(e.style,e.source);else this._fillByRestMapOptions(e.url,e)}_fillByStyleJSON(e,t){if(t||(t=Object.keys(e.sources)[0]),e.sources&&e.sources[t]&&(this._tileUrl=je.appendCredential(e.sources[t].tiles[0])),e.metadata&&e.metadata.indexbounds){const t=e.metadata.indexbounds;var r=Math.max(t[2]-t[0],t[3]-t[1]);const s=[];for(let e=0;e<30;e++)s.push(r/512/Math.pow(2,e));this.tileGrid=new(qo())({extent:e.metadata.indexbounds,resolutions:s,tileSize:[512,512]})}}_fillByRestMapOptions(e,t){this._tileUrl=$.urlPathAppend(t.url,"tileFeature.json"),t.format instanceof gh()&&(this._tileUrl=$.urlPathAppend(t.url,"tileFeature.mvt")),this._tileUrl=je.appendCredential(this._tileUrl);var r=!0;void 0!==t.returnAttributes&&(r=t.returnAttributes);var s={};s.returnAttributes=r,void 0!==t._cache&&(s._cache=t._cache),void 0!==t.layersID&&(s.layersID=t.layersID),void 0!==t.layerNames&&(s.layerNames=t.layerNames),void 0!==t.expands&&(s.expands=t.expands),void 0!==t.compressTolerance&&(s.compressTolerance=t.compressTolerance),void 0!==t.coordinateType&&(s.coordinateType=t.coordinateType),void 0!==t.returnCutEdges&&(s.returnCutEdges=t.returnCutEdges),this._tileUrl=$.urlAppend(this._tileUrl,$.getParameterString(s))}static optionsFromMapJSON(e,t){var r={};r.url=e,r.crossOrigin="anonymous";var s=[t.bounds.left,t.bounds.bottom,t.bounds.right,t.bounds.top],i=function(){var e,r=s[2]-s[0],i=s[3]-s[1],n=r>=i?r:i;e=n===r?n/t.viewer.width:n/t.viewer.height;var a=[],o=l.METER;t.coordUnit===l.DEGREE&&(o=l.DEGREE);if(t.visibleScales.length>0){var h=function(e){var t=e.visibleScales;if(!t)return null;var r=e.viewBounds,s=e.coordUnit,i=e.viewer,n=e.scale,a=e.datumAxis;r=new se(r.left,r.bottom,r.right,r.top),i=new U(i.rightBottom.x,i.rightBottom.y),s=s.toLowerCase(),a=a||6378137;var o=s,l=$.calculateDpi(r,i,n,o,a),h=function(e){if(null===e)return;var t,r;r=e.length,t=[r];for(var s=0;s<r;s++)t[s]=$.getResolutionFromScaleDpi(e[s],l,o,a);return t}(t),u=h.length;t=[u];for(var c=0;c<u;c++)t[c]=$.getScaleFromResolutionDpi(h[c],l,o,a);return t}(t);for(let e=0;e<h.length;e++)a.push(mo.scaleToResolution(h[e],96,o))}else for(let t=0;t<17;t++)a.push(e/Math.pow(2,t));return a}();return r.tileGrid=new(qo())({extent:s,resolutions:i}),r}}class bh extends(Ll()){constructor(e,t){var r=t||{};function s(e,t,r,s,i){var n=s[0]*r,a=s[1]*r;if(this.rootCanvas.width=this.maxWidth=n,this.rootCanvas.height=this.maxHeight=a,!this.features)return this.rootCanvas;this.pixelRatio=r;var o=this.map.getSize()[0]*r,l=this.map.getSize()[1]*r;return this.offset=[(n-o)/2/r,(a-l)/2/r],this.updateHeatPoints(t),this.rootCanvas}if(super({attributions:r.attributions||"Map Data <span>© SuperMap iServer</span> with <span>© SuperMap iClient</span>",canvasFunction:s,logo:"4"===mo.getOlVersion()?r.logo:null,projection:r.projection,ratio:r.ratio,resolutions:r.resolutions,state:r.state}),this.canvasFunctionInternal_=s,this.features=[],this.name=e,!r.map)throw new Error("options.map is not found.");this.map=r.map,this.id=r.id?r.id:$.createUniqueID("HeatMapSource_"),this.opacity=r.opacity?r.opacity:1,this.colors=r.colors?r.colors:["blue","cyan","lime","yellow","red"],this.useGeoUnit=!!r.useGeoUnit&&r.useGeoUnit,this.radius=r.radius?r.radius:50,this.featureWeight=r.featureWeight?r.featureWeight:null,this.maxWeight=null,this.minWeight=null,this.maxWidth=null,this.maxHeight=null,this.rootCanvas=document.createElement("canvas");var i=this.map.getSize();this.rootCanvas.width=this.maxWidth=parseInt(i[0]),this.rootCanvas.height=this.maxHeight=parseInt(i[1]),$.modifyDOMElement(this.rootCanvas,null,null,null,null,null,null,this.opacity),this.canvasContext=this.rootCanvas.getContext("2d")}addFeatures(e){this.features=this.toiClientFeature(e),this.changed()}setOpacity(e){if(e!==this.opacity){this.opacity=e;var t=this.rootCanvas;$.modifyDOMElement(t,null,null,null,null,null,null,e),null!==this.map&&this.changed()}}updateHeatPoints(e){this.features&&this.features.length>0?this.convertFastToPixelPoints(e):this.canvasContext.clearRect(0,0,this.maxWidth,this.maxWidth)}convertFastToPixelPoints(e){var t,r,s,i,n,a,o=[];this.useRadius=this.useGeoUnit?parseInt(this.radius/e):this.radius;for(var l=0;l<this.features.length;l++){var h=this.features[l],u=h.geometry,c=this.getLocalXY(new re(u.x,u.y));this.featureWeight?(c.weight=h.attributes[this.featureWeight],this.maxWeight||(i=i||c.weight,n=n||c.weight,i=Math.max(i,c.weight),n=Math.min(n,c.weight))):c.weight=1,t=Math.floor(c[0]),r=Math.floor(c[1]),s=c.weight,o.push([t,r,s])}this.maxWeight?this.draw(o,this.maxWeight):(a=i&&n?(i+n)/2:1,this.draw(o,a))}draw(e,t){if(!(this.maxHeight>0&&this.maxWidth>0))return!1;var r=this.canvasContext;this.canvasContext.clearRect(0,0,this.maxWidth,this.maxHeight),this.drawCircle(this.useRadius),this.createGradient();for(var s=0;s<e.length;s++){var i=e[s];this.canvasContext.globalAlpha=Math.max(i[2]/t,.05),this.canvasContext.drawImage(this.circle,i[0]-this.useRadius,i[1]-this.useRadius)}var n=r.getImageData(0,0,this.maxWidth,this.maxHeight);this.colorize(n.data,this.grad),r.putImageData(n,0,0)}colorize(e,t){for(var r,s=0;s<e.length;s+=4)(r=4*e[s+3])&&(e[s]=t[r],e[s+1]=t[r+1],e[s+2]=t[r+2])}drawCircle(e){var t=e/2,r=this.circle=document.createElement("canvas"),s=r.getContext("2d");r.height=2*e,r.width=2*e,s.shadowOffsetX=s.shadowOffsetY=2*e,s.shadowBlur=t,s.shadowColor="#000000",s.beginPath(),s.arc(-e,-e,e/2,0,2*Math.PI,!0),s.closePath(),s.fill()}createGradient(){var e=this.colors,t=document.createElement("canvas"),r=t.getContext("2d"),s=r.createLinearGradient(0,0,0,256);t.height=256,t.width=1;for(var i=1,n=0,a=e.length;n<a;n++)s.addColorStop(i/a,e[n]),i++;r.fillStyle=s,r.fillRect(0,0,1,256),this.grad=r.getImageData(0,0,1,256).data}getLocalXY(e){var t,r=this.map;(e instanceof oe||e instanceof he)&&(t=r.getPixelFromCoordinate([e.x,e.y])),e instanceof re&&(t=r.getPixelFromCoordinate([e.lon,e.lat]));var s=-r.getView().getRotation(),i=r.getPixelFromCoordinate(r.getView().getCenter()),n=t;return this.pixelRatio&&(n=this.scale(t,i,this.pixelRatio)),t&&i&&(n=this.rotate(n,s,i)),this.offset&&n?[n[0]+this.offset[0],n[1]+this.offset[1]]:n}rotate(e,t,r){return[Math.cos(t)*(e[0]-r[0])-Math.sin(t)*(e[1]-r[1])+r[0],Math.sin(t)*(e[0]-r[0])+Math.cos(t)*(e[1]-r[1])+r[1]]}scale(e,t,r){return[(e[0]-t[0])*r+t[0],(e[1]-t[1])*r+t[1]]}removeFeatures(e){if(e&&0!==e.length&&this.features&&0!==this.features.length){if(e===this.features)return this.removeAllFeatures();$.isArray(e)||(e=[e]);for(var t,r,s=[],i=0,n=e.length;i<n;i++)t=e[i],-1!==(r=$.indexOf(this.features,t))?this.features.splice(r,1):s.push(t);var a=0==s.length;this.dispatchEvent({type:"featuresremoved",value:{features:s,succeed:a}}),this.changed()}}removeAllFeatures(){this.features=[],this.changed()}toiClientFeature(e){mo.isArray(e)||(e=[e]);let t,r,s=[];for(let i=0,n=e.length;i<n;i++)if(e[i]instanceof co())e[i].getGeometry()instanceof Sl()&&(t=new oe(e[i].getGeometry().getCoordinates()[0],e[i].getGeometry().getCoordinates()[1]),r=e[i].getProperties().Properties?e[i].getProperties().Properties:{},s.push(new xe(t,r)));else if(-1!=["FeatureCollection","Feature","Geometry"].indexOf(e[i].type)){let t=new Oe;s=s.concat(t.read(e[i]))}else{if(!e[i].geometry||!e[i].geometry.parts)throw new Error(`Features[${i}]'s type does not match, please check.`);s.push($s.fromJson(e[i]).toFeature())}return s}}!function(e){e[e.Unknown=0]="Unknown",e[e.Point=1]="Point",e[e.LineString=2]="LineString",e[e.Polygon=3]="Polygon",e[e.MultiPoint=4]="MultiPoint",e[e.MultiLineString=5]="MultiLineString",e[e.MultiPolygon=6]="MultiPolygon",e[e.GeometryCollection=7]="GeometryCollection",e[e.CircularString=8]="CircularString",e[e.CompoundCurve=9]="CompoundCurve",e[e.CurvePolygon=10]="CurvePolygon",e[e.MultiCurve=11]="MultiCurve",e[e.MultiSurface=12]="MultiSurface",e[e.Curve=13]="Curve",e[e.Surface=14]="Surface",e[e.PolyhedralSurface=15]="PolyhedralSurface",e[e.TIN=16]="TIN",e[e.Triangle=17]="Triangle"}(yh||(yh={}));var Sh=r(903);function xh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var _h,wh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.bb=null,this.bb_pos=0}var t,r,s;return t=e,s=[{key:"getRootAsGeometry",value:function(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"getSizePrefixedRootAsGeometry",value:function(t,r){return t.setPosition(t.position()+Sh.XU),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startGeometry",value:function(e){e.startObject(8)}},{key:"addEnds",value:function(e,t){e.addFieldOffset(0,t,0)}},{key:"createEndsVector",value:function(e,t){e.startVector(4,t.length,4);for(var r=t.length-1;r>=0;r--)e.addInt32(t[r]);return e.endVector()}},{key:"startEndsVector",value:function(e,t){e.startVector(4,t,4)}},{key:"addXy",value:function(e,t){e.addFieldOffset(1,t,0)}},{key:"createXyVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addFloat64(t[r]);return e.endVector()}},{key:"startXyVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addZ",value:function(e,t){e.addFieldOffset(2,t,0)}},{key:"createZVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addFloat64(t[r]);return e.endVector()}},{key:"startZVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addM",value:function(e,t){e.addFieldOffset(3,t,0)}},{key:"createMVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addFloat64(t[r]);return e.endVector()}},{key:"startMVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addT",value:function(e,t){e.addFieldOffset(4,t,0)}},{key:"createTVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addFloat64(t[r]);return e.endVector()}},{key:"startTVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addTm",value:function(e,t){e.addFieldOffset(5,t,0)}},{key:"createTmVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addInt64(t[r]);return e.endVector()}},{key:"startTmVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addType",value:function(e,t){e.addFieldInt8(6,t,yh.Unknown)}},{key:"addParts",value:function(e,t){e.addFieldOffset(7,t,0)}},{key:"createPartsVector",value:function(e,t){e.startVector(4,t.length,4);for(var r=t.length-1;r>=0;r--)e.addOffset(t[r]);return e.endVector()}},{key:"startPartsVector",value:function(e,t){e.startVector(4,t,4)}},{key:"endGeometry",value:function(e){return e.endObject()}},{key:"createGeometry",value:function(t,r,s,i,n,a,o,l,h){return e.startGeometry(t),e.addEnds(t,r),e.addXy(t,s),e.addZ(t,i),e.addM(t,n),e.addT(t,a),e.addTm(t,o),e.addType(t,l),e.addParts(t,h),e.endGeometry(t)}}],(r=[{key:"__init",value:function(e,t){return this.bb_pos=e,this.bb=t,this}},{key:"ends",value:function(e){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readUint32(this.bb.__vector(this.bb_pos+t)+4*e):0}},{key:"endsLength",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"endsArray",value:function(){var e=this.bb.__offset(this.bb_pos,4);return e?new Uint32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"xy",value:function(e){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat64(this.bb.__vector(this.bb_pos+t)+8*e):0}},{key:"xyLength",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"xyArray",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"z",value:function(e){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readFloat64(this.bb.__vector(this.bb_pos+t)+8*e):0}},{key:"zLength",value:function(){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"zArray",value:function(){var e=this.bb.__offset(this.bb_pos,8);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"m",value:function(e){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readFloat64(this.bb.__vector(this.bb_pos+t)+8*e):0}},{key:"mLength",value:function(){var e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"mArray",value:function(){var e=this.bb.__offset(this.bb_pos,10);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"t",value:function(e){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readFloat64(this.bb.__vector(this.bb_pos+t)+8*e):0}},{key:"tLength",value:function(){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"tArray",value:function(){var e=this.bb.__offset(this.bb_pos,12);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"tm",value:function(e){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readUint64(this.bb.__vector(this.bb_pos+t)+8*e):BigInt(0)}},{key:"tmLength",value:function(){var e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"type",value:function(){var e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readUint8(this.bb_pos+e):yh.Unknown}},{key:"parts",value:function(t,r){var s=this.bb.__offset(this.bb_pos,18);return s?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+s)+4*t),this.bb):null}},{key:"partsLength",value:function(){var e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}}])&&xh(t.prototype,r),s&&xh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Ch(e,t){for(var r=[],s=0;s<e.length;s+=2){var i=[e[s],e[s+1]];t&&i.push(t[s>>1]),r.push(i)}return r}function Th(e,t,r){if(!r||0===r.length)return[Ch(e,t)];var s,i=0,n=Array.from(r).map(function(t){return e.slice(i,i=t<<1)});return t&&(i=0,s=Array.from(r).map(function(e){return t.slice(i,i=e)})),n.map(function(e,t){return Ch(e,s?s[t]:void 0)})}function Mh(e,t){var r=t;if(r===yh.Unknown&&(r=e.type()),r===yh.GeometryCollection){for(var s=[],i=0;i<e.partsLength();i++){var n=e.parts(i),a=n.type();s.push(Mh(n,a))}return{type:yh[r],geometries:s}}if(r===yh.MultiPolygon){for(var o=[],l=0;l<e.partsLength();l++)o.push(Mh(e.parts(l),yh.Polygon));return{type:yh[r],coordinates:o.map(function(e){return e.coordinates})}}var h=function(e,t){var r=e.xyArray(),s=e.zArray();switch(t){case yh.Point:var i=Array.from(r);return s&&i.push(s[0]),i;case yh.MultiPoint:case yh.LineString:return Ch(r,s);case yh.MultiLineString:case yh.Polygon:return Th(r,s,e.endsArray())}}(e,r);return{type:yh[r],coordinates:h}}function Eh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}!function(e){e[e.Byte=0]="Byte",e[e.UByte=1]="UByte",e[e.Bool=2]="Bool",e[e.Short=3]="Short",e[e.UShort=4]="UShort",e[e.Int=5]="Int",e[e.UInt=6]="UInt",e[e.Long=7]="Long",e[e.ULong=8]="ULong",e[e.Float=9]="Float",e[e.Double=10]="Double",e[e.String=11]="String",e[e.Json=12]="Json",e[e.DateTime=13]="DateTime",e[e.Binary=14]="Binary"}(_h||(_h={}));var Ah=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.bb=null,this.bb_pos=0}var t,r,s;return t=e,s=[{key:"getRootAsColumn",value:function(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"getSizePrefixedRootAsColumn",value:function(t,r){return t.setPosition(t.position()+Sh.XU),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startColumn",value:function(e){e.startObject(11)}},{key:"addName",value:function(e,t){e.addFieldOffset(0,t,0)}},{key:"addType",value:function(e,t){e.addFieldInt8(1,t,_h.Byte)}},{key:"addTitle",value:function(e,t){e.addFieldOffset(2,t,0)}},{key:"addDescription",value:function(e,t){e.addFieldOffset(3,t,0)}},{key:"addWidth",value:function(e,t){e.addFieldInt32(4,t,-1)}},{key:"addPrecision",value:function(e,t){e.addFieldInt32(5,t,-1)}},{key:"addScale",value:function(e,t){e.addFieldInt32(6,t,-1)}},{key:"addNullable",value:function(e,t){e.addFieldInt8(7,+t,1)}},{key:"addUnique",value:function(e,t){e.addFieldInt8(8,+t,0)}},{key:"addPrimaryKey",value:function(e,t){e.addFieldInt8(9,+t,0)}},{key:"addMetadata",value:function(e,t){e.addFieldOffset(10,t,0)}},{key:"endColumn",value:function(e){var t=e.endObject();return e.requiredField(t,4),t}},{key:"createColumn",value:function(t,r,s,i,n,a,o,l,h,u,c,d){return e.startColumn(t),e.addName(t,r),e.addType(t,s),e.addTitle(t,i),e.addDescription(t,n),e.addWidth(t,a),e.addPrecision(t,o),e.addScale(t,l),e.addNullable(t,h),e.addUnique(t,u),e.addPrimaryKey(t,c),e.addMetadata(t,d),e.endColumn(t)}}],(r=[{key:"__init",value:function(e,t){return this.bb_pos=e,this.bb=t,this}},{key:"name",value:function(e){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"type",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):_h.Byte}},{key:"title",value:function(e){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"description",value:function(e){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"width",value:function(){var e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readInt32(this.bb_pos+e):-1}},{key:"precision",value:function(){var e=this.bb.__offset(this.bb_pos,14);return e?this.bb.readInt32(this.bb_pos+e):-1}},{key:"scale",value:function(){var e=this.bb.__offset(this.bb_pos,16);return e?this.bb.readInt32(this.bb_pos+e):-1}},{key:"nullable",value:function(){var e=this.bb.__offset(this.bb_pos,18);return!e||!!this.bb.readInt8(this.bb_pos+e)}},{key:"unique",value:function(){var e=this.bb.__offset(this.bb_pos,20);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"primaryKey",value:function(){var e=this.bb.__offset(this.bb_pos,22);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"metadata",value:function(e){var t=this.bb.__offset(this.bb_pos,24);return t?this.bb.__string(this.bb_pos+t,e):null}}])&&Eh(t.prototype,r),s&&Eh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Oh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var Ph=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.bb=null,this.bb_pos=0}var t,r,s;return t=e,s=[{key:"getRootAsFeature",value:function(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"getSizePrefixedRootAsFeature",value:function(t,r){return t.setPosition(t.position()+Sh.XU),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startFeature",value:function(e){e.startObject(3)}},{key:"addGeometry",value:function(e,t){e.addFieldOffset(0,t,0)}},{key:"addProperties",value:function(e,t){e.addFieldOffset(1,t,0)}},{key:"createPropertiesVector",value:function(e,t){e.startVector(1,t.length,1);for(var r=t.length-1;r>=0;r--)e.addInt8(t[r]);return e.endVector()}},{key:"startPropertiesVector",value:function(e,t){e.startVector(1,t,1)}},{key:"addColumns",value:function(e,t){e.addFieldOffset(2,t,0)}},{key:"createColumnsVector",value:function(e,t){e.startVector(4,t.length,4);for(var r=t.length-1;r>=0;r--)e.addOffset(t[r]);return e.endVector()}},{key:"startColumnsVector",value:function(e,t){e.startVector(4,t,4)}},{key:"endFeature",value:function(e){return e.endObject()}},{key:"finishFeatureBuffer",value:function(e,t){e.finish(t)}},{key:"finishSizePrefixedFeatureBuffer",value:function(e,t){e.finish(t,void 0,!0)}},{key:"createFeature",value:function(t,r,s,i){return e.startFeature(t),e.addGeometry(t,r),e.addProperties(t,s),e.addColumns(t,i),e.endFeature(t)}}],(r=[{key:"__init",value:function(e,t){return this.bb_pos=e,this.bb=t,this}},{key:"geometry",value:function(e){var t=this.bb.__offset(this.bb_pos,4);return t?(e||new wh).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}},{key:"properties",value:function(e){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb.__vector(this.bb_pos+t)+e):0}},{key:"propertiesLength",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"propertiesArray",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?new Uint8Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"columns",value:function(e,t){var r=this.bb.__offset(this.bb_pos,8);return r?(t||new Ah).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"columnsLength",value:function(){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}}])&&Oh(t.prototype,r),s&&Oh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Lh=(new TextEncoder,new TextDecoder);function Ih(e,t){var r={};if(!t||0===t.length)return r;var s=e.propertiesArray();if(!s)return r;for(var i=new DataView(s.buffer,s.byteOffset),n=e.propertiesLength(),a=0;a<n;){var o=i.getUint16(a,!0);a+=2;var l=t[o],h=l.name;switch(l.type){case _h.Bool:r[h]=!!i.getUint8(a),a+=1;break;case _h.Byte:r[h]=i.getInt8(a),a+=1;break;case _h.UByte:r[h]=i.getUint8(a),a+=1;break;case _h.Short:r[h]=i.getInt16(a,!0),a+=2;break;case _h.UShort:r[h]=i.getUint16(a,!0),a+=2;break;case _h.Int:r[h]=i.getInt32(a,!0),a+=4;break;case _h.UInt:r[h]=i.getUint32(a,!0),a+=4;break;case _h.Long:r[h]=Number(i.getBigInt64(a,!0)),a+=8;break;case _h.ULong:r[h]=Number(i.getBigUint64(a,!0)),a+=8;break;case _h.Float:r[h]=i.getFloat32(a,!0),a+=4;break;case _h.Double:r[h]=i.getFloat64(a,!0),a+=8;break;case _h.DateTime:case _h.String:var u=i.getUint32(a,!0);a+=4,r[h]=Lh.decode(s.subarray(a,a+u)),a+=u;break;case _h.Json:var c=i.getUint32(a,!0);a+=4;var d=Lh.decode(s.subarray(a,a+c));r[h]=JSON.parse(d),a+=c;break;default:throw new Error("Unknown type "+l.type)}}return r}function Nh(e,t){var r=t.columns;return{type:"Feature",geometry:Mh(e.geometry(),t.geometryType),properties:Ih(e,r)}}var Fh=r(901);function kh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var Rh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.bb=null,this.bb_pos=0}var t,r,s;return t=e,s=[{key:"getRootAsCrs",value:function(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"getSizePrefixedRootAsCrs",value:function(t,r){return t.setPosition(t.position()+Sh.XU),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startCrs",value:function(e){e.startObject(6)}},{key:"addOrg",value:function(e,t){e.addFieldOffset(0,t,0)}},{key:"addCode",value:function(e,t){e.addFieldInt32(1,t,0)}},{key:"addName",value:function(e,t){e.addFieldOffset(2,t,0)}},{key:"addDescription",value:function(e,t){e.addFieldOffset(3,t,0)}},{key:"addWkt",value:function(e,t){e.addFieldOffset(4,t,0)}},{key:"addCodeString",value:function(e,t){e.addFieldOffset(5,t,0)}},{key:"endCrs",value:function(e){return e.endObject()}},{key:"createCrs",value:function(t,r,s,i,n,a,o){return e.startCrs(t),e.addOrg(t,r),e.addCode(t,s),e.addName(t,i),e.addDescription(t,n),e.addWkt(t,a),e.addCodeString(t,o),e.endCrs(t)}}],(r=[{key:"__init",value:function(e,t){return this.bb_pos=e,this.bb=t,this}},{key:"org",value:function(e){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"code",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb_pos+e):0}},{key:"name",value:function(e){var t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"description",value:function(e){var t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"wkt",value:function(e){var t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"codeString",value:function(e){var t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__string(this.bb_pos+t,e):null}}])&&kh(t.prototype,r),s&&kh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Dh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var Gh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.bb=null,this.bb_pos=0}var t,r,s;return t=e,s=[{key:"getRootAsHeader",value:function(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"getSizePrefixedRootAsHeader",value:function(t,r){return t.setPosition(t.position()+Sh.XU),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}},{key:"startHeader",value:function(e){e.startObject(14)}},{key:"addName",value:function(e,t){e.addFieldOffset(0,t,0)}},{key:"addEnvelope",value:function(e,t){e.addFieldOffset(1,t,0)}},{key:"createEnvelopeVector",value:function(e,t){e.startVector(8,t.length,8);for(var r=t.length-1;r>=0;r--)e.addFloat64(t[r]);return e.endVector()}},{key:"startEnvelopeVector",value:function(e,t){e.startVector(8,t,8)}},{key:"addGeometryType",value:function(e,t){e.addFieldInt8(2,t,yh.Unknown)}},{key:"addHasZ",value:function(e,t){e.addFieldInt8(3,+t,0)}},{key:"addHasM",value:function(e,t){e.addFieldInt8(4,+t,0)}},{key:"addHasT",value:function(e,t){e.addFieldInt8(5,+t,0)}},{key:"addHasTm",value:function(e,t){e.addFieldInt8(6,+t,0)}},{key:"addColumns",value:function(e,t){e.addFieldOffset(7,t,0)}},{key:"createColumnsVector",value:function(e,t){e.startVector(4,t.length,4);for(var r=t.length-1;r>=0;r--)e.addOffset(t[r]);return e.endVector()}},{key:"startColumnsVector",value:function(e,t){e.startVector(4,t,4)}},{key:"addFeaturesCount",value:function(e,t){e.addFieldInt64(8,t,BigInt("0"))}},{key:"addIndexNodeSize",value:function(e,t){e.addFieldInt16(9,t,16)}},{key:"addCrs",value:function(e,t){e.addFieldOffset(10,t,0)}},{key:"addTitle",value:function(e,t){e.addFieldOffset(11,t,0)}},{key:"addDescription",value:function(e,t){e.addFieldOffset(12,t,0)}},{key:"addMetadata",value:function(e,t){e.addFieldOffset(13,t,0)}},{key:"endHeader",value:function(e){return e.endObject()}},{key:"finishHeaderBuffer",value:function(e,t){e.finish(t)}},{key:"finishSizePrefixedHeaderBuffer",value:function(e,t){e.finish(t,void 0,!0)}}],(r=[{key:"__init",value:function(e,t){return this.bb_pos=e,this.bb=t,this}},{key:"name",value:function(e){var t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"envelope",value:function(e){var t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readFloat64(this.bb.__vector(this.bb_pos+t)+8*e):0}},{key:"envelopeLength",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"envelopeArray",value:function(){var e=this.bb.__offset(this.bb_pos,6);return e?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+e),this.bb.__vector_len(this.bb_pos+e)):null}},{key:"geometryType",value:function(){var e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):yh.Unknown}},{key:"hasZ",value:function(){var e=this.bb.__offset(this.bb_pos,10);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"hasM",value:function(){var e=this.bb.__offset(this.bb_pos,12);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"hasT",value:function(){var e=this.bb.__offset(this.bb_pos,14);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"hasTm",value:function(){var e=this.bb.__offset(this.bb_pos,16);return!!e&&!!this.bb.readInt8(this.bb_pos+e)}},{key:"columns",value:function(e,t){var r=this.bb.__offset(this.bb_pos,18);return r?(t||new Ah).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+4*e),this.bb):null}},{key:"columnsLength",value:function(){var e=this.bb.__offset(this.bb_pos,18);return e?this.bb.__vector_len(this.bb_pos+e):0}},{key:"featuresCount",value:function(){var e=this.bb.__offset(this.bb_pos,20);return e?this.bb.readUint64(this.bb_pos+e):BigInt("0")}},{key:"indexNodeSize",value:function(){var e=this.bb.__offset(this.bb_pos,22);return e?this.bb.readUint16(this.bb_pos+e):16}},{key:"crs",value:function(e){var t=this.bb.__offset(this.bb_pos,24);return t?(e||new Rh).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}},{key:"title",value:function(e){var t=this.bb.__offset(this.bb_pos,26);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"description",value:function(e){var t=this.bb.__offset(this.bb_pos,28);return t?this.bb.__string(this.bb_pos+t,e):null}},{key:"metadata",value:function(e){var t=this.bb.__offset(this.bb_pos,30);return t?this.bb.__string(this.bb_pos+t,e):null}}])&&Dh(t.prototype,r),s&&Dh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Bh(e){for(var t=Gh.getRootAsHeader(e),r=t.featuresCount(),s=t.indexNodeSize(),i=[],n=0;n<t.columnsLength();n++){var a=t.columns(n);if(!a)throw new Error("Column unexpectedly missing");if(!a.name())throw new Error("Column name unexpectedly missing");i.push({name:a.name(),type:a.type(),title:a.title(),description:a.description(),width:a.width(),precision:a.precision(),scale:a.scale(),nullable:a.nullable(),unique:a.unique(),primary_key:a.primaryKey()})}var o=t.crs(),l=o?{org:o.org(),code:o.code(),name:o.name(),description:o.description(),wkt:o.wkt(),code_string:o.codeString()}:null;return{geometryType:t.geometryType(),columns:i,envelope:null,featuresCount:Number(r),indexNodeSize:s,crs:l,title:t.title(),description:t.description(),metadata:t.metadata()}}var jh=r(982);function Uh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}var Vh,zh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._extraRequestThreshold=262144}var t,r,s;return t=e,(r=[{key:"extraRequestThreshold",value:function(){return this._extraRequestThreshold}},{key:"setExtraRequestThreshold",value:function(e){if(e<0)throw new Error("extraRequestThreshold cannot be negative");this._extraRequestThreshold=e}}])&&Uh(t.prototype,r),s&&Uh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Jh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}zh.global=new zh,function(e){e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error"}(Vh||(Vh={}));var qh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,s;return t=e,s=[{key:"debug",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log.apply(this,[Vh.Debug].concat(t))}},{key:"info",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log.apply(this,[Vh.Info].concat(t))}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log.apply(this,[Vh.Warn].concat(t))}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log.apply(this,[Vh.Error].concat(t))}},{key:"log",value:function(e){if(!(this.logLevel>e)){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];switch(e){case Vh.Debug:var i;(i=console).debug.apply(i,r);break;case Vh.Info:var n;(n=console).info.apply(n,r);break;case Vh.Warn:var a;(a=console).warn.apply(a,r);break;case Vh.Error:var o;(o=console).error.apply(o,r)}}}}],(r=null)&&Jh(t.prototype,r),s&&Jh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}();function Hh(e){"@babel/helpers - typeof";return(Hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wh(){Wh=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",n=s.asyncIterator||"@@asyncIterator",a=s.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function l(e,t,r,s){var i=t&&t.prototype instanceof c?t:c,n=Object.create(i.prototype),a=new w(s||[]);return n._invoke=function(e,t,r){var s="suspendedStart";return function(i,n){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===i)throw n;return T()}for(r.method=i,r.arg=n;;){var a=r.delegate;if(a){var o=S(a,r);if(o){if(o===u)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===s)throw s="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);s="executing";var l=h(e,t,r);if("normal"===l.type){if(s=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(s="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),n}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function c(){}function d(){}function p(){}var f={};o(f,i,function(){return this});var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&r.call(y,i)&&(f=y);var g=p.prototype=c.prototype=Object.create(f);function v(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function b(e,t){var s;this._invoke=function(i,n){function a(){return new t(function(s,a){!function s(i,n,a,o){var l=h(e[i],e,n);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==Hh(c)&&r.call(c,"__await")?t.resolve(c.__await).then(function(e){s("next",e,a,o)},function(e){s("throw",e,a,o)}):t.resolve(c).then(function(e){u.value=e,a(u)},function(e){return s("throw",e,a,o)})}o(l.arg)}(i,n,s,a)})}return s=s?s.then(a,a):a()}}function S(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var s=h(r,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,u;var i=s.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,n=function t(){for(;++s<e.length;)if(r.call(e,s))return t.value=e[s],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:T}}function T(){return{value:void 0,done:!0}}return d.prototype=p,o(g,"constructor",p),o(p,"constructor",d),d.displayName=o(p,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,o(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(b.prototype),o(b.prototype,n,function(){return this}),e.AsyncIterator=b,e.async=function(t,r,s,i,n){void 0===n&&(n=Promise);var a=new b(l(t,r,s,i),n);return e.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},v(g),o(g,a,"Generator"),o(g,i,function(){return this}),o(g,"toString",function(){return"[object Generator]"}),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var s=t.pop();if(s in e)return r.value=s,r.done=!1,r}return r.done=!0,r}},e.values=C,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function s(r,s){return a.type="throw",a.arg=e,t.next=r,s&&(t.method="next",t.arg=void 0),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],a=n.completion;if("root"===n.tryLoc)return s("end");if(n.tryLoc<=this.prev){var o=r.call(n,"catchLoc"),l=r.call(n,"finallyLoc");if(o&&l){if(this.prev<n.catchLoc)return s(n.catchLoc,!0);if(this.prev<n.finallyLoc)return s(n.finallyLoc)}else if(o){if(this.prev<n.catchLoc)return s(n.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return s(n.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var i=this.tryEntries[s];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var n=i;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=t&&t<=n.finallyLoc&&(n=null);var a=n?n.completion:{};return a.type=e,a.arg=t,n?(this.method="next",this.next=n.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var s=r.completion;if("throw"===s.type){var i=s.arg;_(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}function Yh(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var s,i,n=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(s=r.next()).done)&&(n.push(s.value),!t||n.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Xh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xh(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,s=new Array(t);r<t;r++)s[r]=e[r];return s}function Qh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zh(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function Kh(e){var t,r;function s(t,r){try{var n=e[t](r),a=n.value,o=a instanceof $h;Promise.resolve(o?a.v:a).then(function(r){if(o){var l="return"===t?"return":"next";if(!a.k||r.done)return s(l,r);r=e[l](r).value}i(n.done?"return":"normal",r)},function(e){s("throw",e)})}catch(e){i("throw",e)}}function i(e,i){switch(e){case"return":t.resolve({value:i,done:!0});break;case"throw":t.reject(i);break;default:t.resolve({value:i,done:!1})}(t=t.next)?s(t.key,t.arg):r=null}this._invoke=function(e,i){return new Promise(function(n,a){var o={key:e,arg:i,resolve:n,reject:a,next:null};r?r=r.next=o:(t=r=o,s(e,i))})},"function"!=typeof e.return&&(this.return=void 0)}function $h(e,t){this.v=e,this.k=t}qh.logLevel=Vh.Info,Kh.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Kh.prototype.next=function(e){return this._invoke("next",e)},Kh.prototype.throw=function(e){return this._invoke("throw",e)},Kh.prototype.return=function(e){return this._invoke("return",e)};var eu=40;function tu(e,t){t=Math.min(Math.max(+t,2),65535);var r=e,s=r;do{s+=r=Math.ceil(r/t)}while(1!==r);return s*eu}function ru(e,t){if(t<2)throw new Error("Node size must be at least 2");if(0===e)throw new Error("Number of items must be greater than 0");var r=e,s=r,i=[r];do{s+=r=Math.ceil(r/t),i.push(r)}while(1!==r);var n=[];r=s;for(var a=0,o=i;a<o.length;a++){var l=o[a];n.push(r-l),r-=l}n.reverse(),i.reverse();for(var h=[],u=0;u<i.length;u++)h.push([n[u],n[u]+i[u]]);return h.reverse(),h}function su(e,t,r,s){return iu.apply(this,arguments)}function iu(){var e;return e=Wh().mark(function e(t,r,s,i){var n,a,o,l,h,u,c,d,p,f;return Wh().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=function(){function e(t,r){Qh(this,e),this._level=r,this.nodes=t}var t,r,s;return t=e,(r=[{key:"level",value:function(){return this._level}},{key:"startNode",value:function(){return this.nodes[0]}},{key:"endNode",value:function(){return this.nodes[1]}},{key:"extendEndNodeToNewOffset",value:function(e){console.assert(e>this.nodes[1]),this.nodes[1]=e}},{key:"toString",value:function(){return"[NodeRange level: ".concat(this._level,", nodes: ").concat(this.nodes[0],"-").concat(this.nodes[1],"]")}}])&&Zh(t.prototype,r),s&&Zh(t,s),Object.defineProperty(t,"prototype",{writable:!1}),e}(),a=s.minX,o=s.minY,l=s.maxX,h=s.maxY,qh.info("tree items: ".concat(t,", nodeSize: ").concat(r)),u=ru(t,r),c=u[0][0],void 0,m=u.length-1,d=new n([0,1],m),p=[d],qh.debug("starting stream search with queue: ".concat(p,", numItems: ").concat(t,", nodeSize: ").concat(r,", levelBounds: ").concat(u)),f=Wh().mark(function e(){var s,d,f,m,y,g,v,b,S,x,_,w;return Wh().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=p.shift(),qh.debug("popped node: ".concat(s,", queueLength: ").concat(p.length)),d=s.startNode(),f=d>=c,m=Yh(u[s.level()],2),y=m[1],g=Math.min(s.endNode()+r,y),v=g-d,e.next=9,new $h(i(d*eu,v*eu),0);case 9:b=e.sent,S=new Float64Array(b),x=new Uint32Array(b),_=Wh().mark(function e(r){var i,u,m,y,g,v,b,_;return Wh().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(l<S[(i=5*(r-d))+0])){e.next=3;break}return e.abrupt("return","continue");case 3:if(!(h<S[i+1])){e.next=5;break}return e.abrupt("return","continue");case 5:if(!(a>S[i+2])){e.next=7;break}return e.abrupt("return","continue");case 7:if(!(o>S[i+3])){e.next=9;break}return e.abrupt("return","continue");case 9:if(u=x[8+(i<<1)],m=x[9+(i<<1)],y=nu(m,u),!f){e.next=17;break}return g=function(){if(r<t-1){var e=5*(r-d+1),s=x[8+(e<<1)];return nu(x[9+(e<<1)],s)-y}return null}(),e.next=16,[y,r-c,g];case 16:return e.abrupt("return","continue");case 17:if(v=zh.global.extraRequestThreshold()/eu,!(void 0!==(b=p[p.length-1])&&b.level()==s.level()-1&&y<b.endNode()+v)){e.next=23;break}return qh.debug('Merging "nodeRange" request into existing range: '.concat(b,", newOffset: ").concat(b.endNode()," -> ").concat(y)),b.extendEndNodeToNewOffset(y),e.abrupt("return","continue");case 23:void 0,w=s.level()-1,_=new n([y,y+1],w),void 0!==b&&b.level()==_.level()?qh.info("Same level, but too far away. Pushing new request at offset: ".concat(y," rather than merging with distant ").concat(b)):qh.info("Pushing new level for ".concat(_," onto queue with nearestNodeRange: ").concat(b," since there's not already a range for this level.")),p.push(_);case 26:case"end":return e.stop()}var w},e)}),w=d;case 14:if(!(w<g)){e.next=22;break}return e.delegateYield(_(w),"t0",16);case 16:if("continue"!==e.t0){e.next=19;break}return e.abrupt("continue",19);case 19:w++,e.next=14;break;case 22:case"end":return e.stop()}},e)});case 9:if(0==p.length){e.next=13;break}return e.delegateYield(f(),"t0",11);case 11:e.next=9;break;case 13:case"end":return e.stop()}var m},e)}),(iu=function(){return new Kh(e.apply(this,arguments))}).apply(this,arguments)}function nu(e,t){if(0!=(4293918720&e))throw Error("integer is too large to be safely represented");return t+e*Math.pow(2,32)}var au=new Uint8Array([102,103,98,3,102,103,98,0]),ou=4;function lu(e){"@babel/helpers - typeof";return(lu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hu(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=cu(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var s=0,i=function(){};return{s:i,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,a=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){o=!0,n=e},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw n}}}}function uu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var s,i,n=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(s=r.next()).done)&&(n.push(s.value),!t||n.length!==t);a=!0);}catch(e){o=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw i}}return n}(e,t)||cu(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cu(e,t){if(e){if("string"==typeof e)return du(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?du(e,t):void 0}}function du(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,s=new Array(t);r<t;r++)s[r]=e[r];return s}function pu(){pu=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",n=s.asyncIterator||"@@asyncIterator",a=s.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function l(e,t,r,s){var i=t&&t.prototype instanceof c?t:c,n=Object.create(i.prototype),a=new w(s||[]);return n._invoke=function(e,t,r){var s="suspendedStart";return function(i,n){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===i)throw n;return T()}for(r.method=i,r.arg=n;;){var a=r.delegate;if(a){var o=S(a,r);if(o){if(o===u)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===s)throw s="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);s="executing";var l=h(e,t,r);if("normal"===l.type){if(s=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(s="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),n}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function c(){}function d(){}function p(){}var f={};o(f,i,function(){return this});var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&r.call(y,i)&&(f=y);var g=p.prototype=c.prototype=Object.create(f);function v(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function b(e,t){var s;this._invoke=function(i,n){function a(){return new t(function(s,a){!function s(i,n,a,o){var l=h(e[i],e,n);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==lu(c)&&r.call(c,"__await")?t.resolve(c.__await).then(function(e){s("next",e,a,o)},function(e){s("throw",e,a,o)}):t.resolve(c).then(function(e){u.value=e,a(u)},function(e){return s("throw",e,a,o)})}o(l.arg)}(i,n,s,a)})}return s=s?s.then(a,a):a()}}function S(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var s=h(r,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,u;var i=s.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,n=function t(){for(;++s<e.length;)if(r.call(e,s))return t.value=e[s],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:T}}function T(){return{value:void 0,done:!0}}return d.prototype=p,o(g,"constructor",p),o(p,"constructor",d),d.displayName=o(p,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,o(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(b.prototype),o(b.prototype,n,function(){return this}),e.AsyncIterator=b,e.async=function(t,r,s,i,n){void 0===n&&(n=Promise);var a=new b(l(t,r,s,i),n);return e.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},v(g),o(g,a,"Generator"),o(g,i,function(){return this}),o(g,"toString",function(){return"[object Generator]"}),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var s=t.pop();if(s in e)return r.value=s,r.done=!1,r}return r.done=!0,r}},e.values=C,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function s(r,s){return a.type="throw",a.arg=e,t.next=r,s&&(t.method="next",t.arg=void 0),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],a=n.completion;if("root"===n.tryLoc)return s("end");if(n.tryLoc<=this.prev){var o=r.call(n,"catchLoc"),l=r.call(n,"finallyLoc");if(o&&l){if(this.prev<n.catchLoc)return s(n.catchLoc,!0);if(this.prev<n.finallyLoc)return s(n.finallyLoc)}else if(o){if(this.prev<n.catchLoc)return s(n.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return s(n.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var i=this.tryEntries[s];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var n=i;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=t&&t<=n.finallyLoc&&(n=null);var a=n?n.completion:{};return a.type=e,a.arg=t,n?(this.method="next",this.next=n.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var s=r.completion;if("throw"===s.type){var i=s.arg;_(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}function fu(e,t,r,s,i,n,a){try{var o=e[n](a),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(s,i)}function mu(e){return function(){var t=this,r=arguments;return new Promise(function(s,i){var n=e.apply(t,r);function a(e){fu(n,s,i,a,o,"next",e)}function o(e){fu(n,s,i,a,o,"throw",e)}a(void 0)})}}function yu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gu(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function vu(e,t,r){return t&&gu(e.prototype,t),r&&gu(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function bu(e){return function(){return new Su(e.apply(this,arguments))}}function Su(e){var t,r;function s(t,r){try{var n=e[t](r),a=n.value,o=a instanceof wu;Promise.resolve(o?a.v:a).then(function(r){if(o){var l="return"===t?"return":"next";if(!a.k||r.done)return s(l,r);r=e[l](r).value}i(n.done?"return":"normal",r)},function(e){s("throw",e)})}catch(e){i("throw",e)}}function i(e,i){switch(e){case"return":t.resolve({value:i,done:!0});break;case"throw":t.reject(i);break;default:t.resolve({value:i,done:!1})}(t=t.next)?s(t.key,t.arg):r=null}this._invoke=function(e,i){return new Promise(function(n,a){var o={key:e,arg:i,resolve:n,reject:a,next:null};r?r=r.next=o:(t=r=o,s(e,i))})},"function"!=typeof e.return&&(this.return=void 0)}function xu(e){return new wu(e,0)}function _u(e){var t={},r=!1;function s(t,s){return r=!0,{done:!1,value:new wu(s=new Promise(function(r){r(e[t](s))}),1)}}return t["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},t.next=function(e){return r?(r=!1,e):s("next",e)},"function"==typeof e.throw&&(t.throw=function(e){if(r)throw r=!1,e;return s("throw",e)}),"function"==typeof e.return&&(t.return=function(e){return r?(r=!1,e):s("return",e)}),t}function wu(e,t){this.v=e,this.k=t}function Cu(e){var t,r,s,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,s=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(s&&null!=(t=e[s]))return new Tu(t.call(e));r="@@asyncIterator",s="@@iterator"}throw new TypeError("Object is not async iterable")}function Tu(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return(Tu=function(e){this.s=e,this.n=e.next}).prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new Tu(e)}Su.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Su.prototype.next=function(e){return this._invoke("next",e)},Su.prototype.throw=function(e){return this._invoke("throw",e)},Su.prototype.return=function(e){return this._invoke("return",e)};var Mu=function(){function e(t,r,s,i){yu(this,e),this.headerClient=t,this.header=r,this.headerLength=s,this.indexLength=i}return vu(e,[{key:"selectBbox",value:function(e){var t=this;return bu(pu().mark(function r(){var s,i,n,a,o,l,h,u,c,d,p,f,m,y,g,v,b,S,x;return pu().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:s=t.lengthBeforeTree(),i=t.headerClient,n=function(){var e=mu(pu().mark(function e(t,r){var n;return pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=0,e.abrupt("return",i.getRange(s+t,r,n,"index"));case 2:case"end":return e.stop()}},e)}));return function(t,r){return e.apply(this,arguments)}}(),a=[],o=[],l=!1,h=!1,r.prev=7,c=Cu(su(t.header.featuresCount,t.header.indexNodeSize,e,n));case 9:return r.next=11,xu(c.next());case 11:if(!(l=!(d=r.sent).done)){r.next=26;break}if(p=d.value,f=uu(p,2),m=f[0],y=uu(p,3),(g=y[2])||(qh.info("final feature"),v=zh.global.extraRequestThreshold(),g=v),0!=o.length){r.next=19;break}return o.push([m,g]),r.abrupt("continue",23);case 19:b=o[o.length-1],(S=m-(b[0]+b[1]))>zh.global.extraRequestThreshold()&&(qh.info("Pushing new feature batch, since gap ".concat(S," was too large")),a.push(o),o=[]),o.push([m,g]);case 23:l=!1,r.next=9;break;case 26:r.next=32;break;case 28:r.prev=28,r.t0=r.catch(7),h=!0,u=r.t0;case 32:if(r.prev=32,r.prev=33,!l||null==c.return){r.next=37;break}return r.next=37,xu(c.return());case 37:if(r.prev=37,!h){r.next=40;break}throw u;case 40:return r.finish(37);case 41:return r.finish(32);case 42:return t.headerClient.logUsage("header+index"),o.length>0&&a.push(o),x=a.flatMap(function(e){return t.readFeatureBatch(e)}),r.delegateYield(_u(Cu(jh.ZN.merge(x))),"t1",46);case 46:case"end":return r.stop()}},r,null,[[7,28,32,42],[33,,37,41]])}))()}},{key:"lengthBeforeTree",value:function(){return au.length+ou+this.headerLength}},{key:"lengthBeforeFeatures",value:function(){return this.lengthBeforeTree()+this.indexLength}},{key:"buildFeatureClient",value:function(){return new Eu(this.headerClient.httpClient)}},{key:"readFeatureBatch",value:function(e){var t=this;return bu(pu().mark(function r(){var s,i,n,a,o,l,h,u,c,d,p;return pu().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:s=uu(e[0],1),i=s[0],n=uu(e[e.length-1],2),a=n[0],o=n[1],l=a+o-i,h=t.buildFeatureClient(),u=hu(e),r.prev=7,u.s();case 9:if((c=u.n()).done){r.next=17;break}return d=uu(c.value,1),p=d[0],r.next=13,xu(t.readFeature(h,p,l));case 13:return r.next=15,r.sent;case 15:r.next=9;break;case 17:r.next=22;break;case 19:r.prev=19,r.t0=r.catch(7),u.e(r.t0);case 22:return r.prev=22,u.f(),r.finish(22);case 25:h.logUsage("feature");case 26:case"end":return r.stop()}},r,null,[[7,19,22,25]])}))()}},{key:"readFeature",value:function(){var e=mu(pu().mark(function e(t,r,s){var i,n,a,o,l,h,u;return pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=r+this.lengthBeforeFeatures(),e.next=3,t.getRange(i,4,s,"feature length");case 3:return a=e.sent,n=new DataView(a).getUint32(0,!0),e.next=7,t.getRange(i+4,n,s,"feature data");case 7:return o=e.sent,l=new Uint8Array(o),(h=new Uint8Array(n+ou)).set(l,ou),(u=new Sh.cZ(h)).setPosition(ou),e.abrupt("return",Ph.getRootAsFeature(u));case 14:case"end":return e.stop()}},e,this)}));return function(t,r,s){return e.apply(this,arguments)}}()}],[{key:"open",value:function(){var t=mu(pu().mark(function t(r){var s,i,n,a,o,l,h,u,c,d,p;return pu().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s=2024,i=new Eu(r),n=function(){var e,t=0;for(e=0;e<3;e++){t+=Math.pow(16,e)*eu}return t}(),a=s+n,qh.debug("fetching header. minReqLength: ".concat(a," (assumedHeaderLength: ").concat(s,", assumedIndexLength: ").concat(n,")")),t.t0=Uint8Array,t.next=8,i.getRange(0,8,a,"header");case 8:if(t.t1=t.sent,(o=new t.t0(t.t1)).subarray(0,3).every(function(e,t){return au[t]===e})){t.next=13;break}throw qh.error("bytes: ".concat(o," != ").concat(au)),new Error("Not a FlatGeobuf file");case 13:return qh.debug("magic bytes look good"),t.next=16,i.getRange(8,4,a,"header");case 16:if(h=t.sent,!((l=new DataView(h).getUint32(0,!0))>10485760||l<8)){t.next=21;break}throw new Error("Invalid header size");case 21:return qh.debug("headerLength: ".concat(l)),t.next=24,i.getRange(12,l,a,"header");case 24:return u=t.sent,c=new Sh.cZ(new Uint8Array(u)),d=Bh(c),p=tu(d.featuresCount,d.indexNodeSize),qh.debug("completed: opening http reader"),t.abrupt("return",new e(i,d,l,p));case 30:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()}]),e}(),Eu=function(){function e(t){yu(this,e),this.bytesEverUsed=0,this.bytesEverFetched=0,this.buffer=new ArrayBuffer(0),this.head=0,this.httpClient="string"==typeof t?new Au(t):t}return vu(e,[{key:"getRange",value:function(){var e=mu(pu().mark(function e(t,r,s,i){var n,a,o;return pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.bytesEverUsed+=r,n=t-this.head,a=n+r,!(n>=0&&a<=this.buffer.byteLength)){e.next=5;break}return e.abrupt("return",this.buffer.slice(n,a));case 5:return o=Math.max(r,s),this.bytesEverFetched+=o,qh.debug("requesting for new Range: ".concat(t,"-").concat(t+r-1)),e.next=10,this.httpClient.getRange(t,o,i);case 10:return this.buffer=e.sent,this.head=t,e.abrupt("return",this.buffer.slice(0,r));case 13:case"end":return e.stop()}},e,this)}));return function(t,r,s,i){return e.apply(this,arguments)}}()},{key:"logUsage",value:function(e){var t=e.split(" ")[0],r=this.bytesEverUsed,s=this.bytesEverFetched,i=(100*r/s).toFixed(2);qh.info("".concat(t," bytes used/requested: ").concat(r," / ").concat(s," = ").concat(i,"%"))}}]),e}(),Au=function(){function e(t){yu(this,e),this.requestsEverMade=0,this.bytesEverRequested=0,this.url=t}return vu(e,[{key:"getRange",value:function(){var e=mu(pu().mark(function e(t,r,s){var i,n;return pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.requestsEverMade+=1,this.bytesEverRequested+=r,i="bytes=".concat(t,"-").concat(t+r-1),qh.info("request: #".concat(this.requestsEverMade,", purpose: ").concat(s,"), bytes: (this_request: ").concat(r,", ever: ").concat(this.bytesEverRequested,"), Range: ").concat(i)),e.next=6,fetch(this.url,{headers:{Range:i}});case 6:return n=e.sent,e.abrupt("return",n.arrayBuffer());case 8:case"end":return e.stop()}},e,this)}));return function(t,r,s){return e.apply(this,arguments)}}()}]),e}();function Ou(e){"@babel/helpers - typeof";return(Ou="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pu(){Pu=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",n=s.asyncIterator||"@@asyncIterator",a=s.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function l(e,t,r,s){var i=t&&t.prototype instanceof c?t:c,n=Object.create(i.prototype),a=new w(s||[]);return n._invoke=function(e,t,r){var s="suspendedStart";return function(i,n){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===i)throw n;return T()}for(r.method=i,r.arg=n;;){var a=r.delegate;if(a){var o=S(a,r);if(o){if(o===u)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===s)throw s="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);s="executing";var l=h(e,t,r);if("normal"===l.type){if(s=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(s="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),n}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function c(){}function d(){}function p(){}var f={};o(f,i,function(){return this});var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&r.call(y,i)&&(f=y);var g=p.prototype=c.prototype=Object.create(f);function v(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function b(e,t){var s;this._invoke=function(i,n){function a(){return new t(function(s,a){!function s(i,n,a,o){var l=h(e[i],e,n);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==Ou(c)&&r.call(c,"__await")?t.resolve(c.__await).then(function(e){s("next",e,a,o)},function(e){s("throw",e,a,o)}):t.resolve(c).then(function(e){u.value=e,a(u)},function(e){return s("throw",e,a,o)})}o(l.arg)}(i,n,s,a)})}return s=s?s.then(a,a):a()}}function S(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var s=h(r,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,u;var i=s.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,n=function t(){for(;++s<e.length;)if(r.call(e,s))return t.value=e[s],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:T}}function T(){return{value:void 0,done:!0}}return d.prototype=p,o(g,"constructor",p),o(p,"constructor",d),d.displayName=o(p,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,o(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(b.prototype),o(b.prototype,n,function(){return this}),e.AsyncIterator=b,e.async=function(t,r,s,i,n){void 0===n&&(n=Promise);var a=new b(l(t,r,s,i),n);return e.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},v(g),o(g,a,"Generator"),o(g,i,function(){return this}),o(g,"toString",function(){return"[object Generator]"}),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var s=t.pop();if(s in e)return r.value=s,r.done=!1,r}return r.done=!0,r}},e.values=C,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function s(r,s){return a.type="throw",a.arg=e,t.next=r,s&&(t.method="next",t.arg=void 0),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],a=n.completion;if("root"===n.tryLoc)return s("end");if(n.tryLoc<=this.prev){var o=r.call(n,"catchLoc"),l=r.call(n,"finallyLoc");if(o&&l){if(this.prev<n.catchLoc)return s(n.catchLoc,!0);if(this.prev<n.finallyLoc)return s(n.finallyLoc)}else if(o){if(this.prev<n.catchLoc)return s(n.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return s(n.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var i=this.tryEntries[s];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var n=i;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=t&&t<=n.finallyLoc&&(n=null);var a=n?n.completion:{};return a.type=e,a.arg=t,n?(this.method="next",this.next=n.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var s=r.completion;if("throw"===s.type){var i=s.arg;_(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}function Lu(e,t,r,s,i,n,a){try{var o=e[n](a),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(s,i)}function Iu(e){return function(){var t=this,r=arguments;return new Promise(function(s,i){var n=e.apply(t,r);function a(e){Lu(n,s,i,a,o,"next",e)}function o(e){Lu(n,s,i,a,o,"throw",e)}a(void 0)})}}function Nu(e){var t,r,s,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,s=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(s&&null!=(t=e[s]))return new Fu(t.call(e));r="@@asyncIterator",s="@@iterator"}throw new TypeError("Object is not async iterable")}function Fu(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return(Fu=function(e){this.s=e,this.n=e.next}).prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new Fu(e)}function ku(e){return new Gu(e,0)}function Ru(e){return function(){return new Du(e.apply(this,arguments))}}function Du(e){var t,r;function s(t,r){try{var n=e[t](r),a=n.value,o=a instanceof Gu;Promise.resolve(o?a.v:a).then(function(r){if(o){var l="return"===t?"return":"next";if(!a.k||r.done)return s(l,r);r=e[l](r).value}i(n.done?"return":"normal",r)},function(e){s("throw",e)})}catch(e){i("throw",e)}}function i(e,i){switch(e){case"return":t.resolve({value:i,done:!0});break;case"throw":t.reject(i);break;default:t.resolve({value:i,done:!1})}(t=t.next)?s(t.key,t.arg):r=null}this._invoke=function(e,i){return new Promise(function(n,a){var o={key:e,arg:i,resolve:n,reject:a,next:null};r?r=r.next=o:(t=r=o,s(e,i))})},"function"!=typeof e.return&&(this.return=void 0)}function Gu(e,t){this.v=e,this.k=t}function Bu(){return(Bu=Ru(Pu().mark(function e(t,r,s){var i,n,a,o,l,h,u,c,d,p;return Pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=Fh(t),n=function(){var e=Iu(Pu().mark(function e(t){return Pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.slice(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),e.t0=Uint8Array,e.next=5,ku(n(8,"magic bytes"));case 5:if(e.t1=e.sent,(a=new e.t0(e.t1)).subarray(0,3).every(function(e,t){return au[t]===e})){e.next=9;break}throw new Error("Not a FlatGeobuf file");case 9:return e.t2=Uint8Array,e.next=12,ku(n(4,"header length"));case 12:return e.t3=e.sent,a=new e.t2(e.t3),o=new Sh.cZ(a),l=o.readUint32(0),e.t4=Uint8Array,e.next=19,ku(n(l,"header data"));case 19:if(e.t5=e.sent,a=new e.t4(e.t5),o=new Sh.cZ(a),h=Bh(o),s&&s(h),u=h.indexNodeSize,c=h.featuresCount,!(u>0)){e.next=29;break}return d=tu(c,u),e.next=29,ku(n(d,"entire index, w/o rect"));case 29:return e.next=31,ku(Uu(n,h,r));case 31:if(!(p=e.sent)){e.next=36;break}return e.next=34,p;case 34:e.next=29;break;case 36:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ju(){return(ju=Ru(Pu().mark(function e(t,r,s,i){var n,a,o,l,h,u,c;return Pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ku(Mu.open(t));case 2:n=e.sent,qh.debug("opened reader"),i&&i(n.header),a=!1,o=!1,e.prev=7,h=Nu(n.selectBbox(r));case 9:return e.next=11,ku(h.next());case 11:if(!(a=!(u=e.sent).done)){e.next=18;break}return c=u.value,e.next=15,s(c,n.header);case 15:a=!1,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),o=!0,l=e.t0;case 24:if(e.prev=24,e.prev=25,!a||null==h.return){e.next=29;break}return e.next=29,ku(h.return());case 29:if(e.prev=29,!o){e.next=32;break}throw l;case 32:return e.finish(29);case 33:return e.finish(24);case 34:case"end":return e.stop()}},e,null,[[7,20,24,34],[25,,29,33]])}))).apply(this,arguments)}function Uu(e,t,r){return Vu.apply(this,arguments)}function Vu(){return(Vu=Iu(Pu().mark(function e(t,r,s){var i,n,a,o,l;return Pu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,t(4,"feature length");case 3:if(e.t1=e.sent,0!==(i=new e.t0(e.t1)).byteLength){e.next=7;break}return e.abrupt("return");case 7:return n=new Sh.cZ(i),a=n.readUint32(0),e.t2=Uint8Array,e.next=12,t(a,"feature data");case 12:return e.t3=e.sent,i=new e.t2(e.t3),(o=new Uint8Array(a+4)).set(i,4),(n=new Sh.cZ(o)).setPosition(ou),l=Ph.getRootAsFeature(n),e.abrupt("return",s(l,r));case 20:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zu(e,t){return{type:"FeatureCollection",features:function(e,t,r){if(!e.subarray(0,3).every(function(e,t){return au[t]===e}))throw new Error("Not a FlatGeobuf file");var s=new Sh.cZ(e),i=s.readUint32(au.length);s.setPosition(au.length+ou);var n=Bh(s);r&&r(n);var a=au.length+ou+i,o=n.indexNodeSize,l=n.featuresCount;o>0&&(a+=tu(l,o));for(var h=[];a<s.capacity();){var u=s.readUint32(a);s.setPosition(a+ou);var c=Ph.getRootAsFeature(s);h.push(t(c,n)),a+=ou+u}return h}(e,Nh,t)}}function Ju(e,t){return function(e,t,r){return Bu.apply(this,arguments)}(e,Nh,t)}function qu(e,t,r){return function(e,t,r,s){return ju.apply(this,arguments)}(e,t,Nh,r)}function Hu(e,t,r){return e instanceof Uint8Array?zu(e,r):e instanceof ReadableStream?Ju(e,r):qu(e,t,r)}Du.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},Du.prototype.next=function(e){return this._invoke("next",e)},Du.prototype.throw=function(e){return this._invoke("throw",e)},Du.prototype.return=function(e){return this._invoke("return",e)};const Wu=ol.loadingstrategy;function Yu(e){"@babel/helpers - typeof";return(Yu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xu(){Xu=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",n=s.asyncIterator||"@@asyncIterator",a=s.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function l(e,t,r,s){var i=t&&t.prototype instanceof c?t:c,n=Object.create(i.prototype),a=new w(s||[]);return n._invoke=function(e,t,r){var s="suspendedStart";return function(i,n){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===i)throw n;return T()}for(r.method=i,r.arg=n;;){var a=r.delegate;if(a){var o=S(a,r);if(o){if(o===u)continue;return o}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===s)throw s="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);s="executing";var l=h(e,t,r);if("normal"===l.type){if(s=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(s="completed",r.method="throw",r.arg=l.arg)}}}(e,r,a),n}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function c(){}function d(){}function p(){}var f={};o(f,i,function(){return this});var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&r.call(y,i)&&(f=y);var g=p.prototype=c.prototype=Object.create(f);function v(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function b(e,t){var s;this._invoke=function(i,n){function a(){return new t(function(s,a){!function s(i,n,a,o){var l=h(e[i],e,n);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==Yu(c)&&r.call(c,"__await")?t.resolve(c.__await).then(function(e){s("next",e,a,o)},function(e){s("throw",e,a,o)}):t.resolve(c).then(function(e){u.value=e,a(u)},function(e){return s("throw",e,a,o)})}o(l.arg)}(i,n,s,a)})}return s=s?s.then(a,a):a()}}function S(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var s=h(r,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,u;var i=s.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,n=function t(){for(;++s<e.length;)if(r.call(e,s))return t.value=e[s],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:T}}function T(){return{value:void 0,done:!0}}return d.prototype=p,o(g,"constructor",p),o(p,"constructor",d),d.displayName=o(p,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,o(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},v(b.prototype),o(b.prototype,n,function(){return this}),e.AsyncIterator=b,e.async=function(t,r,s,i,n){void 0===n&&(n=Promise);var a=new b(l(t,r,s,i),n);return e.isGeneratorFunction(r)?a:a.next().then(function(e){return e.done?e.value:a.next()})},v(g),o(g,a,"Generator"),o(g,i,function(){return this}),o(g,"toString",function(){return"[object Generator]"}),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var s=t.pop();if(s in e)return r.value=s,r.done=!1,r}return r.done=!0,r}},e.values=C,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function s(r,s){return a.type="throw",a.arg=e,t.next=r,s&&(t.method="next",t.arg=void 0),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i],a=n.completion;if("root"===n.tryLoc)return s("end");if(n.tryLoc<=this.prev){var o=r.call(n,"catchLoc"),l=r.call(n,"finallyLoc");if(o&&l){if(this.prev<n.catchLoc)return s(n.catchLoc,!0);if(this.prev<n.finallyLoc)return s(n.finallyLoc)}else if(o){if(this.prev<n.catchLoc)return s(n.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return s(n.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var i=this.tryEntries[s];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var n=i;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=t&&t<=n.finallyLoc&&(n=null);var a=n?n.completion:{};return a.type=e,a.arg=t,n?(this.method="next",this.next=n.finallyLoc,u):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var s=r.completion;if("throw"===s.type){var i=s.arg;_(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}function Qu(e,t,r,s,i,n,a){try{var o=e[n](a),l=o.value}catch(e){return void r(e)}o.done?t(l):Promise.resolve(l).then(s,i)}function Zu(e){return function(){var t=this,r=arguments;return new Promise(function(s,i){var n=e.apply(t,r);function a(e){Qu(n,s,i,a,o,"next",e)}function o(e){Qu(n,s,i,a,o,"throw",e)}a(void 0)})}}function Ku(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function $u(e,t){return($u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ec(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var r,s=tc(e);if(t){var i=tc(this).constructor;r=Reflect.construct(s,arguments,i)}else r=s.apply(this,arguments);return function(e,t){if(t&&("object"===Yu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,r)}}function tc(e){return(tc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rc(e){var t,r,s,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,s=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(s&&null!=(t=e[s]))return new sc(t.call(e));r="@@asyncIterator",s="@@iterator"}throw new TypeError("Object is not async iterable")}function sc(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return(sc=function(e){this.s=e,this.n=e.next}).prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new sc(e)}var ic=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&$u(e,t)}(n,ao());var t,r,s,i=ec(n);function n(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var r=Object.assign({strategy:Wu.bbox},e);return delete r.url,delete r.extent,(t=i.call(this,r)).options=e||{},t.strategy=r.strategy,t.url=t.options.url,t.extent=t.options.extent,t.setLoader(function(){var e=Zu(Xu().mark(function e(t){var r,s;return Xu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.extent&&this.strategy===Wu.bbox&&(r=Mn(this.extent,t),t=r&&r.length?r:this.extent),this.extent||this.strategy!==Wu.all&&isFinite(t[0])||(t=[]),Object.keys(t).length){e.next=6;break}return e.next=5,this._getStream(this.url);case 5:s=e.sent;case 6:this._handleFeatures(s&&s.body||this.url,t);case 7:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()),t}return t=n,(r=[{key:"_handleFeatures",value:function(){var e=Zu(Xu().mark(function e(t,r){var s,i,n,a,o,l,h,u;return Xu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s={},r&&r.length&&(s={minX:r[0],minY:r[1],maxX:r[2],maxY:r[3]}),i=Hu(t,s),n=!1,a=!1,e.prev=5,l=rc(i);case 7:return e.next=9,l.next();case 9:if(!(n=!(h=e.sent).done)){e.next=17;break}u=h.value,u=(new(Ko())).readFeature(u),this.options.featureLoader&&"function"==typeof this.options.featureLoader&&(u=this.options.featureLoader(u)),this.addFeature(u);case 14:n=!1,e.next=7;break;case 17:e.next=23;break;case 19:e.prev=19,e.t0=e.catch(5),a=!0,o=e.t0;case 23:if(e.prev=23,e.prev=24,!n||null==l.return){e.next=28;break}return e.next=28,l.return();case 28:if(e.prev=28,!a){e.next=31;break}throw o;case 31:return e.finish(28);case 32:return e.finish(23);case 33:case"end":return e.stop()}},e,this,[[5,19,23,33],[24,,28,32]])}));return function(t,r){return e.apply(this,arguments)}}()},{key:"_getStream",value:function(){var e=Zu(Xu().mark(function e(t){return Xu().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Be.get(t,{},{withoutFormatSuffix:!0}).then(function(e){return e});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()}])&&Ku(t.prototype,r),s&&Ku(t,s),Object.defineProperty(t,"prototype",{writable:!1}),n}();const nc=ol.geom.LineString;var ac=r.n(nc),oc=function(e){if(ac().prototype.getFlatMidpoint||(ac().prototype.getFlatMidpoint=function(){return this.getCoordinateAt(.5)}),"4"===mo.getOlVersion()&&window&&window.ol&&window.ol.geom.flat){window.targetMapCache=e;let t=window.ol;t.format.MVT.prototype.readProjection=function(e){return new t.proj.Projection({code:"",units:t.proj.Units.TILE_PIXELS})},t.format.MVT.prototype.readProjection=function(e){return new t.proj.Projection({code:"",units:t.proj.Units.TILE_PIXELS})},t.render.canvas.Replay.prototype.applyFill=function(e,r){var s=e.fillStyle,i=[t.render.canvas.Instruction.SET_FILL_STYLE,s];if("string"!=typeof s){var n=window.targetMapCache.getView().getProjection().getExtent();i.push([n[0],n[3]])}this.instructions.push(i)},t.render.canvas.Replay.prototype.applyFill=function(e,r){var s=e.fillStyle,i=[t.render.canvas.Instruction.SET_FILL_STYLE,s];if("string"!=typeof s){var n=window.targetMapCache.getView().getProjection().getExtent();i.push([n[0],n[3]])}this.instructions.push(i)},t.format.MVT.prototype.createFeature_=function(e,r,s){var i,n=r.type;if(0===n)return null;var a=r.id,o=r.properties;o[this.layerName_]=r.layer.name;var l=[],h=[];t.format.MVT.readRawGeometry_(e,r,l,h);var u=t.format.MVT.getGeometryType_(n,h.length);if(this.featureClass_===t.render.Feature)i=new this.featureClass_(u,l,h,o,a);else{var c;if(u==t.geom.GeometryType.POLYGON){for(var d=[],p=0,f=0,m=0,y=h.length;m<y;++m){var g=h[m];t.geom.flat.orient.linearRingIsClockwise(l,p,g,2)||(d.push(h.slice(f,m+1)),f=m+1),p=g}d.length>1?(h=d,c=new t.geom.MultiPolygon(null)):c=new t.geom.Polygon(null)}else c=u===t.geom.GeometryType.POINT?new t.geom.Point(null):u===t.geom.GeometryType.LINE_STRING?new t.geom.LineString(null):u===t.geom.GeometryType.POLYGON?new t.geom.Polygon(null):u===t.geom.GeometryType.MULTI_POINT?new t.geom.MultiPoint(null):u===t.geom.GeometryType.MULTI_LINE_STRING?new t.geom.MultiLineString(null):null;if(c){c.setFlatCoordinates(t.geom.GeometryLayout.XY,l,h),i=new this.featureClass_,this.geometryName_&&i.setGeometryName(this.geometryName_);var v=t.format.Feature.transformWithOptions(c,!1,this.adaptOptions(s));i.setGeometry(v),i.setId(a),i.setProperties(o)}}return i},t.geom.flat.textpath.lineString=function(e,r,s,i,n,a,o,l){for(var h=[],u=Math.atan2(e[s-i+1]-e[r+1],e[s-i]-e[r]),c=u<-.785||u>2.356,d=u<-.785&&u>-2.356||u>.785&&u<2.356,p=n.length,f=e[r],m=e[r+1],y=e[r+=i],g=e[r+1],v=0,b=Math.sqrt(Math.pow(y-f,2)+Math.pow(g-m,2));r<s-i&&v+b<o;)f=y,m=g,y=e[r+=i],g=e[r+1],v+=b,b=Math.sqrt(Math.pow(y-f,2)+Math.pow(g-m,2));for(var S,x,_,w,C=(o-v)/b,T=t.math.lerp(f,y,C),M=t.math.lerp(m,g,C),E="",A=0,O=0;O<p;++O){x=c?p-O-1:O;var P=n.charAt(x),L=P.charCodeAt(0),I=L>=19968&&L<=40907,N=a(E=c?P+E:E+P)-A;for(A+=N;r<s-i&&Math.sqrt(Math.pow(y-T,2)+Math.pow(g-M,2))<N/2;)f=y,m=g,y=e[r+=i],g=e[r+1];var F=Math.pow(y-f,2)+Math.pow(g-m,2),k=2*(y-f)*(f-T)+2*(g-m)*(m-M),R=Math.pow(f-T,2)+Math.pow(m-M,2)-Math.pow(N/2,2),D=(-k+Math.sqrt(k*k-4*F*R))/(2*F),G=(-k-Math.sqrt(k*k-4*F*R))/(2*F);C=D<0||D>1?G:G<0||G>1?D:D<G?G:D;for(var B=t.math.lerp(f,y,C),j=t.math.lerp(m,g,C);r<s-i&&Math.sqrt(Math.pow(y-B,2)+Math.pow(g-j,2))<N/2;)f=y,m=g,y=e[r+=i],g=e[r+1];F=Math.pow(y-f,2)+Math.pow(g-m,2),k=2*(y-f)*(f-B)+2*(g-m)*(m-j),R=Math.pow(f-B,2)+Math.pow(m-j,2)-Math.pow(N/2,2),D=(-k+Math.sqrt(k*k-4*F*R))/(2*F),G=(-k-Math.sqrt(k*k-4*F*R))/(2*F),C=D<0||D>1?G:G<0||G>1?D:D<G?G:D;var U=t.math.lerp(f,y,C),V=t.math.lerp(m,g,C),z=Math.atan2(V-M,U-T);if(c&&(z+=z>0?-Math.PI:Math.PI),I&&d&&(z+=z>0?-Math.PI/2:Math.PI/2),void 0!==_){var J=z-_;if(J+=J>Math.PI?-2*Math.PI:J<-Math.PI?2*Math.PI:0,I===w?Math.abs(J)>l:Math.abs(J)>l+Math.PI/2)return null}_!=z||d?(A=N,S=[B,j,N/2,z,E=P],c?h.unshift(S):h.push(S),_=z,w=I):(c&&(S[0]=B,S[1]=j,S[2]=N/2),S[4]=E),T=U,M=V,o+=N}return h},t.layer.VectorTile.prototype.setFastRender=function(e){return this.fastRender=e},t.renderer.canvas.VectorTileLayer.prototype.postCompose=function(e,r,s){var i,n,a=this.getLayer(),o=a.getDeclutter()?{}:null,l=a.getSource(),h=a.getRenderMode(),u=t.renderer.canvas.VectorTileLayer.VECTOR_REPLAYS[h],c=r.pixelRatio,d=r.viewState.rotation,p=r.size;d&&(i=Math.round(c*p[0]/2),n=Math.round(c*p[1]/2),t.render.canvas.rotateAtOffset(e,-d,i,n)),o&&this.declutterTree_.clear();for(var f=this.renderedTiles,m=l.getTileGridForProjection(r.viewState.projection),y=[],g=[],v=f.length-1;v>=0;--v){var b=f[v];if(b.getState()!=t.TileState.ABORT)for(var S=b.tileCoord,x=m.getTileCoordExtent(S)[0]-m.getTileCoordExtent(b.wrappedTileCoord)[0],_=void 0,w=0,C=b.tileKeys.length;w<C;++w){var T=b.getTile(b.tileKeys[w]);if(T.getState()!=t.TileState.ERROR){var M=T.getReplayGroup(a,S.toString());if(h==t.layer.VectorTileRenderType.VECTOR||M&&M.hasReplays(u)){_||(_=this.getTransform(r,x));var E=T.tileCoord[0],A=M.getClipCoords(_);e.save(),e.globalAlpha=s.opacity;for(var O=0,P=y.length;O<P;++O){var L=y[O];E<g[O]&&(e.beginPath(),e.moveTo(A[0],A[1]),e.lineTo(A[2],A[3]),e.lineTo(A[4],A[5]),e.lineTo(A[6],A[7]),e.moveTo(L[6],L[7]),e.lineTo(L[4],L[5]),e.lineTo(L[2],L[3]),e.lineTo(L[0],L[1]),e.clip())}M.replay(e,_,d,{},u,o),e.restore(),y.push(A),g.push(E)}else!0===a.fastRender&&(T.replayGroups_={},T.features_=[])}}}o&&t.render.canvas.ReplayGroup.replayDeclutter(o,e,d),d&&t.render.canvas.rotateAtOffset(e,d,i,n),t.renderer.canvas.TileLayer.prototype.postCompose.apply(this,arguments)}}};window.olExtends=oc;var lc=r(794),hc=r.n(lc);class uc extends(Na()){constructor(e){super(),e=e||{},this.spriteRegEx=/^(.*)(\?.*)$/,this.defaultFont=["DIN Offc Pro Medium","Arial Unicode MS Regular"],this.map=e.map,this.source=e.source,this.styleTarget=e.style||$.urlAppend($.urlPathAppend(e.url,"tileFeature/vectorstyles"),"type=MapBox_GL&styleonly=true"),this.resolutions=e.resolutions,this.withCredentials=e.withCredentials,this.selectedObjects=[],this.selectedStyle=e.selectedStyle||function(){return new(_o())({fill:new(Ao())({color:"rgba(255, 0, 0, 1)"}),stroke:new(Po())({color:"rgba(255, 0, 0, 1)",width:10}),text:new(Io())({font:'normal 400 11.19px "Microsoft YaHei"',placement:"point",fill:new(Ao())({color:"blue"})}),image:new(Mo())({radius:5,fill:new(Ao())({color:"blue"})})})},this.layersBySourceLayer={},oc(this.map),this._loadStyle(this.styleTarget)}getStyleFunction(){return this.featureStyleFuntion}getStylesBySourceLayer(e){if(this.layersBySourceLayer[e])return this.layersBySourceLayer[e];const t=[];for(let r=0;r<this._mbStyle.layers.length;r++){const s=this._mbStyle.layers[r];s["source-layer"]===e&&t.push(s)}return this.layersBySourceLayer[e]=t,t}setSelectedId(e,t){this.selectedObjects=[],this.selectedObjects.push({id:e,sourceLayer:t})}setSelectedObjects(e){Array.isArray(e)||(e=[e]),this.selectedObjects=[],this.selectedObjects=e}addSelectedObjects(e){Array.isArray(e)||(e=[e]),this.selectedObjects.push(...e)}removeSelectedObjects(e){Array.isArray(e)||(e=[e]),e.forEach(e=>{hc()(this.selectedObjects,t=>e.id===t.id&&e.sourceLayer===t.sourceLayer)})}clearSelectedObjects(){this.selectedObjects=[]}updateStyles(e){"[object Array]"!==Object.prototype.toString.call(e)&&(e=[e]);const t={};e.forEach(e=>{t[e.id]=e});let r=0;for(const s in this._mbStyle.layers){const i=this._mbStyle.layers[s];if(r>=e.length)break;if(!t[i.id])continue;const n=JSON.parse(JSON.stringify(t[i.id]));n.paint&&(n.paint=Object.assign({},i.paint,n.paint)),n.layout&&(n.layout=Object.assign({},i.layout,n.layout)),Object.assign(i,n),r++}this._createStyleFunction()}setStyle(e){this.layersBySourceLayer={},this._loadStyle(e)}_loadStyle(e){if("[object Object]"==Object.prototype.toString.call(e))this._mbStyle=e,this._resolve();else{var t=je.appendCredential(e);Be.get(t,null,{withCredentials:this.withCredentials}).then(e=>e.json()).then(e=>{this._mbStyle=e,this._resolve()})}}_resolve(){if(this.source||(this.source=Object.keys(this._mbStyle.sources)[0]),this._mbStyle.sprite){const e=.5==(window.devicePixelRatio>=1.5?.5:1)?"@2x":"";this._mbStyle.sprite=this._mbStyle.sprite.replace("@2x","");const t=this._toSpriteUrl(this._mbStyle.sprite,this.path,e+".json");Be.get(je.appendCredential(t),null,{withCredentials:this.withCredentials}).then(e=>e.json()).then(t=>{this._spriteData=t,this._spriteImageUrl=je.appendCredential(this._toSpriteUrl(this._mbStyle.sprite,this.path,e+".png")),this._spriteImage=null;const r=new Image;r.crossOrigin=this.withCredentials?"use-credentials":"anonymous",r.onload=(()=>{this._spriteImage=r,this._initStyleFunction()}),r.onerror=(()=>{this._spriteImage=null,this._initStyleFunction()}),r.src=this._spriteImageUrl})}else this._initStyleFunction()}_initStyleFunction(){if(!this.resolutions&&this._mbStyle.metadata&&this._mbStyle.metadata.indexbounds){const t=this._mbStyle.metadata.indexbounds;var e=Math.max(t[2]-t[0],t[3]-t[1]);const r=[];for(let t=0;t<30;t++)r.push(e/512/Math.pow(2,t));this.resolutions=r}this._createStyleFunction(),this.dispatchEvent("styleloaded")}_createStyleFunction(){this.map&&window.olms.applyBackground(this.map,this._mbStyle),this.featureStyleFuntion=this._getStyleFunction()}_getStyleFunction(){return this.fun=window.olms.stylefunction({setStyle:function(){},set:function(){},changed:function(){}},this._mbStyle,this.source,this.resolutions,this._spriteData,"",this._spriteImage),(e,t)=>{const r=this.fun(e,t);if(this.selectedObjects.length>0&&this.selectedObjects.find(t=>t.id===e.getId()&&t.sourceLayer===e.get("layer"))){const s=r&&r[0]?r[0].getZIndex():99999;let i=this.selectedStyle(e,t);Array.isArray(i)||(i=[i]);for(let t=0;t<i.length;t++){const n=i[t];"Point"===e.getGeometry().getType()&&r[0].getText()&&n.getText()&&(n.setFill(null),n.setStroke(null),n.setImage(),n.getText().setText(r[0].getText().getText())),n.setZIndex(s)}return i}return r}}_withPath(e,t){return t&&0!=e.indexOf("http")&&(e=t+e),e}_toSpriteUrl(e,t,r){const s=(e=this._withPath(e,t)).match(this.spriteRegEx);return s?s[1]+r+(s.length>2?s[2]:""):e+r}}class cc extends Fa{constructor(e,t){super(e,t)}code(e,t){var r=this;new st(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).code($.urlPathAppend(r.url,"geocoding"),e)}decode(e,t){var r=this;new st(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).decode($.urlPathAppend(r.url,"geodecoding"),e)}}class dc extends Fa{constructor(e,t){super(e,t)}queryChart(e,t,r){var s=this,i=s._processParams(e),n=s._processFormat(r);new Pt(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:n}).processAsync(i)}getChartFeatureInfo(e){var t=this,r=$.urlPathAppend(t.url,"chartFeatureInfoSpecs");new Mt(r,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).processAsync()}_processParams(e){if(!e)return{};e.returnContent=null==e.returnContent||e.returnContent,e.filter&&(e.chartQueryFilterParameters=mo.isArray(e.filter)?e.filter:[e.filter]),e.bounds&&(e.bounds=new se(e.bounds[0],e.bounds[1],e.bounds[2],e.bounds[3]))}_processFormat(e){return e||t.GEOJSON}}class pc extends Fa{constructor(e,t){super(e,t)}getFields(e,t){var r=this;new Jr(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t},datasource:e.datasource,dataset:e.dataset}).processAsync()}getFieldStatisticsInfo(e,t){var r=this,s=e.fieldName,i=e.statisticMode;i&&!mo.isArray(i)&&(i=[i]),r.currentStatisticResult={fieldName:s},r._statisticsCallback=t,i.forEach(t=>{r.currentStatisticResult[t]=null,r._fieldStatisticRequest(e.datasource,e.dataset,s,t)})}_fieldStatisticRequest(e,t,r,s){var i=this;new ur(i.url,{eventListeners:{scope:i,processCompleted:i._processCompleted,processFailed:i._statisticsCallback},crossOrigin:i.options.crossOrigin,headers:i.options.headers,datasource:e,dataset:t,field:r,statisticMode:s}).processAsync()}_processCompleted(e){var t=this,r=!0,s=e.result;for(var i in this.currentStatisticResult&&null==t.currentStatisticResult[s.mode]&&(this.currentStatisticResult[s.mode]=s.result),t.currentStatisticResult)if(null==t.currentStatisticResult[i]){r=!1;break}r&&t._statisticsCallback({result:t.currentStatisticResult})}}class fc extends Fa{constructor(e,t){super(e,t)}getDatasets(e,t){if(!e)return;const r=this;new Lr(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getDatasetsService(e)}getDataset(e,t,r){if(!e||!t)return;const s=this;new Lr(s.url,{proxy:s.proxy,withCredentials:s.withCredentials,crossOrigin:s.crossOrigin,headers:s.headers,eventListeners:{scope:s,processCompleted:r,processFailed:r}}).getDatasetService(e,t)}setDataset(e,t){if(!(e instanceof Gi||e instanceof Vi))return;if(e instanceof Gi)var r={datasetType:e.datasetType,datasetName:e.datasetName};else e instanceof Vi&&(r={datasetName:e.datasetName,isFileCache:e.isFileCache,description:e.description,prjCoordSys:e.prjCoordSys,charset:e.charset});const s=this,i=$.urlPathAppend(s.url,`datasources/name/${e.datasourceName}/datasets/name/${e.datasetName}`);new Lr(i,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t}}).setDatasetService(r)}deleteDataset(e,t,r){const s=this,i=$.urlPathAppend(s.url,`datasources/name/${e}/datasets/name/${t}`);new Lr(i,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:r,processFailed:r}}).deleteDatasetService()}}class mc extends Fa{constructor(e,t){super(e,t)}getDatasources(e){const t=this;new qt(t.url,{proxy:t.proxy,withCredentials:t.withCredentials,crossOrigin:t.crossOrigin,headers:t.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).getDatasourcesService()}getDatasource(e,t){if(!e)return;const r=this;new qt(r.url,{proxy:r.proxy,withCredentials:r.withCredentials,crossOrigin:r.crossOrigin,headers:r.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getDatasourceService(e)}setDatasource(e,t){if(!(e instanceof ei))return;const r={description:e.description,coordUnit:e.coordUnit,distanceUnit:e.distanceUnit},s=this,i=$.urlPathAppend(s.url,`datasources/name/${e.datasourceName}`);new qt(i,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{processCompleted:t,processFailed:t}}).setDatasourceService(r)}}class yc extends Fa{constructor(e,t){super(e,t)}getGridCellInfos(e,t){if(!e)return null;var r=this;new Hr(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}}class gc extends Fa{constructor(e,t){super(e,t),this.headers=!0,this.crossOrigin=!0,this.withCredentials=!0,this.proxy=!0}getTools(e){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:e,processFailed:e}}).getTools()}getTool(e,t){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:t,processFailed:t}}).getTool(e)}execute(e,t,r,s){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:s,processFailed:s}}).execute(e,t,r)}submitJob(e,t,r,s){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:s,processFailed:s}}).submitJob(e,t,r)}waitForJobCompletion(e,t,r,s){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:s,processFailed:s}}).waitForJobCompletion(e,t,r)}getJobInfo(e,t,r){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:r,processFailed:r}}).getJobInfo(e,t)}cancelJob(e,t,r){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:r,processFailed:r}}).cancelJob(e,t)}getJobs(e,t){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:t,processFailed:t}}).getJobs(e)}getResults(e,t,r,s){new Ar(this.url,{proxy:this.options.proxy,withCredentials:this.options.withCredentials,crossOrigin:this.options.crossOrigin,headers:this.options.headers,eventListeners:{scope:this,processCompleted:s,processFailed:s}}).getResults(e,t,r)}}class vc extends Fa{constructor(e,t){super(e,t)}getLayersInfo(e){var t=this;new _s(t.url,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{processCompleted:e,processFailed:e}}).processAsync()}setLayerInfo(e,t){if(e){var r=this,s=e.resourceID,i=e.tempLayerName,n=e.layerInfo;if(s&&i){var a=$.urlPathAppend(r.url,"tempLayersSet/"+s+"/"+i);new ti(a,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{processCompleted:t,processFailed:t}}).processAsync(n)}}}setLayersInfo(e,t){if(e){var r=this,s=e.resourceID,i=!!e.isTempLayers&&e.isTempLayers,n=e.layersInfo;if((!i||s)&&n)new ri(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{processCompleted:t,processFailed:t},resourceID:s,isTempLayers:i}).processAsync(n)}}setLayerStatus(e,t){if(e){var r=this;new ii(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{processCompleted:t,processFailed:t}}).processAsync(e)}}}class bc extends Fa{constructor(e,t){super(e,t)}measureDistance(e,t){this.measure(e,"DISTANCE",t)}measureArea(e,t){this.measure(e,"AREA",t)}measure(e,t,r){var s=this;new Rs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,measureMode:t,eventListeners:{scope:s,processCompleted:r,processFailed:r}}).processAsync(s._processParam(e))}_processParam(e){return e&&e.geometry&&(e.geometry=mo.toSuperMapGeometry(JSON.parse((new(Ko())).writeGeometry(e.geometry)))),e}}class Sc extends Fa{constructor(e,t){super(e,t)}sinksFacilityAnalyst(e,t){var r=this;new Kt(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}sourcesFacilityAnalyst(e,t){var r=this;new er(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}traceUpFacilityAnalyst(e,t){var r=this;new ar(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}traceDownFacilityAnalyst(e,t){var r=this;new ir(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}upstreamFacilityAnalyst(e,t){var r=this;new lr(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}}class xc extends Fa{constructor(e,t){super(e,t)}burstPipelineAnalyst(e,t){var r=this;new Tt(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(r._processParams(e))}computeWeightMatrix(e,t){var r=this;new kt(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(r._processParams(e))}findClosestFacilities(e,t,r){var s=this;new dr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}streamFacilityAnalyst(e,t,r){var s=this;new rr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}findLocation(e,t,r){var s=this;new fr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}findPath(e,t,r){var s=this;new vr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}findTSPPaths(e,t,r){var s=this;new _r(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}findMTSPPaths(e,t,r){var s=this;new yr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}findServiceAreas(e,t,r){var s=this;new Sr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}updateEdgeWeight(e,t){var r=this;new Bi(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}updateTurnNodeWeight(e,t){var r=this;new Ui(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}_processParams(e){if(!e)return{};if(e.centers&&mo.isArray(e.centers)&&e.centers.map(function(t,r){return e.centers[r]=t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t,e.centers[r]}),e.nodes&&mo.isArray(e.nodes)&&e.nodes.map(function(t,r){return e.nodes[r]=t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t,e.nodes[r]}),e.event&&e.event instanceof Sl()&&(e.event={x:e.event.getCoordinates()[0],y:e.event.getCoordinates()[1]}),e.facilities&&mo.isArray(e.facilities)&&e.facilities.map(function(t,r){return e.facilities[r]=t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t,e.facilities[r]}),e.parameter&&e.parameter.barrierPoints){var t=e.parameter.barrierPoints;mo.isArray(t)?t.map(function(t,r){return e.parameter.barrierPoints[r]=t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t,e.parameter.barrierPoints[r]}):e.parameter.barrierPoints=[t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t]}return e}_processFormat(e){return e||t.GEOJSON}}class _c extends Fa{constructor(e,t){super(e,t),this.kernelDensityJobs={},this.summaryMeshJobs={},this.queryJobs={},this.summaryRegionJobs={},this.vectorClipJobs={},this.overlayGeoJobs={},this.buffersJobs={},this.topologyValidatorJobs={},this.summaryAttributesJobs={}}getKernelDensityJobs(e,t){var r=this,s=r._processFormat(t);new Ps(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getKernelDensityJobs()}getKernelDensityJob(e,t,r){var s=this,i=s._processFormat(r);new Ps(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getKernelDensityJob(e)}addKernelDensityJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new Ps(i.url,{proxy:i.proxy,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.kernelDensityJobs[e.id]=e.state}},format:a}).addKernelDensityJob(n,r)}getKernelDensityJobState(e){return this.kernelDensityJobs[e]}getSummaryMeshJobs(e,t){var r=this,s=r._processFormat(t);new di(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getSummaryMeshJobs()}getSummaryMeshJob(e,t,r){var s=this,i=s._processFormat(r);new di(s.url,{proxy:s.options.proxy,crossOrigin:s.options.crossOrigin,headers:s.options.headers,withCredentials:s.options.withCredentials,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getSummaryMeshJob(e)}addSummaryMeshJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new di(i.url,{proxy:i.proxy,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.summaryMeshJobs[e.id]=e.state}},format:a}).addSummaryMeshJob(n,r)}getSummaryMeshJobState(e){return this.summaryMeshJobs[e]}getQueryJobs(e,t){var r=this,s=r._processFormat(t);new ai(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getQueryJobs()}getQueryJob(e,t,r){var s=this,i=s._processFormat(r);new ai(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getQueryJob(e)}addQueryJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new ai(i.url,{proxy:i.proxy,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.queryJobs[e.id]=e.state}},format:a}).addQueryJob(n,r)}getQueryJobState(e){return this.queryJobs[e]}getSummaryRegionJobs(e,t){var r=this,s=r._processFormat(t);new fi(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getSummaryRegionJobs()}getSummaryRegionJob(e,t,r){var s=this,i=s._processFormat(r);new fi(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getSummaryRegionJob(e)}addSummaryRegionJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new fi(i.url,{proxy:i.proxy,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.summaryRegionJobs[e.id]=e.state}},format:a}).addSummaryRegionJob(n,r)}getSummaryRegionJobState(e){return this.summaryRegionJobs[e]}getVectorClipJobs(e,t){var r=this,s=r._processFormat(t);new Ji(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getVectorClipJobs()}getVectorClipJob(e,t,r){var s=this,i=s._processFormat(r);new Ji(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getVectorClipJob(e)}addVectorClipJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new Ji(i.url,{proxy:i.options.proxy,withCredentials:i.options.withCredentials,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.vectorClipJobs[e.id]=e.state}},format:a}).addVectorClipJob(n,r)}getVectorClipJobState(e){return this.vectorClipJobs[e]}getOverlayGeoJobs(e,t){var r=this,s=r._processFormat(t);new Bs(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getOverlayGeoJobs()}getOverlayGeoJob(e,t,r){var s=this,i=s._processFormat(r);new Bs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getOverlayGeoJob(e)}addOverlayGeoJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new Bs(i.url,{proxy:i.options.proxy,withCredentials:i.options.withCredentials,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.overlayGeoJobs[e.id]=e.state}},format:a}).addOverlayGeoJob(n,r)}getoverlayGeoJobState(e){return this.overlayGeoJobs[e]}getBuffersJobs(e,t){var r=this,s=r._processFormat(t);new _t(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getBuffersJobs()}getBuffersJob(e,t,r){var s=this,i=s._processFormat(r);new _t(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getBuffersJob(e)}addBuffersJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new _t(i.url,{proxy:i.options.proxy,withCredentials:i.options.withCredentials,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.buffersJobs[e.id]=e.state}},format:a}).addBuffersJob(n,r)}getBuffersJobState(e){return this.buffersJobs[e]}getTopologyValidatorJobs(e,t){var r=this,s=r._processFormat(t);new Li(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getTopologyValidatorJobs()}getTopologyValidatorJob(e,t,r){var s=this,i=s._processFormat(r);new Li(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getTopologyValidatorJob(e)}addTopologyValidatorJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new Li(i.url,{proxy:i.options.proxy,withCredentials:i.options.withCredentials,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.topologyValidatorJobs[e.id]=e.state}},format:a}).addTopologyValidatorJob(n,r)}getTopologyValidatorJobState(e){return this.topologyValidatorJobs[e]}getSummaryAttributesJobs(e,t){var r=this,s=r._processFormat(t);new ui(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:e,processFailed:e},format:s}).getSummaryAttributesJobs()}getSummaryAttributesJob(e,t,r){var s=this,i=s._processFormat(r);new ui(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:i}).getSummaryAttributesJob(e)}addSummaryAttributesJob(e,t,r,s){var i=this,n=i._processParams(e),a=i._processFormat(s);new ui(i.url,{proxy:i.options.proxy,withCredentials:i.options.withCredentials,crossOrigin:i.options.crossOrigin,headers:i.options.headers,eventListeners:{scope:i,processCompleted:t,processFailed:t,processRunning:function(e){i.summaryAttributesJobs[e.id]=e.state}},format:a}).addSummaryAttributesJob(n,r)}getSummaryAttributesJobState(e){return this.summaryAttributesJobs[e]}_processFormat(e){return e||t.GEOJSON}_processParams(e){return e?(e.bounds&&(e.bounds=mo.toSuperMapBounds(e.bounds)),e.query&&(e.query=mo.toSuperMapBounds(e.query)),e.geometryQuery&&(e.geometryQuery=mo.toProcessingParam(e.geometryQuery)),e.geometryClip&&(e.geometryClip=mo.toProcessingParam(e.geometryClip)),e):{}}}class wc extends Fa{constructor(e,t){super(e,t)}getAreaSolarRadiationResult(e,t,r){var s=this;new lt(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(e)}bufferAnalysis(e,t,r){var s=this;new yt(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}densityAnalysis(e,t,r){var s=this;new Wt(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}generateSpatialData(e,t,r){var s=this;new Cr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(e)}geoRelationAnalysis(e,t,r){var s=this;new Pr(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(e)}interpolationAnalysis(e,t,r){var s=this;new As(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}mathExpressionAnalysis(e,t,r){var s=this;new Fs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}overlayAnalysis(e,t,r){var s=this;new Ds(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}routeCalculateMeasure(e,t,r){var s=this;new Qs(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}routeLocate(e,t,r){var s=this;new Ks(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}surfaceAnalysis(e,t,r){var s=this;new yi(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}terrainCurvatureCalculate(e,t,r){var s=this;new vi(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(e)}thiessenAnalysis(e,t,r){var s=this;new Ei(s.url,{proxy:s.options.proxy,withCredentials:s.options.withCredentials,crossOrigin:s.options.crossOrigin,headers:s.options.headers,eventListeners:{scope:s,processCompleted:t,processFailed:t},format:s._processFormat(r)}).processAsync(s._processParams(e))}geometrybatchAnalysis(e,t,r){for(var s=new Ai(this.url,{eventListeners:{scope:this,processCompleted:t,processFailed:t},format:this._processFormat(r)}),i=[],n=0;n<e.length;n++){var a=e[n];i.push({analystName:a.analystName,param:this._processParams(a.param)})}s.processAsync(i)}_processParams(e){if(!e)return{};if(e.bounds&&(e.bounds=mo.toSuperMapBounds(e.bounds)),e.inputPoints)for(let r=0;r<e.inputPoints.length;r++){var t=e.inputPoints[r];mo.isArray(t)?e.inputPoints[r]={x:t[0],y:t[1],tag:t[2]}:e.inputPoints[r]={x:t.getCoordinates()[0],y:t.getCoordinates()[1],tag:t.tag}}if(e.points)for(let t=0;t<e.points.length;t++){let r=e.points[t];mo.isArray(r)&&r.setCoordinates(r),e.points[t]=new oe(r.getCoordinates()[0],r.getCoordinates()[1])}if(e.point){let t=e.point;mo.isArray(t)&&t.setCoordinates(t),e.point=new oe(t.getCoordinates()[0],t.getCoordinates()[1])}if(e.extractRegion&&(e.extractRegion=this.convertGeometry(e.extractRegion)),e.extractParameter&&e.extractParameter.clipRegion&&(e.extractParameter.clipRegion=this.convertGeometry(e.extractParameter.clipRegion)),e.clipParam&&e.clipParam.clipRegion&&(e.clipParam.clipRegion=this.convertGeometry(e.clipParam.clipRegion)),e.sourceGeometry){var r=null;e.sourceGeometrySRID&&(r=e.sourceGeometrySRID),e.sourceGeometry=this.convertGeometry(e.sourceGeometry),r&&(e.sourceGeometry.SRID=r),delete e.sourceGeometry.sourceGeometrySRID}if(e.operateGeometry&&(e.operateGeometry=this.convertGeometry(e.operateGeometry)),e.sourceGeometries){for(var s=[],i=0;i<e.sourceGeometries.length;i++)s.push(this.convertGeometry(e.sourceGeometries[i]));e.sourceGeometries=s}if(e.operateGeometries){for(var n=[],a=0;a<e.operateGeometries.length;a++)n.push(this.convertGeometry(e.operateGeometries[a]));e.operateGeometries=n}if(e.sourceRoute&&e.sourceRoute instanceof ac()&&e.sourceRoute.getCoordinates()){var o={type:"LINEM"};o.parts=[e.sourceRoute.getCoordinates()[0].length],o.points=[];for(let t=0;t<e.sourceRoute.getCoordinates()[0].length;t++){let r=e.sourceRoute.getCoordinates()[0][t];o.points=o.points.concat({x:r[0],y:r[1],measure:r[2]})}e.sourceRoute=o}var l=this;return e.operateRegions&&mo.isArray(e.operateRegions)&&e.operateRegions.map(function(t,r){return e.operateRegions[r]=l.convertGeometry(t),e.operateRegions[r]}),e.sourceRoute&&e.sourceRoute.components&&mo.isArray(e.sourceRoute.components)&&e.sourceRoute.components.map(function(t,r){return e.sourceRoute.components[r]=l.convertGeometry(t),e.sourceRoute.components[r]}),e}_processFormat(e){return e||t.GEOJSON}convertGeometry(e){return-1!=["FeatureCollection","Feature","Geometry"].indexOf(e.type)?mo.toSuperMapGeometry(e):mo.toSuperMapGeometry(JSON.parse((new(Ko())).writeGeometry(e)))}}class Cc extends Fa{constructor(e,t){super(e,t)}getThemeInfo(e,t){var r=this;new Mi(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}}class Tc extends Fa{constructor(e,t){super(e,t)}queryStop(e,t){var r=this;new li(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(e)}analysisTransferPath(e,t){var r=this;new Fi(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(r._processParams(e))}analysisTransferSolution(e,t){var r=this;new Ri(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).processAsync(r._processParams(e))}_processParams(e){return e?(e.transferLines&&!mo.isArray(e.transferLines)&&(e.transferLines=[e.transferLines]),e.points&&mo.isArray(e.points)&&e.points.map(function(t,r){return e.points[r]=t instanceof Sl()?{x:t.getCoordinates()[0],y:t.getCoordinates()[1]}:t,e.points[r]}),e):{}}}class Mc extends Fa{constructor(e,t){super(e,t)}createWebPrintingJob(e,t){if(e){var r=this;new rn(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).createWebPrintingJob(r._processParams(e))}}getPrintingJob(e,t){var r=this;new rn(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getPrintingJob(e)}getPrintingJobResult(e,t){var r=this;new rn(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getPrintingJobResult(e)}getLayoutTemplates(e){var t=this;new rn(t.url,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).getLayoutTemplates()}_processParams(e){return e.layoutOptions&&e.layoutOptions.littleMapOptions&&(e.layoutOptions.littleMapOptions.center=this._toPointObject(e.layoutOptions.littleMapOptions.center)),e.exportOptions&&(e.exportOptions.center=this._toPointObject(e.exportOptions.center)),e}_toPointObject(e){return mo.isArray(e)?{x:e[0],y:e[1]}:e instanceof oe||e instanceof Sl()?{x:e.x,y:e.y}:e}}class Ec extends Fa{constructor(e,t){super(e,t)}getCollections(e){var t=this;new nn(this.url,{proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).getCollections()}getCollectionByID(e,t){var r=this;new nn(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getCollectionByID(e)}search(e,t){var r=this;new nn(r.url,{proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).search(e)}}class Ac extends Fa{constructor(e,t){super(e,t)}getLegend(e,t){var r=this;new sn(this.url,{collectionId:r.options.collectionId,proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getLegend(e)}getStatistics(e){var t=this;new sn(t.url,{collectionId:t.options.collectionId,proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).getStatistics()}getTileInfo(e){var t=this;new sn(t.url,{collectionId:t.options.collectionId,proxy:t.options.proxy,withCredentials:t.options.withCredentials,crossOrigin:t.options.crossOrigin,headers:t.options.headers,eventListeners:{scope:t,processCompleted:e,processFailed:e}}).getTileInfo()}deleteItemByID(e,t){var r=this;new sn(this.url,{collectionId:r.options.collectionId,proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).deleteItemByID(e)}getItemByID(e,t){var r=this;new sn(r.url,{collectionId:r.options.collectionId,proxy:r.options.proxy,withCredentials:r.options.withCredentials,crossOrigin:r.options.crossOrigin,headers:r.options.headers,eventListeners:{scope:r,processCompleted:t,processFailed:t}}).getItemByID(e)}}const Oc=JSON.parse('[{"name":"黑龙江省","coord":[127.64559817675396,48.48668098449708]},{"name":"内蒙古自治区","coord":[118.34519572208615,45.370218276977525]},{"name":"新疆维吾尔自治区","coord":[87.13479065593184,41.75497055053711]},{"name":"吉林省","coord":[126.12985278813787,43.57983207702637]},{"name":"辽宁省","coord":[124.02494773936439,41.105743408203125]},{"name":"甘肃省","coord":[102.87785725633012,37.69582366943361]},{"name":"河北省","coord":[115.66327227481898,39.33383178710938]},{"name":"北京市","coord":[116.62199343603638,40.25053787231445]},{"name":"山西省","coord":[112.45180235808988,37.666561126708984]},{"name":"天津市","coord":[117.35711842642581,39.406789779663086]},{"name":"陕西省","coord":[109.56294003056632,35.64754199981689]},{"name":"宁夏回族自治区","coord":[105.96110877640074,37.3081169128418]},{"name":"青海省","coord":[96.07301048277901,35.44417190551758]},{"name":"山东省","coord":[118.03833752951093,36.29800605773925]},{"name":"西藏自治区","coord":[87.47361520439412,31.6703872680664]},{"name":"河南省","coord":[113.07832397097275,33.87751102447509]},{"name":"江苏省","coord":[119.93926538201052,32.945452690124505]},{"name":"安徽省","coord":[117.15146765881019,32.024482727050774]},{"name":"四川省","coord":[102.28998890142759,30.182161331176758]},{"name":"湖北省","coord":[112.87798261431585,31.157071113586426]},{"name":"重庆市","coord":[107.870126637831,30.188085556030266]},{"name":"上海市","coord":[121.42561166015514,31.276043891906745]},{"name":"浙江省","coord":[119.75337092707514,29.175934791564945]},{"name":"湖南省","coord":[111.52770282777405,27.38110256195069]},{"name":"江西省","coord":[115.51091280655628,27.283511161804206]},{"name":"云南省","coord":[101.27053825991308,25.19783210754396]},{"name":"贵州省","coord":[106.49672346773299,26.92267990112305]},{"name":"福建省","coord":[117.9976766946587,25.939599990844727]},{"name":"广西壮族自治区","coord":[108.98706831086302,23.891559600830078]},{"name":"台湾省","coord":[120.82468432537434,23.602651596069336]},{"name":"香港特别行政区","coord":[114.21036850371561,22.374858856201172]},{"name":"海南省","coord":[109.62792940960824,19.163116455078125]},{"name":"广东省","coord":[113.32127888266032,22.873867034912106]},{"name":"澳门特别行政区","coord":[113.56819996291901,22.160347992976]}]'),Pc=JSON.parse('[{"name":"克拉玛依市","coord":[85.01486759299489,45.406422237230046]},{"name":"昌吉回族自治州","coord":[88.7154624754753,44.26991024636568]},{"name":"石河子市","coord":[86.0208600035924,44.239045558096805]},{"name":"霍林郭勒市","coord":[114.73479243733115,44.16058374713977]},{"name":"本溪市","coord":[124.64357865201586,41.177197783134275]},{"name":"嘉峪关市","coord":[98.16891560537093,39.76279786284264]},{"name":"莱芜市","coord":[117.65723565456207,36.27916499211527]},{"name":"神农架林区","coord":[110.48296222218153,31.581260143666697]},{"name":"天门市","coord":[113.00615321481195,30.64105781887143]},{"name":"鄂州市","coord":[114.94764081970385,30.325634953844585]},{"name":"潜江市","coord":[112.70703817700621,30.349210666019893]},{"name":"仙桃市","coord":[113.34688900729822,30.315951161935402]},{"name":"萍乡市","coord":[113.88072263074415,27.47193090553213]},{"name":"台湾省","coord":[120.14338943402045,23.596002465926095]},{"name":"东莞市","coord":[113.89443658529342,22.897826158636448]},{"name":"中山市","coord":[113.37118387764659,22.501478858616522]},{"name":"珠海市","coord":[113.21799258934986,22.23782602992192]},{"name":"北海市","coord":[109.18248083043899,21.695773689750148]},{"name":"香港","coord":[114.20689279508653,22.36016760139811]},{"name":"舟山市","coord":[122.22514712841459,30.338633120695956]},{"name":"克孜勒苏柯尔克孜","coord":[74.62910472637343,39.59886016069875]},{"name":"喀什地区","coord":[77.19899922143753,37.85462871211595]},{"name":"阿克苏地区","coord":[81.43930290016381,41.067304799230456]},{"name":"和田地区","coord":[80.69780509160952,36.95287032287055]},{"name":"阿里地区","coord":[82.536487505389,32.69566569631762]},{"name":"日喀则地区","coord":[86.5996831353606,29.54861754814263]},{"name":"那曲地区","coord":[88.32523292667608,33.20600450932715]},{"name":"玉树藏族自治州","coord":[95.2107128446203,33.90320387919257]},{"name":"迪庆藏族自治州","coord":[99.42465312188943,28.052797714348895]},{"name":"怒江傈傈族自治州","coord":[98.85737910439825,26.98345757528851]},{"name":"大理白族自治州","coord":[99.93934374816013,25.684737357453045]},{"name":"德宏傣族景颇族自","coord":[98.13830877778075,24.593421919561205]},{"name":"保山市","coord":[99.19031013453166,24.979380341662]},{"name":"临沧市","coord":[99.62483778975081,24.058807858948214]},{"name":"普洱市","coord":[100.94440267992684,23.44121660743221]},{"name":"西双版纳傣族自治","coord":[100.86105801845994,21.882475641324206]},{"name":"拉萨市","coord":[91.3684790613129,30.14176592960237]},{"name":"山南地区","coord":[92.11665242621062,28.33000201578789]},{"name":"林芝地区","coord":[94.9307847458166,29.125110156601963]},{"name":"昌都地区","coord":[97.33912235873476,30.48520825551814]},{"name":"丽江市","coord":[100.65713436205135,26.96190318191959]},{"name":"攀枝花市","coord":[101.73355913301131,26.714486678752795]},{"name":"凉山彝族自治州","coord":[102.08678551422615,27.683020519860396]},{"name":"楚雄彝族自治州","coord":[101.68264761198458,25.369603845264024]},{"name":"红河哈尼族彝族自","coord":[102.95101719613119,23.624860095239875]},{"name":"文山壮族苗族自治","coord":[104.8708359910614,23.579587266862504]},{"name":"百色市","coord":[106.69546907589859,23.98220841166522]},{"name":"崇左市","coord":[107.3277087317123,22.49769755349952]},{"name":"防城港市","coord":[107.88939931155171,21.94550204069006]},{"name":"南宁市","coord":[108.67078983716917,23.12207641861882]},{"name":"钦州市","coord":[108.8532307305186,22.157690108421384]},{"name":"玉林市","coord":[110.26918466489103,22.391823643610415]},{"name":"湛江市","coord":[109.93033457863683,21.086751055633457]},{"name":"茂名市","coord":[110.80336192333934,22.069184739040775]},{"name":"阳江市","coord":[111.70471342186183,22.108751366417575]},{"name":"江门市","coord":[112.53715618649149,22.297368082806777]},{"name":"广州市","coord":[113.4949302208309,23.28359314707863]},{"name":"清远市","coord":[113.10957368131268,24.334444053233856]},{"name":"肇庆市","coord":[112.11117530204233,23.60241158796112]},{"name":"梧州市","coord":[111.01709510772797,23.518132876753846]},{"name":"贺州市","coord":[111.50423061842756,24.4095096817199]},{"name":"桂林市","coord":[110.44046163393094,25.353966673735407]},{"name":"柳州市","coord":[109.34854449214147,24.972408051485047]},{"name":"河池市","coord":[107.81191841865586,24.649291651298164]},{"name":"黔东南苗族侗族自","coord":[108.39952601614591,26.429286420465576]},{"name":"贵阳市","coord":[106.59784062851153,26.797907456479816]},{"name":"安顺市","coord":[105.76161265300635,25.988644902171018]},{"name":"黔西南布依族苗族","coord":[105.5954078788574,25.404850939549405]},{"name":"曲靖市","coord":[103.9164335632742,25.697243690315265]},{"name":"六盘水市","coord":[104.77723228072432,26.15402255629164]},{"name":"毕节地区","coord":[105.03867422931839,27.077913968069666]},{"name":"昭通市","coord":[104.29730513046874,27.62418247971078]},{"name":"宜宾市","coord":[104.76748901448207,28.553501804266475]},{"name":"乐山市","coord":[103.56027669102787,29.160754519210577]},{"name":"自贡市","coord":[104.63272827056402,29.273152614922402]},{"name":"内江市","coord":[104.82644562304716,29.61272653799929]},{"name":"遵义市","coord":[106.82413636302059,28.191847588570702]},{"name":"达州市","coord":[107.59704170009518,31.32138258839703]},{"name":"遂宁市","coord":[105.48979445433736,30.677687821242678]},{"name":"广安市","coord":[106.56708164098042,30.43500706741521]},{"name":"泸州市","coord":[105.42591761727707,28.50277238478137]},{"name":"资阳市","coord":[104.97995126874034,30.154251886139654]},{"name":"雅安市","coord":[102.69931299964517,29.892630706195035]},{"name":"眉山市","coord":[104.07052881858888,29.894202166560405]},{"name":"甘孜藏族自治州","coord":[100.50721042614238,30.975216556269658]},{"name":"果洛藏族自治州","coord":[99.30775565051923,34.03539865224808]},{"name":"海南藏族自治州","coord":[100.39969108016373,35.90048272566899]},{"name":"黄南藏族自治州","coord":[101.5360706381689,35.10286360841902]},{"name":"赣南藏族自治州","coord":[102.97083885806067,34.326752803339026]},{"name":"陇南市","coord":[105.24780098912132,33.57031117443431]},{"name":"天水市","coord":[105.53503634660417,34.62320421368087]},{"name":"定西市","coord":[104.58787768541339,35.08900966621695]},{"name":"临夏回族自治州","coord":[103.2612870434902,35.591577124455235]},{"name":"西宁市","coord":[101.57680657999033,36.84800271717157]},{"name":"海东地区","coord":[102.30909850729282,36.287400615025646]},{"name":"海北藏族自治州","coord":[100.27122484450717,37.892557516083826]},{"name":"金昌市","coord":[102.02244049169511,38.497330414886164]},{"name":"酒泉市","coord":[95.94486678270127,40.56891536586272]},{"name":"海西蒙古族藏族自","coord":[94.67143298050689,36.022725148503724]},{"name":"巴音郭楞蒙古自治","coord":[88.18116214759745,39.556478810319916]},{"name":"哈密地区","coord":[93.84302392518026,42.95015211178875]},{"name":"叶鲁番地区","coord":[89.82035217277885,42.399368632283505]},{"name":"乌鲁木齐市","coord":[88.00048109561487,43.549986370786]},{"name":"阿勒泰地区","coord":[88.11213933257655,47.05593413019629]},{"name":"博尔塔拉蒙古自治","coord":[82.26402238163408,44.671135542630864]},{"name":"伊犁哈萨克自治州","coord":[82.80778717477179,43.53783381365267]},{"name":"阿拉善盟","coord":[103.29923966842289,40.10955801781495]},{"name":"武威市","coord":[102.73362058791429,37.94211141321436]},{"name":"兰州市","coord":[103.73793563506032,36.27379827886003]},{"name":"中卫市","coord":[105.6943786030716,37.20654236148948]},{"name":"银川市","coord":[106.20022174140034,38.52103167597483]},{"name":"石嘴山市","coord":[106.41544011793628,38.84054137571417]},{"name":"乌海市","coord":[106.8984175998405,39.54616572239788]},{"name":"鄂尔多斯市","coord":[108.43285571424619,39.24036799350715]},{"name":"巴彦淖尔市","coord":[107.45840392808307,41.30159860424196]},{"name":"包头市","coord":[110.46472193224272,41.48017783644221]},{"name":"呼和浩特市","coord":[111.48365173603975,40.498363056149884]},{"name":"乌兰察布市","coord":[112.61568977597707,41.75789561273154]},{"name":"大同市","coord":[113.7107192749083,39.898956799744184]},{"name":"朔州市","coord":[112.65428748167508,39.681772914701924]},{"name":"忻州市","coord":[112.36127575589583,38.88990233614568]},{"name":"榆林市","coord":[109.68473112169593,38.19921027134876]},{"name":"延安市","coord":[109.52425222161318,36.406522726136814]},{"name":"庆阳市","coord":[107.73052193155061,36.183821532624464]},{"name":"固原市","coord":[106.20191575442442,36.11634909496382]},{"name":"白银市","coord":[104.68634478137065,36.51582865625868]},{"name":"宝鸡市","coord":[107.33534779230747,34.3387216485855]},{"name":"汉中市","coord":[107.03534754266246,33.00142998064871]},{"name":"广元市","coord":[105.92928137563939,32.21872447205537]},{"name":"巴中市","coord":[107.03422410306194,31.99874720836291]},{"name":"南充市","coord":[106.32964805032347,31.156657700184095]},{"name":"绵阳市","coord":[104.58949560201106,31.88628780630976]},{"name":"德阳市","coord":[104.41542984932845,31.110558133718676]},{"name":"成都市","coord":[103.8852290010473,30.777258040348634]},{"name":"阿坝藏族羌族自治","coord":[102.26209319552814,32.45725845387284]},{"name":"安康市","coord":[109.14236501848015,32.77467694678074]},{"name":"十堰市","coord":[110.39934083416314,32.376209039347906]},{"name":"襄阳市","coord":[111.97539147094662,31.93399822417465]},{"name":"宜昌市","coord":[111.22204852395754,30.772457669035354]},{"name":"恩施市","coord":[109.42158366502872,30.260366574390105]},{"name":"张家界市","coord":[110.59760006538717,29.330107409240718]},{"name":"吉首市","coord":[109.72176899848378,28.681903937242495]},{"name":"铜仁地区","coord":[108.54247523485463,28.11736237519646]},{"name":"重庆市","coord":[107.86007108564992,30.186253395053196]},{"name":"怀化市","coord":[109.94325166787243,27.43919084801186]},{"name":"益阳市","coord":[112.43060358108062,28.75127294553697]},{"name":"娄底市","coord":[111.41891416951897,27.696312460064604]},{"name":"常德市","coord":[111.72571610131646,29.27189463838195]},{"name":"荆州市","coord":[112.65896596965268,30.05161542755362]},{"name":"荆门市","coord":[112.6586855902184,31.01267124474617]},{"name":"岳阳市","coord":[113.2595036144316,29.106247116930163]},{"name":"长沙市","coord":[113.15415586456598,28.222934680488425]},{"name":"湘潭市","coord":[112.51092596317824,27.69881544105668]},{"name":"株州市","coord":[113.49665538546823,27.03993794610501]},{"name":"衡阳市","coord":[112.48849636578527,26.783613569970782]},{"name":"邵阳市","coord":[110.6723832117475,26.81652287086792]},{"name":"永州市","coord":[111.8565364154186,25.768488267811968]},{"name":"韶关市","coord":[113.53420325850979,24.69848878771937]},{"name":"惠州市","coord":[114.32029589634925,23.25504544231892]},{"name":"佛山市","coord":[112.95925897403649,23.10116677189257]},{"name":"云浮市","coord":[111.78042514904234,22.840400494105687]},{"name":"深圳市","coord":[114.13138648919008,22.649563063468342]},{"name":"汕尾市","coord":[115.57412892884373,23.06989642104901]},{"name":"河源市","coord":[114.89746229844398,23.97971937124767]},{"name":"揭阳市","coord":[116.04290004239446,23.304802704715357]},{"name":"汕头市","coord":[116.7008461897183,23.35898625947344]},{"name":"潮州市","coord":[116.75405548481658,23.854381508863064]},{"name":"梅州市","coord":[116.13719397345734,24.15633544812716]},{"name":"漳州市","coord":[117.38279760543345,24.41111215459575]},{"name":"厦门市","coord":[118.04275971554665,24.675908246507944]},{"name":"龙岩市","coord":[116.69341144552507,25.20284542644492]},{"name":"泉州市","coord":[118.12035864630246,25.22984144365049]},{"name":"莆田市","coord":[118.82439690138142,25.439653480972687]},{"name":"福州市","coord":[119.1608285845262,25.99117532466728]},{"name":"三明市","coord":[117.51188176216434,26.318292906961602]},{"name":"南平市","coord":[118.16153136678187,27.306303151805437]},{"name":"抚州市","coord":[116.3455359885574,27.487043655935366]},{"name":"鹰潭市","coord":[117.01082360702333,28.241253742969946]},{"name":"吉安市","coord":[114.91377151807418,26.957486660664525]},{"name":"赣州市","coord":[115.046455717572,25.81565075681663]},{"name":"郴州市","coord":[113.1544526703492,25.871927095452524]},{"name":"新余市","coord":[114.94161795877827,27.79044654578371]},{"name":"宜春市","coord":[115.04574494880995,28.306428044943356]},{"name":"南昌市","coord":[115.9963824234495,28.664803351584705]},{"name":"九江市","coord":[115.53225905704193,29.362905920276297]},{"name":"上饶市","coord":[117.8595355766598,28.765755150094634]},{"name":"景德镇市","coord":[117.25387030721845,29.33426823662448]},{"name":"黄山市","coord":[117.85476357809696,29.969632034273722]},{"name":"池州市","coord":[117.34517113140791,30.208089337922335]},{"name":"铜陵市","coord":[117.93160431300694,30.926442655001676]},{"name":"安庆市","coord":[116.54307680610799,30.524265461641296]},{"name":"黄石市","coord":[115.02354597728443,29.924060229331015]},{"name":"咸宁市","coord":[114.26967602231792,29.652174021136048]},{"name":"黄冈市","coord":[115.2859016705373,30.65856897065683]},{"name":"武汉市","coord":[114.34552076948799,30.68836237966767]},{"name":"随州市","coord":[113.3850627838818,31.87891659924412]},{"name":"信阳市","coord":[114.81374730587638,32.0309685135914]},{"name":"驻马店市","coord":[114.07756451509235,32.896720987266114]},{"name":"商洛市","coord":[109.82044421310393,33.77403373563189]},{"name":"西安市","coord":[109.11839808451401,34.225257215515896]},{"name":"渭南市","coord":[109.75732444226935,35.025913644359306]},{"name":"铜川市","coord":[108.98695328111377,35.19235092947735]},{"name":"咸阳市","coord":[108.36398776446165,34.84311348287181]},{"name":"三门峡市","coord":[110.80049688104964,34.31818709571671]},{"name":"运城市","coord":[111.1736679525165,35.19010372283576]},{"name":"洛阳市","coord":[111.87577573098216,34.33379926109848]},{"name":"平顶山市","coord":[112.80931281928427,33.759895800153096]},{"name":"漯河市","coord":[113.83505724178012,33.70034266174508]},{"name":"许昌市","coord":[113.78762484088509,34.051835688452435]},{"name":"郑州市","coord":[113.49619951867594,34.61181797865449]},{"name":"焦作市","coord":[113.13404280173008,35.134167097471625]},{"name":"晋城市","coord":[112.7495732073233,35.63186423091449]},{"name":"长治市","coord":[112.85900842873183,36.45872910742828]},{"name":"临汾市","coord":[111.49379787924448,36.22810800777857]},{"name":"太原市","coord":[112.15628804033796,37.91704444063036]},{"name":"吕梁市","coord":[111.31901105774872,37.712740463356496]},{"name":"晋中市","coord":[113.08199599739676,37.36532613794343]},{"name":"邯郸市","coord":[114.41824047234618,36.530119932543315]},{"name":"安阳市","coord":[113.88883283163116,35.7797611183252]},{"name":"鹤壁市","coord":[114.3654094911545,35.75770487428472]},{"name":"新乡市","coord":[113.9184107718167,35.348471214026716]},{"name":"开封市","coord":[114.52801677500626,34.61371216679872]},{"name":"周口市","coord":[114.88509782391864,33.69999759722657]},{"name":"阜阳市","coord":[115.44595951398213,32.98060371610532]},{"name":"淮南市","coord":[116.68941991880993,32.79972275772595]},{"name":"蚌埠市","coord":[117.38594715783302,33.106729536033896]},{"name":"淮北市","coord":[116.69651711889378,33.69527529383458]},{"name":"宿州市","coord":[117.30175405886838,33.943330421260015]},{"name":"亳州市","coord":[116.12410804185097,33.46769392946132]},{"name":"商丘市","coord":[115.59575176872548,34.28339840831147]},{"name":"菏泽市","coord":[115.53631974831816,35.197319393220624]},{"name":"濮阳市","coord":[115.3070485514902,35.775883510964334]},{"name":"聊城市","coord":[115.8870069012884,36.40529594548765]},{"name":"邢台市","coord":[114.74259008644859,37.251396750084155]},{"name":"石家庄市","coord":[114.56923838363613,38.13141710980106]},{"name":"阳泉市","coord":[113.39216149668508,38.09075470547468]},{"name":"保定市","coord":[115.261524468934,39.09118520781398]},{"name":"衡水市","coord":[115.8182936677897,37.715661598187154]},{"name":"德州市","coord":[116.4582273790399,37.19372347888644]},{"name":"沧州市","coord":[116.76192710911863,38.20240042039232]},{"name":"廊坊市","coord":[116.50410772133856,39.27896741763884]},{"name":"天津市","coord":[117.31988934444873,39.37154482470619]},{"name":"北京市","coord":[116.59734730757869,40.237112944270976]},{"name":"张家口市","coord":[115.1823606483226,40.83732566607167]},{"name":"唐山市","coord":[117.8693184261954,39.71862889477249]},{"name":"秦皇岛市","coord":[119.30467355367742,39.990574652162564]},{"name":"承德市","coord":[117.16275671911026,41.36623845548547]},{"name":"葫芦岛市","coord":[119.9342336210531,40.5628822626519]},{"name":"朝阳市","coord":[120.11853493535794,41.471852354885755]},{"name":"赤峰市","coord":[118.50943546234379,43.25452976059767]},{"name":"锦州市","coord":[121.5167549323861,41.45933087433065]},{"name":"营口市","coord":[122.58571915054674,40.42093503997384]},{"name":"丹东市","coord":[124.33549382902183,40.46369290272115]},{"name":"辽阳市","coord":[123.34064798039414,41.152331397771356]},{"name":"盘锦市","coord":[122.06718005354679,41.05573599862555]},{"name":"阜新市","coord":[121.93889757908204,42.27641773244204]},{"name":"鞍山市","coord":[122.78904432242356,40.77781183142038]},{"name":"沈阳市","coord":[122.99508899709724,42.1162195010079]},{"name":"铁岭市","coord":[124.23100515588399,42.72666083611828]},{"name":"扶顺市","coord":[124.46027188217573,41.82955407638859]},{"name":"通辽市","coord":[122.0729370657937,43.90889130864869]},{"name":"兴安盟","coord":[120.79456431092532,45.92003249442161]},{"name":"白城市","coord":[123.10619907715235,45.25475749267784]},{"name":"齐齐哈尔市","coord":[124.5462214659102,47.55395009317394]},{"name":"大兴安岭地区","coord":[124.50992855161529,52.18438447846694]},{"name":"黑河市","coord":[127.14721400335922,49.25080134026901]},{"name":"大庆市","coord":[124.40329830095243,46.401048760966745]},{"name":"绥化市","coord":[126.5214484055605,46.76992452194825]},{"name":"松原市","coord":[124.21244334807682,44.75779381338502]},{"name":"四平市","coord":[124.27839350328821,43.52139065090318]},{"name":"通化市","coord":[125.67392830706305,41.91771808663852]},{"name":"辽源市","coord":[125.33529527643432,42.758340204944986]},{"name":"吉林市","coord":[126.83350281902375,43.60730120049175]},{"name":"长春市","coord":[125.53597875970374,44.24624314701737]},{"name":"白山市","coord":[127.16780160322108,42.093893880305075]},{"name":"哈尔滨市","coord":[127.39125008786029,45.36200668820575]},{"name":"鹤岗市","coord":[130.4703811258197,47.66520688940109]},{"name":"伊春市","coord":[128.91240831703635,47.93833794565277]},{"name":"七台河市","coord":[131.2677920224311,45.945099776108584]},{"name":"鸡西市","coord":[132.38059153660274,45.722934218318535]},{"name":"双鸭山市","coord":[132.3184817002743,46.65813679030265]},{"name":"佳木斯市","coord":[132.26174446608726,47.17569713691394]},{"name":"呼伦贝尔市","coord":[122.3210739998419,50.18176996070858]},{"name":"孝感市","coord":[113.83749892135485,31.11757234692128]},{"name":"贵港市","coord":[110.07354588052804,23.380735604767374]},{"name":"黔南布依族苗族自","coord":[107.30931767543106,26.2976919432269]},{"name":"宁德市","coord":[119.52482556634342,27.013151692716413]},{"name":"温州市","coord":[120.30037042732202,27.8699145504001]},{"name":"台州市","coord":[120.88886782713843,28.670799172772313]},{"name":"丽水市","coord":[119.56796851966463,28.170268394477755]},{"name":"衢州市","coord":[118.79479802644406,28.865874397158763]},{"name":"金华市","coord":[119.99381920686633,29.093455548185744]},{"name":"绍兴市","coord":[120.46546691682343,29.69382513836818]},{"name":"宁波市","coord":[121.42142987830871,29.70001162878972]},{"name":"杭州市","coord":[119.4405685790891,29.87218307296989]},{"name":"宣城市","coord":[118.68748382914703,30.628143499626418]},{"name":"湖州市","coord":[119.98261306633574,30.7945175862809]},{"name":"嘉兴市","coord":[120.83889215988998,30.67538495499343]},{"name":"上海市","coord":[121.37534147322967,31.25628247908459]},{"name":"苏州市","coord":[120.6906182622391,31.381280695137775]},{"name":"无锡市","coord":[120.32182300914366,31.54113306724517]},{"name":"常州市","coord":[119.61953292830165,31.611878565375576]},{"name":"南京市","coord":[118.71890548838064,31.910863187910323]},{"name":"镇江市","coord":[119.42349332902813,31.97942313430778]},{"name":"合肥市","coord":[117.30651975617157,31.79407863049138]},{"name":"六安市","coord":[116.24668220575353,31.820846193819513]},{"name":"滁州市","coord":[117.88422385307969,32.51792621904418]},{"name":"泰州市","coord":[120.03124303305091,32.56503102346783]},{"name":"南通市","coord":[120.85599446760912,32.18496706099728]},{"name":"盐城市","coord":[120.01812490612667,33.54219948734023]},{"name":"淮安市","coord":[119.0749424205415,33.39203631772854]},{"name":"宿迁市","coord":[118.45404943216346,33.666258719120265]},{"name":"徐州市","coord":[117.77482249295966,34.30847766157078]},{"name":"济宁市","coord":[116.74147276546373,35.27488504351119]},{"name":"枣庄市","coord":[117.43359942491492,34.884162021736]},{"name":"连云港市","coord":[119.01553213785074,34.54316517587849]},{"name":"临沂市","coord":[118.31478835349617,35.28173079028279]},{"name":"日照市","coord":[119.14265350444272,35.54479073199592]},{"name":"青岛市","coord":[120.27779044405756,36.3464117375903]},{"name":"威海市","coord":[122.12963327195605,37.13879077904251]},{"name":"烟台市","coord":[120.7689567423966,37.19772002195597]},{"name":"潍坊市","coord":[119.02178548592039,36.49292234053931]},{"name":"淄博市","coord":[117.92936024367185,36.60871347163638]},{"name":"泰安市","coord":[116.93810893944303,36.0423330118612]},{"name":"济南市","coord":[117.34560282551296,36.769574973846304]},{"name":"东营市","coord":[118.4915054457184,37.52194690335787]},{"name":"滨州市","coord":[117.67610299757533,37.4439597758601]},{"name":"昆明市","coord":[102.93100245594789,25.481300763922075]},{"name":"玉溪市","coord":[102.23080854291823,24.156168324611663]},{"name":"塔城地区","coord":[83.60908162840168,45.3721852373893]},{"name":"张掖市","coord":[100.47710030600572,38.704239320458385]},{"name":"南阳市","coord":[112.1400670951149,33.03033276715801]},{"name":"扬州市","coord":[119.48949608990988,32.80956776339646]},{"name":"延边朝鲜族自治州","coord":[129.3577692895626,43.24968794080283]},{"name":"牡丹江市","coord":[129.87240796405672,44.7073040108322]},{"name":"澳门","coord":[113.56289691515346,22.14602596262204]},{"name":"吴忠市","coord":[106.76894508116403,37.72566765880316]},{"name":"来宾市","coord":[109.25592217010114,23.86346274681084]},{"name":"平凉市","coord":[107.0708132782897,35.30329631658711]},{"name":"马鞍山市","coord":[118.27245878467022,31.657727937739004]},{"name":"芜湖市","coord":[118.32992684415504,31.081688223101658]},{"name":"澄迈县","coord":[110.04198076060266,19.694955078668105]},{"name":"保亭黎族苗族自治","coord":[109.6055304964257,18.6101488675304]},{"name":"乐东黎族自治县","coord":[109.04051999525574,18.643137437909203]},{"name":"儋州市","coord":[109.3431358337404,19.550974957403195]},{"name":"定安县","coord":[110.38744429685676,19.47557074114284]},{"name":"屯昌县","coord":[110.00574767630334,19.367175093044388]},{"name":"白沙黎族自治县","coord":[109.36860737761768,19.214416393082217]},{"name":"琼中黎族苗族自治","coord":[109.86691465937548,19.073671135862682]},{"name":"东方市","coord":[108.86903802405428,19.017352815445214]},{"name":"昌江黎族自治县","coord":[108.9686431884767,19.182594167127824]},{"name":"海口市","coord":[110.420654296875,19.806565564640795]},{"name":"济源市","coord":[112.38051465474433,35.07958362422394]},{"name":"五指山市","coord":[109.53595187364496,18.832908264613966]},{"name":"大连市","coord":[121.96662235866603,39.444150542439914]},{"name":"文昌市三沙市","coord":[110.81828537536748,19.756501444162936]},{"name":"三亚市","coord":[109.38424600793707,18.39186315877128]},{"name":"万宁市","coord":[110.28485046979574,18.860240588635115]},{"name":"陵水黎族自治县","coord":[109.95577603229562,18.594712684620465]},{"name":"临高县","coord":[109.71915395436967,19.79420403032508]},{"name":"琼海市","coord":[110.41650700703043,19.22315873149372]}]'),Lc=JSON.parse('[{"id":"SalesJan2009","fileName":"SalesJan2009","xField":"Longitude","yField":"Latitude","type":"POINT"},{"id":"Sacramentorealestatetransactions","fileName":"Ealestate transactions","xField":"longitude","yField":"latitude","type":"POINT"},{"id":"BeijingResidentialDistrict","fileName":"北京市住宅小区","xField":"SmX","yField":"SmY","type":"POINT"},{"id":"GlobalRecordOfOver7Earthquakes","fileName":"全球历史7级以上地震记录","xField":"经度","yField":"纬度","type":"POINT"},{"id":"ChinaRecordOfOver6Earthquakes","fileName":"中国历史6级以上地震记录","xField":"经度","yField":"纬度","type":"POINT"},{"id":"ChinaMeteorologicalObservationStation","fileName":"中国气象观测站","xField":"经度","yField":"纬度","type":"POINT"},{"id":"BeijingSubwayLine","fileName":"北京市地铁交通线路","type":"LINE"},{"id":"ChinaEarthquakeIntensityZone","fileName":"中国地震烈度区划面","type":"POLYGON"}]'),Ic=ol.View;var Nc=r.n(Ic);const Fc=ol.interaction.MouseWheelZoom;var kc=r.n(Fc);const Rc=ol.proj.proj4,Dc=ol.proj.Units;var Gc=r.n(Dc);const Bc=ol.layer,jc=ol.format.WMTSCapabilities;var Uc=r.n(jc);const Vc=ol.format.WMSCapabilities;var zc=r.n(Vc);const Jc=ol.geom,qc=ol.source.TileWMS;var Hc=r.n(qc);const Wc=ol.render.Feature;var Yc=r.n(Wc);const Xc=ol.Collection;var Qc=r.n(Xc),Zc=r(478),Kc=r.n(Zc);window.proj4=fl(),window.Proj4js=fl();const $c=new(Ko()),ed=1e3,td={DEGREES:2*Math.PI*6370997/360,DEGREE:2*Math.PI*6370997/360,FEET:.3048,METERS:1,METER:1,M:1,USFEET:1200/3937},rd={default:96,iServerWMTS:90.7142857142857};class sd extends(Na()){constructor(e,t){super(),mo.isObject(e)?(t=e,this.mapId=t.id):this.mapId=e,t=t||{},this.server=t.server,this.successCallback=t.successCallback,this.errorCallback=t.errorCallback,this.credentialKey=t.credentialKey,this.credentialValue=t.credentialValue,this.withCredentials=t.withCredentials||!1,this.target=t.target||"map",this.excludePortalProxyUrl=t.excludePortalProxyUrl||!1,this.serviceProxy=t.serviceProxy||null,this.tiandituKey=t.tiandituKey,this.googleMapsAPIKey=t.googleMapsAPIKey||"",this.proxy=t.proxy,this.layerAdded=0,this.layers=[],this.events=new ve(this,null,["updateDataflowFeature"],!0),this.webMap=t.webMap,this.tileFormat=t.tileFormat&&t.tileFormat.toLowerCase(),this.restDataSingleRequestCount=t.restDataSingleRequestCount||1e3,this.createMap(t.mapSetting),this.webMap?mo.isString(this.webMap)?this.createWebmap(this.webMap):this.getMapInfoSuccess(t.webMap):this.createWebmap()}_removeBaseLayer(){const e=this.map,{layer:t,labelLayer:r}=this.baseLayer;r&&e.removeLayer(r),t&&e.removeLayer(t),this.baseLayer=null}_removeLayers(){const e=this.map;this.layers.forEach(({layerType:t,layer:r,labelLayer:s,pathLayer:i,dataflowService:n})=>{r&&("MIGRATION"!==t?("DATAFLOW_POINT_TRACK"!==t&&"DATAFLOW_HEAT"!==t||(i&&e.removeLayer(i),n&&n.unSubscribe()),s&&e.removeLayer(s),e.removeLayer(r)):r.remove())}),this.layers=[]}_clear(){this.scales=[],this.resolutionArray=[],this.resolutions={},this.layerAdded=0,this._removeBaseLayer(),this._removeLayers()}refresh(){this._clear(),this.createWebmap()}createMap(e){let t,r,s;e&&(s=e.interactions,t=e.overlays,r=e.controls),this.map=new(Go())({interactions:s,overlays:t,controls:r,target:this.target}),e&&this.registerMapEvent({mapClickCallback:e.mapClickCallback})}registerMapEvent(e){this.map.on("click",function(t){e.mapClickCallback&&e.mapClickCallback(t)})}createWebmap(e){let t;if(e)t=e;else{let e=this.server.split("");"/"!==e[e.length-1]&&(this.server+="/"),t=this.server+"web/maps/"+this.mapId+"/map";let r="getUrlResource.json?url=";if(this.excludePortalProxyUrl&&this.server.indexOf(r)>-1){let e=this.server.split(r);e.length>1&&(t=e[0]+r+this.server+"web/maps/"+this.mapId+"/map.json")}}this.getMapInfo(t)}getMapInfo(e){let t=this,r=e;-1===e.indexOf(".json")&&(r=`${e}.json`),Be.get(t.getRequestUrl(r),null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(e){t.getMapInfoSuccess(e)}).catch(function(e){t.errorCallback&&t.errorCallback(e,"getMapFaild",t.map)})}async getMapInfoSuccess(e){let t=this;if(!1===e.succeed)return void(t.errorCallback&&t.errorCallback(e.error,"getMapFaild",t.map));let r=await t.handleCRS(e.projection,e.baseLayer.url);if(t.mapParams={title:e.title,description:e.description},"BrowseMap"===r.action)t.createSpecLayer(e);else{if("OpenMap"!==r.action)return void(t.errorCallback&&t.errorCallback({type:"Not support CS",errorMsg:`Not support CS: ${e.projection}`},"getMapFaild",t.map));t.baseProjection=r.newCrs||e.projection,t.webMapVersion=e.version,t.baseLayer=e.baseLayer,t.isHaveGraticule=e.grid&&e.grid.graticule,e.baseLayer&&"MAPBOXSTYLE"===e.baseLayer.layerType?t.addMVTMapLayer(e,e.baseLayer,0).then(async()=>{t.createView(e),e.layers&&0!==e.layers.length?await t.addLayers(e):t.sendMapToUser(0),t.addGraticule(e)}).catch(function(e){t.errorCallback&&t.errorCallback(e,"getMapFaild",t.map)}):(await t.addBaseMap(e),e.layers&&0!==e.layers.length?await t.addLayers(e):t.sendMapToUser(0),t.addGraticule(e))}}async handleCRS(e,t){let r=this,s={},i=e,n="OpenMap";return this.isCustomProjection(e)?await Be.get(r.getRequestUrl(`${t}/prjCoordSys.wkt`),null,{withCredentials:r.withCredentials,withoutFormatSuffix:!0}).then(function(e){return e.text()}).then(async function(t){if(-1!==t.indexOf("<!doctype html>"))throw"ERROR";r.addProjctionFromWKT(t,e),s={action:n,newCrs:i}}).catch(function(){s={action:n="BrowseMap",newCrs:i}}):(0===e.indexOf("EPSG")&&e.split(":")[1]<=0?n="BrowseMap":"EPSG:910111"===e||"EPSG:910112"===e?i="EPSG:3857":"EPSG:910101"===e||"EPSG:910102"===e?i="EPSG:4326":0!==e.indexOf("EPSG")&&(r.addProjctionFromWKT(i),i=r.getEpsgInfoFromWKT(e)),s={action:n,newCrs:i}),s}getScales(e){let t,r,s=[],i={},n=[],a=e.coordUnit||Ua.get(e.projection).getUnits();if(a||(a="EPSG:3857"==this.baseProjection?"m":"degree"),e.visibleScales&&e.visibleScales.length>0)e.visibleScales.forEach(e=>{let r=1/e;t=this.getResFromScale(r,a),e=`1:${r}`,i[this.formatScale(e)]=t,n.push(t),s.push(e)},this);else if("WMTS"===e.layerType)e.scales.forEach(e=>{t=this.getResFromScale(e,a,90.7),e=`1:${e}`,i[this.formatScale(e)]=t,n.push(t),s.push(e)},this);else{let{minZoom:o=0,maxZoom:l=22}=e,h=this.map.getView();for(let e=o;e<=l;e++)if(t=h.getResolutionForZoom(e),r=this.getScaleFromRes(t,a),-1===s.indexOf(r)){s.push(r);let e=r.replace(/,/g,"");i[e]=t,n.push(t)}}this.scales=s,this.resolutions=i,this.resolutionArray=n}getResFromScale(e,t="DEGREE",r=96){return.0254*e/r/td[t.toUpperCase()]}getScaleFromRes(e,t="DEGREE",r=96){let s;return"1:"+(s=e*r*td[t.toUpperCase()]/.0254)}formatScale(e){return e.replace(/,/g,"")}createSpecLayer(e){let t=this,r=e.baseLayer,s=r.url,i=r.layerType,n=[e.extent.leftBottom.x,e.extent.leftBottom.y,e.extent.rightTop.x,e.extent.rightTop.y],a=new Ua.Projection({extent:n,units:"m",code:"EPSG:0"});Ua.addProjection(a);let o={center:e.center,level:0};t.baseProjection=a;let l={center:o.center?[o.center.x,o.center.y]:[0,0],zoom:0,projection:a};["4","5"].indexOf(mo.getOlVersion())<0&&(l.multiWorld=!0);let h,u=new(Nc())(l);t.map.setView(u),t.mapParams&&(t.mapParams.extent=n,t.mapParams.projection=e.projection),s&&s.indexOf("?token=")>-1&&(t.credentialKey="token",t.credentialValue=e.baseLayer.credential=s.split("?token=")[1],s=s.split("?token=")[0]),"TILE"===i?Be.get(t.getRequestUrl(`${s}.json`),null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(e){r.originResult=e;let i="IPORTAL",n=r.credential,a="Token",o=r.url;(r.url.indexOf("www.supermapol.com")>-1||r.url.indexOf("itest.supermapol.com")>-1)&&(a="Key",o=[o],i="ONLINE"),n&&je[`register${a}`](o,n);let l={serverType:i,url:s,tileGrid:dl.optionsFromMapJSON(s,e).tileGrid};s&&!t.isSameDomain(s)&&(l.tileProxy=t.server+"apps/viewer/getUrlResource.png?url="),h=new dl(l),t.addSpecToMap(h)}).catch(function(e){t.errorCallback&&t.errorCallback(e,"getMapFaild",t.map)}):"WMS"===i?(h=t.createWMSSource(r),t.addSpecToMap(h)):"WMTS"===i?Be.get(t.getRequestUrl(s,!0),null,{withCredentials:this.withCredentials}).then(function(e){return e.text()}).then(function(s){r.extent=[e.extent.leftBottom.x,e.extent.leftBottom.y,e.extent.rightTop.x,e.extent.rightTop.y],r.scales=t.getWMTSScales(r.tileMatrixSet,s),r.dpi=rd.iServerWMTS,h=t.createWMTSSource(r),t.addSpecToMap(h)}).catch(function(e){t.errorCallback&&t.errorCallback(e,"getMapFaild",t.map)}):t.errorCallback&&t.errorCallback({type:"Not support CS",errorMsg:`Not support CS: ${i}`},"getMapFaild",t.map),u&&u.fit(n)}addSpecToMap(e){let t=new Bc.Tile({source:e,zIndex:0});this.map.addLayer(t),this.sendMapToUser(0)}getWMTSScales(e,t){let r=(new(Uc())).read(t).Contents.TileMatrixSet,s=[];for(let t=0;t<r.length;t++)if(r[t].Identifier===e){for(let e=0;e<r[t].TileMatrix.length;e++)s.push(r[t].TileMatrix[e].ScaleDenominator);break}return s}async addBaseMap(e){let{baseLayer:t}=e,r=t.layerType;"TILE"!==r&&"WMS"!==r&&"WMTS"!==r?this.getInternetMapInfo(t):"WMTS"===r?await this.getWmtsInfo(t):"TILE"===r?await this.getTileInfo(t):"WMS"===r&&await this.getWmsInfo(t),t.projection=e.projection,t.extent||(t.extent=[e.extent.leftBottom.x,e.extent.leftBottom.y,e.extent.rightTop.x,e.extent.rightTop.y]),this.createView(e);let s=this.createBaseLayer(t,0,null,null,!0);if(s.setProperties({layerType:r}),this.map.addLayer(s),this.mapParams&&(this.mapParams.extent=t.extent,this.mapParams.projection=e.projection),t.labelLayerVisible){let r=new Bc.Tile({source:this.createTiandituSource(t.layerType,e.projection,!0),zIndex:t.zIndex||1,visible:t.visible});this.map.addLayer(r),t.labelLayer=r}this.limitScale(e,t)}validScale(e){if(!e)return!1;const t=e.split(":")[1];if(!t)return!1;const r=1/+t;return!(r===1/0||r>=1)}limitScale(e,t){if(this.validScale(e.minScale)&&this.validScale(e.maxScale)){let r,s,i;if("WMTS"===t.layerType)r=t.scales,s=+e.minScale.split(":")[1],i=+e.maxScale.split(":")[1];else{const n=this.scales.map(e=>1/e.split(":")[1]);r=Array.isArray(t.visibleScales)&&t.visibleScales.length&&t.visibleScales?t.visibleScales:n,s=1/+e.minScale.split(":")[1],i=1/+e.maxScale.split(":")[1]}const n=this.findNearest(r,s),a=this.findNearest(r,i);let o=r.indexOf(n),l=r.indexOf(a);o>l&&([o,l]=[l,o]),0===o&&l===r.length-1||(this.map.setView(new(Nc())(Object.assign({},this.map.getView().options_,{maxResolution:void 0,minResolution:void 0,minZoom:o,maxZoom:l,constrainResolution:!1}))),this.map.addInteraction(new(kc())({constrainResolution:!0})))}}parseNumber(e){return Number(e.split(":")[1])}findNearest(e,t){let r=0,s=t;for(let t=1,i=e.length;t<i;t++)Math.abs(e[t]-s)<Math.abs(e[r]-s)&&(r=t);return e[r]}addMVTMapLayer(e,t,r){return t.zIndex=r,this.getMapboxStyleLayerInfo(e,t).then(e=>this.createMVTLayer(e).then(e=>{let r=mo.newGuid(8);t.name&&e.setProperties({name:t.name,layerID:r,layerType:"VECTOR_TILE"}),t.visibleScale&&this.setVisibleScales(e,t.visibleScale),t.layer=e,t.layerID=r,this.map.addLayer(e)})).catch(function(e){throw e})}createView(e){let t,r=e.center,s=void 0!==e.level?e.level:1,i=e.maxZoom||22,n=this.baseProjection,a=[];for(let e in r)a.push(r[e]);0===a.length&&(a=[0,0]),this.baseLayerExtent=t=e.baseLayer&&e.baseLayer.extent,this.mapParams&&(this.mapParams.extent=t,this.mapParams.projection=n),!(0,$o.containsCoordinate)(t,a)&&(a=(0,$o.getCenter)(t));let o,l=e.baseLayer;if(l.visibleScales&&l.visibleScales.length>0||l.scales&&l.scales.length>0)this.getScales(l);else if(e.baseLayer&&t&&4===t.length){let e=(t[2]-t[0])/512,r=(t[3]-t[1])/512;o=Math.max(e,r)}this.map.setView(new(Nc())({zoom:s,center:a,projection:n,maxZoom:i,maxResolution:o}));let h={};if(l.scales&&l.scales.length>0&&"WMTS"===l.layerType||this.resolutionArray&&this.resolutionArray.length>0?h={zoom:s,center:a,projection:n,resolutions:this.resolutionArray,maxZoom:i}:"WMTS"===l.layerType?(h={zoom:s,center:a,projection:n,maxZoom:i},this.getScales(l)):(h={zoom:s,center:a,projection:n,maxResolution:o,maxZoom:i},this.getScales(l)),["4","5"].indexOf(mo.getOlVersion())<0&&(h.multiWorld=!0,h.showFullExtent=!0,h.enableRotation=!1,h.constrainResolution=!0),this.map.setView(new(Nc())(h)),e.visibleExtent){const t=this.map.getView(),r=t.getResolutionForExtent(e.visibleExtent,this.map.getSize());t.setResolution(r),t.setCenter((0,$o.getCenter)(e.visibleExtent))}}createBaseLayer(e,t,r,s,i){let n,a=this;s&&(a=s);let o=e.layerType;switch((o.indexOf("TIANDITU_VEC")>-1||o.indexOf("TIANDITU_IMG")>-1||o.indexOf("TIANDITU_TER")>-1)&&(o=o.substr(0,12)),o){case"TIANDITU_VEC":case"TIANDITU_IMG":case"TIANDITU_TER":n=this.createTiandituSource(o,e.projection);break;case"BAIDU":n=this.createBaiduSource();break;case"BING":n=this.createBingSource(e,e.projection);break;case"WMS":n=this.createWMSSource(e);break;case"WMTS":n=a.createWMTSSource(e);break;case"TILE":case"SUPERMAP_REST":n=a.createDynamicTiledSource(e,i);break;case"CLOUD":case"CLOUD_BLACK":case"OSM":case"JAPAN_ORT":case"JAPAN_RELIEF":case"JAPAN_PALE":case"JAPAN_STD":case"GOOGLE_CN":case"GOOGLE":n=this.createXYZSource(e)}var l=new Bc.Tile({source:n,zIndex:e.zIndex||1,visible:e.visible}),h=mo.newGuid(8);e.name&&l.setProperties({name:e.name,layerID:h}),void 0!==e.visible&&null!==e.visible||(e.visible=!0),l.setVisible(e.visible),e.opacity&&l.setOpacity(e.opacity),t&&l.setZIndex(t),e.layer=l,e.layerID=h;let u,c,{visibleScale:d,autoUpdateTime:p}=e;return d&&(c=this.resolutions[d.minScale],u=this.resolutions[d.maxScale],c>1?l.setMaxResolution(Math.ceil(c)):l.setMaxResolution(1.1*c),l.setMinResolution(u)),p&&!e.autoUpdateInterval&&(e.autoUpdateInterval=setInterval(()=>{a.updateTileToMap(e,t)},p)),r&&(l.setZIndex(0),a.map.addLayer(l)),l}updateTileToMap(e,t){this.map.removeLayer(e.layer),this.map.addLayer(this.createBaseLayer(e,t))}getInternetMapInfo(e){const t=[-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892],r=[-180,-90,180,90],s=[-20037508.34,-20037508.34,20037508.34,20037508.34],i=[12555667.53929,1281852.98656,17525908.86651,7484870.70596],n=[-19741117.14519,-10003921.36848,19981677.71404,19660983.56089];switch(e.units="m",e.layerType){case"BAIDU":e.iServerUrl="https://map.baidu.com/",e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=19,e.level=1,e.extent=t;break;case"CLOUD":e.url="http://t2.dituhui.com/FileService/image?map=quanguo&type=web&x={x}&y={y}&z={z}",e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=18,e.level=1,e.extent=t;break;case"CLOUD_BLACK":e.url="http://t3.dituhui.com/MapService/getGdp?x={x}&y={y}&z={z}",e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=18,e.level=1,e.extent=t;break;case"tencent":e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=18,e.level=1,e.extent=t;break;case"TIANDITU_VEC_3857":case"TIANDITU_IMG_3857":case"TIANDITU_TER_3857":e.iserverUrl="https://map.tianditu.gov.cn/",e.epsgCode="EPSG:3857",e.minZoom=0,e.maxZoom=19,e.level=1,e.extent=t,"TIANDITU_TER_3857"===e.layerType&&(e.maxZoom=14);break;case"TIANDITU_VEC_4326":case"TIANDITU_IMG_4326":case"TIANDITU_TER_4326":e.iserverUrl="https://map.tianditu.gov.cn/",e.epsgCode="EPSG:4326",e.minZoom=0,e.maxZoom=19,e.level=1,e.extent=r,"TIANDITU_TER_4326"===e.layerType&&(e.maxZoom=14);break;case"OSM":e.url="http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=19,e.level=1,e.extent=s,e.iserverUrl="https://www.openstreetmap.org";break;case"GOOGLE":e.url=`https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i540264686!3m12!2s${this.getLang()}!3sUS!5e18!12m4!1e68!2m2!1sset!2sRoadmap!12m3!1e37!2m1!1ssmartmaps!4e0&key=${this.googleMapsAPIKey}`,e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=22,e.level=1,e.extent=s,e.iserverUrl="https://www.google.cn/maps";break;case"JAPAN_STD":e.url="https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png",e.epsgCode="EPSG:3857",e.minZoom=1,e.maxZoom=19,e.level=0,e.extent=s;break;case"JAPAN_PALE":e.url="https://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png",e.epsgCode="EPSG:3857",e.minZoom=2,e.maxZoom=19,e.level=2,e.extent=s;break;case"JAPAN_RELIEF":e.url="https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png",e.epsgCode="EPSG:3857",e.minZoom=5,e.maxZoom=14,e.level=5,e.extent=i;break;case"JAPAN_ORT":e.url="https://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg",e.epsgCode="EPSG:3857",e.minZoom=2,e.maxZoom=12,e.level=2,e.extent=n}}createDynamicTiledSource(e,t){let r="IPORTAL",s=e.credential?e.credential.token:void 0,i="Token",n=e.url;(e.url.indexOf("www.supermapol.com")>-1||e.url.indexOf("itest.supermapol.com")>-1)&&(i="Key",n=[n],r="ONLINE"),s&&je[`register${i}`](n,s);let a={transparent:!0,url:e.url,wrapX:!1,serverType:r,format:e.format};if(t||this.isCustomProjection(this.baseProjection)||(a.prjCoordSys={epsgCode:this.baseProjection.split(":")[1]}),e.visibleScales&&e.visibleScales.length>0){let t=[];for(let r in e.visibleScales){let s=mo.scaleToResolution(e.visibleScales[r],rd.default,e.coordUnit);t.push(s)}e.visibleResolutions=t;let r=new(qo())({extent:e.extent,resolutions:t});a.tileGrid=r}else{a.extent=this.baseLayerExtent;let t=new(qo())({extent:e.extent,resolutions:this.getResolutionsFromBounds(e.extent)});a.tileGrid=t}e.url&&!this.isSameDomain(e.url)&&"webp"!==e.format&&(a.tileProxy=this.server+"apps/viewer/getUrlResource.png?url=");let o=new dl(a);return je[`register${i}`](e.url),o}getResolutionsFromBounds(e){let t=[],r=Math.abs(e[0]-e[2])/512;for(let e=0;e<22;e++)0!==e?(r/=2,t[e]=r):t[e]=r;return t}createTiandituSource(e,t,r){let s={layerType:e.split("_")[1].toLowerCase(),isLabel:r||!1,projection:t,url:`https://t{0-7}.tianditu.gov.cn/{layer}_{proj}/wmts?tk=${this.tiandituKey}`};return new hl(s)}createBaiduSource(){return new Ho}createBingSource(e,t){return new(rl())({wrapX:!1,projection:t,crossOrigin:"anonymous",tileUrlFunction:function(e){let[t,r,s]=[...e];s=s>0?s-1:-s-1;let i="";for(let e=t;e>0;e--){let t=0,n=1<<e-1;0!=(r&n)&&t++,0!=(s&n)&&(t+=2),i+=t.toString()}return"https://dynamic.t0.tiles.ditu.live.com/comp/ch/{quadKey}?it=G,TW,L,LA&mkt=zh-cn&og=109&cstl=w4c&ur=CN&n=z".replace("{quadKey}",i)}})}createXYZSource(e){return new(rl())({url:e.url,wrapX:!1,crossOrigin:"anonymous"})}createWMSSource(e){return new(Hc())({url:e.url,wrapX:!1,params:{LAYERS:e.layers?e.layers[0]:"0",FORMAT:"image/png",VERSION:e.version||"1.3.0"},projection:e.projection||this.baseProjection,tileLoadFunction:function(e,t){e.getImage().src=t}})}async getTileLayerExtent(e,t,r){let s=this,i=await s.getTileLayerExtentInfo(e);if(!1===i.succeed)if(400===i.error.code){let i=await s.getTileLayerExtentInfo(e,!1);!1===i.succeed?r():(Object.assign(e,i),t(e))}else r();else Object.assign(e,i),t(e)}getTileLayerExtentInfo(e,t=!0){let r,s=this,i=e.url.trim(),n=e.credential,a={withCredentials:this.withCredentials,withoutFormatSuffix:!0};if(t){let e={epsgCode:s.baseProjection.split(":")[1]};s.isCustomProjection(s.baseProjection)||(i+=".json?prjCoordSys="+encodeURI(JSON.stringify(e)))}return n&&(i=`${i}&token=${encodeURI(n.token)}`,r=n.token),Be.get(s.getRequestUrl(`${i}.json`),null,a).then(function(e){return e.json()}).then(async t=>{if(!1===t.succeed)return t;let i="png";if("webp"===s.tileFormat){i=await s.isSupportWebp(e.url,r)?"webp":"png"}return{units:t.coordUnit&&t.coordUnit.toLowerCase(),coordUnit:t.coordUnit,visibleScales:t.visibleScales,extent:[t.bounds.left,t.bounds.bottom,t.bounds.right,t.bounds.top],projection:`EPSG:${t.prjCoordSys.epsgCode}`,format:i}}).catch(e=>({succeed:!1,error:e}))}getTileInfo(e,t,r){let s=this,i={withCredentials:this.withCredentials,withoutFormatSuffix:!0};return e.url.indexOf("?token=")>-1&&(s.credentialKey="token",s.credentialValue=e.credential=e.url.split("?token=")[1],e.url=e.url.split("?token=")[0]),Be.get(s.getRequestUrl(`${e.url}.json`),null,i).then(function(e){return e.json()}).then(async function(i){if(i&&i.code&&200!==i.code)throw i;i.visibleScales&&(e.visibleScales=i.visibleScales,e.coordUnit=i.coordUnit),e.maxZoom=i.maxZoom,e.maxZoom=i.minZoom;let n=e.credential?e.credential.token:void 0;if(e.format="png","webp"===s.tileFormat&&"https://maptiles.supermapol.com/iserver/services/map_China/rest/maps/China_Dark"!==e.url){const t=await s.isSupportWebp(e.url,n);e.format=t?"webp":"png"}r?t&&t(r,null,!0,s):t&&t(e)}).catch(function(e){s.errorCallback&&s.errorCallback(e,"getTileInfo",s.map)})}getWMTSUrl(e,t){let r="?";return e.indexOf("?")>-1&&(r="&"),e+=t?r+"SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities":r+"/1.0.0/WMTSCapabilities.xml",this.getRequestUrl(e,!0)}getWmtsInfo(e,t){let r=this,s={withCredentials:r.withCredentials,withoutFormatSuffix:!0};const i=!e.requestEncoding||"KVP"===e.requestEncoding;return Be.get(r.getWMTSUrl(e.url,i),null,s).then(function(e){return e.text()}).then(function(s){let n=(new(Uc())).read(s);if(r.isValidResponse(n)){let s,o,l,h=n.Contents,u=h.TileMatrixSet,c=h.Layer,d="default";for(let t=0;t<c.length;t++)if(c[t].Identifier===e.layer){l=(s=c[o=t]).Format[0];var a=s.WGS84BoundingBox;break}s&&s.Style&&s.Style.forEach(e=>{e.isDefault&&(d=e.Identifier)});let p=[],f=[];for(let t=0;t<u.length;t++)if(u[t].Identifier===e.tileMatrixSet){let r=`EPSG:${u[t].SupportedCRS.split("::")[1]}`;for(let e=0;e<u[t].TileMatrix.length;e++)p.push(u[t].TileMatrix[e].ScaleDenominator),f.push(u[t].TileMatrix[e].Identifier);let s=u[t].TileMatrix[0].TopLeftCorner;e.origin=["EPSG:4326","EPSG:4490"].indexOf(r)>-1?[s[1],s[0]]:s;break}let m,y=e.name;a?(a[0]<-180&&(a[0]=-180),a[1]<-90&&(a[1]=-90),a[2]>180&&(a[2]=180),a[3]>90&&(a[3]=90),m=Ua.transformExtent(a,"EPSG:4326",r.baseProjection)):m=Ua.get(r.baseProjection).getExtent(),e.tileUrl=r.getTileUrl(n.OperationsMetadata.GetTile.DCP.HTTP.Get,s,l,i),e.extent=m,e.name=y,e.orginEpsgCode=e.projection,e.overLayer=!0,e.scales=p,e.style=d,e.title=y,e.unit="m",e.layerFormat=l,e.matrixIds=f,t&&t(e)}}).catch(function(e){r.errorCallback&&r.errorCallback(e,"getWmtsFaild",r.map)})}getWmsInfo(e){let t=this,r=e.url.trim();r+=r.indexOf("?")>-1?"&SERVICE=WMS&REQUEST=GetCapabilities":"?SERVICE=WMS&REQUEST=GetCapabilities";let s={withCredentials:t.withCredentials,withoutFormatSuffix:!0};return new Promise(function(i){return Be.get(t.getRequestUrl(r,!0),null,s).then(function(e){return e.text()}).then(async function(t){let r=(new(zc())).read(t);if(r){let t=r.Capability.Layer.Layer,s=e.projection;e.subLayers=e.layers[0],e.version=r.version;for(let r=0;r<t.length;r++)if(e.layers[0]===t[r].name){let i=t[r];if(i.bbox[s]){let t=i.bbox[s].bbox;"1.3.0"===e.version&&"EPSG:4326"===e.projection||"1.3.0"===e.version&&"EPSG:4490"===e.projection?e.extent=[t[1],t[0],t[3],t[2]]:e.extent=t;break}}}i()}).catch(function(e){t.errorCallback&&t.errorCallback(e,"getWMSFaild",t.map),i()})})}getTileUrl(e,t,r,s){let i;if(s)e.forEach(e=>{"KVP"===e.Constraint[0].AllowedValues.Value[0].toUpperCase()&&(i=e.href)});else{const e=t.ResourceURL.filter(e=>e.format===r);i=e[0].template}return i}createWMTSSource(e){let t=e.extent||Ua.get(e.projection).getExtent(),r=Ua.get(this.baseProjection).getUnits();return new(nl())({url:e.tileUrl||e.url,layer:e.layer,format:e.layerFormat,style:e.style,matrixSet:e.tileMatrixSet,requestEncoding:e.requestEncoding||"KVP",tileGrid:this.getWMTSTileGrid(t,e.scales,r,e.dpi,e.origin,e.matrixIds),tileLoadFunction:function(t,r){r.indexOf("tianditu.gov.cn")>=0?t.getImage().src=`${r}&tk=${$.getParameters(e.url).tk}`:t.getImage().src=r}})}getWMTSTileGrid(e,t,r,s,i,n){let a=this.getReslutionsFromScales(t,s||rd.iServerWMTS,r);return new(ll())({origin:i,extent:e,resolutions:a.res,matrixIds:n||a.matrixIds})}getReslutionsFromScales(e,t,r,s){r=r&&r.toLowerCase()||"degrees",t=t||rd.iServerWMTS,s=s||6378137;let i=[],n=[];if(mo.isArray(e))e&&e.forEach(function(e,a){e>1&&(n.push(a),i.push(this.getResolutionFromScale(e,t,r,s)))},this);else{let a=e.TileMatrix;a&&a.forEach(function(e){n.push(e.Identifier),i.push(this.getResolutionFromScale(e.ScaleDenominator,t,r,s))},this)}return{res:i,matrixIds:n}}getResolutionFromScale(e,t=rd.default,r,s){let i;return e=(e=+e)>1?1/e:e,i="degrees"===r||"dd"===r||"degree"===r?254/t/e/(2*Math.PI*s/360)/1e4:254/t/e/1e4}isValidResponse(e){let t=["Contents","OperationsMetadata"],r=!0;for(let s=0;s<t.length;s++)if(!e[t[s]]||e.error){r=!1;break}return r}async addLayers(e){let t=e.layers,r=this,s=[],i=t.length;if(i>0){this.layers=t;for(let n=0;n<t.length;n++){const a=t[n];let o=n+1,l=a.dataSource,h=l&&"SAMPLE_DATA"===l.type&&!!l.name;if("MAPBOXSTYLE"===a.layerType)r.addMVTMapLayer(e,a,o).then(()=>{r.layerAdded++,r.sendMapToUser(i)}).catch(function(e){r.layerAdded++,r.sendMapToUser(i),r.errorCallback&&r.errorCallback(e,"getLayerFaild",r.map)});else if(l&&l.serverId||"MARKER"===a.layerType||"HOSTED_TILE"===a.layerType||h){let e=a.dataSource,t=e?e.serverId:a.serverId;if(!t&&!h)return await r.addLayer(a,null,o),r.layerAdded++,void r.sendMapToUser(i);if("MARKER"===a.layerType||e&&(!e.accessType||"DIRECT"===e.accessType)||h){let n=h?`${r.server}apps/dataviz/libs/sample-datas/${e.name}.json`:`${r.server}web/datas/${t}/content.json?pageSize=9999999&currentPage=1`;n=r.getRequestUrl(n),Be.get(n,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(async function(e){if(!1===e.succeed)return r.layerAdded++,r.sendMapToUser(i),void(r.errorCallback&&r.errorCallback(e.error,"getLayerFaild",r.map));if(e&&e.type){if("JSON"===e.type||"GEOJSON"===e.type)e.content=e.content.type?e.content:JSON.parse(e.content),s=r.geojsonToFeature(e.content,a);else if("EXCEL"===e.type||"CSV"===e.type)if(a.dataSource&&a.dataSource.administrativeInfo){e.content.rows.unshift(e.content.colTitles);let{divisionType:t,divisionField:i}=a.dataSource.administrativeInfo,n=r.excelData2FeatureByDivision(e.content,t,i);s=r._parseGeoJsonData2Feature({allDatas:{features:n.features},fileCode:a.projection})}else s=await r.excelData2Feature(e.content,a);else if("SHP"===e.type){let t=JSON.parse(e.content);e.content=t.layers[0],s=r.geojsonToFeature(e.content,a)}await r.addLayer(a,s,o),r.layerAdded++,r.sendMapToUser(i)}}).catch(function(e){r.layerAdded++,r.sendMapToUser(i),r.errorCallback&&r.errorCallback(e,"getLayerFaild",r.map)})}else{let t="HOSTED_TILE"===a.layerType,s=e?e.serverId:a.serverId;r.checkUploadToRelationship(s).then(function(e){if(e&&e.length>0){let n=e[0].name,l=e[0].type.toUpperCase();r.getDataService(s,n).then(async function(e){let s=e.dataItemServices;if(0===s.length)return r.layerAdded++,r.sendMapToUser(i),void(r.errorCallback&&r.errorCallback(null,"getLayerFaild",r.map));if(t){let e=r.getService(s,"RESTDATA");r.isMvt(e.address,n).then(async e=>{await r.getServiceInfoFromLayer(o,i,a,s,n,l,e)}).catch(async()=>{await r.getServiceInfoFromLayer(o,i,a,s,n,l)})}else await r.getServiceInfoFromLayer(o,i,a,s,n,l)})}else r.layerAdded++,r.sendMapToUser(i),r.errorCallback&&r.errorCallback(null,"getLayerFaild",r.map)}).catch(function(e){r.layerAdded++,r.sendMapToUser(i),r.errorCallback&&r.errorCallback(e,"getLayerFaild",r.map)})}}else l&&"USER_DATA"===l.type?r.addGeojsonFromUrl(a,i,o,!1):"TILE"===a.layerType?r.getTileLayerExtent(a,function(e){r.map.addLayer(r.createBaseLayer(e,o)),r.layerAdded++,r.sendMapToUser(i)},function(e){r.layerAdded++,r.sendMapToUser(i),r.errorCallback&&r.errorCallback(e,"getLayerFaild",r.map)}):"SUPERMAP_REST"===a.layerType||"WMS"===a.layerType||"WMTS"===a.layerType?"WMTS"===a.layerType?r.getWmtsInfo(a,function(e){r.map.addLayer(r.createBaseLayer(e,o)),r.layerAdded++,r.sendMapToUser(i)}):"WMS"===a.layerType?r.getWmsInfo(a).then(()=>{r.map.addLayer(r.createBaseLayer(a,o)),r.layerAdded++,r.sendMapToUser(i)}):(a.projection=r.baseProjection,r.map.addLayer(r.createBaseLayer(a,o)),r.layerAdded++,r.sendMapToUser(i)):l&&"REST_DATA"===l.type?r.getFeaturesFromRestData(a,o,i):l&&"REST_MAP"===l.type&&l.url?Tl(l.url,l.layerName,"smid=1",null,null,function(e){var t=e&&e.result.recordsets,s=t&&t[0],n=s.fields;if(s&&n){let e=[];for(var l in n){var h=n[l];0===h.indexOf("Sm")&&"SmID"!==h||e.push(h)}r.getFeatures(e,a,async function(e){await r.addLayer(a,e,o),r.layerAdded++,r.sendMapToUser(i)},function(e){r.layerAdded++,r.errorCallback&&r.errorCallback(e,"getFeatureFaild",r.map)})}},function(e){r.errorCallback&&r.errorCallback(e,"getFeatureFaild",r.map)}):"DATAFLOW_POINT_TRACK"!==a.layerType&&"DATAFLOW_HEAT"!==a.layerType||r.getDataflowInfo(a,async function(){await r.addLayer(a,s,o),r.layerAdded++,r.sendMapToUser(i)},function(e){r.layerAdded++,r.errorCallback&&r.errorCallback(e,"getFeatureFaild",r.map)})}}}addGeojsonFromUrl(e,t,r,s=this.withCredentials){let{dataSource:i}=e,{url:n}=i,a=this;Be.get(n,null,{withCredentials:s,withoutFormatSuffix:!0}).then(function(e){return e.json()}).then(async function(s){if(s&&!1!==s.succeed){var i;if("CSV"===s.type||"EXCEL"===s.type)if(e.dataSource&&e.dataSource.administrativeInfo){s.content.rows.unshift(s.content.colTitles);let{divisionType:t,divisionField:r}=e.dataSource.administrativeInfo,n=a.excelData2FeatureByDivision(s.content,t,r);i=a._parseGeoJsonData2Feature({allDatas:{features:n.features},fileCode:e.projection})}else i=await a.excelData2Feature(s.content,e);else{var n=s.content?JSON.parse(s.content):s;i=a.geojsonToFeature(n,e)}t?(await a.addLayer(e,i,r),a.layerAdded++,a.sendMapToUser(t)):(a.map.removeLayer(e.layer),e.labelLayer&&a.map.removeLayer(e.labelLayer),await a.addLayer(e,i,r))}else t?a.errorCallback&&a.errorCallback(s.error,"autoUpdateFaild",a.map):(a.layerAdded++,a.sendMapToUser(t),a.errorCallback&&a.errorCallback(s.error,"getLayerFaild",a.map))}).catch(function(e){a.layerAdded++,a.sendMapToUser(t),a.errorCallback&&a.errorCallback(e,"getLayerFaild",a.map)})}async getServiceInfoFromLayer(e,t,r,s,i,n,a){let o=this,l=a?!a.isMvt:"HOSTED_TILE"===r.layerType,h=!1;for(let u=0;u<s.length;u++){const c=s[u];if(h)return;if(c&&l&&"RESTMAP"===c.serviceType)h=!0,o.getTileLayerInfo(c.address).then(function(s){s.forEach(function(s){let i=s.bounds;r.layerType="TILE",r.orginEpsgCode=o.baseProjection,r.units=s.coordUnit&&s.coordUnit.toLowerCase(),r.extent=[i.left,i.bottom,i.right,i.top],r.visibleScales=s.visibleScales,r.url=s.url,r.sourceType="TILE",o.map.addLayer(o.createBaseLayer(r,e)),o.layerAdded++,o.sendMapToUser(t)})});else if(c&&!l&&"RESTDATA"===c.serviceType)if(h=!0,a&&a.isMvt){let s=a.bounds;r=Object.assign(r,{layerType:"VECTOR_TILE",epsgCode:a.epsgCode,projection:`EPSG:${a.epsgCode}`,bounds:s,extent:[s.left,s.bottom,s.right,s.top],name:r.name,url:a.url,visible:r.visible,featureType:n,serverId:r.serverId.toString()}),o.map.addLayer(await o.addVectorTileLayer(r,e,"RESTDATA")),o.layerAdded++,o.sendMapToUser(t)}else h=!0,o.getDatasources(c.address).then(function(s){r.dataSource.dataSourceName=s+":"+i,r.dataSource.url=`${c.address}/data`,o.getFeaturesFromRestData(r,e,t)})}h||(o.layerAdded++,o.sendMapToUser(t),o.errorCallback&&o.errorCallback(null,"getLayerFaild",o.map))}getDataflowInfo(e,t,r){let s,i=e.url,n=this.getRequestUrl(`${i}.json`,!1);e.credential&&e.credential.token&&(n+=`?token=${s=e.credential.token}`),Be.get(n,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(r){e.featureType="POINT",r&&r.featureMetaData&&(e.featureType=r.featureMetaData.featureType.toUpperCase()),e.wsUrl=r.urls[0].url,t()}).catch(function(){r()})}getFeaturesFromRestData(e,t,r){let s=this,i=e.dataSource,n=e.dataSource.url,a=i.dataSourceName||e.name,o=s.formatUrlWithCredential(n),l={};if(l.withCredentials=this.withCredentials,this.excludePortalProxyUrl||$.isInTheSameDomain(o)||(l.proxy=this.getProxy()),["EPSG:0"].includes(e.projection))return s.layerAdded++,s.sendMapToUser(r),void(s.errorCallback&&s.errorCallback({},"getFeatureFaild",s.map));Cl(o,[decodeURIComponent(a)],l,async function(i){let n=s.parseGeoJsonData2Feature({allDatas:{features:i.result.features.features},fileCode:s.baseProjection,featureProjection:s.baseProjection});await s.addLayer(e,n,t),s.layerAdded++,s.sendMapToUser(r)},function(e){s.layerAdded++,s.sendMapToUser(r),s.errorCallback&&s.errorCallback(e,"getFeatureFaild",s.map)},s.baseProjection.split("EPSG:")[1],this.restDataSingleRequestCount)}getFeatures(e,t,r,s){var i=this,n=t.dataSource,a=t.projection;Tl(n.url,n.layerName,null,e,null,function(e){var t=e.result.recordsets[0].features.features,s=i.parseGeoJsonData2Feature({allDatas:{features:t},fileCode:a,featureProjection:i.baseProjection},"JSON");r(s)},function(e){s(e)})}sendMapToUser(e){const t=this.isHaveGraticule?e+1:e;this.layerAdded===t&&this.successCallback&&this.successCallback(this.map,this.mapParams,this.layers,this.baseLayer)}async excelData2Feature(e,t){let r=e.rows,s=e.colTitles;for(let e in s)mo.isString(s[e])&&(s[e]=mo.trim(s[e]));let i=t.projection,n=t.dataSource,a=this.baseProjection,o=[],l=mo.trim(t.xyField&&t.xyField.xField||t.from&&t.from.xField),h=mo.trim(t.xyField&&t.xyField.yField||t.from&&t.from.yField),u=s.indexOf(l),c=s.indexOf(h);if("MIGRATION"===t.layerType)try{if("PORTAL_DATA"===n.type){const{dataMetaInfo:e}=await Be.get(`${this.server}web/datas/${n.serverId}.json`,null,{withCredentials:this.withCredentials}).then(e=>e.json());t.xyField={xField:e.xField,yField:e.yField},e.xIndex?(u=e.xIndex,c=e.yIndex):(u=s.indexOf(e.xField),c=s.indexOf(e.yField))}else if("SAMPLE_DATA"===n.type){const e=Lc.find(e=>e.id===n.name)||{};l=e.xField,h=e.yField,t.xyField={xField:l,yField:h},u=s.findIndex(e=>e===l),c=s.findIndex(e=>e===h)}}catch(e){console.error(e)}for(let e=0,t=r.length;e<t;e++){let t=r[e],n={},l=r[e][u],h=r[e][c];if(""!==l&&""!==h){let e=new Jc.Point([+l,+h]);i!==a&&e.transform(i,a);for(let e=0,r=t.length;e<r;e++){let r=s[e];if(void 0!==r&&null!==r)if(r=r.trim(),Object.keys(n).indexOf(r)>-1){n[r+"_1"]=t[e]}else n[r]=t[e]}let r=new(co())({geometry:e,attributes:n});o.push(r)}}return Promise.resolve(o)}excelData2FeatureByDivision(e,t,r){let s,i=this;if("Province"===t?s=window.ProvinceData:"City"===t?s=window.MunicipalData:"GB-T_2260"===t&&(s=window.AdministrativeArea),s){return i.changeExcel2Geojson(s.features,e.rows,t,r)}}_parseGeoJsonData2Feature(e){let t=e.allDatas.features,r=[];for(let s=0,i=t.length;s<i;s++){let i=Object.assign({},t[s].properties);delete t[s].properties;let n=$c.readFeature(t[s],{dataProjection:e.fileCode,featureProjection:this.baseProjection||"ESPG:4326"});n.setProperties({attributes:i}),r.push(n)}return r}changeExcel2Geojson(e,t,r,s){let i={type:"FeatureCollection",features:[]};if(t.length<2)return i;let n=t[0],a=t.slice(1),o=n.findIndex(e=>e===s);return a.forEach(t=>{let s;if(s="GB-T_2260"===r?e.find(e=>e.properties.GB===t[o]):mo.getHighestMatchAdministration(e,t[o])){let e=window.cloneDeep(s);e.properties={},t.forEach((t,r)=>{let s=n[r].trim();e.properties[s]=t}),i.features.push(e)}}),i}geojsonToFeature(e,t){let r=e.features,s=[];for(let e=0,i=r.length;e<i;e++){let i=r[e].properties||{};delete r[e].properties;let n=$c.readFeature(r[e],{dataProjection:t.projection||"EPSG:4326",featureProjection:this.baseProjection||"ESPG:4326"}),a=n.getGeometry().getCoordinates();"Point"===r[e].geometry.type&&r[e].properties&&(r[e].properties.lon=a[0],r[e].properties.lat=a[1]);let o,l,h,u=!1;if(r[e].dv_v5_markerInfo&&(o=Object.assign({},r[e].dv_v5_markerInfo,i)).lon&&(delete o.lon,delete o.lat),r[e].dv_v5_markerStyle&&(l=r[e].dv_v5_markerStyle,u=!0),u)h=Object.assign({},{attributes:o},{useStyle:l}),n.layerId=t.timeId;else if(t.featureStyles){let r,s=JSON.parse(t.featureStyles[e].style),n=i;n._smiportal_imgLinkUrl.indexOf("http://")>-1||n._smiportal_imgLinkUrl.indexOf("https://")>-1?r=n._smiportal_imgLinkUrl:void 0!==n._smiportal_imgLinkUrl&&null!==n._smiportal_imgLinkUrl&&""!==n._smiportal_imgLinkUrl&&(r=`${mo.getIPortalUrl()}resources/markerIcon/${n._smiportal_imgLinkUrl}`),o={dataViz_description:n._smiportal_description,dataViz_imgUrl:r,dataViz_title:n._smiportal_title,dataViz_url:n._smiportal_otherLinkUrl},s.anchor=[.5,1],s.src=s.externalGraphic,l=s,h=Object.assign({},{attributes:o},{useStyle:l}),delete n._smiportal_description,delete n._smiportal_imgLinkUrl,delete n._smiportal_title,delete n._smiportal_otherLinkUrl}else h={attributes:i};n.setProperties(h),s.push(n)}return s}parseGeoJsonData2Feature(e){let t=e.allDatas.features,r=[];for(let s=0,i=t.length;s<i;s++){let i=t[s].properties;delete t[s].properties;let n=$c.readFeature(t[s],{dataProjection:e.fileCode||"EPSG:4326",featureProjection:e.featureProjection||this.baseProjection||"EPSG:4326"}),a=n.getGeometry();if(!a)continue;let o=a.getCoordinates();"Point"===t[s].geometry.type&&(i.lon=o[0],i.lat=o[1]),n.setProperties({attributes:i}),r.push(n)}return r}async addLayer(e,t,r){let s,i=this;"VECTOR"===e.layerType?s="POINT"===e.featureType?"SYMBOL_POINT"===e.style.type?this.createSymbolLayer(e,t):await this.createGraphicLayer(e,t):await this.createVectorLayer(e,t):"UNIQUE"===e.layerType?s=await this.createUniqueLayer(e,t):"RANGE"===e.layerType?s=await this.createRangeLayer(e,t):"HEAT"===e.layerType?s=this.createHeatLayer(e,t):"MARKER"===e.layerType?s=await this.createMarkerLayer(t):"DATAFLOW_POINT_TRACK"===e.layerType?s=await this.createDataflowLayer(e,r):"DATAFLOW_HEAT"===e.layerType?s=this.createDataflowHeatLayer(e):"RANK_SYMBOL"===e.layerType?s=await this.createRankSymbolLayer(e,t):"MIGRATION"===e.layerType&&(s=this.createMigrationLayer(e,t));let n=mo.newGuid(8);if(s){if(e.name&&s.setProperties({name:e.name,layerID:n,layerType:e.layerType}),e&&e.style&&e.style.imageInfo){let t=new Image;t.src=e.style.imageInfo.url,t.onload=function(){s.getSource().changed()}}"MIGRATION"===e.layerType?(s.appendTo(this.map),s.setVisible(e.visible),s.setCursor()):(void 0!=e.opacity&&s.setOpacity(e.opacity),s.setVisible(e.visible),this.map.addLayer(s)),s.setZIndex(r);const{visibleScale:t,autoUpdateTime:a}=e;if(t&&this.setVisibleScales(s,t),a&&!e.autoUpdateInterval){let t=e.dataSource;"DIRECT"!==t.accessType||t.url||(t.url=`${this.server}web/datas/${t.serverId}/content.json?pageSize=9999999&currentPage=1`),e.autoUpdateInterval=setInterval(()=>{i.updateFeaturesToMap(e,r,!0)},a)}}e.layer=s,e.layerID=n,e.labelStyle&&e.labelStyle.labelField&&"DATAFLOW_POINT_TRACK"!==e.layerType&&(t=e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,this.addLabelLayer(e,t))}updateFeaturesToMap(e,t){let r=this,s=e.dataSource,i=e.dataSource.url,n=s.dataSourceName||e.name;if("USER_DATA"===s.type||"DIRECT"===s.accessType)r.addGeojsonFromUrl(e,null,t);else{let s=r.formatUrlWithCredential(i),a={};a.withCredentials=this.withCredentials,this.excludePortalProxyUrl||$.isInTheSameDomain(s)||(a.proxy=this.getProxy()),Cl(s,[n],a,async function(s){let i=r.parseGeoJsonData2Feature({allDatas:{features:s.result.features.features},fileCode:e.projection,featureProjection:r.baseProjection});r.map.removeLayer(e.layer),e.labelLayer&&r.map.removeLayer(e.labelLayer),await r.addLayer(e,i,t)},function(e){r.errorCallback&&r.errorCallback(e,"autoUpdateFaild",r.map)},void 0,this.restDataSingleRequestCount)}}async addVectorTileLayer(e,t,r){let s;"RESTDATA"===r&&(s=await this.createDataVectorTileLayer(e));let i=mo.newGuid(8);return s&&(e.name&&s.setProperties({name:e.name,layerID:i}),void 0!=e.opacity&&s.setOpacity(e.opacity),s.setVisible(e.visible),s.setZIndex(t)),e.layer=s,e.layerID=i,s}async createDataVectorTileLayer(e){var t=new(gh())({featureClass:co()});gh().prototype.readProjection=function(){return new Ua.Projection({code:"",units:Gc().TILE_PIXELS})};let r=e.featureType,s=await Ro.toOpenLayersStyle(this.getDataVectorTileStyle(r),r);return new Bc.VectorTile({source:new vh({url:e.url,projection:e.projection,tileType:"ScaleXY",format:t}),style:s})}getDataVectorTileStyle(e){let t={radius:8,fillColor:"#EE4D5A",fillOpacity:.9,strokeColor:"#ffffff",strokeWidth:1,strokeOpacity:1,lineDash:"solid",type:"BASIC_POINT"};return["LINE","LINESTRING","MULTILINESTRING"].indexOf(e)>-1?(t.strokeColor="#4CC8A3",t.strokeWidth=2):["REGION","POLYGON","MULTIPOLYGON"].indexOf(e)>-1&&(t.fillColor="#826DBA"),t}getFiterFeatures(e,t){let r=this.parseFilterCondition(e),s=[];for(let e=0;e<t.length;e++){let i=t[e],n=!1;try{const e=i.get("attributes"),t=yl(r,Object.keys(e)),s=gl(e),a="select * from json where ("+t+")";n=window.jsonsql.query(a,{attributes:s})}catch(e){continue}n&&n.length>0&&s.push(i)}return s}parseFilterCondition(e){return e.replace(/=/g,"==").replace(/AND|and/g,"&&").replace(/or|OR/g,"||").replace(/<==/g,"<=").replace(/>==/g,">=").replace(/\(?[^\(]+?\s*in\s*\([^\)]+?\)\)?/gi,e=>{const t=e.match(/([^(]+?)\s*in\s*\(([^)]+?)\)/i);return 3===t.length?`(${t[2].split(",").map(e=>`${t[1]} == ${e.trim()}`).join(" || ")})`:e})}async createGraphicLayer(e,t){t=e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t;let r=await this.getGraphicsFromFeatures(t,e.style,e.featureType),s=new Zl({graphics:r,render:"canvas",map:this.map,isHighLight:!1});return new Bc.Image({source:s})}async getGraphicsFromFeatures(e,t,r){let s=(await Ro.getOpenlayersStyle(t,r)).getImage(),i=[];for(let t in e){let r=new Jl(e[t].getGeometry());r.setStyle(s),r.setProperties({attributes:e[t].get("attributes")}),i.push(r)}return i}createSymbolLayer(e,t){let r=Ro.getSymbolStyle(e.style);return new Bc.Vector({style:r,source:new(ao())({features:e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,wrapX:!1}),renderMode:"image"})}addLabelLayer(e,t){let r=e.labelStyle,s=this.getLabelStyle(r,e),i=e.labelLayer=new Bc.Vector({declutter:!0,styleOL:s,labelField:r.labelField,source:new(ao())({features:t,wrapX:!1})});i.setStyle(e=>{let t=r.labelField,s=e.get("attributes")[t.trim()]+"";if("undefined"===s)return null;let n=i.get("styleOL"),a=n.getText();return a&&a.setText&&a.setText(s),n}),this.map.addLayer(i),i.setVisible(e.visible),i.setZIndex(1e3);const{visibleScale:n}=e;return n&&this.setVisibleScales(i,n),i}setVisibleScales(e,t){let r=this.resolutions[t.minScale],s=this.resolutions[t.maxScale];r>1?e.setMaxResolution(Math.ceil(r)):e.setMaxResolution(1.1*r),e.setMinResolution(s)}getLabelStyle(e,t){let r=t.style||t.pointStyle;const{radius:s=0,strokeWidth:i=0}=r,n=-(s+i),{fontSize:a="14px",fontFamily:o,fill:l,backgroundFill:h,offsetX:u=0,offsetY:c=n,placement:d="point",textBaseline:p="bottom",textAlign:f="center",outlineColor:m="#000000",outlineWidth:y=0}=e,g={font:`${a} ${o}`,placement:d,textBaseline:p,fill:new(Ao())({color:l}),backgroundFill:new(Ao())({color:h}),padding:[3,3,3,3],offsetX:"POINT"===t.featureType?u:0,offsetY:"POINT"===t.featureType?c:0,overflow:!0,maxAngle:0};return"POINT"===t.featureType&&(g.textAlign=f),y>0&&(g.stroke=new(Po())({color:m,width:y})),new(_o())({text:new(Io())(g)})}async createVectorLayer(e,t){const{featureType:r,style:s}=e;let i;if("LINE"===r&&mo.isArray(s)){const[e,t]=s;i="solid"===t.lineDash?Ro.getRoadPath(t,e):Ro.getPathway(t,e)}else i=await Ro.toOpenLayersStyle(e.style,e.featureType);return new Bc.Vector({style:i,source:new(ao())({features:e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,wrapX:!1})})}createHeatLayer(e,t){t=e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t;let r={source:new(ao())({features:t,wrapX:!1})},s=e.themeSetting;r.gradient=s.colors.slice(),r.radius=parseInt(s.radius);let i=s.customSettings;for(let e in i)r.gradient[e]=i[e];return s.weight&&this.changeWeight(t,s.weight),new Bc.Heatmap(r)}changeWeight(e,t){let r=this;this.fieldMaxValue={},this.getMaxValue(e,t);let s=this.fieldMaxValue[t];e.forEach(function(e){let i=e.get("attributes");try{let n=i[t];e.set("weight",n/s)}catch(e){r.errorCallback&&r.errorCallback(e)}})}getMaxValue(e,t){let r,s=[],i=this,n=t;this.fieldMaxValue[n]||(e.forEach(function(e){r=e.get("attributes");try{s.push(parseFloat(r[n]))}catch(e){i.errorCallback&&i.errorCallback(e)}}),this.fieldMaxValue[n]=wn.getArrayStatistic(s,"Maximum"))}async createUniqueLayer(e,t){let r=await this.createUniqueSource(e,t),s=new Bc.Vector({styleSource:r,source:new(ao())({features:e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,wrapX:!1})});return s.setStyle(e=>{let t=s.get("styleSource"),r=t.themeField,i=e.get("attributes")[r];return t.styleGroups.find(e=>e.value===i).olStyle}),s}async createUniqueSource(e,t){let r=await this.getUniqueStyleGroup(e,t);return{map:this.map,style:e.style,isHoverAble:e.isHoverAble,highlightStyle:e.highlightStyle,themeField:e.themeSetting.themeField,styleGroups:r}}async getUniqueStyleGroup(e,t){let r=e.featureType,s=e.style,i=e.themeSetting,n=i.themeField,a=[],o=i.customSettings;for(let e in t){let r=t[e].get("attributes")[n],s=!1;for(let e in a)if(a[e]===r){s=!0;break}s||a.push(r)}let l=[];const h=this.getCustomSettingColors(o,r).map(e=>e.toLowerCase()),u=this.getUniqueColors(i.colors||this.defaultParameters.themeSetting.colors,a.length+Object.keys(o).length).map(e=>e.toLowerCase()),c=Kc()(u,h);for(let e=0;e<a.length;e++){const t=a[e];let i="1.0"===this.webMapVersion?e:t,n=o[i];mo.isString(n)&&(n=this.getCustomSetting(s,n,r),o[i]=n),n||(n=this.getCustomSetting(s,c.shift(),r));let h,u=n.type;h="SYMBOL_POINT"===u?Ro.getSymbolStyle(n):"SVG_POINT"===u?await Ro.getSVGStyle(n):"IMAGE_POINT"===u?Ro.getImageStyle(n):await Ro.toOpenLayersStyle(n,r),l.push({olStyle:h,style:o[i],value:t})}return l}getCustomSetting(e,t,r){let s={};return"LINE"===r?s.strokeColor=t:s.fillColor=t,Object.assign(e,s)}getCustomSettingColors(e,t){const r=[];return Object.keys(e).forEach(s=>{mo.isString(e[s])?r.push(e[s]):"LINE"===t?r.push(e[s].strokeColor):r.push(e[s].fillColor)}),r}getUniqueColors(e,t){return _n.getGradientColors(e,t)}async createRangeLayer(e,t){let r=await this.createRangeSource(e,t),s=new Bc.Vector({styleSource:r,source:new(ao())({features:e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,wrapX:!1})});return s.setStyle(e=>{let t=s.get("styleSource");if(t){let r=t.themeField,s=Number(e.get("attributes")[r.trim()]),i=t.styleGroups;for(let e=0;e<i.length;e++)if(0===e){if(s>=i[e].start&&s<=i[e].end)return i[e].olStyle}else if(s>i[e].start&&s<=i[e].end)return i[e].olStyle}}),s}async createRangeSource(e,t){let r=await this.getRangeStyleGroup(e,t);return!!r&&{style:e.style,themeField:e.themeSetting.themeField,styleGroups:r}}async getRangeStyleGroup(e,t){let r,s,i=e.featureType,n=e.themeSetting,a=e.style,o=n.segmentCount,l=n.segmentMethod,h=n.colors,u=n.customSettings,c=n.themeField,d=[],p=o,f=l,m=this;t.forEach(function(e){r=e.get("attributes");try{if(r){let e=r[c.trim()];void 0!==e&&null!==e&&mo.isNumber(e)&&d.push(parseFloat(e))}else e.get(c)&&mo.isNumber(e.get(c))&&e.get(c)&&d.push(parseFloat(e.get(c)))}catch(e){m.errorCallback&&m.errorCallback(e)}});try{s=wn.getArraySegments(d,f,p)}catch(e){m.errorCallback&&m.errorCallback(e)}if(s){let e=p;r&&s[0]===s[r.length-1]&&(e=1,s.length=2);for(let e in s){let t=s[e];t=0===Number(e)?Math.floor(100*t)/100:Math.ceil(100*t)/100+.1,s[e]=Number(t.toFixed(2))}let t=h;t=_n.getGradientColors(t,e,"RANGE");for(let t=0;t<e;t++)t in u&&(u[t].segment.start&&(s[t]=u[t].segment.start),u[t].segment.end&&(s[t+1]=u[t].segment.end));let n=[];for(let r=0;r<e;r++){let e=t[r];r in u&&u[r].color&&(e=u[r].color),"LINE"===i?a.strokeColor=e:a.fillColor=e;let o=await Ro.toOpenLayersStyle(a,i),l=s[r],h=s[r+1];n.push({olStyle:o,color:e,start:l,end:h})}return n}return!1}async createMarkerLayer(e){return e&&await this.setEachFeatureDefaultStyle(e),new Bc.Vector({source:new(ao())({features:e,wrapX:!1})})}async createDataflowLayer(e,t){let r,s=e.pointStyle;r=await Ro.getOpenlayersStyle(s,e.featureType);let i,n,a,o,l=new(ao())({wrapX:!1}),h=new Bc.Vector({styleOL:r,source:l});e.labelStyle&&e.visible&&((i=this.addLabelLayer(e)).setZIndex(1e3),n=i.getSource());const{visibleScale:u}=e;e.lineStyle&&e.visible&&(a=await this.createVectorLayer({style:e.lineStyle,featureType:"LINE"}),o=a.getSource(),a.setZIndex(t),this.map.addLayer(a),u&&this.setVisibleScales(a,u),e.pathLayer=a);let c=this;return this.createDataflowService(e,function(t,r,s){return function(i){if(c.events.triggerEvent("updateDataflowFeature",{feature:i,identifyField:e.identifyField,layerID:e.layerID}),e.filterCondition){const a=c.parseFilterCondition(e.filterCondition),h=i.get("attributes"),u=yl(a,Object.keys(h)),d=gl(h),p="select * from json where ("+u+")";let f=window.jsonsql.query(p,{attributes:d});f&&f.length>0&&c.addDataflowFeature(i,e.identifyField,{dataflowSource:l,featureCache:t,labelSource:n,labelFeatureCache:r,pathSource:o,pathFeatureCache:s,maxPointCount:e.maxPointCount})}else c.addDataflowFeature(i,e.identifyField,{dataflowSource:l,featureCache:t,labelSource:n,labelFeatureCache:r,pathSource:o,pathFeatureCache:s,maxPointCount:e.maxPointCount})}}({},{},{})),this.setFeatureStyle(h,e.directionField,s.type),h}addDataflowFeature(e,t,r){r.dataflowSource&&this.addFeatureFromDataflowService(r.dataflowSource,e,t,r.featureCache),r.labelSource&&this.addFeatureFromDataflowService(r.labelSource,e,t,r.labelFeatureCache),r.pathSource&&this.addPathFeature(r.pathSource,e,t,r.pathFeatureCache,r.maxPointCount)}addPathFeature(e,t,r,s,i){let n=[];var a=t.get(r);s[a]?((n=s[a].getGeometry().getCoordinates()).push(t.getGeometry().getCoordinates()),i&&n.length>i&&n.splice(0,n.length-i),s[a].getGeometry().setCoordinates(n)):(n.push(t.getGeometry().getCoordinates()),s[a]=new(co())({geometry:new Jc.LineString(n)}),e.addFeature(s[a]))}setFeatureStyle(e,t,r){let s=e.get("styleOL");e.setStyle(e=>{let i,n;if((i=void 0!==t&&"未设置"!==t&&"None"!==t?e.get("attributes")[t]:0)>360||i<0)return null;n="SYMBOL_POINT"===r?s.getText():s.getImage();let a=Math.PI*i/180;return n&&n.setRotation(a),s})}createDataflowHeatLayer(e){let t={source:this.createDataflowHeatSource(e)};if(t.gradient=e.themeSetting.colors.slice(),t.radius=parseInt(e.themeSetting.radius),e.themeSetting.customSettings){let r=e.themeSetting.customSettings;for(let e in r)t.gradient[e]=r[e]}return new Bc.Heatmap(t)}createDataflowHeatSource(e){let t=this,r=new(ao())({wrapX:!1});return this.createDataflowService(e,function(s){return function(i){if(e.filterCondition){let n=t.parseFilterCondition(e.filterCondition);const a=i.get("attributes"),o=yl(n,Object.keys(a)),l=gl(a),h="select * from json where ("+o+")";let u=window.jsonsql.query(h,{attributes:l});u&&u.length>0&&t.addDataflowFeature(i,e.identifyField,{dataflowSource:r,featureCache:s})}else t.addDataflowFeature(i,e.identifyField,{dataflowSource:r,featureCache:s});e.themeSetting.weight&&t.changeWeight(r.getFeatures(),e.themeSetting.weight)}}({})),r}addFeatureFromDataflowService(e,t,r,s){var i=t.get(r);void 0!==i&&s[i]?(s[i].setGeometry(t.getGeometry()),s[i].setProperties(t.getProperties()),e.changed()):(e.addFeature(t),s[i]=t)}createDataflowService(e,t){let r=this,s=new El(e.wsUrl).initSubscribe();s.on("messageSucceeded",function(s){let i=JSON.parse(s.value.data),n=$c.readFeature(i,{dataProjection:e.projection||"EPSG:4326",featureProjection:r.baseProjection||"EPSG:4326"});n.setProperties({attributes:i.properties}),t(n)}),e.dataflowService=s}async setEachFeatureDefaultStyle(e){let t=this;e=mo.isArray(e)||e instanceof Qc()?e:[e];for(let r=0;r<e.length;r++){const s=e[r];let i=s.getGeometry().getType().toUpperCase(),n=s.getProperties().useStyle;if(n){"POINT"===i&&n.text&&(i="TEXT");let e=t.setFeatureInfo(s);s.setProperties({useStyle:n,attributes:e}),"POINT"===i&&n.src&&-1===n.src.indexOf("http://")&&-1===n.src.indexOf("https://")&&(n.src=t.server+n.src)}else n=Ro.getMarkerDefaultStyle(i,t.server);s.setStyle(await Ro.toOpenLayersStyle(n,i))}}setFeatureInfo(e){let t=e.get("attributes"),r=Object.assign({dataViz_title:"",dataViz_description:"",dataViz_imgUrl:"",dataViz_url:""},t),s=e.getProperties();for(let e in r)s[e]&&(r[e]=s[e],delete s[e]);return r}async createRankSymbolLayer(e,t){let r=await this.createRankStyleSource(e,t,e.featureType),s=new Bc.Vector({styleSource:r,source:new(ao())({features:e.filterCondition?this.getFiterFeatures(e.filterCondition,t):t,wrapX:!1}),renderMode:"image"});return s.setStyle(e=>{let t=s.get("styleSource"),r=t.parameters.themeSetting.themeField,i=Number(e.get("attributes")[r]),n=t.styleGroups;for(let e=0,r=n.length;e<r;e++)if(i>=n[e].start&&i<n[e].end)return t.styleGroups[e].olStyle}),s}async createRankStyleSource(e,t,r){let s=e.themeSetting.themeField,i=await this.getRankStyleGroup(s,t,e,r);return!!i&&{parameters:e,styleGroups:i}}async getRankStyleGroup(e,t,r,s){let i=[],n=[],a=r.style,o=r.themeSetting,l=o.segmentMethod||this.defaultParameters.themeSetting.segmentMethod,h=o.segmentCount||this.defaultParameters.themeSetting.segmentCount,u=o.customSettings,c=r.themeSetting.minRadius,d=r.themeSetting.maxRadius,p=a.fillColor,f=r.themeSetting.colors;t.forEach(t=>{let r=t.get("attributes")[e];null!=r&&mo.isNumber(r)&&i.push(Number(r))});try{n=wn.getArraySegments(i,l,h)}catch(e){console.error(e)}for(let e=0;e<h;e++)if(e in u){let t=u[e].segment.start,r=u[e].segment.end;null!=t&&(n[e]=t),null!=r&&(n[e+1]=r)}let m=[];if(n&&n.length){let e,t,r=n.length,i=(d-c)/(r-1),o=Number(((d+c)/2).toFixed(2)),l=f?_n.getGradientColors(f,r,"RANGE"):[];for(let h=0;h<r-1;h++){o=(e=Number(n[h].toFixed(2)))===(t=Number(n[h+1].toFixed(2)))?o:c+Math.round(i*h),t=h===r-2?t+.01:t,o=u[h]&&u[h].radius?u[h].radius:o,a.radius=o,a.fillColor=u[h]&&u[h].color?u[h].color:l[h]||p;let d=await Ro.getOpenlayersStyle(a,s,!0);m.push({olStyle:d,radius:o,start:e,end:t,fillColor:a.fillColor})}return m}return!1}checkUploadToRelationship(e){let t=this.getRequestUrl(`${this.server}web/datas/${e}/datasets.json`);return Be.get(t,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(e){return e})}getDatasources(e){let t=this.getRequestUrl(`${e}/data/datasources.json`);return Be.get(t,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(e){return e.datasourceNames[0]})}getDataService(e,t){let r=this.getRequestUrl(`${this.server}web/datas/${e}.json`);return Be.get(r,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(r){return r.fileId=e,r.datasetName=t,r})}getRequestUrl(e,t){if(e=t?e:this.formatUrlWithCredential(e),!this.excludePortalProxyUrl)return $.isInTheSameDomain(e)?e:`${this.getProxy()}${encodeURIComponent(e)}`}formatUrlWithCredential(e){return this.credentialValue&&(e=-1===e.indexOf("?")?`${e}?${this.credentialKey}=${this.credentialValue}`:`${e}&${this.credentialKey}=${this.credentialValue}`),e}getProxy(e){return e||(e="json"),this.proxy||this.server+`apps/viewer/getUrlResource.${e}?url=`}getTileLayerInfo(e){let t=this,r=t.baseProjection.split("EPSG:")[1],s=t.getRequestUrl(`${e}/maps.json`);return Be.get(s,null,{withCredentials:this.withCredentials}).then(function(e){return e.json()}).then(function(e){let s=[];return e&&e.forEach(function(e){let i=t.getRequestUrl(`${e.path}.json?prjCoordSys=${encodeURI(JSON.stringify({epsgCode:r}))}`),n=Be.get(i,null,{withCredentials:t.withCredentials}).then(function(e){return e.json()}).then(function(t){return t.url=e.path,t});s.push(n)}),Promise.all(s).then(function(e){return e})})}addProjctionFromWKT(e,t){if("string"!=typeof e)return!1;if("EPSG:4326"===e||"EPSG:3857"===e)return!0;{let r=t||this.getEpsgInfoFromWKT(e);return!!r&&(fl().defs(r,e),Rc&&Rc.register?Rc.register(fl()):window.ol.proj&&window.ol.proj.setProj4&&window.ol.proj.setProj4(fl()),!0)}}getEpsgInfoFromWKT(e){if("string"!=typeof e)return!1;if(0===e.indexOf("EPSG"))return e;{let t=e.lastIndexOf("AUTHORITY")+10,r=e.indexOf("]",t)-1;return t>0&&r>0&&`EPSG:${e.substring(t,r).split(",")[1].substr(1)}`}}createMigrationLayer(e,t){window.EChartsLayer.prototype.getContainer||(window.EChartsLayer.prototype.getContainer=function(){return this.$container}),window.EChartsLayer.prototype.setVisible||(window.EChartsLayer.prototype.setVisible=function(e){if(e){let e=this.get("options");e&&(this.setChartOptions(e),this.unset("options"))}else{let e=this.getChartOptions();this.set("options",e),this.clear(),this.setChartOptions({})}}),window.EChartsLayer.prototype.setZIndex||(window.EChartsLayer.prototype.setZIndex=function(e){let t=this.getContainer();t&&(t.style.zIndex=e)}),window.EChartsLayer.prototype.setCursor||(window.EChartsLayer.prototype.setCursor=function(e="default"){let t=this.getContainer();t&&"default"===e&&t.classList.add("cursor-default")});let r=wl(t),s=this.createLinesData(e,r),i=this.createPointsData(s,e,r),n=this.createOptions(e,s,i),a=new window.EChartsLayer(n,{hideOnMoving:!1,hideOnZooming:!1,forcedPrecomposeRerender:!0});return a.type="ECHARTS",a}createOptions(e,t,r){let s,i=this.createLineSeries(e,t);if(r&&r.length){let t=this.createPointSeries(e,r);s=i.concat(t)}else s=i.slice();return{series:s}}createLineSeries(e,t){let r=e.lineSetting,s=e.animationSetting,i=[{name:"line-series",type:"lines",zlevel:1,silent:!0,effect:{show:s.show,constantSpeed:s.constantSpeed,trailLength:0,symbol:s.symbol,symbolSize:s.symbolSize},lineStyle:{normal:{color:r.color,type:r.type,width:r.width,opacity:r.opacity,curveness:r.curveness}},data:t}];return t.length>ed&&(i[0].blendMode="lighter"),i}createPointSeries(e,t){let r=e.lineSetting,s=e.animationSetting,i=e.labelSetting,n=[{name:"point-series",coordinateSystem:"geo",zlevel:2,silent:!0,label:{normal:{show:i.show,position:"right",formatter:"{b}",color:i.color,fontFamily:i.fontFamily}},itemStyle:{normal:{color:r.color||i.color}},data:t}];return s.show?(n[0].type="effectScatter",n[0].rippleEffect={brushType:"stroke"}):n[0].type="scatter",n}createPointsData(e,t,r){let s=[],i=t.labelSetting;if(!i.show||!e.length)return s;let n=[],a=[];return e.forEach((e,t)=>{let s=e.coords,o=s[0],l=s[1],h=r[t][i.from],u=r[t][i.to];!n.find(e=>e.value[0]===o[0]&&e.value[1]===o[1])&&n.push({name:h,value:o}),!a.find(e=>e.value[0]===l[0]&&e.value[1]===l[1])&&a.push({name:u,value:l})}),s=n.concat(a)}createLinesData(e,t){let r=[];if(t&&t.length){let s,i,n=e.from,a=e.to;if("XY_FIELD"===n.type&&n.xField&&n.yField&&a.xField&&a.yField)t.forEach(e=>{let t=e[n.xField],o=e[n.yField],l=e[a.xField],h=e[a.yField];t&&o&&l&&h&&(s=[e[n.xField],e[n.yField]],i=[e[a.xField],e[a.yField]],r.push({coords:[s,i]}))});else if("PLACE_FIELD"===n.type&&n.field&&a.field){const e=Oc.concat(Pc);t.forEach(t=>{let o=t[n.field],l=t[a.field];s=e.find(e=>mo.isMatchAdministrativeName(e.name,o)),i=e.find(e=>mo.isMatchAdministrativeName(e.name,l)),s&&i&&r.push({coords:[s.coord,i.coord]})})}}return r}getService(e,t){return e.filter(e=>e&&e.serviceType===t)[0]}isMvt(e,t){let r=this;return this.getDatasetsInfo(e,t).then(e=>e.epsgCode==r.baseProjection.split("EPSG:")[1]?Be.get(r.getRequestUrl(`${e.url}/tilefeature.mvt`),null,{withCredentials:r.withCredentials}).then(function(e){return e.json()}).then(function(t){return e.isMvt=t.error&&400===t.error.code,e}).catch(()=>e):e)}getDatasetsInfo(e,t){let r=this;return r.getDatasources(e).then(function(s){let i=`${e}/data/datasources/${s}/datasets/${t}.json`;return Be.get(r.getRequestUrl(i),null,{withCredentials:r.withCredentials}).then(function(e){return e.json()}).then(function(e){return{epsgCode:e.datasetInfo.prjCoordSys.epsgCode,bounds:e.datasetInfo.bounds,url:i}})})}isRestMapMapboxStyle(e){let t=e.dataSource,r=e.layerType;return!(!(t&&"EXTERNAL"===t.type&&t.url.indexOf("/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true&tileURLTemplate=ZXY")>-1)||"MAPBOXSTYLE"!==r&&"VECTOR_TILE"!==r)}getMapboxStyleLayerInfo(e,t){let r=this;return new Promise((s,i)=>r.getMapLayerExtent(t).then(t=>r.getMapboxStyle(e,t).then(e=>{Object.assign(t,e),s(t)}).catch(e=>{i(e)})).catch(e=>{i(e)}))}getMapLayerExtent(e){let t=e.dataSource.url;this.isRestMapMapboxStyle(e)&&(t=t.replace("/tileFeature/vectorstyles.json?type=MapBox_GL&styleonly=true&tileURLTemplate=ZXY","")),t=this.getRequestUrl(t+".json");let r,s,i=e.credential;return i&&(t=`${t}?${s=Object.keys(i)[0]}=${r=i[s]}`),Be.get(t,null,{withCredentials:this.withCredentials,withoutFormatSuffix:!0,headers:{"Content-Type":"application/json;chartset=uft-8"}}).then(function(e){return e.json()}).then(t=>(e.visibleScales=t.visibleScales,e.coordUnit=t.coordUnit,e.scale=t.scale,e.epsgCode=t.prjCoordSys.epsgCode,e.bounds=t.bounds,e)).catch(e=>{throw e})}getMapboxStyle(e,t){let r=this,s=t.url||t.dataSource.url,i=s;i.indexOf("/restjsr/")>-1&&(i=`${i}/style.json`),i=this.getRequestUrl(i);let n,a,o=t.credential;return o&&(a=Object.keys(o)[0],n=o[a],i=`${i}?${a}=${n}`),Be.get(i,null,{withCredentials:this.withCredentials,withoutFormatSuffix:!0,headers:{"Content-Type":"application/json;chartset=uft-8"}}).then(function(e){return e.json()}).then(i=>{r._matchStyleObject(i);let o=t.bounds;if(n){i.sprite=`${i.sprite}?${a}=${n}`;let e=i.sources;Object.keys(e).forEach(function(e){i.sources[e].tiles.forEach(function(t,r){i.sources[e].tiles[r]=`${t}?${a}=${n}`})})}let l={url:s,sourceType:"VECTOR_TILE",layerType:"VECTOR_TILE",styles:i,extent:o&&[o.left,o.bottom,o.right,o.top],bounds:t.bounds,projection:"EPSG:"+t.epsgCode,epsgCode:t.epsgCode,name:t.name};return Object.assign(t,l),t.zIndex>0&&r.modifyMapboxstyleLayer(e,t),t}).catch(e=>e)}modifyMapboxstyleLayer(e,t){let r=this;if(e.layers&&0===e.layers.length)return;let s=t.styles.layers;if(!s)return;s=s.filter(e=>"background"!==e.type),t.styles.layers=s;let i=e.layers.filter(e=>"VECTOR_TILE"===e.layerType&&e.zIndex!==t.zIndex).map(e=>e.styles&&e.styles.layers);!i||i&&0===i.length||i.forEach(e=>{s.forEach(t=>{r.renameLayerId(e,t)})})}renameLayerId(e,t){if(e.find(e=>e.id===t.id)){const r=t.id.match(/(.+)\((\w)\)$/);r?t.id=`${r[1]}(${+r[2]+1})`:t.id+="(1)",e.find(e=>e.id===t.id)&&this.renameLayerId(e,t)}}_matchStyleObject(e){let{sprite:t,glyphs:r}=e;t&&"object"==typeof t&&(e.sprite=Object.values(t)[0]),r&&"object"==typeof r&&(e.glyphs=Object.values(r)[0])}isIportalProxyServiceUrl(e){if(this.serviceProxy&&this.serviceProxy.enable&&e){let t="";return this.serviceProxy.proxyServerRootUrl?t=`${this.serviceProxy.proxyServerRootUrl}/`:this.serviceProxy.rootUrlPostfix?t=`${this.serviceProxy.port}/${this.serviceProxy.rootUrlPostfix}/`:this.serviceProxy.rootUrlPostfix||(t=`${this.serviceProxy.port}/`),80!==this.serviceProxy.port?e.indexOf(t)>=0:e.indexOf(t)>=0||e.indexOf(t.replace(":80",""))>=0}return!1}getStyleResolutions(e,t=0,r=22){let s=[];let i=Math.abs(e.left-e.right)/512;for(let e=t;e<=r;e++)0!==e?(i/=2,s[e]=i):s[e]=i;return s}createVisibleResolution(e,t,r,s){let i=[];if(e&&e.length>0)i=e.map(e=>{let t=1/e;return this.getResFromScale(t,s)});else{let e=this.getEnvelope(t,r);i=this.getStyleResolutions(e)}return i}getEnvelope(e,t){let r={};return e&&4===e.length?(r.left=e[0],r.bottom=e[1],r.right=e[2],r.top=e[3]):r=t,r}createMVTLayer(e){let t=e.styles;const r=t&&t.metadata&&t.metadata.indexbounds,s=this.createVisibleResolution(e.visibleScales,r,e.bounds,e.coordUnit),i=this.getEnvelope(r,e.bounds),n=this.getStyleResolutions(i);let a=this.isIportalProxyServiceUrl(t.sprite),o=new uc({style:t,source:t.name,resolutions:n,map:this.map,withCredentials:a});return new Promise(r=>{o.on("styleloaded",function(){let i=s[s.length-1],n=s[0],l=new Bc.VectorTile({declutter:!0,source:new vh({style:t,withCredentials:a,projection:e.projection,format:new(gh())({featureClass:Yc()}),wrapX:!1}),style:o.featureStyleFuntion,visible:e.visible,zIndex:e.zIndex,opacity:e.opacity,minResolution:i,maxResolution:n>1?Math.ceil(n):1.1*n});r(l)})})}isSameDomain(e){let t=e.split("://")[1],r=t.indexOf("/"),s=t.substring(0,r),i=document.location.toString().split("://")[1],n=i.indexOf("/"),a=i.substring(0,n);if(s.indexOf(":")>-1||""!==window.location.port)return s===a;{let e=s.split("."),t=a.split(".");return e[1]===t[1]&&e[2]===t[2]}}isSupportWebp(e,t){let r;return!(this.isIE()||this.isFirefox()&&this.getFirefoxVersion()<65||this.isChrome()&&this.getChromeVersion()<32)&&(e=t?`${e}/tileImage.webp?token=${t}`:`${e}/tileImage.webp`,r=!($.isInTheSameDomain(e)&&!t),e=this.getRequestUrl(e,r),Be.get(e,null,{withCredentials:this.withCredentials,withoutFormatSuffix:!0}).then(function(e){if(200!==e.status)throw e.status;return e}).then(()=>!0).catch(()=>!1))}isIE(){return!!(window.ActiveXObject||"ActiveXObject"in window)}isFirefox(){return navigator.userAgent.indexOf("Firefox")>-1}isChrome(){return navigator.userAgent.indexOf("Chrome")>-1}getFirefoxVersion(){return+navigator.userAgent.toLowerCase().match(/firefox\/([\d.]+)/)[1]}getChromeVersion(){return+navigator.userAgent.toLowerCase().match(/chrome\/([\d.]+)/)[1]}addGraticule(e){if(this.isHaveGraticule){this.createGraticuleLayer(e.grid.graticule),this.layerAdded++;const t=e.layers?e.layers.length:0;this.sendMapToUser(t)}}createGraticuleLayer(e){const{strokeColor:t,strokeWidth:r,lineDash:s,extent:i,visible:n,interval:a,lonLabelStyle:o,latLabelStyle:l}=e,h=this.baseProjection;let u=new Ua.get(h);u.setExtent(i),u.setWorldExtent(Ua.transformExtent(i,h,"EPSG:4326"));let c={layerID:"graticule_layer",strokeStyle:new(Po())({color:t,width:r,lineDash:s}),extent:i,visible:n,intervals:a,showLabels:!0,zIndex:9999,wrapX:!1,targetSize:0};o&&(c.lonLabelStyle=new(Io())({font:`${o.fontSize} ${o.fontFamily}`,textBaseline:o.textBaseline,fill:new(Ao())({color:o.fill}),stroke:new(Po())({color:o.outlineColor,width:o.outlineWidth})})),l&&(c.latLabelStyle=new(Io())({font:`${l.fontSize} ${l.fontFamily}`,textBaseline:l.textBaseline,fill:new(Ao())({color:l.fill}),stroke:new(Po())({color:l.outlineColor,width:l.outlineWidth})}));const d=new Bc.Graticule(c);this.map.addLayer(d)}getLang(){if(this.getCookie("language")){const e=this.getCookie("language");return this.formatCookieLang(e)}return navigator.language||navigator.browserLanguage}getCookie(e){e=e.toLowerCase();let t=null;return document.cookie.split(";").forEach(function(r){const s=r.split("=");s[0].toLowerCase().trim()!==e||(t=s[1].trim())}),t}formatCookieLang(e){let t;switch(e){case"zh":t="zh-CN";break;case"ar":t="ar-EG";break;case"bg":t="bg-BG";break;case"ca":t="ca-ES";break;case"cs":t="cs-CZ";break;case"da":t="da-DK";break;case"de":t="de-DE";break;case"el":t="el-GR";break;case"es":t="es-ES";break;case"et":t="et-EE";break;case"fa":t="fa-IR";break;case"fl":t="fi-FI";break;case"fr":t="fr-FR";break;case"he":t="he-IL";break;case"hu":t="hu-HU";break;case"id":t="id-ID";break;case"is":t="is-IS";break;case"it":t="it-IT";break;case"ja":t="ja-JP";break;case"ko":t="ko-KR";break;case"ku":t="ku-IQ";break;case"mn":t="mn-MN";break;case"nb":t="nb-NO";break;case"ne":t="ne-NP";break;case"nl":t="nl-NL";break;case"pl":t="pl-PL";break;case"pt":t="pt-PT";break;case"ru":t="ru-RU";break;case"sk":t="sk-SK";break;case"sl":t="sl-SI";break;case"sr":t="sr-RS";break;case"sv":t="sv-SE";break;case"th":t="th-TH";break;case"tr":t="tr-TR";break;case"uk":t="uk-UA";break;case"vi":t="vi-VN";break;default:t="en-US"}return t}isCustomProjection(e){return mo.isNumber(e)?[-1e3,-1].includes(+e):["EPSG:-1000","EPSG:-1"].includes(e)}}class id extends(rl()){constructor(e){(e=e||{}).format=e.format||"png",e.transparent=void 0===e.transparent||!0===e.transparent,e.cacheEnabled=void 0===e.cacheEnabled||!0===e.cacheEnabled;var t=e.attributions||"Map Data <span>© SuperMap iServer</span>",r=function(e,t){var r=$.urlPathAppend(e,`/collections/${t.collectionId}/tile.${t.format}?x={x}&y={y}&z={z}`),s=function(e){var t={};t.transparent=e.transparent,t.cacheEnabled=!(!1===e.cacheEnabled),e.sqlFilter&&(t.sqlFilter=e.sqlFilter);e.renderingRule&&(t.renderingRule=JSON.stringify(e.renderingRule));e.ids&&(t.ids=e.ids.join(","));e.names&&(t.names=e.names.join(","));return t}(t);r=$.urlAppend(r,function(e){var t=[];for(var r in e)t.push(encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t.join("&")}(s)),r=je.appendCredential(r),t.cacheEnabled||(r+="&_t="+(new Date).getTime());return r}(e.url,e),s={...e,attributions:t,url:r};!e.tileLoadFunction&&e.tileProxy&&(s.tileLoadFunction=function(e,t){e.getImage().src=i.tileProxy+encodeURIComponent(t)}),super(s);var i=this;this.options=e,e.tileProxy&&(this.tileProxy=e.tileProxy)}}const nd=ol.layer.Tile;var ad=r.n(nd);function od(e,t=22){let{bounds:r,dpi:s,center:i,visibleScales:n,scale:a,coordUnit:o,prjCoordSys:l}=e;const h=i.x&&i.y?[i.x,i.y]:[(r.left+r.right)/2,(r.bottom+r.top)/2],u=[r.left,r.bottom,r.right,r.top];let c=mo.getProjection(l,u);var d=mo.scalesToResolutions(n,r,s,o,t);return{center:h,projection:c,zoom:mo.getZoomByResolution(mo.scaleToResolution(a,s,o),d),resolutions:d}}if(window.proj4=fl(),window&&window.ol){let t=window.ol;t.supermap={...e,...t.supermap},t.supermap.control=t.supermap.control||{},t.supermap.control.ChangeTileVersion=Ga,t.supermap.control.Logo=Ha,t.supermap.control.ScaleLine=Ja,t.supermap.StyleUtils=Ro,t.supermap.Util=mo,t.source.BaiduMap=Ho,t.source.ImageSuperMapRest=el,t.source.SuperMapCloud=sl,t.source.ImageTileSuperMapRest=id,t.source.Tianditu=hl,t.source.TileSuperMapRest=dl,t.supermap.WebMap=sd,t.style.CloverShape=Rl,t.Graphic=Jl,t.style.HitCloverShape=Dl,t.source.GeoFeature=Kl,t.source.Theme=Il,t.supermap.ThemeFeature=Ol,t.supermap.MapboxStyles=uc,t.supermap.VectorTileStyles=dh,t.source.DataFlow=Al,t.source.Graph=Nl,t.source.Graphic=Zl,t.source.HeatMap=bh,t.source.Label=$l,t.source.Mapv=ah,t.source.Range=oh,t.source.RankSymbol=lh,t.source.Turf=uh,t.source.FGB=ic,t.source.Unique=ch,t.source.VectorTileSuperMapRest=vh,t.supermap.AddressMatchService=cc,t.supermap.ChartService=dc,t.supermap.DataFlowService=El,t.supermap.DatasetService=fc,t.supermap.DatasourceService=mc,t.supermap.FeatureService=_l,t.supermap.FieldService=pc,t.supermap.GridCellInfosService=yc,t.supermap.GeoprocessingService=gc,t.supermap.LayerInfoService=vc,t.supermap.MapService=ka,t.supermap.MeasureService=bc,t.supermap.NetworkAnalyst3DService=Sc,t.supermap.NetworkAnalystService=xc,t.supermap.ProcessingService=_c,t.supermap.QueryService=xl,t.supermap.ServiceBase=Fa,t.supermap.SpatialAnalystService=wc,t.supermap.ThemeService=Cc,t.supermap.TrafficTransferAnalystService=Tc,t.supermap.WebPrintingJobService=Mc,t.supermap.ImageService=Ec,t.supermap.ImageCollectionService=Ac,t.supermap.initMap=function(e,t={}){const{mapOptions:r,viewOptions:s,layerOptions:i,sourceOptions:n}=t;return new Promise((t,a)=>{new ka(e).getMapInfo(async function(o){o&&o.result||a("service is not work!");let{prjCoordSys:l,bounds:h}=o.result;if(!(0,Ua.get)(`EPSG:${l.epsgCode}`)&&"PCS_NON_EARTH"!==l.type){const t=await function(e){return new Promise(t=>{new ka(e).getWkt(function(e){let r=e.result.data;t(r)})})}(e);!function(e,t,r){const s=[r.left,r.bottom,r.right,r.top];let i=`EPSG:${e}`;if(!(0,Ua.get)(i)&&fl().defs(i,t),Rc&&Rc.register){Rc.register(fl());var n=(0,Ua.get)(i);n.setExtent(s)}}(l.epsgCode,t,h)}let u=function(e,t,r){let s=od(e);return new(Go())({target:"map",view:new(Nc())({...s,...r}),...t})}(o.result,r,s),{layer:c,source:d}=function(e,t,r,s){let i=dl.optionsFromMapJSON(e,t,!0);i={...i,...r};var n=new dl(i);return{layer:new(ad())({source:n,...s}),source:n}}(e,o.result,n,i);u.addLayer(c),t({map:u,source:d,layer:c})})})},t.supermap.viewOptionsFromMapJSON=od,t.supermap.CommonUtil=$}})(),(()=>{"use strict"})()})();