1var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{d as defineComponent,c as createElementBlock,b as createBaseVNode,o as openBlock,s as createStaticVNode,E as getDefaultExportFromCjs,G as commonjsGlobal,T as TrashBinOutline,q as markRaw,a as createVNode,x as normalizeClass,t as toDisplayString,h as createCommentVNode,w as withCtx,g as withDirectives,y as vModelText,A as withKeys,z as withModifiers,F as Fragment,r as renderList,j as createTextVNode,e as resolveComponent,f as createBlock,H as vModelDynamic,_ as _export_sfc}from"./index-091a344c.js";import{r as IFCSITE,w as IFCMAPCONVERSION,x as IFCPROJECTEDCRS,y as IFCPROJECT,z as IFCGEOMETRICREPRESENTATIONCONTEXT,R as REAL,L as LABEL,I as IfcAPI2}from"./web-ifc-api-b335217d.js";import{T as Tool}from"./Tool.mixin-a1f5bff3.js";import{D as DownloadOutline}from"./DownloadOutline-531f2238.js";import{S as SearchOutline}from"./SearchOutline-14415038.js";const _hoisted_1$7={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$7=createBaseVNode("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),_hoisted_3$6=[_hoisted_2$7],CheckmarkOutline=defineComponent({name:"CheckmarkOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$7,_hoisted_3$6)},"render")}),_hoisted_1$6={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$6=createBaseVNode("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),_hoisted_3$5=createBaseVNode("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),_hoisted_4$5=[_hoisted_2$6,_hoisted_3$5],CloseOutline=defineComponent({name:"CloseOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$6,_hoisted_4$5)},"render")}),_hoisted_1$5={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$5=createBaseVNode("path",{d:"M384 224v184a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V168a40 40 0 0 1 40-40h167.48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_3$4=createBaseVNode("path",{d:"M459.94 53.25a16.06 16.06 0 0 0-23.22-.56L424.35 65a8 8 0 0 0 0 11.31l11.34 11.32a8 8 0 0 0 11.34 0l12.06-12c6.1-6.09 6.67-16.01.85-22.38z",fill:"currentColor"},null,-1),_hoisted_4$4=createBaseVNode("path",{d:"M399.34 90L218.82 270.2a9 9 0 0 0-2.31 3.93L208.16 299a3.91 3.91 0 0 0 4.86 4.86l24.85-8.35a9 9 0 0 0 3.93-2.31L422 112.66a9 9 0 0 0 0-12.66l-9.95-10a9 9 0 0 0-12.71 0z",fill:"currentColor"},null,-1),_hoisted_5$1=[_hoisted_2$5,_hoisted_3$4,_hoisted_4$4],CreateOutline=defineComponent({name:"CreateOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$5,_hoisted_5$1)},"render")}),_hoisted_1$4={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$4=createStaticVNode('<path d="M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208s208-93.13 208-208z" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="32"></path><path d="M445.57 172.14c-16.06.1-14.48 29.73-34.49 15.75c-7.43-5.18-12-12.71-21.33-15c-8.15-2-16.5.08-24.55 1.47c-9.15 1.58-20 2.29-26.94 9.22c-6.71 6.67-10.26 15.62-17.4 22.33c-13.81 13-19.64 27.19-10.7 45.57c8.6 17.67 26.59 27.26 46 26c19.07-1.27 38.88-12.33 38.33 15.38c-.2 9.8 1.85 16.6 4.86 25.71c2.79 8.4 2.6 16.54 3.24 25.21c1.18 16.2 4.16 34.36 12.2 48.67l15-21.16c1.85-2.62 5.72-6.29 6.64-9.38c1.63-5.47-1.58-14.87-1.95-21s-.19-12.34-1.13-18.47c-1.32-8.59-6.4-16.64-7.1-25.13c-1.29-15.81 1.6-28.43-10.58-41.65c-11.76-12.75-29-15.81-45.47-13.22c-8.3 1.3-41.71 6.64-28.3-12.33c2.65-3.73 7.28-6.79
110.26-10.34c2.59-3.09 4.84-8.77 7.88-11.18s17-5.18 21-3.95s8.17 7 11.64 9.56a49.89 49.89 0 0 0 21.81 9.36c13.66 2 42.22-5.94 42-23.46c-.04-8.4-7.84-20.1-10.92-27.96z" fill="currentColor"></path><path d="M287.45 316.3c-5.33-22.44-35.82-29.94-52.26-42.11c-9.45-7-17.86-17.81-30.27-18.69c-5.72-.41-10.51.83-16.18-.64c-5.2-1.34-9.28-4.14-14.82-3.41c-10.35 1.36-16.88 12.42-28 10.92c-10.55-1.42-21.42-13.76-23.82-23.81c-3.08-12.92 7.14-17.11 18.09-18.26c4.57-.48 9.7-1 14.09.67c5.78 2.15 8.51 7.81 13.7 10.67c9.73 5.33 11.7-3.19 10.21-11.83c-2.23-12.94-4.83-18.22 6.71-27.12c8-6.14 14.84-10.58 13.56-21.61c-.76-6.48-4.31-9.41-1-15.86c2.51-4.91 9.4-9.34 13.89-12.27c11.59-7.56 49.65-7 34.1-28.16c-4.57-6.21-13-17.31-21-18.83c-10-1.89-14.44 9.27-21.41 14.19c-7.2 5.09-21.22 10.87-28.43 3c-9.7-10.59 6.43-14.07 10-21.46s-8.27-21.36-14.61-24.9l-29.81 33.43a41.52 41.52 0 0 0 8.34 31.86c5.93 7.63 15.37 10.08 15.8 20.5c.42 10-1.14 15.12-7.68 22.15c-2.83 3-4.83 7.26-7.71 10.07c-3.53 3.43-2.22 2.38-7.73 3.32c-10.36 1.75-19.18 4.45-29.19 7.21C95.34 199.94 93.8 172.69 86.2 162l-25 20.19c-.27 3.31 4.1 9.4 5.29 13c6.83 20.57 20.61 36.48 29.51 56.16c9.37 20.84 34.53 15.06 45.64 33.32c9.86 16.2-.67 36.71 6.71 53.67c5.36 12.31 18 15 26.72 24c8.91 9.09 8.72 21.53 10.08 33.36a305.22 305.22 0 0 0 7.45 41.28c1.21 4.69 2.32 10.89 5.53 14.76c2.2 2.66 9.75 4.95 6.7 5.83c4.26.7 11.85 4.68 15.4 1.76c4.68-3.84 3.43-15.66 4.24-21c2.43-15.9 10.39-31.45 21.13-43.35c10.61-11.74 25.15-19.69 34.11-33c8.73-12.98 11.36-30.49 7.74-45.68zm-33.39 26.32c-6 10.71-19.36 17.88-27.95 26.39c-2.33 2.31-7.29 10.31-10.21 8.58c-2.09-1.24-2.8-11.62-3.57-14a61.17 61.17 0 0 0-21.71-29.95c-3.13-2.37-10.89-5.45-12.68-8.7c-2-3.53-.2-11.86-.13-15.7c.11-5.6-2.44-14.91-1.06-20c1.6-5.87-1.48-2.33 3.77-3.49c2.77-.62 14.21 1.39 17.66 2.11c5.48 1.14 8.5 4.55 12.82 8c11.36 9.11 23.87 16.16 36.6 23.14c9.86 5.46 12.76 12.37 6.46 23.62z" fill="currentColor"></path><path d="M184.46 67.09c4.74 4.63 9.2 10.11 16.27 10.57c6.69.45 13-3.17 18.84 1.38c6.48 5 11.15 11.33 19.75 12.89c8.32 1.51 17.13-3.35 19.19-11.86c2-8.11-2.31-16.93-2.57-25.07c0-1.13.61-6.15-.17-7c-.58-.64-5.42.08-6.16.1q-8.13.24-16.22 1.12a207.1 207.1 0 0 0-57.18 14.65c2.43 1.68 5.48 2.35 8.25 3.22z" fill="currentColor"></path><path d="M356.4 123.27c8.49 0 17.11-3.8 14.37-13.62c-2.3-8.23-6.22-17.16-15.76-12.72c-6.07 2.82-14.67 10-15.38 17.12c-.81 8.08 11.11 9.22 16.77 9.22z" fill="currentColor"></path><path d="M349.62 166.24c8.67 5.19 21.53 2.75 28.07-4.66c5.11-5.8 8.12-15.87 17.31-15.86a15.4 15.4 0 0 1 10.82 4.41c3.8 3.93 3.05 7.62 3.86 12.54c1.81 11.05 13.66.63 16.75-3.65c2-2.79 4.71-6.93 3.8-10.56c-.84-3.39-4.8-7-6.56-10.11c-5.14-9-9.37-19.47-17.07-26.74c-7.41-7-16.52-6.19-23.55 1.08c-5.76 6-12.45 10.75-16.39 18.05c-2.78 5.13-5.91 7.58-11.54 8.91c-3.1.73-6.64 1-9.24 3.08c-7.24 5.7-3.12 19.39 3.74 23.51z" fill="currentColor"></path>',6),_hoisted_8$1=[_hoisted_2$4],EarthOutline=defineComponent({name:"EarthOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$4,_hoisted_8$1)},"render")}),_hoisted_1$3={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$3=createBaseVNode("path",{d:"M256 48c-79.5 0-144 61.39-144 137c0 87 96 224.87 131.25 272.49a15.77 15.77 0 0 0 25.5 0C304 409.89 400 272.07 400 185c0-75.61-64.5-137-144-137z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_3$3=createBaseVNode("circle",{cx:"256",cy:"192",r:"48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_4$3=[_hoisted_2$3,_hoisted_3$3],LocationOutline=defineComponent({name:"LocationOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$3,_hoisted_4$3)},"render")}),_hoisted_1$2={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$2=createBaseVNode("path",{d:"M336 208v-95a80 80 0 0 0-160 0v95",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_3$2=createBaseVNode("rect",{x:"96",y:"208",width:"320",height:"272",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_4$2=[_hoisted_2$2,_hoisted_3$2],LockClosedOutline=defineComponent({name:"LockClosedOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$2,_hoisted_4$2)},"render")}),_hoisted_1$1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_hoisted_2$1=createBaseVNode("path",{d:"M336 112a80 80 0 0 0-160 0v96",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_3$1=createBaseVNode("rect",{x:"96",y:"208",width:"320",height:"272",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_hoisted_4$1=[_hoisted_2$1,_hoisted_3$1],LockOpenOutline=defineComponent({name:"LockOpenOutline",render:__name(function(_ctx,_cache){return openBlock(),createElementBlock("svg",_hoisted_1$1,_hoisted_4$1)},"render")});var leafletSrc={exports:{}};/* @preserve 2 * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com 3 * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade 4 */(function(module,exports){(function(global,factory){factory(exports)})(commonjsGlobal,function(exports2){var version="1.9.4";function extend(dest){var i,j,len,src;for(j=1,len=arguments.length;j<len;j++){src=arguments[j];for(i in src)dest[i]=src[i]}return dest}__name(extend,"extend");var create$2=Object.create||function(){function F(){}return __name(F,"F"),function(proto){return F.prototype=proto,new F}
4}();function bind(fn,obj){var slice=Array.prototype.slice;if(fn.bind)return fn.bind.apply(fn,slice.call(arguments,1));var args=slice.call(arguments,2);return function(){return fn.apply(obj,args.length?args.concat(slice.call(arguments)):arguments)}}__name(bind,"bind");var lastId=0;function stamp(obj){return"_leaflet_id"in obj||(obj._leaflet_id=++lastId),obj._leaflet_id}__name(stamp,"stamp");function throttle(fn,time,context){var lock,args,wrapperFn,later;return later=__name(function(){lock=!1,args&&(wrapperFn.apply(context,args),args=!1)},"later"),wrapperFn=__name(function(){lock?args=arguments:(fn.apply(context,arguments),setTimeout(later,time),lock=!0)},"wrapperFn"),wrapperFn}__name(throttle,"throttle");function wrapNum(x,range,includeMax){var max=range[1],min=range[0],d=max-min;return x===max&&includeMax?x:((x-min)%d+d)%d+min}__name(wrapNum,"wrapNum");function falseFn(){return!1}__name(falseFn,"falseFn");function formatNum(num,precision){if(precision===!1)return num;var pow=Math.pow(10,precision===void 0?6:precision);return Math.round(num*pow)/pow}__name(formatNum,"formatNum");function trim(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")}__name(trim,"trim");function splitWords(str){return trim(str).split(/\s+/)}__name(splitWords,"splitWords");function setOptions(obj,options){Object.prototype.hasOwnProperty.call(obj,"options")||(obj.options=obj.options?create$2(obj.options):{});for(var i in options)obj.options[i]=options[i];return obj.options}__name(setOptions,"setOptions");function getParamString(obj,existingUrl,uppercase){var params=[];for(var i in obj)params.push(encodeURIComponent(uppercase?i.toUpperCase():i)+"="+encodeURIComponent(obj[i]));return(!existingUrl||existingUrl.indexOf("?")===-1?"?":"&")+params.join("&")}__name(getParamString,"getParamString");var templateRe=/\{ *([\w_ -]+) *\}/g;function template(str,data){return str.replace(templateRe,function(str2,key){var value=data[key];if(value===void 0)throw new Error("No value provided for variable "+str2);return typeof value=="function"&&(value=value(data)),value})}__name(template,"template");var isArray=Array.isArray||function(obj){return Object.prototype.toString.call(obj)==="[object Array]"};function indexOf(array,el){for(var i=0;i<array.length;i++)if(array[i]===el)return i;return-1}__name(indexOf,"indexOf");var emptyImageUrl="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function getPrefixed(name){return window["webkit"+name]||window["moz"+name]||window["ms"+name]}__name(getPrefixed,"getPrefixed");var lastTime=0;function timeoutDefer(fn){var time=+new Date,timeToCall=Math.max(0,16-(time-lastTime));return lastTime=time+timeToCall,window.setTimeout(fn,timeToCall)}__name(timeoutDefer,"timeoutDefer");var requestFn=window.requestAnimationFrame||getPrefixed("RequestAnimationFrame")||timeoutDefer,cancelFn=window.cancelAnimationFrame||getPrefixed("CancelAnimationFrame")||getPrefixed("CancelRequestAnimationFrame")||function(id){window.clearTimeout(id)};function requestAnimFrame(fn,context,immediate){if(immediate&&requestFn===timeoutDefer)fn.call(context);else return requestFn.call(window,bind(fn,context))}__name(requestAnimFrame,"requestAnimFrame");function cancelAnimFrame(id){id&&cancelFn.call(window,id)}__name(cancelAnimFrame,"cancelAnimFrame");var Util={__proto__:null,extend,create:create$2,bind,get lastId(){return lastId},stamp,throttle,wrapNum,falseFn,formatNum,trim,splitWords,setOptions,getParamString,template,isArray,indexOf,emptyImageUrl,requestFn,cancelFn,requestAnimFrame,cancelAnimFrame};function Class(){}__name(Class,"Class"),Class.extend=function(props){var NewClass=__name(function(){setOptions(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},"NewClass"),parentProto=NewClass.__super__=this.prototype,proto=create$2(parentProto);proto.constructor=NewClass,NewClass.prototype=proto;for(var i in this)Object.prototype.hasOwnProperty.call(this,i)&&i!=="prototype"&&i!=="__super__"&&(NewClass[i]=this[i]);return props.statics&&extend(NewClass,props.statics),props.includes&&(checkDeprecatedMixinEvents(props.includes),extend.apply(null,[proto].concat(props.includes))),extend(proto,props),delete proto.statics,delete proto.includes,proto.options&&(proto.options=parentProto.options?create$2(parentProto.options):{},extend(proto.options,props.options)),proto._initHooks=[],proto.callInitHooks=function(){if(!this._initHooksCalled){parentProto.callInitHooks&&parentProto.callInitHooks.call(this),this._initHooksCalled=!0;for(var i2=0,len=proto._initHooks.length;i2<len;i2++)proto._initHooks[i2].call(this)}},NewClass},Class.include=function(props){var parentOptions=this.prototype.options;return extend(this.prototype,props),props.options&&(this.prototype.options=parentOptions,this.mergeOptions(props.options)),this},Class.mergeOptions=function(options){return extend(this.prototype.options,options),this},Class.addInitHook=function(fn){var args=Array.prototype.slice.call(arguments,1
4),init=typeof fn=="function"?fn:function(){this[fn].apply(this,args)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(init),this};function checkDeprecatedMixinEvents(includes){if(!(typeof L>"u"||!L||!L.Mixin)){includes=isArray(includes)?includes:[includes];for(var i=0;i<includes.length;i++)includes[i]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}__name(checkDeprecatedMixinEvents,"checkDeprecatedMixinEvents");var Events={on:function(types,fn,context){if(typeof types=="object")for(var type in types)this._on(type,types[type],fn);else{types=splitWords(types);for(var i=0,len=types.length;i<len;i++)this._on(types[i],fn,context)}return this},off:function(types,fn,context){if(!arguments.length)delete this._events;else if(typeof types=="object")for(var type in types)this._off(type,types[type],fn);else{types=splitWords(types);for(var removeAll=arguments.length===1,i=0,len=types.length;i<len;i++)removeAll?this._off(types[i]):this._off(types[i],fn,context)}return this},_on:function(type,fn,context,_once){if(typeof fn!="function"){console.warn("wrong listener type: "+typeof fn);return}if(this._listens(type,fn,context)===!1){context===this&&(context=void 0);var newListener={fn,ctx:context};_once&&(newListener.once=!0),this._events=this._events||{},this._events[type]=this._events[type]||[],this._events[type].push(newListener)}},_off:function(type,fn,context){var listeners,i,len;if(this._events&&(listeners=this._events[type],!!listeners)){if(arguments.length===1){if(this._firingCount)for(i=0,len=listeners.length;i<len;i++)listeners[i].fn=falseFn;delete this._events[type];return}if(typeof fn!="function"){console.warn("wrong listener type: "+typeof fn);return}var index2=this._listens(type,fn,context);if(index2!==!1){var listener=listeners[index2];this._firingCount&&(listener.fn=falseFn,this._events[type]=listeners=listeners.slice()),listeners.splice(index2,1)}}},fire:function(type,data,propagate){if(!this.listens(type,propagate))return this;var event=extend({},data,{type,target:this,sourceTarget:data&&data.sourceTarget||this});if(this._events){var listeners=this._events[type];if(listeners){this._firingCount=this._firingCount+1||1;for(var i=0,len=listeners.length;i<len;i++){var l=listeners[i],fn=l.fn;l.once&&this.off(type,fn,l.ctx),fn.call(l.ctx||this,event)}this._firingCount--}}return propagate&&this._propagateEvent(event),this},listens:function(type,fn,context,propagate){typeof type!="string"&&console.warn('"string" type argument expected');var _fn=fn;typeof fn!="function"&&(propagate=!!fn,_fn=void 0,context=void 0);var listeners=this._events&&this._events[type];if(listeners&&listeners.length&&this._listens(type,_fn,context)!==!1)return!0;if(propagate){for(var id in this._eventParents)if(this._eventParents[id].listens(type,fn,context,propagate))return!0}return!1},_listens:function(type,fn,context){if(!this._events)return!1;var listeners=this._events[type]||[];if(!fn)return!!listeners.length;context===this&&(context=void 0);for(var i=0,len=listeners.length;i<len;i++)if(listeners[i].fn===fn&&listeners[i].ctx===context)return i;return!1},once:function(types,fn,context){if(typeof types=="object")for(var type in types)this._on(type,types[type],fn,!0);else{types=splitWords(types);for(var i=0,len=types.length;i<len;i++)this._on(types[i],fn,context,!0)}return this},addEventParent:function(obj){return this._eventParents=this._eventParents||{},this._eventParents[stamp(obj)]=obj,this},removeEventParent:function(obj){return this._eventParents&&delete this._eventParents[stamp(obj)],this},_propagateEvent:function(e){for(var id in this._eventParents)this._eventParents[id].fire(e.type,extend({layer:e.target,propagatedFrom:e.target},e),!0)}};Events.addEventListener=Events.on,Events.removeEventListener=Events.clearAllEventListeners=Events.off,Events.addOneTimeEventListener=Events.once,Events.fireEvent=Events.fire,Events.hasEventListeners=Events.listens;var Evented=Class.extend(Events);function Point(x,y,round){this.x=round?Math.round(x):x,this.y=round?Math.round(y):y}__name(Point,"Point");var trunc=Math.trunc||function(v){return v>0?Math.floor(v):Math.ceil(v)};Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(point){return this.clone()._add(toPoint(point))},_add:function(point){return this.x+=point.x,this.y+=point.y,this},subtract:function(point){return this.clone()._subtract(toPoint(point))},_subtract:function(point){return this.x-=point.x,this.y-=point.y,this},divideBy:function(num){return this.clone()._divideBy(num)},_divideBy:function(num){return this.x/=num,this.y/=num,this},multiplyBy:function(num){return this.clone()._multiplyBy(num)},_multiplyBy:function(num){return this.x*=num,this.y*=num,this},scaleBy:function(point){return new Point(this.x*point.x,this.y*point.y)},unscaleBy:function(point){return new Point(this.x/point.x,this.y/point.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=trunc(this.x),this.y=trunc(this.y),this},distanceTo:function(point){point=toPoint(point);var x=point.x-this.x,y=point.y-this.y;return Math.sqrt(x*x+y*y)},equals:function(point){return point=toPoint(point),point.x===this.x&&point.y===this.y},contains:function(point){return point=toPoint(point),Math.abs(point.x)<=Math.abs(this.x)&&Math.abs(point.y)<=Math.abs(this.y)}
4,toString:function(){return"Point("+formatNum(this.x)+", "+formatNum(this.y)+")"}};function toPoint(x,y,round){return x instanceof Point?x:isArray(x)?new Point(x[0],x[1]):x==null?x:typeof x=="object"&&"x"in x&&"y"in x?new Point(x.x,x.y):new Point(x,y,round)}__name(toPoint,"toPoint");function Bounds(a,b){if(a)for(var points=b?[a,b]:a,i=0,len=points.length;i<len;i++)this.extend(points[i])}__name(Bounds,"Bounds"),Bounds.prototype={extend:function(obj){var min2,max2;if(!obj)return this;if(obj instanceof Point||typeof obj[0]=="number"||"x"in obj)min2=max2=toPoint(obj);else if(obj=toBounds(obj),min2=obj.min,max2=obj.max,!min2||!max2)return this;return!this.min&&!this.max?(this.min=min2.clone(),this.max=max2.clone()):(this.min.x=Math.min(min2.x,this.min.x),this.max.x=Math.max(max2.x,this.max.x),this.min.y=Math.min(min2.y,this.min.y),this.max.y=Math.max(max2.y,this.max.y)),this},getCenter:function(round){return toPoint((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,round)},getBottomLeft:function(){return toPoint(this.min.x,this.max.y)},getTopRight:function(){return toPoint(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(obj){var min,max;return typeof obj[0]=="number"||obj instanceof Point?obj=toPoint(obj):obj=toBounds(obj),obj instanceof Bounds?(min=obj.min,max=obj.max):min=max=obj,min.x>=this.min.x&&max.x<=this.max.x&&min.y>=this.min.y&&max.y<=this.max.y},intersects:function(bounds){bounds=toBounds(bounds);var min=this.min,max=this.max,min2=bounds.min,max2=bounds.max,xIntersects=max2.x>=min.x&&min2.x<=max.x,yIntersects=max2.y>=min.y&&min2.y<=max.y;return xIntersects&&yIntersects},overlaps:function(bounds){bounds=toBounds(bounds);var min=this.min,max=this.max,min2=bounds.min,max2=bounds.max,xOverlaps=max2.x>min.x&&min2.x<max.x,yOverlaps=max2.y>min.y&&min2.y<max.y;return xOverlaps&&yOverlaps},isValid:function(){return!!(this.min&&this.max)},pad:function(bufferRatio){var min=this.min,max=this.max,heightBuffer=Math.abs(min.x-max.x)*bufferRatio,widthBuffer=Math.abs(min.y-max.y)*bufferRatio;return toBounds(toPoint(min.x-heightBuffer,min.y-widthBuffer),toPoint(max.x+heightBuffer,max.y+widthBuffer))},equals:function(bounds){return bounds?(bounds=toBounds(bounds),this.min.equals(bounds.getTopLeft())&&this.max.equals(bounds.getBottomRight())):!1}};function toBounds(a,b){return!a||a instanceof Bounds?a:new Bounds(a,b)}__name(toBounds,"toBounds");function LatLngBounds(corner1,corner2){if(corner1)for(var latlngs=corner2?[corner1,corner2]:corner1,i=0,len=latlngs.length;i<len;i++)this.extend(latlngs[i])}__name(LatLngBounds,"LatLngBounds"),LatLngBounds.prototype={extend:function(obj){var sw=this._southWest,ne=this._northEast,sw2,ne2;if(obj instanceof LatLng)sw2=obj,ne2=obj;else if(obj instanceof LatLngBounds){if(sw2=obj._southWest,ne2=obj._northEast,!sw2||!ne2)return this}else return obj?this.extend(toLatLng(obj)||toLatLngBounds(obj)):this;return!sw&&!ne?(this._southWest=new LatLng(sw2.lat,sw2.lng),this._northEast=new LatLng(ne2.lat,ne2.lng)):(sw.lat=Math.min(sw2.lat,sw.lat),sw.lng=Math.min(sw2.lng,sw.lng),ne.lat=Math.max(ne2.lat,ne.lat),ne.lng=Math.max(ne2.lng,ne.lng)),this},pad:function(bufferRatio){var sw=this._southWest,ne=this._northEast,heightBuffer=Math.abs(sw.lat-ne.lat)*bufferRatio,widthBuffer=Math.abs(sw.lng-ne.lng)*bufferRatio;return new LatLngBounds(new LatLng(sw.lat-heightBuffer,sw.lng-widthBuffer),new LatLng(ne.lat+heightBuffer,ne.lng+widthBuffer))},getCenter:function(){return new LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(obj){typeof obj[0]=="number"||obj instanceof LatLng||"lat"in obj?obj=toLatLng(obj):obj=toLatLngBounds(obj);var sw=this._southWest,ne=this._northEast,sw2,ne2;
4return obj instanceof LatLngBounds?(sw2=obj.getSouthWest(),ne2=obj.getNorthEast()):sw2=ne2=obj,sw2.lat>=sw.lat&&ne2.lat<=ne.lat&&sw2.lng>=sw.lng&&ne2.lng<=ne.lng},intersects:function(bounds){bounds=toLatLngBounds(bounds);var sw=this._southWest,ne=this._northEast,sw2=bounds.getSouthWest(),ne2=bounds.getNorthEast(),latIntersects=ne2.lat>=sw.lat&&sw2.lat<=ne.lat,lngIntersects=ne2.lng>=sw.lng&&sw2.lng<=ne.lng;return latIntersects&&lngIntersects},overlaps:function(bounds){bounds=toLatLngBounds(bounds);var sw=this._southWest,ne=this._northEast,sw2=bounds.getSouthWest(),ne2=bounds.getNorthEast(),latOverlaps=ne2.lat>sw.lat&&sw2.lat<ne.lat,lngOverlaps=ne2.lng>sw.lng&&sw2.lng<ne.lng;return latOverlaps&&lngOverlaps},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(bounds,maxMargin){return bounds?(bounds=toLatLngBounds(bounds),this._southWest.equals(bounds.getSouthWest(),maxMargin)&&this._northEast.equals(bounds.getNorthEast(),maxMargin)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function toLatLngBounds(a,b){return a instanceof LatLngBounds?a:new LatLngBounds(a,b)}__name(toLatLngBounds,"toLatLngBounds");function LatLng(lat,lng,alt){if(isNaN(lat)||isNaN(lng))throw new Error("Invalid LatLng object: ("+lat+", "+lng+")");this.lat=+lat,this.lng=+lng,alt!==void 0&&(this.alt=+alt)}__name(LatLng,"LatLng"),LatLng.prototype={equals:function(obj,maxMargin){if(!obj)return!1;obj=toLatLng(obj);var margin=Math.max(Math.abs(this.lat-obj.lat),Math.abs(this.lng-obj.lng));return margin<=(maxMargin===void 0?1e-9:maxMargin)},toString:function(precision){return"LatLng("+formatNum(this.lat,precision)+", "+formatNum(this.lng,precision)+")"},distanceTo:function(other){return Earth.distance(this,toLatLng(other))},wrap:function(){return Earth.wrapLatLng(this)},toBounds:function(sizeInMeters){var latAccuracy=180*sizeInMeters/40075017,lngAccuracy=latAccuracy/Math.cos(Math.PI/180*this.lat);return toLatLngBounds([this.lat-latAccuracy,this.lng-lngAccuracy],[this.lat+latAccuracy,this.lng+lngAccuracy])},clone:function(){return new LatLng(this.lat,this.lng,this.alt)}};function toLatLng(a,b,c){return a instanceof LatLng?a:isArray(a)&&typeof a[0]!="object"?a.length===3?new LatLng(a[0],a[1],a[2]):a.length===2?new LatLng(a[0],a[1]):null:a==null?a:typeof a=="object"&&"lat"in a?new LatLng(a.lat,"lng"in a?a.lng:a.lon,a.alt):b===void 0?null:new LatLng(a,b,c)}__name(toLatLng,"toLatLng");var CRS={latLngToPoint:function(latlng,zoom2){var projectedPoint=this.projection.project(latlng),scale2=this.scale(zoom2);return this.transformation._transform(projectedPoint,scale2)},pointToLatLng:function(point,zoom2){var scale2=this.scale(zoom2),untransformedPoint=this.transformation.untransform(point,scale2);return this.projection.unproject(untransformedPoint)},project:function(latlng){return this.projection.project(latlng)},unproject:function(point){return this.projection.unproject(point)},scale:function(zoom2){return 256*Math.pow(2,zoom2)},zoom:function(scale2){return Math.log(scale2/256)/Math.LN2},getProjectedBounds:function(zoom2){if(this.infinite)return null;var b=this.projection.bounds,s=this.scale(zoom2),min=this.transformation.transform(b.min,s),max=this.transformation.transform(b.max,s);return new Bounds(min,max)},infinite:!1,wrapLatLng:function(latlng){var lng=this.wrapLng?wrapNum(latlng.lng,this.wrapLng,!0):latlng.lng,lat=this.wrapLat?wrapNum(latlng.lat,this.wrapLat,!0):latlng.lat,alt=latlng.alt;return new LatLng(lat,lng,alt)},wrapLatLngBounds:function(bounds){var center=bounds.getCenter(),newCenter=this.wrapLatLng(center),latShift=center.lat-newCenter.lat,lngShift=center.lng-newCenter.lng;if(latShift===0&&lngShift===0)return bounds;
4var sw=bounds.getSouthWest(),ne=bounds.getNorthEast(),newSw=new LatLng(sw.lat-latShift,sw.lng-lngShift),newNe=new LatLng(ne.lat-latShift,ne.lng-lngShift);return new LatLngBounds(newSw,newNe)}},Earth=extend({},CRS,{wrapLng:[-180,180],R:6371e3,distance:function(latlng1,latlng2){var rad=Math.PI/180,lat1=latlng1.lat*rad,lat2=latlng2.lat*rad,sinDLat=Math.sin((latlng2.lat-latlng1.lat)*rad/2),sinDLon=Math.sin((latlng2.lng-latlng1.lng)*rad/2),a=sinDLat*sinDLat+Math.cos(lat1)*Math.cos(lat2)*sinDLon*sinDLon,c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*c}}),earthRadius=6378137,SphericalMercator={R:earthRadius,MAX_LATITUDE:85.0511287798,project:function(latlng){var d=Math.PI/180,max=this.MAX_LATITUDE,lat=Math.max(Math.min(max,latlng.lat),-max),sin=Math.sin(lat*d);return new Point(this.R*latlng.lng*d,this.R*Math.log((1+sin)/(1-sin))/2)},unproject:function(point){var d=180/Math.PI;return new LatLng((2*Math.atan(Math.exp(point.y/this.R))-Math.PI/2)*d,point.x*d/this.R)},bounds:function(){var d=earthRadius*Math.PI;return new Bounds([-d,-d],[d,d])}()};function Transformation(a,b,c,d){if(isArray(a)){this._a=a[0],this._b=a[1],this._c=a[2],this._d=a[3];return}this._a=a,this._b=b,this._c=c,this._d=d}__name(Transformation,"Transformation"),Transformation.prototype={transform:function(point,scale2){return this._transform(point.clone(),scale2)},_transform:function(point,scale2){return scale2=scale2||1,point.x=scale2*(this._a*point.x+this._b),point.y=scale2*(this._c*point.y+this._d),point},untransform:function(point,scale2){return scale2=scale2||1,new Point((point.x/scale2-this._b)/this._a,(point.y/scale2-this._d)/this._c)}};function toTransformation(a,b,c,d){return new Transformation(a,b,c,d)}__name(toTransformation,"toTransformation");var EPSG3857=extend({},Earth,{code:"EPSG:3857",projection:SphericalMercator,transformation:function(){var scale2=.5/(Math.PI*SphericalMercator.R);return toTransformation(scale2,.5,-scale2,.5)}()}),EPSG900913=extend({},EPSG3857,{code:"EPSG:900913"});function svgCreate(name){return document.createElementNS("http://www.w3.org/2000/svg",name)}__name(svgCreate,"svgCreate");function pointsToPath(rings,closed){var str="",i,j,len,len2,points,p;for(i=0,len=rings.length;i<len;i++){for(points=rings[i],j=0,len2=points.length;j<len2;j++)p=points[j],str+=(j?"L":"M")+p.x+" "+p.y;str+=closed?Browser.svg?"z":"x":""}return str||"M0 0"}__name(pointsToPath,"pointsToPath");var style=document.documentElement.style,ie="ActiveXObject"in window,ielt9=ie&&!document.addEventListener,edge="msLaunchUri"in navigator&&!("documentMode"in document),webkit=userAgentContains("webkit"),android=userAgentContains("android"),android23=userAgentContains("android 2")||userAgentContains("android 3"),webkitVer=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),androidStock=android&&userAgentContains("Google")&&webkitVer<537&&!("AudioNode"in window),opera=!!window.opera,chrome=!edge&&userAgentContains("chrome"),gecko=userAgentContains("gecko")&&!webkit&&!opera&&!ie,safari=!chrome&&userAgentContains("safari"),phantom=userAgentContains("phantom"),opera12="OTransition"in style,win=navigator.platform.indexOf("Win")===0,ie3d=ie&&"transition"in style,webkit3d="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!android23,gecko3d="MozPerspective"in style,any3d=!window.L_DISABLE_3D&&(ie3d||webkit3d||gecko3d)&&!opera12&&!phantom,mobile=typeof orientation<"u"||userAgentContains("mobile"),mobileWebkit=mobile&&webkit,mobileWebkit3d=mobile&&webkit3d,msPointer=!window.PointerEvent&&window.MSPointerEvent,pointer=!!(window.PointerEvent||msPointer),touchNative="ontouchstart"in window||!!window.TouchEvent,touch=!window.L_NO_TOUCH&&(touchNative||pointer),mobileOpera=mobile&&opera,mobileGecko=mobile&&gecko,retina=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,passiveEvents=function(){var supportsPassiveOption=!1;try{var opts=Object.defineProperty({},"passive",{get:function(){supportsPassiveOption=!0}});window.addEventListener("testPassiveEventSupport",falseFn,opts),window.removeEventListener("testPassiveEventSupport",falseFn,opts)}catch{}return supportsPassiveOption}(),canvas$1=function(){return!!document.createElement("canvas").getContext}(),svg$1=!!(document.createElementNS&&svgCreate("svg").createSVGRect),inl
4ineSvg=!!svg$1&&function(){var div=document.createElement("div");return div.innerHTML="<svg/>",(div.firstChild&&div.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),vml=!svg$1&&function(){try{var div=document.createElement("div");div.innerHTML='<v:shape adj="1"/>';var shape=div.firstChild;return shape.style.behavior="url(#default#VML)",shape&&typeof shape.adj=="object"}catch{return!1}}(),mac=navigator.platform.indexOf("Mac")===0,linux=navigator.platform.indexOf("Linux")===0;function userAgentContains(str){return navigator.userAgent.toLowerCase().indexOf(str)>=0}__name(userAgentContains,"userAgentContains");var Browser={ie,ielt9,edge,webkit,android,android23,androidStock,opera,chrome,gecko,safari,phantom,opera12,win,ie3d,webkit3d,gecko3d,any3d,mobile,mobileWebkit,mobileWebkit3d,msPointer,pointer,touch,touchNative,mobileOpera,mobileGecko,retina,passiveEvents,canvas:canvas$1,svg:svg$1,vml,inlineSvg,mac,linux},POINTER_DOWN=Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE=Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP=Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL=Browser.msPointer?"MSPointerCancel":"pointercancel",pEvent={touchstart:POINTER_DOWN,touchmove:POINTER_MOVE,touchend:POINTER_UP,touchcancel:POINTER_CANCEL},handle={touchstart:_onPointerStart,touchmove:_handlePointer,touchend:_handlePointer,touchcancel:_handlePointer},_pointers={},_pointerDocListener=!1;function addPointerListener(obj,type,handler){return type==="touchstart"&&_addPointerDocListener(),handle[type]?(handler=handle[type].bind(this,handler),obj.addEventListener(pEvent[type],handler,!1),handler):(console.warn("wrong event specified:",type),falseFn)}__name(addPointerListener,"addPointerListener");function removePointerListener(obj,type,handler){if(!pEvent[type]){console.warn("wrong event specified:",type);return}obj.removeEventListener(pEvent[type],handler,!1)}__name(removePointerListener,"removePointerListener");function _globalPointerDown(e){_pointers[e.pointerId]=e}__name(_globalPointerDown,"_globalPointerDown");function _globalPointerMove(e){_pointers[e.pointerId]&&(_pointers[e.pointerId]=e)}__name(_globalPointerMove,"_globalPointerMove");function _globalPointerUp(e){delete _pointers[e.pointerId]}__name(_globalPointerUp,"_globalPointerUp");function _addPointerDocListener(){_pointerDocListener||(document.addEventListener(POINTER_DOWN,_globalPointerDown,!0),document.addEventListener(POINTER_MOVE,_globalPointerMove,!0),document.addEventListener(POINTER_UP,_globalPointerUp,!0),document.addEventListener(POINTER_CANCEL,_globalPointerUp,!0),_pointerDocListener=!0)}__name(_addPointerDocListener,"_addPointerDocListener");function _handlePointer(handler,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){e.touches=[];for(var i in _pointers)e.touches.push(_pointers[i]);e.changedTouches=[e],handler(e)}}__name(_handlePointer,"_handlePointer");function _onPointerStart(handler,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&preventDefault(e),_handlePointer(handler,e)}__name(_onPointerStart,"_onPointerStart");function makeDblclick(event){var newEvent={},prop,i;for(i in event)prop=event[i],newEvent[i]=prop&&prop.bind?prop.bind(event):prop;return event=newEvent,newEvent.type="dblclick",newEvent.detail=2,newEvent.isTrusted=!1,newEvent._simulated=!0,newEvent}__name(makeDblclick,"makeDblclick");var delay=200;function addDoubleTapListener(obj,handler){obj.addEventListener("dblclick",handler);var last=0,detail;function simDblclick(e){if(e.detail!==1){detail=e.detail;return}if(!(e.pointerType==="mouse"||e.sourceCapabilities&&!e.sourceCapabilities.firesTouchEvents)){var path=getPropagationPath(e);if(!(path.some(function(el){return el instanceof HTMLLabelElement&&el.attributes.for})&&!path.some(function(el){return el instanceof HTMLInputElement||el instanceof HTMLSelectElement}))){var now=Date.now();now-last<=delay?(detail++,detail===2&&handler(makeDblclick(e))):detail
4=1,last=now}}}return __name(simDblclick,"simDblclick"),obj.addEventListener("click",simDblclick),{dblclick:handler,simDblclick}}__name(addDoubleTapListener,"addDoubleTapListener");function removeDoubleTapListener(obj,handlers){obj.removeEventListener("dblclick",handlers.dblclick),obj.removeEventListener("click",handlers.simDblclick)}__name(removeDoubleTapListener,"removeDoubleTapListener");var TRANSFORM=testProp(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),TRANSITION=testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),TRANSITION_END=TRANSITION==="webkitTransition"||TRANSITION==="OTransition"?TRANSITION+"End":"transitionend";function get(id){return typeof id=="string"?document.getElementById(id):id}__name(get,"get");function getStyle(el,style2){var value=el.style[style2]||el.currentStyle&&el.currentStyle[style2];if((!value||value==="auto")&&document.defaultView){var css=document.defaultView.getComputedStyle(el,null);value=css?css[style2]:null}return value==="auto"?null:value}__name(getStyle,"getStyle");function create$1(tagName,className,container){var el=document.createElement(tagName);return el.className=className||"",container&&container.appendChild(el),el}__name(create$1,"create$1");function remove(el){var parent=el.parentNode;parent&&parent.removeChild(el)}__name(remove,"remove");function empty(el){for(;el.firstChild;)el.removeChild(el.firstChild)}__name(empty,"empty");function toFront(el){var parent=el.parentNode;parent&&parent.lastChild!==el&&parent.appendChild(el)}__name(toFront,"toFront");function toBack(el){var parent=el.parentNode;parent&&parent.firstChild!==el&&parent.insertBefore(el,parent.firstChild)}__name(toBack,"toBack");function hasClass(el,name){if(el.classList!==void 0)return el.classList.contains(name);var className=getClass(el);return className.length>0&&new RegExp("(^|\\s)"+name+"(\\s|$)").test(className)}__name(hasClass,"hasClass");function addClass(el,name){if(el.classList!==void 0)for(var classes=splitWords(name),i=0,len=classes.length;i<len;i++)el.classList.add(classes[i]);else if(!hasClass(el,name)){var className=getClass(el);setClass(el,(className?className+" ":"")+name)}}__name(addClass,"addClass");function removeClass(el,name){el.classList!==void 0?el.classList.remove(name):setClass(el,trim((" "+getClass(el)+" ").replace(" "+name+" "," ")))}__name(removeClass,"removeClass");function setClass(el,name){el.className.baseVal===void 0?el.className=name:el.className.baseVal=name}__name(setClass,"setClass");function getClass(el){return el.correspondingElement&&(el=el.correspondingElement),el.className.baseVal===void 0?el.className:el.className.baseVal}__name(getClass,"getClass");function setOpacity(el,value){"opacity"in el.style?el.style.opacity=value:"filter"in el.style&&_setOpacityIE(el,value)}__name(setOpacity,"setOpacity");function _setOpacityIE(el,value){var filter=!1,filterName="DXImageTransform.Microsoft.Alpha";try{filter=el.filters.item(filterName)}catch{if(value===1)return}value=Math.round(value*100),filter?(filter.Enabled=value!==100,filter.Opacity=value):el.style.filter+=" progid:"+filterName+"(opacity="+value+")"}__name(_setOpacityIE,"_setOpacityIE");function testProp(props){for(var style2=document.documentElement.style,i=0;i<props.length;i++)if(props[i]in style2)return props[i];return!1}__name(testProp,"testProp");function setTransform(el,offset,scale2){var pos=offset||new Point(0,0);el.style[TRANSFORM]=(Browser.ie3d?"translate("+pos.x+"px,"+pos.y+"px)":"translate3d("+pos.x+"px,"+pos.y+"px,0)")+(scale2?" scale("+scale2+")":"")}__name(setTransform,"setTransform");function setPosition(el,point){el._leaflet_pos=point,Browser.any3d?setTransform(el,point):(el.style.left=point.x+"px",el.style.top=point.y+"px")}__name(setPosition,"setPosition");function getPosition(el){return el._leaflet_pos||new Point(0,0)}__name(getPosition,"getPosition");var disableTextSelection,enableTextSelection,_userSelect;if("onselectstart"in document)disableTextSelection=__name(function(){on(window,"selectstart",preventDefault)},"disableTextSelection"),enableTextSelection=__name(function(){off(window,"selectstart",preventDefault)},"enableTextSelection");else{var userSelectProperty=testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);disableTextSelection=__name(function(){if(userSelectProperty){var style2=document.documentElement.style;_userSelect=style2[userSelectProperty],style2[userSelectProperty]="none"}},"disableTextSelection"),enableTextSelection=__name(function(){userSelectProperty&&(document.documentElement.style[userSelectProperty]=_userSelect,_userSelect=void 0)},"enableTextSelection")}function disableImageDrag(){on(window,"dragstart",preventDefault)}__name(disableImageDrag,"disableImageDrag");function enableImageDrag(){off(window,"dragstart",preventDefault)}__name(enableImageDrag,"enableImageDrag");var _outlineElement,_outlineStyle;function preventOutline(element){for(;element.tabIndex===-1;)element=element.parentNode;element.style&&(restoreOutline(),_outlineElement=element,_outlineStyle=element.style.outlineStyle,element.style.outlineStyle="none",on(window,"keydown",restoreOutline))}__name(preventOutline,"preventOutline");function restoreOutline(){_outlineElement&&(_outlineElement.style.outlineStyle=_outlineStyle,_outlineElement=void 0,_outlineStyle=void 0,off(window,"keydown",restoreOutline))}__name(restoreOutline,"restoreOutline");function getSizedParentNode(element){do element=element.parentNode;while((!element.offsetWidth||!element.offsetHeight)&&element!==document.body);return element}__name(getSizedParentNode,"getSizedParentNode");function getScale(element){var rect=element.getBoundingClientRect();return{x:rect.width/element.offsetWidth||1,y:rect.height/element.offsetHeight||1,boundingClientRect:rect}}__name(getScale,"getScale");var DomUtil={__proto__:null,TRANSFORM,TRANSITION,TRANSITION_END,get,getStyle,create:create$1,remove,empty,toFront,toBack,hasClass,addClass,removeClass,setClass,getClass,setOpacity,testProp,setTransform,setPosition,getPosition,get disableTextSelection(){return disableTextSelection},get enableTextSelection(){return enableTextSelection},disableImageDrag,enableImageDrag,preventOutline,restoreOutline,getSizedParentNode,getScale};function on(obj,types,fn,context){if(types&&typeof types=="object")for(var type in types)addOne(obj,type,types[type],fn);else{types=splitWords(types);for(var i=0,len=types.length;i<len;i++)addOne(obj,types[i],fn,context)}return this}__name(on,"on");var eventsKey="_leaflet_events";function off(obj,types,fn,context){if(arguments.length===1)batchRemove(obj),delete obj[eventsKey];else if(types&&typeof types=="object")for(var type in types)removeOne(obj,type,types[type],fn);else if(types=splitWords(types),arguments.length===2)batchRemove(obj,function(type2){return indexOf(types,type2)!==-1});else for(var i=0,len=types.length;i<len;i++)removeOne(obj,types[i],fn,context);return this}__name(off,"off");function batchRemove(obj,filterFn){for(var id in obj[eventsKey]){var type=id.split(/\d/)[0];(!filterFn||filterFn(type))&&removeOne(obj,type,null,null,id)}}__name(batchRemove,"batchRemove");
4var mouseSubst={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function addOne(obj,type,fn,context){var id=type+stamp(fn)+(context?"_"+stamp(context):"");if(obj[eventsKey]&&obj[eventsKey][id])return this;var handler=__name(function(e){return fn.call(context||obj,e||window.event)},"handler"),originalHandler=handler;!Browser.touchNative&&Browser.pointer&&type.indexOf("touch")===0?handler=addPointerListener(obj,type,handler):Browser.touch&&type==="dblclick"?handler=addDoubleTapListener(obj,handler):"addEventListener"in obj?type==="touchstart"||type==="touchmove"||type==="wheel"||type==="mousewheel"?obj.addEventListener(mouseSubst[type]||type,handler,Browser.passiveEvents?{passive:!1}:!1):type==="mouseenter"||type==="mouseleave"?(handler=__name(function(e){e=e||window.event,isExternalTarget(obj,e)&&originalHandler(e)},"handler"),obj.addEventListener(mouseSubst[type],handler,!1)):obj.addEventListener(type,originalHandler,!1):obj.attachEvent("on"+type,handler),obj[eventsKey]=obj[eventsKey]||{},obj[eventsKey][id]=handler}__name(addOne,"addOne");function removeOne(obj,type,fn,context,id){id=id||type+stamp(fn)+(context?"_"+stamp(context):"");var handler=obj[eventsKey]&&obj[eventsKey][id];if(!handler)return this;!Browser.touchNative&&Browser.pointer&&type.indexOf("touch")===0?removePointerListener(obj,type,handler):Browser.touch&&type==="dblclick"?removeDoubleTapListener(obj,handler):"removeEventListener"in obj?obj.removeEventListener(mouseSubst[type]||type,handler,!1):obj.detachEvent("on"+type,handler),obj[eventsKey][id]=null}__name(removeOne,"removeOne");function stopPropagation(e){return e.stopPropagation?e.stopPropagation():e.originalEvent?e.originalEvent._stopped=!0:e.cancelBubble=!0,this}__name(stopPropagation,"stopPropagation");function disableScrollPropagation(el){return addOne(el,"wheel",stopPropagation),this}__name(disableScrollPropagation,"disableScrollPropagation");function disableClickPropagation(el){return on(el,"mousedown touchstart dblclick contextmenu",stopPropagation),el._leaflet_disable_click=!0,this}__name(disableClickPropagation,"disableClickPropagation");function preventDefault(e){return e.preventDefault?e.preventDefault():e.returnValue=!1,this}__name(preventDefault,"preventDefault");function stop(e){return preventDefault(e),stopPropagation(e),this}__name(stop,"stop");function getPropagationPath(ev){if(ev.composedPath)return ev.composedPath();for(var path=[],el=ev.target;el;)path.push(el),el=el.parentNode;return path}__name(getPropagationPath,"getPropagationPath");function getMousePosition(e,container){if(!container)return new Point(e.clientX,e.clientY);var scale2=getScale(container),offset=scale2.boundingClientRect;return new Point((e.clientX-offset.left)/scale2.x-container.clientLeft,(e.clientY-offset.top)/scale2.y-container.clientTop)}__name(getMousePosition,"getMousePosition");var wheelPxFactor=Browser.linux&&Browser.chrome?window.devicePixelRatio:Browser.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function getWheelDelta(e){return Browser.edge?e.wheelDeltaY/2:e.deltaY&&e.deltaMode===0?-e.deltaY/w
4heelPxFactor:e.deltaY&&e.deltaMode===1?-e.deltaY*20:e.deltaY&&e.deltaMode===2?-e.deltaY*60:e.deltaX||e.deltaZ?0:e.wheelDelta?(e.wheelDeltaY||e.wheelDelta)/2:e.detail&&Math.abs(e.detail)<32765?-e.detail*20:e.detail?e.detail/-32765*60:0}__name(getWheelDelta,"getWheelDelta");function isExternalTarget(el,e){var related=e.relatedTarget;if(!related)return!0;try{for(;related&&related!==el;)related=related.parentNode}catch{return!1}return related!==el}__name(isExternalTarget,"isExternalTarget");var DomEvent={__proto__:null,on,off,stopPropagation,disableScrollPropagation,disableClickPropagation,preventDefault,stop,getPropagationPath,getMousePosition,getWheelDelta,isExternalTarget,addListener:on,removeListener:off},PosAnimation=Evented.extend({run:function(el,newPos,duration,easeLinearity){this.stop(),this._el=el,this._inProgress=!0,this._duration=duration||.25,this._easeOutPower=1/Math.max(easeLinearity||.5,.2),this._startPos=getPosition(el),this._offset=newPos.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=requestAnimFrame(this._animate,this),this._step()},_step:function(round){var elapsed=+new Date-this._startTime,duration=this._duration*1e3;elapsed<duration?this._runFrame(this._easeOut(elapsed/duration),round):(this._runFrame(1),this._complete())},_runFrame:function(progress,round){var pos=this._startPos.add(this._offset.multiplyBy(progress));
4round&&pos._round(),setPosition(this._el,pos),this.fire("step")},_complete:function(){cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Map=Evented.extend({options:{crs:EPSG3857,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(id,options){options=setOptions(this,options),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(id),this._initLayout(),this._onResize=bind(this._onResize,this),this._initEvents(),options.maxBounds&&this.setMaxBounds(options.maxBounds),options.zoom!==void 0&&(this._zoom=this._limitZoom(options.zoom)),options.center&&options.zoom!==void 0&&this.setView(toLatLng(options.center),options.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=TRANSITION&&Browser.any3d&&!Browser.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),on(this._proxy,TRANSITION_END,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(center,zoom2,options){if(zoom2=zoom2===void 0?this._zoom:this._limitZoom(zoom2),center=this._limitCenter(toLatLng(center),zoom2,this.options.maxBounds),options=options||{},this._stop(),this._loaded&&!options.reset&&options!==!0){options.animate!==void 0&&(options.zoom=extend({animate:options.animate},options.zoom),options.pan=extend({animate:options.animate,duration:options.duration},options.pan));var moved=this._zoom!==zoom2?this._tryAnimatedZoom&&this._tryAnimatedZoom(center,zoom2,options.zoom):this._tryAnimatedPan(center,options.pan);if(moved)return clearTimeout(this._sizeTimer),this}return this._resetView(center,zoom2,options.pan&&options.pan.noMoveStart),this},setZoom:function(zoom2,options){return this._loaded?this.setView(this.getCenter(),zoom2,{zoom:options}):(this._zoom=zoom2,this)},zoomIn:function(delta,options){return delta=delta||(Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+delta,options)},zoomOut:function(delta,options){return delta=delta||(Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-delta,options)},setZoomAround:function(latlng,zoom2,options){var scale2=this.getZoomScale(zoom2),viewHalf=this.getSize().divideBy(2),containerPoint=latlng instanceof Point?latlng:this.latLngToContainerPoint(latlng),centerOffset=containerPoint.subtract(viewHalf).multiplyBy(1-1/scale2),newCenter=this.containerPointToLatLng(viewHalf.add(centerOffset));return this.setView(newCenter,zoom2,{zoom:options})},_getBoundsCenterZoom:function(bounds,options){options=options||{},bounds=bounds.getBounds?bounds.getBounds():toLatLngBounds(bounds);var paddingTL=toPoint(options.paddingTopLeft||options.padding||[0,0]),paddingBR=toPoint(options.paddingBottomRight||options.padding||[0,0]),zoom2=this.getBoundsZoom(bounds,!1,paddingTL.add(paddingBR));if(zoom2=typeof options.maxZoom=="number"?Math.min(options.maxZoom,zoom2):zoom2,zoom2===1/0)return{center:bounds.getCenter(),zoom:zoom2};
4var paddingOffset=paddingBR.subtract(paddingTL).divideBy(2),swPoint=this.project(bounds.getSouthWest(),zoom2),nePoint=this.project(bounds.getNorthEast(),zoom2),center=this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset),zoom2);return{center,zoom:zoom2}},fitBounds:function(bounds,options){if(bounds=toLatLngBounds(bounds),!bounds.isValid())throw new Error("Bounds are not valid.");var target=this._getBoundsCenterZoom(bounds,options);return this.setView(target.center,target.zoom,options)},fitWorld:function(options){return this.fitBounds([[-90,-180],[90,180]],options)},panTo:function(center,options){return this.setView(center,this._zoom,{pan:options})},panBy:function(offset,options){if(offset=toPoint(offset).round(),options=options||{},!offset.x&&!offset.y)return this.fire("moveend");if(options.animate!==!0&&!this.getSize().contains(offset))return this._resetView(this.unproject(this.project(this.getCenter()).add(offset)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),options.noMoveStart||this.fire("movestart"),options.animate!==!1){addClass(this._mapPane,"leaflet-pan-anim");var newPos=this._getMapPanePos().subtract(offset).round();this._panAnim.run(this._mapPane,newPos,options.duration||.25,options.easeLinearity)}else this._rawPanBy(offset),this.fire("move").fire("moveend");return this},flyTo:function(targetCenter,targetZoom,options){if(options=options||{},options.animate===!1||!Browser.any3d)return this.setView(targetCenter,targetZoom,options);this._stop();var from=this.project(this.getCenter()),to=this.project(targetCenter),size=this.getSize(),startZoom=this._zoom;targetCenter=toLatLng(targetCenter),targetZoom=targetZoom===void 0?startZoom:targetZoom;var w0=Math.max(size.x,size.y),w1=w0*this.getZoomScale(startZoom,targetZoom),u1=to.distanceTo(from)||1,rho=1.42,rho2=rho*rho;function r(i){var s1=i?-1:1,s2=i?w1:w0,t1=w1*w1-w0*w0+s1*rho2*rho2*u1*u1,b1=2*s2*rho2*u1,b=t1/b1,sq=Math.sqrt(b*b+1)-b,log=sq<1e-9?-18:Math.log(sq);return log}__name(r,"r");function sinh(n){return(Math.exp(n)-Math.exp(-n))/2}__name(sinh,"sinh");function cosh(n){return(Math.exp(n)+Math.exp(-n))/2}__name(cosh,"cosh");function tanh(n){return sinh(n)/cosh(n)}__name(tanh,"tanh");var r0=r(0);function w(s){return w0*(cosh(r0)/cosh(r0+rho*s))}__name(w,"w");function u(s){return w0*(cosh(r0)*tanh(r0+rho*s)-sinh(r0))/rho2}__name(u,"u");function easeOut(t){return 1-Math.pow(1-t,1.5)}__name(easeOut,"easeOut");var start=Date.now(),S=(r(1)-r0)/rho,duration=options.duration?1e3*options.duration:1e3*S*.8;function frame(){var t=(Date.now()-start)/duration,s=easeOut(t)*S;t<=1?(this._flyToFrame=requestAnimFrame(frame,this),this._move(this.unproject(from.add(to.subtract(from).multiplyBy(u(s)/u1)),startZoom),this.getScaleZoom(w0/w(s),startZoom),{flyTo:!0})):this._move(targetCenter,targetZoom)._moveEnd(!0)}return __name(frame,"frame"),this._moveStart(!0,options.noMoveStart),frame.call(this),this},flyToBounds:function(bounds,options){var target=this._getBoundsCenterZoom(bounds,options);return this.flyTo(target.center,target.zoom,options)},setMaxBounds:function(bounds){return bounds=toLatLngBounds(bounds),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),bounds.isValid()?(this.options.maxBounds=bounds,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(zoom2){var oldZoom=this.options.minZoom;return this.options.minZoom=zoom2,this._loaded&&oldZoom!==zoom2&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(zoom2):this},setMaxZoom:function(zoom2){var oldZoom=this.options.maxZoom;return this.options.maxZoom=zoom2,this._loaded&&oldZoom!==zoom2&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(zoom2):this},panInsideBounds:function(bounds,options){this._enforcingBounds=!0;var center=this.getCenter(),newCenter=this._limitCenter(center,this._zoom,toLatLngBounds(bounds));return center.equals(newCenter)||this.panTo(newCenter,options),this._enforcingBounds=!1,this},panInside:function(latlng,options){options=options||{};var paddingTL=toPoint(options.paddingTopLeft||options.padding||[0,0]),paddingBR=toPoint(options.paddingBottomRight||options.padding||[0,0]),pixelCenter=this.project(this.getCenter()),pixelPoint=this.project(latlng),pixelBounds=this.getPixelBounds(),paddedBounds=toBounds([pixelBounds.min.add(paddingTL),pixelBounds.max.subtract(paddingBR)]),paddedSize=paddedBounds.getSize();if(!paddedBounds.contains(pixelPoint)){this._enforcingBounds=!0;var centerOffset=pixelPoint.subtract(paddedBounds.getCenter()),offset=pad
4dedBounds.extend(pixelPoint).getSize().subtract(paddedSize);pixelCenter.x+=centerOffset.x<0?-offset.x:offset.x,pixelCenter.y+=centerOffset.y<0?-offset.y:offset.y,this.panTo(this.unproject(pixelCenter),options),this._enforcingBounds=!1}return this},invalidateSize:function(options){if(!this._loaded)return this;options=extend({animate:!1,pan:!0},options===!0?{animate:!0}:options);var oldSize=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var newSize=this.getSize(),oldCenter=oldSize.divideBy(2).round(),newCenter=newSize.divideBy(2).round(),offset=oldCenter.subtract(newCenter);return!offset.x&&!offset.y?this:(options.animate&&options.pan?this.panBy(offset):(options.pan&&this._rawPanBy(offset),this.fire("move"),options.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize,newSize}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(options){if(options=this._locateOptions=extend({timeout:1e4,watch:!1},options),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var onResponse=bind(this._handleGeolocationResponse,this),onError=bind(this._handleGeolocationError,this);return options.watch?this._locationWatchId=navigator.geolocation.watchPosition(onResponse,onError,options):navigator.geolocation.getCurrentPosition(onResponse,onError,options),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(error){if(this._container._leaflet_id){var c=error.code,message=error.message||(c===1?"permission denied":c===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:c,message:"Geolocation error: "+message+"."})}},_handleGeolocationResponse:function(pos){if(this._container._leaflet_id){var lat=pos.coords.latitude,lng=pos.coords.longitude,latlng=new LatLng(lat,lng),bounds=latlng.toBounds(pos.coords.accuracy*2),options=this._locateOptions;if(options.setView){var zoom2=this.getBoundsZoom(bounds);this.setView(latlng,options.maxZoom?Math.min(zoom2,options.maxZoom):zoom2)}var data={latlng,bounds,timestamp:pos.timestamp};for(var i in pos.coords)typeof pos.coords[i]=="number"&&(data[i]=pos.coords[i]);this.fire("locationfound",data)}},addHandler:function(name,HandlerClass){if(!HandlerClass)return this;var handler=this[name]=new HandlerClass(this);return this._handlers.push(handler),this.options[name]&&handler.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),remove(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(cancelAnimFrame(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var i;for(i in this._layers)this._layers[i].remove();for(i in this._panes)remove(this._panes[i]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(name,container){var className="leaflet-pane"+(name?" leaflet-"+name.replace("Pane","")+"-pane":""),pane=create$1("div",className,container||this._mapPane);return name&&(this._panes[name]=pane),pane},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var bounds=this.getPixelBounds(),sw=this.unproject(bounds.getBottomLeft()),ne=this.unproject(bounds.getTopRight());
4return new LatLngBounds(sw,ne)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(bounds,inside,padding){bounds=toLatLngBounds(bounds),padding=toPoint(padding||[0,0]);var zoom2=this.getZoom()||0,min=this.getMinZoom(),max=this.getMaxZoom(),nw=bounds.getNorthWest(),se=bounds.getSouthEast(),size=this.getSize().subtract(padding),boundsSize=toBounds(this.project(se,zoom2),this.project(nw,zoom2)).getSize(),snap=Browser.any3d?this.options.zoomSnap:1,scalex=size.x/boundsSize.x,scaley=size.y/boundsSize.y,scale2=inside?Math.max(scalex,scaley):Math.min(scalex,scaley);return zoom2=this.getScaleZoom(scale2,zoom2),snap&&(zoom2=Math.round(zoom2/(snap/100))*(snap/100),zoom2=inside?Math.ceil(zoom2/snap)*snap:Math.floor(zoom2/snap)*snap),Math.max(min,Math.min(max,zoom2))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Point(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(center,zoom2){var topLeftPoint=this._getTopLeftPoint(center,zoom2);return new Bounds(topLeftPoint,topLeftPoint.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(zoom2){return this.options.crs.getProjectedBounds(zoom2===void 0?this.getZoom():zoom2)},getPane:function(pane){return typeof pane=="string"?this._panes[pane]:pane},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(toZoom,fromZoom){var crs=this.options.crs;return fromZoom=fromZoom===void 0?this._zoom:fromZoom,crs.scale(toZoom)/crs.scale(fromZoom)},getScaleZoom:function(scale2,fromZoom){var crs=this.options.crs;fromZoom=fromZoom===void 0?this._zoom:fromZoom;var zoom2=crs.zoom(scale2*crs.scale(fromZoom));return isNaN(zoom2)?1/0:zoom2},project:function(latlng,zoom2){return zoom2=zoom2===void 0?this._zoom:zoom2,this.options.crs.latLngToPoint(toLatLng(latlng),zoom2)},unproject:function(point,zoom2){return zoom2=zoom2===void 0?this._zoom:zoom2,this.options.crs.pointToLatLng(toPoint(point),zoom2)},layerPointToLatLng:function(point){var projectedPoint=toPoint(point).add(this.getPixelOrigin());return this.unproject(projectedPoint)},latLngToLayerPoint:function(latlng){var projectedPoint=this.project(toLatLng(latlng))._round();return projectedPoint._subtract(this.getPixelOrigin())},wrapLatLng:function(latlng){return this.options.crs.wrapLatLng(toLatLng(latlng))},wrapLatLngBounds:function(latlng){return this.options.crs.wrapLatLngBounds(toLatLngBounds(latlng))},distance:function(latlng1,latlng2){return this.options.crs.distance(toLatLng(latlng1),toLatLng(latlng2))},containerPointToLayerPoint:function(point){return toPoint(point).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(point){return toPoint(point).add(this._getMapPanePos())},containerPointToLatLng:function(point){var layerPoint=this.containerPointToLayerPoint(toPoint(point));return this.layerPointToLatLng(layerPoint)},latLngToContainerPoint:function(latlng){return this.layerPointToContainerPoint(this.latLngToLayerPoint(toLatLng(latlng)))},mouseEventToContainerPoint:function(e){return getMousePosition(e,this._container)},mouseEventToLayerPoint:function(e){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e))},mouseEventToLatLng:function(e){return this.layerPointToLatLng(this.mouseEventToLayerPoint(e))},_initContainer:function(id){var container=this._container=get(id);if(container){if(container._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");on(container,"scroll",this._onScroll,this),this._containerId=stamp(container)},_initLayout:function(){var container=this._container;this._fadeAnimated=this.options.fadeAnimation&&Browser.any3d,addClass(container,"leaflet-container"+(Browser.touch?" leaflet-touch":"")+(Browser.retina?" leaflet-retina":"")+(Browser.ielt9?" leaflet-oldie":"")+(Browser.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var position=getStyle(container,"position");position!=="absolute"&&position!=="relative"&&position!=="fixed"&&position!=="sticky"&&(container.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var panes=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),setPosition(this._mapPane,new Point(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(addClass(panes.markerPane,"leaflet-zoom-hide"),addClass(panes.shadowPane,"leaflet-zoom-hide"))},_resetView:function(center,zoom2,noMoveStart){setPosition(this._mapPane,new Point(0,0));var loading=!this._loaded;this._loaded=!0,zoom2=this._limitZoom(zoom2),this.fire("viewprereset");var zoomChanged=this._zoom!==zoom2;
4this._moveStart(zoomChanged,noMoveStart)._move(center,zoom2)._moveEnd(zoomChanged),this.fire("viewreset"),loading&&this.fire("load")},_moveStart:function(zoomChanged,noMoveStart){return zoomChanged&&this.fire("zoomstart"),noMoveStart||this.fire("movestart"),this},_move:function(center,zoom2,data,supressEvent){zoom2===void 0&&(zoom2=this._zoom);var zoomChanged=this._zoom!==zoom2;return this._zoom=zoom2,this._lastCenter=center,this._pixelOrigin=this._getNewPixelOrigin(center),supressEvent?data&&data.pinch&&this.fire("zoom",data):((zoomChanged||data&&data.pinch)&&this.fire("zoom",data),this.fire("move",data)),this},_moveEnd:function(zoomChanged){return zoomChanged&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return cancelAnimFrame(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(offset){setPosition(this._mapPane,this._getMapPanePos().subtract(offset))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(remove2){this._targets={},this._targets[stamp(this._container)]=this;var onOff=remove2?off:on;onOff(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&onOff(window,"resize",this._onResize,this),Browser.any3d&&this.options.transform3DLimit&&(remove2?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){cancelAnimFrame(this._resizeRequest),this._resizeRequest=requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var pos=this._getMapPanePos();Math.max(Math.abs(pos.x),Math.abs(pos.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(e,type){for(var targets=[],target,isHover=type==="mouseout"||type==="mouseover",src=e.target||e.srcElement,dragging=!1;src;){if(target=this._targets[stamp(src)],target&&(type==="click"||type==="preclick")&&this._draggableMoved(target)){dragging=!0;break}if(target&&target.listens(type,!0)&&(isHover&&!isExternalTarget(src,e)||(targets.push(target),isHover))||src===this._container)break;src=src.parentNode}return!targets.length&&!dragging&&!isHover&&this.listens(type,!0)&&(targets=[this]),targets},_isClickDisabled:function(el){for(;el&&el!==this._container;){if(el._leaflet_disable_click)return!0;el=el.parentNode}},_handleDOMEvent:function(e){var el=e.target||e.srcElement;if(!(!this._loaded||el._leaflet_disable_events||e.type==="click"&&this._isClickDisabled(el))){var type=e.type;type==="mousedown"&&preventOutline(el),this._fireDOMEvent(e,type)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(e,type,canvasTargets){if(e.type==="click"){var synth=extend({},e);synth.type="preclick",this._fireDOMEvent(synth,synth.type,canvasTargets)}var targets=this._findEventTargets(e,type);if(canvasTargets){for(var filtered=[],i=0;i<canvasTargets.length;i++)canvasTargets[i].listens(type,!0)&&filtered.push(canvasTargets[i]);targets=filtered.concat(targets)}if(targets.length){type==="contextmenu"&&preventDefault(e);var target=targets[0],data={originalEvent:e};if(e.type!=="keypress"&&e.type!=="keydown"&&e.type!=="keyup"){var isMarker=target.getLatLng&&(!target._radius||target._radius<=10);data.containerPoint=isMarker?this.latLngToContainerPoint(target.getLatLng()):this.mouseEventToContainerPoint(e),data.layerPoint=this.containerPointToLayerPoint(data.containerPoint),data.latlng=isMarker?target.getLatLng():this.layerPointToLatLng(data.layerPoint)}for(i=0;i<targets.length;i++)if(targets[i].fire(type,data,!0),data.originalEvent._stopped||targets[i].options.bubblingMouseEvents===!1&&indexOf(this._mouseEvents,type)!==-1)return}},_draggableMoved:function(obj){return obj=obj.dragging&&obj.dragging.enabled()?obj:this,obj.dragging&&obj.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var i=0,len=this._handlers.length;i<len;i++)this._handlers[i].disable()},whenReady:function(callback,context){return this._loaded?callback.call(context||this,{target:this}):this.on("load",callback,context),this},_getMapPanePos:function(){return getPosition(this._mapPane)||new Point(0,0)},_moved:function(){var pos=this._getMapPanePos();return pos&&!pos.equals([0,0])},_getTopLeftPoint:function(center,zoom2){var pixelOrigin=center&&zoom2!==void 0?this._getNewPixelOrigin(center,zoom2):this.getPixelOrigin();return pixelOrigin.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(center,zoom2){var viewHalf=this.getSize()._divideBy(2);return this.project(center,zoom2)._subtract(viewHalf)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(latlng,zoom2,center){var topLeft=this._getNewPixelOrigin(center,zoom2);return this.project(latlng,zoom2)._subtract(topLeft)},_latLngBoundsToNewLayerBounds:function(latLngBounds,zoom2,center){var topLeft=this._getNewPixelOrigin(center,zoom2);
vendor: 1,287 bytes, line 4
4return toBounds([this.project(latLngBounds.getSouthWest(),zoom2)._subtract(topLeft),this.project(latLngBounds.getNorthWest(),zoom2)._subtract(topLeft),this.project(latLngBounds.getSouthEast(),zoom2)._subtract(topLeft),this.project(latLngBounds.getNorthEast(),zoom2)._subtract(topLeft)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(latlng){return this.latLngToLayerPoint(latlng).subtract(this._getCenterLayerPoint())},_limitCenter:function(center,zoom2,bounds){if(!bounds)return center;var centerPoint=this.project(center,zoom2),viewHalf=this.getSize().divideBy(2),viewBounds=new Bounds(centerPoint.subtract(viewHalf),centerPoint.add(viewHalf)),offset=this._getBoundsOffset(viewBounds,bounds,zoom2);return Math.abs(offset.x)<=1&&Math.abs(offset.y)<=1?center:this.unproject(centerPoint.add(offset),zoom2)},_limitOffset:function(offset,bounds){if(!bounds)return offset;var viewBounds=this.getPixelBounds(),newBounds=new Bounds(viewBounds.min.add(offset),viewBounds.max.add(offset));return offset.add(this._getBoundsOffset(newBounds,bounds))},_getBoundsOffset:function(pxBounds,maxBounds,zoom2){var projectedMaxBounds=toBounds(this.project(maxBounds.getNorthEast(),zoom2),this.project(maxBounds.getSouthWest
4(),zoom2)),minOffset=projectedMaxBounds.min.subtract(pxBounds.min),maxOffset=projectedMaxBounds.max.subtract(pxBounds.max),dx=this._rebound(minOffset.x,-maxOffset.x),dy=this._rebound(minOffset.y,-maxOffset.y);return new Point(dx,dy)},_rebound:function(left,right){return left+right>0?Math.round(left-right)/2:Math.max(0,Math.ceil(left))-Math.max(0,Math.floor(right))},_limitZoom:function(zoom2){var min=this.getMinZoom(),max=this.getMaxZoom(),snap=Browser.any3d?this.options.zoomSnap:1;return snap&&(zoom2=Math.round(zoom2/snap)*snap),Math.max(min,Math.min(max,zoom2))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(center,options){var offset=this._getCenterOffset(center)._trunc();return(options&&options.animate)!==!0&&!this.getSize().contains(offset)?!1:(this.panBy(offset,options),!0)},_createAnimProxy:function(){var proxy=this._proxy=create$1("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(proxy),this.on("zoomanim",function(e){var prop=TRANSFORM,transform=this._proxy.style[prop];setTransform(this._proxy,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),transform===this._proxy.style[prop]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){remove(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var c=this.getCenter(),z=this.getZoom();setTransform(this._proxy,this.project(c,z),this.getZoomScale(z,1))},_catchTransitionEnd:function(e){this._animatingZoom&&e.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(center,zoom2,options){if(this._animatingZoom)return!0;if(options=options||{},!this._zoomAnimated||options.animate===!1||this._nothingToAnimate()||Math.abs(zoom2-this._zoom)>this.options.zoomAnimationThreshold)return!1;var scale2=this.getZoomScale(zoom2),offset=this._getCenterOffset(center)._divideBy(1-1/scale2);return options.animate!==!0&&!this.getSize().contains(offset)?!1:(requestAnimFrame(function(){this._moveStart(!0,options.noMoveStart||!1)._animateZoom(center,zoom2,!0)},this),!0)},_animateZoom:function(center,zoom2,startAnim,noUpdate){this._mapPane&&(startAnim&&(this._animatingZoom=!0,this._animateToCenter=center,this._animateToZoom=zoom2,addClass(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center,zoom:zoom2,noUpdate}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(bind(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&removeClass(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function createMap(id,options){return new Map(id,options)}__name(createMap,"createMap");var Control=Class.extend({options:{position:"topright"},initialize:function(options){setOptions(this,options)},getPosition:function(){return this.options.position},setPosition:function(position){var map=this._map;return map&&map.removeControl(this),this.options.position=position,map&&map.addControl(this),this},getContainer:function(){return this._container},addTo:function(map){this.remove(),this._map=map;var container=this._container=this.onAdd(map),pos=this.getPosition(),corner=map._controlCorners[pos];return addClass(container,"leaflet-control"),pos.indexOf("bottom")!==-1?corner.insertBefore(container,corner.firstChild):corner.appendChild(container),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(remove(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(e){this._map&&e&&e.screenX>0&&e.screenY>0&&this._map.getContainer().focus()}}),control=__name(function(options){return new Control(options)},"control");Map.include({addControl:function(control2){return control2.addTo(this),this},removeControl:function(control2){return control2.remove(),this}
4,_initControlPos:function(){var corners=this._controlCorners={},l="leaflet-",container=this._controlContainer=create$1("div",l+"control-container",this._container);function createCorner(vSide,hSide){var className=l+vSide+" "+l+hSide;corners[vSide+hSide]=create$1("div",className,container)}__name(createCorner,"createCorner"),createCorner("top","left"),createCorner("top","right"),createCorner("bottom","left"),createCorner("bottom","right")},_clearControlPos:function(){for(var i in this._controlCorners)remove(this._controlCorners[i]);remove(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Layers=Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(layerA,layerB,nameA,nameB){return nameA<nameB?-1:nameB<nameA?1:0}},initialize:function(baseLayers,overlays,options){setOptions(this,options),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var i in baseLayers)this._addLayer(baseLayers[i],i);for(i in overlays)this._addLayer(overlays[i],i,!0)},onAdd:function(map){this._initLayout(),this._update(),this._map=map,map.on("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(map){return Control.prototype.addTo.call(this,map),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(layer,name){return this._addLayer(layer,name),this._map?this._update():this},addOverlay:function(layer,name){return this._addLayer(layer,name,!0),this._map?this._update():this},removeLayer:function(layer){layer.off("add remove",this._onLayerChange,this);var obj=this._getLayer(stamp(layer));return obj&&this._layers.splice(this._layers.indexOf(obj),1),this._map?this._update():this},expand:function(){addClass(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var acceptableHeight=this._map.getSize().y-(this._container.offsetTop+50);return acceptableHeight<this._section.clientHeight?(addClass(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=acceptableHeight+"px"):removeClass(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return removeClass(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var className="leaflet-control-layers",container=this._container=create$1("div",className),collapsed=this.options.collapsed;container.setAttribute("aria-haspopup",!0),disableClickPropagation(container),disableScrollPropagation(container);var section=this._section=create$1("section",className+"-list");collapsed&&(this._map.on("click",this.collapse,this),on(container,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var link=this._layersLink=create$1("a",className+"-toggle",container);link.href="#",link.title="Layers",link.setAttribute("role","button"),on(link,{keydown:function(e){e.keyCode===13&&this._expandSafely()},click:function(e){preventDefault(e),this._expandSafely()}},this),collapsed||this.expand(),this._baseLayersList=create$1("div",className+"-base",section),this._separator=create$1("div",className+"-separator",section),this._overlaysList=create$1("div",className+"-overlays",section),container.appendChild(section)},_getLayer:function(id){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&stamp(this._layers[i].layer)===id)return this._layers[i]},_addLayer:function(layer,name,overlay){this._map&&layer.on("add remove",this._onLayerChange,this),this._layers.push({layer,name,overlay}),this.options.sortLayers&&this._layers.sort(bind(function(a,b){return this.options.sortFunction(a.layer,b.layer,a.name,b.name)},this)),this.options.autoZIndex&&layer.setZIndex&&(this._lastZIndex++,layer.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;empty(this._baseLayersList),empty(this._overlaysList),this._layerControlInputs=[];var baseLayersPresent,overlaysPresent,i,obj,baseLayersCount=0;for(i=0;i<this._layers.length;i++)obj=this._layers[i],this._addItem(obj),overlaysPresent=overlaysPresent||obj.overlay,baseLayersPresent=baseLayersPresent||!obj.overlay,baseLayersCount+=obj.overlay?0:1;return this.options.hideSingleBase&&(baseLayersPresent=baseLayersPresent&&baseLayersCount>1,this._baseLayersList.style.display=baseLayersPresent?"":"none"),this._separator.style.display=overlaysPresent&&baseLayersPresent?"":"none",this},_onLayerChange:function(e){this._handlingClick||this._update();var obj=this._getLayer(stamp(e.target)),type=obj.overlay?e.type==="add"?"overlayadd":"overlayremove":e.type==="add"?"baselayerchange":null;type&&this._map.fire(type,obj)},_createRadioElement:function(name,checked){var radioHtml='<input type="radio" class="leaflet-control-layers-selector" name="'+name+'"'+(checked?' checked="checked"':"")+"/>",radioFragment=document.createElement("div");return radioFragment.innerHTML=radioHtml,radioFragment.firstChild},_addItem:function(obj){var label=document.createElement("label"),checked=this._map.hasLayer(obj.layer),input;obj.overlay?(input=document.createElement("input"),input.type="checkbox",input.className="leaflet-control-layers-selector",input.defaultChecked=checked):input=this._createRadioElement("leaflet-base-layers_"+stamp(this),checked),this._layerControlInputs.push(input),input.layerId=stamp(obj.layer),on(input,"click",this._onInputClick,this);var name=document.createElement("span");name.innerHTML=" "+obj.name;var holder=document.createElement("span");label.appendChild(holder),holder.appendChild(input),holder.appendChild(name);var container=obj.overlay?this._overlaysList:this._baseLayersList;return container.appendChild(label),this._checkDisabledLayers(),label},_onInputClick:function(){if(!this._preventClick){var inputs=this._layerControlInputs,input,layer,addedLayers=[],removedLayers=[];this._handlingClick=!0;for(var i=inputs.length-1;i>=0;i--)input=inputs[i],layer=this._getLayer(input.layerId).layer,input.checked?addedLayers.push(layer):input.checked||removedLayers.push(layer);for(i=0;i<removedLayers.length;i++)this._map.hasLayer(removedLayers[i])&&this._map.removeLayer(removedLayers[i]);for(i=0;i<addedLayers.length;i++)this._map.hasLayer(addedLayers[i])||this._map.addLayer(addedLayers[i]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var inputs=this._layerControlInputs,input,layer,zoom2=this._map.getZoom(),i=inputs.length-1;i>=0;i--)input=inputs[i],layer=this._getLayer(input.layerId).layer,input.disabled=layer.options.minZoom!==void 0&&zoom2<layer.options.minZoom||layer.options.maxZoom!==void 0&&zoom2>layer.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var section=this._section;this._preventClick=!0,on(section,"click",preventDefault),this.expand();var that=this;setTimeout(function(){off(section,"click",preventDefault),that._preventClick=!1})}}),layers=__name(function(baseLayers,overlays,options){return new L
4ayers(baseLayers,overlays,options)},"layers"),Zoom=Control.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(map){var zoomName="leaflet-control-zoom",container=create$1("div",zoomName+" leaflet-bar"),options=this.options;return this._zoomInButton=this._createButton(options.zoomInText,options.zoomInTitle,zoomName+"-in",container,this._zoomIn),this._zoomOutButton=this._createButton(options.zoomOutText,options.zoomOutTitle,zoomName+"-out",container,this._zoomOut),this._updateDisabled(),map.on("zoomend zoomlevelschange",this._updateDisabled,this),container},onRemove:function(map){map.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(e){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(e.shiftKey?3:1))},_zoomOut:function(e){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(e.shiftKey?3:1))},_createButton:function(html,title,className,container,fn){var link=create$1("a",className,container);return link.innerHTML=html,link.href="#",link.title=title,link.setAttribute("role","button"),link.setAttribute("aria-label",title),disableClickPropagation(link),on(link,"click",stop),on(link,"click",fn,this),on(link,"click",this._refocusOnMap,this),link},_updateDisabled:function(){var map=this._map,className="leaflet-disabled";removeClass(this._zoomInButton,className),removeClass(this._zoomOutButton,className),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||map._zoom===map.getMinZoom())&&(addClass(this._zoomOutButton,className),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||map._zoom===map.getMaxZoom())&&(addClass(this._zoomInButton,className),this._zoomInButton.setAttribute("aria-disabled","true"))}});Map.mergeOptions({zoomControl:!0}),Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Zoom,this.addControl(this.zoomControl))});var zoom=__name(function(options){return new Zoom(options)},"zoom"),Scale=Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(map){var className="leaflet-control-scale",container=create$1("div",className),options=this.options;return this._addScales(options,className+"-line",container),map.on(options.updateWhenIdle?"moveend":"move",this._update,this),map.whenReady(this._update,this),container},onRemove:function(map){map.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(options,className,container){options.metric&&(this._mScale=create$1("div",className,container)),options.imperial&&(this._iScale=create$1("div",className,container))},_update:function(){var map=this._map,y=map.getSize().y/2,maxMeters=map.distance(map.containerPointToLatLng([0,y]),map.containerPointToLatLng([this.options.maxWidth,y]));this._updateScales(maxMeters)},_updateScales:function(maxMeters){this.options.metric&&maxMeters&&this._updateMetric(maxMeters),this.options.imperial&&maxMeters&&this._updateImperial(maxMeters)},_updateMetric:function(maxMeters){var meters=this._getRoundNum(maxMeters),label=meters<1e3?meters+" m":meters/1e3+" km";this._updateScale(this._mScale,label,meters/maxMeters)},_updateImperial:function(maxMeters){var maxFeet=maxMeters*3.2808399,maxMiles,miles,feet;maxFeet>5280?(maxMiles=maxFeet/5280,miles=this._getRoundNum(maxMiles),this._updateScale(this._iScale,miles+" mi",miles/maxMiles)):(feet=this._getRoundNum(maxFeet),this._updateScale(this._iScale,feet+" ft",feet/maxFeet))},_updateScale:function(scale2,text,ratio){scale2.style.width=Math.round(this.options.maxWidth*ratio)+"px",scale2.innerHTML=text},_getRoundNum:function(num){var pow10=Math.pow(10,(Math.floor(num)+"").length-1),d=num/pow10;return d=d>=10?10:d>=5?5:d>=3?3:d>=2?2:1,pow10*d}}),scale=__name(function(options){return new Scale(options)},"scale"),ukrainianFlag='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',Attribution=Control.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Browser.inlineSvg?ukrainianFlag+" ":"")+"Leaflet</a>"},initialize:function(options){setOptions(this,options),this._attributions={}}
4,onAdd:function(map){map.attributionControl=this,this._container=create$1("div","leaflet-control-attribution"),disableClickPropagation(this._container);for(var i in map._layers)map._layers[i].getAttribution&&this.addAttribution(map._layers[i].getAttribution());return this._update(),map.on("layeradd",this._addAttribution,this),this._container},onRemove:function(map){map.off("layeradd",this._addAttribution,this)},_addAttribution:function(ev){ev.layer.getAttribution&&(this.addAttribution(ev.layer.getAttribution()),ev.layer.once("remove",function(){this.removeAttribution(ev.layer.getAttribution())},this))},setPrefix:function(prefix){return this.options.prefix=prefix,this._update(),this},addAttribution:function(text){return text?(this._attributions[text]||(this._attributions[text]=0),this._attributions[text]++,this._update(),this):this},removeAttribution:function(text){return text?(this._attributions[text]&&(this._attributions[text]--,this._update()),this):this},_update:function(){if(this._map){var attribs=[];for(var i in this._attributions)this._attributions[i]&&attribs.push(i);var prefixAndAttribs=[];this.options.prefix&&prefixAndAttribs.push(this.options.prefix),attribs.length&&prefixAndAttribs.push(attribs.join(", ")),this._container.innerHTML=prefixAndAttribs.join(' <span aria-hidden="true">|</span> ')}}});Map.mergeOptions({attributionControl:!0}),Map.addInitHook(function(){this.options.attributionControl&&new Attribution().addTo(this)});var attribution=__name(function(options){return new Attribution(options)},"attribution");Control.Layers=Layers,Control.Zoom=Zoom,Control.Scale=Scale,Control.Attribution=Attribution,control.layers=layers,control.zoom=zoom,control.scale=scale,control.attribution=attribution;var Handler=Class.extend({initialize:function(map){this._map=map},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Handler.addTo=function(map,name){return map.addHandler(name,this),this};var Mixin={Events},START=Browser.touch?"touchstart mousedown":"mousedown",Draggable=Evented.extend({options:{clickTolerance:3},initialize:function(element,dragStartTarget,preventOutline2,options){setOptions(this,options),this._element=element,this._dragStartTarget=dragStartTarget||element,this._preventOutline=preventOutline2},enable:function(){this._enabled||(on(this._dragStartTarget,START,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Draggable._dragging===this&&this.finishDrag(!0),off(this._dragStartTarget,START,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(e){if(this._enabled&&(this._moved=!1,!hasClass(this._element,"leaflet-zoom-anim"))){if(e.touches&&e.touches.length!==1){Draggable._dragging===this&&this.finishDrag();return}if(!(Draggable._dragging||e.shiftKey||e.which!==1&&e.button!==1&&!e.touches)&&(Draggable._dragging=this,this._preventOutline&&preventOutline(this._element),disableImageDrag(),disableTextSelection(),!this._moving)){this.fire("down");var first=e.touches?e.touches[0]:e,sizedParent=getSizedParentNode(this._element);this._startPoint=new Point(first.clientX,first.clientY),this._startPos=getPosition(this._element),this._parentScale=getScale(sizedParent);var mouseevent=e.type==="mousedown";on(document,mouseevent?"mousemove":"touchmove",this._onMove,this),on(document,mouseevent?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(e){if(this._enabled){if(e.touches&&e.touches.length>1){this._moved=!0;return}var first=e.touches&&e.touches.length===1?e.touches[0]:e,offset=new Point(first.clientX,first.clientY)._subtract(this._startPoint);!offset.x&&!offset.y||Math.abs(offset.x)+Math.abs(offset.y)<this.options.clickTolerance||(offset.x/=this._parentScale.x,offset.y/=this._parentScale.y,preventDefault(e),this._moved||(this.fire("dragstart"),this._moved=!0,addClass(document.body,"leaflet-dragging"),this._lastTarget=e.target||e.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),addClass(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(offset),this._moving=!0,this._lastEvent=e,this._updatePosition())}},_updatePosition:function(){var e={originalEvent:this._lastEvent};this.fire("predrag",e),setPosition(this._element,this._newPos),this.fire("drag",e)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(noInertia){removeClass(document.body,"leaflet-dragging"),this._lastTarget&&(removeClass(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),off(document,"mousemove touchmove",this._onMove,this),off(document,"mouseup touchend touchcancel",this._onUp,this),enableImageDrag(),enableTextSelection();var fireDragend=this._moved&&this._moving;this._moving=!1,Draggable._dragging=!1,fireDragend&&this.fire("dragend",{noInertia,distance:this._newPos.distanceTo(this._startPos)})}});function clipPolygon(points,bounds,round){var clippedPoints,edges=[1,4,2,8],i,j,k,a,b,len,edge2,p;for(i=0,len=points.length;i<len;i++)points[i]._code=_getBitCode(points[i],bounds);for(k=0;k<4;k++){for(edge2=edges[k],clippedPoints=[],i=0,len=points.length,j=len-1;i<len;j=i++)a=points[i],b=points[j],a._code&edge2?b._code&edge2||(p=_getEdgeIntersection(b,a,edge2,bounds,round),p._code=_getBitCode(p,bounds),clippedPoints.push(p)):(b._code&edge2&&(p=_getEdgeIntersection(b,a,edge2,bounds,round),p._code=_getBitCode(p,bounds),clippedPoints.push(p)),clippedPoints.push(a));points=clippedPoints}return points}__name(clipPolygon,"clipPolygon");function polygonCenter(latlngs,crs){var i,j,p1,p2,f,area,x,y,center;if(!latlngs||latlngs.length===0)throw new Error("latlngs not passed");
4isFlat(latlngs)||(console.warn("latlngs are not flat! Only the first ring will be used"),latlngs=latlngs[0]);var centroidLatLng=toLatLng([0,0]),bounds=toLatLngBounds(latlngs),areaBounds=bounds.getNorthWest().distanceTo(bounds.getSouthWest())*bounds.getNorthEast().distanceTo(bounds.getNorthWest());areaBounds<1700&&(centroidLatLng=centroid(latlngs));var len=latlngs.length,points=[];for(i=0;i<len;i++){var latlng=toLatLng(latlngs[i]);points.push(crs.project(toLatLng([latlng.lat-centroidLatLng.lat,latlng.lng-centroidLatLng.lng])))}for(area=x=y=0,i=0,j=len-1;i<len;j=i++)p1=points[i],p2=points[j],f=p1.y*p2.x-p2.y*p1.x,x+=(p1.x+p2.x)*f,y+=(p1.y+p2.y)*f,area+=f*3;area===0?center=points[0]:center=[x/area,y/area];var latlngCenter=crs.unproject(toPoint(center));return toLatLng([latlngCenter.lat+centroidLatLng.lat,latlngCenter.lng+centroidLatLng.lng])}__name(polygonCenter,"polygonCenter");function centroid(coords){for(var latSum=0,lngSum=0,len=0,i=0;i<coords.length;i++){var latlng=toLatLng(coords[i]);latSum+=latlng.lat,lngSum+=latlng.lng,len++}return toLatLng([latSum/len,lngSum/len])}__name(centroid,"centroid");var PolyUtil={__proto__:null,clipPolygon,polygonCenter,centroid};function simplify(points,tolerance){if(!tolerance||!points.length)return points.slice();var sqTolerance=tolerance*tolerance;return points=_reducePoints(points,sqTolerance),points=_simplifyDP(points,sqTolerance),points}__name(simplify,"simplify");function pointToSegmentDistance(p,p1,p2){return Math.sqrt(_sqClosestPointOnSegment(p,p1,p2,!0))}__name(pointToSegmentDistance,"pointToSegmentDistance");function closestPointOnSegment(p,p1,p2){return _sqClosestPointOnSegment(p,p1,p2)}__name(closestPointOnSegment,"closestPointOnSegment");function _simplifyDP(points,sqTolerance){var len=points.length,ArrayConstructor=typeof Uint8Array!=void 0+""?Uint8Array:Array,markers=new ArrayConstructor(len);markers[0]=markers[len-1]=1,_simplifyDPStep(points,markers,sqTolerance,0,len-1);var i,newPoints=[];for(i=0;i<len;i++)markers[i]&&newPoints.push(points[i]);return newPoints}__name(_simplifyDP,"_simplifyDP");function _simplifyDPStep(points,markers,sqTolerance,first,last){var maxSqDist=0,index2,i,sqDist;for(i=first+1;i<=last-1;i++)sqDist=_sqClosestPointOnSegment(points[i],points[first],points[last],!0),sqDist>maxSqDist&&(index2=i,maxSqDist=sqDist);maxSqDist>sqTolerance&&(markers[index2]=1,_simplifyDPStep(points,markers,sqTolerance,first,index2),_simplifyDPStep(points,markers,sqTolerance,index2,last))}__name(_simplifyDPStep,"_simplifyDPStep");function _reducePoints(points,sqTolerance){for(var reducedPoints=[points[0]],i=1,prev=0,len=points.length;i<len;i++)_sqDist(points[i],points[prev])>sqTolerance&&(reducedPoints.push(points[i]),prev=i);return prev<len-1&&reducedPoints.push(points[len-1]),reducedPoints}__name(_reducePoints,"_reducePoints");var _lastCode;function clipSegment(a,b,bounds,useLastCode,round){var codeA=useLastCode?_lastCode:_getBitCode(a,bounds),codeB=_getBitCode(b,bounds),codeOut,p,newCode;for(_lastCode=codeB;;){if(!(codeA|codeB))return[a,b];if(codeA&codeB)return!1;codeOut=codeA||codeB,p=_getEdgeIntersection(a,b,codeOut,bounds,round),newCode=_getBitCode(p,bounds),codeOut===codeA?(a=p,codeA=newCode):(b=p,codeB=newCode)}}__name(clipSegment,"clipSegment");function _getEdgeIntersection(a,b,code,bounds,round){var dx=b.x-a.x,dy=b.y-a.y,min=bounds.min,max=bounds.max,x,y;return code&8?(x=a.x+dx*(max.y-a.y)/dy,y=max.y):code&4?(x=a.x+dx*(min.y-a.y)/dy,y=min.y):code&2?(x=max.x,y=a.y+dy*(max.x-a.x)/dx):code&1&&(x=min.x,y=a.y+dy*(min.x-a.x)/dx),new Point(x,y,round)}__name(_getEdgeIntersection,"_getEdgeIntersection");function _getBitCode(p,bounds){var code=0;return p.x<bounds.min.x?code|=1:p.x>bounds.max.x&&(code|=2),p.y<bounds.min.y?code|=4:p.y>bounds.max.y&&(code|=8),code}__name(_getBitCode,"_getBitCode");function _sqDist(p1,p2){var dx=p2.x-p1.x,dy=p2.y-p1.y;return dx*dx+dy*dy}__name(_sqDist,"_sqDist");function _sqClosestPointOnSegment(p,p1,p2,sqDist){var x=p1.x,y=p1.y,dx=p2.x-x,dy=p2.y-y,dot=dx*dx+dy*dy,t;return dot>0&&(t=((p.x-x)*dx+(p.y-y)*dy)/dot,t>1?(x=p2.x,y=p2.y):t>0&&(x+=dx*t,y+=dy*t)),dx=p.x-x,dy=p.y-y,sqDist?dx*dx+dy*dy:new Point(x,y)}__name(_sqClosestPointOnSegment,"_sqClosestPointOnSegment");function isFlat(latlngs){return!isArray(latlngs[0])||typeof latlngs[0][0]!="object"&&typeof latlngs[0][0]<"u"}__name(isFlat,"isFlat");function _flat(latlngs){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),isFlat(latlngs)}__name(_flat,"_flat");function polylineCenter(latlngs,crs){var i,halfDist,segDist,dist,p1,p2,ratio,center;if(!latlngs||latlngs.length===0)throw new Error("latlngs not passed");
4isFlat(latlngs)||(console.warn("latlngs are not flat! Only the first ring will be used"),latlngs=latlngs[0]);var centroidLatLng=toLatLng([0,0]),bounds=toLatLngBounds(latlngs),areaBounds=bounds.getNorthWest().distanceTo(bounds.getSouthWest())*bounds.getNorthEast().distanceTo(bounds.getNorthWest());areaBounds<1700&&(centroidLatLng=centroid(latlngs));var len=latlngs.length,points=[];for(i=0;i<len;i++){var latlng=toLatLng(latlngs[i]);points.push(crs.project(toLatLng([latlng.lat-centroidLatLng.lat,latlng.lng-centroidLatLng.lng])))}for(i=0,halfDist=0;i<len-1;i++)halfDist+=points[i].distanceTo(points[i+1])/2;if(halfDist===0)center=points[0];else for(i=0,dist=0;i<len-1;i++)if(p1=points[i],p2=points[i+1],segDist=p1.distanceTo(p2),dist+=segDist,dist>halfDist){ratio=(dist-halfDist)/segDist,center=[p2.x-ratio*(p2.x-p1.x),p2.y-ratio*(p2.y-p1.y)];break}var latlngCenter=crs.unproject(toPoint(center));return toLatLng([latlngCenter.lat+centroidLatLng.lat,latlngCenter.lng+centroidLatLng.lng])}__name(polylineCenter,"polylineCenter");var LineUtil={__proto__:null,simplify,pointToSegmentDistance,closestPointOnSegment,clipSegment,_getEdgeIntersection,_getBitCode,_sqClosestPointOnSegment,isFlat,_flat,polylineCenter},LonLat={project:function(latlng){return new Point(latlng.lng,latlng.lat)},unproject:function(point){return new LatLng(point.y,point.x)},bounds:new Bounds([-180,-90],[180,90])},Mercator={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Bounds([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(latlng){var d=Math.PI/180,r=this.R,y=latlng.lat*d,tmp=this.R_MINOR/r,e=Math.sqrt(1-tmp*tmp),con=e*Math.sin(y),ts=Math.tan(Math.PI/4-y/2)/Math.pow((1-con)/(1+con),e/2);return y=-r*Math.log(Math.max(ts,1e-10)),new Point(latlng.lng*d*r,y)},unproject:function(point){for(var d=180/Math.PI,r=this.R,tmp=this.R_MINOR/r,e=Math.sqrt(1-tmp*tmp),ts=Math.exp(-point.y/r),phi=Math.PI/2-2*Math.atan(ts),i=0,dphi=.1,con;i<15&&Math.abs(dphi)>1e-7;i++)con=e*Math.sin(phi),con=Math.pow((1-con)/(1+con),e/2),dphi=Math.PI/2-2*Math.atan(ts*con)-phi,phi+=dphi;return new LatLng(phi*d,point.x*d/r)}},index={__proto__:null,LonLat,Mercator,SphericalMercator},EPSG3395=extend({},Earth,{code:"EPSG:3395",projection:Mercator,transformation:function(){var scale2=.5/(Math.PI*Mercator.R);return toTransformation(scale2,.5,-scale2,.5)}()}),EPSG4326=extend({},Earth,{code:"EPSG:4326",projection:LonLat,transformation:toTransformation(1/180,1,-1/180,.5)}),Simple=extend({},CRS,{projection:LonLat,transformation:toTransformation(1,0,-1,0),scale:function(zoom2){return Math.pow(2,zoom2)},zoom:function(scale2){return Math.log(scale2)/Math.LN2},distance:function(latlng1,latlng2){var dx=latlng2.lng-latlng1.lng,dy=latlng2.lat-latlng1.lat;return Math.sqrt(dx*dx+dy*dy)},infinite:!0});CRS.Earth=Earth,CRS.EPSG3395=EPSG3395,CRS.EPSG3857=EPSG3857,CRS.EPSG900913=EPSG900913,CRS.EPSG4326=EPSG4326,CRS.Simple=Simple;var Layer=Evented.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(map){return map.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(obj){return obj&&obj.removeLayer(this),this},getPane:function(name){return this._map.getPane(name?this.options[name]||name:this.options.pane)},addInteractiveTarget:function(targetEl){return this._map._targets[stamp(targetEl)]=this,this},removeInteractiveTarget:function(targetEl){return delete this._map._targets[stamp(targetEl)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(e){var map=e.target;if(map.hasLayer(this)){if(this._map=map,this._zoomAnimated=map._zoomAnimated,this.getEvents){var events=this.getEvents();map.on(events,this),this.once("remove",function(){map.off(events,this)},this)}this.onAdd(map),this.fire("add"),map.fire("layeradd",{layer:this})}}});Map.include({addLayer:function(layer){if(!layer._layerAdd)throw new Error("The provided object is not a Layer.");var id=stamp(layer);return this._layers[id]?this:(this._layers[id]=layer,layer._mapToAdd=this,layer.beforeAdd&&layer.beforeAdd(this),this.whenReady(layer._layerAdd,layer),this)},removeLayer:function(layer){var id=stamp(layer);return this._layers[id]?(this._loaded&&layer.onRemove(this),delete this._layers[id],this._loaded&&(this.fire("layerremove",{layer}),layer.fire("remove")),layer._map=layer._mapToAdd=null,this):this},hasLayer:function(layer){return stamp(layer)in this._layers}
4,eachLayer:function(method,context){for(var i in this._layers)method.call(context,this._layers[i]);return this},_addLayers:function(layers2){layers2=layers2?isArray(layers2)?layers2:[layers2]:[];for(var i=0,len=layers2.length;i<len;i++)this.addLayer(layers2[i])},_addZoomLimit:function(layer){(!isNaN(layer.options.maxZoom)||!isNaN(layer.options.minZoom))&&(this._zoomBoundLayers[stamp(layer)]=layer,this._updateZoomLevels())},_removeZoomLimit:function(layer){var id=stamp(layer);this._zoomBoundLayers[id]&&(delete this._zoomBoundLayers[id],this._updateZoomLevels())},_updateZoomLevels:function(){var minZoom=1/0,maxZoom=-1/0,oldZoomSpan=this._getZoomSpan();for(var i in this._zoomBoundLayers){var options=this._zoomBoundLayers[i].options;minZoom=options.minZoom===void 0?minZoom:Math.min(minZoom,options.minZoom),maxZoom=options.maxZoom===void 0?maxZoom:Math.max(maxZoom,options.maxZoom)}this._layersMaxZoom=maxZoom===-1/0?void 0:maxZoom,this._layersMinZoom=minZoom===1/0?void 0:minZoom,oldZoomSpan!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var LayerGroup=Layer.extend({initialize:function(layers2,options){setOptions(this,options),this._layers={};var i,len;if(layers2)for(i=0,len=layers2.length;i<len;i++)this.addLayer(layers2[i])},addLayer:function(layer){var id=this.getLayerId(layer);return this._layers[id]=layer,this._map&&this._map.addLayer(layer),this},removeLayer:function(layer){var id=layer in this._layers?layer:this.getLayerId(layer);return this._map&&this._layers[id]&&this._map.removeLayer(this._layers[id]),delete this._layers[id],this},hasLayer:function(layer){var layerId=typeof layer=="number"?layer:this.getLayerId(layer);return layerId in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(methodName){var args=Array.prototype.slice.call(arguments,1),i,layer;for(i in this._layers)layer=this._layers[i],layer[methodName]&&layer[methodName].apply(layer,args);return this},onAdd:function(map){this.eachLayer(map.addLayer,map)},onRemove:function(map){this.eachLayer(map.removeLayer,map)}
4,eachLayer:function(method,context){for(var i in this._layers)method.call(context,this._layers[i]);return this},getLayer:function(id){return this._layers[id]},getLayers:function(){var layers2=[];return this.eachLayer(layers2.push,layers2),layers2},setZIndex:function(zIndex){return this.invoke("setZIndex",zIndex)},getLayerId:function(layer){return stamp(layer)}}),layerGroup=__name(function(layers2,options){return new LayerGroup(layers2,options)},"layerGroup"),FeatureGroup=LayerGroup.extend({addLayer:function(layer){return this.hasLayer(layer)?this:(layer.addEventParent(this),LayerGroup.prototype.addLayer.call(this,layer),this.fire("layeradd",{layer}))},removeLayer:function(layer){return this.hasLayer(layer)?(layer in this._layers&&(layer=this._layers[layer]),layer.removeEventParent(this),LayerGroup.prototype.removeLayer.call(this,layer),this.fire("layerremove",{layer})):this},setStyle:function(style2){return this.invoke("setStyle",style2)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var bounds=new LatLngBounds;for(var id in this._layers){var layer=this._layers[id];bounds.extend(layer.getBounds?layer.getBounds():layer.getLatLng())}return bounds}}),featureGroup=__name(function(layers2,options){return new FeatureGroup(layers2,options)},"featureGroup"),Icon=Class.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(options){setOptions(this,options)},createIcon:function(oldIcon){return this._createIcon("icon",oldIcon)},createShadow:function(oldIcon){return this._createIcon("shadow",oldIcon)},_createIcon:function(name,oldIcon){var src=this._getIconUrl(name);if(!src){if(name==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var img=this._createImg(src,oldIcon&&oldIcon.tagName==="IMG"?oldIcon:null);return this._setIconStyles(img,name),(this.options.crossOrigin||this.options.crossOrigin==="")&&(img.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),img},_setIconStyles:function(img,name){var options=this.options,sizeOption=options[name+"Size"];typeof sizeOption=="number"&&(sizeOption=[sizeOption,sizeOption]);var size=toPoint(sizeOption),anchor=toPoint(name==="shadow"&&options.shadowAnchor||options.iconAnchor||size&&size.divideBy(2,!0));img.className="leaflet-marker-"+name+" "+(options.className||""),anchor&&(img.style.marginLeft=-anchor.x+"px",img.style.marginTop=-anchor.y+"px"),size&&(img.style.width=size.x+"px",img.style.height=size.y+"px")},_createImg:function(src,el){return el=el||document.createElement("img"),el.src=src,el},_getIconUrl:function(name){return Browser.retina&&this.options[name+"RetinaUrl"]||this.options[name+"Url"]}});function icon(options){return new Icon(options)}__name(icon,"icon");var IconDefault=Icon.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(name){return typeof IconDefault.imagePath!="string"&&(IconDefault.imagePath=this._detectIconPath()),(this.options.imagePath||IconDefault.imagePath)+Icon.prototype._getIconUrl.call(this,name)},_stripUrl:function(path){var strip=__name(function(str,re,idx){var match=re.exec(str);return match&&match[idx]},"strip");return path=strip(path,/^url\((['"])?(.+)\1\)$/,2),path&&strip(path,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var el=create$1("div","leaflet-default-icon-path",document.body),path=getStyle(el,"background-image")||getStyle(el,"backgroundImage");if(document.body.removeChild(el),path=this._stripUrl(path),path)return path;var link=document.querySelector('link[href$="leaflet.css"]');return link?link.href.substring(0,link.href.length-11-1):""}}),MarkerDrag=Handler.extend({initialize:function(marker2){this._marker=marker2},addHooks:function(){var icon2=this._marker._icon;this._draggable||(this._draggable=new Draggable(icon2,icon2,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),addClass(icon2,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&removeClass(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(e){var marker2=this._marker,map=marker2._map,speed=this._marker.options.autoPanSpeed,padding=this._marker.options.autoPanPadding,iconPos=getPosition(marker2._icon),bounds=map.getPixelBounds(),origin=map.getPixelOrigin(),panBounds=toBounds(bounds.min._subtract(origin).add(padding),bounds.max._subtract(origin).subtract(padding));if(!panBounds.contains(iconPos)){var movement=toPoint((Math.max(panBounds.max.x,iconPos.x)-panBounds.max.x)/(bounds.max.x-panBounds.max.x)-(Math.min(panBounds.min.x,iconPos.x)-panBounds.min.x)/(bounds.min.x-panBounds.min.x),(Math.max(panBounds.max.y,iconPos.y)-panBounds.max.y)/(bounds.max.y-panBounds.max.y)-(Math.min(panBounds.min.y,iconPos.y)-panBounds.min.y)/(bounds.min.y-panBounds.min.y)).multiplyBy(speed);map.panBy(movement,{animate:!1}),this._draggable._newPos._add(movement),this._draggable._startPos._add(movement),setPosition(marker2._icon,this._draggable._newPos),this._onDrag(e),this._panRequest=requestAnimFrame
vendor: 4,371 bytes, line 4
4(this._adjustPan.bind(this,e))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(e){this._marker.options.autoPan&&(cancelAnimFrame(this._panRequest),this._panRequest=requestAnimFrame(this._adjustPan.bind(this,e)))},_onDrag:function(e){var marker2=this._marker,shadow=marker2._shadow,iconPos=getPosition(marker2._icon),latlng=marker2._map.layerPointToLatLng(iconPos);shadow&&setPosition(shadow,iconPos),marker2._latlng=latlng,e.latlng=latlng,e.oldLatLng=this._oldLatLng,marker2.fire("move",e).fire("drag",e)},_onDragEnd:function(e){cancelAnimFrame(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",e)}}),Marker=Layer.extend({options:{icon:new IconDefault,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(latlng,options){setOptions(this,options),this._latlng=toLatLng(latlng)},onAdd:function(map){this._zoomAnimated=this._zoomAnimated&&map.options.markerZoomAnimation,this._zoomAnimated&&map.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(map){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&map.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(latlng){var oldLatLng=this._latlng;return this._latlng=toLatLng(latlng),this.update(),this.fire("move",{oldLatLng,latlng:this._latlng})},setZIndexOffset:function(offset){return this.options.zIndexOffset=offset,this.update()},getIcon:function(){return this.options.icon},setIcon:function(icon2){return this.options.icon=icon2,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var pos=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(pos)}return this},_initIcon:function(){var options=this.options,classToAdd="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),icon2=options.icon.createIcon(this._icon),addIcon=!1;icon2!==this._icon&&(this._icon&&this._removeIcon(),addIcon=!0,options.title&&(icon2.title=options.title),icon2.tagName==="IMG"&&(icon2.alt=options.alt||"")),addClass(icon2,classToAdd),options.keyboard&&(icon2.tabIndex="0",icon2.setAttribute("role","button")),this._icon=icon2,options.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&on(icon2,"focus",this._panOnFocus,this);var newShadow=options.icon.createShadow(this._shadow),addShadow=!1;newShadow!==this._shadow&&(this._removeShadow(),addShadow=!0),newShadow&&(addClass(newShadow,classToAdd),newShadow.alt=""),this._shadow=newShadow,options.opacity<1&&this._updateOpacity(),addIcon&&this.getPane().appendChild(this._icon),this._initInteraction(),newShadow&&addShadow&&this.getPane(options.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&off(this._icon,"focus",this._panOnFocus,this),remove(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&remove(this._shadow),this._shadow=null},_setPos:function(pos){this._icon&&setPosition(this._icon,pos),this._shadow&&setPosition(this._shadow,pos),this._zIndex=pos.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(offset){this._icon&&(this._icon.style.zIndex=this._zIndex+offset)},_animateZoom:function(opt){var pos=this._map._latLngToNewLayerPoint(this._latlng,opt.zoom,opt.center).round();this._setPos(pos)},_initInteraction:function(){if(this.options.interactive&&(addClass(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),MarkerDrag)){var draggable=this.options.draggable;this.dragging&&(draggable=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Mar
4kerDrag(this),draggable&&this.dragging.enable()}},setOpacity:function(opacity){return this.options.opacity=opacity,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var opacity=this.options.opacity;this._icon&&setOpacity(this._icon,opacity),this._shadow&&setOpacity(this._shadow,opacity)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var map=this._map;if(map){var iconOpts=this.options.icon.options,size=iconOpts.iconSize?toPoint(iconOpts.iconSize):toPoint(0,0),anchor=iconOpts.iconAnchor?toPoint(iconOpts.iconAnchor):toPoint(0,0);map.panInside(this._latlng,{paddingTopLeft:anchor,paddingBottomRight:size.subtract(anchor)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function marker(latlng,options){return new Marker(latlng,options)}__name(marker,"marker");var Path=Layer.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(map){this._renderer=map.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(style2){return setOptions(this,style2),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&style2&&Object.prototype.hasOwnProperty.call(style2,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),CircleMarker=Path.extend({options:{fill:!0,radius:10},initialize:function(latlng,options){setOptions(this,options),this._latlng=toLatLng(latlng),this._radius=this.options.radius},setLatLng:function(latlng){var oldLatLng=this._latlng;return this._latlng=toLatLng(latlng),this.redraw(),this.fire("move",{oldLatLng,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(radius){return this.options.radius=this._radius=radius,this.redraw()},getRadius:function(){return this._radius},setStyle:function(options){var radius=options&&options.radius||this._radius;return Path.prototype.setStyle.call(this,options),this.setRadius(radius),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var r=this._radius,r2=this._radiusY||r,w=this._clickTolerance(),p=[r+w,r2+w];this._pxBounds=new Bounds(this._point.subtract(p),this._point.add(p))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(p){return p.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function circleMarker(latlng,options){return new CircleMarker(latlng,options)}__name(circleMarker,"circleMarker");var Circle=CircleMarker.extend({initialize:function(latlng,options,legacyOptions){if(typeof options=="number"&&(options=extend({},legacyOptions,{radius:options})),setOptions(this,options),this._latlng=toLatLng(latlng),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(radius){return this._mRadius=radius,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var half=[this._radius,this._radiusY||this._radius];return new LatLngBounds(this._map.layerPointToLatLng(this._point.subtract(half)),this._map.layerPointToLatLng(this._point.add(half)))},setStyle:Path.prototype.setStyle,_project:function(){var lng=this._latlng.lng,lat=this._latlng.lat,map=this._map,crs=map.options.crs;if(crs.distance===Earth.distance){var d=Math.PI/180,latR=this._mRadius/Earth.R/d,top=map.project([lat+latR,lng]),bottom=map.project([lat-latR,lng]),p=top.add(bottom).divideBy(2),lat2=map.unproject(p).lat,lngR=Math.acos((Math.cos(latR*d)-Math.sin(lat*d)*Math.sin(lat2*d))/(Math.cos(lat*d)*Math.cos(lat2*d)))/d;(isNaN(lngR)||lngR===0)&&(lngR=latR/Math.cos(Math.PI/180*lat)),this._point=p.subtract(map.getPixelOrigin()),this._radius=isNaN(lngR)?0:p.x-map.project([lat2,lng-lngR]).x,this._radiusY=p.y-top.y}else{var latlng2=crs.unproject(crs.project(this._latlng).subtract([this._mRadius,0]));this._point=map.latLngToLayerPoint(this._latlng),this._radius=this._point.x-map.latLngToLayerPoint(latlng2).x}this._updateBounds()}});function circle(latlng,options,legacyOptions){return new Circle(latlng,options,legacyOptions)}__name(circle,"circle");var Polyline=Path.extend({options:{smoothFactor:1,noClip:!1},initialize:function(latlngs,options){setOptions(this,options),this._setLatLngs(latlngs)},getLatLngs:function(){return this._latlngs},setLatLngs:function(latlngs){return this._setLatLngs(latlngs),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(p){for(var minDistance=1/0,minPoint=null,closest=_sqClosestPointOnSegment,p1,p2,j=0,jLen=this._parts.length;j<jLen;j++)for(var points=this._parts[j],i=1,len=points.length;i<len;i++){p1=points[i-1],p2=points[i];var sqDist=closest(p,p1,p2,!0);sqDist<minDistance&&(minDistance=sqDist,minPoint=closest(p,p1,p2))}return minPoint&&(minPoint.distance=Math.sqrt(minDistance)),minPoint}
4,getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return polylineCenter(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(latlng,latlngs){return latlngs=latlngs||this._defaultShape(),latlng=toLatLng(latlng),latlngs.push(latlng),this._bounds.extend(latlng),this.redraw()},_setLatLngs:function(latlngs){this._bounds=new LatLngBounds,this._latlngs=this._convertLatLngs(latlngs)},_defaultShape:function(){return isFlat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(latlngs){for(var result=[],flat=isFlat(latlngs),i=0,len=latlngs.length;i<len;i++)flat?(result[i]=toLatLng(latlngs[i]),this._bounds.extend(result[i])):result[i]=this._convertLatLngs(latlngs[i]);return result},_project:function(){var pxBounds=new Bounds;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,pxBounds),this._bounds.isValid()&&pxBounds.isValid()&&(this._rawPxBounds=pxBounds,this._updateBounds())},_updateBounds:function(){var w=this._clickTolerance(),p=new Point(w,w);this._rawPxBounds&&(this._pxBounds=new Bounds([this._rawPxBounds.min.subtract(p),this._rawPxBounds.max.add(p)]))},_projectLatlngs:function(latlngs,result,projectedBounds){var flat=latlngs[0]instanceof LatLng,len=latlngs.length,i,ring;if(flat){for(ring=[],i=0;i<len;i++)ring[i]=this._map.latLngToLayerPoint(latlngs[i]),projectedBounds.extend(ring[i]);result.push(ring)}else for(i=0;i<len;i++)this._projectLatlngs(latlngs[i],result,projectedBounds)},_clipPoints:function(){var bounds=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(bounds))){if(this.options.noClip){this._parts=this._rings;return}var parts=this._parts,i,j,k,len,len2,segment,points;for(i=0,k=0,len=this._rings.length;i<len;i++)for(points=this._rings[i],j=0,len2=points.length;j<len2-1;j++)segment=clipSegment(points[j],points[j+1],bounds,j,!0),segment&&(parts[k]=parts[k]||[],parts[k].push(segment[0]),(segment[1]!==points[j+1]||j===len2-2)&&(parts[k].push(segment[1]),k++))}},_simplifyPoints:function(){for(var parts=this._parts,tolerance=this.options.smoothFactor,i=0,len=parts.length;i<len;i++)parts[i]=simplify(parts[i],tolerance)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(p,closed){var i,j,k,len,len2,part,w=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(p))return!1;for(i=0,len=this._parts.length;i<len;i++)for(part=this._parts[i],j=0,len2=part.length,k=len2-1;j<len2;k=j++)if(!(!closed&&j===0)&&pointToSegmentDistance(p,part[k],part[j])<=w)return!0;return!1}});function polyline(latlngs,options){return new Polyline(latlngs,options)}__name(polyline,"polyline"),Polyline._flat=_flat;var Polygon=Polyline.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length}
4,getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return polygonCenter(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(latlngs){var result=Polyline.prototype._convertLatLngs.call(this,latlngs),len=result.length;return len>=2&&result[0]instanceof LatLng&&result[0].equals(result[len-1])&&result.pop(),result},_setLatLngs:function(latlngs){Polyline.prototype._setLatLngs.call(this,latlngs),isFlat(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return isFlat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var bounds=this._renderer._bounds,w=this.options.weight,p=new Point(w,w);if(bounds=new Bounds(bounds.min.subtract(p),bounds.max.add(p)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(bounds))){if(this.options.noClip){this._parts=this._rings;return}for(var i=0,len=this._rings.length,clipped;i<len;i++)clipped=clipPolygon(this._rings[i],bounds,!0),clipped.length&&this._parts.push(clipped)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(p){var inside=!1,part,p1,p2,i,j,k,len,len2;if(!this._pxBounds||!this._pxBounds.contains(p))return!1;for(i=0,len=this._parts.length;i<len;i++)for(part=this._parts[i],j=0,len2=part.length,k=len2-1;j<len2;k=j++)p1=part[j],p2=part[k],p1.y>p.y!=p2.y>p.y&&p.x<(p2.x-p1.x)*(p.y-p1.y)/(p2.y-p1.y)+p1.x&&(inside=!inside);return inside||Polyline.prototype._containsPoint.call(this,p,!0)}});function polygon(latlngs,options){return new Polygon(latlngs,options)}__name(polygon,"polygon");var GeoJSON=FeatureGroup.extend({initialize:function(geojson,options){setOptions(this,options),this._layers={},geojson&&this.addData(geojson)},addData:function(geojson){var features=isArray(geojson)?geojson:geojson.features,i,len,feature;if(features){for(i=0,len=features.length;i<len;i++)feature=features[i],(feature.geometries||feature.geometry||feature.features||feature.coordinates)&&this.addData(feature);return this}var options=this.options;if(options.filter&&!options.filter(geojson))return this;var layer=geometryToLayer(geojson,options);return layer?(layer.feature=asFeature(geojson),layer.defaultOptions=layer.options,this.resetStyle(layer),options.onEachFeature&&options.onEachFeature(geojson,layer),this.addLayer(layer)):this},resetStyle:function(layer){return layer===void 0?this.eachLayer(this.resetStyle,this):(layer.options=extend({},layer.defaultOptions),this._setLayerStyle(layer,this.options.style),this)},setStyle:function(style2){return this.eachLayer(function(layer){this._setLayerStyle(layer,style2)},this)},_setLayerStyle:function(layer,style2){layer.setStyle&&(typeof style2=="function"&&(style2=style2(layer.feature)),layer.setStyle(style2))}});function geometryToLayer(geojson,options){var geometry=geojson.type==="Feature"?geojson.geometry:geojson,coords=geometry?geometry.coordinates:null,layers2=[],pointToLayer=options&&options.pointToLayer,_coordsToLatLng=options&&options.coordsToLatLng||coordsToLatLng,latlng,latlngs,i,len;if(!coords&&!geometry)return null;switch(geometry.type){case"Point":return latlng=_coordsToLatLng(coords),_pointToLayer(pointToLayer,geojson,latlng,options);case"MultiPoint":for(i=0,len=coords.length;i<len;i++)latlng=_coordsToLatLng(coords[i]),layers2.push(_pointToLayer(pointToLayer,geojson,latlng,options));return new FeatureGroup(layers2);case"LineString":case"MultiLineString":return latlngs=coordsToLatLngs(coords,geometry.type==="LineString"?0:1,_coordsToLatLng),new Polyline(latlngs,options);case"Polygon":case"MultiPolygon":return latlngs=coordsToLatLngs(coords,geometry.type==="Polygon"?1:2,_coordsToLatLng),new Polygon(latlngs,options);case"GeometryCollection":for(i=0,len=geometry.geometries.length;i<len;i++){var geoLayer=geometryToLayer({geometry:geometry.geometries[i],type:"Feature",properties:geojson.properties},options);geoLayer&&layers2.push(geoLayer)}return new FeatureGroup(layers2);case"FeatureCollection":for(i=0,len=geometry.features.length;i<len;i++){var featureLayer=geometryToLayer(geometry.features[i],options);featureLayer&&layers2.push(featureLayer)}return new FeatureGroup(layers2);default:throw new Error("Invalid GeoJSON object.")}}__name(geometryToLayer,"geometryToLayer");function _pointToLayer(pointToLayerFn,geojson,latlng,options){return pointToLayerFn?pointToLayerFn(geojson,latlng):new Marker(latlng,options&&options.markersInheritOptions&&options)}__name(_pointToLayer,"_pointToLayer");
4function coordsToLatLng(coords){return new LatLng(coords[1],coords[0],coords[2])}__name(coordsToLatLng,"coordsToLatLng");function coordsToLatLngs(coords,levelsDeep,_coordsToLatLng){for(var latlngs=[],i=0,len=coords.length,latlng;i<len;i++)latlng=levelsDeep?coordsToLatLngs(coords[i],levelsDeep-1,_coordsToLatLng):(_coordsToLatLng||coordsToLatLng)(coords[i]),latlngs.push(latlng);return latlngs}__name(coordsToLatLngs,"coordsToLatLngs");function latLngToCoords(latlng,precision){return latlng=toLatLng(latlng),latlng.alt!==void 0?[formatNum(latlng.lng,precision),formatNum(latlng.lat,precision),formatNum(latlng.alt,precision)]:[formatNum(latlng.lng,precision),formatNum(latlng.lat,precision)]}__name(latLngToCoords,"latLngToCoords");function latLngsToCoords(latlngs,levelsDeep,closed,precision){for(var coords=[],i=0,len=latlngs.length;i<len;i++)coords.push(levelsDeep?latLngsToCoords(latlngs[i],isFlat(latlngs[i])?0:levelsDeep-1,closed,precision):latLngToCoords(latlngs[i],precision));return!levelsDeep&&closed&&coords.length>0&&coords.push(coords[0].slice()),coords}__name(latLngsToCoords,"latLngsToCoords");function getFeature(layer,newGeometry){return layer.feature?extend({},layer.feature,{geometry:newGeometry}):asFeature(newGeometry)}__name(getFeature,"getFeature");function asFeature(geojson){return geojson.type==="Feature"||geojson.type==="FeatureCollection"?geojson:{type:"Feature",properties:{},geometry:geojson}}__name(asFeature,"asFeature");var PointToGeoJSON={toGeoJSON:function(precision){return getFeature(this,{type:"Point",coordinates:latLngToCoords(this.getLatLng(),precision)})}};Marker.include(PointToGeoJSON),Circle.include(PointToGeoJSON),CircleMarker.include(PointToGeoJSON),Polyline.include({toGeoJSON:function(precision){var multi=!isFlat(this._latlngs),coords=latLngsToCoords(this._latlngs,multi?1:0,!1,precision);return getFeature(this,{type:(multi?"Multi":"")+"LineString",coordinates:coords})}}),Polygon.include({toGeoJSON:function(precision){var holes=!isFlat(this._latlngs),multi=holes&&!isFlat(this._latlngs[0]),coords=latLngsToCoords(this._latlngs,multi?2:holes?1:0,!0,precision);return holes||(coords=[coords]),getFeature(this,{type:(multi?"Multi":"")+"Polygon",coordinates:coords})}}),LayerGroup.include({toMultiPoint:function(precision){var coords=[];return this.eachLayer(function(layer){coords.push(layer.toGeoJSON(precision).geometry.coordinates)}),getFeature(this,{type:"MultiPoint",coordinates:coords})},toGeoJSON:function(precision){var type=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(type==="MultiPoint")return this.toMultiPoint(precision);var isGeometryCollection=type==="GeometryCollection",jsons=[];return this.eachLayer(function(layer){if(layer.toGeoJSON){var json=layer.toGeoJSON(precision);if(isGeometryCollection)jsons.push(json.geometry);else{var feature=asFeature(json);feature.type==="FeatureCollection"?jsons.push.apply(jsons,feature.features):jsons.push(feature)}}}),isGeometryCollection?getFeature(this,{geometries:jsons,type:"GeometryCollection"}):{type:"FeatureCollection",features:jsons}}});function geoJSON(geojson,options){return new GeoJSON(geojson,options)}__name(geoJSON,"geoJSON");var geoJson=geoJSON,ImageOverlay=Layer.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(url,bounds,options){this._url=url,this._bounds=toLatLngBounds(bounds),setOptions(this,options)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(addClass(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){remove(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(opacity){return this.options.opacity=opacity,this._image&&this._updateOpacity(),this},setStyle:function(styleOpts){return styleOpts.opacity&&this.setOpacity(styleOpts.opacity),this},bringToFront:function(){return this._map&&toFront(this._image),this},bringToBack:function(){return this._map&&toBack(this._image),this},setUrl:function(url){return this._url=url,this._image&&(this._image.src=url),this}
4,setBounds:function(bounds){return this._bounds=toLatLngBounds(bounds),this._map&&this._reset(),this},getEvents:function(){var events={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(events.zoomanim=this._animateZoom),events},setZIndex:function(value){return this.options.zIndex=value,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var wasElementSupplied=this._url.tagName==="IMG",img=this._image=wasElementSupplied?this._url:create$1("img");if(addClass(img,"leaflet-image-layer"),this._zoomAnimated&&addClass(img,"leaflet-zoom-animated"),this.options.className&&addClass(img,this.options.className),img.onselectstart=falseFn,img.onmousemove=falseFn,img.onload=bind(this.fire,this,"load"),img.onerror=bind(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(img.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),wasElementSupplied){this._url=img.src;return}img.src=this._url,img.alt=this.options.alt},_animateZoom:function(e){var scale2=this._map.getZoomScale(e.zoom),offset=this._map._latLngBoundsToNewLayerBounds(this._bounds,e.zoom,e.center).min;setTransform(this._image,offset,scale2)},_reset:function(){var image=this._image,bounds=new Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),size=bounds.getSize();setPosition(image,bounds.min),image.style.width=size.x+"px",image.style.height=size.y+"px"},_updateOpacity:function(){setOpacity(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var errorUrl=this.options.errorOverlayUrl;errorUrl&&this._url!==errorUrl&&(this._url=errorUrl,this._image.src=errorUrl)},getCenter:function(){return this._bounds.getCenter()}}),imageOverlay=__name(function(url,bounds,options){return new ImageOverlay(url,bounds,options)},"imageOverlay"),VideoOverlay=ImageOverlay.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var wasElementSupplied=this._url.tagName==="VIDEO",vid=this._image=wasElementSupplied?this._url:create$1("video");if(addClass(vid,"leaflet-image-layer"),this._zoomAnimated&&addClass(vid,"leaflet-zoom-animated"),this.options.className&&addClass(vid,this.options.className),vid.onselectstart=falseFn,vid.onmousemove=falseFn,vid.onloadeddata=bind(this.fire,this,"load"),wasElementSupplied){for(var sourceElements=vid.getElementsByTagName("source"),sources=[],j=0;j<sourceElements.length;j++)sources.push(sourceElements[j].src);this._url=sourceElements.length>0?sources:[vid.src];return}isArray(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(vid.style,"objectFit")&&(vid.style.objectFit="fill"),vid.autoplay=!!this.options.autoplay,vid.loop=!!this.options.loop,vid.muted=!!this.options.muted,vid.playsInline=!!this.options.playsInline;for(var i=0;i<this._url.length;i++){var source=create$1("source");source.src=this._url[i],vid.appendChild(source)}}});function videoOverlay(video,bounds,options){return new VideoOverlay(video,bounds,options)}__name(videoOverlay,"videoOverlay");var SVGOverlay=ImageOverlay.extend({_initImage:function(){var el=this._image=this._url;addClass(el,"leaflet-image-layer"),this._zoomAnimated&&addClass(el,"leaflet-zoom-animated"),this.options.className&&addClass(el,this.options.className),el.onselectstart=falseFn,el.onmousemove=falseFn}});function svgOverlay(el,bounds,options){return new SVGOverlay(el,bounds,options)}__name(svgOverlay,"svgOverlay");var DivOverlay=Layer.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(options,source){options&&(options instanceof LatLng||isArray(options))?(this._latlng=toLatLng(options),setOptions(this,source)):(setOptions(this,options),this._source=source),this.options.content&&(this._content=this.options.content)},openOn:function(map){return map=arguments.length?map:this._source._map,map.hasLayer(this)||map.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(layer){return this._map?this.close():(arguments.length?this._source=layer:layer=this._source,this._prepareOpen(),this.openOn(layer._map)),this}
4,onAdd:function(map){this._zoomAnimated=map._zoomAnimated,this._container||this._initLayout(),map._fadeAnimated&&setOpacity(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),map._fadeAnimated&&setOpacity(this._container,1),this.bringToFront(),this.options.interactive&&(addClass(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(map){map._fadeAnimated?(setOpacity(this._container,0),this._removeTimeout=setTimeout(bind(remove,void 0,this._container),200)):remove(this._container),this.options.interactive&&(removeClass(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(latlng){return this._latlng=toLatLng(latlng),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(content){return this._content=content,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var events={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(events.zoomanim=this._animateZoom),events},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&toFront(this._container),this},bringToBack:function(){return this._map&&toBack(this._container),this},_prepareOpen:function(latlng){var source=this._source;if(!source._map)return!1;if(source instanceof FeatureGroup){source=null;var layers2=this._source._layers;for(var id in layers2)if(layers2[id]._map){source=layers2[id];break}if(!source)return!1;this._source=source}if(!latlng)if(source.getCenter)latlng=source.getCenter();else if(source.getLatLng)latlng=source.getLatLng();else if(source.getBounds)latlng=source.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(latlng),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var node=this._contentNode,content=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof content=="string")node.innerHTML=content;else{for(;node.hasChildNodes();)node.removeChild(node.firstChild);node.appendChild(content)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var pos=this._map.latLngToLayerPoint(this._latlng),offset=toPoint(this.options.offset),anchor=this._getAnchor();this._zoomAnimated?setPosition(this._container,pos.add(anchor)):offset=offset.add(pos).add(anchor);var bottom=this._containerBottom=-offset.y,left=this._containerLeft=-Math.round(this._containerWidth/2)+offset.x;this._container.style.bottom=bottom+"px",this._container.style.left=left+"px"}},_getAnchor:function(){return[0,0]}});Map.include({_initOverlay:function(OverlayClass,content,latlng,options){var overlay=content;return overlay instanceof OverlayClass||(overlay=new OverlayClass(options).setContent(content)),latlng&&overlay.setLatLng(latlng),overlay}}),Layer.include({_initOverlay:function(OverlayClass,old,content,options){var overlay=content;return overlay instanceof OverlayClass?(setOptions(overlay,options),overlay._source=this):(overlay=old&&!options?old:new OverlayClass(options,this),overlay.setContent(content)),overlay}});var Popup=DivOverlay.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(map){return map=arguments.length?map:this._source._map,!map.hasLayer(this)&&map._popup&&map._popup.options.autoClose&&map.removeLayer(map._popup),map._popup=this,DivOverlay.prototype.openOn.call(this,map)},onAdd:function(map){DivOverlay.prototype.onAdd.call(this,map),map.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this}
4,!0),this._source instanceof Path||this._source.on("preclick",stopPropagation))},onRemove:function(map){DivOverlay.prototype.onRemove.call(this,map),map.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Path||this._source.off("preclick",stopPropagation))},getEvents:function(){var events=DivOverlay.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(events.preclick=this.close),this.options.keepInView&&(events.moveend=this._adjustPan),events},_initLayout:function(){var prefix="leaflet-popup",container=this._container=create$1("div",prefix+" "+(this.options.className||"")+" leaflet-zoom-animated"),wrapper=this._wrapper=create$1("div",prefix+"-content-wrapper",container);if(this._contentNode=create$1("div",prefix+"-content",wrapper),disableClickPropagation(container),disableScrollPropagation(this._contentNode),on(container,"contextmenu",stopPropagation),this._tipContainer=create$1("div",prefix+"-tip-container",container),this._tip=create$1("div",prefix+"-tip",this._tipContainer),this.options.closeButton){var closeButton=this._closeButton=create$1("a",prefix+"-close-button",container);closeButton.setAttribute("role","button"),closeButton.setAttribute("aria-label","Close popup"),closeButton.href="#close",closeButton.innerHTML='<span aria-hidden="true">×</span>',on(closeButton,"click",function(ev){preventDefault(ev),this.close()},this)}},_updateLayout:function(){var container=this._contentNode,style2=container.style;style2.width="",style2.whiteSpace="nowrap";var width=container.offsetWidth;width=Math.min(width,this.options.maxWidth),width=Math.max(width,this.options.minWidth),style2.width=width+1+"px",style2.whiteSpace="",style2.height="";var height=container.offsetHeight,maxHeight=this.options.maxHeight,scrolledClass="leaflet-popup-scrolled";maxHeight&&height>maxHeight?(style2.height=maxHeight+"px",addClass(container,scrolledClass)):removeClass(container,scrolledClass),this._containerWidth=this._container.offsetWidth},_animateZoom:function(e){var pos=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center),anchor=this._getAnchor();setPosition(this._container,pos.add(anchor))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var map=this._map,marginBottom=parseInt(getStyle(this._container,"marginBottom"),10)||0,containerHeight=this._container.offsetHeight+marginBottom,containerWidth=this._containerWidth,layerPos=new Point(this._containerLeft,-containerHeight-this._containerBottom);layerPos._add(getPosition(this._container));var containerPos=map.layerPointToContainerPoint(layerPos),padding=toPoint(this.options.autoPanPadding),paddingTL=toPoint(this.options.autoPanPaddingTopLeft||padding),paddingBR=toPoint(this.options.autoPanPaddingBottomRight||padding),size=map.getSize(),dx=0,dy=0;containerPos.x+containerWidth+paddingBR.x>size.x&&(dx=containerPos.x+containerWidth-size.x+paddingBR.x),containerPos.x-dx-paddingTL.x<0&&(dx=containerPos.x-paddingTL.x),containerPos.y+containerHeight+paddingBR.y>size.y&&(dy=containerPos.y+containerHeight-size.y+paddingBR.y),containerPos.y-dy-paddingTL.y<0&&(dy=containerPos.y-paddingTL.y),(dx||dy)&&(this.options.keepInView&&(this._autopanning=!0),map.fire("autopanstart").panBy([dx,dy]))}},_getAnchor:function(){return toPoint(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),popup=__name(function(options,source){return new Popup(options,source)},"popup");Map.mergeOptions({closePopupOnClick:!0}),Map.include({openPopup:function(popup2,latlng,options){return this._initOverlay(Popup,popup2,latlng,options).openOn(this),this},closePopup:function(popup2){return popup2=arguments.length?popup2:this._popup,popup2&&popup2.close(),this}}),Layer.include({bindPopup:function(content,options){return this._popup=this._initOverlay(Popup,this._popup,content,options),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(latlng){return this._popup&&(this instanceof FeatureGroup||(this._popup._source=this),this._popup._prepareOpen(latlng||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1}
4,setPopupContent:function(content){return this._popup&&this._popup.setContent(content),this},getPopup:function(){return this._popup},_openPopup:function(e){if(!(!this._popup||!this._map)){stop(e);var target=e.layer||e.target;if(this._popup._source===target&&!(target instanceof Path)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(e.latlng);return}this._popup._source=target,this.openPopup(e.latlng)}},_movePopup:function(e){this._popup.setLatLng(e.latlng)},_onKeyPress:function(e){e.originalEvent.keyCode===13&&this._openPopup(e)}});var Tooltip=DivOverlay.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(map){DivOverlay.prototype.onAdd.call(this,map),this.setOpacity(this.options.opacity),map.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(map){DivOverlay.prototype.onRemove.call(this,map),map.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var events=DivOverlay.prototype.getEvents.call(this);return this.options.permanent||(events.preclick=this.close),events},_initLayout:function(){var prefix="leaflet-tooltip",className=prefix+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=create$1("div",className),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+stamp(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(pos){var subX,subY,map=this._map,container=this._container,centerPoint=map.latLngToContainerPoint(map.getCenter()),tooltipPoint=map.layerPointToContainerPoint(pos),direction=this.options.direction,tooltipWidth=container.offsetWidth,tooltipHeight=container.offsetHeight,offset=toPoint(this.options.offset),anchor=this._getAnchor();direction==="top"?(subX=tooltipWidth/2,subY=tooltipHeight):direction==="bottom"?(subX=tooltipWidth/2,subY=0):direction==="center"?(subX=tooltipWidth/2,subY=tooltipHeight/2):direction==="right"?(subX=0,subY=tooltipHeight/2):direction==="left"?(subX=tooltipWidth,subY=tooltipHeight/2):tooltipPoint.x<centerPoint.x?(direction="right",subX=0,subY=tooltipHeight/2):(direction="left",subX=tooltipWidth+(offset.x+anchor.x)*2,subY=tooltipHeight/2),pos=pos.subtract(toPoint(subX,subY,!0)).add(offset).add(anchor),removeClass(container,"leaflet-tooltip-right"),removeClass(container,"leaflet-tooltip-left"),removeClass(container,"leaflet-tooltip-top"),removeClass(container,"leaflet-tooltip-bottom"),addClass(container,"leaflet-tooltip-"+direction),setPosition(container,pos)},_updatePosition:function(){var pos=this._map.latLngToLayerPoint(this._latlng);this._setPosition(pos)},setOpacity:function(opacity){this.options.opacity=opacity,this._container&&setOpacity(this._container,opacity)},_animateZoom:function(e){var pos=this._map._latLngToNewLayerPoint(this._latlng,e.zoom,e.center);this._setPosition(pos)},_getAnchor:function(){return toPoint(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),tooltip=__name(function(options,source){return new Tooltip(options,source)},"tooltip");Map.include({openTooltip:function(tooltip2,latlng,options){return this._initOverlay(Tooltip,tooltip2,latlng,options).openOn(this),this},closeTooltip:function(tooltip2){return tooltip2.close(),this}}),Layer.include({bindTooltip:function(content,options){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Tooltip,this._tooltip,content,options),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(remove2){if(!(!remove2&&this._tooltipHandlersAdded)){var onOff=remove2?"off":"on",events={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?events.add=this._openTooltip:(events.mouseover=this._openTooltip,events.mouseout=this.closeTooltip,events.click=this._openTooltip,this._map?this._addFocusListeners():events.add=this._addFocusListeners),this._tooltip.options.sticky&&(events.mousemove=this._moveTooltip),this[onOff](events),this._tooltipHandlersAdded=!remove2}},openTooltip:function(latlng){return this._tooltip&&(this instanceof FeatureGroup||(this._tooltip._source=this),this._tooltip._prepareOpen(latlng)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(content){return this._tooltip&&this._tooltip.setContent(content),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(layer){var el=typeof layer.getElement=="function"&&layer.getElement();el&&(on(el,"focus",function(){this._tooltip._source=layer,this.openTooltip()},this),on(el,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(layer){var el=typeof layer.getElement=="function"&&layer.getElement();el&&el.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(e){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var that=this;this._map.once("moveend",function(){that._openOnceFlag=!1,that._openTooltip(e)});return}this._tooltip._source=e.layer||e.target,this.openTooltip(this._tooltip.options.sticky?e.latlng:void 0)}},_moveTooltip:function(e){var latlng=e.latlng,containerPoint,layerPoint;this._tooltip.options.sticky&&e.originalEvent&&(containerPoint=this._map.mouseEventToContainerPoint(e.originalEvent),layerPoint=this._map.containerPointToLayerPoint(containerPoint),latlng=this._map.layerPointToLatLng(layerPoint)),this._tooltip.setLatLng(latlng)}});var DivIcon=Icon.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(oldIcon){var div=oldIcon&&oldIcon.tagName==="DIV"?oldIcon:document.createElement("div"),options=this.options;if(options.html instanceof Element?(empty(div),div.appendChild(options.html)):div.innerHTML=options.html!==!1?options.html:"",options.bgPos){var bgPos=toPoint(options.bgPos);div.style.backgroundPosition=-bgPos.x+"px "+-bgPos.y+"px"}return this._setIconStyles(div,"icon"),div},createShadow:function(){return null}});function divIcon(options){return new DivIcon(options)}__name(divIcon,"divIcon"),Icon.Default=IconDefault;var GridLayer=Layer.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Browser.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(options){setOptions(this,options)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()}
4,beforeAdd:function(map){map._addZoomLimit(this)},onRemove:function(map){this._removeAllTiles(),remove(this._container),map._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(toFront(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(toBack(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(opacity){return this.options.opacity=opacity,this._updateOpacity(),this},setZIndex:function(zIndex){return this.options.zIndex=zIndex,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var tileZoom=this._clampZoom(this._map.getZoom());tileZoom!==this._tileZoom&&(this._tileZoom=tileZoom,this._updateLevels()),this._update()}return this},getEvents:function(){var events={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=throttle(this._onMoveEnd,this.options.updateInterval,this)),events.move=this._onMove),this._zoomAnimated&&(events.zoomanim=this._animateZoom),events},createTile:function(){return document.createElement("div")},getTileSize:function(){var s=this.options.tileSize;return s instanceof Point?s:new Point(s,s)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(compare){for(var layers2=this.getPane().children,edgeZIndex=-compare(-1/0,1/0),i=0,len=layers2.length,zIndex;i<len;i++)zIndex=layers2[i].style.zIndex,layers2[i]!==this._container&&zIndex&&(edgeZIndex=compare(edgeZIndex,+zIndex));isFinite(edgeZIndex)&&(this.options.zIndex=edgeZIndex+compare(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Browser.ielt9){setOpacity(this._container,this.options.opacity);var now=+new Date,nextFrame=!1,willPrune=!1;for(var key in this._tiles){var tile=this._tiles[key];if(!(!tile.current||!tile.loaded)){var fade=Math.min(1,(now-tile.loaded)/200);setOpacity(tile.el,fade),fade<1?nextFrame=!0:(tile.active?willPrune=!0:this._onOpaqueTile(tile),tile.active=!0)}}willPrune&&!this._noPrune&&this._pruneTiles(),nextFrame&&(cancelAnimFrame(this._fadeFrame),this._fadeFrame=requestAnimFrame(this._updateOpacity,this))}},_onOpaqueTile:falseFn,_initContainer:function(){this._container||(this._container=create$1("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var zoom2=this._tileZoom,maxZoom=this.options.maxZoom;if(zoom2!==void 0){for(var z in this._levels)z=Number(z),this._levels[z].el.children.length||z===zoom2?(this._levels[z].el.style.zIndex=maxZoom-Math.abs(zoom2-z),this._onUpdateLevel(z)):(remove(this._levels[z].el),this._removeTilesAtZoom(z),this._onRemoveLevel(z),delete this._levels[z]);var level=this._levels[zoom2],map=this._map;return level||(level=this._levels[zoom2]={},level.el=create$1("div","leaflet-tile-container leaflet-zoom-animated",this._container),level.el.style.zIndex=maxZoom,level.origin=map.project(map.unproject(map.getPixelOrigin()),zoom2).round(),level.zoom=zoom2,this._setZoomTransform(level,map.getCenter(),map.getZoom()),falseFn(level.el.offsetWidth),this._onCreateLevel(level)),this._level=level,level}},_onUpdateLevel:falseFn,_onRemoveLevel:falseFn,_onCreateLevel:falseFn,_pruneTiles:function(){if(this._map){var key,tile,zoom2=this._map.getZoom();if(zoom2>this.options.maxZoom||zoom2<this.options.minZoom){this._removeAllTiles();return}for(key in this._tiles)tile=this._tiles[key],tile.retain=tile.current;for(key in this._tiles)if(tile=this._tiles[key],tile.current&&!tile.active){var coords=tile.coords;this._retainParent(coords.x,coords.y,coords.z,coords.z-5)||this._retainChildren(coords.x,coords.y,coords.z,coords.z+2)}for(key in this._tiles)this._tiles[key].retain||this._removeTile(key)}},_removeTilesAtZoom:function(zoom2){for(var key in this._tiles)this._tiles[key].coords.z===zoom2&&this._removeTile(key)},_removeAllTiles:function(){for(var key in this._tiles)this._removeTile(key)},_invalidateAll:function(){for(var z in this._levels)remove(this._levels[z].el),this._onRemoveLevel(Number(z)),delete this._levels[z];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(x,y,z,minZoom){var x2=Math.floor(x/2),y2=Math.floor(y/2),z2=z-1,coords2=new Point(+x2,+y2);coords2.z=+z2;var key=this._tileCoordsToKey(coords2),tile=this._tiles[key];return tile&&tile.active?(tile.retain=!0,!0):(tile&&tile.loaded&&(tile.retain=!0),z2>minZoom?this._retainParent(x2,y2,z2,minZoom):!1)},_retainChildren:function(x,y,z,maxZoom){for(var i=2*x;i<2*x+2;i++)for(var j=2*y;j<2*y+2;j++){var coords=new Point(i,j);coords.z=z+1;var key=this._tileCoordsToKey(coords),tile=this._tiles[key];if(tile&&tile.active){tile.retain=!0;continue}else tile&&tile.loaded&&(tile.retain=!0);z+1<maxZoom&&this._retainChildren(i,j,z+1,maxZoom)}},_resetView:function(e){var animating=e&&(e.pinch||e.flyTo);
4this._setView(this._map.getCenter(),this._map.getZoom(),animating,animating)},_animateZoom:function(e){this._setView(e.center,e.zoom,!0,e.noUpdate)},_clampZoom:function(zoom2){var options=this.options;return options.minNativeZoom!==void 0&&zoom2<options.minNativeZoom?options.minNativeZoom:options.maxNativeZoom!==void 0&&options.maxNativeZoom<zoom2?options.maxNativeZoom:zoom2},_setView:function(center,zoom2,noPrune,noUpdate){var tileZoom=Math.round(zoom2);this.options.maxZoom!==void 0&&tileZoom>this.options.maxZoom||this.options.minZoom!==void 0&&tileZoom<this.options.minZoom?tileZoom=void 0:tileZoom=this._clampZoom(tileZoom);var tileZoomChanged=this.options.updateWhenZooming&&tileZoom!==this._tileZoom;(!noUpdate||tileZoomChanged)&&(this._tileZoom=tileZoom,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),tileZoom!==void 0&&this._update(center),noPrune||this._pruneTiles(),this._noPrune=!!noPrune),this._setZoomTransforms(center,zoom2)},_setZoomTransforms:function(center,zoom2){for(var i in this._levels)this._setZoomTransform(this._levels[i],center,zoom2)},_setZoomTransform:function(level,center,zoom2){var scale2=this._map.getZoomScale(zoom2,level.zoom),translate=level.origin.multiplyBy(scale2).subtract(this._map._getNewPixelOrigin(center,zoom2)).round();Browser.any3d?setTransform(level.el,translate,scale2):setPosition(level.el,translate)},_resetGrid:function(){var map=this._map,crs=map.options.crs,tileSize=this._tileSize=this.getTileSize(),tileZoom=this._tileZoom,bounds=this._map.getPixelWorldBounds(this._tileZoom);bounds&&(this._globalTileRange=this._pxBoundsToTileRange(bounds)),this._wrapX=crs.wrapLng&&!this.options.noWrap&&[Math.floor(map.project([0,crs.wrapLng[0]],tileZoom).x/tileSize.x),Math.ceil(map.project([0,crs.wrapLng[1]],tileZoom).x/tileSize.y)],this._wrapY=crs.wrapLat&&!this.options.noWrap&&[Math.floor(map.project([crs.wrapLat[0],0],tileZoom).y/tileSize.x),Math.ceil(map.project([crs.wrapLat[1],0],tileZoom).y/tileSize.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(center){var map=this._map,mapZoom=map._animatingZoom?Math.max(map._animateToZoom,map.getZoom()):map.getZoom(),scale2=map.getZoomScale(mapZoom,this._tileZoom),pixelCenter=map.project(center,this._tileZoom).floor(),halfSize=map.getSize().divideBy(scale2*2);return new Bounds(pixelCenter.subtract(halfSize),pixelCenter.add(halfSize))},_update:function(center){var map=this._map;if(map){var zoom2=this._clampZoom(map.getZoom());if(center===void 0&&(center=map.getCenter()),this._tileZoom!==void 0){var pixelBounds=this._getTiledPixelBounds(center),tileRange=this._pxBoundsToTileRange(pixelBounds),tileCenter=tileRange.getCenter(),queue=[],margin=this.options.keepBuffer,noPruneRange=new Bounds(tileRange.getBottomLeft().subtract([margin,-margin]),tileRange.getTopRight().add([margin,-margin]));if(!(isFinite(tileRange.min.x)&&isFinite(tileRange.min.y)&&isFinite(tileRange.max.x)&&isFinite(tileRange.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var key in this._tiles){var c=this._tiles[key].coords;(c.z!==this._tileZoom||!noPruneRange.contains(new Point(c.x,c.y)))&&(this._tiles[key].current=!1)}if(Math.abs(zoom2-this._tileZoom)>1){this._setView(center,zoom2);return}for(var j=tileRange.min.y;j<=tileRange.max.y;j++)for(var i=tileRange.min.x;i<=tileRange.max.x;i++){var coords=new Point(i,j);if(coords.z=this._tileZoom,!!this._isValidTile(coords)){var tile=this._tiles[this._tileCoordsToKey(coords)];tile?tile.current=!0:queue.push(coords)}}if(queue.sort(function(a,b){return a.distanceTo(tileCenter)-b.distanceTo(tileCenter)}),queue.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var fragment=document.createDocumentFragment();for(i=0;i<queue.length;i++)this._addTile(queue[i],fragment);this._level.el.appendChild(fragment)}}}},_isValidTile:function(coords){var crs=this._map.options.crs;if(!crs.infinite){var bounds=this._globalTileRange;if(!crs.wrapLng&&(coords.x<bounds.min.x||coords.x>bounds.max.x)||!crs.wrapLat&&(coords.y<bounds.min.y||coords.y>bounds.max.y))return!1}if(!this.options.bounds)return!0;var tileBounds=this._tileCoordsToBounds(coords);return toLatLngBounds(this.options.bounds).overlaps(tileBounds)},_keyToBounds:function(key){return this._tileCoordsToBounds(this._keyToTileCoords(key))},_tileCoordsToNwSe:function(coords){var map=this._map,tileSize=this.getTileSize(),nwPoint=coords.scaleBy(tileSize),sePoint=nwPoint.add(tileSize),nw=ma
4p.unproject(nwPoint,coords.z),se=map.unproject(sePoint,coords.z);return[nw,se]},_tileCoordsToBounds:function(coords){var bp=this._tileCoordsToNwSe(coords),bounds=new LatLngBounds(bp[0],bp[1]);return this.options.noWrap||(bounds=this._map.wrapLatLngBounds(bounds)),bounds},_tileCoordsToKey:function(coords){return coords.x+":"+coords.y+":"+coords.z},_keyToTileCoords:function(key){var k=key.split(":"),coords=new Point(+k[0],+k[1]);return coords.z=+k[2],coords},_removeTile:function(key){var tile=this._tiles[key];tile&&(remove(tile.el),delete this._tiles[key],this.fire("tileunload",{tile:tile.el,coords:this._keyToTileCoords(key)}))},_initTile:function(tile){addClass(tile,"leaflet-tile");var tileSize=this.getTileSize();tile.style.width=tileSize.x+"px",tile.style.height=tileSize.y+"px",tile.onselectstart=falseFn,tile.onmousemove=falseFn,Browser.ielt9&&this.options.opacity<1&&setOpacity(tile,this.options.opacity)},_addTile:function(coords,container){var tilePos=this._getTilePos(coords),key=this._tileCoordsToKey(coords),tile=this.createTile(this._wrapCoords(coords),bind(this._tileReady,this,coords));this._initTile(tile),this.createTile.length<2&&requestAnimFrame(bind(this._tileReady,this,coords,null,tile)),setPosition(tile,tilePos),this._tiles[key]={el:tile,coords,current:!0},container.appendChild(tile),this.fire("tileloadstart",{tile,coords})},_tileReady:function(coords,err,tile){err&&this.fire("tileerror",{error:err,tile,coords});var key=this._tileCoordsToKey(coords);tile=this._tiles[key],tile&&(tile.loaded=+new Date,this._map._fadeAnimated?(setOpacity(tile.el,0),cancelAnimFrame(this._fadeFrame),this._fadeFrame=requestAnimFrame(this._updateOpacity,this)):(tile.active=!0,this._pruneTiles()),err||(addClass(tile.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:tile.el,coords})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Browser.ielt9||!this._map._fadeAnimated?requestAnimFrame(this._pruneTiles,this):setTimeout(bind(this._pruneTiles,this),250)))},_getTilePos:function(coords){return coords.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(coords){var newCoords=new Point(this._wrapX?wrapNum(coords.x,this._wrapX):coords.x,this._wrapY?wrapNum(coords.y,this._wrapY):coords.y);return newCoords.z=coords.z,newCoords},_pxBoundsToTileRange:function(bounds){var tileSize=this.getTileSize();return new Bounds(bounds.min.unscaleBy(tileSize).floor(),bounds.max.unscaleBy(tileSize).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var key in this._tiles)if(!this._tiles[key].loaded)return!1;return!0}});function gridLayer(options){return new GridLayer(options)}__name(gridLayer,"gridLayer");var TileLayer=GridLayer.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(url,options){this._url=url,options=setOptions(this,options),options.detectRetina&&Browser.retina&&options.maxZoom>0?(options.tileSize=Math.floor(options.tileSize/2),options.zoomReverse?(options.zoomOffset--,options.minZoom=Math.min(options.maxZoom,options.minZoom+1)):(options.zoomOffset++,options.maxZoom=Math.max(options.minZoom,options.maxZoom-1)),options.minZoom=Math.max(0,options.minZoom)):options.zoomReverse?options.minZoom=Math.min(options.maxZoom,options.minZoom):options.maxZoom=Math.max(options.minZoom,options.maxZoom),typeof options.subdomains=="string"&&(options.subdomains=options.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(url,noRedraw){return this._url===url&&noRedraw===void 0&&(noRedraw=!0),this._url=url,noRedraw||this.redraw(),this},createTile:function(coords,done){var tile=document.createElement("img");return on(tile,"load",bind(this._tileOnLoad,this,done,tile)),on(tile,"error",bind(this._tileOnError,this,done,tile)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(tile.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(tile.referrerPolicy=this.options.referrerPolicy),tile.alt="",tile.src=this.getTileUrl(coords),tile},getTileUrl:function(coords){var data={r:Browser.retina?"@2x":"",s:this._getSubdomain(coords),x:coords.x,y:coords.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var invertedY=this._globalTileRange.max.y-coords.y;this.options.tms&&(data.y=invertedY),data["-y"]=invertedY}return template(this._url,extend(data,this.options))},_tileOnLoad:function(done,tile){Browser.ielt9?setTimeout(bind(done,this,null,tile),0):done(null,tile)},_tileOnError:function(done,tile,e){var errorUrl=this.options.errorTileUrl;errorUrl&&tile.getAttribute("src")!==errorUrl&&(tile.src=errorUrl),done(e,tile)},_onTileRemove:function(e){e.tile.onload=null},_getZoomForUrl:function(){var zoom2=this._tileZoom,maxZoom=this.options.maxZoom,zoomReverse=this.options.zoomReverse,zoomOffset=this.options.zoomOffset;return zoomReverse&&(zoom2=maxZoom-zoom2),zoom2+zoomOffset},_getSubdomain:function(tilePoint){var index2=Math.abs(tilePoint.x+tilePoint.y)%this.options.subdomains.length;return this.options.subdomains[index2]},_abortLoading:function(){var i,tile;for(i in this._tiles)if(this._tiles[i].coords.z!==this._tileZoom&&(tile=this._tiles[i].el,tile.onload=falseFn,tile.onerror=falseFn,!tile.complete)){tile.src=emptyImageUrl;var coords=this._tiles[i].coords;remove(tile),delete this._tiles[i],this.fire("tileabort",{tile,coords}
4)}},_removeTile:function(key){var tile=this._tiles[key];if(tile)return tile.el.setAttribute("src",emptyImageUrl),GridLayer.prototype._removeTile.call(this,key)},_tileReady:function(coords,err,tile){if(!(!this._map||tile&&tile.getAttribute("src")===emptyImageUrl))return GridLayer.prototype._tileReady.call(this,coords,err,tile)}});function tileLayer(url,options){return new TileLayer(url,options)}__name(tileLayer,"tileLayer");var TileLayerWMS=TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(url,options){this._url=url;var wmsParams=extend({},this.defaultWmsParams);for(var i in options)i in this.options||(wmsParams[i]=options[i]);options=setOptions(this,options);var realRetina=options.detectRetina&&Browser.retina?2:1,tileSize=this.getTileSize();wmsParams.width=tileSize.x*realRetina,wmsParams.height=tileSize.y*realRetina,this.wmsParams=wmsParams},onAdd:function(map){this._crs=this.options.crs||map.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var projectionKey=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[projectionKey]=this._crs.code,TileLayer.prototype.onAdd.call(this,map)},getTileUrl:function(coords){var tileBounds=this._tileCoordsToNwSe(coords),crs=this._crs,bounds=toBounds(crs.project(tileBounds[0]),crs.project(tileBounds[1])),min=bounds.min,max=bounds.max,bbox=(this._wmsVersion>=1.3&&this._crs===EPSG4326?[min.y,min.x,max.y,max.x]:[min.x,min.y,max.x,max.y]).join(","),url=TileLayer.prototype.getTileUrl.call(this,coords);return url+getParamString(this.wmsParams,url,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+bbox},setParams:function(params,noRedraw){return extend(this.wmsParams,params),noRedraw||this.redraw(),this}});function tileLayerWMS(url,options){return new TileLayerWMS(url,options)}__name(tileLayerWMS,"tileLayerWMS"),TileLayer.WMS=TileLayerWMS,tileLayer.wms=tileLayerWMS;var Renderer=Layer.extend({options:{padding:.1},initialize:function(options){setOptions(this,options),stamp(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),addClass(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var events={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(events.zoomanim=this._onAnimZoom),events},_onAnimZoom:function(ev){this._updateTransform(ev.center,ev.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(center,zoom2){var scale2=this._map.getZoomScale(zoom2,this._zoom),viewHalf=this._map.getSize().multiplyBy(.5+this.options.padding),currentCenterPoint=this._map.project(this._center,zoom2),topLeftOffset=viewHalf.multiplyBy(-scale2).add(currentCenterPoint).subtract(this._map._getNewPixelOrigin(center,zoom2));Browser.any3d?setTransform(this._container,topLeftOffset,scale2):setPosition(this._container,topLeftOffset)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var id in this._layers)this._layers[id]._reset()},_onZoomEnd:function(){for(var id in this._layers)this._layers[id]._project()},_updatePaths:function(){for(var id in this._layers)this._layers[id]._update()},_update:function(){var p=this.options.padding,size=this._map.getSize(),min=this._map.containerPointToLayerPoint(size.multiplyBy(-p)).round();this._bounds=new Bounds(min,min.add(size.multiplyBy(1+p*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Canvas=Renderer.extend({options:{tolerance:0},getEvents:function(){var events=Renderer.prototype.getEvents.call(this);return events.viewprereset=this._onViewPreReset,events},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Renderer.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var container=this._container=document.createElement("canvas");on(container,"mousemove",this._onMouseMove,this),on(container,"click dblclick mousedown mouseup contextmenu",this._onClick,this),on(container,"mouseout",this._handleMouseOut,this),container._leaflet_disable_events=!0,this._ctx=container.getContext("2d")}
4,_destroyContainer:function(){cancelAnimFrame(this._redrawRequest),delete this._ctx,remove(this._container),off(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var layer;this._redrawBounds=null;for(var id in this._layers)layer=this._layers[id],layer._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Renderer.prototype._update.call(this);var b=this._bounds,container=this._container,size=b.getSize(),m=Browser.retina?2:1;setPosition(container,b.min),container.width=m*size.x,container.height=m*size.y,container.style.width=size.x+"px",container.style.height=size.y+"px",Browser.retina&&this._ctx.scale(2,2),this._ctx.translate(-b.min.x,-b.min.y),this.fire("update")}},_reset:function(){Renderer.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(layer){this._updateDashArray(layer),this._layers[stamp(layer)]=layer;var order=layer._order={layer,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=order),this._drawLast=order,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(layer){this._requestRedraw(layer)},_removePath:function(layer){var order=layer._order,next=order.next,prev=order.prev;next?next.prev=prev:this._drawLast=prev,prev?prev.next=next:this._drawFirst=next,delete layer._order,delete this._layers[stamp(layer)],this._requestRedraw(layer)},_updatePath:function(layer){this._extendRedrawBounds(layer),layer._project(),layer._update(),this._requestRedraw(layer)},_updateStyle:function(layer){this._updateDashArray(layer),this._requestRedraw(layer)},_updateDashArray:function(layer){if(typeof layer.options.dashArray=="string"){var parts=layer.options.dashArray.split(/[, ]+/),dashArray=[],dashValue,i;for(i=0;i<parts.length;i++){if(dashValue=Number(parts[i]),isNaN(dashValue))return;dashArray.push(dashValue)}layer.options._dashArray=dashArray}else layer.options._dashArray=layer.options.dashArray},_requestRedraw:function(layer){this._map&&(this._extendRedrawBounds(layer),this._redrawRequest=this._redrawRequest||requestAnimFrame(this._redraw,this))},_extendRedrawBounds:function(layer){if(layer._pxBounds){var padding=(layer.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Bounds,this._redrawBounds.extend(layer._pxBounds.min.subtract([padding,padding])),this._redrawBounds.extend(layer._pxBounds.max.add([padding,padding]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var bounds=this._redrawBounds;if(bounds){var size=bounds.getSize();this._ctx.clearRect(bounds.min.x,bounds.min.y,size.x,size.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var layer,bounds=this._redrawBounds;if(this._ctx.save(),bounds){var size=bounds.getSize();this._ctx.beginPath(),this._ctx.rect(bounds.min.x,bounds.min.y,size.x,size.y),this._ctx.clip()}this._drawing=!0;for(var order=this._drawFirst;order;order=order.next)layer=order.layer,(!bounds||layer._pxBounds&&layer._pxBounds.intersects(bounds))&&layer._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(layer,closed){if(this._drawing){var i,j,len2,p,parts=layer._parts,len=parts.length,ctx=this._ctx;if(len){for(ctx.beginPath(),i=0;i<len;i++){for(j=0,len2=parts[i].length;j<len2;j++)p=parts[i][j],ctx[j?"lineTo":"moveTo"](p.x,p.y);closed&&ctx.closePath()}this._fillStroke(ctx,layer)}}},_updateCircle:function(layer){if(!(!this._drawing||layer._empty())){var p=layer._point,ctx=this._ctx,r=Math.max(Math.round(layer._radius),1),s=(Math.max(Math.round(layer._radiusY),1)||r)/r;s!==1&&(ctx.save(),ctx.scale(1,s)),ctx.beginPath(),ctx.arc(p.x,p.y/s,r,0,Math.PI*2,!1),s!==1&&ctx.restore(),this._fillStroke(ctx,layer)}},_fillStroke:function(ctx,layer){var options=layer.options;options.fill&&(ctx.globalAlpha=options.fillOpacity,ctx.fillStyle=options.fillColor||options.color,ctx.fill(options.fillRule||"evenodd")),options.stroke&&options.weight!==0&&(ctx.setLineDash&&ctx.setLineDash(layer.options&&layer.options._dashArray||[]),ctx.globalAlpha=options.opacity,ctx.lineWidth=options.weight,ctx.strokeStyle=options.color,ctx.lineCap=options.lineCap,ctx.lineJoin=options.lineJoin,ctx.stroke())},_onClick:function(e){for(var point=this._map.mouseEventToLayerPoint(e),layer,clickedLayer,order=this._drawFirst;order;order=order.next)layer=order.layer,layer.options.interactive&&layer._containsPoint(point)&&(!(e.type==="click"||e.type==="preclick")||!this._map._draggableMoved(layer))&&(clickedLayer=layer);this._fireEvent(clickedLayer?[clickedLayer]:!1,e)},_onMouseMove:function(e){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var point=this._map.mouseEventToLayerPoint(e);this._handleMouseHover(e,point)}},_handleMouseOut:function(e){var layer=this._hoveredLayer;layer&&(removeClass(this._container,"leaflet-interactive"),this._fireEvent([layer],e,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(e,point){if(!this._mouseHoverThrottled){for(var layer,candidateHoveredLayer,order=this._drawFirst;order;order=order.next)layer=order.layer,layer.options.interactive&&layer._containsPoint(point)&&(candidateHoveredLayer=layer);candidateHoveredLayer!==this._hoveredLayer&&(this._handleMouseOut(e),candidateHoveredLayer&&(addClass(this._container,"leaflet-interactive"),this._fireEvent([candidateHoveredLayer],e,"mouseover"),this._hoveredLayer=candidateHoveredLayer)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,e),this._mouseHoverThrottled=!0,setTimeout(bind(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(layers2,e,type){this._map._fireDOMEvent(e,type||e.type,layers2)},_bringToFront:function(layer){var order=layer._order;if(order){var next=order.next,prev=order.prev;if(next)next.prev=prev;else return;prev?prev.next=next:next&&(this._drawFirst=next),order.prev=this._drawLast,this._drawLast.next=order,order.next=null,this._drawLast=order,this._requestRedraw(layer)}},_bringToBack:function(layer){var order=layer._order;if(order){var next=order.next,prev=order.prev;if(prev)prev.next=next;else return;next?next.prev=prev:prev&&(this._drawLast=prev),order.prev=null,order.next=this._drawFirst,this._drawFirst.prev=order,this._drawFirst=order,this._requestRedraw(layer)}}});function canvas(options){return Browser.canvas?new Canvas(options):null}__name(canvas,"canvas");var vmlCreate=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(name){return document.createElement("<lvml:"+name+' class="lvml">')}}catch{}return function(name){return document.createElement("<"+name+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),vmlMixin={_initContainer:function(){this._container=create$1("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Renderer.prototype._update.call(this),this.fire("update"))},_initPath:function(layer){var container=layer._container=vmlCreate("shape");addClass(container,"leaflet-vml-shape "+(this.options.className||"")),container.coordsize="1 1",layer._path=vmlCreate("path"),container.appendChild(layer._path),this._updateStyle(layer),this._layers[stamp(layer)]=layer},_addPath:function(layer){var container=layer._container;this._container.appendChild(container),layer.options.interactive&&layer.addInteractiveTarget(container)},_removePath:function(layer){var container=layer._container;remove(container),layer.removeInteractiveTarget(container),delete this._layers[stamp(layer)]},_updateStyle:function(layer){var stroke=layer._stroke,fill=layer._fill,options=layer.options,container=layer._container;container.stroked=!!options.stroke,container.filled=!!options.fill,options.stroke?(stroke||(stroke=layer._stroke=vmlCreate("stroke")),container.appendChild(stroke),stroke.weight=options.weight+"px",stroke.color=options.color,stroke.opacity=options.opacity,options.dashArray?stroke.dashStyle=isArray(options.dashArray)?options.dashArray.join(" "):options.dashArray.replace(/( *, *)/g," "):stroke.dashStyle="",stroke.endcap=options.lineCap.replace("butt","flat"),stroke.joinstyle=options.lineJoin):stroke&&(container.removeChild(stroke),layer._stroke=null),options.fill?(fill||(fill=layer._fill=vmlCreate("fill")),container.appendChild(fill),fill.color=options.fillColor||options.color,fill.opacity=options.fillOpacity):fill&&(container.removeChild(fill),layer._fill=null)},_updateCircle:function(layer){var p=layer._point.round(),r=Math.round(layer._radius),r2=Math.round(layer._radiusY||r);this._setPath(layer,layer._empty()?"M0 0":"AL "+p.x+","+p.y+" "+r+","+r2+" 0,"+65535*360)},_setPath:function(layer,path){layer._path.v=path},_bringToFront:function(layer){toFront(layer._container)},_bringToBack:function(layer){toBack(layer._container)}},create=Browser.vml?vmlCreate:svgCreate,SVG=Renderer.extend({_initContainer:function(){this._container=create("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=create("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){remove(this._container),off(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Renderer.prototype._update.call(this);var b=this._bounds,size=b.getSize(),container=this._container;(!this._svgSize||!this._svgSize.equals(size))&&(this._svgSize=size,container.setAttribute("width",size.x),container.setAttribute("height",size.y)),setPosition(container,b.min),container.setAttribute("viewBox",[b.min.x,b.min.y,size.x,size.y].join(" ")),this.fire("update")}},_initPath:function(layer){var path=layer._path=create("path");layer.options.className&&addClass(path,layer.options.className),layer.options.interactive&&addClass(path,"leaflet-interactive"),this._updateStyle(layer),this._layers[stamp(layer)]=layer},_addPath:function(layer){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(layer._path),layer.addInteractiveTarget(layer._path)},_removePath:function(layer){remove(layer._path),layer.removeInteractiveTarget(layer._path),delete this._layers[stamp(layer)]},_updatePath:function(layer){layer._project(),layer._update()},_updateStyle:function(layer){var path=layer._path,options=layer.options;path&&(options.stroke?(path.setAttribute("stroke",options.color),path.setAttribute("stroke-opacity",options.opacity),path.setAttribute("stroke-width",options.weight),path.setAttribute("stroke-linecap",options.lineCap),path.setAttribute("stroke-linejoin",options.lineJoin),options.dashArray?path.setAttribute("stroke-dasharray",options.dashArray):path.removeAttribute("stroke-dasharray"),options.dashOffset?path.setAttribute("stroke-dashoffset",options.dashOffset):path.removeAttribute("stroke-dashoffset")):path.setAttribute("stroke","none"),options.fill?(path.setAttribute("fill",options.fillColor||options.color),path.setAttribute("fill-opacity",options.fillOpacity),path.setAttribute("fill-rule",options.fillRule||"evenodd")):path.setAttribute("fill","none"))},_updatePoly:function(layer,closed){this._setPath(layer,pointsToPath(layer._parts,closed))},_updateCircle:function(layer){var p=layer._point,r=Math.max(Math.round(layer._radius),1),r2=Math.max(Math.round(layer._radiusY),1)||r,arc="a"+r+","+r2+" 0 1,0 ",d=layer._empty()?"M0 0":"M"+(p.x-r)+","+p.y+arc+r*2+",0 "+arc+-r*2+",0 ";this._setPath(layer,d)},_setPath:function(layer,path){layer._path.setAttribute("d",path)},_bringToFront:function(layer){toFront(layer._path)},_bringToBack:function(layer){toBack(layer._path)}});Browser.vml&&SVG.include(vmlMixin);function svg(options){return Browser.svg||Browser.vml?new SVG(options):null}__name(svg,"svg"),Map.include({getRenderer:function(layer){var renderer=layer.options.renderer||this._getPaneRenderer(layer.options.pane)||this.options.renderer||this._renderer;return renderer||(renderer=this._renderer=this._createRenderer()),this.hasLayer(renderer)||this.addLayer(renderer),renderer},_getPaneRenderer:function(name){if(name==="overlayPane"||name===void 0)return!1;var renderer=this._paneRenderers[name];return renderer===void 0&&(renderer=this._createRenderer({pane:name}),this._paneRenderers[name]=renderer),renderer},_createRenderer:function(options){return this.options.preferCanvas&&canvas(options)||svg(options)}});var Rectangle=Polygon.extend({initialize:function(latLngBounds,options){Polygon.prototype.initialize.call(this,this._boundsToLatLngs(latLngBounds),options)},setBounds:function(latLngBounds){return this.setLatLngs(this._boundsToLatLngs(latLngBounds))},_boundsToLatLngs:function(latLngBounds){return latLngBounds=toLatLngBounds(latLngBounds),[latLngBounds.getSouthWest
4(),latLngBounds.getNorthWest(),latLngBounds.getNorthEast(),latLngBounds.getSouthEast()]}});function rectangle(latLngBounds,options){return new Rectangle(latLngBounds,options)}__name(rectangle,"rectangle"),SVG.create=create,SVG.pointsToPath=pointsToPath,GeoJSON.geometryToLayer=geometryToLayer,GeoJSON.coordsToLatLng=coordsToLatLng,GeoJSON.coordsToLatLngs=coordsToLatLngs,GeoJSON.latLngToCoords=latLngToCoords,GeoJSON.latLngsToCoords=latLngsToCoords,GeoJSON.getFeature=getFeature,GeoJSON.asFeature=asFeature,Map.mergeOptions({boxZoom:!0});var BoxZoom=Handler.extend({initialize:function(map){this._map=map,this._container=map._container,this._pane=map._panes.overlayPane,this._resetStateTimeout=0,map.on("unload",this._destroy,this)},addHooks:function(){on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){off(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){remove(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(e){if(!e.shiftKey||e.which!==1&&e.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),disableTextSelection(),disableImageDrag(),this._startPoint=this._map.mouseEventToContainerPoint(e),on(document,{contextmenu:stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(e){this._moved||(this._moved=!0,this._box=create$1("div","leaflet-zoom-box",this._container),addClass(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(e);var bounds=new Bounds(this._point,this._startPoint),size=bounds.getSize();setPosition(this._box,bounds.min),this._box.style.width=size.x+"px",this._box.style.height=size.y+"px"},_finish:function(){this._moved&&(remove(this._box),removeClass(this._container,"leaflet-crosshair")),enableTextSelection(),enableImageDrag(),off(document,{contextmenu:stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(e){if(!(e.which!==1&&e.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(bind(this._resetState,this),0);var bounds=new LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(bounds).fire("boxzoomend",{boxZoomBounds:bounds})}},_onKeyDown:function(e){e.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});Map.addInitHook("addHandler","boxZoom",BoxZoom),Map.mergeOptions({doubleClickZoom:!0});var DoubleClickZoom=Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(e){var map=this._map,oldZoom=map.getZoom(),delta=map.options.zoomDelta,zoom2=e.originalEvent.shiftKey?oldZoom-delta:oldZoom+delta;map.options.doubleClickZoom==="center"?map.setZoom(zoom2):map.setZoomAround(e.containerPoint,zoom2)}});Map.addInitHook("addHandler","doubleClickZoom",DoubleClickZoom),Map.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Drag=Handler.extend({addHooks:function(){if(!this._draggable){var map=this._map;this._draggable=new Draggable(map._mapPane,map._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),map.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),map.on("zoomend",this._onZoomEnd,this),map.whenReady(this._onZoomEnd,this))}addClass(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){removeClass(this._map._container,"leaflet-grab"),removeClass(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved}
vendor: 6,769 bytes, line 4
4,moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var map=this._map;if(map._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var bounds=toLatLngBounds(this._map.options.maxBounds);this._offsetLimit=toBounds(this._map.latLngToContainerPoint(bounds.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(bounds.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;map.fire("movestart").fire("dragstart"),map.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(e){if(this._map.options.inertia){var time=this._lastTime=+new Date,pos=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(pos),this._times.push(time),this._prunePositions(time)}this._map.fire("move",e).fire("drag",e)},_prunePositions:function(time){for(;this._positions.length>1&&time-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var pxCenter=this._map.getSize().divideBy(2),pxWorldCenter=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=pxWorldCenter.subtract(pxCenter).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(value,threshold){return value-(value-threshold)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var offset=this._draggable._newPos.subtract(this._draggable._startPos),limit=this._offsetLimit;offset.x<limit.min.x&&(offset.x=this._viscousLimit(offset.x,limit.min.x)),offset.y<limit.min.y&&(offset.y=this._viscousLimit(offset.y,limit.min.y)),offset.x>limit.max.x&&(offset.x=this._viscousLimit(offset.x,limit.max.x)),offset.y>limit.max.y&&(offset.y=this._viscousLimit(offset.y,limit.max.y)),this._draggable._newPos=this._draggable._startPos.add(offset)}},_onPreDragWrap:function(){var worldWidth=this._worldWidth,halfWidth=Math.round(worldWidth/2),dx=this._initialWorldOffset,x=this._draggable._newPos.x,newX1=(x-halfWidth+dx)%worldWidth+halfWidth-dx,newX2=(x+halfWidth+dx)%worldWidth-halfWidth-dx,newX=Math.abs(newX1+dx)<Math.abs(newX2+dx)?newX1:newX2;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=newX},_onDragEnd:function(e){var map=this._map,options=map.options,noInertia=!options.inertia||e.noInertia||this._times.length<2;if(map.fire("dragend",e),noInertia)map.fire("moveend");else{this._prunePositions(+new Date);var direction=this._lastPos.subtract(this._positions[0]),duration=(this._lastTime-this._times[0])/1e3,ease=options.easeLinearity,speedVector=direction.multiplyBy(ease/duration),speed=speedVector.distanceTo([0,0]),limitedSpeed=Math.min(options.inertiaMaxSpeed,speed),limitedSpeedVector=speedVector.multiplyBy(limitedSpeed/speed),decelerationDuration=limitedSpeed/(options.inertiaDeceleration*ease),offset=limitedSpeedVector.multiplyBy(-decelerationDuration/2).round();!offset.x&&!offset.y?map.fire("moveend"):(offset=map._limitOffset(offset,map.options.maxBounds),requestAnimFrame(function(){map.panBy(offset,{duration:decelerationDuration,easeLinearity:ease,noMoveStart:!0,animate:!0})}))}}});Map.addInitHook("addHandler","dragging",Drag),Map.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Keyboard=Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(map){this._map=map,this._setPanDelta(map.options.keyboardPanDelta),this._setZoomDelta(map.options.zoomDelta)},addHooks:function(){var container=this._map._container;container.tabIndex<=0&&(container.tabIndex="0"),on(container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),off(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var body=document.body,docEl=document.documentElement,top=body.scrollTop||docEl.scrollTop,left=body.scrollLeft||docEl.scrollLeft;this._map._container.focus(),window.scrollTo(left,top)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(panDelta){var keys=this._panKeys={},codes=this.keyCodes,i,len;for(i=0,len=codes.left.length;i<len;i++)keys[codes.left[i]]=[-1*panDelta,0];for(i=0,len=codes.right.length;i<len;i++)keys[codes.right[i]]=[panDelta,0];for(i=0,len=codes.down.length;i<len;i++)keys[codes.down[i]]=[0,panDelta];for(i=0,len=codes.up.length;i<len;i++)keys[codes.up[i]]=[0,-1*panDelta]},_setZoomDelta:function(zoomDelta){var keys=this._zoomKeys={},codes=this.keyCodes,i,len;for(i=0,len=codes.zoomIn.length;i<len;i++)keys[codes.zoomIn[i]]=zoomDelta;for(i=0,len=codes.zoomOut.length;i<len;i++)keys[codes.zoomOut[i]]=-zoomDelta},_addHooks:function(){on(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){off(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var key=e.keyCode,map=this._map,offset;if(key in this._panKeys){if(!map._panAnim||!map._panAnim._inProgress)if(offset=this._panKeys[key],e.shiftKey&&(offset=toPoint(offset).multiplyBy(3)),map.options.maxBounds&&(offset=map._limitOffset(toPoint(offset),map.options.maxBounds)),map.options.worldCopyJump){var newLatLng=map.wrapLatLng(map.unproject(map.project(map.getCenter()).add(offset)));map.panTo(newLatLng)}else map.panBy(offset)}else if(key in this._zoomKeys)map.setZoom(map.getZoom()+(e.shiftKey?3:1)*this._zoomKeys[key]);else if(key===27&&map._popup&&map._popup.options.closeOnEscapeKey)map.closePopup();else return;stop(e)}}});Map.addInitHook("addHandler","keyboard",Keyboard),Map.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var ScrollWheelZoom=Handler.extend({addHooks:function(){on(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){off(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(e){var delta=getWheelDelta(e),debounce=this._map.options.wheelDebounceTime;this._delta+=delta,this._lastMousePos=this._map.mouseEventToContainerPoint(e),this._startTime||(this._startTime=+new Date);var left=Math.max(debounce-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(bind(this._performZoom,this),left),stop(e)},_performZoom:function(){var map=this._map,zoom2=map.getZoom(),snap=this._map.options.zoomSnap||0;map._stop();var d2=this._delta/(this._map.options.wheelPxPerZoomLevel*4),d3=4*Math.log(2/(1+Math.exp(-Math.abs(d2))))/Math.LN2,d4=snap?Math.
4ceil(d3/snap)*snap:d3,delta=map._limitZoom(zoom2+(this._delta>0?d4:-d4))-zoom2;this._delta=0,this._startTime=null,delta&&(map.options.scrollWheelZoom==="center"?map.setZoom(zoom2+delta):map.setZoomAround(this._lastMousePos,zoom2+delta))}});Map.addInitHook("addHandler","scrollWheelZoom",ScrollWheelZoom);var tapHoldDelay=600;Map.mergeOptions({tapHold:Browser.touchNative&&Browser.safari&&Browser.mobile,tapTolerance:15});var TapHold=Handler.extend({addHooks:function(){on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(e){if(clearTimeout(this._holdTimeout),e.touches.length===1){var first=e.touches[0];this._startPos=this._newPos=new Point(first.clientX,first.clientY),this._holdTimeout=setTimeout(bind(function(){this._cancel(),this._isTapValid()&&(on(document,"touchend",preventDefault),on(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",first))},this),tapHoldDelay),on(document,"touchend touchcancel contextmenu",this._cancel,this),on(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:__name(function cancelClickPrevent(){off(document,"touchend",preventDefault),off(document,"touchend touchcancel",cancelClickPrevent)},"cancelClickPrevent"),_cancel:function(){clearTimeout(this._holdTimeout),off(document,"touchend touchcancel contextmenu",this._cancel,this),off(document,"touchmove",this._onMove,this)},_onMove:function(e){var first=e.touches[0];this._newPos=new Point(first.clientX,first.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(type,e){var simulatedEvent=new MouseEvent(type,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});simulatedEvent._simulated=!0,e.target.dispatchEvent(simulatedEvent)}});Map.addInitHook("addHandler","tapHold",TapHold),Map.mergeOptions({touchZoom:Browser.touch,bounceAtZoomLimits:!0});var TouchZoom=Handler.extend({addHooks:function(){addClass(this._map._container,"leaflet-touch-zoom"),on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){removeClass(this._map._container,"leaflet-touch-zoom"),off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(e){var map=this._map;if(!(!e.touches||e.touches.length!==2||map._animatingZoom||this._zooming)){var p1=map.mouseEventToContainerPoint(e.touches[0]),p2=map.mouseEventToContainerPoint(e.touches[1]);this._centerPoint=map.getSize()._divideBy(2),this._startLatLng=map.containerPointToLatLng(this._centerPoint),map.options.touchZoom!=="center"&&(this._pinchStartLatLng=map.containerPointToLatLng(p1.add(p2)._divideBy(2))),this._startDist=p1.distanceTo(p2),this._startZoom=map.getZoom(),this._moved=!1,this._zooming=!0,map._stop(),on(document,"touchmove",this._onTouchMove,this),on(document,"touchend touchcancel",this._onTouchEnd,this),preventDefault(e)}},_onTouchMove:function(e){if(!(!e.touches||e.touches.length!==2||!this._zooming)){var map=this._map,p1=map.mouseEventToContainerPoint(e.touches[0]),p2=map.mouseEventToContainerPoint(e.touches[1]),scale2=p1.distanceTo(p2)/this._startDist;if(this._zoom=map.getScaleZoom(scale2,this._startZoom),!map.options.bounceAtZoomLimits&&(this._zoom<map.getMinZoom()&&scale2<1||this._zoom>map.getMaxZoom()&&scale2>1)&&(this._zoom=map._limitZoom(this._zoom)),map.options.touchZoom==="center"){if(this._center=this._startLatLng,scale2===1)return}else{var delta=p1._add(p2)._divideBy(2)._subtract(this._centerPoint);if(scale2===1&&delta.x===0&&delta.y===0)return;this._center=map.unproject(map.project(this._pinchStartLatLng,this._zoom).subtract(delta),this._zoom)}this._moved||(map._moveStart(!0,!1),this._moved=!0),cancelAnimFrame(this._animRequest);var moveFn=bind(map._move,map,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=requestAnimFrame(moveFn,this,!0),preventDefault(e)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}
4this._zooming=!1,cancelAnimFrame(this._animRequest),off(document,"touchmove",this._onTouchMove,this),off(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});Map.addInitHook("addHandler","touchZoom",TouchZoom),Map.BoxZoom=BoxZoom,Map.DoubleClickZoom=DoubleClickZoom,Map.Drag=Drag,Map.Keyboard=Keyboard,Map.ScrollWheelZoom=ScrollWheelZoom,Map.TapHold=TapHold,Map.TouchZoom=TouchZoom,exports2.Bounds=Bounds,exports2.Browser=Browser,exports2.CRS=CRS,exports2.Canvas=Canvas,exports2.Circle=Circle,exports2.CircleMarker=CircleMarker,exports2.Class=Class,exports2.Control=Control,exports2.DivIcon=DivIcon,exports2.DivOverlay=DivOverlay,exports2.DomEvent=DomEvent,exports2.DomUtil=DomUtil,exports2.Draggable=Draggable,exports2.Evented=Evented,exports2.FeatureGroup=FeatureGroup,exports2.GeoJSON=GeoJSON,exports2.GridLayer=GridLayer,exports2.Handler=Handler,exports2.Icon=Icon,exports2.ImageOverlay=ImageOverlay,exports2.LatLng=LatLng,exports2.LatLngBounds=LatLngBounds,exports2.Layer=Layer,exports2.LayerGroup=LayerGroup,exports2.LineUtil=LineUtil,exports2.Map=Map,exports2.Marker=Marker,exports2.Mixin=Mixin,exports2.Path=Path,exports2.Point=Point,exports2.PolyUtil=PolyUtil,exports2.Polygon=Polygon,exports2.Polyline=Polyline,exports2.Popup=Popup,exports2.PosAnimation=PosAnimation,exports2.Projection=index,exports2.Rectangle=Rectangle,exports2.Renderer=Renderer,exports2.SVG=SVG,exports2.SVGOverlay=SVGOverlay,exports2.TileLayer=TileLayer,exports2.Tooltip=Tooltip,exports2.Transformation=Transformation,exports2.Util=Util,exports2.VideoOverlay=VideoOverlay,exports2.bind=bind,exports2.bounds=toBounds,exports2.canvas=canvas,exports2.circle=circle,exports2.circleMarker=circleMarker,exports2.control=control,exports2.divIcon=divIcon,exports2.extend=extend,exports2.featureGroup=featureGroup,exports2.geoJSON=geoJSON,exports2.geoJson=geoJson,exports2.gridLayer=gridLayer,exports2.icon=icon,exports2.imageOverlay=imageOverlay,exports2.latLng=toLatLng,exports2.latLngBounds=toLatLngBounds,exports2.layerGroup=layerGroup,exports2.map=createMap,exports2.marker=marker,exports2.point=toPoint,exports2.polygon=polygon,exports2.polyline=polyline,exports2.popup=popup,exports2.rectangle=rectangle,exports2.setOptions=setOptions,exports2.stamp=stamp,exports2.svg=svg,exports2.svgOverlay=svgOverlay,exports2.tileLayer=tileLayer,exports2.tooltip=tooltip,exports2.transformation=toTransformation,exports2.version=version,exports2.videoOverlay=videoOverlay;var oldL=window.L;exports2.noConflict=function(){return window.L=oldL,this},window.L=exports2})})(leafletSrc,leafletSrc.exports);var leafletSrcExports=leafletSrc.exports;const L$1=getDefaultExportFromCjs(leafletSrcExports);function readString(val){if(val==null)return null;if(typeof val=="string")return val;if(typeof val=="object"&&val!==null&&"value"in val){const v=val.value;return v==null?null:String(v)}return String(val)}__name(readString,"readString");function readNumber(val){if(val==null)return null;if(typeof val=="number"&&!Number.isNaN(val))return val;if(typeof val=="object"&&val!==null&&"value"in val){const v=val.value;if(typeof v=="number"&&!Number.isNaN(v))return v;if(typeof v=="string"&&v.trim()!==""){const n=Number(v);return Number.isNaN(n)?null:n}}return null}__name(readNumber,"readNumber");function readCompoundArray(val){if(val==null)return null;if(Array.isArray(val))return val.map(Number);if(typeof val=="object"&&val!==null&&"value"in val){const v=val.value;return Array.isArray(v)?v.map(Number):null}return null}__name(readCompoundArray,"readCompoundArray");function compoundArrayToAngle(parts){if(!(parts!=null&&parts.length))return null;const[d=0,m=0,s=0,micro=0]=parts;return{degrees:d,minutes:m,seconds:s,millionths:micro}}__name(compoundArrayToAngle,"compoundArrayToAngle");function compoundAngleToDecimal(angle){if(!angle)return null;const sign=angle.degrees<0?-1:1,decimal=Math.abs(angle.degrees)+angle.minutes/60+(angle.seconds+angle.millionths/1e6)/3600;return sign*decimal}__name(compoundAngleToDecimal,"compoundAngleToDecimal");function decimalToCompoundAngle(decimal){const sign=decimal<0?-1:1;let d=Math.abs(decimal);const degrees=Math.floor(d);d=(d-degrees)*60;const minutes=Math.floor(d);d=(d-minutes)*60;const seconds=Math.floor(d),millionths=Math.round((d-seconds)*1e6);return{degrees:sign*degrees,minutes,seconds,millionths}}__name(decimalToCompoundAngle,"decimalToCompoundAngle");function compoundAngleToArray(angle){return[angle.degrees,angle.minutes,angle.seconds,angle.millionths]}__name(compoundAngleToArray,"compoundAngleToArray");function formatCompound(angle){if(!angle)return"â";const micro=angle.millionths?`.${String(angle.millionths).padStart(6,"0").replace(/0+$/,"")||"0"}`:"";return`${angle.degrees}° ${angle.minutes}' ${angle.seconds}${micro}"`}__name(formatCompound,"formatCompound");function compoundAngleToDmsString(angle){return angle?formatCompound(angle):""}__name(compoundAngleToDmsString,"compoundAngleToDmsString");
4function parseDmsToCompound(input){const trimmed=input.trim();if(!trimmed)return null;const dms=trimmed.match(/^(-)?\s*(\d+)\s*(?:°|d|deg)?\s*(\d+)?\s*(?:'|m|min)?\s*([\d.]+)?/i);if(dms){const sign=dms[1]?-1:1,degrees=parseInt(dms[2],10),minutes=parseInt(dms[3]||"0",10),secRaw=dms[4]||"0",[secWhole,secFrac=""]=secRaw.split("."),seconds=parseInt(secWhole,10),millionths=secFrac?parseInt(secFrac.padEnd(6,"0").slice(0,6),10):0;return{degrees:sign*degrees,minutes,seconds,millionths}}const parts=trimmed.split(/[\s,]+/).map(p=>Number(p));return parts.length>=3&&parts.slice(0,3).every(n=>Number.isFinite(n))?{degrees:parts[0],minutes:parts[1],seconds:Math.floor(parts[2]),millionths:Math.round((parts[2]-Math.floor(parts[2]))*1e6)||(parts[3]??0)}:null}__name(parseDmsToCompound,"parseDmsToCompound");function formatCoordinateSummary(snapshot){var _a,_b,_c,_d;return((_a=snapshot.site)==null?void 0:_a.latitude)!=null&&((_b=snapshot.site)==null?void 0:_b.longitude)!=null?`${snapshot.site.latitude.toFixed(6)}°, ${snapshot.site.longitude.toFixed(6)}°`:((_c=snapshot.mapConversion)==null?void 0:_c.eastings)!=null&&((_d=snapshot.mapConversion)==null?void 0:_d.northings)!=null?`E ${snapshot.mapConversion.eastings.toFixed(3)}, N ${snapshot.mapConversion.northings.toFixed(3)}`:"No georeference found"}__name(formatCoordinateSummary,"formatCoordinateSummary");function readPlacement(api,modelID,placementRef){if(!placementRef||typeof placementRef!="object")return null;const placementId="value"in placementRef?placementRef.value:placementRef.expressID;if(!placementId)return null;try{const placement=api.GetLine(modelID,placementId,!0),rel=placement==null?void 0:placement.RelativePlacement,location=rel==null?void 0:rel.Location,coords=location==null?void 0:location.Coordinates;return!Array.isArray(coords)||coords.length<3?{x:0,y:0,z:0,expressId:(location==null?void 0:location.expressID)??null}:{x:readNumber(coords[0])??0,y:readNumber(coords[1])??0,z:readNumber(coords[2])??0,expressId:(location==null?void 0:location.expressID)??null}}catch{return null}}__name(readPlacement,"readPlacement");function readProjectedCrs(api,modelID,expressId){try{const line=api.GetLine(modelID,expressId,!0);return{expressId,name:readString(line.Name),description:readString(line.Description),geodeticDatum:readString(line.GeodeticDatum),verticalDatum:readString(line.VerticalDatum),mapProjection:readString(line.MapProjection),mapZone:readString(line.MapZone),mapUnit:readString(line.MapUnit)}}catch{return null}}__name(readProjectedCrs,"readProjectedCrs");function readMapConversion(api,modelID,expressId){try{const line=api.GetLine(modelID,expressId,!0),targetCrs=line.TargetCRS,targetId=typeof targetCrs=="object"&&targetCrs!==null?"value"in targetCrs?targetCrs.value:targetCrs.expressID:null,sourceCrs=line.SourceCRS,sourceId=typeof sourceCrs=="object"&&sourceCrs!==null?"value"in sourceCrs?sourceCrs.value:sourceCrs.expressID:null;return{expressId,eastings:readNumber(line.Eastings),northings:readNumber(line.Northings),orthogonalHeight:readNumber(line.OrthogonalHeight),xAxisAbscissa:readNumber(line.XAxisAbscissa),xAxisOrdinate:readNumber(line.XAxisOrdinate),scale:readNumber(line.Scale),projectedCrsExpressId:targetId??null,sourceCrsExpressId:sourceId??null,targetCrsExpressId:targetId??null}}catch{return null}}__name(readMapConversion,"readMapConversion");function readGeoContexts(api,modelID){const contexts=[],ids=api.GetLineIDsWithType(modelID,IFCGEOMETRICREPRESENTATIONCONTEXT);for(let i=0;i<ids.size();i++)try{const line=api.GetLine(modelID,ids.get(i),!0),trueNorth=line.TrueNorth,ratios=trueNorth==null?void 0:trueNorth.DirectionRatios;contexts.push({expressId:line.expressID,contextType:readString(line.ContextType),coordinateSpaceDimension:readNumber(line.CoordinateSpaceDimension),precision:readNumber(line.Precision),trueNorthX:Array.isArray(ratios)?readNumber(ratios[0]):null,trueNorthY:Array.isArray(ratios)?readNumber(ratios[1]):null})}catch{}return contexts}__name(readGeoContexts,"readGeoContexts");function extractGeoReference(api,modelID){const schema=api.GetModelSchema(modelID);let site=null;const siteIds=api.GetLineIDsWithType(modelID,IFCSITE);if(siteIds.size()>0){const expressId=siteIds.get(0),line=api.GetLine(modelID,expressId,!0),latParts=readCompoundArray(line.RefLatitude),lonParts=readCompoundArray(line.RefLongitude),latCompound=compoundArrayToAngle(latParts),lonCompound=compoundArrayToAngle(lonParts);site={expressId,name:readString(line.Name)??"Site",latitude:compoundAngleToDecimal(latCompound),longitude:compoundAngleToDecimal(lonCompound),elevation:readNumber(line.RefElevation),latitudeCompound:latCompound,longitudeCompound:lonCompound,placement:readPlacement(api,modelID,line.ObjectPlacement),landTitleNumber:readString(line.LandTitleNumber)}}let mapConversion=null,projectedCrs=null;const mapIds=api.GetLineIDsWithType(modelID,IFCMAPCONVERSION);if(mapIds.size()>0&&(mapConversion=readMapConversion(api,modelID,mapIds.get(0)),mapConversion!=null&&mapConversion.projectedCrsExpressId&&(projectedCrs=readProjectedCrs(api,modelID,mapConversion.projectedCrsExpressId))),!projectedCrs){const crsIds=api.GetLineIDsWithType(modelID,IFCPROJECTEDCRS);crsIds.size()>0&&(projectedCrs=readProjectedCrs(api,modelID,crsIds.get(0)))}let project=null;const projectIds=api.GetLineIDsWithType(modelID,IFCPROJECT);if(projectIds.size()>0){const expressId=projectIds.get(0),line=api.GetLine(modelID,expressId,!0),contexts=line.RepresentationContexts,representationContexts=Array.isArray(contexts)?contexts.map(c=>
4c.value??c.expressID).filter(Boolean):[];project={expressId,name:readString(line.Name),representationContexts}}const geoContexts=readGeoContexts(api,modelID),hasCoordinates=(site==null?void 0:site.latitude)!=null&&(site==null?void 0:site.longitude)!=null||(mapConversion==null?void 0:mapConversion.eastings)!=null&&(mapConversion==null?void 0:mapConversion.northings)!=null;return{schema,hasCoordinates,site,mapConversion,projectedCrs,geoContexts,project}}__name(extractGeoReference,"extractGeoReference");function writeIfcType(_api,_modelID,original,value){if(original!==null&&typeof original=="object"&&"value"in original&&"type"in original){const newValue=value===null?null:typeof value=="number"?value:String(value);return{...original,value:newValue}}return value===null?null:typeof value=="number"?{value,type:REAL,name:"IFCREAL"}:{value:String(value),type:LABEL,name:"IFCLABEL"}}__name(writeIfcType,"writeIfcType");function writeLengthMeasure(value,original){return value===null?null:original!==null&&typeof original=="object"&&"type"in original?{...original,value}:{value,type:REAL,name:"IFCLENGTHMEASURE"}}__name(writeLengthMeasure,"writeLengthMeasure");function applyGeoReferenceEdits(api,modelID,snapshot,edits){var _a;if(snapshot.site){const site=api.GetLine(modelID,snapshot.site.expressId,!1);if(edits.siteName!=null&&(site.Name=writeIfcType(api,modelID,site.Name,edits.siteName)),edits.landTitleNumber!=null&&(site.LandTitleNumber=writeIfcType(api,modelID,site.LandTitleNumber,edits.landTitleNumber)),edits.latitudeCompound)site.RefLatitude={value:compoundAngleToArray(edits.latitudeCompound),type:10};else if(edits.latitude!=null){const compound=decimalToCompoundAngle(edits.latitude);site.RefLatitude={value:compoundAngleToArray(compound),type:10}}if(edits.longitudeCompound)site.RefLongitude={value:compoundAngleToArray(edits.longitudeCompound),type:10};else if(edits.longitude!=null){const compound=decimalToCompoundAngle(edits.longitude);site.RefLongitude={value:compoundAngleToArray(compound),type:10}}if(edits.elevation!=null&&(site.RefElevation=writeLengthMeasure(edits.elevation,site.RefElevation)),(_a=snapshot.site.placement)!=null&&_a.expressId&&(edits.placementX!=null||edits.placementY!=null||edits.placementZ!=null)){const point=api.GetLine(modelID,snapshot.site.placement.expressId,!1),coords=Array.isArray(point.Coordinates)?[...point.Coordinates]:[];for(;coords.length<3;)coords.push({value:0,type:REAL,name:"IFCLENGTHMEASURE"});edits.placementX!=null&&(coords[0]={...coords[0],value:edits.placementX}),edits.placementY!=null&&(coords[1]={...coords[1],value:edits.placementY}),edits.placementZ!=null&&(coords[2]={...coords[2],value:edits.placementZ}),point.Coordinates=coords,api.WriteLine(modelID,point)}api.WriteLine(modelID,site)}if(snapshot.mapConversion&&edits.mapConversion){const mapLine=api.GetLine(modelID,snapshot.mapConversion.expressId,!1),patch=edits.mapConversion;patch.eastings!=null&&(mapLine.Eastings=writeIfcType(api,modelID,mapLine.Eastings,patch.eastings)),patch.northings!=null&&(mapLine.Northings=writeIfcType(api,modelID,mapLine.Northings,patch.northings)),patch.orthogonalHeight!=null&&(mapLine.OrthogonalHeight=writeIfcType(api,modelID,mapLine.OrthogonalHeight,patch.orthogonalHeight)),patch.xAxisAbscissa!=null&&(mapLine.XAxisAbscissa=writeIfcType(api,modelID,mapLine.XAxisAbscissa,patch.xAxisAbscissa)),patch.xAxisOrdinate!=null&&(mapLine.XAxisOrdinate=writeIfcType(api,modelID,mapLine.XAxisOrdinate,patch.xAxisOrdinate)),patch.scale!=null&&(mapLine.Scale=writeIfcType(api,modelID,mapLine.Scale,patch.scale)),api.WriteLine(modelID,mapLine)}if(snapshot.projectedCrs&&edits.projectedCrs){const crsLine=api.GetLine(modelID,snapshot.projectedCrs.expressId,!1),patch=edits.projectedCrs;patch.name!=null&&(crsLine.Name=writeIfcType(api,modelID,crsLine.Name,patch.name)),patch.description!=null&&(crsLine.Description=writeIfcType(api,modelID,crsLine.Description,patch.description)),patch.geodeticDatum!=null&&(crsLine.GeodeticDatum=writeIfcType(api,modelID,crsLine.GeodeticDatum,patch.geodeticDatum)),patch.verticalDatum!=null&&(crsLine.VerticalDatum=writeIfcType(api,modelID,crsLine.VerticalDatum,patch.verticalDatum)),patch.mapProjection!=null&&(crsLine.MapProjection=writeIfcType(api,modelID,crsLine.MapProjection,patch.mapProjection)),patch.mapZone!=null&&(crsLine.MapZone=writeIfcType(api,modelID,crsLine.MapZone,patch.mapZone)),patch.mapUnit!=null&&(crsLine.MapUnit=writeIfcType(api,modelID,crsLine.MapUnit,patch.mapUnit)),api.WriteLine(modelID,crsLine)}if(edits.geoContext){const patch=edits.geoContext,contextLine=api.GetLine(modelID,patch.expressId,!1);patch.contextType!=null&&(contextLine.ContextType=writeIfcType(api,modelID,contextLine.ContextType,patch.contextType)),patch.coordinateSpaceDimension!=null&&(contextLine.CoordinateSpaceDimension=writeIfcType(api,modelID,contextLine.CoordinateSpaceDimension,patch.coordinateSpaceDimension)),patch.precision!=null&&(contextLine.Precision=writeIfcType(api,modelID,contextLine.Precision,patch.precision)),api.WriteLine(modelID,contextLine)}if(edits.trueNorth){const trueNorth=api.GetLine(modelID,edits.trueNorth.expressId,!0).TrueNorth;if(trueNorth!=null&&trueNorth.expressID){const direction=api.GetLine(modelID,trueNorth.expressID,!1),ratios=Array.isArray(direction.DirectionRatios)?[...direction.DirectionRatios]:[];for(;ratios.length<2;)ratios.push({value:0,type:REAL,name:"IFCREAL"});edits.trueNorth.x!=null&&(ratios[0]={...ratios[0],value:edits.trueNorth.x}),edits.trueNorth.y!=null&&(ratios[1]={...ratios[1],value:edits.trueNorth.y}),direction.DirectionRatios=ratios,api.WriteLine(modelID,direction)}}return extractGeoReference(api,modelID)}__name(applyGeoReferenceEdits,"applyGeoReferenceEdits");function geoDisplayHelpers(snapshot){var _a,_b;return{latitudeDms:formatCompound(((_a=snapshot.site)==null?void 0:_a.latitudeCompound)??null),longitudeDms:formatCompound(((_b=snapshot.site)==null?void 0:_b.longitudeCompound)??null),summary:formatCoordinateSummary(snapshot)}}__name(geoDisplayHelpers,"geoDisplayHelpers");const CRS_FIELDS=[{key:"crsName",label:"Name"},{key:"crsDescription",label:"Description"},{key:"geodeticDatum",label:"Geodetic datum"},{key:"verticalDatum",label:"Vertical datum"},{key:"mapProjection",label:"Map projection"},{key:"mapZone",label:"Map zone"},{key:"mapUnit",label:"Map unit"}],MAP_CONVERSION_FIELDS=[{key:"eastings",label:"Eastings",mono:!0,type:"number"},{key:"northings",label:"Northings",mono:!0,type:"number"},{key:"orthogonalHeight",label:"Orthogonal height",mono:!0,type:"number"},{key:"xAxisAbscissa",label:"X axis abscissa",mono:!0,type:"number"},{key:"xAxisOrdinate",label:"X axis ordinate",mono:!0,type:"number"},{key:"scale",label:"Scale",mono:!0,type:"number"}],DEFAULT_CENTER=[20,0],DEFAULT_ZOOM=2,FOCUSED_ZOOM=16,_sfc_main=defineComponent({components:{DownloadOutline,TrashBinOutline,SearchOutline,CreateOutline,CheckmarkOutline,CloseOutline,LocationOutline,EarthOutline,LockClosedOutline,LockOpenOutline},mixins:[Tool],data(){return{ifcApi:null,modelID:-1,ifcName:"",ifcSizeMb:"0.00",ifcBytes:null,modelLoaded:!1,modelSchema:"",isProcessing:!1,hasError:!1,errorMessage:"",geoSnapshot:null,activeTab:"site",form:{siteName:"",landTitleNumber:"",latitude:"",longitude:"",latitudeDms:"",longitudeDms:"",elevation:"",placementX:"",placementY:"",placementZ:"",eastings:"",northings:"",orthogonalHeight:"",xAxisAbscissa:"",xAxisOrdinate:"",scale:"",crsName:"",crsDescription:"",geodeticDatum:"",verticalDatum:"",mapProjection:"",mapZone:"",mapUnit:"",trueNorthX:"",trueNorthY:""},editingField:null,editDraft:{},searchQuery:"",isSearching:!1,map:null,marker:null,mapLocationLocked:!1}},computed:{display(){return this.geoSnapshot?geoDisplayHelpers(this.geoSnapshot):{latitudeDms:"â",longitudeDms:"â",summary:"â"}},hasMapPosition(){const lat=Number(this.form.latitude),lon=Number(this.form.longitude);return Number.isFinite(lat)&&Number.isFinite(lon)},siteFieldDefs(){var _a;if(!((_a=this.geoSnapshot)!=null&&_a.site))return[];const fields=[{key:"_expressId",label:"Express ID",readOnly:!0,mono:!0},{key:"siteName",label:"Site name"},{key:"latitude",label:"Latitude (decimal)",mono:!0,type:"number"},{key:"longitude",label:"Longitude (decimal)",mono:!0,type:"number"},{key:"latitudeDms",label:"Latitude (DMS)",mono:!0},{key:"longitudeDms",label:"Longitude (DMS)",mono:!0},{key:"elevation",label:"Ref. elevation (m)",mono:!0,type:"number"},{key:"landTitleNumber",label:"Land title"}];return this.geoSnapshot.site.placement&&fields.push({key:"placementX",label:"Placement X (mm)",mono:!0,type:"number"},{key:"placementY",label:"Placement Y (mm)",mono:!0,type:"number"},{key:"placementZ",label:"Placement Z (mm)",mono:!0,type:"number"}),fields},crsFieldDefs(){var _a;return(_a=this.geoSnapshot)!=null&&_a.projectedCrs?CRS_FIELDS:[]},mapConversionFieldDefs(){var _a;return(_a=this.geoSnapshot)!=null&&_a.mapConversion?MAP_CONVERSION_FIELDS:[]},canDownload(){return!!this.ifcBytes&&this.modelLoaded},canReset(){return!!this.ifcBytes}},watch:{modelLoaded(loaded){loaded?this.$nextTick(()=>this.initMap()):this.destroyMap()},hasMapPosition:{handler(has){has&&this.syncMarkerFromForm(!1)}},mapLocationLocked(){this.syncMarkerDragState()}},beforeUnmount(){var _a;if(this.destroyMap(),this.ifcApi&&this.modelID>=0)try{this.ifcApi.CloseModel(this.modelID)}catch{}(_a=this.ifcApi)==null||_a.Dispose()},methods:{notify(msg,ok=!0){var _a,_b;ok?(_a=window.$message)==null||_a.success(msg,{showIcon:!1}):(_b=window.$message)==null||_b.error(msg,{showIcon:!1})},contextFieldDefs(ctx){const fields=[{key:`ctx_${ctx.expressId}_type`,label:"Type"},{key:`ctx_${ctx.expressId}_dimensions`,label:"Dimensions",mono:!0,type:"number"},{key:`ctx_${ctx.expressId}_precision`,label:"Precision",mono:!0,type:"number"}];return(ctx.trueNorthX!=null||ctx.trueNorthY!=null)&&fields.push({key:`ctx_${ctx.expressId}_trueNorthX`,label:"True north X",mono:!0,type:"number"},{key:`ctx_${ctx.expressId}_trueNorthY`,label:"True north Y",mono:!0,type:"number"}),fields},parseContextFieldKey(key){const match=key.match(/^ctx_(\d+)_(.+)$/);return match?{expressId:Number(match[1]),field:match[2]}:null},getFormValue(key){return this.form[key]??""},getFieldDisplay(field){var _a,_b;if(field.key==="_expressId")return(_b=(_a=this.geoSnapshot)==null?void 0:_a.site)!=null&&_b.expressId?`#${this.geoSnapshot.site.expressId}`:"â";const val=this.getFormValue(field.key);return val===""||val===null||val===void 0?"â":field.key==="latitude"||field.key==="longitude"?this.formatCoord(val):String(val)},formatCoord(value){const n=Number(value);return Number.isFinite(n)?n.toFixed(6):"â"}
4,startEdit(key){this.editingField=key,this.editDraft={...this.editDraft,[key]:this.getFormValue(key)}},cancelEdit(){this.editingField=null},applyCoordsFromMap(lat,lon,successMessage="Location updated from map"){var _a;if(!this.mapLocationLocked&&!(!this.ifcApi||this.modelID<0||!((_a=this.geoSnapshot)!=null&&_a.site)))try{this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{latitude:lat,longitude:lon}),this.populateFormFromSnapshot(this.geoSnapshot),this.cancelEdit(),this.syncMarkerFromForm(!0),this.notify(successMessage)}catch(e){this.notify(e.message||"Failed to update location",!1)}},populateFormFromSnapshot(snapshot){var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x,_y,_z;this.form.siteName=((_a=snapshot.site)==null?void 0:_a.name)??"",this.form.landTitleNumber=((_b=snapshot.site)==null?void 0:_b.landTitleNumber)??"",this.form.latitude=((_c=snapshot.site)==null?void 0:_c.latitude)??"",this.form.longitude=((_d=snapshot.site)==null?void 0:_d.longitude)??"",this.form.latitudeDms=compoundAngleToDmsString(((_e=snapshot.site)==null?void 0:_e.latitudeCompound)??null),this.form.longitudeDms=compoundAngleToDmsString(((_f=snapshot.site)==null?void 0:_f.longitudeCompound)??null),this.form.elevation=((_g=snapshot.site)==null?void 0:_g.elevation)??"",this.form.placementX=((_i=(_h=snapshot.site)==null?void 0:_h.placement)==null?void 0:_i.x)??"",this.form.placementY=((_k=(_j=snapshot.site)==null?void 0:_j.placement)==null?void 0:_k.y)??"",this.form.placementZ=((_m=(_l=snapshot.site)==null?void 0:_l.placement)==null?void 0:_m.z)??"",this.form.eastings=((_n=snapshot.mapConversion)==null?void 0:_n.eastings)??"",this.form.northings=((_o=snapshot.mapConversion)==null?void 0:_o.northings)??"",this.form.orthogonalHeight=((_p=snapshot.mapConversion)==null?void 0:_p.orthogonalHeight)??"",this.form.xAxisAbscissa=((_q=snapshot.mapConversion)==null?void 0:_q.xAxisAbscissa)??"",this.form.xAxisOrdinate=((_r=snapshot.mapConversion)==null?void 0:_r.xAxisOrdinate)??"",this.form.scale=((_s=snapshot.mapConversion)==null?void 0:_s.scale)??"",this.form.crsName=((_t=snapshot.projectedCrs)==null?void 0:_t.name)??"",this.form.crsDescription=((_u=snapshot.projectedCrs)==null?void 0:_u.description)??"",this.form.geodeticDatum=((_v=snapsh
4ot.projectedCrs)==null?void 0:_v.geodeticDatum)??"",this.form.verticalDatum=((_w=snapshot.projectedCrs)==null?void 0:_w.verticalDatum)??"",this.form.mapProjection=((_x=snapshot.projectedCrs)==null?void 0:_x.mapProjection)??"",this.form.mapZone=((_y=snapshot.projectedCrs)==null?void 0:_y.mapZone)??"",this.form.mapUnit=((_z=snapshot.projectedCrs)==null?void 0:_z.mapUnit)??"";for(const ctx of snapshot.geoContexts)this.form[`ctx_${ctx.expressId}_type`]=ctx.contextType??"",this.form[`ctx_${ctx.expressId}_dimensions`]=ctx.coordinateSpaceDimension??"",this.form[`ctx_${ctx.expressId}_precision`]=ctx.precision??"",this.form[`ctx_${ctx.expressId}_trueNorthX`]=ctx.trueNorthX??"",this.form[`ctx_${ctx.expressId}_trueNorthY`]=ctx.trueNorthY??""},async onDropIfc(files){var _a;if(!(files!=null&&files[0]))return;const file=files[0];if(((_a=file.name.split(".").pop())==null?void 0:_a.toLowerCase())!=="ifc")return;const url=URL.createObjectURL(file);this.ifcBytes=await this.getIfcFile(url),this.ifcName=file.name,this.ifcSizeMb=(file.size/1024/1024).toFixed(2),URL.revokeObjectURL(url),await this.initModel()},async initModel(){var _a;if(this.ifcBytes){this.isProcessing=!0,this.hasError=!1,this.cancelEdit();try{if(this.ifcApi&&this.modelID>=0)try{this.ifcApi.CloseModel(this.modelID)}catch{}(_a=this.ifcApi)==null||_a.Dispose();const api=new IfcAPI2;if(api.SetWasmPath("https://unpkg.com/[email protected]/",!0),await api.Init(),this.ifcApi=markRaw(api),this.modelID=this.ifcApi.OpenModel(new Uint8Array(this.ifcBytes)),this.modelID<0)throw new Error("Failed to open IFC model");this.modelSchema=this.ifcApi.GetModelSchema(this.modelID),this.refreshGeoSnapshot(),this.modelLoaded=!0,this.notify(`Model opened: ${this.ifcName} (${this.modelSchema})`)}catch(e){this.hasError=!0,this.errorMessage=e.message||"Failed to load model",this.notify(this.errorMessage,!1)}finally{this.isProcessing=!1}}},refreshGeoSnapshot(){!this.ifcApi||this.modelID<0||(this.geoSnapshot=extractGeoReference(this.ifcApi,this.modelID),this.populateFormFromSnapshot(this.geoSnapshot),this.$nextTick(()=>{this.map?this.syncMarkerFromForm(!0):this.modelLoaded&&this.initMap()}))},toggleMapLocationLock(){this.mapLocationLocked=!this.mapLocationLocked,this.notify(this.mapLocationLocked?"Point movement locked":"Point movement unlocked")},syncMarkerDragState(){var _a,_b,_c;if(!this.marker)return;!!((_a=this.geoSnapshot)!=null&&_a.site)&&!this.mapLocationLocked?(_b=this.marker.dragging)==null||_b.enable():(_c=this.marker.dragging)==null||_c.disable()},createMarkerIcon(){return L$1.divIcon({className:"georef-marker",html:'<div class="georef-marker-dot"></div>',iconSize:[24,24],iconAnchor:[12,12]})},initMap(){const el=document.getElementById("georef-map");!el||this.map||(this.map=L$1.map(el,{zoomControl:!0,attributionControl:!1}),L$1.tileLayer("https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png",{attribution:"",subdomains:"abcd",maxZoom:20}).addTo(this.map),this.map.on("click",e=>{var _a;(_a=this.geoSnapshot)!=null&&_a.site&&this.applyCoordsFromMap(Number(e.latlng.lat.toFixed(6)),Number(e.latlng.lng.toFixed(6)))}),this.syncMarkerFromForm(!0),this.refreshMapSize())},refreshMapSize(){this.$nextTick(()=>{setTimeout(()=>{var _a;return(_a=this.map)==null?void 0:_a.invalidateSize()},50),setTimeout(()=>{var _a;return(_a=this.map)==null?void 0:_a.invalidateSize()},250)})},destroyMap(){this.map&&(this.map.remove(),this.map=null,this.marker=null)},syncMarkerFromForm(fitBounds){var _a;if(!this.map)return;const lat=Number(this.form.latitude),lon=Number(this.form.longitude);if(!Number.isFinite(lat)||!Number.isFinite(lon)){this.marker&&(this.map.removeLayer(this.marker),this.marker=null),this.map.setView(DEFAULT_CENTER,DEFAULT_ZOOM);return}const latLng=[lat,lon];this.marker?(this.marker.setLatLng(latLng),this.syncMarkerDragState()):(this.marker=L$1.marker(latLng,{draggable:!!((_a=this.geoSnapshot)!=null&&_a.site)&&!this.mapLocationLocked,icon:this.createMarkerIcon()}).addTo(this.map),this.marker.on("dragend",()=>{var _a2;const pos=(_a2=this.marker)==null?void 0:_a2.getLatLng();pos&&this.applyCoordsFromMap(Number(pos.lat.toFixed(6)),Number(pos.lng.toFixed(6)))}
4),this.syncMarkerDragState()),fitBounds&&this.map.setView(latLng,FOCUSED_ZOOM)},parseNumber(value){if(value===""||value===null||value===void 0)return null;const n=Number(value);return Number.isFinite(n)?n:null},saveField(key){if(!this.ifcApi||this.modelID<0||!this.geoSnapshot)return;const draftVal=this.editDraft[key];this.form[key]=draftVal;try{if(key==="siteName")this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{siteName:String(draftVal)}),this.notify("Site name saved");else if(key==="landTitleNumber")this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{landTitleNumber:String(draftVal)}),this.notify("Land title saved");else if(key==="latitudeDms"||key==="longitudeDms"){const compound=parseDmsToCompound(String(draftVal));if(!compound)throw new Error(`Invalid DMS format. Use e.g. 55° 44' 59.999999"`);this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{latitudeCompound:key==="latitudeDms"?compound:void 0,longitudeCompound:key==="longitudeDms"?compound:void 0}),this.syncMarkerFromForm(!0),this.notify("DMS coordinates saved")}else if(["latitude","longitude","elevation"].includes(key)){const lat=this.parseNumber(this.form.latitude),lon=this.parseNumber(this.form.longitude);if(lat==null||lon==null)throw new Error("Latitude and longitude are required");this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{latitude:lat,longitude:lon,elevation:this.parseNumber(this.form.elevation)}),this.syncMarkerFromForm(!0),this.notify("Site coordinates saved")}else if(["placementX","placementY","placementZ"].includes(key))this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{placementX:this.parseNumber(this.form.placementX),placementY:this.parseNumber(this.form.placementY),placementZ:this.parseNumber(this.form.placementZ)}),this.notify("Site placement saved");else if(MAP_CONVERSION_FIELDS.some(f=>f.key===key))this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{mapConversion:{eastings:this.parseNumber(this.form.eastings),northings:this.parseNumber(this.form.northings),orthogonalHeight:this.parseNumber(this.form.orthogonalHeight),xAxisAbscissa:this.parseNumber(this.form.xAxisAbscissa),xAxisOrdinate:this.parseNumber(this.form.xAxisOrdinate),scale:this.parseNumber(this.form.scale)}}),this.notify("Map conversion saved");else if(CRS_FIELDS.some(f=>f.key===key))this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{projectedCrs:{name:this.form.crsName||null,description:this.form.crsDescription||null,geodeticDatum:this.form.geodeticDatum||null,verticalDatum:this.form.verticalDatum||null,mapProjection:this.form.mapProjection||null,mapZone:this.form.mapZone||null,mapUnit:this.form.mapUnit||null}}),this.notify("Projected CRS saved");else if(key.startsWith("ctx_")){const parsed=this.parseContextFieldKey(key);if(!parsed)throw new Error("Invalid context field");const{expressId,field}=parsed;field==="trueNorthX"||field==="trueNorthY"?(this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{trueNorth:{expressId,x:this.parseNumber(this.form[`ctx_${expressId}_trueNorthX`]),y:this.parseNumber(this.form[`ctx_${expressId}_trueNorthY`])}}),this.notify("True north saved")):(this.geoSnapshot=applyGeoReferenceEdits(this.ifcApi,this.modelID,this.geoSnapshot,{geoContext:{expressId,contextType:field==="type"?String(this.form[`ctx_${expressId}_type`]):void 0,coordinateSpaceDimension:field==="dimensions"?this.parseNumber(this.form[`ctx_${expressId}_dimensions`]):void 0,precision:field==="precision"?this.parseNumber(this.form[`ctx_${expressId}_precision`]):void 0}}),this.notify("Geo context saved"))}this.populateFormFromSnapshot(this.geoSnapshot),this.editingField=null}catch(e){this.notify(e.message||"Failed to save",!1)}},async searchLocation(){const q=this.searchQuery.trim();if(q){this.isSearching=!0;try{const url=`https://nominatim.openstreetmap.org/search?format=json&limit=1&q=${encodeURIComponent(q)}`,res=await fetch(url,{headers:{Accept:"application/json"}});if(!res.ok)throw new Error("Location search failed");const results=await res.json();if(!(results!=null&&results.length))throw new Error("No results found");const{lat,lon,display_name:label}=results[0];this.applyCoordsFromMap(Number(Number(lat).toFixed(6)),Number(Number(lon).toFixed(6)),`Location found: ${label}`)}catch(e){this.notify(e.message||"Search failed",!1)}finally{this.isSearching=!1}}},downloadModel(){if(!(!this.canDownload||!this.ifcApi||this.modelID<0))try{const data=this.ifcApi.SaveModel(this.modelID),blob=new Blob([data],{type:"application/octet-stream"}),url=URL.createObjectURL(blob),a=document.createElement("a");a.href=url,a.download=this.ifcName.replace(/\.ifc$/i,"_georef.ifc"),a.click(),URL.revokeObjectURL(url),this.notify("Model saved and downloaded")}catch(e){this.notify(`Failed to save model: ${e.message}`,!1)}},resetAll(){var _a;if(this.canReset){if(this.cancelEdit(),this.destroyMap(),this.ifcApi&&this.modelID>=0)try{this.ifcApi.CloseModel(this.modelID)}catch{}(_a=this.ifcApi)==null||_a.Dispose(),this.ifcApi=null,this.modelID=-1,this.ifcBytes=null,this.ifcName="",this.ifcSizeMb="0.00",this.modelLoaded=!1,this.modelSchema="",this.geoSnapshot=null,this.hasError=!1,this.errorMessage="",this.searchQuery="",this.activeTab="site",this.mapLocationLocked=!1,this.editDraft={},this.form={}}}}}),_hoisted_1={class:"georef-page flex flex-col h-screen overflow-hidden"},_hoisted_2={class:"flex flex-col flex-1 min-h-0 overflow-hidden p-4 box-border"},_hoisted_3={class:"georef-layout flex-1 min-h-0"},_hoisted_4={class:"workspace flex flex-col flex-1 min-h-0 gap-4"},_hoisted_5={class:"panel p-4 main-panel flex flex-col flex-1 min-h-0"},_hoisted_6={class:"flex items-center justify-between mb-3 shrink-0"},_hoisted_7={key:0,class:"flex items-center gap-2"},_hoisted_8={key:0,class:"split-view flex flex-1 min-h-0 gap-3"},_hoisted_9={class:"map-pane flex flex-col flex-1 min-w-0 min-h-0"},_hoisted_10={class:"map-shell flex flex-col flex-1 min-h-0"},_hoisted_11={class:"map-toolbar shrink-0"},_hoisted_12={class:"search-wrap"},_hoisted_13=["disabled"],_hoisted_14={class:"map-toolbar-actions"},_hoisted_15=["title"],_hoisted_16={class:"map-hint text-xs text-zinc-500"},_hoisted_17={key:0,class:"map-empty-overlay"},_hoisted_18={class:"map-empty-card"},_hoisted_19={class:"tabs-pane flex flex-col flex-1 min-w-0 min-h-0"},_hoisted_20={class:"tab-head shrink-0"},_hoisted_21={class:"tab-body flex-1 min-h-0 overflow-y-auto pr-1 pt-2 pb-1"},_hoisted_22={class:"info-list"},_hoisted_23={class:"info-label"},_hoisted_24=["onUpdate:modelValue","type"],_hoisted_25={key:3,class:"field-actions"},_hoisted_26=["onClick"],_hoisted_27=["onClick"],_hoisted_28={key:0,class:"text-xs text-amber-300 mt-2"},_hoisted_29={key:0,class:"section-block"},_hoisted_30={class:"info-list"},_hoisted_31={class:"info-label"},_hoisted_32=["onUpdate:modelValue","type"],_hoisted_33={class:"field-actions"},_hoisted_34=["onClick"],_hoisted_35=["onClick"],_hoisted_36={key:1,class:"section-block mt-3"},_hoisted_37={class:"info-list"},_hoisted_38={class:"info-label"},_hoisted_39=["onUpdate:modelValue"],_hoisted_40={key:1,class:"info-value mono"},_hoisted_41={class:"field-actions"},_hoisted_42=["onClick"],_hoisted_43=["onClick"],_hoisted_44={key:1,class:"flex flex-col items-center justify-center py-10 text-zinc-500"},_hoisted_45={class:"section-title"},_hoisted_46={class:"info-list"},_hoisted_47={class:"info-label"},_hoisted_48=["onUpdate:modelValue","type"],_hoisted_49={class:"field-actions"},_hoisted_50=["onClick"],_hoisted_51=["onClick"],_hoisted_52={key:1,class:"flex flex-col items-center justify-center py-10 text-zinc-500"},_hoisted_53={key:1,class:"flex flex-col items-center justify-center flex-1 text-zinc-500"},_hoisted_54={class:"panel p-4 side-panel flex flex-col min-h-0"},_hoisted_55={class:"flex flex-col flex-1 justify-between min-h-0"},_hoisted_56={class:"flex flex-col gap-3 overflow-y-auto"},_hoisted_57={class:"upload-stack"},_hoisted_58={key:0,class:"upload-slot"},_hoisted_59={key:1,class:"upload-meta"},_hoisted_60={class:"flex items-center justify-between"},_hoisted_61={class:"text-zinc-500"},_hoisted_62={key:0,class:"panel-sub"},_hoisted_63={class:"kv"},_hoisted_64={class:"text-white"},_hoisted_65={class:"kv"},_hoisted_66={class:"text-white text-right"},_hoisted_67={class:"flex flex-col gap-2 shrink-0 mt-3"},_hoisted_68=["disabled"],_hoisted_69=["disabled"],_hoisted_70={key:0,class:"text-red-400 text-sm mt-2"};function render8(_ctx,_cache,$props,$setup,$data,$options){var _a,_b,_c,_d,_e,_f,_g,_h,_i;const _component_bbx_header=resolveComponent("bbx-header"),_component_SearchOutline=resolveComponent("SearchOutline"),_component_n_icon=resolveComponent("n-icon"),_component_LockClosedOutline=resolveComponent("LockClosedOutline"),_component_LockOpenOutline=resolveComponent("LockOpenOutline"),_component_LocationOutline=resolveComponent("LocationOutline"),_component_CheckmarkOutline=resolveComponent("CheckmarkOutline"),_component_CloseOutline=resolveComponent("CloseOutline"),_component_CreateOutline=resolveComponent("CreateOutline"),_component_EarthOutline=resolveComponent("EarthOutline"),_component_bbx_dropZone=resolveComponent("bbx-dropZone"),_component_DownloadOutline=resolveComponent("DownloadOutline"),_component_TrashBinOutline=resolveComponent("TrashBinOutline");return openBlock(),createElementBlock("div",_hoisted_1,[createVNode(_component_bbx_header),createBaseVNode("div",_hoisted_2,[createBaseVNode("div",_hoisted_3,[createBaseVNode("div",_hoisted_4,[_cache[22]||(_cac
4he[22]=createBaseVNode("div",{class:"demo-context-notice shrink-0 rounded-lg p-3 bg-amber-500 bg-opacity-15 border border-amber-500 border-opacity-30"},[createBaseVNode("span",{class:"text-amber-200 text-xs font-medium"},"Youâre using a limited demo version. Fully custom versions tailored to your workflow are available on request.")],-1)),createBaseVNode("div",_hoisted_5,[createBaseVNode("div",_hoisted_6,[_cache[13]||(_cache[13]=createBaseVNode("h3",{class:"panel-title m-0"},"Georeference overview",-1)),_ctx.modelLoaded?(openBlock(),createElementBlock("div",_hoisted_7,[createBaseVNode("span",{class:normalizeClass(["status-pill",(_a=_ctx.geoSnapshot)!=null&&_a.hasCoordinates?"status-pill--ok":"status-pill--warn"])},toDisplayString((_b=_ctx.geoSnapshot)!=null&&_b.hasCoordinates?"Coordinates found":"No coordinates"),3)])):createCommentVNode("",!0)]),_ctx.modelLoaded?(openBlock(),createElementBlock("div",_hoisted_8,[createBaseVNode("div",_hoisted_9,[createBaseVNode("div",_hoisted_10,[createBaseVNode("div",_hoisted_11,[createBaseVNode("div",_hoisted_12,[createVNode(_component_n_icon,{class:"search-icon",size:"16"},{default:withCtx(()=>[createVNode(_component_SearchOutline)]),_:1}),withDirectives(createBaseVNode("input",{class:"search-input","onUpdate:modelValue":_cache[0]||(_cache[0]=$event=>_ctx.searchQuery=$event),placeholder:"Search locationâ¦",onKeydown:_cache[1]||(_cache[1]=withKeys(withModifiers((...args)=>_ctx.searchLocation&&_ctx.searchLocation(...args),["prevent"]),["enter"]))},null,544),[[vModelText,_ctx.searchQuery]]),createBaseVNode("button",{class:"btn-ghost-sm",type:"button",disabled:_ctx.isSearching||!_ctx.searchQuery.trim(),onClick:_cache[2]||(_cache[2]=(...args)=>_ctx.searchLocation&&_ctx.searchLocation(...args))},"Go",8,_hoisted_13)]),createBaseVNode("div",_hoisted_14,[createBaseVNode("button",{class:normalizeClass(["map-lock-btn",{"map-lock-btn--locked":_ctx.mapLocationLocked}]),type:"button",title:_ctx.mapLocationLocked?"Unlock point movement":"Lock point movement",onClick:_cache[3]||(_cache[3]=(...args)=>_ctx.toggleMapLocationLock&&_ctx.toggleMapLocationLock(...args))},[createVNode(_component_n_icon,{size:"14"},{default:withCtx(()=>[_ctx.mapLocationLocked?(openBlock(),createBlock(_component_LockClosedOutline,{key:0})):(openBlock(),createBlock(_component_LockOpenOutline,{key:1}))]),_:1})],10,_hoisted_15),createBaseVNode("span",_hoisted_16,toDisplayString(_ctx.mapLocationLocked?"Point locked":"Click map or drag marker to set coordinates"),1)])]),_cache[16]||(_cache[16]=createBaseVNode("div",{class:"map-canvas",id:"georef-map"},null,-1)),_ctx.hasMapPosition?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_17,[createBaseVNode("div",_hoisted_18,[createVNode(_component_n_icon,{size:"28",color:"#a1a1aa"},{default:withCtx(()=>[createVNode(_component_LocationOutline)]),_:1}),_cache[14]||(_cache[14]=createBaseVNode("p",{class:"text-sm text-zinc-300 m-0"},"No WGS84 coordinates in this file",-1)),_cache[15]||(_cache[15]=createBaseVNode("p",{class:"text-xs text-zinc-500 m-0"},"Click the map or use search to assign a location",-1))])]))])]),createBaseVNode("div",_hoisted_19,[createBaseVNode("div",_hoisted_20,[createBaseVNode("button",{class:normalizeClass(["tab-btn",{"tab-btn--active":_ctx.activeTab==="site"}]),type:"button",onClick:_cache[4]||(_cache[4]=$event=>_ctx.activeTab="site")},"Site",2),createBaseVNode("button",{class:normalizeClass(["tab-btn",{"tab-btn--active":_ctx.activeTab==="crs"}]),type:"button",onClick:_cache[5]||(_cache[5]=$event=>_ctx.activeTab="crs")},"CRS & conversion",2),createBaseVNode("button",{class:normalizeClass(["tab-btn",{"tab-btn--active":_ctx.activeTab==="context"}]),type:"button",onClick:_cache[6]||(_cache[6]=$event=>_ctx.activeTab="context")},"Geo context",2)]),createBaseVNode("div",_hoisted_21,[_ctx.activeTab==="site"?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("div",_hoisted_22,[(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.siteFieldDefs,field=>(openBlock(),createElementBlock("div",{class:normalizeClass(["info-row",{"info-row--editing":_ctx.editingField===field.key}]),key:field.key},[createBaseVNode("span",_hoisted_23,toDisplayString(field.label),1),field.readOnly?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(["info-value",{mono:field.mono}])},toDisplayString(_ctx.getFieldDisplay(field)),3)):_ctx.editingField===field.key?withDirectives((openBlock(),createElementBlock("input",{key:1,class:"field-input","onUpdate:modelValue":$event=>_ctx.editDraft[field.key]=$event,type:field.type||"text",step:"any"},null,8,_hoisted_24)),[[vModelDynamic,_ctx.editDraft[field.key]]]):(openBlock(),createElementBlock("span",{key:2,class:normalizeClass(["info-value",{mono:field.mono}])},toDisplayString(_ctx.getFieldDisplay(field)),3)),field.readOnly?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_25,[_ctx.editingField===field.key?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("button",{class:"icon-btn icon-btn--save",type:"button",title:"Save",onClick:$event=>_ctx.saveField(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CheckmarkOutline)]),_:1})],8,_hoisted_26),createBaseVNode("button",{class:"icon-btn icon-btn--cancel",type:"button",title:"Cancel",onClick:_cache[7]||
4(_cache[7]=(...args)=>_ctx.cancelEdit&&_ctx.cancelEdit(...args))},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CloseOutline)]),_:1})])],64)):(openBlock(),createElementBlock("button",{key:1,class:"icon-btn",type:"button",title:"Edit",onClick:$event=>_ctx.startEdit(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CreateOutline)]),_:1})],8,_hoisted_27))]))],2))),128))]),(_c=_ctx.geoSnapshot)!=null&&_c.site?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_28,"This IFC has no IfcSite entity. WGS84 editing requires a site in the spatial structure."))],64)):_ctx.activeTab==="crs"?(openBlock(),createElementBlock(Fragment,{key:1},[(_d=_ctx.geoSnapshot)!=null&&_d.projectedCrs||(_e=_ctx.geoSnapshot)!=null&&_e.mapConversion?(openBlock(),createElementBlock(Fragment,{key:0},[(_f=_ctx.geoSnapshot)!=null&&_f.projectedCrs?(openBlock(),createElementBlock("div",_hoisted_29,[_cache[17]||(_cache[17]=createBaseVNode("h4",{class:"section-title"},"IfcProjectedCRS",-1)),createBaseVNode("div",_hoisted_30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.crsFieldDefs,field=>(openBlock(),createElementBlock("div",{class:normalizeClass(["info-row",{"info-row--editing":_ctx.editingField===field.key}]),key:field.key},[createBaseVNode("span",_hoisted_31,toDisplayString(field.label),1),_ctx.editingField===field.key?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"field-input","onUpdate:modelValue":$event=>_ctx.editDraft[field.key]=$event,type:field.type||"text",step:"any"},null,8,_hoisted_32)),[[vModelDynamic,_ctx.editDraft[field.key]]]):(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(["info-value",{mono:field.mono}])},toDisplayString(_ctx.getFieldDisplay(field)),3)),createBaseVNode("div",_hoisted_33,[_ctx.editingField===field.key?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("button",{class:"icon-btn icon-btn--save",type:"button",title:"Save",onClick:$event=>_ctx.saveField(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CheckmarkOutline)]),_:1})],8,_hoisted_34),createBaseVNode("button",{class:"icon-btn icon-btn--cancel",type:"button",title:"Cancel",onClick:_cache[8]||(_cache[8]=(...args)=>_ctx.cancelEdit&&_ctx.cancelEdit(...args))},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CloseOutline)]),_:1})])],64)):(openBlock(),createElementBlock("button",{key:1,class:"icon-btn",type:"button",title:"Edit",onClick:$event=>_ctx.startEdit(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CreateOutline)]),_:1})],8,_hoisted_35))])],2))),128))])])):createCommentVNode("",!0),(_g=_ctx.geoSnapshot)!=null&&_g.mapConversion?(openBlock(),createElementBlock("div",_hoisted_36,[_cache[18]||(_cache[18]=createBaseVNode("h4",{class:"section-title"},"IfcMapConversion",-1)),createBaseVNode("div",_hoisted_37,[(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.mapConversionFieldDefs,field=>(openBlock(),createElementBlock("div",{class:normalizeClass(["info-row",{"info-row--editing":_ctx.editingField===field.key}]),key:field.key},[createBaseVNode("span",_hoisted_38,toDisplayString(field.label),1),_ctx.editingField===field.key?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"field-input mono","onUpdate:modelValue":$event=>_ctx.editDraft[field.key]=$event,type:"number",step:"any"},null,8,_hoisted_39)),[[vModelText,_ctx.editDraft[field.key]]]):(openBlock(),createElementBlock("span",_hoisted_40,toDisplayString(_ctx.getFieldDisplay(field)),1)),createBaseVNode("div",_hoisted_41,[_ctx.editingField===field.key?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("button",{class:"icon-btn icon-btn--save",type:"button",title:"Save",onClick:$event=>_ctx.saveField(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CheckmarkOutline)]),_:1})],8,_hoisted_42),createBaseVNode("button",{class:"icon-btn icon-btn--cancel",type:"button",title:"Cancel",onClick:_cache[9]||(_cac
4he[9]=(...args)=>_ctx.cancelEdit&&_ctx.cancelEdit(...args))},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CloseOutline)]),_:1})])],64)):(openBlock(),createElementBlock("button",{key:1,class:"icon-btn",type:"button",title:"Edit",onClick:$event=>_ctx.startEdit(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CreateOutline)]),_:1})],8,_hoisted_43))])],2))),128))])])):createCommentVNode("",!0)],64)):(openBlock(),createElementBlock("div",_hoisted_44,[..._cache[19]||(_cache[19]=[createBaseVNode("p",{class:"text-sm"},"No projected CRS or map conversion entities in this file.",-1)])]))],64)):(openBlock(),createElementBlock(Fragment,{key:2},[(_i=(_h=_ctx.geoSnapshot)==null?void 0:_h.geoContexts)!=null&&_i.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(_ctx.geoSnapshot.geoContexts,ctx=>(openBlock(),createElementBlock("div",{class:"section-block",key:ctx.expressId},[createBaseVNode("h4",_hoisted_45,"Context #"+toDisplayString(ctx.expressId),1),createBaseVNode("div",_hoisted_46,[(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.contextFieldDefs(ctx),field=>(openBlock(),createElementBlock("div",{class:normalizeClass(["info-row",{"info-row--editing":_ctx.editingField===field.key}]),key:field.key},[createBaseVNode("span",_hoisted_47,toDisplayString(field.label),1),_ctx.editingField===field.key?withDirectives((openBlock(),createElementBlock("input",{key:0,class:"field-input","onUpdate:modelValue":$event=>_ctx.editDraft[field.key]=$event,type:field.type||"text",step:"any"},null,8,_hoisted_48)),[[vModelDynamic,_ctx.editDraft[field.key]]]):(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(["info-value",{mono:field.mono}])},toDisplayString(_ctx.getFieldDisplay(field)),3)),createBaseVNode("div",_hoisted_49,[_ctx.editingField===field.key?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("button",{class:"icon-btn icon-btn--save",type:"button",title:"Save",onClick:$event=>_ctx.saveField(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CheckmarkOutline)]),_:1})],8,_hoisted_50),createBaseVNode("button",{class:"icon-btn icon-btn--cancel",type:"button",title:"Cancel",onClick:_cache[10]||(_cache[10]=(...args)=>_ctx.cancelEdit&&_ctx.cancelEdit(...args))},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CloseOutline)]),_:1})])],64)):(openBlock(),createElementBlock("button",{key:1,class:"icon-btn",type:"button",title:"Edit",onClick:$event=>_ctx.startEdit(field.key)},[createVNode(_component_n_icon,{size:"12"},{default:withCtx(()=>[createVNode(_component_CreateOutline)]),_:1})],8,_hoisted_51))])],2))),128))])]))),128)):(openBlock(),createElementBlock("div",_hoisted_52,[..._cache[20]||(_cache[20]=[createBaseVNode("p",{class:"text-sm"},"No geometric representation context found.",-1)])]))],64))])])])):(openBlock(),createElementBlock("div",_hoisted_53,[createVNode(_component_n_icon,{class:"mb-3",size:"40",color:"#52525b"},{default:withCtx(()=>[createVNode(_component_EarthOutline)]),_:1}),_cache[21]||(_cache[21]=createBaseVNode("p",{class:"text-sm"},"Upload an IFC file to inspect its georeference.",-1))]))])]),createBaseVNode("div",_hoisted_54,[_cache[28]||(_cache[28]=createBaseVNode("div",{class:"shrink-0 flex items-baseline gap-4 pt-4 pb-2 justify-center"},[createBaseVNode("h1",{class:"drop-shadow-xl text-white shrink-0 my-1"},"IFC Geo Editor")],-1)),createBaseVNode("div",_hoisted_55,[createBaseVNode("div",_hoisted_56,[createBaseVNode("div",_hoisted_57,[_ctx.ifcBytes?(openBlock(),createElementBlock("div",_hoisted_59,[createBaseVNode("div",_hoisted_60,[createBaseVNode("span",null,"IFC loaded: "+toDisplayString(_ctx.ifcName),1),createBaseVNode("span",_hoisted_61,toDisplayString(_ctx.ifcSizeMb)+" MB",1)])])):(openBlock(),createElementBlock("div",_hoisted_58,[createVNode(_component_bbx_dropZone,{isIdle:!_ctx.isProcessing,content:"Upload IFC file",onOnChange:_ctx.onDropIfc,format:".ifc, .Ifc, .IFC"},null,8,["isIdle","onOnChange"])]))]),_ctx.modelLoaded?(openBlock(),createElementBlock("div",_hoisted_62,[_cache[25]||(_cache[25]=createBaseVNode("span",{class:"text-xs text-zinc-300 font-semibold mb-2 block"},"Model info",-1)),createBaseVNode("div",_hoisted_63,[_cache[23]||(_cac
4he[23]=createBaseVNode("span",{class:"text-zinc-400"},"Schema",-1)),createBaseVNode("span",_hoisted_64,toDisplayString(_ctx.modelSchema),1)]),createBaseVNode("div",_hoisted_65,[_cache[24]||(_cache[24]=createBaseVNode("span",{class:"text-zinc-400"},"Summary",-1)),createBaseVNode("span",_hoisted_66,toDisplayString(_ctx.display.summary),1)])])):createCommentVNode("",!0)]),createBaseVNode("div",_hoisted_67,[createBaseVNode("button",{class:"button-neon w-full flex items-center justify-center gap-2",type:"button",disabled:!_ctx.canDownload,onClick:_cache[11]||(_cache[11]=(...args)=>_ctx.downloadModel&&_ctx.downloadModel(...args))},[createVNode(_component_n_icon,{size:"18"},{default:withCtx(()=>[createVNode(_component_DownloadOutline)]),_:1}),_cache[26]||(_cache[26]=createTextVNode("Download edited IFC",-1))],8,_hoisted_68),createBaseVNode("button",{class:"button-neon-secondary w-full flex items-center justify-center gap-2",type:"button",disabled:!_ctx.canReset,onClick:_cache[12]||(_cache[12]=(...args)=>_ctx.resetAll&&_ctx.resetAll(...args))},[createVNode(_component_n_icon,{size:"18"},{default:withCtx(()=>[createVNode(_component_TrashBinOutline)]),_:1}),_cache[27]||(_cache[27]=createTextVNode("Reset",-1))],8,_hoisted_69)])])])]),_ctx.hasError?(openBlock(),createElementBlock("div",_hoisted_70,toDisplayString(_ctx.errorMessage),1)):createCommentVNode("",!0)])])}__name(render8,"render");const IFCGeoref=_export_sfc(_sfc_main,[["render",render8],["__scopeId","data-v-d1ee41a4"]]);export{IFCGeoref as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.