@elaraai/e3-ui-cli 1.0.35 → 1.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as fi,g as dt,a as Qr,h as Or,b as Zr,l as Rr,c as Fr,m as Nr,j as Gr,d as Hr,f as Ur,i as Wr,e as Yr,k as jr}from"./index-
|
|
1
|
+
import{r as fi,g as dt,a as Qr,h as Or,b as Zr,l as Rr,c as Fr,m as Nr,j as Gr,d as Hr,f as Ur,i as Wr,e as Yr,k as jr}from"./index-DeQMM3WK.js";var L0={exports:{}};/* @preserve
|
|
2
2
|
* Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
|
|
3
3
|
* (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
|
4
4
|
*/var Vr=L0.exports,pr;function Kr(){return pr||(pr=1,(function(N,b){(function(O,hA){hA(b)})(Vr,(function(O){var hA="1.9.4";function q(i){var s,h,_,m;for(h=1,_=arguments.length;h<_;h++){m=arguments[h];for(s in m)i[s]=m[s]}return i}var At=Object.create||(function(){function i(){}return function(s){return i.prototype=s,new i}})();function wA(i,s){var h=Array.prototype.slice;if(i.bind)return i.bind.apply(i,h.call(arguments,1));var _=h.call(arguments,2);return function(){return i.apply(s,_.length?_.concat(h.call(arguments)):arguments)}}var jA=0;function bA(i){return"_leaflet_id"in i||(i._leaflet_id=++jA),i._leaflet_id}function Nt(i,s,h){var _,m,v,E;return E=function(){_=!1,m&&(v.apply(h,m),m=!1)},v=function(){_?m=arguments:(i.apply(h,arguments),setTimeout(E,s),_=!0)},v}function Lt(i,s,h){var _=s[1],m=s[0],v=_-m;return i===_&&h?i:((i-m)%v+v)%v+m}function NA(){return!1}function VA(i,s){if(s===!1)return i;var h=Math.pow(10,s===void 0?6:s);return Math.round(i*h)/h}function ae(i){return i.trim?i.trim():i.replace(/^\s+|\s+$/g,"")}function Et(i){return ae(i).split(/\s+/)}function LA(i,s){Object.prototype.hasOwnProperty.call(i,"options")||(i.options=i.options?At(i.options):{});for(var h in s)i.options[h]=s[h];return i.options}function SA(i,s,h){var _=[];for(var m in i)_.push(encodeURIComponent(h?m.toUpperCase():m)+"="+encodeURIComponent(i[m]));return(!s||s.indexOf("?")===-1?"?":"&")+_.join("&")}var pt=/\{ *([\w_ -]+) *\}/g;function X(i,s){return i.replace(pt,function(h,_){var m=s[_];if(m===void 0)throw new Error("No value provided for variable "+h);return typeof m=="function"&&(m=m(s)),m})}var HA=Array.isArray||function(i){return Object.prototype.toString.call(i)==="[object Array]"};function XA(i,s){for(var h=0;h<i.length;h++)if(i[h]===s)return h;return-1}var tt="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function KA(i){return window["webkit"+i]||window["moz"+i]||window["ms"+i]}var Ct=0;function et(i){var s=+new Date,h=Math.max(0,16-(s-Ct));return Ct=s+h,window.setTimeout(i,h)}var Dt=window.requestAnimationFrame||KA("RequestAnimationFrame")||et,pe=window.cancelAnimationFrame||KA("CancelAnimationFrame")||KA("CancelRequestAnimationFrame")||function(i){window.clearTimeout(i)};function UA(i,s,h){if(h&&Dt===et)i.call(s);else return Dt.call(window,wA(i,s))}function GA(i){i&&pe.call(window,i)}var It={__proto__:null,extend:q,create:At,bind:wA,get lastId(){return jA},stamp:bA,throttle:Nt,wrapNum:Lt,falseFn:NA,formatNum:VA,trim:ae,splitWords:Et,setOptions:LA,getParamString:SA,template:X,isArray:HA,indexOf:XA,emptyImageUrl:tt,requestFn:Dt,cancelFn:pe,requestAnimFrame:UA,cancelAnimFrame:GA};function st(){}st.extend=function(i){var s=function(){LA(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},h=s.__super__=this.prototype,_=At(h);_.constructor=s,s.prototype=_;for(var m in this)Object.prototype.hasOwnProperty.call(this,m)&&m!=="prototype"&&m!=="__super__"&&(s[m]=this[m]);return i.statics&&q(s,i.statics),i.includes&&(xt(i.includes),q.apply(null,[_].concat(i.includes))),q(_,i),delete _.statics,delete _.includes,_.options&&(_.options=h.options?At(h.options):{},q(_.options,i.options)),_._initHooks=[],_.callInitHooks=function(){if(!this._initHooksCalled){h.callInitHooks&&h.callInitHooks.call(this),this._initHooksCalled=!0;for(var v=0,E=_._initHooks.length;v<E;v++)_._initHooks[v].call(this)}},s},st.include=function(i){var s=this.prototype.options;return q(this.prototype,i),i.options&&(this.prototype.options=s,this.mergeOptions(i.options)),this},st.mergeOptions=function(i){return q(this.prototype.options,i),this},st.addInitHook=function(i){var s=Array.prototype.slice.call(arguments,1),h=typeof i=="function"?i:function(){this[i].apply(this,s)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(h),this};function xt(i){if(!(typeof L>"u"||!L||!L.Mixin)){i=HA(i)?i:[i];for(var s=0;s<i.length;s++)i[s]===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)}}var ht={on:function(i,s,h){if(typeof i=="object")for(var _ in i)this._on(_,i[_],s);else{i=Et(i);for(var m=0,v=i.length;m<v;m++)this._on(i[m],s,h)}return this},off:function(i,s,h){if(!arguments.length)delete this._events;else if(typeof i=="object")for(var _ in i)this._off(_,i[_],s);else{i=Et(i);for(var m=arguments.length===1,v=0,E=i.length;v<E;v++)m?this._off(i[v]):this._off(i[v],s,h)}return this},_on:function(i,s,h,_){if(typeof s!="function"){console.warn("wrong listener type: "+typeof s);return}if(this._listens(i,s,h)===!1){h===this&&(h=void 0);var m={fn:s,ctx:h};_&&(m.once=!0),this._events=this._events||{},this._events[i]=this._events[i]||[],this._events[i].push(m)}},_off:function(i,s,h){var _,m,v;if(this._events&&(_=this._events[i],!!_)){if(arguments.length===1){if(this._firingCount)for(m=0,v=_.length;m<v;m++)_[m].fn=NA;delete this._events[i];return}if(typeof s!="function"){console.warn("wrong listener type: "+typeof s);return}var E=this._listens(i,s,h);if(E!==!1){var I=_[E];this._firingCount&&(I.fn=NA,this._events[i]=_=_.slice()),_.splice(E,1)}}},fire:function(i,s,h){if(!this.listens(i,h))return this;var _=q({},s,{type:i,target:this,sourceTarget:s&&s.sourceTarget||this});if(this._events){var m=this._events[i];if(m){this._firingCount=this._firingCount+1||1;for(var v=0,E=m.length;v<E;v++){var I=m[v],S=I.fn;I.once&&this.off(i,S,I.ctx),S.call(I.ctx||this,_)}this._firingCount--}}return h&&this._propagateEvent(_),this},listens:function(i,s,h,_){typeof i!="string"&&console.warn('"string" type argument expected');var m=s;typeof s!="function"&&(_=!!s,m=void 0,h=void 0);var v=this._events&&this._events[i];if(v&&v.length&&this._listens(i,m,h)!==!1)return!0;if(_){for(var E in this._eventParents)if(this._eventParents[E].listens(i,s,h,_))return!0}return!1},_listens:function(i,s,h){if(!this._events)return!1;var _=this._events[i]||[];if(!s)return!!_.length;h===this&&(h=void 0);for(var m=0,v=_.length;m<v;m++)if(_[m].fn===s&&_[m].ctx===h)return m;return!1},once:function(i,s,h){if(typeof i=="object")for(var _ in i)this._on(_,i[_],s,!0);else{i=Et(i);for(var m=0,v=i.length;m<v;m++)this._on(i[m],s,h,!0)}return this},addEventParent:function(i){return this._eventParents=this._eventParents||{},this._eventParents[bA(i)]=i,this},removeEventParent:function(i){return this._eventParents&&delete this._eventParents[bA(i)],this},_propagateEvent:function(i){for(var s in this._eventParents)this._eventParents[s].fire(i.type,q({layer:i.target,propagatedFrom:i.target},i),!0)}};ht.addEventListener=ht.on,ht.removeEventListener=ht.clearAllEventListeners=ht.off,ht.addOneTimeEventListener=ht.once,ht.fireEvent=ht.fire,ht.hasEventListeners=ht.listens;var ee=st.extend(ht);function uA(i,s,h){this.x=h?Math.round(i):i,this.y=h?Math.round(s):s}var E0=Math.trunc||function(i){return i>0?Math.floor(i):Math.ceil(i)};uA.prototype={clone:function(){return new uA(this.x,this.y)},add:function(i){return this.clone()._add(_A(i))},_add:function(i){return this.x+=i.x,this.y+=i.y,this},subtract:function(i){return this.clone()._subtract(_A(i))},_subtract:function(i){return this.x-=i.x,this.y-=i.y,this},divideBy:function(i){return this.clone()._divideBy(i)},_divideBy:function(i){return this.x/=i,this.y/=i,this},multiplyBy:function(i){return this.clone()._multiplyBy(i)},_multiplyBy:function(i){return this.x*=i,this.y*=i,this},scaleBy:function(i){return new uA(this.x*i.x,this.y*i.y)},unscaleBy:function(i){return new uA(this.x/i.x,this.y/i.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=E0(this.x),this.y=E0(this.y),this},distanceTo:function(i){i=_A(i);var s=i.x-this.x,h=i.y-this.y;return Math.sqrt(s*s+h*h)},equals:function(i){return i=_A(i),i.x===this.x&&i.y===this.y},contains:function(i){return i=_A(i),Math.abs(i.x)<=Math.abs(this.x)&&Math.abs(i.y)<=Math.abs(this.y)},toString:function(){return"Point("+VA(this.x)+", "+VA(this.y)+")"}};function _A(i,s,h){return i instanceof uA?i:HA(i)?new uA(i[0],i[1]):i==null?i:typeof i=="object"&&"x"in i&&"y"in i?new uA(i.x,i.y):new uA(i,s,h)}function WA(i,s){if(i)for(var h=s?[i,s]:i,_=0,m=h.length;_<m;_++)this.extend(h[_])}WA.prototype={extend:function(i){var s,h;if(!i)return this;if(i instanceof uA||typeof i[0]=="number"||"x"in i)s=h=_A(i);else if(i=ft(i),s=i.min,h=i.max,!s||!h)return this;return!this.min&&!this.max?(this.min=s.clone(),this.max=h.clone()):(this.min.x=Math.min(s.x,this.min.x),this.max.x=Math.max(h.x,this.max.x),this.min.y=Math.min(s.y,this.min.y),this.max.y=Math.max(h.y,this.max.y)),this},getCenter:function(i){return _A((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,i)},getBottomLeft:function(){return _A(this.min.x,this.max.y)},getTopRight:function(){return _A(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(i){var s,h;return typeof i[0]=="number"||i instanceof uA?i=_A(i):i=ft(i),i instanceof WA?(s=i.min,h=i.max):s=h=i,s.x>=this.min.x&&h.x<=this.max.x&&s.y>=this.min.y&&h.y<=this.max.y},intersects:function(i){i=ft(i);var s=this.min,h=this.max,_=i.min,m=i.max,v=m.x>=s.x&&_.x<=h.x,E=m.y>=s.y&&_.y<=h.y;return v&&E},overlaps:function(i){i=ft(i);var s=this.min,h=this.max,_=i.min,m=i.max,v=m.x>s.x&&_.x<h.x,E=m.y>s.y&&_.y<h.y;return v&&E},isValid:function(){return!!(this.min&&this.max)},pad:function(i){var s=this.min,h=this.max,_=Math.abs(s.x-h.x)*i,m=Math.abs(s.y-h.y)*i;return ft(_A(s.x-_,s.y-m),_A(h.x+_,h.y+m))},equals:function(i){return i?(i=ft(i),this.min.equals(i.getTopLeft())&&this.max.equals(i.getBottomRight())):!1}};function ft(i,s){return!i||i instanceof WA?i:new WA(i,s)}function Bt(i,s){if(i)for(var h=s?[i,s]:i,_=0,m=h.length;_<m;_++)this.extend(h[_])}Bt.prototype={extend:function(i){var s=this._southWest,h=this._northEast,_,m;if(i instanceof QA)_=i,m=i;else if(i instanceof Bt){if(_=i._southWest,m=i._northEast,!_||!m)return this}else return i?this.extend(CA(i)||rt(i)):this;return!s&&!h?(this._southWest=new QA(_.lat,_.lng),this._northEast=new QA(m.lat,m.lng)):(s.lat=Math.min(_.lat,s.lat),s.lng=Math.min(_.lng,s.lng),h.lat=Math.max(m.lat,h.lat),h.lng=Math.max(m.lng,h.lng)),this},pad:function(i){var s=this._southWest,h=this._northEast,_=Math.abs(s.lat-h.lat)*i,m=Math.abs(s.lng-h.lng)*i;return new Bt(new QA(s.lat-_,s.lng-m),new QA(h.lat+_,h.lng+m))},getCenter:function(){return new QA((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 QA(this.getNorth(),this.getWest())},getSouthEast:function(){return new QA(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(i){typeof i[0]=="number"||i instanceof QA||"lat"in i?i=CA(i):i=rt(i);var s=this._southWest,h=this._northEast,_,m;return i instanceof Bt?(_=i.getSouthWest(),m=i.getNorthEast()):_=m=i,_.lat>=s.lat&&m.lat<=h.lat&&_.lng>=s.lng&&m.lng<=h.lng},intersects:function(i){i=rt(i);var s=this._southWest,h=this._northEast,_=i.getSouthWest(),m=i.getNorthEast(),v=m.lat>=s.lat&&_.lat<=h.lat,E=m.lng>=s.lng&&_.lng<=h.lng;return v&&E},overlaps:function(i){i=rt(i);var s=this._southWest,h=this._northEast,_=i.getSouthWest(),m=i.getNorthEast(),v=m.lat>s.lat&&_.lat<h.lat,E=m.lng>s.lng&&_.lng<h.lng;return v&&E},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(i,s){return i?(i=rt(i),this._southWest.equals(i.getSouthWest(),s)&&this._northEast.equals(i.getNorthEast(),s)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function rt(i,s){return i instanceof Bt?i:new Bt(i,s)}function QA(i,s,h){if(isNaN(i)||isNaN(s))throw new Error("Invalid LatLng object: ("+i+", "+s+")");this.lat=+i,this.lng=+s,h!==void 0&&(this.alt=+h)}QA.prototype={equals:function(i,s){if(!i)return!1;i=CA(i);var h=Math.max(Math.abs(this.lat-i.lat),Math.abs(this.lng-i.lng));return h<=(s===void 0?1e-9:s)},toString:function(i){return"LatLng("+VA(this.lat,i)+", "+VA(this.lng,i)+")"},distanceTo:function(i){return ge.distance(this,CA(i))},wrap:function(){return ge.wrapLatLng(this)},toBounds:function(i){var s=180*i/40075017,h=s/Math.cos(Math.PI/180*this.lat);return rt([this.lat-s,this.lng-h],[this.lat+s,this.lng+h])},clone:function(){return new QA(this.lat,this.lng,this.alt)}};function CA(i,s,h){return i instanceof QA?i:HA(i)&&typeof i[0]!="object"?i.length===3?new QA(i[0],i[1],i[2]):i.length===2?new QA(i[0],i[1]):null:i==null?i:typeof i=="object"&&"lat"in i?new QA(i.lat,"lng"in i?i.lng:i.lon,i.alt):s===void 0?null:new QA(i,s,h)}var le={latLngToPoint:function(i,s){var h=this.projection.project(i),_=this.scale(s);return this.transformation._transform(h,_)},pointToLatLng:function(i,s){var h=this.scale(s),_=this.transformation.untransform(i,h);return this.projection.unproject(_)},project:function(i){return this.projection.project(i)},unproject:function(i){return this.projection.unproject(i)},scale:function(i){return 256*Math.pow(2,i)},zoom:function(i){return Math.log(i/256)/Math.LN2},getProjectedBounds:function(i){if(this.infinite)return null;var s=this.projection.bounds,h=this.scale(i),_=this.transformation.transform(s.min,h),m=this.transformation.transform(s.max,h);return new WA(_,m)},infinite:!1,wrapLatLng:function(i){var s=this.wrapLng?Lt(i.lng,this.wrapLng,!0):i.lng,h=this.wrapLat?Lt(i.lat,this.wrapLat,!0):i.lat,_=i.alt;return new QA(h,s,_)},wrapLatLngBounds:function(i){var s=i.getCenter(),h=this.wrapLatLng(s),_=s.lat-h.lat,m=s.lng-h.lng;if(_===0&&m===0)return i;var v=i.getSouthWest(),E=i.getNorthEast(),I=new QA(v.lat-_,v.lng-m),S=new QA(E.lat-_,E.lng-m);return new Bt(I,S)}},ge=q({},le,{wrapLng:[-180,180],R:6371e3,distance:function(i,s){var h=Math.PI/180,_=i.lat*h,m=s.lat*h,v=Math.sin((s.lat-i.lat)*h/2),E=Math.sin((s.lng-i.lng)*h/2),I=v*v+Math.cos(_)*Math.cos(m)*E*E,S=2*Math.atan2(Math.sqrt(I),Math.sqrt(1-I));return this.R*S}}),C0=6378137,Zi={R:C0,MAX_LATITUDE:85.0511287798,project:function(i){var s=Math.PI/180,h=this.MAX_LATITUDE,_=Math.max(Math.min(h,i.lat),-h),m=Math.sin(_*s);return new uA(this.R*i.lng*s,this.R*Math.log((1+m)/(1-m))/2)},unproject:function(i){var s=180/Math.PI;return new QA((2*Math.atan(Math.exp(i.y/this.R))-Math.PI/2)*s,i.x*s/this.R)},bounds:(function(){var i=C0*Math.PI;return new WA([-i,-i],[i,i])})()};function Ri(i,s,h,_){if(HA(i)){this._a=i[0],this._b=i[1],this._c=i[2],this._d=i[3];return}this._a=i,this._b=s,this._c=h,this._d=_}Ri.prototype={transform:function(i,s){return this._transform(i.clone(),s)},_transform:function(i,s){return s=s||1,i.x=s*(this._a*i.x+this._b),i.y=s*(this._c*i.y+this._d),i},untransform:function(i,s){return s=s||1,new uA((i.x/s-this._b)/this._a,(i.y/s-this._d)/this._c)}};function Ke(i,s,h,_){return new Ri(i,s,h,_)}var Fi=q({},ge,{code:"EPSG:3857",projection:Zi,transformation:(function(){var i=.5/(Math.PI*Zi.R);return Ke(i,.5,-i,.5)})()}),vn=q({},Fi,{code:"EPSG:900913"});function x0(i){return document.createElementNS("http://www.w3.org/2000/svg",i)}function T0(i,s){var h="",_,m,v,E,I,S;for(_=0,v=i.length;_<v;_++){for(I=i[_],m=0,E=I.length;m<E;m++)S=I[m],h+=(m?"L":"M")+S.x+" "+S.y;h+=s?A.svg?"z":"x":""}return h||"M0 0"}var he=document.documentElement.style,ve="ActiveXObject"in window,wn=ve&&!document.addEventListener,M0="msLaunchUri"in navigator&&!("documentMode"in document),Jt=Z("webkit"),_i=Z("android"),Ni=Z("android 2")||Z("android 3"),Ie=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Gi=_i&&Z("Google")&&Ie<537&&!("AudioNode"in window),Hi=!!window.opera,D0=!M0&&Z("chrome"),Ui=Z("gecko")&&!Jt&&!Hi&&!ve,yn=!D0&&Z("safari"),I0=Z("phantom"),z0="OTransition"in he,kn=navigator.platform.indexOf("Win")===0,S0=ve&&"transition"in he,Wi="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Ni,Q0="MozPerspective"in he,Yi=!window.L_DISABLE_3D&&(S0||Wi||Q0)&&!z0&&!I0,Je=typeof orientation<"u"||Z("mobile"),Bn=Je&&Jt,H=Je&&Wi,O0=!window.PointerEvent&&window.MSPointerEvent,ji=!!(window.PointerEvent||O0),Z0="ontouchstart"in window||!!window.TouchEvent,Pn=!window.L_NO_TOUCH&&(Z0||ji),Vi=Je&&Hi,R0=Je&&Ui,F0=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,N0=(function(){var i=!1;try{var s=Object.defineProperty({},"passive",{get:function(){i=!0}});window.addEventListener("testPassiveEventSupport",NA,s),window.removeEventListener("testPassiveEventSupport",NA,s)}catch{}return i})(),ci=(function(){return!!document.createElement("canvas").getContext})(),qe=!!(document.createElementNS&&x0("svg").createSVGRect),ze=!!qe&&(function(){var i=document.createElement("div");return i.innerHTML="<svg/>",(i.firstChild&&i.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Q=!qe&&(function(){try{var i=document.createElement("div");i.innerHTML='<v:shape adj="1"/>';var s=i.firstChild;return s.style.behavior="url(#default#VML)",s&&typeof s.adj=="object"}catch{return!1}})(),R=navigator.platform.indexOf("Mac")===0,j=navigator.platform.indexOf("Linux")===0;function Z(i){return navigator.userAgent.toLowerCase().indexOf(i)>=0}var A={ie:ve,ielt9:wn,edge:M0,webkit:Jt,android:_i,android23:Ni,androidStock:Gi,opera:Hi,chrome:D0,gecko:Ui,safari:yn,phantom:I0,opera12:z0,win:kn,ie3d:S0,webkit3d:Wi,gecko3d:Q0,any3d:Yi,mobile:Je,mobileWebkit:Bn,mobileWebkit3d:H,msPointer:O0,pointer:ji,touch:Pn,touchNative:Z0,mobileOpera:Vi,mobileGecko:R0,retina:F0,passiveEvents:N0,canvas:ci,svg:qe,vml:Q,inlineSvg:ze,mac:R,linux:j},p=A.msPointer?"MSPointerDown":"pointerdown",xA=A.msPointer?"MSPointerMove":"pointermove",IA=A.msPointer?"MSPointerUp":"pointerup",at=A.msPointer?"MSPointerCancel":"pointercancel",dA={touchstart:p,touchmove:xA,touchend:IA,touchcancel:at},TA={touchstart:ie,touchmove:ue,touchend:ue,touchcancel:ue},zt={},MA=!1;function vA(i,s,h){return s==="touchstart"&&Ht(),TA[s]?(h=TA[s].bind(this,h),i.addEventListener(dA[s],h,!1),h):(console.warn("wrong event specified:",s),NA)}function Gt(i,s,h){if(!dA[s]){console.warn("wrong event specified:",s);return}i.removeEventListener(dA[s],h,!1)}function di(i){zt[i.pointerId]=i}function bn(i){zt[i.pointerId]&&(zt[i.pointerId]=i)}function mi(i){delete zt[i.pointerId]}function Ht(){MA||(document.addEventListener(p,di,!0),document.addEventListener(xA,bn,!0),document.addEventListener(IA,mi,!0),document.addEventListener(at,mi,!0),MA=!0)}function ue(i,s){if(s.pointerType!==(s.MSPOINTER_TYPE_MOUSE||"mouse")){s.touches=[];for(var h in zt)s.touches.push(zt[h]);s.changedTouches=[s],i(s)}}function ie(i,s){s.MSPOINTER_TYPE_TOUCH&&s.pointerType===s.MSPOINTER_TYPE_TOUCH&&_t(s),ue(i,s)}function Ki(i){var s={},h,_;for(_ in i)h=i[_],s[_]=h&&h.bind?h.bind(i):h;return i=s,s.type="dblclick",s.detail=2,s.isTrusted=!1,s._simulated=!0,s}var Ln=200;function fe(i,s){i.addEventListener("dblclick",s);var h=0,_;function m(v){if(v.detail!==1){_=v.detail;return}if(!(v.pointerType==="mouse"||v.sourceCapabilities&&!v.sourceCapabilities.firesTouchEvents)){var E=r0(v);if(!(E.some(function(S){return S instanceof HTMLLabelElement&&S.attributes.for})&&!E.some(function(S){return S instanceof HTMLInputElement||S instanceof HTMLSelectElement}))){var I=Date.now();I-h<=Ln?(_++,_===2&&s(Ki(v))):_=1,h=I}}}return i.addEventListener("click",m),{dblclick:s,simDblclick:m}}function fA(i,s){i.removeEventListener("dblclick",s.dblclick),i.removeEventListener("click",s.simDblclick)}var y=Qt(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),iA=Qt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ji=iA==="webkitTransition"||iA==="OTransition"?iA+"End":"transitionend";function G0(i){return typeof i=="string"?document.getElementById(i):i}function Xe(i,s){var h=i.style[s]||i.currentStyle&&i.currentStyle[s];if((!h||h==="auto")&&document.defaultView){var _=document.defaultView.getComputedStyle(i,null);h=_?_[s]:null}return h==="auto"?null:h}function DA(i,s,h){var _=document.createElement(i);return _.className=s||"",h&&h.appendChild(_),_}function JA(i){var s=i.parentNode;s&&s.removeChild(i)}function g(i){for(;i.firstChild;)i.removeChild(i.firstChild)}function Se(i){var s=i.parentNode;s&&s.lastChild!==i&&s.appendChild(i)}function Qe(i){var s=i.parentNode;s&&s.firstChild!==i&&s.insertBefore(i,s.firstChild)}function qi(i,s){if(i.classList!==void 0)return i.classList.contains(s);var h=$e(i);return h.length>0&&new RegExp("(^|\\s)"+s+"(\\s|$)").test(h)}function BA(i,s){if(i.classList!==void 0)for(var h=Et(s),_=0,m=h.length;_<m;_++)i.classList.add(h[_]);else if(!qi(i,s)){var v=$e(i);Xi(i,(v?v+" ":"")+s)}}function it(i,s){i.classList!==void 0?i.classList.remove(s):Xi(i,ae((" "+$e(i)+" ").replace(" "+s+" "," ")))}function Xi(i,s){i.className.baseVal===void 0?i.className=s:i.className.baseVal=s}function $e(i){return i.correspondingElement&&(i=i.correspondingElement),i.className.baseVal===void 0?i.className:i.className.baseVal}function St(i,s){"opacity"in i.style?i.style.opacity=s:"filter"in i.style&&H0(i,s)}function H0(i,s){var h=!1,_="DXImageTransform.Microsoft.Alpha";try{h=i.filters.item(_)}catch{if(s===1)return}s=Math.round(s*100),h?(h.Enabled=s!==100,h.Opacity=s):i.style.filter+=" progid:"+_+"(opacity="+s+")"}function Qt(i){for(var s=document.documentElement.style,h=0;h<i.length;h++)if(i[h]in s)return i[h];return!1}function YA(i,s,h){var _=s||new uA(0,0);i.style[y]=(A.ie3d?"translate("+_.x+"px,"+_.y+"px)":"translate3d("+_.x+"px,"+_.y+"px,0)")+(h?" scale("+h+")":"")}function ot(i,s){i._leaflet_pos=s,A.any3d?YA(i,s):(i.style.left=s.x+"px",i.style.top=s.y+"px")}function we(i){return i._leaflet_pos||new uA(0,0)}var Ai,Ce,$i;if("onselectstart"in document)Ai=function(){pA(window,"selectstart",_t)},Ce=function(){OA(window,"selectstart",_t)};else{var Oe=Qt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Ai=function(){if(Oe){var i=document.documentElement.style;$i=i[Oe],i[Oe]="none"}},Ce=function(){Oe&&(document.documentElement.style[Oe]=$i,$i=void 0)}}function A0(){pA(window,"dragstart",_t)}function t0(){OA(window,"dragstart",_t)}var pi,ZA;function ti(i){for(;i.tabIndex===-1;)i=i.parentNode;i.style&&(ei(),pi=i,ZA=i.style.outlineStyle,i.style.outlineStyle="none",pA(window,"keydown",ei))}function ei(){pi&&(pi.style.outlineStyle=ZA,pi=void 0,ZA=void 0,OA(window,"keydown",ei))}function U0(i){do i=i.parentNode;while((!i.offsetWidth||!i.offsetHeight)&&i!==document.body);return i}function e0(i){var s=i.getBoundingClientRect();return{x:s.width/i.offsetWidth||1,y:s.height/i.offsetHeight||1,boundingClientRect:s}}var En={__proto__:null,TRANSFORM:y,TRANSITION:iA,TRANSITION_END:Ji,get:G0,getStyle:Xe,create:DA,remove:JA,empty:g,toFront:Se,toBack:Qe,hasClass:qi,addClass:BA,removeClass:it,setClass:Xi,getClass:$e,setOpacity:St,testProp:Qt,setTransform:YA,setPosition:ot,getPosition:we,get disableTextSelection(){return Ai},get enableTextSelection(){return Ce},disableImageDrag:A0,enableImageDrag:t0,preventOutline:ti,restoreOutline:ei,getSizedParentNode:U0,getScale:e0};function pA(i,s,h,_){if(s&&typeof s=="object")for(var m in s)n0(i,m,s[m],h);else{s=Et(s);for(var v=0,E=s.length;v<E;v++)n0(i,s[v],h,_)}return this}var Ut="_leaflet_events";function OA(i,s,h,_){if(arguments.length===1)W0(i),delete i[Ut];else if(s&&typeof s=="object")for(var m in s)gi(i,m,s[m],h);else if(s=Et(s),arguments.length===2)W0(i,function(I){return XA(s,I)!==-1});else for(var v=0,E=s.length;v<E;v++)gi(i,s[v],h,_);return this}function W0(i,s){for(var h in i[Ut]){var _=h.split(/\d/)[0];(!s||s(_))&&gi(i,_,null,null,h)}}var i0={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function n0(i,s,h,_){var m=s+bA(h)+(_?"_"+bA(_):"");if(i[Ut]&&i[Ut][m])return this;var v=function(I){return h.call(_||i,I||window.event)},E=v;!A.touchNative&&A.pointer&&s.indexOf("touch")===0?v=vA(i,s,v):A.touch&&s==="dblclick"?v=fe(i,v):"addEventListener"in i?s==="touchstart"||s==="touchmove"||s==="wheel"||s==="mousewheel"?i.addEventListener(i0[s]||s,v,A.passiveEvents?{passive:!1}:!1):s==="mouseenter"||s==="mouseleave"?(v=function(I){I=I||window.event,s0(i,I)&&E(I)},i.addEventListener(i0[s],v,!1)):i.addEventListener(s,E,!1):i.attachEvent("on"+s,v),i[Ut]=i[Ut]||{},i[Ut][m]=v}function gi(i,s,h,_,m){m=m||s+bA(h)+(_?"_"+bA(_):"");var v=i[Ut]&&i[Ut][m];if(!v)return this;!A.touchNative&&A.pointer&&s.indexOf("touch")===0?Gt(i,s,v):A.touch&&s==="dblclick"?fA(i,v):"removeEventListener"in i?i.removeEventListener(i0[s]||s,v,!1):i.detachEvent("on"+s,v),i[Ut][m]=null}function xe(i){return i.stopPropagation?i.stopPropagation():i.originalEvent?i.originalEvent._stopped=!0:i.cancelBubble=!0,this}function ii(i){return n0(i,"wheel",xe),this}function Te(i){return pA(i,"mousedown touchstart dblclick contextmenu",xe),i._leaflet_disable_click=!0,this}function _t(i){return i.preventDefault?i.preventDefault():i.returnValue=!1,this}function ye(i){return _t(i),xe(i),this}function r0(i){if(i.composedPath)return i.composedPath();for(var s=[],h=i.target;h;)s.push(h),h=h.parentNode;return s}function o0(i,s){if(!s)return new uA(i.clientX,i.clientY);var h=e0(s),_=h.boundingClientRect;return new uA((i.clientX-_.left)/h.x-s.clientLeft,(i.clientY-_.top)/h.y-s.clientTop)}var Cn=A.linux&&A.chrome?window.devicePixelRatio:A.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Y0(i){return A.edge?i.wheelDeltaY/2:i.deltaY&&i.deltaMode===0?-i.deltaY/Cn:i.deltaY&&i.deltaMode===1?-i.deltaY*20:i.deltaY&&i.deltaMode===2?-i.deltaY*60:i.deltaX||i.deltaZ?0:i.wheelDelta?(i.wheelDeltaY||i.wheelDelta)/2:i.detail&&Math.abs(i.detail)<32765?-i.detail*20:i.detail?i.detail/-32765*60:0}function s0(i,s){var h=s.relatedTarget;if(!h)return!0;try{for(;h&&h!==i;)h=h.parentNode}catch{return!1}return h!==i}var xn={__proto__:null,on:pA,off:OA,stopPropagation:xe,disableScrollPropagation:ii,disableClickPropagation:Te,preventDefault:_t,stop:ye,getPropagationPath:r0,getMousePosition:o0,getWheelDelta:Y0,isExternalTarget:s0,addListener:pA,removeListener:OA},ct=ee.extend({run:function(i,s,h,_){this.stop(),this._el=i,this._inProgress=!0,this._duration=h||.25,this._easeOutPower=1/Math.max(_||.5,.2),this._startPos=we(i),this._offset=s.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=UA(this._animate,this),this._step()},_step:function(i){var s=+new Date-this._startTime,h=this._duration*1e3;s<h?this._runFrame(this._easeOut(s/h),i):(this._runFrame(1),this._complete())},_runFrame:function(i,s){var h=this._startPos.add(this._offset.multiplyBy(i));s&&h._round(),ot(this._el,h),this.fire("step")},_complete:function(){GA(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(i){return 1-Math.pow(1-i,this._easeOutPower)}}),PA=ee.extend({options:{crs:Fi,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(i,s){s=LA(this,s),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(i),this._initLayout(),this._onResize=wA(this._onResize,this),this._initEvents(),s.maxBounds&&this.setMaxBounds(s.maxBounds),s.zoom!==void 0&&(this._zoom=this._limitZoom(s.zoom)),s.center&&s.zoom!==void 0&&this.setView(CA(s.center),s.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=iA&&A.any3d&&!A.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),pA(this._proxy,Ji,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(i,s,h){if(s=s===void 0?this._zoom:this._limitZoom(s),i=this._limitCenter(CA(i),s,this.options.maxBounds),h=h||{},this._stop(),this._loaded&&!h.reset&&h!==!0){h.animate!==void 0&&(h.zoom=q({animate:h.animate},h.zoom),h.pan=q({animate:h.animate,duration:h.duration},h.pan));var _=this._zoom!==s?this._tryAnimatedZoom&&this._tryAnimatedZoom(i,s,h.zoom):this._tryAnimatedPan(i,h.pan);if(_)return clearTimeout(this._sizeTimer),this}return this._resetView(i,s,h.pan&&h.pan.noMoveStart),this},setZoom:function(i,s){return this._loaded?this.setView(this.getCenter(),i,{zoom:s}):(this._zoom=i,this)},zoomIn:function(i,s){return i=i||(A.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+i,s)},zoomOut:function(i,s){return i=i||(A.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-i,s)},setZoomAround:function(i,s,h){var _=this.getZoomScale(s),m=this.getSize().divideBy(2),v=i instanceof uA?i:this.latLngToContainerPoint(i),E=v.subtract(m).multiplyBy(1-1/_),I=this.containerPointToLatLng(m.add(E));return this.setView(I,s,{zoom:h})},_getBoundsCenterZoom:function(i,s){s=s||{},i=i.getBounds?i.getBounds():rt(i);var h=_A(s.paddingTopLeft||s.padding||[0,0]),_=_A(s.paddingBottomRight||s.padding||[0,0]),m=this.getBoundsZoom(i,!1,h.add(_));if(m=typeof s.maxZoom=="number"?Math.min(s.maxZoom,m):m,m===1/0)return{center:i.getCenter(),zoom:m};var v=_.subtract(h).divideBy(2),E=this.project(i.getSouthWest(),m),I=this.project(i.getNorthEast(),m),S=this.unproject(E.add(I).divideBy(2).add(v),m);return{center:S,zoom:m}},fitBounds:function(i,s){if(i=rt(i),!i.isValid())throw new Error("Bounds are not valid.");var h=this._getBoundsCenterZoom(i,s);return this.setView(h.center,h.zoom,s)},fitWorld:function(i){return this.fitBounds([[-90,-180],[90,180]],i)},panTo:function(i,s){return this.setView(i,this._zoom,{pan:s})},panBy:function(i,s){if(i=_A(i).round(),s=s||{},!i.x&&!i.y)return this.fire("moveend");if(s.animate!==!0&&!this.getSize().contains(i))return this._resetView(this.unproject(this.project(this.getCenter()).add(i)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new ct,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),s.noMoveStart||this.fire("movestart"),s.animate!==!1){BA(this._mapPane,"leaflet-pan-anim");var h=this._getMapPanePos().subtract(i).round();this._panAnim.run(this._mapPane,h,s.duration||.25,s.easeLinearity)}else this._rawPanBy(i),this.fire("move").fire("moveend");return this},flyTo:function(i,s,h){if(h=h||{},h.animate===!1||!A.any3d)return this.setView(i,s,h);this._stop();var _=this.project(this.getCenter()),m=this.project(i),v=this.getSize(),E=this._zoom;i=CA(i),s=s===void 0?E:s;var I=Math.max(v.x,v.y),S=I*this.getZoomScale(E,s),G=m.distanceTo(_)||1,V=1.42,rA=V*V;function yA(nt){var qA=nt?-1:1,er=nt?S:I,ir=S*S-I*I+qA*rA*rA*G*G,ui=2*er*rA*G,Mt=ir/ui,fn=Math.sqrt(Mt*Mt+1)-Mt,nr=fn<1e-9?-18:Math.log(fn);return nr}function vt(nt){return(Math.exp(nt)-Math.exp(-nt))/2}function ut(nt){return(Math.exp(nt)+Math.exp(-nt))/2}function Vt(nt){return vt(nt)/ut(nt)}var Tt=yA(0);function Ue(nt){return I*(ut(Tt)/ut(Tt+V*nt))}function Xn(nt){return I*(ut(Tt)*Vt(Tt+V*nt)-vt(Tt))/rA}function $n(nt){return 1-Math.pow(1-nt,1.5)}var Ar=Date.now(),un=(yA(1)-Tt)/V,tr=h.duration?1e3*h.duration:1e3*un*.8;function b0(){var nt=(Date.now()-Ar)/tr,qA=$n(nt)*un;nt<=1?(this._flyToFrame=UA(b0,this),this._move(this.unproject(_.add(m.subtract(_).multiplyBy(Xn(qA)/G)),E),this.getScaleZoom(I/Ue(qA),E),{flyTo:!0})):this._move(i,s)._moveEnd(!0)}return this._moveStart(!0,h.noMoveStart),b0.call(this),this},flyToBounds:function(i,s){var h=this._getBoundsCenterZoom(i,s);return this.flyTo(h.center,h.zoom,s)},setMaxBounds:function(i){return i=rt(i),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),i.isValid()?(this.options.maxBounds=i,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(i){var s=this.options.minZoom;return this.options.minZoom=i,this._loaded&&s!==i&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(i):this},setMaxZoom:function(i){var s=this.options.maxZoom;return this.options.maxZoom=i,this._loaded&&s!==i&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(i):this},panInsideBounds:function(i,s){this._enforcingBounds=!0;var h=this.getCenter(),_=this._limitCenter(h,this._zoom,rt(i));return h.equals(_)||this.panTo(_,s),this._enforcingBounds=!1,this},panInside:function(i,s){s=s||{};var h=_A(s.paddingTopLeft||s.padding||[0,0]),_=_A(s.paddingBottomRight||s.padding||[0,0]),m=this.project(this.getCenter()),v=this.project(i),E=this.getPixelBounds(),I=ft([E.min.add(h),E.max.subtract(_)]),S=I.getSize();if(!I.contains(v)){this._enforcingBounds=!0;var G=v.subtract(I.getCenter()),V=I.extend(v).getSize().subtract(S);m.x+=G.x<0?-V.x:V.x,m.y+=G.y<0?-V.y:V.y,this.panTo(this.unproject(m),s),this._enforcingBounds=!1}return this},invalidateSize:function(i){if(!this._loaded)return this;i=q({animate:!1,pan:!0},i===!0?{animate:!0}:i);var s=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var h=this.getSize(),_=s.divideBy(2).round(),m=h.divideBy(2).round(),v=_.subtract(m);return!v.x&&!v.y?this:(i.animate&&i.pan?this.panBy(v):(i.pan&&this._rawPanBy(v),this.fire("move"),i.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(wA(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:s,newSize:h}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(i){if(i=this._locateOptions=q({timeout:1e4,watch:!1},i),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var s=wA(this._handleGeolocationResponse,this),h=wA(this._handleGeolocationError,this);return i.watch?this._locationWatchId=navigator.geolocation.watchPosition(s,h,i):navigator.geolocation.getCurrentPosition(s,h,i),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(i){if(this._container._leaflet_id){var s=i.code,h=i.message||(s===1?"permission denied":s===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:s,message:"Geolocation error: "+h+"."})}},_handleGeolocationResponse:function(i){if(this._container._leaflet_id){var s=i.coords.latitude,h=i.coords.longitude,_=new QA(s,h),m=_.toBounds(i.coords.accuracy*2),v=this._locateOptions;if(v.setView){var E=this.getBoundsZoom(m);this.setView(_,v.maxZoom?Math.min(E,v.maxZoom):E)}var I={latlng:_,bounds:m,timestamp:i.timestamp};for(var S in i.coords)typeof i.coords[S]=="number"&&(I[S]=i.coords[S]);this.fire("locationfound",I)}},addHandler:function(i,s){if(!s)return this;var h=this[i]=new s(this);return this._handlers.push(h),this.options[i]&&h.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(),JA(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(GA(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)JA(this._panes[i]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(i,s){var h="leaflet-pane"+(i?" leaflet-"+i.replace("Pane","")+"-pane":""),_=DA("div",h,s||this._mapPane);return i&&(this._panes[i]=_),_},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var i=this.getPixelBounds(),s=this.unproject(i.getBottomLeft()),h=this.unproject(i.getTopRight());return new Bt(s,h)},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(i,s,h){i=rt(i),h=_A(h||[0,0]);var _=this.getZoom()||0,m=this.getMinZoom(),v=this.getMaxZoom(),E=i.getNorthWest(),I=i.getSouthEast(),S=this.getSize().subtract(h),G=ft(this.project(I,_),this.project(E,_)).getSize(),V=A.any3d?this.options.zoomSnap:1,rA=S.x/G.x,yA=S.y/G.y,vt=s?Math.max(rA,yA):Math.min(rA,yA);return _=this.getScaleZoom(vt,_),V&&(_=Math.round(_/(V/100))*(V/100),_=s?Math.ceil(_/V)*V:Math.floor(_/V)*V),Math.max(m,Math.min(v,_))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new uA(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(i,s){var h=this._getTopLeftPoint(i,s);return new WA(h,h.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(i){return this.options.crs.getProjectedBounds(i===void 0?this.getZoom():i)},getPane:function(i){return typeof i=="string"?this._panes[i]:i},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(i,s){var h=this.options.crs;return s=s===void 0?this._zoom:s,h.scale(i)/h.scale(s)},getScaleZoom:function(i,s){var h=this.options.crs;s=s===void 0?this._zoom:s;var _=h.zoom(i*h.scale(s));return isNaN(_)?1/0:_},project:function(i,s){return s=s===void 0?this._zoom:s,this.options.crs.latLngToPoint(CA(i),s)},unproject:function(i,s){return s=s===void 0?this._zoom:s,this.options.crs.pointToLatLng(_A(i),s)},layerPointToLatLng:function(i){var s=_A(i).add(this.getPixelOrigin());return this.unproject(s)},latLngToLayerPoint:function(i){var s=this.project(CA(i))._round();return s._subtract(this.getPixelOrigin())},wrapLatLng:function(i){return this.options.crs.wrapLatLng(CA(i))},wrapLatLngBounds:function(i){return this.options.crs.wrapLatLngBounds(rt(i))},distance:function(i,s){return this.options.crs.distance(CA(i),CA(s))},containerPointToLayerPoint:function(i){return _A(i).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(i){return _A(i).add(this._getMapPanePos())},containerPointToLatLng:function(i){var s=this.containerPointToLayerPoint(_A(i));return this.layerPointToLatLng(s)},latLngToContainerPoint:function(i){return this.layerPointToContainerPoint(this.latLngToLayerPoint(CA(i)))},mouseEventToContainerPoint:function(i){return o0(i,this._container)},mouseEventToLayerPoint:function(i){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(i))},mouseEventToLatLng:function(i){return this.layerPointToLatLng(this.mouseEventToLayerPoint(i))},_initContainer:function(i){var s=this._container=G0(i);if(s){if(s._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");pA(s,"scroll",this._onScroll,this),this._containerId=bA(s)},_initLayout:function(){var i=this._container;this._fadeAnimated=this.options.fadeAnimation&&A.any3d,BA(i,"leaflet-container"+(A.touch?" leaflet-touch":"")+(A.retina?" leaflet-retina":"")+(A.ielt9?" leaflet-oldie":"")+(A.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var s=Xe(i,"position");s!=="absolute"&&s!=="relative"&&s!=="fixed"&&s!=="sticky"&&(i.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var i=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),ot(this._mapPane,new uA(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(BA(i.markerPane,"leaflet-zoom-hide"),BA(i.shadowPane,"leaflet-zoom-hide"))},_resetView:function(i,s,h){ot(this._mapPane,new uA(0,0));var _=!this._loaded;this._loaded=!0,s=this._limitZoom(s),this.fire("viewprereset");var m=this._zoom!==s;this._moveStart(m,h)._move(i,s)._moveEnd(m),this.fire("viewreset"),_&&this.fire("load")},_moveStart:function(i,s){return i&&this.fire("zoomstart"),s||this.fire("movestart"),this},_move:function(i,s,h,_){s===void 0&&(s=this._zoom);var m=this._zoom!==s;return this._zoom=s,this._lastCenter=i,this._pixelOrigin=this._getNewPixelOrigin(i),_?h&&h.pinch&&this.fire("zoom",h):((m||h&&h.pinch)&&this.fire("zoom",h),this.fire("move",h)),this},_moveEnd:function(i){return i&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return GA(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(i){ot(this._mapPane,this._getMapPanePos().subtract(i))},_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(i){this._targets={},this._targets[bA(this._container)]=this;var s=i?OA:pA;s(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&s(window,"resize",this._onResize,this),A.any3d&&this.options.transform3DLimit&&(i?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){GA(this._resizeRequest),this._resizeRequest=UA(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var i=this._getMapPanePos();Math.max(Math.abs(i.x),Math.abs(i.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(i,s){for(var h=[],_,m=s==="mouseout"||s==="mouseover",v=i.target||i.srcElement,E=!1;v;){if(_=this._targets[bA(v)],_&&(s==="click"||s==="preclick")&&this._draggableMoved(_)){E=!0;break}if(_&&_.listens(s,!0)&&(m&&!s0(v,i)||(h.push(_),m))||v===this._container)break;v=v.parentNode}return!h.length&&!E&&!m&&this.listens(s,!0)&&(h=[this]),h},_isClickDisabled:function(i){for(;i&&i!==this._container;){if(i._leaflet_disable_click)return!0;i=i.parentNode}},_handleDOMEvent:function(i){var s=i.target||i.srcElement;if(!(!this._loaded||s._leaflet_disable_events||i.type==="click"&&this._isClickDisabled(s))){var h=i.type;h==="mousedown"&&ti(s),this._fireDOMEvent(i,h)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(i,s,h){if(i.type==="click"){var _=q({},i);_.type="preclick",this._fireDOMEvent(_,_.type,h)}var m=this._findEventTargets(i,s);if(h){for(var v=[],E=0;E<h.length;E++)h[E].listens(s,!0)&&v.push(h[E]);m=v.concat(m)}if(m.length){s==="contextmenu"&&_t(i);var I=m[0],S={originalEvent:i};if(i.type!=="keypress"&&i.type!=="keydown"&&i.type!=="keyup"){var G=I.getLatLng&&(!I._radius||I._radius<=10);S.containerPoint=G?this.latLngToContainerPoint(I.getLatLng()):this.mouseEventToContainerPoint(i),S.layerPoint=this.containerPointToLayerPoint(S.containerPoint),S.latlng=G?I.getLatLng():this.layerPointToLatLng(S.layerPoint)}for(E=0;E<m.length;E++)if(m[E].fire(s,S,!0),S.originalEvent._stopped||m[E].options.bubblingMouseEvents===!1&&XA(this._mouseEvents,s)!==-1)return}},_draggableMoved:function(i){return i=i.dragging&&i.dragging.enabled()?i:this,i.dragging&&i.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var i=0,s=this._handlers.length;i<s;i++)this._handlers[i].disable()},whenReady:function(i,s){return this._loaded?i.call(s||this,{target:this}):this.on("load",i,s),this},_getMapPanePos:function(){return we(this._mapPane)||new uA(0,0)},_moved:function(){var i=this._getMapPanePos();return i&&!i.equals([0,0])},_getTopLeftPoint:function(i,s){var h=i&&s!==void 0?this._getNewPixelOrigin(i,s):this.getPixelOrigin();return h.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(i,s){var h=this.getSize()._divideBy(2);return this.project(i,s)._subtract(h)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(i,s,h){var _=this._getNewPixelOrigin(h,s);return this.project(i,s)._subtract(_)},_latLngBoundsToNewLayerBounds:function(i,s,h){var _=this._getNewPixelOrigin(h,s);return ft([this.project(i.getSouthWest(),s)._subtract(_),this.project(i.getNorthWest(),s)._subtract(_),this.project(i.getSouthEast(),s)._subtract(_),this.project(i.getNorthEast(),s)._subtract(_)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(i){return this.latLngToLayerPoint(i).subtract(this._getCenterLayerPoint())},_limitCenter:function(i,s,h){if(!h)return i;var _=this.project(i,s),m=this.getSize().divideBy(2),v=new WA(_.subtract(m),_.add(m)),E=this._getBoundsOffset(v,h,s);return Math.abs(E.x)<=1&&Math.abs(E.y)<=1?i:this.unproject(_.add(E),s)},_limitOffset:function(i,s){if(!s)return i;var h=this.getPixelBounds(),_=new WA(h.min.add(i),h.max.add(i));return i.add(this._getBoundsOffset(_,s))},_getBoundsOffset:function(i,s,h){var _=ft(this.project(s.getNorthEast(),h),this.project(s.getSouthWest(),h)),m=_.min.subtract(i.min),v=_.max.subtract(i.max),E=this._rebound(m.x,-v.x),I=this._rebound(m.y,-v.y);return new uA(E,I)},_rebound:function(i,s){return i+s>0?Math.round(i-s)/2:Math.max(0,Math.ceil(i))-Math.max(0,Math.floor(s))},_limitZoom:function(i){var s=this.getMinZoom(),h=this.getMaxZoom(),_=A.any3d?this.options.zoomSnap:1;return _&&(i=Math.round(i/_)*_),Math.max(s,Math.min(h,i))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){it(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(i,s){var h=this._getCenterOffset(i)._trunc();return(s&&s.animate)!==!0&&!this.getSize().contains(h)?!1:(this.panBy(h,s),!0)},_createAnimProxy:function(){var i=this._proxy=DA("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(i),this.on("zoomanim",function(s){var h=y,_=this._proxy.style[h];YA(this._proxy,this.project(s.center,s.zoom),this.getZoomScale(s.zoom,1)),_===this._proxy.style[h]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){JA(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var i=this.getCenter(),s=this.getZoom();YA(this._proxy,this.project(i,s),this.getZoomScale(s,1))},_catchTransitionEnd:function(i){this._animatingZoom&&i.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(i,s,h){if(this._animatingZoom)return!0;if(h=h||{},!this._zoomAnimated||h.animate===!1||this._nothingToAnimate()||Math.abs(s-this._zoom)>this.options.zoomAnimationThreshold)return!1;var _=this.getZoomScale(s),m=this._getCenterOffset(i)._divideBy(1-1/_);return h.animate!==!0&&!this.getSize().contains(m)?!1:(UA(function(){this._moveStart(!0,h.noMoveStart||!1)._animateZoom(i,s,!0)},this),!0)},_animateZoom:function(i,s,h,_){this._mapPane&&(h&&(this._animatingZoom=!0,this._animateToCenter=i,this._animateToZoom=s,BA(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:i,zoom:s,noUpdate:_}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(wA(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&it(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 Pt(i,s){return new PA(i,s)}var Ot=st.extend({options:{position:"topright"},initialize:function(i){LA(this,i)},getPosition:function(){return this.options.position},setPosition:function(i){var s=this._map;return s&&s.removeControl(this),this.options.position=i,s&&s.addControl(this),this},getContainer:function(){return this._container},addTo:function(i){this.remove(),this._map=i;var s=this._container=this.onAdd(i),h=this.getPosition(),_=i._controlCorners[h];return BA(s,"leaflet-control"),h.indexOf("bottom")!==-1?_.insertBefore(s,_.firstChild):_.appendChild(s),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(JA(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(i){this._map&&i&&i.screenX>0&&i.screenY>0&&this._map.getContainer().focus()}}),Ze=function(i){return new Ot(i)};PA.include({addControl:function(i){return i.addTo(this),this},removeControl:function(i){return i.remove(),this},_initControlPos:function(){var i=this._controlCorners={},s="leaflet-",h=this._controlContainer=DA("div",s+"control-container",this._container);function _(m,v){var E=s+m+" "+s+v;i[m+v]=DA("div",E,h)}_("top","left"),_("top","right"),_("bottom","left"),_("bottom","right")},_clearControlPos:function(){for(var i in this._controlCorners)JA(this._controlCorners[i]);JA(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var ni=Ot.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(i,s,h,_){return h<_?-1:_<h?1:0}},initialize:function(i,s,h){LA(this,h),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var _ in i)this._addLayer(i[_],_);for(_ in s)this._addLayer(s[_],_,!0)},onAdd:function(i){this._initLayout(),this._update(),this._map=i,i.on("zoomend",this._checkDisabledLayers,this);for(var s=0;s<this._layers.length;s++)this._layers[s].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(i){return Ot.prototype.addTo.call(this,i),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(i,s){return this._addLayer(i,s),this._map?this._update():this},addOverlay:function(i,s){return this._addLayer(i,s,!0),this._map?this._update():this},removeLayer:function(i){i.off("add remove",this._onLayerChange,this);var s=this._getLayer(bA(i));return s&&this._layers.splice(this._layers.indexOf(s),1),this._map?this._update():this},expand:function(){BA(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var i=this._map.getSize().y-(this._container.offsetTop+50);return i<this._section.clientHeight?(BA(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=i+"px"):it(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return it(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var i="leaflet-control-layers",s=this._container=DA("div",i),h=this.options.collapsed;s.setAttribute("aria-haspopup",!0),Te(s),ii(s);var _=this._section=DA("section",i+"-list");h&&(this._map.on("click",this.collapse,this),pA(s,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var m=this._layersLink=DA("a",i+"-toggle",s);m.href="#",m.title="Layers",m.setAttribute("role","button"),pA(m,{keydown:function(v){v.keyCode===13&&this._expandSafely()},click:function(v){_t(v),this._expandSafely()}},this),h||this.expand(),this._baseLayersList=DA("div",i+"-base",_),this._separator=DA("div",i+"-separator",_),this._overlaysList=DA("div",i+"-overlays",_),s.appendChild(_)},_getLayer:function(i){for(var s=0;s<this._layers.length;s++)if(this._layers[s]&&bA(this._layers[s].layer)===i)return this._layers[s]},_addLayer:function(i,s,h){this._map&&i.on("add remove",this._onLayerChange,this),this._layers.push({layer:i,name:s,overlay:h}),this.options.sortLayers&&this._layers.sort(wA(function(_,m){return this.options.sortFunction(_.layer,m.layer,_.name,m.name)},this)),this.options.autoZIndex&&i.setZIndex&&(this._lastZIndex++,i.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;g(this._baseLayersList),g(this._overlaysList),this._layerControlInputs=[];var i,s,h,_,m=0;for(h=0;h<this._layers.length;h++)_=this._layers[h],this._addItem(_),s=s||_.overlay,i=i||!_.overlay,m+=_.overlay?0:1;return this.options.hideSingleBase&&(i=i&&m>1,this._baseLayersList.style.display=i?"":"none"),this._separator.style.display=s&&i?"":"none",this},_onLayerChange:function(i){this._handlingClick||this._update();var s=this._getLayer(bA(i.target)),h=s.overlay?i.type==="add"?"overlayadd":"overlayremove":i.type==="add"?"baselayerchange":null;h&&this._map.fire(h,s)},_createRadioElement:function(i,s){var h='<input type="radio" class="leaflet-control-layers-selector" name="'+i+'"'+(s?' checked="checked"':"")+"/>",_=document.createElement("div");return _.innerHTML=h,_.firstChild},_addItem:function(i){var s=document.createElement("label"),h=this._map.hasLayer(i.layer),_;i.overlay?(_=document.createElement("input"),_.type="checkbox",_.className="leaflet-control-layers-selector",_.defaultChecked=h):_=this._createRadioElement("leaflet-base-layers_"+bA(this),h),this._layerControlInputs.push(_),_.layerId=bA(i.layer),pA(_,"click",this._onInputClick,this);var m=document.createElement("span");m.innerHTML=" "+i.name;var v=document.createElement("span");s.appendChild(v),v.appendChild(_),v.appendChild(m);var E=i.overlay?this._overlaysList:this._baseLayersList;return E.appendChild(s),this._checkDisabledLayers(),s},_onInputClick:function(){if(!this._preventClick){var i=this._layerControlInputs,s,h,_=[],m=[];this._handlingClick=!0;for(var v=i.length-1;v>=0;v--)s=i[v],h=this._getLayer(s.layerId).layer,s.checked?_.push(h):s.checked||m.push(h);for(v=0;v<m.length;v++)this._map.hasLayer(m[v])&&this._map.removeLayer(m[v]);for(v=0;v<_.length;v++)this._map.hasLayer(_[v])||this._map.addLayer(_[v]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var i=this._layerControlInputs,s,h,_=this._map.getZoom(),m=i.length-1;m>=0;m--)s=i[m],h=this._getLayer(s.layerId).layer,s.disabled=h.options.minZoom!==void 0&&_<h.options.minZoom||h.options.maxZoom!==void 0&&_>h.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var i=this._section;this._preventClick=!0,pA(i,"click",_t),this.expand();var s=this;setTimeout(function(){OA(i,"click",_t),s._preventClick=!1})}}),Tn=function(i,s,h){return new ni(i,s,h)},a0=Ot.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(i){var s="leaflet-control-zoom",h=DA("div",s+" leaflet-bar"),_=this.options;return this._zoomInButton=this._createButton(_.zoomInText,_.zoomInTitle,s+"-in",h,this._zoomIn),this._zoomOutButton=this._createButton(_.zoomOutText,_.zoomOutTitle,s+"-out",h,this._zoomOut),this._updateDisabled(),i.on("zoomend zoomlevelschange",this._updateDisabled,this),h},onRemove:function(i){i.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(i){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(i.shiftKey?3:1))},_zoomOut:function(i){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(i.shiftKey?3:1))},_createButton:function(i,s,h,_,m){var v=DA("a",h,_);return v.innerHTML=i,v.href="#",v.title=s,v.setAttribute("role","button"),v.setAttribute("aria-label",s),Te(v),pA(v,"click",ye),pA(v,"click",m,this),pA(v,"click",this._refocusOnMap,this),v},_updateDisabled:function(){var i=this._map,s="leaflet-disabled";it(this._zoomInButton,s),it(this._zoomOutButton,s),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||i._zoom===i.getMinZoom())&&(BA(this._zoomOutButton,s),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||i._zoom===i.getMaxZoom())&&(BA(this._zoomInButton,s),this._zoomInButton.setAttribute("aria-disabled","true"))}});PA.mergeOptions({zoomControl:!0}),PA.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new a0,this.addControl(this.zoomControl))});var Mn=function(i){return new a0(i)},l0=Ot.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(i){var s="leaflet-control-scale",h=DA("div",s),_=this.options;return this._addScales(_,s+"-line",h),i.on(_.updateWhenIdle?"moveend":"move",this._update,this),i.whenReady(this._update,this),h},onRemove:function(i){i.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(i,s,h){i.metric&&(this._mScale=DA("div",s,h)),i.imperial&&(this._iScale=DA("div",s,h))},_update:function(){var i=this._map,s=i.getSize().y/2,h=i.distance(i.containerPointToLatLng([0,s]),i.containerPointToLatLng([this.options.maxWidth,s]));this._updateScales(h)},_updateScales:function(i){this.options.metric&&i&&this._updateMetric(i),this.options.imperial&&i&&this._updateImperial(i)},_updateMetric:function(i){var s=this._getRoundNum(i),h=s<1e3?s+" m":s/1e3+" km";this._updateScale(this._mScale,h,s/i)},_updateImperial:function(i){var s=i*3.2808399,h,_,m;s>5280?(h=s/5280,_=this._getRoundNum(h),this._updateScale(this._iScale,_+" mi",_/h)):(m=this._getRoundNum(s),this._updateScale(this._iScale,m+" ft",m/s))},_updateScale:function(i,s,h){i.style.width=Math.round(this.options.maxWidth*h)+"px",i.innerHTML=s},_getRoundNum:function(i){var s=Math.pow(10,(Math.floor(i)+"").length-1),h=i/s;return h=h>=10?10:h>=5?5:h>=3?3:h>=2?2:1,s*h}}),vi=function(i){return new l0(i)},Me='<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>',wi=Ot.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(A.inlineSvg?Me+" ":"")+"Leaflet</a>"},initialize:function(i){LA(this,i),this._attributions={}},onAdd:function(i){i.attributionControl=this,this._container=DA("div","leaflet-control-attribution"),Te(this._container);for(var s in i._layers)i._layers[s].getAttribution&&this.addAttribution(i._layers[s].getAttribution());return this._update(),i.on("layeradd",this._addAttribution,this),this._container},onRemove:function(i){i.off("layeradd",this._addAttribution,this)},_addAttribution:function(i){i.layer.getAttribution&&(this.addAttribution(i.layer.getAttribution()),i.layer.once("remove",function(){this.removeAttribution(i.layer.getAttribution())},this))},setPrefix:function(i){return this.options.prefix=i,this._update(),this},addAttribution:function(i){return i?(this._attributions[i]||(this._attributions[i]=0),this._attributions[i]++,this._update(),this):this},removeAttribution:function(i){return i?(this._attributions[i]&&(this._attributions[i]--,this._update()),this):this},_update:function(){if(this._map){var i=[];for(var s in this._attributions)this._attributions[s]&&i.push(s);var h=[];this.options.prefix&&h.push(this.options.prefix),i.length&&h.push(i.join(", ")),this._container.innerHTML=h.join(' <span aria-hidden="true">|</span> ')}}});PA.mergeOptions({attributionControl:!0}),PA.addInitHook(function(){this.options.attributionControl&&new wi().addTo(this)});var j0=function(i){return new wi(i)};Ot.Layers=ni,Ot.Zoom=a0,Ot.Scale=l0,Ot.Attribution=wi,Ze.layers=Tn,Ze.zoom=Mn,Ze.scale=vi,Ze.attribution=j0;var Zt=st.extend({initialize:function(i){this._map=i},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}});Zt.addTo=function(i,s){return i.addHandler(s,this),this};var De={Events:ht},_e=A.touch?"touchstart mousedown":"mousedown",ce=ee.extend({options:{clickTolerance:3},initialize:function(i,s,h,_){LA(this,_),this._element=i,this._dragStartTarget=s||i,this._preventOutline=h},enable:function(){this._enabled||(pA(this._dragStartTarget,_e,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ce._dragging===this&&this.finishDrag(!0),OA(this._dragStartTarget,_e,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(i){if(this._enabled&&(this._moved=!1,!qi(this._element,"leaflet-zoom-anim"))){if(i.touches&&i.touches.length!==1){ce._dragging===this&&this.finishDrag();return}if(!(ce._dragging||i.shiftKey||i.which!==1&&i.button!==1&&!i.touches)&&(ce._dragging=this,this._preventOutline&&ti(this._element),A0(),Ai(),!this._moving)){this.fire("down");var s=i.touches?i.touches[0]:i,h=U0(this._element);this._startPoint=new uA(s.clientX,s.clientY),this._startPos=we(this._element),this._parentScale=e0(h);var _=i.type==="mousedown";pA(document,_?"mousemove":"touchmove",this._onMove,this),pA(document,_?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(i){if(this._enabled){if(i.touches&&i.touches.length>1){this._moved=!0;return}var s=i.touches&&i.touches.length===1?i.touches[0]:i,h=new uA(s.clientX,s.clientY)._subtract(this._startPoint);!h.x&&!h.y||Math.abs(h.x)+Math.abs(h.y)<this.options.clickTolerance||(h.x/=this._parentScale.x,h.y/=this._parentScale.y,_t(i),this._moved||(this.fire("dragstart"),this._moved=!0,BA(document.body,"leaflet-dragging"),this._lastTarget=i.target||i.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),BA(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(h),this._moving=!0,this._lastEvent=i,this._updatePosition())}},_updatePosition:function(){var i={originalEvent:this._lastEvent};this.fire("predrag",i),ot(this._element,this._newPos),this.fire("drag",i)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(i){it(document.body,"leaflet-dragging"),this._lastTarget&&(it(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),OA(document,"mousemove touchmove",this._onMove,this),OA(document,"mouseup touchend touchcancel",this._onUp,this),t0(),Ce();var s=this._moved&&this._moving;this._moving=!1,ce._dragging=!1,s&&this.fire("dragend",{noInertia:i,distance:this._newPos.distanceTo(this._startPos)})}});function h0(i,s,h){var _,m=[1,4,2,8],v,E,I,S,G,V,rA,yA;for(v=0,V=i.length;v<V;v++)i[v]._code=ne(i[v],s);for(I=0;I<4;I++){for(rA=m[I],_=[],v=0,V=i.length,E=V-1;v<V;E=v++)S=i[v],G=i[E],S._code&rA?G._code&rA||(yA=ki(G,S,rA,s,h),yA._code=ne(yA,s),_.push(yA)):(G._code&rA&&(yA=ki(G,S,rA,s,h),yA._code=ne(yA,s),_.push(yA)),_.push(S));i=_}return i}function yi(i,s){var h,_,m,v,E,I,S,G,V;if(!i||i.length===0)throw new Error("latlngs not passed");Wt(i)||(console.warn("latlngs are not flat! Only the first ring will be used"),i=i[0]);var rA=CA([0,0]),yA=rt(i),vt=yA.getNorthWest().distanceTo(yA.getSouthWest())*yA.getNorthEast().distanceTo(yA.getNorthWest());vt<1700&&(rA=u0(i));var ut=i.length,Vt=[];for(h=0;h<ut;h++){var Tt=CA(i[h]);Vt.push(s.project(CA([Tt.lat-rA.lat,Tt.lng-rA.lng])))}for(I=S=G=0,h=0,_=ut-1;h<ut;_=h++)m=Vt[h],v=Vt[_],E=m.y*v.x-v.y*m.x,S+=(m.x+v.x)*E,G+=(m.y+v.y)*E,I+=E*3;I===0?V=Vt[0]:V=[S/I,G/I];var Ue=s.unproject(_A(V));return CA([Ue.lat+rA.lat,Ue.lng+rA.lng])}function u0(i){for(var s=0,h=0,_=0,m=0;m<i.length;m++){var v=CA(i[m]);s+=v.lat,h+=v.lng,_++}return CA([s/_,h/_])}var Dn={__proto__:null,clipPolygon:h0,polygonCenter:yi,centroid:u0};function f0(i,s){if(!s||!i.length)return i.slice();var h=s*s;return i=Sn(i,h),i=zn(i,h),i}function V0(i,s,h){return Math.sqrt(ri(i,s,h,!0))}function In(i,s,h){return ri(i,s,h)}function zn(i,s){var h=i.length,_=typeof Uint8Array<"u"?Uint8Array:Array,m=new _(h);m[0]=m[h-1]=1,_0(i,m,s,0,h-1);var v,E=[];for(v=0;v<h;v++)m[v]&&E.push(i[v]);return E}function _0(i,s,h,_,m){var v=0,E,I,S;for(I=_+1;I<=m-1;I++)S=ri(i[I],i[_],i[m],!0),S>v&&(E=I,v=S);v>h&&(s[E]=1,_0(i,s,h,_,E),_0(i,s,h,E,m))}function Sn(i,s){for(var h=[i[0]],_=1,m=0,v=i.length;_<v;_++)Qn(i[_],i[m])>s&&(h.push(i[_]),m=_);return m<v-1&&h.push(i[v-1]),h}var c0;function K0(i,s,h,_,m){var v=_?c0:ne(i,h),E=ne(s,h),I,S,G;for(c0=E;;){if(!(v|E))return[i,s];if(v&E)return!1;I=v||E,S=ki(i,s,I,h,m),G=ne(S,h),I===v?(i=S,v=G):(s=S,E=G)}}function ki(i,s,h,_,m){var v=s.x-i.x,E=s.y-i.y,I=_.min,S=_.max,G,V;return h&8?(G=i.x+v*(S.y-i.y)/E,V=S.y):h&4?(G=i.x+v*(I.y-i.y)/E,V=I.y):h&2?(G=S.x,V=i.y+E*(S.x-i.x)/v):h&1&&(G=I.x,V=i.y+E*(I.x-i.x)/v),new uA(G,V,m)}function ne(i,s){var h=0;return i.x<s.min.x?h|=1:i.x>s.max.x&&(h|=2),i.y<s.min.y?h|=4:i.y>s.max.y&&(h|=8),h}function Qn(i,s){var h=s.x-i.x,_=s.y-i.y;return h*h+_*_}function ri(i,s,h,_){var m=s.x,v=s.y,E=h.x-m,I=h.y-v,S=E*E+I*I,G;return S>0&&(G=((i.x-m)*E+(i.y-v)*I)/S,G>1?(m=h.x,v=h.y):G>0&&(m+=E*G,v+=I*G)),E=i.x-m,I=i.y-v,_?E*E+I*I:new uA(m,v)}function Wt(i){return!HA(i[0])||typeof i[0][0]!="object"&&typeof i[0][0]<"u"}function Re(i){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Wt(i)}function J0(i,s){var h,_,m,v,E,I,S,G;if(!i||i.length===0)throw new Error("latlngs not passed");Wt(i)||(console.warn("latlngs are not flat! Only the first ring will be used"),i=i[0]);var V=CA([0,0]),rA=rt(i),yA=rA.getNorthWest().distanceTo(rA.getSouthWest())*rA.getNorthEast().distanceTo(rA.getNorthWest());yA<1700&&(V=u0(i));var vt=i.length,ut=[];for(h=0;h<vt;h++){var Vt=CA(i[h]);ut.push(s.project(CA([Vt.lat-V.lat,Vt.lng-V.lng])))}for(h=0,_=0;h<vt-1;h++)_+=ut[h].distanceTo(ut[h+1])/2;if(_===0)G=ut[0];else for(h=0,v=0;h<vt-1;h++)if(E=ut[h],I=ut[h+1],m=E.distanceTo(I),v+=m,v>_){S=(v-_)/m,G=[I.x-S*(I.x-E.x),I.y-S*(I.y-E.y)];break}var Tt=s.unproject(_A(G));return CA([Tt.lat+V.lat,Tt.lng+V.lng])}var d0={__proto__:null,simplify:f0,pointToSegmentDistance:V0,closestPointOnSegment:In,clipSegment:K0,_getEdgeIntersection:ki,_getBitCode:ne,_sqClosestPointOnSegment:ri,isFlat:Wt,_flat:Re,polylineCenter:J0},Bi={project:function(i){return new uA(i.lng,i.lat)},unproject:function(i){return new QA(i.y,i.x)},bounds:new WA([-180,-90],[180,90])},ke={R:6378137,R_MINOR:6356752314245179e-9,bounds:new WA([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(i){var s=Math.PI/180,h=this.R,_=i.lat*s,m=this.R_MINOR/h,v=Math.sqrt(1-m*m),E=v*Math.sin(_),I=Math.tan(Math.PI/4-_/2)/Math.pow((1-E)/(1+E),v/2);return _=-h*Math.log(Math.max(I,1e-10)),new uA(i.lng*s*h,_)},unproject:function(i){for(var s=180/Math.PI,h=this.R,_=this.R_MINOR/h,m=Math.sqrt(1-_*_),v=Math.exp(-i.y/h),E=Math.PI/2-2*Math.atan(v),I=0,S=.1,G;I<15&&Math.abs(S)>1e-7;I++)G=m*Math.sin(E),G=Math.pow((1-G)/(1+G),m/2),S=Math.PI/2-2*Math.atan(v*G)-E,E+=S;return new QA(E*s,i.x*s/h)}},On={__proto__:null,LonLat:Bi,Mercator:ke,SphericalMercator:Zi},m0=q({},ge,{code:"EPSG:3395",projection:ke,transformation:(function(){var i=.5/(Math.PI*ke.R);return Ke(i,.5,-i,.5)})()}),p0=q({},ge,{code:"EPSG:4326",projection:Bi,transformation:Ke(1/180,1,-1/180,.5)}),Zn=q({},le,{projection:Bi,transformation:Ke(1,0,-1,0),scale:function(i){return Math.pow(2,i)},zoom:function(i){return Math.log(i)/Math.LN2},distance:function(i,s){var h=s.lng-i.lng,_=s.lat-i.lat;return Math.sqrt(h*h+_*_)},infinite:!0});le.Earth=ge,le.EPSG3395=m0,le.EPSG3857=Fi,le.EPSG900913=vn,le.EPSG4326=p0,le.Simple=Zn;var Yt=ee.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(i){return i.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(i){return i&&i.removeLayer(this),this},getPane:function(i){return this._map.getPane(i?this.options[i]||i:this.options.pane)},addInteractiveTarget:function(i){return this._map._targets[bA(i)]=this,this},removeInteractiveTarget:function(i){return delete this._map._targets[bA(i)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(i){var s=i.target;if(s.hasLayer(this)){if(this._map=s,this._zoomAnimated=s._zoomAnimated,this.getEvents){var h=this.getEvents();s.on(h,this),this.once("remove",function(){s.off(h,this)},this)}this.onAdd(s),this.fire("add"),s.fire("layeradd",{layer:this})}}});PA.include({addLayer:function(i){if(!i._layerAdd)throw new Error("The provided object is not a Layer.");var s=bA(i);return this._layers[s]?this:(this._layers[s]=i,i._mapToAdd=this,i.beforeAdd&&i.beforeAdd(this),this.whenReady(i._layerAdd,i),this)},removeLayer:function(i){var s=bA(i);return this._layers[s]?(this._loaded&&i.onRemove(this),delete this._layers[s],this._loaded&&(this.fire("layerremove",{layer:i}),i.fire("remove")),i._map=i._mapToAdd=null,this):this},hasLayer:function(i){return bA(i)in this._layers},eachLayer:function(i,s){for(var h in this._layers)i.call(s,this._layers[h]);return this},_addLayers:function(i){i=i?HA(i)?i:[i]:[];for(var s=0,h=i.length;s<h;s++)this.addLayer(i[s])},_addZoomLimit:function(i){(!isNaN(i.options.maxZoom)||!isNaN(i.options.minZoom))&&(this._zoomBoundLayers[bA(i)]=i,this._updateZoomLevels())},_removeZoomLimit:function(i){var s=bA(i);this._zoomBoundLayers[s]&&(delete this._zoomBoundLayers[s],this._updateZoomLevels())},_updateZoomLevels:function(){var i=1/0,s=-1/0,h=this._getZoomSpan();for(var _ in this._zoomBoundLayers){var m=this._zoomBoundLayers[_].options;i=m.minZoom===void 0?i:Math.min(i,m.minZoom),s=m.maxZoom===void 0?s:Math.max(s,m.maxZoom)}this._layersMaxZoom=s===-1/0?void 0:s,this._layersMinZoom=i===1/0?void 0:i,h!==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 Fe=Yt.extend({initialize:function(i,s){LA(this,s),this._layers={};var h,_;if(i)for(h=0,_=i.length;h<_;h++)this.addLayer(i[h])},addLayer:function(i){var s=this.getLayerId(i);return this._layers[s]=i,this._map&&this._map.addLayer(i),this},removeLayer:function(i){var s=i in this._layers?i:this.getLayerId(i);return this._map&&this._layers[s]&&this._map.removeLayer(this._layers[s]),delete this._layers[s],this},hasLayer:function(i){var s=typeof i=="number"?i:this.getLayerId(i);return s in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(i){var s=Array.prototype.slice.call(arguments,1),h,_;for(h in this._layers)_=this._layers[h],_[i]&&_[i].apply(_,s);return this},onAdd:function(i){this.eachLayer(i.addLayer,i)},onRemove:function(i){this.eachLayer(i.removeLayer,i)},eachLayer:function(i,s){for(var h in this._layers)i.call(s,this._layers[h]);return this},getLayer:function(i){return this._layers[i]},getLayers:function(){var i=[];return this.eachLayer(i.push,i),i},setZIndex:function(i){return this.invoke("setZIndex",i)},getLayerId:function(i){return bA(i)}}),Rn=function(i,s){return new Fe(i,s)},qt=Fe.extend({addLayer:function(i){return this.hasLayer(i)?this:(i.addEventParent(this),Fe.prototype.addLayer.call(this,i),this.fire("layeradd",{layer:i}))},removeLayer:function(i){return this.hasLayer(i)?(i in this._layers&&(i=this._layers[i]),i.removeEventParent(this),Fe.prototype.removeLayer.call(this,i),this.fire("layerremove",{layer:i})):this},setStyle:function(i){return this.invoke("setStyle",i)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var i=new Bt;for(var s in this._layers){var h=this._layers[s];i.extend(h.getBounds?h.getBounds():h.getLatLng())}return i}}),Fn=function(i,s){return new qt(i,s)},Be=st.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(i){LA(this,i)},createIcon:function(i){return this._createIcon("icon",i)},createShadow:function(i){return this._createIcon("shadow",i)},_createIcon:function(i,s){var h=this._getIconUrl(i);if(!h){if(i==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var _=this._createImg(h,s&&s.tagName==="IMG"?s:null);return this._setIconStyles(_,i),(this.options.crossOrigin||this.options.crossOrigin==="")&&(_.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),_},_setIconStyles:function(i,s){var h=this.options,_=h[s+"Size"];typeof _=="number"&&(_=[_,_]);var m=_A(_),v=_A(s==="shadow"&&h.shadowAnchor||h.iconAnchor||m&&m.divideBy(2,!0));i.className="leaflet-marker-"+s+" "+(h.className||""),v&&(i.style.marginLeft=-v.x+"px",i.style.marginTop=-v.y+"px"),m&&(i.style.width=m.x+"px",i.style.height=m.y+"px")},_createImg:function(i,s){return s=s||document.createElement("img"),s.src=i,s},_getIconUrl:function(i){return A.retina&&this.options[i+"RetinaUrl"]||this.options[i+"Url"]}});function g0(i){return new Be(i)}var de=Be.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(i){return typeof de.imagePath!="string"&&(de.imagePath=this._detectIconPath()),(this.options.imagePath||de.imagePath)+Be.prototype._getIconUrl.call(this,i)},_stripUrl:function(i){var s=function(h,_,m){var v=_.exec(h);return v&&v[m]};return i=s(i,/^url\((['"])?(.+)\1\)$/,2),i&&s(i,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var i=DA("div","leaflet-default-icon-path",document.body),s=Xe(i,"background-image")||Xe(i,"backgroundImage");if(document.body.removeChild(i),s=this._stripUrl(s),s)return s;var h=document.querySelector('link[href$="leaflet.css"]');return h?h.href.substring(0,h.href.length-11-1):""}}),zA=Zt.extend({initialize:function(i){this._marker=i},addHooks:function(){var i=this._marker._icon;this._draggable||(this._draggable=new ce(i,i,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),BA(i,"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&&it(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(i){var s=this._marker,h=s._map,_=this._marker.options.autoPanSpeed,m=this._marker.options.autoPanPadding,v=we(s._icon),E=h.getPixelBounds(),I=h.getPixelOrigin(),S=ft(E.min._subtract(I).add(m),E.max._subtract(I).subtract(m));if(!S.contains(v)){var G=_A((Math.max(S.max.x,v.x)-S.max.x)/(E.max.x-S.max.x)-(Math.min(S.min.x,v.x)-S.min.x)/(E.min.x-S.min.x),(Math.max(S.max.y,v.y)-S.max.y)/(E.max.y-S.max.y)-(Math.min(S.min.y,v.y)-S.min.y)/(E.min.y-S.min.y)).multiplyBy(_);h.panBy(G,{animate:!1}),this._draggable._newPos._add(G),this._draggable._startPos._add(G),ot(s._icon,this._draggable._newPos),this._onDrag(i),this._panRequest=UA(this._adjustPan.bind(this,i))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(i){this._marker.options.autoPan&&(GA(this._panRequest),this._panRequest=UA(this._adjustPan.bind(this,i)))},_onDrag:function(i){var s=this._marker,h=s._shadow,_=we(s._icon),m=s._map.layerPointToLatLng(_);h&&ot(h,_),s._latlng=m,i.latlng=m,i.oldLatLng=this._oldLatLng,s.fire("move",i).fire("drag",i)},_onDragEnd:function(i){GA(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",i)}}),Pi=Yt.extend({options:{icon:new de,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(i,s){LA(this,s),this._latlng=CA(i)},onAdd:function(i){this._zoomAnimated=this._zoomAnimated&&i.options.markerZoomAnimation,this._zoomAnimated&&i.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(i){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&i.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(i){var s=this._latlng;return this._latlng=CA(i),this.update(),this.fire("move",{oldLatLng:s,latlng:this._latlng})},setZIndexOffset:function(i){return this.options.zIndexOffset=i,this.update()},getIcon:function(){return this.options.icon},setIcon:function(i){return this.options.icon=i,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 i=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(i)}return this},_initIcon:function(){var i=this.options,s="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),h=i.icon.createIcon(this._icon),_=!1;h!==this._icon&&(this._icon&&this._removeIcon(),_=!0,i.title&&(h.title=i.title),h.tagName==="IMG"&&(h.alt=i.alt||"")),BA(h,s),i.keyboard&&(h.tabIndex="0",h.setAttribute("role","button")),this._icon=h,i.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&pA(h,"focus",this._panOnFocus,this);var m=i.icon.createShadow(this._shadow),v=!1;m!==this._shadow&&(this._removeShadow(),v=!0),m&&(BA(m,s),m.alt=""),this._shadow=m,i.opacity<1&&this._updateOpacity(),_&&this.getPane().appendChild(this._icon),this._initInteraction(),m&&v&&this.getPane(i.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&OA(this._icon,"focus",this._panOnFocus,this),JA(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&JA(this._shadow),this._shadow=null},_setPos:function(i){this._icon&&ot(this._icon,i),this._shadow&&ot(this._shadow,i),this._zIndex=i.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(i){this._icon&&(this._icon.style.zIndex=this._zIndex+i)},_animateZoom:function(i){var s=this._map._latLngToNewLayerPoint(this._latlng,i.zoom,i.center).round();this._setPos(s)},_initInteraction:function(){if(this.options.interactive&&(BA(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),zA)){var i=this.options.draggable;this.dragging&&(i=this.dragging.enabled(),this.dragging.disable()),this.dragging=new zA(this),i&&this.dragging.enable()}},setOpacity:function(i){return this.options.opacity=i,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var i=this.options.opacity;this._icon&&St(this._icon,i),this._shadow&&St(this._shadow,i)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var i=this._map;if(i){var s=this.options.icon.options,h=s.iconSize?_A(s.iconSize):_A(0,0),_=s.iconAnchor?_A(s.iconAnchor):_A(0,0);i.panInside(this._latlng,{paddingTopLeft:_,paddingBottomRight:h.subtract(_)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function q0(i,s){return new Pi(i,s)}var me=Yt.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(i){this._renderer=i.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(i){return LA(this,i),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&i&&Object.prototype.hasOwnProperty.call(i,"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)}}),bi=me.extend({options:{fill:!0,radius:10},initialize:function(i,s){LA(this,s),this._latlng=CA(i),this._radius=this.options.radius},setLatLng:function(i){var s=this._latlng;return this._latlng=CA(i),this.redraw(),this.fire("move",{oldLatLng:s,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(i){return this.options.radius=this._radius=i,this.redraw()},getRadius:function(){return this._radius},setStyle:function(i){var s=i&&i.radius||this._radius;return me.prototype.setStyle.call(this,i),this.setRadius(s),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var i=this._radius,s=this._radiusY||i,h=this._clickTolerance(),_=[i+h,s+h];this._pxBounds=new WA(this._point.subtract(_),this._point.add(_))},_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(i){return i.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function Nn(i,s){return new bi(i,s)}var v0=bi.extend({initialize:function(i,s,h){if(typeof s=="number"&&(s=q({},h,{radius:s})),LA(this,s),this._latlng=CA(i),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(i){return this._mRadius=i,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var i=[this._radius,this._radiusY||this._radius];return new Bt(this._map.layerPointToLatLng(this._point.subtract(i)),this._map.layerPointToLatLng(this._point.add(i)))},setStyle:me.prototype.setStyle,_project:function(){var i=this._latlng.lng,s=this._latlng.lat,h=this._map,_=h.options.crs;if(_.distance===ge.distance){var m=Math.PI/180,v=this._mRadius/ge.R/m,E=h.project([s+v,i]),I=h.project([s-v,i]),S=E.add(I).divideBy(2),G=h.unproject(S).lat,V=Math.acos((Math.cos(v*m)-Math.sin(s*m)*Math.sin(G*m))/(Math.cos(s*m)*Math.cos(G*m)))/m;(isNaN(V)||V===0)&&(V=v/Math.cos(Math.PI/180*s)),this._point=S.subtract(h.getPixelOrigin()),this._radius=isNaN(V)?0:S.x-h.project([G,i-V]).x,this._radiusY=S.y-E.y}else{var rA=_.unproject(_.project(this._latlng).subtract([this._mRadius,0]));this._point=h.latLngToLayerPoint(this._latlng),this._radius=this._point.x-h.latLngToLayerPoint(rA).x}this._updateBounds()}});function Gn(i,s,h){return new v0(i,s,h)}var $A=me.extend({options:{smoothFactor:1,noClip:!1},initialize:function(i,s){LA(this,s),this._setLatLngs(i)},getLatLngs:function(){return this._latlngs},setLatLngs:function(i){return this._setLatLngs(i),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(i){for(var s=1/0,h=null,_=ri,m,v,E=0,I=this._parts.length;E<I;E++)for(var S=this._parts[E],G=1,V=S.length;G<V;G++){m=S[G-1],v=S[G];var rA=_(i,m,v,!0);rA<s&&(s=rA,h=_(i,m,v))}return h&&(h.distance=Math.sqrt(s)),h},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return J0(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(i,s){return s=s||this._defaultShape(),i=CA(i),s.push(i),this._bounds.extend(i),this.redraw()},_setLatLngs:function(i){this._bounds=new Bt,this._latlngs=this._convertLatLngs(i)},_defaultShape:function(){return Wt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(i){for(var s=[],h=Wt(i),_=0,m=i.length;_<m;_++)h?(s[_]=CA(i[_]),this._bounds.extend(s[_])):s[_]=this._convertLatLngs(i[_]);return s},_project:function(){var i=new WA;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,i),this._bounds.isValid()&&i.isValid()&&(this._rawPxBounds=i,this._updateBounds())},_updateBounds:function(){var i=this._clickTolerance(),s=new uA(i,i);this._rawPxBounds&&(this._pxBounds=new WA([this._rawPxBounds.min.subtract(s),this._rawPxBounds.max.add(s)]))},_projectLatlngs:function(i,s,h){var _=i[0]instanceof QA,m=i.length,v,E;if(_){for(E=[],v=0;v<m;v++)E[v]=this._map.latLngToLayerPoint(i[v]),h.extend(E[v]);s.push(E)}else for(v=0;v<m;v++)this._projectLatlngs(i[v],s,h)},_clipPoints:function(){var i=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(i))){if(this.options.noClip){this._parts=this._rings;return}var s=this._parts,h,_,m,v,E,I,S;for(h=0,m=0,v=this._rings.length;h<v;h++)for(S=this._rings[h],_=0,E=S.length;_<E-1;_++)I=K0(S[_],S[_+1],i,_,!0),I&&(s[m]=s[m]||[],s[m].push(I[0]),(I[1]!==S[_+1]||_===E-2)&&(s[m].push(I[1]),m++))}},_simplifyPoints:function(){for(var i=this._parts,s=this.options.smoothFactor,h=0,_=i.length;h<_;h++)i[h]=f0(i[h],s)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(i,s){var h,_,m,v,E,I,S=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(i))return!1;for(h=0,v=this._parts.length;h<v;h++)for(I=this._parts[h],_=0,E=I.length,m=E-1;_<E;m=_++)if(!(!s&&_===0)&&V0(i,I[m],I[_])<=S)return!0;return!1}});function w0(i,s){return new $A(i,s)}$A._flat=Re;var jt=$A.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return yi(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(i){var s=$A.prototype._convertLatLngs.call(this,i),h=s.length;return h>=2&&s[0]instanceof QA&&s[0].equals(s[h-1])&&s.pop(),s},_setLatLngs:function(i){$A.prototype._setLatLngs.call(this,i),Wt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Wt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var i=this._renderer._bounds,s=this.options.weight,h=new uA(s,s);if(i=new WA(i.min.subtract(h),i.max.add(h)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(i))){if(this.options.noClip){this._parts=this._rings;return}for(var _=0,m=this._rings.length,v;_<m;_++)v=h0(this._rings[_],i,!0),v.length&&this._parts.push(v)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(i){var s=!1,h,_,m,v,E,I,S,G;if(!this._pxBounds||!this._pxBounds.contains(i))return!1;for(v=0,S=this._parts.length;v<S;v++)for(h=this._parts[v],E=0,G=h.length,I=G-1;E<G;I=E++)_=h[E],m=h[I],_.y>i.y!=m.y>i.y&&i.x<(m.x-_.x)*(i.y-_.y)/(m.y-_.y)+_.x&&(s=!s);return s||$A.prototype._containsPoint.call(this,i,!0)}});function Hn(i,s){return new jt(i,s)}var Xt=qt.extend({initialize:function(i,s){LA(this,s),this._layers={},i&&this.addData(i)},addData:function(i){var s=HA(i)?i:i.features,h,_,m;if(s){for(h=0,_=s.length;h<_;h++)m=s[h],(m.geometries||m.geometry||m.features||m.coordinates)&&this.addData(m);return this}var v=this.options;if(v.filter&&!v.filter(i))return this;var E=Li(i,v);return E?(E.feature=Ei(i),E.defaultOptions=E.options,this.resetStyle(E),v.onEachFeature&&v.onEachFeature(i,E),this.addLayer(E)):this},resetStyle:function(i){return i===void 0?this.eachLayer(this.resetStyle,this):(i.options=q({},i.defaultOptions),this._setLayerStyle(i,this.options.style),this)},setStyle:function(i){return this.eachLayer(function(s){this._setLayerStyle(s,i)},this)},_setLayerStyle:function(i,s){i.setStyle&&(typeof s=="function"&&(s=s(i.feature)),i.setStyle(s))}});function Li(i,s){var h=i.type==="Feature"?i.geometry:i,_=h?h.coordinates:null,m=[],v=s&&s.pointToLayer,E=s&&s.coordsToLatLng||oi,I,S,G,V;if(!_&&!h)return null;switch(h.type){case"Point":return I=E(_),Rt(v,i,I,s);case"MultiPoint":for(G=0,V=_.length;G<V;G++)I=E(_[G]),m.push(Rt(v,i,I,s));return new qt(m);case"LineString":case"MultiLineString":return S=Ne(_,h.type==="LineString"?0:1,E),new $A(S,s);case"Polygon":case"MultiPolygon":return S=Ne(_,h.type==="Polygon"?1:2,E),new jt(S,s);case"GeometryCollection":for(G=0,V=h.geometries.length;G<V;G++){var rA=Li({geometry:h.geometries[G],type:"Feature",properties:i.properties},s);rA&&m.push(rA)}return new qt(m);case"FeatureCollection":for(G=0,V=h.features.length;G<V;G++){var yA=Li(h.features[G],s);yA&&m.push(yA)}return new qt(m);default:throw new Error("Invalid GeoJSON object.")}}function Rt(i,s,h,_){return i?i(s,h):new Pi(h,_&&_.markersInheritOptions&&_)}function oi(i){return new QA(i[1],i[0],i[2])}function Ne(i,s,h){for(var _=[],m=0,v=i.length,E;m<v;m++)E=s?Ne(i[m],s-1,h):(h||oi)(i[m]),_.push(E);return _}function Pe(i,s){return i=CA(i),i.alt!==void 0?[VA(i.lng,s),VA(i.lat,s),VA(i.alt,s)]:[VA(i.lng,s),VA(i.lat,s)]}function re(i,s,h,_){for(var m=[],v=0,E=i.length;v<E;v++)m.push(s?re(i[v],Wt(i[v])?0:s-1,h,_):Pe(i[v],_));return!s&&h&&m.length>0&&m.push(m[0].slice()),m}function $t(i,s){return i.feature?q({},i.feature,{geometry:s}):Ei(s)}function Ei(i){return i.type==="Feature"||i.type==="FeatureCollection"?i:{type:"Feature",properties:{},geometry:i}}var Ci={toGeoJSON:function(i){return $t(this,{type:"Point",coordinates:Pe(this.getLatLng(),i)})}};Pi.include(Ci),v0.include(Ci),bi.include(Ci),$A.include({toGeoJSON:function(i){var s=!Wt(this._latlngs),h=re(this._latlngs,s?1:0,!1,i);return $t(this,{type:(s?"Multi":"")+"LineString",coordinates:h})}}),jt.include({toGeoJSON:function(i){var s=!Wt(this._latlngs),h=s&&!Wt(this._latlngs[0]),_=re(this._latlngs,h?2:s?1:0,!0,i);return s||(_=[_]),$t(this,{type:(h?"Multi":"")+"Polygon",coordinates:_})}}),Fe.include({toMultiPoint:function(i){var s=[];return this.eachLayer(function(h){s.push(h.toGeoJSON(i).geometry.coordinates)}),$t(this,{type:"MultiPoint",coordinates:s})},toGeoJSON:function(i){var s=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(s==="MultiPoint")return this.toMultiPoint(i);var h=s==="GeometryCollection",_=[];return this.eachLayer(function(m){if(m.toGeoJSON){var v=m.toGeoJSON(i);if(h)_.push(v.geometry);else{var E=Ei(v);E.type==="FeatureCollection"?_.push.apply(_,E.features):_.push(E)}}}),h?$t(this,{geometries:_,type:"GeometryCollection"}):{type:"FeatureCollection",features:_}}});function X0(i,s){return new Xt(i,s)}var y0=X0,xi=Yt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(i,s,h){this._url=i,this._bounds=rt(s),LA(this,h)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(BA(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){JA(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(i){return this.options.opacity=i,this._image&&this._updateOpacity(),this},setStyle:function(i){return i.opacity&&this.setOpacity(i.opacity),this},bringToFront:function(){return this._map&&Se(this._image),this},bringToBack:function(){return this._map&&Qe(this._image),this},setUrl:function(i){return this._url=i,this._image&&(this._image.src=i),this},setBounds:function(i){return this._bounds=rt(i),this._map&&this._reset(),this},getEvents:function(){var i={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(i.zoomanim=this._animateZoom),i},setZIndex:function(i){return this.options.zIndex=i,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var i=this._url.tagName==="IMG",s=this._image=i?this._url:DA("img");if(BA(s,"leaflet-image-layer"),this._zoomAnimated&&BA(s,"leaflet-zoom-animated"),this.options.className&&BA(s,this.options.className),s.onselectstart=NA,s.onmousemove=NA,s.onload=wA(this.fire,this,"load"),s.onerror=wA(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(s.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),i){this._url=s.src;return}s.src=this._url,s.alt=this.options.alt},_animateZoom:function(i){var s=this._map.getZoomScale(i.zoom),h=this._map._latLngBoundsToNewLayerBounds(this._bounds,i.zoom,i.center).min;YA(this._image,h,s)},_reset:function(){var i=this._image,s=new WA(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),h=s.getSize();ot(i,s.min),i.style.width=h.x+"px",i.style.height=h.y+"px"},_updateOpacity:function(){St(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 i=this.options.errorOverlayUrl;i&&this._url!==i&&(this._url=i,this._image.src=i)},getCenter:function(){return this._bounds.getCenter()}}),Un=function(i,s,h){return new xi(i,s,h)},Ti=xi.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var i=this._url.tagName==="VIDEO",s=this._image=i?this._url:DA("video");if(BA(s,"leaflet-image-layer"),this._zoomAnimated&&BA(s,"leaflet-zoom-animated"),this.options.className&&BA(s,this.options.className),s.onselectstart=NA,s.onmousemove=NA,s.onloadeddata=wA(this.fire,this,"load"),i){for(var h=s.getElementsByTagName("source"),_=[],m=0;m<h.length;m++)_.push(h[m].src);this._url=h.length>0?_:[s.src];return}HA(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(s.style,"objectFit")&&(s.style.objectFit="fill"),s.autoplay=!!this.options.autoplay,s.loop=!!this.options.loop,s.muted=!!this.options.muted,s.playsInline=!!this.options.playsInline;for(var v=0;v<this._url.length;v++){var E=DA("source");E.src=this._url[v],s.appendChild(E)}}});function $0(i,s,h){return new Ti(i,s,h)}var Mi=xi.extend({_initImage:function(){var i=this._image=this._url;BA(i,"leaflet-image-layer"),this._zoomAnimated&&BA(i,"leaflet-zoom-animated"),this.options.className&&BA(i,this.options.className),i.onselectstart=NA,i.onmousemove=NA}});function si(i,s,h){return new Mi(i,s,h)}var bt=Yt.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(i,s){i&&(i instanceof QA||HA(i))?(this._latlng=CA(i),LA(this,s)):(LA(this,i),this._source=s),this.options.content&&(this._content=this.options.content)},openOn:function(i){return i=arguments.length?i:this._source._map,i.hasLayer(this)||i.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(i){return this._map?this.close():(arguments.length?this._source=i:i=this._source,this._prepareOpen(),this.openOn(i._map)),this},onAdd:function(i){this._zoomAnimated=i._zoomAnimated,this._container||this._initLayout(),i._fadeAnimated&&St(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),i._fadeAnimated&&St(this._container,1),this.bringToFront(),this.options.interactive&&(BA(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(i){i._fadeAnimated?(St(this._container,0),this._removeTimeout=setTimeout(wA(JA,void 0,this._container),200)):JA(this._container),this.options.interactive&&(it(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(i){return this._latlng=CA(i),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(i){return this._content=i,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 i={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(i.zoomanim=this._animateZoom),i},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&Se(this._container),this},bringToBack:function(){return this._map&&Qe(this._container),this},_prepareOpen:function(i){var s=this._source;if(!s._map)return!1;if(s instanceof qt){s=null;var h=this._source._layers;for(var _ in h)if(h[_]._map){s=h[_];break}if(!s)return!1;this._source=s}if(!i)if(s.getCenter)i=s.getCenter();else if(s.getLatLng)i=s.getLatLng();else if(s.getBounds)i=s.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(i),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var i=this._contentNode,s=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof s=="string")i.innerHTML=s;else{for(;i.hasChildNodes();)i.removeChild(i.firstChild);i.appendChild(s)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var i=this._map.latLngToLayerPoint(this._latlng),s=_A(this.options.offset),h=this._getAnchor();this._zoomAnimated?ot(this._container,i.add(h)):s=s.add(i).add(h);var _=this._containerBottom=-s.y,m=this._containerLeft=-Math.round(this._containerWidth/2)+s.x;this._container.style.bottom=_+"px",this._container.style.left=m+"px"}},_getAnchor:function(){return[0,0]}});PA.include({_initOverlay:function(i,s,h,_){var m=s;return m instanceof i||(m=new i(_).setContent(s)),h&&m.setLatLng(h),m}}),Yt.include({_initOverlay:function(i,s,h,_){var m=h;return m instanceof i?(LA(m,_),m._source=this):(m=s&&!_?s:new i(_,this),m.setContent(h)),m}});var gt=bt.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(i){return i=arguments.length?i:this._source._map,!i.hasLayer(this)&&i._popup&&i._popup.options.autoClose&&i.removeLayer(i._popup),i._popup=this,bt.prototype.openOn.call(this,i)},onAdd:function(i){bt.prototype.onAdd.call(this,i),i.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof me||this._source.on("preclick",xe))},onRemove:function(i){bt.prototype.onRemove.call(this,i),i.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof me||this._source.off("preclick",xe))},getEvents:function(){var i=bt.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(i.preclick=this.close),this.options.keepInView&&(i.moveend=this._adjustPan),i},_initLayout:function(){var i="leaflet-popup",s=this._container=DA("div",i+" "+(this.options.className||"")+" leaflet-zoom-animated"),h=this._wrapper=DA("div",i+"-content-wrapper",s);if(this._contentNode=DA("div",i+"-content",h),Te(s),ii(this._contentNode),pA(s,"contextmenu",xe),this._tipContainer=DA("div",i+"-tip-container",s),this._tip=DA("div",i+"-tip",this._tipContainer),this.options.closeButton){var _=this._closeButton=DA("a",i+"-close-button",s);_.setAttribute("role","button"),_.setAttribute("aria-label","Close popup"),_.href="#close",_.innerHTML='<span aria-hidden="true">×</span>',pA(_,"click",function(m){_t(m),this.close()},this)}},_updateLayout:function(){var i=this._contentNode,s=i.style;s.width="",s.whiteSpace="nowrap";var h=i.offsetWidth;h=Math.min(h,this.options.maxWidth),h=Math.max(h,this.options.minWidth),s.width=h+1+"px",s.whiteSpace="",s.height="";var _=i.offsetHeight,m=this.options.maxHeight,v="leaflet-popup-scrolled";m&&_>m?(s.height=m+"px",BA(i,v)):it(i,v),this._containerWidth=this._container.offsetWidth},_animateZoom:function(i){var s=this._map._latLngToNewLayerPoint(this._latlng,i.zoom,i.center),h=this._getAnchor();ot(this._container,s.add(h))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var i=this._map,s=parseInt(Xe(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+s,_=this._containerWidth,m=new uA(this._containerLeft,-h-this._containerBottom);m._add(we(this._container));var v=i.layerPointToContainerPoint(m),E=_A(this.options.autoPanPadding),I=_A(this.options.autoPanPaddingTopLeft||E),S=_A(this.options.autoPanPaddingBottomRight||E),G=i.getSize(),V=0,rA=0;v.x+_+S.x>G.x&&(V=v.x+_-G.x+S.x),v.x-V-I.x<0&&(V=v.x-I.x),v.y+h+S.y>G.y&&(rA=v.y+h-G.y+S.y),v.y-rA-I.y<0&&(rA=v.y-I.y),(V||rA)&&(this.options.keepInView&&(this._autopanning=!0),i.fire("autopanstart").panBy([V,rA]))}},_getAnchor:function(){return _A(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Wn=function(i,s){return new gt(i,s)};PA.mergeOptions({closePopupOnClick:!0}),PA.include({openPopup:function(i,s,h){return this._initOverlay(gt,i,s,h).openOn(this),this},closePopup:function(i){return i=arguments.length?i:this._popup,i&&i.close(),this}}),Yt.include({bindPopup:function(i,s){return this._popup=this._initOverlay(gt,this._popup,i,s),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(i){return this._popup&&(this instanceof qt||(this._popup._source=this),this._popup._prepareOpen(i||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},setPopupContent:function(i){return this._popup&&this._popup.setContent(i),this},getPopup:function(){return this._popup},_openPopup:function(i){if(!(!this._popup||!this._map)){ye(i);var s=i.layer||i.target;if(this._popup._source===s&&!(s instanceof me)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(i.latlng);return}this._popup._source=s,this.openPopup(i.latlng)}},_movePopup:function(i){this._popup.setLatLng(i.latlng)},_onKeyPress:function(i){i.originalEvent.keyCode===13&&this._openPopup(i)}});var be=bt.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(i){bt.prototype.onAdd.call(this,i),this.setOpacity(this.options.opacity),i.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(i){bt.prototype.onRemove.call(this,i),i.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var i=bt.prototype.getEvents.call(this);return this.options.permanent||(i.preclick=this.close),i},_initLayout:function(){var i="leaflet-tooltip",s=i+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=DA("div",s),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+bA(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(i){var s,h,_=this._map,m=this._container,v=_.latLngToContainerPoint(_.getCenter()),E=_.layerPointToContainerPoint(i),I=this.options.direction,S=m.offsetWidth,G=m.offsetHeight,V=_A(this.options.offset),rA=this._getAnchor();I==="top"?(s=S/2,h=G):I==="bottom"?(s=S/2,h=0):I==="center"?(s=S/2,h=G/2):I==="right"?(s=0,h=G/2):I==="left"?(s=S,h=G/2):E.x<v.x?(I="right",s=0,h=G/2):(I="left",s=S+(V.x+rA.x)*2,h=G/2),i=i.subtract(_A(s,h,!0)).add(V).add(rA),it(m,"leaflet-tooltip-right"),it(m,"leaflet-tooltip-left"),it(m,"leaflet-tooltip-top"),it(m,"leaflet-tooltip-bottom"),BA(m,"leaflet-tooltip-"+I),ot(m,i)},_updatePosition:function(){var i=this._map.latLngToLayerPoint(this._latlng);this._setPosition(i)},setOpacity:function(i){this.options.opacity=i,this._container&&St(this._container,i)},_animateZoom:function(i){var s=this._map._latLngToNewLayerPoint(this._latlng,i.zoom,i.center);this._setPosition(s)},_getAnchor:function(){return _A(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),Yn=function(i,s){return new be(i,s)};PA.include({openTooltip:function(i,s,h){return this._initOverlay(be,i,s,h).openOn(this),this},closeTooltip:function(i){return i.close(),this}}),Yt.include({bindTooltip:function(i,s){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(be,this._tooltip,i,s),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(i){if(!(!i&&this._tooltipHandlersAdded)){var s=i?"off":"on",h={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?h.add=this._openTooltip:(h.mouseover=this._openTooltip,h.mouseout=this.closeTooltip,h.click=this._openTooltip,this._map?this._addFocusListeners():h.add=this._addFocusListeners),this._tooltip.options.sticky&&(h.mousemove=this._moveTooltip),this[s](h),this._tooltipHandlersAdded=!i}},openTooltip:function(i){return this._tooltip&&(this instanceof qt||(this._tooltip._source=this),this._tooltip._prepareOpen(i)&&(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(i){return this._tooltip&&this._tooltip.setContent(i),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(i){var s=typeof i.getElement=="function"&&i.getElement();s&&(pA(s,"focus",function(){this._tooltip._source=i,this.openTooltip()},this),pA(s,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(i){var s=typeof i.getElement=="function"&&i.getElement();s&&s.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(i){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var s=this;this._map.once("moveend",function(){s._openOnceFlag=!1,s._openTooltip(i)});return}this._tooltip._source=i.layer||i.target,this.openTooltip(this._tooltip.options.sticky?i.latlng:void 0)}},_moveTooltip:function(i){var s=i.latlng,h,_;this._tooltip.options.sticky&&i.originalEvent&&(h=this._map.mouseEventToContainerPoint(i.originalEvent),_=this._map.containerPointToLayerPoint(h),s=this._map.layerPointToLatLng(_)),this._tooltip.setLatLng(s)}});var An=Be.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(i){var s=i&&i.tagName==="DIV"?i:document.createElement("div"),h=this.options;if(h.html instanceof Element?(g(s),s.appendChild(h.html)):s.innerHTML=h.html!==!1?h.html:"",h.bgPos){var _=_A(h.bgPos);s.style.backgroundPosition=-_.x+"px "+-_.y+"px"}return this._setIconStyles(s,"icon"),s},createShadow:function(){return null}});function jn(i){return new An(i)}Be.Default=de;var Ge=Yt.extend({options:{tileSize:256,opacity:1,updateWhenIdle:A.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(i){LA(this,i)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(i){i._addZoomLimit(this)},onRemove:function(i){this._removeAllTiles(),JA(this._container),i._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Se(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Qe(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(i){return this.options.opacity=i,this._updateOpacity(),this},setZIndex:function(i){return this.options.zIndex=i,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var i=this._clampZoom(this._map.getZoom());i!==this._tileZoom&&(this._tileZoom=i,this._updateLevels()),this._update()}return this},getEvents:function(){var i={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=Nt(this._onMoveEnd,this.options.updateInterval,this)),i.move=this._onMove),this._zoomAnimated&&(i.zoomanim=this._animateZoom),i},createTile:function(){return document.createElement("div")},getTileSize:function(){var i=this.options.tileSize;return i instanceof uA?i:new uA(i,i)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(i){for(var s=this.getPane().children,h=-i(-1/0,1/0),_=0,m=s.length,v;_<m;_++)v=s[_].style.zIndex,s[_]!==this._container&&v&&(h=i(h,+v));isFinite(h)&&(this.options.zIndex=h+i(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!A.ielt9){St(this._container,this.options.opacity);var i=+new Date,s=!1,h=!1;for(var _ in this._tiles){var m=this._tiles[_];if(!(!m.current||!m.loaded)){var v=Math.min(1,(i-m.loaded)/200);St(m.el,v),v<1?s=!0:(m.active?h=!0:this._onOpaqueTile(m),m.active=!0)}}h&&!this._noPrune&&this._pruneTiles(),s&&(GA(this._fadeFrame),this._fadeFrame=UA(this._updateOpacity,this))}},_onOpaqueTile:NA,_initContainer:function(){this._container||(this._container=DA("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var i=this._tileZoom,s=this.options.maxZoom;if(i!==void 0){for(var h in this._levels)h=Number(h),this._levels[h].el.children.length||h===i?(this._levels[h].el.style.zIndex=s-Math.abs(i-h),this._onUpdateLevel(h)):(JA(this._levels[h].el),this._removeTilesAtZoom(h),this._onRemoveLevel(h),delete this._levels[h]);var _=this._levels[i],m=this._map;return _||(_=this._levels[i]={},_.el=DA("div","leaflet-tile-container leaflet-zoom-animated",this._container),_.el.style.zIndex=s,_.origin=m.project(m.unproject(m.getPixelOrigin()),i).round(),_.zoom=i,this._setZoomTransform(_,m.getCenter(),m.getZoom()),NA(_.el.offsetWidth),this._onCreateLevel(_)),this._level=_,_}},_onUpdateLevel:NA,_onRemoveLevel:NA,_onCreateLevel:NA,_pruneTiles:function(){if(this._map){var i,s,h=this._map.getZoom();if(h>this.options.maxZoom||h<this.options.minZoom){this._removeAllTiles();return}for(i in this._tiles)s=this._tiles[i],s.retain=s.current;for(i in this._tiles)if(s=this._tiles[i],s.current&&!s.active){var _=s.coords;this._retainParent(_.x,_.y,_.z,_.z-5)||this._retainChildren(_.x,_.y,_.z,_.z+2)}for(i in this._tiles)this._tiles[i].retain||this._removeTile(i)}},_removeTilesAtZoom:function(i){for(var s in this._tiles)this._tiles[s].coords.z===i&&this._removeTile(s)},_removeAllTiles:function(){for(var i in this._tiles)this._removeTile(i)},_invalidateAll:function(){for(var i in this._levels)JA(this._levels[i].el),this._onRemoveLevel(Number(i)),delete this._levels[i];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(i,s,h,_){var m=Math.floor(i/2),v=Math.floor(s/2),E=h-1,I=new uA(+m,+v);I.z=+E;var S=this._tileCoordsToKey(I),G=this._tiles[S];return G&&G.active?(G.retain=!0,!0):(G&&G.loaded&&(G.retain=!0),E>_?this._retainParent(m,v,E,_):!1)},_retainChildren:function(i,s,h,_){for(var m=2*i;m<2*i+2;m++)for(var v=2*s;v<2*s+2;v++){var E=new uA(m,v);E.z=h+1;var I=this._tileCoordsToKey(E),S=this._tiles[I];if(S&&S.active){S.retain=!0;continue}else S&&S.loaded&&(S.retain=!0);h+1<_&&this._retainChildren(m,v,h+1,_)}},_resetView:function(i){var s=i&&(i.pinch||i.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),s,s)},_animateZoom:function(i){this._setView(i.center,i.zoom,!0,i.noUpdate)},_clampZoom:function(i){var s=this.options;return s.minNativeZoom!==void 0&&i<s.minNativeZoom?s.minNativeZoom:s.maxNativeZoom!==void 0&&s.maxNativeZoom<i?s.maxNativeZoom:i},_setView:function(i,s,h,_){var m=Math.round(s);this.options.maxZoom!==void 0&&m>this.options.maxZoom||this.options.minZoom!==void 0&&m<this.options.minZoom?m=void 0:m=this._clampZoom(m);var v=this.options.updateWhenZooming&&m!==this._tileZoom;(!_||v)&&(this._tileZoom=m,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),m!==void 0&&this._update(i),h||this._pruneTiles(),this._noPrune=!!h),this._setZoomTransforms(i,s)},_setZoomTransforms:function(i,s){for(var h in this._levels)this._setZoomTransform(this._levels[h],i,s)},_setZoomTransform:function(i,s,h){var _=this._map.getZoomScale(h,i.zoom),m=i.origin.multiplyBy(_).subtract(this._map._getNewPixelOrigin(s,h)).round();A.any3d?YA(i.el,m,_):ot(i.el,m)},_resetGrid:function(){var i=this._map,s=i.options.crs,h=this._tileSize=this.getTileSize(),_=this._tileZoom,m=this._map.getPixelWorldBounds(this._tileZoom);m&&(this._globalTileRange=this._pxBoundsToTileRange(m)),this._wrapX=s.wrapLng&&!this.options.noWrap&&[Math.floor(i.project([0,s.wrapLng[0]],_).x/h.x),Math.ceil(i.project([0,s.wrapLng[1]],_).x/h.y)],this._wrapY=s.wrapLat&&!this.options.noWrap&&[Math.floor(i.project([s.wrapLat[0],0],_).y/h.x),Math.ceil(i.project([s.wrapLat[1],0],_).y/h.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(i){var s=this._map,h=s._animatingZoom?Math.max(s._animateToZoom,s.getZoom()):s.getZoom(),_=s.getZoomScale(h,this._tileZoom),m=s.project(i,this._tileZoom).floor(),v=s.getSize().divideBy(_*2);return new WA(m.subtract(v),m.add(v))},_update:function(i){var s=this._map;if(s){var h=this._clampZoom(s.getZoom());if(i===void 0&&(i=s.getCenter()),this._tileZoom!==void 0){var _=this._getTiledPixelBounds(i),m=this._pxBoundsToTileRange(_),v=m.getCenter(),E=[],I=this.options.keepBuffer,S=new WA(m.getBottomLeft().subtract([I,-I]),m.getTopRight().add([I,-I]));if(!(isFinite(m.min.x)&&isFinite(m.min.y)&&isFinite(m.max.x)&&isFinite(m.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var G in this._tiles){var V=this._tiles[G].coords;(V.z!==this._tileZoom||!S.contains(new uA(V.x,V.y)))&&(this._tiles[G].current=!1)}if(Math.abs(h-this._tileZoom)>1){this._setView(i,h);return}for(var rA=m.min.y;rA<=m.max.y;rA++)for(var yA=m.min.x;yA<=m.max.x;yA++){var vt=new uA(yA,rA);if(vt.z=this._tileZoom,!!this._isValidTile(vt)){var ut=this._tiles[this._tileCoordsToKey(vt)];ut?ut.current=!0:E.push(vt)}}if(E.sort(function(Tt,Ue){return Tt.distanceTo(v)-Ue.distanceTo(v)}),E.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Vt=document.createDocumentFragment();for(yA=0;yA<E.length;yA++)this._addTile(E[yA],Vt);this._level.el.appendChild(Vt)}}}},_isValidTile:function(i){var s=this._map.options.crs;if(!s.infinite){var h=this._globalTileRange;if(!s.wrapLng&&(i.x<h.min.x||i.x>h.max.x)||!s.wrapLat&&(i.y<h.min.y||i.y>h.max.y))return!1}if(!this.options.bounds)return!0;var _=this._tileCoordsToBounds(i);return rt(this.options.bounds).overlaps(_)},_keyToBounds:function(i){return this._tileCoordsToBounds(this._keyToTileCoords(i))},_tileCoordsToNwSe:function(i){var s=this._map,h=this.getTileSize(),_=i.scaleBy(h),m=_.add(h),v=s.unproject(_,i.z),E=s.unproject(m,i.z);return[v,E]},_tileCoordsToBounds:function(i){var s=this._tileCoordsToNwSe(i),h=new Bt(s[0],s[1]);return this.options.noWrap||(h=this._map.wrapLatLngBounds(h)),h},_tileCoordsToKey:function(i){return i.x+":"+i.y+":"+i.z},_keyToTileCoords:function(i){var s=i.split(":"),h=new uA(+s[0],+s[1]);return h.z=+s[2],h},_removeTile:function(i){var s=this._tiles[i];s&&(JA(s.el),delete this._tiles[i],this.fire("tileunload",{tile:s.el,coords:this._keyToTileCoords(i)}))},_initTile:function(i){BA(i,"leaflet-tile");var s=this.getTileSize();i.style.width=s.x+"px",i.style.height=s.y+"px",i.onselectstart=NA,i.onmousemove=NA,A.ielt9&&this.options.opacity<1&&St(i,this.options.opacity)},_addTile:function(i,s){var h=this._getTilePos(i),_=this._tileCoordsToKey(i),m=this.createTile(this._wrapCoords(i),wA(this._tileReady,this,i));this._initTile(m),this.createTile.length<2&&UA(wA(this._tileReady,this,i,null,m)),ot(m,h),this._tiles[_]={el:m,coords:i,current:!0},s.appendChild(m),this.fire("tileloadstart",{tile:m,coords:i})},_tileReady:function(i,s,h){s&&this.fire("tileerror",{error:s,tile:h,coords:i});var _=this._tileCoordsToKey(i);h=this._tiles[_],h&&(h.loaded=+new Date,this._map._fadeAnimated?(St(h.el,0),GA(this._fadeFrame),this._fadeFrame=UA(this._updateOpacity,this)):(h.active=!0,this._pruneTiles()),s||(BA(h.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:h.el,coords:i})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),A.ielt9||!this._map._fadeAnimated?UA(this._pruneTiles,this):setTimeout(wA(this._pruneTiles,this),250)))},_getTilePos:function(i){return i.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(i){var s=new uA(this._wrapX?Lt(i.x,this._wrapX):i.x,this._wrapY?Lt(i.y,this._wrapY):i.y);return s.z=i.z,s},_pxBoundsToTileRange:function(i){var s=this.getTileSize();return new WA(i.min.unscaleBy(s).floor(),i.max.unscaleBy(s).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var i in this._tiles)if(!this._tiles[i].loaded)return!1;return!0}});function Vn(i){return new Ge(i)}var He=Ge.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(i,s){this._url=i,s=LA(this,s),s.detectRetina&&A.retina&&s.maxZoom>0?(s.tileSize=Math.floor(s.tileSize/2),s.zoomReverse?(s.zoomOffset--,s.minZoom=Math.min(s.maxZoom,s.minZoom+1)):(s.zoomOffset++,s.maxZoom=Math.max(s.minZoom,s.maxZoom-1)),s.minZoom=Math.max(0,s.minZoom)):s.zoomReverse?s.minZoom=Math.min(s.maxZoom,s.minZoom):s.maxZoom=Math.max(s.minZoom,s.maxZoom),typeof s.subdomains=="string"&&(s.subdomains=s.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(i,s){return this._url===i&&s===void 0&&(s=!0),this._url=i,s||this.redraw(),this},createTile:function(i,s){var h=document.createElement("img");return pA(h,"load",wA(this._tileOnLoad,this,s,h)),pA(h,"error",wA(this._tileOnError,this,s,h)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(h.referrerPolicy=this.options.referrerPolicy),h.alt="",h.src=this.getTileUrl(i),h},getTileUrl:function(i){var s={r:A.retina?"@2x":"",s:this._getSubdomain(i),x:i.x,y:i.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var h=this._globalTileRange.max.y-i.y;this.options.tms&&(s.y=h),s["-y"]=h}return X(this._url,q(s,this.options))},_tileOnLoad:function(i,s){A.ielt9?setTimeout(wA(i,this,null,s),0):i(null,s)},_tileOnError:function(i,s,h){var _=this.options.errorTileUrl;_&&s.getAttribute("src")!==_&&(s.src=_),i(h,s)},_onTileRemove:function(i){i.tile.onload=null},_getZoomForUrl:function(){var i=this._tileZoom,s=this.options.maxZoom,h=this.options.zoomReverse,_=this.options.zoomOffset;return h&&(i=s-i),i+_},_getSubdomain:function(i){var s=Math.abs(i.x+i.y)%this.options.subdomains.length;return this.options.subdomains[s]},_abortLoading:function(){var i,s;for(i in this._tiles)if(this._tiles[i].coords.z!==this._tileZoom&&(s=this._tiles[i].el,s.onload=NA,s.onerror=NA,!s.complete)){s.src=tt;var h=this._tiles[i].coords;JA(s),delete this._tiles[i],this.fire("tileabort",{tile:s,coords:h})}},_removeTile:function(i){var s=this._tiles[i];if(s)return s.el.setAttribute("src",tt),Ge.prototype._removeTile.call(this,i)},_tileReady:function(i,s,h){if(!(!this._map||h&&h.getAttribute("src")===tt))return Ge.prototype._tileReady.call(this,i,s,h)}});function tn(i,s){return new He(i,s)}var ai=He.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(i,s){this._url=i;var h=q({},this.defaultWmsParams);for(var _ in s)_ in this.options||(h[_]=s[_]);s=LA(this,s);var m=s.detectRetina&&A.retina?2:1,v=this.getTileSize();h.width=v.x*m,h.height=v.y*m,this.wmsParams=h},onAdd:function(i){this._crs=this.options.crs||i.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var s=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[s]=this._crs.code,He.prototype.onAdd.call(this,i)},getTileUrl:function(i){var s=this._tileCoordsToNwSe(i),h=this._crs,_=ft(h.project(s[0]),h.project(s[1])),m=_.min,v=_.max,E=(this._wmsVersion>=1.3&&this._crs===p0?[m.y,m.x,v.y,v.x]:[m.x,m.y,v.x,v.y]).join(","),I=He.prototype.getTileUrl.call(this,i);return I+SA(this.wmsParams,I,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+E},setParams:function(i,s){return q(this.wmsParams,i),s||this.redraw(),this}});function en(i,s){return new ai(i,s)}He.WMS=ai,tn.wms=en;var Ae=Yt.extend({options:{padding:.1},initialize:function(i){LA(this,i),bA(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),BA(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 i={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(i.zoomanim=this._onAnimZoom),i},_onAnimZoom:function(i){this._updateTransform(i.center,i.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(i,s){var h=this._map.getZoomScale(s,this._zoom),_=this._map.getSize().multiplyBy(.5+this.options.padding),m=this._map.project(this._center,s),v=_.multiplyBy(-h).add(m).subtract(this._map._getNewPixelOrigin(i,s));A.any3d?YA(this._container,v,h):ot(this._container,v)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var i in this._layers)this._layers[i]._reset()},_onZoomEnd:function(){for(var i in this._layers)this._layers[i]._project()},_updatePaths:function(){for(var i in this._layers)this._layers[i]._update()},_update:function(){var i=this.options.padding,s=this._map.getSize(),h=this._map.containerPointToLayerPoint(s.multiplyBy(-i)).round();this._bounds=new WA(h,h.add(s.multiplyBy(1+i*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),nn=Ae.extend({options:{tolerance:0},getEvents:function(){var i=Ae.prototype.getEvents.call(this);return i.viewprereset=this._onViewPreReset,i},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ae.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var i=this._container=document.createElement("canvas");pA(i,"mousemove",this._onMouseMove,this),pA(i,"click dblclick mousedown mouseup contextmenu",this._onClick,this),pA(i,"mouseout",this._handleMouseOut,this),i._leaflet_disable_events=!0,this._ctx=i.getContext("2d")},_destroyContainer:function(){GA(this._redrawRequest),delete this._ctx,JA(this._container),OA(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var i;this._redrawBounds=null;for(var s in this._layers)i=this._layers[s],i._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ae.prototype._update.call(this);var i=this._bounds,s=this._container,h=i.getSize(),_=A.retina?2:1;ot(s,i.min),s.width=_*h.x,s.height=_*h.y,s.style.width=h.x+"px",s.style.height=h.y+"px",A.retina&&this._ctx.scale(2,2),this._ctx.translate(-i.min.x,-i.min.y),this.fire("update")}},_reset:function(){Ae.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(i){this._updateDashArray(i),this._layers[bA(i)]=i;var s=i._order={layer:i,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=s),this._drawLast=s,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(i){this._requestRedraw(i)},_removePath:function(i){var s=i._order,h=s.next,_=s.prev;h?h.prev=_:this._drawLast=_,_?_.next=h:this._drawFirst=h,delete i._order,delete this._layers[bA(i)],this._requestRedraw(i)},_updatePath:function(i){this._extendRedrawBounds(i),i._project(),i._update(),this._requestRedraw(i)},_updateStyle:function(i){this._updateDashArray(i),this._requestRedraw(i)},_updateDashArray:function(i){if(typeof i.options.dashArray=="string"){var s=i.options.dashArray.split(/[, ]+/),h=[],_,m;for(m=0;m<s.length;m++){if(_=Number(s[m]),isNaN(_))return;h.push(_)}i.options._dashArray=h}else i.options._dashArray=i.options.dashArray},_requestRedraw:function(i){this._map&&(this._extendRedrawBounds(i),this._redrawRequest=this._redrawRequest||UA(this._redraw,this))},_extendRedrawBounds:function(i){if(i._pxBounds){var s=(i.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new WA,this._redrawBounds.extend(i._pxBounds.min.subtract([s,s])),this._redrawBounds.extend(i._pxBounds.max.add([s,s]))}},_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 i=this._redrawBounds;if(i){var s=i.getSize();this._ctx.clearRect(i.min.x,i.min.y,s.x,s.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 i,s=this._redrawBounds;if(this._ctx.save(),s){var h=s.getSize();this._ctx.beginPath(),this._ctx.rect(s.min.x,s.min.y,h.x,h.y),this._ctx.clip()}this._drawing=!0;for(var _=this._drawFirst;_;_=_.next)i=_.layer,(!s||i._pxBounds&&i._pxBounds.intersects(s))&&i._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(i,s){if(this._drawing){var h,_,m,v,E=i._parts,I=E.length,S=this._ctx;if(I){for(S.beginPath(),h=0;h<I;h++){for(_=0,m=E[h].length;_<m;_++)v=E[h][_],S[_?"lineTo":"moveTo"](v.x,v.y);s&&S.closePath()}this._fillStroke(S,i)}}},_updateCircle:function(i){if(!(!this._drawing||i._empty())){var s=i._point,h=this._ctx,_=Math.max(Math.round(i._radius),1),m=(Math.max(Math.round(i._radiusY),1)||_)/_;m!==1&&(h.save(),h.scale(1,m)),h.beginPath(),h.arc(s.x,s.y/m,_,0,Math.PI*2,!1),m!==1&&h.restore(),this._fillStroke(h,i)}},_fillStroke:function(i,s){var h=s.options;h.fill&&(i.globalAlpha=h.fillOpacity,i.fillStyle=h.fillColor||h.color,i.fill(h.fillRule||"evenodd")),h.stroke&&h.weight!==0&&(i.setLineDash&&i.setLineDash(s.options&&s.options._dashArray||[]),i.globalAlpha=h.opacity,i.lineWidth=h.weight,i.strokeStyle=h.color,i.lineCap=h.lineCap,i.lineJoin=h.lineJoin,i.stroke())},_onClick:function(i){for(var s=this._map.mouseEventToLayerPoint(i),h,_,m=this._drawFirst;m;m=m.next)h=m.layer,h.options.interactive&&h._containsPoint(s)&&(!(i.type==="click"||i.type==="preclick")||!this._map._draggableMoved(h))&&(_=h);this._fireEvent(_?[_]:!1,i)},_onMouseMove:function(i){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var s=this._map.mouseEventToLayerPoint(i);this._handleMouseHover(i,s)}},_handleMouseOut:function(i){var s=this._hoveredLayer;s&&(it(this._container,"leaflet-interactive"),this._fireEvent([s],i,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(i,s){if(!this._mouseHoverThrottled){for(var h,_,m=this._drawFirst;m;m=m.next)h=m.layer,h.options.interactive&&h._containsPoint(s)&&(_=h);_!==this._hoveredLayer&&(this._handleMouseOut(i),_&&(BA(this._container,"leaflet-interactive"),this._fireEvent([_],i,"mouseover"),this._hoveredLayer=_)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,i),this._mouseHoverThrottled=!0,setTimeout(wA(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(i,s,h){this._map._fireDOMEvent(s,h||s.type,i)},_bringToFront:function(i){var s=i._order;if(s){var h=s.next,_=s.prev;if(h)h.prev=_;else return;_?_.next=h:h&&(this._drawFirst=h),s.prev=this._drawLast,this._drawLast.next=s,s.next=null,this._drawLast=s,this._requestRedraw(i)}},_bringToBack:function(i){var s=i._order;if(s){var h=s.next,_=s.prev;if(_)_.next=h;else return;h?h.prev=_:_&&(this._drawLast=_),s.prev=null,s.next=this._drawFirst,this._drawFirst.prev=s,this._drawFirst=s,this._requestRedraw(i)}}});function rn(i){return A.canvas?new nn(i):null}var li=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(i){return document.createElement("<lvml:"+i+' class="lvml">')}}catch{}return function(i){return document.createElement("<"+i+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),Kn={_initContainer:function(){this._container=DA("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ae.prototype._update.call(this),this.fire("update"))},_initPath:function(i){var s=i._container=li("shape");BA(s,"leaflet-vml-shape "+(this.options.className||"")),s.coordsize="1 1",i._path=li("path"),s.appendChild(i._path),this._updateStyle(i),this._layers[bA(i)]=i},_addPath:function(i){var s=i._container;this._container.appendChild(s),i.options.interactive&&i.addInteractiveTarget(s)},_removePath:function(i){var s=i._container;JA(s),i.removeInteractiveTarget(s),delete this._layers[bA(i)]},_updateStyle:function(i){var s=i._stroke,h=i._fill,_=i.options,m=i._container;m.stroked=!!_.stroke,m.filled=!!_.fill,_.stroke?(s||(s=i._stroke=li("stroke")),m.appendChild(s),s.weight=_.weight+"px",s.color=_.color,s.opacity=_.opacity,_.dashArray?s.dashStyle=HA(_.dashArray)?_.dashArray.join(" "):_.dashArray.replace(/( *, *)/g," "):s.dashStyle="",s.endcap=_.lineCap.replace("butt","flat"),s.joinstyle=_.lineJoin):s&&(m.removeChild(s),i._stroke=null),_.fill?(h||(h=i._fill=li("fill")),m.appendChild(h),h.color=_.fillColor||_.color,h.opacity=_.fillOpacity):h&&(m.removeChild(h),i._fill=null)},_updateCircle:function(i){var s=i._point.round(),h=Math.round(i._radius),_=Math.round(i._radiusY||h);this._setPath(i,i._empty()?"M0 0":"AL "+s.x+","+s.y+" "+h+","+_+" 0,"+65535*360)},_setPath:function(i,s){i._path.v=s},_bringToFront:function(i){Se(i._container)},_bringToBack:function(i){Qe(i._container)}},Di=A.vml?li:x0,hi=Ae.extend({_initContainer:function(){this._container=Di("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Di("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){JA(this._container),OA(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ae.prototype._update.call(this);var i=this._bounds,s=i.getSize(),h=this._container;(!this._svgSize||!this._svgSize.equals(s))&&(this._svgSize=s,h.setAttribute("width",s.x),h.setAttribute("height",s.y)),ot(h,i.min),h.setAttribute("viewBox",[i.min.x,i.min.y,s.x,s.y].join(" ")),this.fire("update")}},_initPath:function(i){var s=i._path=Di("path");i.options.className&&BA(s,i.options.className),i.options.interactive&&BA(s,"leaflet-interactive"),this._updateStyle(i),this._layers[bA(i)]=i},_addPath:function(i){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(i._path),i.addInteractiveTarget(i._path)},_removePath:function(i){JA(i._path),i.removeInteractiveTarget(i._path),delete this._layers[bA(i)]},_updatePath:function(i){i._project(),i._update()},_updateStyle:function(i){var s=i._path,h=i.options;s&&(h.stroke?(s.setAttribute("stroke",h.color),s.setAttribute("stroke-opacity",h.opacity),s.setAttribute("stroke-width",h.weight),s.setAttribute("stroke-linecap",h.lineCap),s.setAttribute("stroke-linejoin",h.lineJoin),h.dashArray?s.setAttribute("stroke-dasharray",h.dashArray):s.removeAttribute("stroke-dasharray"),h.dashOffset?s.setAttribute("stroke-dashoffset",h.dashOffset):s.removeAttribute("stroke-dashoffset")):s.setAttribute("stroke","none"),h.fill?(s.setAttribute("fill",h.fillColor||h.color),s.setAttribute("fill-opacity",h.fillOpacity),s.setAttribute("fill-rule",h.fillRule||"evenodd")):s.setAttribute("fill","none"))},_updatePoly:function(i,s){this._setPath(i,T0(i._parts,s))},_updateCircle:function(i){var s=i._point,h=Math.max(Math.round(i._radius),1),_=Math.max(Math.round(i._radiusY),1)||h,m="a"+h+","+_+" 0 1,0 ",v=i._empty()?"M0 0":"M"+(s.x-h)+","+s.y+m+h*2+",0 "+m+-h*2+",0 ";this._setPath(i,v)},_setPath:function(i,s){i._path.setAttribute("d",s)},_bringToFront:function(i){Se(i._path)},_bringToBack:function(i){Qe(i._path)}});A.vml&&hi.include(Kn);function on(i){return A.svg||A.vml?new hi(i):null}PA.include({getRenderer:function(i){var s=i.options.renderer||this._getPaneRenderer(i.options.pane)||this.options.renderer||this._renderer;return s||(s=this._renderer=this._createRenderer()),this.hasLayer(s)||this.addLayer(s),s},_getPaneRenderer:function(i){if(i==="overlayPane"||i===void 0)return!1;var s=this._paneRenderers[i];return s===void 0&&(s=this._createRenderer({pane:i}),this._paneRenderers[i]=s),s},_createRenderer:function(i){return this.options.preferCanvas&&rn(i)||on(i)}});var k0=jt.extend({initialize:function(i,s){jt.prototype.initialize.call(this,this._boundsToLatLngs(i),s)},setBounds:function(i){return this.setLatLngs(this._boundsToLatLngs(i))},_boundsToLatLngs:function(i){return i=rt(i),[i.getSouthWest(),i.getNorthWest(),i.getNorthEast(),i.getSouthEast()]}});function Jn(i,s){return new k0(i,s)}hi.create=Di,hi.pointsToPath=T0,Xt.geometryToLayer=Li,Xt.coordsToLatLng=oi,Xt.coordsToLatLngs=Ne,Xt.latLngToCoords=Pe,Xt.latLngsToCoords=re,Xt.getFeature=$t,Xt.asFeature=Ei,PA.mergeOptions({boxZoom:!0});var B0=Zt.extend({initialize:function(i){this._map=i,this._container=i._container,this._pane=i._panes.overlayPane,this._resetStateTimeout=0,i.on("unload",this._destroy,this)},addHooks:function(){pA(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){OA(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){JA(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(i){if(!i.shiftKey||i.which!==1&&i.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),Ai(),A0(),this._startPoint=this._map.mouseEventToContainerPoint(i),pA(document,{contextmenu:ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(i){this._moved||(this._moved=!0,this._box=DA("div","leaflet-zoom-box",this._container),BA(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(i);var s=new WA(this._point,this._startPoint),h=s.getSize();ot(this._box,s.min),this._box.style.width=h.x+"px",this._box.style.height=h.y+"px"},_finish:function(){this._moved&&(JA(this._box),it(this._container,"leaflet-crosshair")),Ce(),t0(),OA(document,{contextmenu:ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(i){if(!(i.which!==1&&i.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(wA(this._resetState,this),0);var s=new Bt(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(s).fire("boxzoomend",{boxZoomBounds:s})}},_onKeyDown:function(i){i.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});PA.addInitHook("addHandler","boxZoom",B0),PA.mergeOptions({doubleClickZoom:!0});var oe=Zt.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(i){var s=this._map,h=s.getZoom(),_=s.options.zoomDelta,m=i.originalEvent.shiftKey?h-_:h+_;s.options.doubleClickZoom==="center"?s.setZoom(m):s.setZoomAround(i.containerPoint,m)}});PA.addInitHook("addHandler","doubleClickZoom",oe),PA.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var P0=Zt.extend({addHooks:function(){if(!this._draggable){var i=this._map;this._draggable=new ce(i._mapPane,i._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),i.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),i.on("zoomend",this._onZoomEnd,this),i.whenReady(this._onZoomEnd,this))}BA(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){it(this._map._container,"leaflet-grab"),it(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var i=this._map;if(i._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var s=rt(this._map.options.maxBounds);this._offsetLimit=ft(this._map.latLngToContainerPoint(s.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(s.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;i.fire("movestart").fire("dragstart"),i.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(i){if(this._map.options.inertia){var s=this._lastTime=+new Date,h=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(h),this._times.push(s),this._prunePositions(s)}this._map.fire("move",i).fire("drag",i)},_prunePositions:function(i){for(;this._positions.length>1&&i-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var i=this._map.getSize().divideBy(2),s=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=s.subtract(i).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(i,s){return i-(i-s)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var i=this._draggable._newPos.subtract(this._draggable._startPos),s=this._offsetLimit;i.x<s.min.x&&(i.x=this._viscousLimit(i.x,s.min.x)),i.y<s.min.y&&(i.y=this._viscousLimit(i.y,s.min.y)),i.x>s.max.x&&(i.x=this._viscousLimit(i.x,s.max.x)),i.y>s.max.y&&(i.y=this._viscousLimit(i.y,s.max.y)),this._draggable._newPos=this._draggable._startPos.add(i)}},_onPreDragWrap:function(){var i=this._worldWidth,s=Math.round(i/2),h=this._initialWorldOffset,_=this._draggable._newPos.x,m=(_-s+h)%i+s-h,v=(_+s+h)%i-s-h,E=Math.abs(m+h)<Math.abs(v+h)?m:v;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=E},_onDragEnd:function(i){var s=this._map,h=s.options,_=!h.inertia||i.noInertia||this._times.length<2;if(s.fire("dragend",i),_)s.fire("moveend");else{this._prunePositions(+new Date);var m=this._lastPos.subtract(this._positions[0]),v=(this._lastTime-this._times[0])/1e3,E=h.easeLinearity,I=m.multiplyBy(E/v),S=I.distanceTo([0,0]),G=Math.min(h.inertiaMaxSpeed,S),V=I.multiplyBy(G/S),rA=G/(h.inertiaDeceleration*E),yA=V.multiplyBy(-rA/2).round();!yA.x&&!yA.y?s.fire("moveend"):(yA=s._limitOffset(yA,s.options.maxBounds),UA(function(){s.panBy(yA,{duration:rA,easeLinearity:E,noMoveStart:!0,animate:!0})}))}}});PA.addInitHook("addHandler","dragging",P0),PA.mergeOptions({keyboard:!0,keyboardPanDelta:80});var sn=Zt.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(i){this._map=i,this._setPanDelta(i.options.keyboardPanDelta),this._setZoomDelta(i.options.zoomDelta)},addHooks:function(){var i=this._map._container;i.tabIndex<=0&&(i.tabIndex="0"),pA(i,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),OA(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 i=document.body,s=document.documentElement,h=i.scrollTop||s.scrollTop,_=i.scrollLeft||s.scrollLeft;this._map._container.focus(),window.scrollTo(_,h)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(i){var s=this._panKeys={},h=this.keyCodes,_,m;for(_=0,m=h.left.length;_<m;_++)s[h.left[_]]=[-1*i,0];for(_=0,m=h.right.length;_<m;_++)s[h.right[_]]=[i,0];for(_=0,m=h.down.length;_<m;_++)s[h.down[_]]=[0,i];for(_=0,m=h.up.length;_<m;_++)s[h.up[_]]=[0,-1*i]},_setZoomDelta:function(i){var s=this._zoomKeys={},h=this.keyCodes,_,m;for(_=0,m=h.zoomIn.length;_<m;_++)s[h.zoomIn[_]]=i;for(_=0,m=h.zoomOut.length;_<m;_++)s[h.zoomOut[_]]=-i},_addHooks:function(){pA(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){OA(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(i){if(!(i.altKey||i.ctrlKey||i.metaKey)){var s=i.keyCode,h=this._map,_;if(s in this._panKeys){if(!h._panAnim||!h._panAnim._inProgress)if(_=this._panKeys[s],i.shiftKey&&(_=_A(_).multiplyBy(3)),h.options.maxBounds&&(_=h._limitOffset(_A(_),h.options.maxBounds)),h.options.worldCopyJump){var m=h.wrapLatLng(h.unproject(h.project(h.getCenter()).add(_)));h.panTo(m)}else h.panBy(_)}else if(s in this._zoomKeys)h.setZoom(h.getZoom()+(i.shiftKey?3:1)*this._zoomKeys[s]);else if(s===27&&h._popup&&h._popup.options.closeOnEscapeKey)h.closePopup();else return;ye(i)}}});PA.addInitHook("addHandler","keyboard",sn),PA.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var an=Zt.extend({addHooks:function(){pA(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){OA(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(i){var s=Y0(i),h=this._map.options.wheelDebounceTime;this._delta+=s,this._lastMousePos=this._map.mouseEventToContainerPoint(i),this._startTime||(this._startTime=+new Date);var _=Math.max(h-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(wA(this._performZoom,this),_),ye(i)},_performZoom:function(){var i=this._map,s=i.getZoom(),h=this._map.options.zoomSnap||0;i._stop();var _=this._delta/(this._map.options.wheelPxPerZoomLevel*4),m=4*Math.log(2/(1+Math.exp(-Math.abs(_))))/Math.LN2,v=h?Math.ceil(m/h)*h:m,E=i._limitZoom(s+(this._delta>0?v:-v))-s;this._delta=0,this._startTime=null,E&&(i.options.scrollWheelZoom==="center"?i.setZoom(s+E):i.setZoomAround(this._lastMousePos,s+E))}});PA.addInitHook("addHandler","scrollWheelZoom",an);var qn=600;PA.mergeOptions({tapHold:A.touchNative&&A.safari&&A.mobile,tapTolerance:15});var ln=Zt.extend({addHooks:function(){pA(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){OA(this._map._container,"touchstart",this._onDown,this)},_onDown:function(i){if(clearTimeout(this._holdTimeout),i.touches.length===1){var s=i.touches[0];this._startPos=this._newPos=new uA(s.clientX,s.clientY),this._holdTimeout=setTimeout(wA(function(){this._cancel(),this._isTapValid()&&(pA(document,"touchend",_t),pA(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",s))},this),qn),pA(document,"touchend touchcancel contextmenu",this._cancel,this),pA(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function i(){OA(document,"touchend",_t),OA(document,"touchend touchcancel",i)},_cancel:function(){clearTimeout(this._holdTimeout),OA(document,"touchend touchcancel contextmenu",this._cancel,this),OA(document,"touchmove",this._onMove,this)},_onMove:function(i){var s=i.touches[0];this._newPos=new uA(s.clientX,s.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(i,s){var h=new MouseEvent(i,{bubbles:!0,cancelable:!0,view:window,screenX:s.screenX,screenY:s.screenY,clientX:s.clientX,clientY:s.clientY});h._simulated=!0,s.target.dispatchEvent(h)}});PA.addInitHook("addHandler","tapHold",ln),PA.mergeOptions({touchZoom:A.touch,bounceAtZoomLimits:!0});var hn=Zt.extend({addHooks:function(){BA(this._map._container,"leaflet-touch-zoom"),pA(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){it(this._map._container,"leaflet-touch-zoom"),OA(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(i){var s=this._map;if(!(!i.touches||i.touches.length!==2||s._animatingZoom||this._zooming)){var h=s.mouseEventToContainerPoint(i.touches[0]),_=s.mouseEventToContainerPoint(i.touches[1]);this._centerPoint=s.getSize()._divideBy(2),this._startLatLng=s.containerPointToLatLng(this._centerPoint),s.options.touchZoom!=="center"&&(this._pinchStartLatLng=s.containerPointToLatLng(h.add(_)._divideBy(2))),this._startDist=h.distanceTo(_),this._startZoom=s.getZoom(),this._moved=!1,this._zooming=!0,s._stop(),pA(document,"touchmove",this._onTouchMove,this),pA(document,"touchend touchcancel",this._onTouchEnd,this),_t(i)}},_onTouchMove:function(i){if(!(!i.touches||i.touches.length!==2||!this._zooming)){var s=this._map,h=s.mouseEventToContainerPoint(i.touches[0]),_=s.mouseEventToContainerPoint(i.touches[1]),m=h.distanceTo(_)/this._startDist;if(this._zoom=s.getScaleZoom(m,this._startZoom),!s.options.bounceAtZoomLimits&&(this._zoom<s.getMinZoom()&&m<1||this._zoom>s.getMaxZoom()&&m>1)&&(this._zoom=s._limitZoom(this._zoom)),s.options.touchZoom==="center"){if(this._center=this._startLatLng,m===1)return}else{var v=h._add(_)._divideBy(2)._subtract(this._centerPoint);if(m===1&&v.x===0&&v.y===0)return;this._center=s.unproject(s.project(this._pinchStartLatLng,this._zoom).subtract(v),this._zoom)}this._moved||(s._moveStart(!0,!1),this._moved=!0),GA(this._animRequest);var E=wA(s._move,s,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=UA(E,this,!0),_t(i)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,GA(this._animRequest),OA(document,"touchmove",this._onTouchMove,this),OA(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))}});PA.addInitHook("addHandler","touchZoom",hn),PA.BoxZoom=B0,PA.DoubleClickZoom=oe,PA.Drag=P0,PA.Keyboard=sn,PA.ScrollWheelZoom=an,PA.TapHold=ln,PA.TouchZoom=hn,O.Bounds=WA,O.Browser=A,O.CRS=le,O.Canvas=nn,O.Circle=v0,O.CircleMarker=bi,O.Class=st,O.Control=Ot,O.DivIcon=An,O.DivOverlay=bt,O.DomEvent=xn,O.DomUtil=En,O.Draggable=ce,O.Evented=ee,O.FeatureGroup=qt,O.GeoJSON=Xt,O.GridLayer=Ge,O.Handler=Zt,O.Icon=Be,O.ImageOverlay=xi,O.LatLng=QA,O.LatLngBounds=Bt,O.Layer=Yt,O.LayerGroup=Fe,O.LineUtil=d0,O.Map=PA,O.Marker=Pi,O.Mixin=De,O.Path=me,O.Point=uA,O.PolyUtil=Dn,O.Polygon=jt,O.Polyline=$A,O.Popup=gt,O.PosAnimation=ct,O.Projection=On,O.Rectangle=k0,O.Renderer=Ae,O.SVG=hi,O.SVGOverlay=Mi,O.TileLayer=He,O.Tooltip=be,O.Transformation=Ri,O.Util=It,O.VideoOverlay=Ti,O.bind=wA,O.bounds=ft,O.canvas=rn,O.circle=Gn,O.circleMarker=Nn,O.control=Ze,O.divIcon=jn,O.extend=q,O.featureGroup=Fn,O.geoJSON=X0,O.geoJson=y0,O.gridLayer=Vn,O.icon=g0,O.imageOverlay=Un,O.latLng=CA,O.latLngBounds=rt,O.layerGroup=Rn,O.map=Pt,O.marker=q0,O.point=_A,O.polygon=Hn,O.polyline=w0,O.popup=Wn,O.rectangle=Jn,O.setOptions=LA,O.stamp=bA,O.svg=on,O.svgOverlay=si,O.tileLayer=tn,O.tooltip=Yn,O.transformation=Ke,O.version=hA,O.videoOverlay=$0;var Le=window.L;O.noConflict=function(){return window.L=Le,this},window.L=O}))})(L0,L0.exports)),L0.exports}var Jr=Kr();const se=Hr(Jr);var mt=(function(N){N=N||{};var b=typeof N<"u"?N:{},O={},hA;for(hA in b)b.hasOwnProperty(hA)&&(O[hA]=b[hA]);var q="";function At(Q){return b.locateFile?b.locateFile(Q,q):q+Q}var wA;typeof document<"u"&&document.currentScript&&(q=document.currentScript.src),q.indexOf("blob:")!==0?q=q.substr(0,q.lastIndexOf("/")+1):q="",wA=function(R,j,Z){var A=new XMLHttpRequest;A.open("GET",R,!0),A.responseType="arraybuffer",A.onload=function(){if(A.status==200||A.status==0&&A.response){j(A.response);return}var xA=Yi(R);if(xA){j(xA.buffer);return}Z()},A.onerror=Z,A.send(null)};var jA=b.print||console.log.bind(console),bA=b.printErr||console.warn.bind(console);for(hA in O)O.hasOwnProperty(hA)&&(b[hA]=O[hA]);O=null,b.arguments&&b.arguments;var Nt=0,Lt=function(Q){Nt=Q},NA=function(){return Nt},VA=8;function ae(Q,R,j,Z){switch(j=j||"i8",j.charAt(j.length-1)==="*"&&(j="i32"),j){case"i1":GA[Q>>0]=R;break;case"i8":GA[Q>>0]=R;break;case"i16":st[Q>>1]=R;break;case"i32":xt[Q>>2]=R;break;case"i64":Gi=[R>>>0,(Ie=R,+Fi(Ie)>=1?Ie>0?(T0(+x0(Ie/4294967296),4294967295)|0)>>>0:~~+vn((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],xt[Q>>2]=Gi[0],xt[Q+4>>2]=Gi[1];break;case"float":ht[Q>>2]=R;break;case"double":ee[Q>>3]=R;break;default:ze("invalid type for setValue: "+j)}}function Et(Q,R,j){switch(R=R||"i8",R.charAt(R.length-1)==="*"&&(R="i32"),R){case"i1":return GA[Q>>0];case"i8":return GA[Q>>0];case"i16":return st[Q>>1];case"i32":return xt[Q>>2];case"i64":return xt[Q>>2];case"float":return ht[Q>>2];case"double":return ee[Q>>3];default:ze("invalid type for getValue: "+R)}return null}var LA=!1;function SA(Q,R){Q||ze("Assertion failed: "+R)}function pt(Q){var R=b["_"+Q];return SA(R,"Cannot call unknown function "+Q+", make sure it is exported"),R}function X(Q,R,j,Z,A){var p={string:function(vA){var Gt=0;if(vA!=null&&vA!==0){var di=(vA.length<<2)+1;Gt=ji(di),et(vA,Gt,di)}return Gt},array:function(vA){var Gt=ji(vA.length);return Dt(vA,Gt),Gt}};function xA(vA){return R==="string"?KA(vA):R==="boolean"?!!vA:vA}var IA=pt(Q),at=[],dA=0;if(Z)for(var TA=0;TA<Z.length;TA++){var zt=p[j[TA]];zt?(dA===0&&(dA=Pn()),at[TA]=zt(Z[TA])):at[TA]=Z[TA]}var MA=IA.apply(null,at);return MA=xA(MA),dA!==0&&Z0(dA),MA}function HA(Q,R,j,Z){j=j||[];var A=j.every(function(xA){return xA==="number"}),p=R!=="string";return p&&A&&!Z?pt(Q):function(){return X(Q,R,j,arguments)}}var XA=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function tt(Q,R,j){for(var Z=R+j,A=R;Q[A]&&!(A>=Z);)++A;if(A-R>16&&Q.subarray&&XA)return XA.decode(Q.subarray(R,A));for(var p="";R<A;){var xA=Q[R++];if(!(xA&128)){p+=String.fromCharCode(xA);continue}var IA=Q[R++]&63;if((xA&224)==192){p+=String.fromCharCode((xA&31)<<6|IA);continue}var at=Q[R++]&63;if((xA&240)==224?xA=(xA&15)<<12|IA<<6|at:xA=(xA&7)<<18|IA<<12|at<<6|Q[R++]&63,xA<65536)p+=String.fromCharCode(xA);else{var dA=xA-65536;p+=String.fromCharCode(55296|dA>>10,56320|dA&1023)}}return p}function KA(Q,R){return Q?tt(It,Q,R):""}function Ct(Q,R,j,Z){if(!(Z>0))return 0;for(var A=j,p=j+Z-1,xA=0;xA<Q.length;++xA){var IA=Q.charCodeAt(xA);if(IA>=55296&&IA<=57343){var at=Q.charCodeAt(++xA);IA=65536+((IA&1023)<<10)|at&1023}if(IA<=127){if(j>=p)break;R[j++]=IA}else if(IA<=2047){if(j+1>=p)break;R[j++]=192|IA>>6,R[j++]=128|IA&63}else if(IA<=65535){if(j+2>=p)break;R[j++]=224|IA>>12,R[j++]=128|IA>>6&63,R[j++]=128|IA&63}else{if(j+3>=p)break;R[j++]=240|IA>>18,R[j++]=128|IA>>12&63,R[j++]=128|IA>>6&63,R[j++]=128|IA&63}}return R[j]=0,j-A}function et(Q,R,j){return Ct(Q,It,R,j)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function Dt(Q,R){GA.set(Q,R)}function pe(Q,R){return Q%R>0&&(Q+=R-Q%R),Q}var UA,GA,It,st,xt,ht,ee;function uA(Q){UA=Q,b.HEAP8=GA=new Int8Array(Q),b.HEAP16=st=new Int16Array(Q),b.HEAP32=xt=new Int32Array(Q),b.HEAPU8=It=new Uint8Array(Q),b.HEAPU16=new Uint16Array(Q),b.HEAPU32=new Uint32Array(Q),b.HEAPF32=ht=new Float32Array(Q),b.HEAPF64=ee=new Float64Array(Q)}var E0=5271536,_A=28624,WA=b.TOTAL_MEMORY||33554432;b.buffer?UA=b.buffer:UA=new ArrayBuffer(WA),WA=UA.byteLength,uA(UA),xt[_A>>2]=E0;function ft(Q){for(;Q.length>0;){var R=Q.shift();if(typeof R=="function"){R();continue}var j=R.func;typeof j=="number"?R.arg===void 0?b.dynCall_v(j):b.dynCall_vi(j,R.arg):j(R.arg===void 0?null:R.arg)}}var Bt=[],rt=[],QA=[],CA=[];function le(){if(b.preRun)for(typeof b.preRun=="function"&&(b.preRun=[b.preRun]);b.preRun.length;)Ri(b.preRun.shift());ft(Bt)}function ge(){ft(rt)}function C0(){ft(QA)}function Zi(){if(b.postRun)for(typeof b.postRun=="function"&&(b.postRun=[b.postRun]);b.postRun.length;)Ke(b.postRun.shift());ft(CA)}function Ri(Q){Bt.unshift(Q)}function Ke(Q){CA.unshift(Q)}var Fi=Math.abs,vn=Math.ceil,x0=Math.floor,T0=Math.min,he=0,ve=null;function wn(Q){he++,b.monitorRunDependencies&&b.monitorRunDependencies(he)}function M0(Q){if(he--,b.monitorRunDependencies&&b.monitorRunDependencies(he),he==0&&ve){var R=ve;ve=null,R()}}b.preloadedImages={},b.preloadedAudios={};var Jt=null,_i="data:application/octet-stream;base64,";function Ni(Q){return String.prototype.startsWith?Q.startsWith(_i):Q.indexOf(_i)===0}var Ie,Gi;Jt="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var Hi=28640;function D0(Q,R,j,Z){ze("Assertion failed: "+KA(Q)+", at: "+[R?KA(R):"unknown filename",j,Z?KA(Z):"unknown function"])}function Ui(){return GA.length}function yn(Q,R,j){It.set(It.subarray(R,R+j),Q)}function I0(Q){return b.___errno_location&&(xt[b.___errno_location()>>2]=Q),Q}function z0(Q){ze("OOM")}function kn(Q){try{var R=new ArrayBuffer(Q);return R.byteLength!=Q?void 0:(new Int8Array(R).set(GA),O0(R),uA(R),1)}catch{}}function S0(Q){var R=Ui(),j=16777216,Z=2147483648-j;if(Q>Z)return!1;for(var A=16777216,p=Math.max(R,A);p<Q;)p<=536870912?p=pe(2*p,j):p=Math.min(pe((3*p+2147483648)/4,j),Z);var xA=kn(p);return!!xA}var Wi=typeof atob=="function"?atob:function(Q){var R="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",j="",Z,A,p,xA,IA,at,dA,TA=0;Q=Q.replace(/[^A-Za-z0-9\+\/\=]/g,"");do xA=R.indexOf(Q.charAt(TA++)),IA=R.indexOf(Q.charAt(TA++)),at=R.indexOf(Q.charAt(TA++)),dA=R.indexOf(Q.charAt(TA++)),Z=xA<<2|IA>>4,A=(IA&15)<<4|at>>2,p=(at&3)<<6|dA,j=j+String.fromCharCode(Z),at!==64&&(j=j+String.fromCharCode(A)),dA!==64&&(j=j+String.fromCharCode(p));while(TA<Q.length);return j};function Q0(Q){try{for(var R=Wi(Q),j=new Uint8Array(R.length),Z=0;Z<R.length;++Z)j[Z]=R.charCodeAt(Z);return j}catch{throw new Error("Converting base64 string to bytes failed.")}}function Yi(Q){if(Ni(Q))return Q0(Q.slice(_i.length))}var Je={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},Bn={b:Lt,c:NA,d:D0,e:I0,f:Ui,g:yn,h:S0,i:z0,o:Hi,p:_A},H=(function(Q,R,j){"almost asm";var Z=new Q.Int8Array(j),A=new Q.Int32Array(j);new Q.Uint8Array(j),new Q.Float32Array(j);var p=new Q.Float64Array(j),xA=R.o|0,IA=R.p|0,at=Q.Math.floor,dA=Q.Math.abs,TA=Q.Math.sqrt,zt=Q.Math.pow,MA=Q.Math.cos,vA=Q.Math.sin,Gt=Q.Math.tan,di=Q.Math.acos,bn=Q.Math.asin,mi=Q.Math.atan,Ht=Q.Math.atan2,ue=Q.Math.ceil,ie=Q.Math.imul,Ki=Q.Math.min,Ln=Q.Math.max,fe=Q.Math.clz32,fA=R.b,y=R.c,iA=R.d,Ji=R.e,G0=R.f,Xe=R.g,DA=R.h,JA=R.i,g=28656;function Se(e){return Z=new Int8Array(e),A=new Int32Array(e),p=new Float64Array(e),j=e,!0}function Qe(e){e=e|0;var t=0;return t=g,g=g+e|0,g=g+15&-16,t|0}function qi(){return g|0}function BA(e){e=e|0,g=e}function it(e,t){e=e|0,g=e}function Xi(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;return(e|0)<0?(t=2,t|0):(e|0)>13780509?(t=ai(15,t)|0,t|0):(n=((e|0)<0)<<31>>31,o=yt(e|0,n|0,3,0)|0,r=y()|0,n=tA(e|0,n|0,1,0)|0,n=yt(o|0,r|0,n|0,y()|0)|0,n=tA(n|0,y()|0,1,0)|0,e=y()|0,A[t>>2]=n,A[t+4>>2]=e,t=0,t|0)}function $e(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,St(e,t,n,r,0)|0}function St(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0;if(f=g,g=g+16|0,l=f,!(H0(e,t,n,r,o)|0))return r=0,g=f,r|0;do if((n|0)>=0){if((n|0)>13780509){if(a=ai(15,l)|0,a|0)break;u=l,l=A[u>>2]|0,u=A[u+4>>2]|0}else a=((n|0)<0)<<31>>31,c=yt(n|0,a|0,3,0)|0,u=y()|0,a=tA(n|0,a|0,1,0)|0,a=yt(c|0,u|0,a|0,y()|0)|0,a=tA(a|0,y()|0,1,0)|0,u=y()|0,A[l>>2]=a,A[l+4>>2]=u,l=a;if(je(r|0,0,l<<3|0)|0,o|0){je(o|0,0,l<<2|0)|0,a=Qt(e,t,n,r,o,l,u,0)|0;break}a=Kt(l,4)|0,a?(c=Qt(e,t,n,r,a,l,u,0)|0,eA(a),a=c):a=13}else a=2;while(!1);return c=a,g=f,c|0}function H0(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0;if(C=g,g=g+16|0,B=C,P=C+8|0,k=B,A[k>>2]=e,A[k+4>>2]=t,(n|0)<0)return P=2,g=C,P|0;if(a=r,A[a>>2]=e,A[a+4>>2]=t,a=(o|0)!=0,a&&(A[o>>2]=0),zA(e,t)|0)return P=9,g=C,P|0;A[P>>2]=0;A:do if((n|0)>=1)if(a)for(d=1,c=0,w=0,k=1,a=e;;){if(!(c|w)){if(a=YA(a,t,4,P,B)|0,a|0)break A;if(t=B,a=A[t>>2]|0,t=A[t+4>>2]|0,zA(a,t)|0){a=9;break A}}if(a=YA(a,t,A[26800+(w<<2)>>2]|0,P,B)|0,a|0)break A;if(t=B,a=A[t>>2]|0,t=A[t+4>>2]|0,e=r+(d<<3)|0,A[e>>2]=a,A[e+4>>2]=t,A[o+(d<<2)>>2]=k,e=c+1|0,l=(e|0)==(k|0),u=w+1|0,f=(u|0)==6,zA(a,t)|0){a=9;break A}if(k=k+(f&l&1)|0,(k|0)>(n|0)){a=0;break}else d=d+1|0,c=l?0:e,w=l?f?0:u:w}else for(d=1,c=0,w=0,k=1,a=e;;){if(!(c|w)){if(a=YA(a,t,4,P,B)|0,a|0)break A;if(t=B,a=A[t>>2]|0,t=A[t+4>>2]|0,zA(a,t)|0){a=9;break A}}if(a=YA(a,t,A[26800+(w<<2)>>2]|0,P,B)|0,a|0)break A;if(t=B,a=A[t>>2]|0,t=A[t+4>>2]|0,e=r+(d<<3)|0,A[e>>2]=a,A[e+4>>2]=t,e=c+1|0,l=(e|0)==(k|0),u=w+1|0,f=(u|0)==6,zA(a,t)|0){a=9;break A}if(k=k+(f&l&1)|0,(k|0)>(n|0)){a=0;break}else d=d+1|0,c=l?0:e,w=l?f?0:u:w}else a=0;while(!1);return P=a,g=C,P|0}function Qt(e,t,n,r,o,a,l,u){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0,l=l|0,u=u|0;var f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0;if(C=g,g=g+16|0,B=C+8|0,P=C,f=zi(e|0,t|0,a|0,l|0)|0,d=y()|0,w=r+(f<<3)|0,T=w,z=A[T>>2]|0,T=A[T+4>>2]|0,c=(z|0)==(e|0)&(T|0)==(t|0),!((z|0)==0&(T|0)==0|c))do f=tA(f|0,d|0,1,0)|0,f=Ii(f|0,y()|0,a|0,l|0)|0,d=y()|0,w=r+(f<<3)|0,z=w,T=A[z>>2]|0,z=A[z+4>>2]|0,c=(T|0)==(e|0)&(z|0)==(t|0);while(!((T|0)==0&(z|0)==0|c));if(f=o+(f<<2)|0,c&&(A[f>>2]|0)<=(u|0)||(z=w,A[z>>2]=e,A[z+4>>2]=t,A[f>>2]=u,(u|0)>=(n|0)))return z=0,g=C,z|0;switch(c=u+1|0,A[B>>2]=0,f=YA(e,t,2,B,P)|0,f|0){case 9:{k=9;break}case 0:{f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f||(k=9);break}}A:do if((k|0)==9){switch(A[B>>2]=0,f=YA(e,t,3,B,P)|0,f|0){case 9:break;case 0:{if(f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f|0)break A;break}default:break A}switch(A[B>>2]=0,f=YA(e,t,1,B,P)|0,f|0){case 9:break;case 0:{if(f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f|0)break A;break}default:break A}switch(A[B>>2]=0,f=YA(e,t,5,B,P)|0,f|0){case 9:break;case 0:{if(f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f|0)break A;break}default:break A}switch(A[B>>2]=0,f=YA(e,t,4,B,P)|0,f|0){case 9:break;case 0:{if(f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f|0)break A;break}default:break A}switch(A[B>>2]=0,f=YA(e,t,6,B,P)|0,f|0){case 9:break;case 0:{if(f=P,f=Qt(A[f>>2]|0,A[f+4>>2]|0,n,r,o,a,l,c)|0,f|0)break A;break}default:break A}return z=0,g=C,z|0}while(!1);return z=f,g=C,z|0}function YA(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0;if(n>>>0>6)return o=1,o|0;if(w=(A[r>>2]|0)%6|0,A[r>>2]=w,(w|0)>0){a=0;do n=De(n)|0,a=a+1|0;while((a|0)<(A[r>>2]|0))}if(w=F(e|0,t|0,45)|0,y()|0,d=w&127,d>>>0>121)return o=5,o|0;f=$A(e,t)|0,a=F(e|0,t|0,52)|0,y()|0,a=a&15;A:do if(!a)c=8;else{for(;;){if(l=(15-a|0)*3|0,u=F(e|0,t|0,l|0)|0,y()|0,u=u&7,(u|0)==7){t=5;break}if(P=(Rt(a)|0)==0,a=a+-1|0,k=U(7,0,l|0)|0,t=t&~(y()|0),B=U(A[(P?432:16)+(u*28|0)+(n<<2)>>2]|0,0,l|0)|0,l=y()|0,n=A[(P?640:224)+(u*28|0)+(n<<2)>>2]|0,e=B|e&~k,t=l|t,!n){n=0;break A}if(!a){c=8;break A}}return t|0}while(!1);(c|0)==8&&(P=A[848+(d*28|0)+(n<<2)>>2]|0,B=U(P|0,0,45)|0,e=B|e,t=y()|0|t&-1040385,n=A[4272+(d*28|0)+(n<<2)>>2]|0,(P&127|0)==127&&(P=U(A[848+(d*28|0)+20>>2]|0,0,45)|0,t=y()|0|t&-1040385,n=A[4272+(d*28|0)+20>>2]|0,e=jt(P|e,t)|0,t=y()|0,A[r>>2]=(A[r>>2]|0)+1)),u=F(e|0,t|0,45)|0,y()|0,u=u&127;A:do if(ZA(u)|0){t:do if(($A(e,t)|0)==1){if((d|0)!=(u|0))if(pA(u,A[7696+(d*28|0)>>2]|0)|0){e=Xt(e,t)|0,l=1,t=y()|0;break}else iA(27795,26864,533,26872);switch(f|0){case 3:{e=jt(e,t)|0,t=y()|0,A[r>>2]=(A[r>>2]|0)+1,l=0;break t}case 5:{e=Xt(e,t)|0,t=y()|0,A[r>>2]=(A[r>>2]|0)+5,l=0;break t}case 0:return P=9,P|0;default:return P=1,P|0}}else l=0;while(!1);if((n|0)>0){a=0;do e=w0(e,t)|0,t=y()|0,a=a+1|0;while((a|0)!=(n|0))}if((d|0)!=(u|0)){if(!(ti(u)|0)){if((l|0)!=0|($A(e,t)|0)!=5)break;A[r>>2]=(A[r>>2]|0)+1;break}switch(w&127){case 8:case 118:break A}($A(e,t)|0)!=3&&(A[r>>2]=(A[r>>2]|0)+1)}}else if((n|0)>0){a=0;do e=jt(e,t)|0,t=y()|0,a=a+1|0;while((a|0)!=(n|0))}while(!1);return A[r>>2]=((A[r>>2]|0)+n|0)%6|0,P=o,A[P>>2]=e,A[P+4>>2]=t,P=0,P|0}function ot(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,we(e,t,n,r)|0?(je(r|0,0,n*48|0)|0,r=Ai(e,t,n,r)|0,r|0):(r=0,r|0)}function we(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0;if(P=g,g=g+16|0,k=P,B=P+8|0,w=k,A[w>>2]=e,A[w+4>>2]=t,(n|0)<0)return B=2,g=P,B|0;if(!n)return B=r,A[B>>2]=e,A[B+4>>2]=t,B=0,g=P,B|0;A[B>>2]=0;A:do if(zA(e,t)|0)e=9;else{o=0,w=e;do{if(e=YA(w,t,4,B,k)|0,e|0)break A;if(t=k,w=A[t>>2]|0,t=A[t+4>>2]|0,o=o+1|0,zA(w,t)|0){e=9;break A}}while((o|0)<(n|0));d=r,A[d>>2]=w,A[d+4>>2]=t,d=n+-1|0,c=0,e=1;do{if(o=26800+(c<<2)|0,(c|0)==5)for(l=A[o>>2]|0,a=0,o=e;;){if(e=k,e=YA(A[e>>2]|0,A[e+4>>2]|0,l,B,k)|0,e|0)break A;if((a|0)!=(d|0))if(f=k,u=A[f>>2]|0,f=A[f+4>>2]|0,e=r+(o<<3)|0,A[e>>2]=u,A[e+4>>2]=f,!(zA(u,f)|0))e=o+1|0;else{e=9;break A}else e=o;if(a=a+1|0,(a|0)>=(n|0))break;o=e}else for(l=k,f=A[o>>2]|0,u=0,o=e,a=A[l>>2]|0,l=A[l+4>>2]|0;;){if(e=YA(a,l,f,B,k)|0,e|0)break A;if(l=k,a=A[l>>2]|0,l=A[l+4>>2]|0,e=r+(o<<3)|0,A[e>>2]=a,A[e+4>>2]=l,e=o+1|0,zA(a,l)|0){e=9;break A}if(u=u+1|0,(u|0)>=(n|0))break;o=e}c=c+1|0}while(c>>>0<6);e=k,e=(w|0)==(A[e>>2]|0)&&(t|0)==(A[e+4>>2]|0)?0:9}while(!1);return B=e,g=P,B|0}function Ai(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;if(w=g,g=g+16|0,l=w,!n)return A[r>>2]=e,A[r+4>>2]=t,r=0,g=w,r|0;do if((n|0)>=0){if((n|0)>13780509){if(o=ai(15,l)|0,o|0)break;a=l,o=A[a>>2]|0,a=A[a+4>>2]|0}else o=((n|0)<0)<<31>>31,d=yt(n|0,o|0,3,0)|0,a=y()|0,o=tA(n|0,o|0,1,0)|0,o=yt(d|0,a|0,o|0,y()|0)|0,o=tA(o|0,y()|0,1,0)|0,a=y()|0,d=l,A[d>>2]=o,A[d+4>>2]=a;if(c=Kt(o,8)|0,!c)o=13;else{if(d=Kt(o,4)|0,!d){eA(c),o=13;break}if(o=Qt(e,t,n,c,d,o,a,0)|0,o|0){eA(c),eA(d);break}if(t=A[l>>2]|0,l=A[l+4>>2]|0,(l|0)>0|(l|0)==0&t>>>0>0){o=0,u=0,f=0;do e=c+(u<<3)|0,a=A[e>>2]|0,e=A[e+4>>2]|0,!((a|0)==0&(e|0)==0)&&(A[d+(u<<2)>>2]|0)==(n|0)&&(k=r+(o<<3)|0,A[k>>2]=a,A[k+4>>2]=e,o=o+1|0),u=tA(u|0,f|0,1,0)|0,f=y()|0;while((f|0)<(l|0)|(f|0)==(l|0)&u>>>0<t>>>0)}eA(c),eA(d),o=0}}else o=2;while(!1);return k=o,g=w,k|0}function Ce(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0;for(u=g,g=g+16|0,a=u,l=u+8|0,o=(zA(e,t)|0)==0,o=o?1:2;;){if(A[l>>2]=0,c=(YA(e,t,o,l,a)|0)==0,f=a,c&((A[f>>2]|0)==(n|0)?(A[f+4>>2]|0)==(r|0):0)){e=4;break}if(o=o+1|0,o>>>0>=7){o=7,e=4;break}}return(e|0)==4?(g=u,o|0):0}function $i(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0;if(u=g,g=g+48|0,o=u+16|0,a=u+8|0,l=u,n=S(n)|0,n|0)return l=n,g=u,l|0;if(c=e,f=A[c+4>>2]|0,n=a,A[n>>2]=A[c>>2],A[n+4>>2]=f,I(a,o),n=o0(o,t,l)|0,!n){if(t=A[a>>2]|0,a=A[e+8>>2]|0,(a|0)>0){o=A[e+12>>2]|0,n=0;do t=(A[o+(n<<3)>>2]|0)+t|0,n=n+1|0;while((n|0)<(a|0))}n=l,o=A[n>>2]|0,n=A[n+4>>2]|0,a=((t|0)<0)<<31>>31,(n|0)<(a|0)|(n|0)==(a|0)&o>>>0<t>>>0?(n=l,A[n>>2]=t,A[n+4>>2]=a,n=a):t=o,f=tA(t|0,n|0,12,0)|0,c=y()|0,n=l,A[n>>2]=f,A[n+4>>2]=c,n=r,A[n>>2]=f,A[n+4>>2]=c,n=0}return c=n,g=u,c|0}function Oe(e,t,n,r,o,a,l){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0,l=l|0;var u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0,AA=0,W=0,kA=0,RA=0,gA=0,FA=0,Ft=0,mr=0;if(RA=g,g=g+64|0,sA=RA+48|0,AA=RA+32|0,W=RA+24|0,Y=RA+8|0,$=RA,f=A[e>>2]|0,(f|0)<=0)return kA=0,g=RA,kA|0;for(J=e+4|0,cA=sA+8|0,mA=AA+8|0,EA=Y+8|0,u=0,M=0;;){c=A[J>>2]|0,D=c+(M<<4)|0,A[sA>>2]=A[D>>2],A[sA+4>>2]=A[D+4>>2],A[sA+8>>2]=A[D+8>>2],A[sA+12>>2]=A[D+12>>2],(M|0)==(f+-1|0)?(A[AA>>2]=A[c>>2],A[AA+4>>2]=A[c+4>>2],A[AA+8>>2]=A[c+8>>2],A[AA+12>>2]=A[c+12>>2]):(D=c+(M+1<<4)|0,A[AA>>2]=A[D>>2],A[AA+4>>2]=A[D+4>>2],A[AA+8>>2]=A[D+8>>2],A[AA+12>>2]=A[D+12>>2]),f=Cn(sA,AA,r,W)|0;A:do if(f)c=0,u=f;else if(f=W,c=A[f>>2]|0,f=A[f+4>>2]|0,(f|0)>0|(f|0)==0&c>>>0>0){z=0,D=0;t:for(;;){if(FA=1/(+(c>>>0)+4294967296*+(f|0)),mr=+p[sA>>3],f=wt(c|0,f|0,z|0,D|0)|0,Ft=+(f>>>0)+4294967296*+(y()|0),gA=+(z>>>0)+4294967296*+(D|0),p[Y>>3]=FA*(mr*Ft)+FA*(+p[AA>>3]*gA),p[EA>>3]=FA*(+p[cA>>3]*Ft)+FA*(+p[mA>>3]*gA),f=oi(Y,r,$)|0,f|0){u=f;break}T=$,C=A[T>>2]|0,T=A[T+4>>2]|0,k=zi(C|0,T|0,t|0,n|0)|0,d=y()|0,f=l+(k<<3)|0,w=f,c=A[w>>2]|0,w=A[w+4>>2]|0;e:do if((c|0)==0&(w|0)==0)x=f,kA=16;else for(B=0,P=0;;){if((B|0)>(n|0)|(B|0)==(n|0)&P>>>0>t>>>0){u=1;break t}if((c|0)==(C|0)&(w|0)==(T|0))break e;if(f=tA(k|0,d|0,1,0)|0,k=Ii(f|0,y()|0,t|0,n|0)|0,d=y()|0,P=tA(P|0,B|0,1,0)|0,B=y()|0,f=l+(k<<3)|0,w=f,c=A[w>>2]|0,w=A[w+4>>2]|0,(c|0)==0&(w|0)==0){x=f,kA=16;break}}while(!1);if((kA|0)==16&&(kA=0,!((C|0)==0&(T|0)==0))&&(P=x,A[P>>2]=C,A[P+4>>2]=T,P=a+(A[o>>2]<<3)|0,A[P>>2]=C,A[P+4>>2]=T,P=o,P=tA(A[P>>2]|0,A[P+4>>2]|0,1,0)|0,C=y()|0,T=o,A[T>>2]=P,A[T+4>>2]=C),z=tA(z|0,D|0,1,0)|0,D=y()|0,f=W,c=A[f>>2]|0,f=A[f+4>>2]|0,!((f|0)>(D|0)|(f|0)==(D|0)&c>>>0>z>>>0)){c=1;break A}}c=0}else c=1;while(!1);if(M=M+1|0,!c){kA=21;break}if(f=A[e>>2]|0,(M|0)>=(f|0)){u=0,kA=21;break}}return(kA|0)==21?(g=RA,u|0):0}function A0(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0,AA=0,W=0,kA=0,RA=0,gA=0,FA=0,Ft=0;if(Ft=g,g=g+112|0,kA=Ft+80|0,f=Ft+72|0,RA=Ft,gA=Ft+56|0,o=S(n)|0,o|0)return FA=o,g=Ft,FA|0;if(c=e+8|0,FA=Ee((A[c>>2]<<5)+32|0)|0,!FA)return FA=13,g=Ft,FA|0;if(G(e,FA),o=S(n)|0,!o){if(AA=e,W=A[AA+4>>2]|0,o=f,A[o>>2]=A[AA>>2],A[o+4>>2]=W,I(f,kA),o=o0(kA,t,RA)|0,o)AA=0,W=0;else{if(o=A[f>>2]|0,a=A[c>>2]|0,(a|0)>0){l=A[e+12>>2]|0,n=0;do o=(A[l+(n<<3)>>2]|0)+o|0,n=n+1|0;while((n|0)!=(a|0));n=o}else n=o;o=RA,a=A[o>>2]|0,o=A[o+4>>2]|0,l=((n|0)<0)<<31>>31,(o|0)<(l|0)|(o|0)==(l|0)&a>>>0<n>>>0?(o=RA,A[o>>2]=n,A[o+4>>2]=l,o=l):n=a,AA=tA(n|0,o|0,12,0)|0,W=y()|0,o=RA,A[o>>2]=AA,A[o+4>>2]=W,o=0}if(!o){if(n=Kt(AA,8)|0,!n)return eA(FA),FA=13,g=Ft,FA|0;if(u=Kt(AA,8)|0,!u)return eA(FA),eA(n),FA=13,g=Ft,FA|0;EA=kA,A[EA>>2]=0,A[EA+4>>2]=0,EA=e,sA=A[EA+4>>2]|0,o=f,A[o>>2]=A[EA>>2],A[o+4>>2]=sA,o=Oe(f,AA,W,t,kA,n,u)|0;A:do if(o)eA(n),eA(u),eA(FA);else{t:do if((A[c>>2]|0)>0){for(l=e+12|0,a=0;o=Oe((A[l>>2]|0)+(a<<3)|0,AA,W,t,kA,n,u)|0,a=a+1|0,!(o|0);)if((a|0)>=(A[c>>2]|0))break t;eA(n),eA(u),eA(FA);break A}while(!1);(W|0)>0|(W|0)==0&AA>>>0>0&&je(u|0,0,AA<<3|0)|0,sA=kA,EA=A[sA+4>>2]|0;t:do if((EA|0)>0|(EA|0)==0&(A[sA>>2]|0)>>>0>0){J=n,cA=u,mA=n,EA=u,sA=n,o=n,x=n,Y=u,$=u,n=u;e:for(;;){for(T=0,z=0,D=0,M=0,a=0,l=0;;){u=RA,f=u+56|0;do A[u>>2]=0,u=u+4|0;while((u|0)<(f|0));if(t=J+(T<<3)|0,c=A[t>>2]|0,t=A[t+4>>2]|0,H0(c,t,1,RA,0)|0){u=RA,f=u+56|0;do A[u>>2]=0,u=u+4|0;while((u|0)<(f|0));u=Kt(7,4)|0,u|0&&(Qt(c,t,1,RA,u,7,0,0)|0,eA(u))}for(C=0;;){P=RA+(C<<3)|0,B=A[P>>2]|0,P=A[P+4>>2]|0;i:do if((B|0)==0&(P|0)==0)u=a,f=l;else{if(d=zi(B|0,P|0,AA|0,W|0)|0,c=y()|0,u=r+(d<<3)|0,t=u,f=A[t>>2]|0,t=A[t+4>>2]|0,!((f|0)==0&(t|0)==0)){w=0,k=0;do{if((w|0)>(W|0)|(w|0)==(W|0)&k>>>0>AA>>>0)break e;if((f|0)==(B|0)&(t|0)==(P|0)){u=a,f=l;break i}u=tA(d|0,c|0,1,0)|0,d=Ii(u|0,y()|0,AA|0,W|0)|0,c=y()|0,k=tA(k|0,w|0,1,0)|0,w=y()|0,u=r+(d<<3)|0,t=u,f=A[t>>2]|0,t=A[t+4>>2]|0}while(!((f|0)==0&(t|0)==0))}if((B|0)==0&(P|0)==0){u=a,f=l;break}re(B,P,gA)|0,V(e,FA,gA)|0&&(k=tA(a|0,l|0,1,0)|0,l=y()|0,w=u,A[w>>2]=B,A[w+4>>2]=P,a=cA+(a<<3)|0,A[a>>2]=B,A[a+4>>2]=P,a=k),u=a,f=l}while(!1);if(C=C+1|0,C>>>0>=7)break;a=u,l=f}if(T=tA(T|0,z|0,1,0)|0,z=y()|0,D=tA(D|0,M|0,1,0)|0,M=y()|0,l=kA,a=A[l>>2]|0,l=A[l+4>>2]|0,(M|0)<(l|0)|(M|0)==(l|0)&D>>>0<a>>>0)a=u,l=f;else break}if((l|0)>0|(l|0)==0&a>>>0>0){a=0,l=0;do M=J+(a<<3)|0,A[M>>2]=0,A[M+4>>2]=0,a=tA(a|0,l|0,1,0)|0,l=y()|0,M=kA,D=A[M+4>>2]|0;while((l|0)<(D|0)|((l|0)==(D|0)?a>>>0<(A[M>>2]|0)>>>0:0))}if(M=kA,A[M>>2]=u,A[M+4>>2]=f,(f|0)>0|(f|0)==0&u>>>0>0)C=n,T=$,z=sA,D=Y,M=cA,n=x,$=o,Y=mA,x=C,o=T,sA=EA,EA=z,mA=D,cA=J,J=M;else break t}eA(mA),eA(EA),eA(FA),o=1;break A}else o=u;while(!1);eA(FA),eA(n),eA(o),o=0}while(!1);return FA=o,g=Ft,FA|0}}return eA(FA),FA=o,g=Ft,FA|0}function t0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(d=g,g=g+176|0,f=d,(t|0)<1)return ar(n,0,0),c=0,g=d,c|0;for(u=e,u=F(A[u>>2]|0,A[u+4>>2]|0,52)|0,y()|0,ar(n,(t|0)>6?t:6,u&15),u=0;r=e+(u<<3)|0,r=$t(A[r>>2]|0,A[r+4>>2]|0,f)|0,!(r|0);){if(r=A[f>>2]|0,(r|0)>0){l=0;do a=f+8+(l<<4)|0,l=l+1|0,r=f+8+(((l|0)%(r|0)|0)<<4)|0,o=Dr(n,r,a)|0,o?ur(n,o)|0:Mr(n,a,r)|0,r=A[f>>2]|0;while((l|0)<(r|0))}if(u=u+1|0,(u|0)>=(t|0)){r=0,c=13;break}}return(c|0)==13?(g=d,r|0):(lr(n),c=r,g=d,c|0)}function pi(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;if(a=g,g=g+32|0,r=a,o=a+16|0,e=t0(e,t,o)|0,e|0)return n=e,g=a,n|0;if(A[n>>2]=0,A[n+4>>2]=0,A[n+8>>2]=0,e=hr(o)|0,e|0)do{t=hi(n)|0;do on(t,e)|0,l=e+16|0,A[r>>2]=A[l>>2],A[r+4>>2]=A[l+4>>2],A[r+8>>2]=A[l+8>>2],A[r+12>>2]=A[l+12>>2],ur(o,e)|0,e=Ir(o,r)|0;while((e|0)!=0);e=hr(o)|0}while((e|0)!=0);return lr(o),e=Jn(n)|0,e?(k0(n),l=e,g=a,l|0):(l=0,g=a,l|0)}function ZA(e){return e=e|0,e>>>0>121?(e=0,e|0):(e=A[7696+(e*28|0)+16>>2]|0,e|0)}function ti(e){return e=e|0,(e|0)==4|(e|0)==117|0}function ei(e){return e=e|0,A[11120+((A[e>>2]|0)*216|0)+((A[e+4>>2]|0)*72|0)+((A[e+8>>2]|0)*24|0)+(A[e+12>>2]<<3)>>2]|0}function U0(e){return e=e|0,A[11120+((A[e>>2]|0)*216|0)+((A[e+4>>2]|0)*72|0)+((A[e+8>>2]|0)*24|0)+(A[e+12>>2]<<3)+4>>2]|0}function e0(e,t){e=e|0,t=t|0,e=7696+(e*28|0)|0,A[t>>2]=A[e>>2],A[t+4>>2]=A[e+4>>2],A[t+8>>2]=A[e+8>>2],A[t+12>>2]=A[e+12>>2]}function En(e,t){e=e|0,t=t|0;var n=0,r=0;if(t>>>0>20)return t=-1,t|0;do if((A[11120+(t*216|0)>>2]|0)!=(e|0))if((A[11120+(t*216|0)+8>>2]|0)!=(e|0))if((A[11120+(t*216|0)+16>>2]|0)!=(e|0))if((A[11120+(t*216|0)+24>>2]|0)!=(e|0))if((A[11120+(t*216|0)+32>>2]|0)!=(e|0))if((A[11120+(t*216|0)+40>>2]|0)!=(e|0))if((A[11120+(t*216|0)+48>>2]|0)!=(e|0))if((A[11120+(t*216|0)+56>>2]|0)!=(e|0))if((A[11120+(t*216|0)+64>>2]|0)!=(e|0))if((A[11120+(t*216|0)+72>>2]|0)!=(e|0))if((A[11120+(t*216|0)+80>>2]|0)!=(e|0))if((A[11120+(t*216|0)+88>>2]|0)!=(e|0))if((A[11120+(t*216|0)+96>>2]|0)!=(e|0))if((A[11120+(t*216|0)+104>>2]|0)!=(e|0))if((A[11120+(t*216|0)+112>>2]|0)!=(e|0))if((A[11120+(t*216|0)+120>>2]|0)!=(e|0))if((A[11120+(t*216|0)+128>>2]|0)!=(e|0))if((A[11120+(t*216|0)+136>>2]|0)==(e|0))e=2,n=1,r=2;else{if((A[11120+(t*216|0)+144>>2]|0)==(e|0)){e=0,n=2,r=0;break}if((A[11120+(t*216|0)+152>>2]|0)==(e|0)){e=0,n=2,r=1;break}if((A[11120+(t*216|0)+160>>2]|0)==(e|0)){e=0,n=2,r=2;break}if((A[11120+(t*216|0)+168>>2]|0)==(e|0)){e=1,n=2,r=0;break}if((A[11120+(t*216|0)+176>>2]|0)==(e|0)){e=1,n=2,r=1;break}if((A[11120+(t*216|0)+184>>2]|0)==(e|0)){e=1,n=2,r=2;break}if((A[11120+(t*216|0)+192>>2]|0)==(e|0)){e=2,n=2,r=0;break}if((A[11120+(t*216|0)+200>>2]|0)==(e|0)){e=2,n=2,r=1;break}if((A[11120+(t*216|0)+208>>2]|0)==(e|0)){e=2,n=2,r=2;break}else e=-1;return e|0}else e=2,n=1,r=1;else e=2,n=1,r=0;else e=1,n=1,r=2;else e=1,n=1,r=1;else e=1,n=1,r=0;else e=0,n=1,r=2;else e=0,n=1,r=1;else e=0,n=1,r=0;else e=2,n=0,r=2;else e=2,n=0,r=1;else e=2,n=0,r=0;else e=1,n=0,r=2;else e=1,n=0,r=1;else e=1,n=0,r=0;else e=0,n=0,r=2;else e=0,n=0,r=1;else e=0,n=0,r=0;while(!1);return t=A[11120+(t*216|0)+(n*72|0)+(e*24|0)+(r<<3)+4>>2]|0,t|0}function pA(e,t){return e=e|0,t=t|0,(A[7696+(e*28|0)+20>>2]|0)==(t|0)?(t=1,t|0):(t=(A[7696+(e*28|0)+24>>2]|0)==(t|0),t|0)}function Ut(e,t){return e=e|0,t=t|0,A[848+(e*28|0)+(t<<2)>>2]|0}function OA(e,t){return e=e|0,t=t|0,(A[848+(e*28|0)>>2]|0)==(t|0)?(t=0,t|0):(A[848+(e*28|0)+4>>2]|0)==(t|0)?(t=1,t|0):(A[848+(e*28|0)+8>>2]|0)==(t|0)?(t=2,t|0):(A[848+(e*28|0)+12>>2]|0)==(t|0)?(t=3,t|0):(A[848+(e*28|0)+16>>2]|0)==(t|0)?(t=4,t|0):(A[848+(e*28|0)+20>>2]|0)==(t|0)?(t=5,t|0):((A[848+(e*28|0)+24>>2]|0)==(t|0)?6:7)|0}function W0(){return 122}function i0(e){e=e|0;var t=0,n=0,r=0;t=0;do U(t|0,0,45)|0,r=y()|0|134225919,n=e+(t<<3)|0,A[n>>2]=-1,A[n+4>>2]=r,t=t+1|0;while((t|0)!=122);return 0}function n0(e){e=e|0;var t=0,n=0,r=0;return r=+p[e+16>>3],n=+p[e+24>>3],t=r-n,+(r<n?t+6.283185307179586:t)}function gi(e){return e=e|0,+p[e+16>>3]<+p[e+24>>3]|0}function xe(e){return e=e|0,+(+p[e>>3]-+p[e+8>>3])}function ii(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;return n=+p[t>>3],!(n>=+p[e+8>>3])||!(n<=+p[e>>3])?(t=0,t|0):(r=+p[e+16>>3],n=+p[e+24>>3],o=+p[t+8>>3],t=o>=n,e=o<=r&1,r<n?t&&(e=1):t||(e=0),t=(e|0)!=0,t|0)}function Te(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;return+p[e>>3]<+p[t+8>>3]||+p[e+8>>3]>+p[t>>3]?(r=0,r|0):(a=+p[e+16>>3],n=e+24|0,d=+p[n>>3],l=a<d,r=t+16|0,c=+p[r>>3],o=t+24|0,f=+p[o>>3],u=c<f,t=d-c<f-a,e=l?u|t?1:2:0,t=u?l?1:t?2:1:0,a=+gt(a,e),a<+gt(+p[o>>3],t)||(d=+gt(+p[n>>3],e),d>+gt(+p[r>>3],t))?(u=0,u|0):(u=1,u|0))}function _t(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0;a=+p[e+16>>3],f=+p[e+24>>3],e=a<f,u=+p[t+16>>3],l=+p[t+24>>3],o=u<l,t=f-u<l-a,A[n>>2]=e?o|t?1:2:0,A[r>>2]=o?e?1:t?2:1:0}function ye(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;return+p[e>>3]<+p[t>>3]||+p[e+8>>3]>+p[t+8>>3]?(r=0,r|0):(r=e+16|0,f=+p[r>>3],a=+p[e+24>>3],l=f<a,n=t+16|0,d=+p[n>>3],o=t+24|0,c=+p[o>>3],u=d<c,t=a-d<c-f,e=l?u|t?1:2:0,t=u?l?1:t?2:1:0,a=+gt(a,e),a<=+gt(+p[o>>3],t)?(d=+gt(+p[r>>3],e),u=d>=+gt(+p[n>>3],t),u|0):(u=0,u|0))}function r0(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0;o=g,g=g+176|0,r=o,A[r>>2]=4,u=+p[t>>3],p[r+8>>3]=u,a=+p[t+16>>3],p[r+16>>3]=a,p[r+24>>3]=u,u=+p[t+24>>3],p[r+32>>3]=u,l=+p[t+8>>3],p[r+40>>3]=l,p[r+48>>3]=u,p[r+56>>3]=l,p[r+64>>3]=a,t=r+72|0,n=t+96|0;do A[t>>2]=0,t=t+4|0;while((t|0)<(n|0));Si(e|0,r|0,168)|0,g=o}function o0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0;P=g,g=g+288|0,d=P+264|0,w=P+96|0,c=P,u=c,f=u+96|0;do A[u>>2]=0,u=u+4|0;while((u|0)<(f|0));return t=y0(t,c)|0,t|0?(B=t,g=P,B|0):(f=c,c=A[f>>2]|0,f=A[f+4>>2]|0,re(c,f,d)|0,$t(c,f,w)|0,l=+be(d,w+8|0),p[d>>3]=+p[e>>3],f=d+8|0,p[f>>3]=+p[e+16>>3],p[w>>3]=+p[e+8>>3],c=w+8|0,p[c>>3]=+p[e+24>>3],o=+be(d,w),T=+p[f>>3]-+p[c>>3],a=+dA(+T),C=+p[d>>3]-+p[w>>3],r=+dA(+C),!(T==0|C==0)&&(T=+cr(+a,+r),T=+ue(+(o*o/+_n(+(T/+_n(+a,+r)),3)/(l*(l*2.59807621135)*.8))),p[xA>>3]=T,k=~~T>>>0,B=+dA(T)>=1?T>0?~~+Ki(+at(T/4294967296),4294967295)>>>0:~~+ue((T-+(~~T>>>0))/4294967296)>>>0:0,(A[xA+4>>2]&2146435072|0)!=2146435072)?(w=(k|0)==0&(B|0)==0,t=n,A[t>>2]=w?1:k,A[t+4>>2]=w?0:B,t=0):t=1,B=t,g=P,B|0)}function Cn(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0;c=g,g=g+288|0,l=c+264|0,u=c+96|0,f=c,o=f,a=o+96|0;do A[o>>2]=0,o=o+4|0;while((o|0)<(a|0));return n=y0(n,f)|0,n|0?(r=n,g=c,r|0):(n=f,o=A[n>>2]|0,n=A[n+4>>2]|0,re(o,n,l)|0,$t(o,n,u)|0,d=+be(l,u+8|0),d=+ue(+(+be(e,t)/(d*2))),p[xA>>3]=d,n=~~d>>>0,o=+dA(d)>=1?d>0?~~+Ki(+at(d/4294967296),4294967295)>>>0:~~+ue((d-+(~~d>>>0))/4294967296)>>>0:0,(A[xA+4>>2]&2146435072|0)==2146435072?(r=1,g=c,r|0):(f=(n|0)==0&(o|0)==0,A[r>>2]=f?1:n,A[r+4>>2]=f?0:o,r=0,g=c,r|0))}function Y0(e,t){e=e|0,t=+t;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;a=e+16|0,l=+p[a>>3],n=e+24|0,o=+p[n>>3],r=l-o,r=l<o?r+6.283185307179586:r,c=+p[e>>3],u=e+8|0,f=+p[u>>3],d=c-f,r=(r*t-r)*.5,t=(d*t-d)*.5,c=c+t,p[e>>3]=c>1.5707963267948966?1.5707963267948966:c,t=f-t,p[u>>3]=t<-1.5707963267948966?-1.5707963267948966:t,t=l+r,t=t>3.141592653589793?t+-6.283185307179586:t,p[a>>3]=t<-3.141592653589793?t+6.283185307179586:t,t=o-r,t=t>3.141592653589793?t+-6.283185307179586:t,p[n>>3]=t<-3.141592653589793?t+6.283185307179586:t}function s0(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0,A[e>>2]=t,A[e+4>>2]=n,A[e+8>>2]=r}function xn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;w=t+8|0,A[w>>2]=0,f=+p[e>>3],l=+dA(+f),c=+p[e+8>>3],u=+dA(+c)*1.1547005383792515,l=l+u*.5,n=~~l,e=~~u,l=l-+(n|0),u=u-+(e|0);do if(l<.5)if(l<.3333333333333333)if(A[t>>2]=n,u<(l+1)*.5){A[t+4>>2]=e;break}else{e=e+1|0,A[t+4>>2]=e;break}else if(k=1-l,e=(!(u<k)&1)+e|0,A[t+4>>2]=e,k<=u&u<l*2){n=n+1|0,A[t>>2]=n;break}else{A[t>>2]=n;break}else{if(!(l<.6666666666666666))if(n=n+1|0,A[t>>2]=n,u<l*.5){A[t+4>>2]=e;break}else{e=e+1|0,A[t+4>>2]=e;break}if(u<1-l){if(A[t+4>>2]=e,l*2+-1<u){A[t>>2]=n;break}}else e=e+1|0,A[t+4>>2]=e;n=n+1|0,A[t>>2]=n}while(!1);do if(f<0)if(e&1){d=(e+1|0)/2|0,d=wt(n|0,((n|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0,n=~~(+(n|0)-((+(d>>>0)+4294967296*+(y()|0))*2+1)),A[t>>2]=n;break}else{d=(e|0)/2|0,d=wt(n|0,((n|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0,n=~~(+(n|0)-(+(d>>>0)+4294967296*+(y()|0))*2),A[t>>2]=n;break}while(!1);d=t+4|0,c<0&&(n=n-((e<<1|1|0)/2|0)|0,A[t>>2]=n,e=0-e|0,A[d>>2]=e),r=e-n|0,(n|0)<0?(o=0-n|0,A[d>>2]=r,A[w>>2]=o,A[t>>2]=0,e=r,n=0):o=0,(e|0)<0&&(n=n-e|0,A[t>>2]=n,o=o-e|0,A[w>>2]=o,A[d>>2]=0,e=0),a=n-o|0,r=e-o|0,(o|0)<0&&(A[t>>2]=a,A[d>>2]=r,A[w>>2]=0,e=r,n=a,o=0),r=(e|0)<(n|0)?e:n,r=(o|0)<(r|0)?o:r,!((r|0)<=0)&&(A[t>>2]=n-r,A[d>>2]=e-r,A[w>>2]=o-r)}function ct(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0;t=A[e>>2]|0,l=e+4|0,n=A[l>>2]|0,(t|0)<0&&(n=n-t|0,A[l>>2]=n,a=e+8|0,A[a>>2]=(A[a>>2]|0)-t,A[e>>2]=0,t=0),(n|0)<0?(t=t-n|0,A[e>>2]=t,a=e+8|0,o=(A[a>>2]|0)-n|0,A[a>>2]=o,A[l>>2]=0,n=0):(o=e+8|0,a=o,o=A[o>>2]|0),(o|0)<0&&(t=t-o|0,A[e>>2]=t,n=n-o|0,A[l>>2]=n,A[a>>2]=0,o=0),r=(n|0)<(t|0)?n:t,r=(o|0)<(r|0)?o:r,!((r|0)<=0)&&(A[e>>2]=t-r,A[l>>2]=n-r,A[a>>2]=o-r)}function PA(e,t){e=e|0,t=t|0;var n=0,r=0;r=A[e+8>>2]|0,n=+((A[e+4>>2]|0)-r|0),p[t>>3]=+((A[e>>2]|0)-r|0)-n*.5,p[t+8>>3]=n*.8660254037844386}function Pt(e,t,n){e=e|0,t=t|0,n=n|0,A[n>>2]=(A[t>>2]|0)+(A[e>>2]|0),A[n+4>>2]=(A[t+4>>2]|0)+(A[e+4>>2]|0),A[n+8>>2]=(A[t+8>>2]|0)+(A[e+8>>2]|0)}function Ot(e,t,n){e=e|0,t=t|0,n=n|0,A[n>>2]=(A[e>>2]|0)-(A[t>>2]|0),A[n+4>>2]=(A[e+4>>2]|0)-(A[t+4>>2]|0),A[n+8>>2]=(A[e+8>>2]|0)-(A[t+8>>2]|0)}function Ze(e,t){e=e|0,t=t|0;var n=0,r=0;n=ie(A[e>>2]|0,t)|0,A[e>>2]=n,n=e+4|0,r=ie(A[n>>2]|0,t)|0,A[n>>2]=r,e=e+8|0,t=ie(A[e>>2]|0,t)|0,A[e>>2]=t}function ni(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;l=A[e>>2]|0,u=(l|0)<0,r=(A[e+4>>2]|0)-(u?l:0)|0,a=(r|0)<0,o=(a?0-r|0:0)+((A[e+8>>2]|0)-(u?l:0))|0,n=(o|0)<0,e=n?0:o,t=(a?0:r)-(n?o:0)|0,o=(u?0:l)-(a?r:0)-(n?o:0)|0,n=(t|0)<(o|0)?t:o,n=(e|0)<(n|0)?e:n,r=(n|0)>0,e=e-(r?n:0)|0,t=t-(r?n:0)|0;A:do switch(o-(r?n:0)|0){case 0:switch(t|0){case 0:return u=(e|0)==0?0:(e|0)==1?1:7,u|0;case 1:return u=(e|0)==0?2:(e|0)==1?3:7,u|0;default:break A}case 1:switch(t|0){case 0:return u=(e|0)==0?4:(e|0)==1?5:7,u|0;case 1:{if(!e)e=6;else break A;return e|0}default:break A}}while(!1);return u=7,u|0}function Tn(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0;if(f=e+8|0,l=A[f>>2]|0,u=(A[e>>2]|0)-l|0,c=e+4|0,l=(A[c>>2]|0)-l|0,u>>>0>715827881|l>>>0>715827881){if(r=(u|0)>0,o=2147483647-u|0,a=-2147483648-u|0,(r?(o|0)<(u|0):(a|0)>(u|0))||(n=u<<1,r?(2147483647-n|0)<(u|0):(-2147483648-n|0)>(u|0))||((l|0)>0?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0))||(t=u*3|0,n=l<<1,(r?(o|0)<(n|0):(a|0)>(n|0))||((u|0)>-1?(t|-2147483648|0)>=(l|0):(t^-2147483648|0)<(l|0))))return c=1,c|0}else n=l<<1,t=u*3|0;return r=We(+(t-l|0)*.14285714285714285)|0,A[e>>2]=r,o=We(+(n+u|0)*.14285714285714285)|0,A[c>>2]=o,A[f>>2]=0,n=(o|0)<(r|0),t=n?r:o,n=n?o:r,(n|0)<0&&(((n|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(n|0):(-2147483648-t|0)>(n|0)))&&iA(27795,26892,354,26903),((t|0)>-1?(t|-2147483648|0)>=(n|0):(t^-2147483648|0)<(n|0))&&iA(27795,26892,354,26903)),t=o-r|0,(r|0)<0?(n=0-r|0,A[c>>2]=t,A[f>>2]=n,A[e>>2]=0,r=0):(t=o,n=0),(t|0)<0&&(r=r-t|0,A[e>>2]=r,n=n-t|0,A[f>>2]=n,A[c>>2]=0,t=0),a=r-n|0,o=t-n|0,(n|0)<0?(A[e>>2]=a,A[c>>2]=o,A[f>>2]=0,t=o,o=a,n=0):o=r,r=(t|0)<(o|0)?t:o,r=(n|0)<(r|0)?n:r,(r|0)<=0?(c=0,c|0):(A[e>>2]=o-r,A[c>>2]=t-r,A[f>>2]=n-r,c=0,c|0)}function a0(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0;if(l=e+8|0,o=A[l>>2]|0,a=(A[e>>2]|0)-o|0,u=e+4|0,o=(A[u>>2]|0)-o|0,a>>>0>715827881|o>>>0>715827881){if(n=(a|0)>0,(n?(2147483647-a|0)<(a|0):(-2147483648-a|0)>(a|0))||(t=a<<1,r=(o|0)>0,r?(2147483647-o|0)<(o|0):(-2147483648-o|0)>(o|0)))return u=1,u|0;if(f=o<<1,(r?(2147483647-f|0)<(o|0):(-2147483648-f|0)>(o|0))||(n?(2147483647-t|0)<(o|0):(-2147483648-t|0)>(o|0))||(n=o*3|0,(o|0)>-1?(n|-2147483648|0)>=(a|0):(n^-2147483648|0)<(a|0)))return f=1,f|0}else n=o*3|0,t=a<<1;return r=We(+(t+o|0)*.14285714285714285)|0,A[e>>2]=r,o=We(+(n-a|0)*.14285714285714285)|0,A[u>>2]=o,A[l>>2]=0,n=(o|0)<(r|0),t=n?r:o,n=n?o:r,(n|0)<0&&(((n|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(n|0):(-2147483648-t|0)>(n|0)))&&iA(27795,26892,402,26917),((t|0)>-1?(t|-2147483648|0)>=(n|0):(t^-2147483648|0)<(n|0))&&iA(27795,26892,402,26917)),t=o-r|0,(r|0)<0?(n=0-r|0,A[u>>2]=t,A[l>>2]=n,A[e>>2]=0,r=0):(t=o,n=0),(t|0)<0&&(r=r-t|0,A[e>>2]=r,n=n-t|0,A[l>>2]=n,A[u>>2]=0,t=0),a=r-n|0,o=t-n|0,(n|0)<0?(A[e>>2]=a,A[u>>2]=o,A[l>>2]=0,t=o,o=a,n=0):o=r,r=(t|0)<(o|0)?t:o,r=(n|0)<(r|0)?n:r,(r|0)<=0?(f=0,f|0):(A[e>>2]=o-r,A[u>>2]=t-r,A[l>>2]=n-r,f=0,f|0)}function Mn(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;l=e+8|0,n=A[l>>2]|0,t=(A[e>>2]|0)-n|0,u=e+4|0,n=(A[u>>2]|0)-n|0,r=We(+((t*3|0)-n|0)*.14285714285714285)|0,A[e>>2]=r,t=We(+((n<<1)+t|0)*.14285714285714285)|0,A[u>>2]=t,A[l>>2]=0,n=t-r|0,(r|0)<0?(a=0-r|0,A[u>>2]=n,A[l>>2]=a,A[e>>2]=0,t=n,r=0,n=a):n=0,(t|0)<0&&(r=r-t|0,A[e>>2]=r,n=n-t|0,A[l>>2]=n,A[u>>2]=0,t=0),a=r-n|0,o=t-n|0,(n|0)<0?(A[e>>2]=a,A[u>>2]=o,A[l>>2]=0,t=o,o=a,n=0):o=r,r=(t|0)<(o|0)?t:o,r=(n|0)<(r|0)?n:r,!((r|0)<=0)&&(A[e>>2]=o-r,A[u>>2]=t-r,A[l>>2]=n-r)}function l0(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;l=e+8|0,n=A[l>>2]|0,t=(A[e>>2]|0)-n|0,u=e+4|0,n=(A[u>>2]|0)-n|0,r=We(+((t<<1)+n|0)*.14285714285714285)|0,A[e>>2]=r,t=We(+((n*3|0)-t|0)*.14285714285714285)|0,A[u>>2]=t,A[l>>2]=0,n=t-r|0,(r|0)<0?(a=0-r|0,A[u>>2]=n,A[l>>2]=a,A[e>>2]=0,t=n,r=0,n=a):n=0,(t|0)<0&&(r=r-t|0,A[e>>2]=r,n=n-t|0,A[l>>2]=n,A[u>>2]=0,t=0),a=r-n|0,o=t-n|0,(n|0)<0?(A[e>>2]=a,A[u>>2]=o,A[l>>2]=0,t=o,o=a,n=0):o=r,r=(t|0)<(o|0)?t:o,r=(n|0)<(r|0)?n:r,!((r|0)<=0)&&(A[e>>2]=o-r,A[u>>2]=t-r,A[l>>2]=n-r)}function vi(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;t=A[e>>2]|0,l=e+4|0,n=A[l>>2]|0,u=e+8|0,r=A[u>>2]|0,o=n+(t*3|0)|0,A[e>>2]=o,n=r+(n*3|0)|0,A[l>>2]=n,t=(r*3|0)+t|0,A[u>>2]=t,r=n-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=r,A[u>>2]=t,A[e>>2]=0,n=r,r=0):r=o,(n|0)<0&&(r=r-n|0,A[e>>2]=r,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=r-t|0,o=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=o,A[u>>2]=0,r=a,t=0):o=n,n=(o|0)<(r|0)?o:r,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=r-n,A[l>>2]=o-n,A[u>>2]=t-n)}function Me(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;o=A[e>>2]|0,l=e+4|0,t=A[l>>2]|0,u=e+8|0,n=A[u>>2]|0,r=(t*3|0)+o|0,o=n+(o*3|0)|0,A[e>>2]=o,A[l>>2]=r,t=(n*3|0)+t|0,A[u>>2]=t,n=r-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=n,A[u>>2]=t,A[e>>2]=0,o=0):n=r,(n|0)<0&&(o=o-n|0,A[e>>2]=o,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=o-t|0,r=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=r,A[u>>2]=0,o=a,t=0):r=n,n=(r|0)<(o|0)?r:o,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=o-n,A[l>>2]=r-n,A[u>>2]=t-n)}function wi(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0;(t+-1|0)>>>0>=6||(o=(A[15440+(t*12|0)>>2]|0)+(A[e>>2]|0)|0,A[e>>2]=o,u=e+4|0,r=(A[15440+(t*12|0)+4>>2]|0)+(A[u>>2]|0)|0,A[u>>2]=r,l=e+8|0,t=(A[15440+(t*12|0)+8>>2]|0)+(A[l>>2]|0)|0,A[l>>2]=t,n=r-o|0,(o|0)<0?(t=t-o|0,A[u>>2]=n,A[l>>2]=t,A[e>>2]=0,r=0):(n=r,r=o),(n|0)<0&&(r=r-n|0,A[e>>2]=r,t=t-n|0,A[l>>2]=t,A[u>>2]=0,n=0),a=r-t|0,o=n-t|0,(t|0)<0?(A[e>>2]=a,A[u>>2]=o,A[l>>2]=0,r=a,t=0):o=n,n=(o|0)<(r|0)?o:r,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=r-n,A[u>>2]=o-n,A[l>>2]=t-n))}function j0(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;o=A[e>>2]|0,l=e+4|0,t=A[l>>2]|0,u=e+8|0,n=A[u>>2]|0,r=t+o|0,o=n+o|0,A[e>>2]=o,A[l>>2]=r,t=n+t|0,A[u>>2]=t,n=r-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=n,A[u>>2]=t,A[e>>2]=0,r=0):(n=r,r=o),(n|0)<0&&(r=r-n|0,A[e>>2]=r,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=r-t|0,o=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=o,A[u>>2]=0,r=a,t=0):o=n,n=(o|0)<(r|0)?o:r,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=r-n,A[l>>2]=o-n,A[u>>2]=t-n)}function Zt(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;t=A[e>>2]|0,l=e+4|0,r=A[l>>2]|0,u=e+8|0,n=A[u>>2]|0,o=r+t|0,A[e>>2]=o,r=n+r|0,A[l>>2]=r,t=n+t|0,A[u>>2]=t,n=r-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=n,A[u>>2]=t,A[e>>2]=0,r=0):(n=r,r=o),(n|0)<0&&(r=r-n|0,A[e>>2]=r,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=r-t|0,o=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=o,A[u>>2]=0,r=a,t=0):o=n,n=(o|0)<(r|0)?o:r,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=r-n,A[l>>2]=o-n,A[u>>2]=t-n)}function De(e){switch(e=e|0,e|0){case 1:{e=5;break}case 5:{e=4;break}case 4:{e=6;break}case 6:{e=2;break}case 2:{e=3;break}case 3:{e=1;break}}return e|0}function _e(e){switch(e=e|0,e|0){case 1:{e=3;break}case 3:{e=2;break}case 2:{e=6;break}case 6:{e=4;break}case 4:{e=5;break}case 5:{e=1;break}}return e|0}function ce(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;t=A[e>>2]|0,l=e+4|0,n=A[l>>2]|0,u=e+8|0,r=A[u>>2]|0,o=n+(t<<1)|0,A[e>>2]=o,n=r+(n<<1)|0,A[l>>2]=n,t=(r<<1)+t|0,A[u>>2]=t,r=n-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=r,A[u>>2]=t,A[e>>2]=0,n=r,r=0):r=o,(n|0)<0&&(r=r-n|0,A[e>>2]=r,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=r-t|0,o=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=o,A[u>>2]=0,r=a,t=0):o=n,n=(o|0)<(r|0)?o:r,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=r-n,A[l>>2]=o-n,A[u>>2]=t-n)}function h0(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;o=A[e>>2]|0,l=e+4|0,t=A[l>>2]|0,u=e+8|0,n=A[u>>2]|0,r=(t<<1)+o|0,o=n+(o<<1)|0,A[e>>2]=o,A[l>>2]=r,t=(n<<1)+t|0,A[u>>2]=t,n=r-o|0,(o|0)<0?(t=t-o|0,A[l>>2]=n,A[u>>2]=t,A[e>>2]=0,o=0):n=r,(n|0)<0&&(o=o-n|0,A[e>>2]=o,t=t-n|0,A[u>>2]=t,A[l>>2]=0,n=0),a=o-t|0,r=n-t|0,(t|0)<0?(A[e>>2]=a,A[l>>2]=r,A[u>>2]=0,o=a,t=0):r=n,n=(r|0)<(o|0)?r:o,n=(t|0)<(n|0)?t:n,!((n|0)<=0)&&(A[e>>2]=o-n,A[l>>2]=r-n,A[u>>2]=t-n)}function yi(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0;return l=(A[e>>2]|0)-(A[t>>2]|0)|0,u=(l|0)<0,r=(A[e+4>>2]|0)-(A[t+4>>2]|0)-(u?l:0)|0,a=(r|0)<0,o=(u?0-l|0:0)+(A[e+8>>2]|0)-(A[t+8>>2]|0)+(a?0-r|0:0)|0,e=(o|0)<0,t=e?0:o,n=(a?0:r)-(e?o:0)|0,o=(u?0:l)-(a?r:0)-(e?o:0)|0,e=(n|0)<(o|0)?n:o,e=(t|0)<(e|0)?t:e,r=(e|0)>0,t=t-(r?e:0)|0,n=n-(r?e:0)|0,e=o-(r?e:0)|0,e=(e|0)>-1?e:0-e|0,n=(n|0)>-1?n:0-n|0,t=(t|0)>-1?t:0-t|0,t=(n|0)>(t|0)?n:t,((e|0)>(t|0)?e:t)|0}function u0(e,t){e=e|0,t=t|0;var n=0;n=A[e+8>>2]|0,A[t>>2]=(A[e>>2]|0)-n,A[t+4>>2]=(A[e+4>>2]|0)-n}function Dn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0;return r=A[e>>2]|0,A[t>>2]=r,o=A[e+4>>2]|0,l=t+4|0,A[l>>2]=o,u=t+8|0,A[u>>2]=0,n=(o|0)<(r|0),e=n?r:o,n=n?o:r,(n|0)<0&&((n|0)==-2147483648||((e|0)>0?(2147483647-e|0)<(n|0):(-2147483648-e|0)>(n|0))||((e|0)>-1?(e|-2147483648|0)>=(n|0):(e^-2147483648|0)<(n|0)))?(t=1,t|0):(e=o-r|0,(r|0)<0?(n=0-r|0,A[l>>2]=e,A[u>>2]=n,A[t>>2]=0,r=0):(e=o,n=0),(e|0)<0&&(r=r-e|0,A[t>>2]=r,n=n-e|0,A[u>>2]=n,A[l>>2]=0,e=0),a=r-n|0,o=e-n|0,(n|0)<0?(A[t>>2]=a,A[l>>2]=o,A[u>>2]=0,e=o,o=a,n=0):o=r,r=(e|0)<(o|0)?e:o,r=(n|0)<(r|0)?n:r,(r|0)<=0?(t=0,t|0):(A[t>>2]=o-r,A[l>>2]=e-r,A[u>>2]=n-r,t=0,t|0))}function f0(e){e=e|0;var t=0,n=0,r=0,o=0;t=e+8|0,o=A[t>>2]|0,n=o-(A[e>>2]|0)|0,A[e>>2]=n,r=e+4|0,e=(A[r>>2]|0)-o|0,A[r>>2]=e,A[t>>2]=0-(e+n)}function V0(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;n=A[e>>2]|0,t=0-n|0,A[e>>2]=t,l=e+8|0,A[l>>2]=0,u=e+4|0,r=A[u>>2]|0,o=r+n|0,(n|0)>0?(A[u>>2]=o,A[l>>2]=n,A[e>>2]=0,t=0,r=o):n=0,(r|0)<0?(a=t-r|0,A[e>>2]=a,n=n-r|0,A[l>>2]=n,A[u>>2]=0,o=a-n|0,t=0-n|0,(n|0)<0?(A[e>>2]=o,A[u>>2]=t,A[l>>2]=0,r=t,n=0):(r=0,o=a)):o=t,t=(r|0)<(o|0)?r:o,t=(n|0)<(t|0)?n:t,!((t|0)<=0)&&(A[e>>2]=o-t,A[u>>2]=r-t,A[l>>2]=n-t)}function In(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0;if(w=g,g=g+64|0,d=w,u=w+56|0,!(!0&(t&2013265920|0)==134217728&(!0&(r&2013265920|0)==134217728)))return o=5,g=w,o|0;if((e|0)==(n|0)&(t|0)==(r|0))return A[o>>2]=0,o=0,g=w,o|0;if(l=F(e|0,t|0,52)|0,y()|0,l=l&15,c=F(n|0,r|0,52)|0,y()|0,(l|0)!=(c&15|0))return o=12,g=w,o|0;if(a=l+-1|0,l>>>0>1){g0(e,t,a,d)|0,g0(n,r,a,u)|0,c=d,f=A[c>>2]|0,c=A[c+4>>2]|0;A:do if((f|0)==(A[u>>2]|0)&&(c|0)==(A[u+4>>2]|0)){l=(l^15)*3|0,a=F(e|0,t|0,l|0)|0,y()|0,a=a&7,l=F(n|0,r|0,l|0)|0,y()|0,l=l&7;do if((a|0)==0|(l|0)==0)A[o>>2]=1,a=0;else if((a|0)==7)a=5;else{if((a|0)==1|(l|0)==1&&zA(f,c)|0){a=5;break}if((A[15536+(a<<2)>>2]|0)!=(l|0)&&(A[15568+(a<<2)>>2]|0)!=(l|0))break A;A[o>>2]=1,a=0}while(!1);return o=a,g=w,o|0}while(!1)}a=d,l=a+56|0;do A[a>>2]=0,a=a+4|0;while((a|0)<(l|0));return $e(e,t,1,d)|0,t=d,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0))&&(t=d+8|0,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0)))&&(t=d+16|0,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0)))&&(t=d+24|0,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0)))&&(t=d+32|0,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0)))&&(t=d+40|0,!((A[t>>2]|0)==(n|0)&&(A[t+4>>2]|0)==(r|0)))?(a=d+48|0,a=((A[a>>2]|0)==(n|0)?(A[a+4>>2]|0)==(r|0):0)&1):a=1,A[o>>2]=a,o=0,g=w,o|0}function zn(e,t,n,r,o){return e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,n=Ce(e,t,n,r)|0,(n|0)==7?(o=11,o|0):(r=U(n|0,0,56)|0,t=t&-2130706433|(y()|0)|268435456,A[o>>2]=e|r,A[o+4>>2]=t,o=0,o|0)}function _0(e,t,n){return e=e|0,t=t|0,n=n|0,!0&(t&2013265920|0)==268435456?(A[n>>2]=e,A[n+4>>2]=t&-2130706433|134217728,n=0,n|0):(n=6,n|0)}function Sn(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;return o=g,g=g+16|0,r=o,A[r>>2]=0,!0&(t&2013265920|0)==268435456?(a=F(e|0,t|0,56)|0,y()|0,r=YA(e,t&-2130706433|134217728,a&7,r,n)|0,g=o,r|0):(r=6,g=o,r|0)}function c0(e,t){e=e|0,t=t|0;var n=0;switch(n=F(e|0,t|0,56)|0,y()|0,n&7){case 0:case 7:return n=0,n|0}return n=t&-2130706433|134217728,!(!0&(t&2013265920|0)==268435456)||!0&(t&117440512|0)==16777216&(zA(e,n)|0)!=0?(n=0,n|0):(n=qt(e,n)|0,n|0)}function K0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;return o=g,g=g+16|0,r=o,!0&(t&2013265920|0)==268435456?(a=t&-2130706433|134217728,l=n,A[l>>2]=e,A[l+4>>2]=a,A[r>>2]=0,t=F(e|0,t|0,56)|0,y()|0,r=YA(e,a,t&7,r,n+8|0)|0,g=o,r|0):(r=6,g=o,r|0)}function ki(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0;return o=(zA(e,t)|0)==0,t=t&-2130706433,r=n,A[r>>2]=o?e:0,A[r+4>>2]=o?t|285212672:0,r=n+8|0,A[r>>2]=e,A[r+4>>2]=t|301989888,r=n+16|0,A[r>>2]=e,A[r+4>>2]=t|318767104,r=n+24|0,A[r>>2]=e,A[r+4>>2]=t|335544320,r=n+32|0,A[r>>2]=e,A[r+4>>2]=t|352321536,n=n+40|0,A[n>>2]=e,A[n+4>>2]=t|369098752,0}function ne(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;return l=g,g=g+16|0,o=l,a=t&-2130706433|134217728,!0&(t&2013265920|0)==268435456?(r=F(e|0,t|0,56)|0,y()|0,r=ir(e,a,r&7)|0,(r|0)==-1?(A[n>>2]=0,a=6,g=l,a|0):(Pe(e,a,o)|0&&iA(27795,26932,282,26947),t=F(e|0,t|0,52)|0,y()|0,t=t&15,zA(e,a)|0?d0(o,t,r,2,n):m0(o,t,r,2,n),a=0,g=l,a|0)):(a=6,g=l,a|0)}function Qn(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0;r=g,g=g+16|0,o=r,ri(e,t,n,o),xn(o,n+4|0),g=r}function ri(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0;if(u=g,g=g+16|0,f=u,Wt(e,n,f),a=+di(+(1-+p[f>>3]*.5)),a<1e-16){A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,g=u;return}if(f=A[n>>2]|0,o=+p[15920+(f*24|0)>>3],o=+si(o-+si(+An(15600+(f<<4)|0,e))),Rt(t)|0?l=+si(o+-.3334731722518321):l=o,o=+Gt(+a)*2.618033988749896,(t|0)>0){e=0;do o=o*2.6457513110645907,e=e+1|0;while((e|0)!=(t|0))}a=+MA(+l)*o,p[r>>3]=a,l=+vA(+l)*o,p[r+8>>3]=l,g=u}function Wt(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;if(a=g,g=g+32|0,o=a,er(e,o),A[t>>2]=0,p[n>>3]=5,r=+qA(16400,o),r<+p[n>>3]&&(A[t>>2]=0,p[n>>3]=r),r=+qA(16424,o),r<+p[n>>3]&&(A[t>>2]=1,p[n>>3]=r),r=+qA(16448,o),r<+p[n>>3]&&(A[t>>2]=2,p[n>>3]=r),r=+qA(16472,o),r<+p[n>>3]&&(A[t>>2]=3,p[n>>3]=r),r=+qA(16496,o),r<+p[n>>3]&&(A[t>>2]=4,p[n>>3]=r),r=+qA(16520,o),r<+p[n>>3]&&(A[t>>2]=5,p[n>>3]=r),r=+qA(16544,o),r<+p[n>>3]&&(A[t>>2]=6,p[n>>3]=r),r=+qA(16568,o),r<+p[n>>3]&&(A[t>>2]=7,p[n>>3]=r),r=+qA(16592,o),r<+p[n>>3]&&(A[t>>2]=8,p[n>>3]=r),r=+qA(16616,o),r<+p[n>>3]&&(A[t>>2]=9,p[n>>3]=r),r=+qA(16640,o),r<+p[n>>3]&&(A[t>>2]=10,p[n>>3]=r),r=+qA(16664,o),r<+p[n>>3]&&(A[t>>2]=11,p[n>>3]=r),r=+qA(16688,o),r<+p[n>>3]&&(A[t>>2]=12,p[n>>3]=r),r=+qA(16712,o),r<+p[n>>3]&&(A[t>>2]=13,p[n>>3]=r),r=+qA(16736,o),r<+p[n>>3]&&(A[t>>2]=14,p[n>>3]=r),r=+qA(16760,o),r<+p[n>>3]&&(A[t>>2]=15,p[n>>3]=r),r=+qA(16784,o),r<+p[n>>3]&&(A[t>>2]=16,p[n>>3]=r),r=+qA(16808,o),r<+p[n>>3]&&(A[t>>2]=17,p[n>>3]=r),r=+qA(16832,o),r<+p[n>>3]&&(A[t>>2]=18,p[n>>3]=r),r=+qA(16856,o),!(r<+p[n>>3])){g=a;return}A[t>>2]=19,p[n>>3]=r,g=a}function Re(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0;if(a=+tr(e),a<1e-16){t=15600+(t<<4)|0,A[o>>2]=A[t>>2],A[o+4>>2]=A[t+4>>2],A[o+8>>2]=A[t+8>>2],A[o+12>>2]=A[t+12>>2];return}if(l=+Ht(+ +p[e+8>>3],+ +p[e>>3]),(n|0)>0){e=0;do a=a*.37796447300922725,e=e+1|0;while((e|0)!=(n|0))}u=a*.3333333333333333,r?(n=(Rt(n)|0)==0,a=+mi(+((n?u:u*.37796447300922725)*.381966011250105))):(a=+mi(+(a*.381966011250105)),Rt(n)|0&&(l=+si(l+.3334731722518321))),jn(15600+(t<<4)|0,+si(+p[15920+(t*24|0)>>3]-l),a,o)}function J0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0;r=g,g=g+16|0,o=r,PA(e+4|0,o),Re(o,A[e>>2]|0,t,0,n),g=r}function d0(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0,AA=0,W=0,kA=0,RA=0,gA=0;if(kA=g,g=g+272|0,a=kA+256|0,D=kA+240|0,sA=kA,AA=kA+224|0,W=kA+208|0,M=kA+176|0,x=kA+160|0,Y=kA+192|0,$=kA+144|0,J=kA+128|0,cA=kA+112|0,mA=kA+96|0,EA=kA+80|0,A[a>>2]=t,A[D>>2]=A[e>>2],A[D+4>>2]=A[e+4>>2],A[D+8>>2]=A[e+8>>2],A[D+12>>2]=A[e+12>>2],Bi(D,a,sA),A[o>>2]=0,D=r+n+((r|0)==5&1)|0,(D|0)<=(n|0)){g=kA;return}f=A[a>>2]|0,c=AA+4|0,d=M+4|0,w=n+5|0,k=16880+(f<<2)|0,B=16960+(f<<2)|0,P=J+8|0,C=cA+8|0,T=mA+8|0,z=W+4|0,u=n;A:for(;;){l=sA+(((u|0)%5|0)<<4)|0,A[W>>2]=A[l>>2],A[W+4>>2]=A[l+4>>2],A[W+8>>2]=A[l+8>>2],A[W+12>>2]=A[l+12>>2];do;while((ke(W,f,0,1)|0)==2);if((u|0)>(n|0)&(Rt(t)|0)!=0){if(A[M>>2]=A[W>>2],A[M+4>>2]=A[W+4>>2],A[M+8>>2]=A[W+8>>2],A[M+12>>2]=A[W+12>>2],PA(c,x),r=A[M>>2]|0,a=A[17040+(r*80|0)+(A[AA>>2]<<2)>>2]|0,A[M>>2]=A[18640+(r*80|0)+(a*20|0)>>2],l=A[18640+(r*80|0)+(a*20|0)+16>>2]|0,(l|0)>0){e=0;do j0(d),e=e+1|0;while((e|0)<(l|0))}switch(l=18640+(r*80|0)+(a*20|0)+4|0,A[Y>>2]=A[l>>2],A[Y+4>>2]=A[l+4>>2],A[Y+8>>2]=A[l+8>>2],Ze(Y,(A[k>>2]|0)*3|0),Pt(d,Y,d),ct(d),PA(d,$),RA=+(A[B>>2]|0),p[J>>3]=RA*3,p[P>>3]=0,gA=RA*-1.5,p[cA>>3]=gA,p[C>>3]=RA*2.598076211353316,p[mA>>3]=gA,p[T>>3]=RA*-2.598076211353316,A[17040+((A[M>>2]|0)*80|0)+(A[W>>2]<<2)>>2]|0){case 1:{e=cA,r=J;break}case 3:{e=mA,r=cA;break}case 2:{e=J,r=mA;break}default:{e=12;break A}}b0(x,$,r,e,EA),Re(EA,A[M>>2]|0,f,1,o+8+(A[o>>2]<<4)|0),A[o>>2]=(A[o>>2]|0)+1}if((u|0)<(w|0)&&(PA(z,M),Re(M,A[W>>2]|0,f,1,o+8+(A[o>>2]<<4)|0),A[o>>2]=(A[o>>2]|0)+1),A[AA>>2]=A[W>>2],A[AA+4>>2]=A[W+4>>2],A[AA+8>>2]=A[W+8>>2],A[AA+12>>2]=A[W+12>>2],u=u+1|0,(u|0)>=(D|0)){e=3;break}}if((e|0)==3){g=kA;return}else(e|0)==12&&iA(26970,27017,572,27027)}function Bi(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0;f=g,g=g+128|0,r=f+64|0,o=f,a=r,l=20240,u=a+60|0;do A[a>>2]=A[l>>2],a=a+4|0,l=l+4|0;while((a|0)<(u|0));a=o,l=20304,u=a+60|0;do A[a>>2]=A[l>>2],a=a+4|0,l=l+4|0;while((a|0)<(u|0));u=(Rt(A[t>>2]|0)|0)==0,r=u?r:o,o=e+4|0,ce(o),h0(o),Rt(A[t>>2]|0)|0&&(Me(o),A[t>>2]=(A[t>>2]|0)+1),A[n>>2]=A[e>>2],t=n+4|0,Pt(o,r,t),ct(t),A[n+16>>2]=A[e>>2],t=n+20|0,Pt(o,r+12|0,t),ct(t),A[n+32>>2]=A[e>>2],t=n+36|0,Pt(o,r+24|0,t),ct(t),A[n+48>>2]=A[e>>2],t=n+52|0,Pt(o,r+36|0,t),ct(t),A[n+64>>2]=A[e>>2],n=n+68|0,Pt(o,r+48|0,n),ct(n),g=f}function ke(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0;if(P=g,g=g+32|0,k=P+12|0,u=P,B=e+4|0,w=A[16960+(t<<2)>>2]|0,d=(r|0)!=0,w=d?w*3|0:w,o=A[B>>2]|0,c=e+8|0,l=A[c>>2]|0,d){if(a=e+12|0,r=A[a>>2]|0,o=l+o+r|0,(o|0)==(w|0))return B=1,g=P,B|0;f=a}else f=e+12|0,r=A[f>>2]|0,o=l+o+r|0;if((o|0)<=(w|0))return B=0,g=P,B|0;do if((r|0)>0){if(r=A[e>>2]|0,(l|0)>0){a=18640+(r*80|0)+60|0,r=e;break}r=18640+(r*80|0)+40|0,n?(s0(k,w,0,0),Ot(B,k,u),Zt(u),Pt(u,k,B),a=r,r=e):(a=r,r=e)}else a=18640+((A[e>>2]|0)*80|0)+20|0,r=e;while(!1);if(A[r>>2]=A[a>>2],o=a+16|0,(A[o>>2]|0)>0){r=0;do j0(B),r=r+1|0;while((r|0)<(A[o>>2]|0))}return e=a+4|0,A[k>>2]=A[e>>2],A[k+4>>2]=A[e+4>>2],A[k+8>>2]=A[e+8>>2],t=A[16880+(t<<2)>>2]|0,Ze(k,d?t*3|0:t),Pt(B,k,B),ct(B),d?r=((A[c>>2]|0)+(A[B>>2]|0)+(A[f>>2]|0)|0)==(w|0)?1:2:r=2,B=r,g=P,B|0}function On(e,t){e=e|0,t=t|0;var n=0;do n=ke(e,t,0,1)|0;while((n|0)==2);return n|0}function m0(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0;if(mA=g,g=g+240|0,a=mA+224|0,Y=mA+208|0,$=mA,J=mA+192|0,cA=mA+176|0,T=mA+160|0,z=mA+144|0,D=mA+128|0,M=mA+112|0,x=mA+96|0,A[a>>2]=t,A[Y>>2]=A[e>>2],A[Y+4>>2]=A[e+4>>2],A[Y+8>>2]=A[e+8>>2],A[Y+12>>2]=A[e+12>>2],p0(Y,a,$),A[o>>2]=0,C=r+n+((r|0)==6&1)|0,(C|0)<=(n|0)){g=mA;return}f=A[a>>2]|0,c=n+6|0,d=16960+(f<<2)|0,w=z+8|0,k=D+8|0,B=M+8|0,P=J+4|0,l=0,u=n,r=-1;A:for(;;){if(a=(u|0)%6|0,e=$+(a<<4)|0,A[J>>2]=A[e>>2],A[J+4>>2]=A[e+4>>2],A[J+8>>2]=A[e+8>>2],A[J+12>>2]=A[e+12>>2],e=l,l=ke(J,f,0,1)|0,(u|0)>(n|0)&(Rt(t)|0)!=0&&(e|0)!=1&&(A[J>>2]|0)!=(r|0)){switch(PA($+(((a+5|0)%6|0)<<4)+4|0,cA),PA($+(a<<4)+4|0,T),EA=+(A[d>>2]|0),p[z>>3]=EA*3,p[w>>3]=0,sA=EA*-1.5,p[D>>3]=sA,p[k>>3]=EA*2.598076211353316,p[M>>3]=sA,p[B>>3]=EA*-2.598076211353316,a=A[Y>>2]|0,A[17040+(a*80|0)+(((r|0)==(a|0)?A[J>>2]|0:r)<<2)>>2]|0){case 1:{e=D,r=z;break}case 3:{e=M,r=D;break}case 2:{e=z,r=M;break}default:{e=8;break A}}b0(cA,T,r,e,x),!(nt(cA,x)|0)&&!(nt(T,x)|0)&&(Re(x,A[Y>>2]|0,f,1,o+8+(A[o>>2]<<4)|0),A[o>>2]=(A[o>>2]|0)+1)}if((u|0)<(c|0)&&(PA(P,cA),Re(cA,A[J>>2]|0,f,1,o+8+(A[o>>2]<<4)|0),A[o>>2]=(A[o>>2]|0)+1),u=u+1|0,(u|0)>=(C|0)){e=3;break}else r=A[J>>2]|0}if((e|0)==3){g=mA;return}else(e|0)==8&&iA(27054,27017,737,27099)}function p0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0;f=g,g=g+160|0,r=f+80|0,o=f,a=r,l=20368,u=a+72|0;do A[a>>2]=A[l>>2],a=a+4|0,l=l+4|0;while((a|0)<(u|0));a=o,l=20448,u=a+72|0;do A[a>>2]=A[l>>2],a=a+4|0,l=l+4|0;while((a|0)<(u|0));u=(Rt(A[t>>2]|0)|0)==0,r=u?r:o,o=e+4|0,ce(o),h0(o),Rt(A[t>>2]|0)|0&&(Me(o),A[t>>2]=(A[t>>2]|0)+1),A[n>>2]=A[e>>2],t=n+4|0,Pt(o,r,t),ct(t),A[n+16>>2]=A[e>>2],t=n+20|0,Pt(o,r+12|0,t),ct(t),A[n+32>>2]=A[e>>2],t=n+36|0,Pt(o,r+24|0,t),ct(t),A[n+48>>2]=A[e>>2],t=n+52|0,Pt(o,r+36|0,t),ct(t),A[n+64>>2]=A[e>>2],t=n+68|0,Pt(o,r+48|0,t),ct(t),A[n+80>>2]=A[e>>2],n=n+84|0,Pt(o,r+60|0,n),ct(n),g=f}function Zn(e,t){return e=e|0,t=t|0,t=F(e|0,t|0,52)|0,y()|0,t&15|0}function Yt(e,t){return e=e|0,t=t|0,t=F(e|0,t|0,45)|0,y()|0,t&127|0}function Fe(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,(n+-1|0)>>>0>14?(r=4,r|0):(n=F(e|0,t|0,(15-n|0)*3|0)|0,y()|0,A[r>>2]=n&7,r=0,r|0)}function Rn(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0;if(e>>>0>15)return r=4,r|0;if(t>>>0>121)return r=17,r|0;l=U(e|0,0,52)|0,o=y()|0,u=U(t|0,0,45)|0,o=o|(y()|0)|134225919;A:do if((e|0)>=1){for(u=1,l=(Z[20528+t>>0]|0)!=0,a=-1;;){if(t=A[n+(u+-1<<2)>>2]|0,t>>>0>6){o=18,t=10;break}if(!((t|0)==0|l^1))if((t|0)==1){o=19,t=10;break}else l=0;if(c=(15-u|0)*3|0,f=U(7,0,c|0)|0,o=o&~(y()|0),t=U(t|0,((t|0)<0)<<31>>31|0,c|0)|0,a=t|a&~f,o=y()|0|o,(u|0)<(e|0))u=u+1|0;else break A}if((t|0)==10)return o|0}else a=-1;while(!1);return c=r,A[c>>2]=a,A[c+4>>2]=o,c=0,c|0}function qt(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0;return!(!0&(t&-16777216|0)==134217728)||(r=F(e|0,t|0,52)|0,y()|0,r=r&15,n=F(e|0,t|0,45)|0,y()|0,n=n&127,n>>>0>121)?(e=0,e|0):(l=(r^15)*3|0,o=F(e|0,t|0,l|0)|0,l=U(o|0,y()|0,l|0)|0,o=y()|0,a=wt(-1227133514,-1171,l|0,o|0)|0,!((l&613566756&a|0)==0&(o&4681&(y()|0)|0)==0)||(l=(r*3|0)+19|0,a=U(~e|0,~t|0,l|0)|0,l=F(a|0,y()|0,l|0)|0,!((r|0)==15|(l|0)==0&(y()|0)==0))?(l=0,l|0):!(Z[20528+n>>0]|0)||(t=t&8191,(e|0)==0&(t|0)==0)?(l=1,l|0):(l=or(e|0,t|0)|0,y()|0,((63-l|0)%3|0|0)!=0|0))}function Fn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0;return!0&(t&-16777216|0)==134217728&&(r=F(e|0,t|0,52)|0,y()|0,r=r&15,n=F(e|0,t|0,45)|0,y()|0,n=n&127,n>>>0<=121)&&(l=(r^15)*3|0,o=F(e|0,t|0,l|0)|0,l=U(o|0,y()|0,l|0)|0,o=y()|0,a=wt(-1227133514,-1171,l|0,o|0)|0,(l&613566756&a|0)==0&(o&4681&(y()|0)|0)==0)&&(l=(r*3|0)+19|0,a=U(~e|0,~t|0,l|0)|0,l=F(a|0,y()|0,l|0)|0,(r|0)==15|(l|0)==0&(y()|0)==0)&&(!(Z[20528+n>>0]|0)||(n=t&8191,(e|0)==0&(n|0)==0)||(l=or(e|0,n|0)|0,y()|0,(63-l|0)%3|0|0))||c0(e,t)|0?(l=1,l|0):(l=(sr(e,t)|0)!=0&1,l|0)}function Be(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0;if(o=U(t|0,0,52)|0,a=y()|0,n=U(n|0,0,45)|0,n=a|(y()|0)|134225919,(t|0)<1){a=-1,r=n,t=e,A[t>>2]=a,e=e+4|0,A[e>>2]=r;return}for(a=1,o=-1;l=(15-a|0)*3|0,u=U(7,0,l|0)|0,n=n&~(y()|0),l=U(r|0,0,l|0)|0,o=o&~u|l,n=n|(y()|0),(a|0)!=(t|0);)a=a+1|0;u=e,l=u,A[l>>2]=o,u=u+4|0,A[u>>2]=n}function g0(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0;if(a=F(e|0,t|0,52)|0,y()|0,a=a&15,n>>>0>15)return r=4,r|0;if((a|0)<(n|0))return r=12,r|0;if((a|0)==(n|0))return A[r>>2]=e,A[r+4>>2]=t,r=0,r|0;if(o=U(n|0,0,52)|0,o=o|e,e=y()|0|t&-15728641,(a|0)>(n|0))do t=U(7,0,(14-n|0)*3|0)|0,n=n+1|0,o=t|o,e=y()|0|e;while((n|0)<(a|0));return A[r>>2]=o,A[r+4>>2]=e,r=0,r|0}function de(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0;if(a=F(e|0,t|0,52)|0,y()|0,a=a&15,!((n|0)<16&(a|0)<=(n|0)))return r=4,r|0;o=n-a|0,n=F(e|0,t|0,45)|0,y()|0;A:do if(!(ZA(n&127)|0))n=Le(7,0,o,((o|0)<0)<<31>>31)|0,o=y()|0;else{t:do if(a|0){for(n=1;l=U(7,0,(15-n|0)*3|0)|0,!!((l&e|0)==0&((y()|0)&t|0)==0);)if(n>>>0<a>>>0)n=n+1|0;else break t;n=Le(7,0,o,((o|0)<0)<<31>>31)|0,o=y()|0;break A}while(!1);n=Le(7,0,o,((o|0)<0)<<31>>31)|0,n=yt(n|0,y()|0,5,0)|0,n=tA(n|0,y()|0,-5,-1)|0,n=Ye(n|0,y()|0,6,0)|0,n=tA(n|0,y()|0,1,0)|0,o=y()|0}while(!1);return l=r,A[l>>2]=n,A[l+4>>2]=o,l=0,l|0}function zA(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;if(o=F(e|0,t|0,45)|0,y()|0,!(ZA(o&127)|0))return o=0,o|0;o=F(e|0,t|0,52)|0,y()|0,o=o&15;A:do if(!o)n=0;else for(r=1;;){if(n=F(e|0,t|0,(15-r|0)*3|0)|0,y()|0,n=n&7,n|0)break A;if(r>>>0<o>>>0)r=r+1|0;else{n=0;break}}while(!1);return o=(n|0)==0&1,o|0}function Pi(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0;if(l=g,g=g+16|0,a=l,Ti(a,e,t,n),t=a,e=A[t>>2]|0,t=A[t+4>>2]|0,(e|0)==0&(t|0)==0)return g=l,0;o=0,n=0;do u=r+(o<<3)|0,A[u>>2]=e,A[u+4>>2]=t,o=tA(o|0,n|0,1,0)|0,n=y()|0,Mi(a),u=a,e=A[u>>2]|0,t=A[u+4>>2]|0;while(!((e|0)==0&(t|0)==0));return g=l,0}function q0(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,(r|0)<(n|0)?(n=t,r=e,fA(n|0),r|0):(n=U(-1,-1,((r-n|0)*3|0)+3|0)|0,r=U(~n|0,~(y()|0)|0,(15-r|0)*3|0)|0,n=~(y()|0)&t,r=~r&e,fA(n|0),r|0)}function me(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0;return o=F(e|0,t|0,52)|0,y()|0,o=o&15,(n|0)<16&(o|0)<=(n|0)?((o|0)<(n|0)&&(o=U(-1,-1,((n+-1-o|0)*3|0)+3|0)|0,o=U(~o|0,~(y()|0)|0,(15-n|0)*3|0)|0,t=~(y()|0)&t,e=~o&e),o=U(n|0,0,52)|0,n=t&-15728641|(y()|0),A[r>>2]=e|o,A[r+4>>2]=n,r=0,r|0):(r=4,r|0)}function bi(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0,AA=0,W=0;if((n|0)==0&(r|0)==0)return W=0,W|0;if(o=e,a=A[o>>2]|0,o=A[o+4>>2]|0,!0&(o&15728640|0)==0){if(!((r|0)>0|(r|0)==0&n>>>0>0)||(W=t,A[W>>2]=a,A[W+4>>2]=o,(n|0)==1&(r|0)==0))return W=0,W|0;o=1,a=0;do sA=e+(o<<3)|0,AA=A[sA+4>>2]|0,W=t+(o<<3)|0,A[W>>2]=A[sA>>2],A[W+4>>2]=AA,o=tA(o|0,a|0,1,0)|0,a=y()|0;while((a|0)<(r|0)|(a|0)==(r|0)&o>>>0<n>>>0);return o=0,o|0}if(EA=n<<3,AA=Ee(EA)|0,!AA)return W=13,W|0;if(Si(AA|0,e|0,EA|0)|0,sA=Kt(n,8)|0,!sA)return eA(AA),W=13,W|0;A:for(;;){o=AA,c=A[o>>2]|0,o=A[o+4>>2]|0,cA=F(c|0,o|0,52)|0,y()|0,cA=cA&15,mA=cA+-1|0,J=(cA|0)!=0,$=(r|0)>0|(r|0)==0&n>>>0>0;t:do if(J&$){if(D=U(mA|0,0,52)|0,M=y()|0,mA>>>0>15){if(!((c|0)==0&(o|0)==0)){W=16;break A}for(a=0,e=0;;){if(a=tA(a|0,e|0,1,0)|0,e=y()|0,!((e|0)<(r|0)|(e|0)==(r|0)&a>>>0<n>>>0))break t;if(l=AA+(a<<3)|0,Y=A[l>>2]|0,l=A[l+4>>2]|0,!((Y|0)==0&(l|0)==0)){o=l,W=16;break A}}}for(u=c,e=o,a=0,l=0;;){if(!((u|0)==0&(e|0)==0)){if(!(!0&(e&117440512|0)==0)){W=21;break A}if(d=F(u|0,e|0,52)|0,y()|0,d=d&15,(d|0)<(mA|0)){o=12,W=27;break A}if((d|0)!=(mA|0)&&(u=u|D,e=e&-15728641|M,d>>>0>=cA>>>0)){f=mA;do Y=U(7,0,(14-f|0)*3|0)|0,f=f+1|0,u=Y|u,e=y()|0|e;while(f>>>0<d>>>0)}if(k=zi(u|0,e|0,n|0,r|0)|0,B=y()|0,f=sA+(k<<3)|0,d=f,w=A[d>>2]|0,d=A[d+4>>2]|0,!((w|0)==0&(d|0)==0)){T=0,z=0;do{if((T|0)>(r|0)|(T|0)==(r|0)&z>>>0>n>>>0){W=31;break A}if((w|0)==(u|0)&(d&-117440513|0)==(e|0)){P=F(w|0,d|0,56)|0,y()|0,P=P&7,C=P+1|0,Y=F(w|0,d|0,45)|0,y()|0;e:do if(!(ZA(Y&127)|0))d=7;else{if(w=F(w|0,d|0,52)|0,y()|0,w=w&15,!w){d=6;break}for(d=1;;){if(Y=U(7,0,(15-d|0)*3|0)|0,!((Y&u|0)==0&((y()|0)&e|0)==0)){d=7;break e}if(d>>>0<w>>>0)d=d+1|0;else{d=6;break}}}while(!1);if((P+2|0)>>>0>d>>>0){W=41;break A}Y=U(C|0,0,56)|0,e=y()|0|e&-117440513,x=f,A[x>>2]=0,A[x+4>>2]=0,u=Y|u}else k=tA(k|0,B|0,1,0)|0,k=Ii(k|0,y()|0,n|0,r|0)|0,B=y()|0;z=tA(z|0,T|0,1,0)|0,T=y()|0,f=sA+(k<<3)|0,d=f,w=A[d>>2]|0,d=A[d+4>>2]|0}while(!((w|0)==0&(d|0)==0))}Y=f,A[Y>>2]=u,A[Y+4>>2]=e}if(a=tA(a|0,l|0,1,0)|0,l=y()|0,!((l|0)<(r|0)|(l|0)==(r|0)&a>>>0<n>>>0))break t;e=AA+(a<<3)|0,u=A[e>>2]|0,e=A[e+4>>2]|0}}while(!1);if(Y=tA(n|0,r|0,5,0)|0,x=y()|0,x>>>0<0|(x|0)==0&Y>>>0<11){W=85;break}if(Y=Ye(n|0,r|0,6,0)|0,y()|0,Y=Kt(Y,8)|0,!Y){W=48;break}do if($){for(C=0,e=0,P=0,T=0;;){if(d=sA+(C<<3)|0,l=d,a=A[l>>2]|0,l=A[l+4>>2]|0,(a|0)==0&(l|0)==0)x=P;else{w=F(a|0,l|0,56)|0,y()|0,w=w&7,u=w+1|0,k=l&-117440513,x=F(a|0,l|0,45)|0,y()|0;t:do if(ZA(x&127)|0){if(B=F(a|0,l|0,52)|0,y()|0,B=B&15,B|0)for(f=1;;){if(x=U(7,0,(15-f|0)*3|0)|0,!((a&x|0)==0&(k&(y()|0)|0)==0))break t;if(f>>>0<B>>>0)f=f+1|0;else break}l=U(u|0,0,56)|0,a=l|a,l=y()|0|k,u=d,A[u>>2]=a,A[u+4>>2]=l,u=w+2|0}while(!1);(u|0)==7?(x=Y+(e<<3)|0,A[x>>2]=a,A[x+4>>2]=l&-117440513,e=tA(e|0,P|0,1,0)|0,x=y()|0):x=P}if(C=tA(C|0,T|0,1,0)|0,T=y()|0,(T|0)<(r|0)|(T|0)==(r|0)&C>>>0<n>>>0)P=x;else break}if($){if(z=mA>>>0>15,D=U(mA|0,0,52)|0,M=y()|0,!J){for(a=0,f=0,u=0,l=0;(c|0)==0&(o|0)==0||(mA=t+(a<<3)|0,A[mA>>2]=c,A[mA+4>>2]=o,a=tA(a|0,f|0,1,0)|0,f=y()|0),u=tA(u|0,l|0,1,0)|0,l=y()|0,!!((l|0)<(r|0)|(l|0)==(r|0)&u>>>0<n>>>0);)o=AA+(u<<3)|0,c=A[o>>2]|0,o=A[o+4>>2]|0;o=x;break}for(a=0,f=0,l=0,u=0;;){do if(!((c|0)==0&(o|0)==0)){if(B=F(c|0,o|0,52)|0,y()|0,B=B&15,z|(B|0)<(mA|0)){W=80;break A}if((B|0)!=(mA|0)){if(d=c|D,w=o&-15728641|M,B>>>0>=cA>>>0){k=mA;do J=U(7,0,(14-k|0)*3|0)|0,k=k+1|0,d=J|d,w=y()|0|w;while(k>>>0<B>>>0)}}else d=c,w=o;P=zi(d|0,w|0,n|0,r|0)|0,k=0,B=0,T=y()|0;do{if((k|0)>(r|0)|(k|0)==(r|0)&B>>>0>n>>>0){W=81;break A}if(J=sA+(P<<3)|0,C=A[J+4>>2]|0,(C&-117440513|0)==(w|0)&&(A[J>>2]|0)==(d|0)){W=65;break}J=tA(P|0,T|0,1,0)|0,P=Ii(J|0,y()|0,n|0,r|0)|0,T=y()|0,B=tA(B|0,k|0,1,0)|0,k=y()|0,J=sA+(P<<3)|0}while(!((A[J>>2]|0)==(d|0)&&(A[J+4>>2]|0)==(w|0)));if((W|0)==65&&(W=0,!0&(C&117440512|0)==100663296))break;J=t+(a<<3)|0,A[J>>2]=c,A[J+4>>2]=o,a=tA(a|0,f|0,1,0)|0,f=y()|0}while(!1);if(l=tA(l|0,u|0,1,0)|0,u=y()|0,!((u|0)<(r|0)|(u|0)==(r|0)&l>>>0<n>>>0))break;o=AA+(l<<3)|0,c=A[o>>2]|0,o=A[o+4>>2]|0}o=x}else a=0,o=x}else a=0,e=0,o=0;while(!1);if(je(sA|0,0,EA|0)|0,Si(AA|0,Y|0,e<<3|0)|0,eA(Y),(e|0)==0&(o|0)==0){W=89;break}else t=t+(a<<3)|0,r=o,n=e}if((W|0)==16)!0&(o&117440512|0)==0?(o=4,W=27):W=21;else if((W|0)==31)iA(27795,27122,620,27132);else{if((W|0)==41)return eA(AA),eA(sA),W=10,W|0;if((W|0)==48)return eA(AA),eA(sA),W=13,W|0;(W|0)==80?iA(27795,27122,711,27132):(W|0)==81?iA(27795,27122,723,27132):(W|0)==85&&(Si(t|0,AA|0,n<<3|0)|0,W=89)}return(W|0)==21?(eA(AA),eA(sA),W=5,W|0):(W|0)==27?(eA(AA),eA(sA),W=o,W|0):(W|0)==89?(eA(AA),eA(sA),W=0,W|0):0}function Nn(e,t,n,r,o,a,l){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0,l=l|0;var u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0;if(C=g,g=g+16|0,P=C,!((n|0)>0|(n|0)==0&t>>>0>0))return P=0,g=C,P|0;if((l|0)>=16)return P=12,g=C,P|0;k=0,B=0,w=0,u=0;A:for(;;){if(c=e+(k<<3)|0,f=A[c>>2]|0,c=A[c+4>>2]|0,d=F(f|0,c|0,52)|0,y()|0,(d&15|0)>(l|0)){u=12,f=11;break}if(Ti(P,f,c,l),d=P,c=A[d>>2]|0,d=A[d+4>>2]|0,(c|0)==0&(d|0)==0)f=w;else{f=w;do{if(!((u|0)<(a|0)|(u|0)==(a|0)&f>>>0<o>>>0)){f=10;break A}w=r+(f<<3)|0,A[w>>2]=c,A[w+4>>2]=d,f=tA(f|0,u|0,1,0)|0,u=y()|0,Mi(P),w=P,c=A[w>>2]|0,d=A[w+4>>2]|0}while(!((c|0)==0&(d|0)==0))}if(k=tA(k|0,B|0,1,0)|0,B=y()|0,(B|0)<(n|0)|(B|0)==(n|0)&k>>>0<t>>>0)w=f;else{u=0,f=11;break}}return(f|0)==10?(P=14,g=C,P|0):(f|0)==11?(g=C,u|0):0}function v0(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;k=g,g=g+16|0,w=k;A:do if((n|0)>0|(n|0)==0&t>>>0>0){for(c=0,l=0,a=0,d=0;;){if(f=e+(c<<3)|0,u=A[f>>2]|0,f=A[f+4>>2]|0,!((u|0)==0&(f|0)==0)&&(f=(de(u,f,r,w)|0)==0,u=w,l=tA(A[u>>2]|0,A[u+4>>2]|0,l|0,a|0)|0,a=y()|0,!f)){a=12;break}if(c=tA(c|0,d|0,1,0)|0,d=y()|0,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0<t>>>0))break A}return g=k,a|0}else l=0,a=0;while(!1);return A[o>>2]=l,A[o+4>>2]=a,o=0,g=k,o|0}function Gn(e,t){return e=e|0,t=t|0,t=F(e|0,t|0,52)|0,y()|0,t&1|0}function $A(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;if(o=F(e|0,t|0,52)|0,y()|0,o=o&15,!o)return o=0,o|0;for(r=1;;){if(n=F(e|0,t|0,(15-r|0)*3|0)|0,y()|0,n=n&7,n|0){r=5;break}if(r>>>0<o>>>0)r=r+1|0;else{n=0,r=5;break}}return(r|0)==5?n|0:0}function w0(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0;if(f=F(e|0,t|0,52)|0,y()|0,f=f&15,!f)return u=t,f=e,fA(u|0),f|0;for(u=1,n=0;;){a=(15-u|0)*3|0,r=U(7,0,a|0)|0,o=y()|0,l=F(e|0,t|0,a|0)|0,y()|0,a=U(De(l&7)|0,0,a|0)|0,l=y()|0,e=a|e&~r,t=l|t&~o;A:do if(!n)if((a&r|0)==0&(l&o|0)==0)n=0;else if(r=F(e|0,t|0,52)|0,y()|0,r=r&15,!r)n=1;else{n=1;t:for(;;){switch(l=F(e|0,t|0,(15-n|0)*3|0)|0,y()|0,l&7){case 1:break t;case 0:break;default:{n=1;break A}}if(n>>>0<r>>>0)n=n+1|0;else{n=1;break A}}for(n=1;;)if(l=(15-n|0)*3|0,o=F(e|0,t|0,l|0)|0,y()|0,a=U(7,0,l|0)|0,t=t&~(y()|0),l=U(De(o&7)|0,0,l|0)|0,e=e&~a|l,t=t|(y()|0),n>>>0<r>>>0)n=n+1|0;else{n=1;break}}while(!1);if(u>>>0<f>>>0)u=u+1|0;else break}return fA(t|0),e|0}function jt(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0;if(r=F(e|0,t|0,52)|0,y()|0,r=r&15,!r)return n=t,r=e,fA(n|0),r|0;for(n=1;a=(15-n|0)*3|0,l=F(e|0,t|0,a|0)|0,y()|0,o=U(7,0,a|0)|0,t=t&~(y()|0),a=U(De(l&7)|0,0,a|0)|0,e=a|e&~o,t=y()|0|t,n>>>0<r>>>0;)n=n+1|0;return fA(t|0),e|0}function Hn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0;if(f=F(e|0,t|0,52)|0,y()|0,f=f&15,!f)return u=t,f=e,fA(u|0),f|0;for(u=1,n=0;;){a=(15-u|0)*3|0,r=U(7,0,a|0)|0,o=y()|0,l=F(e|0,t|0,a|0)|0,y()|0,a=U(_e(l&7)|0,0,a|0)|0,l=y()|0,e=a|e&~r,t=l|t&~o;A:do if(!n)if((a&r|0)==0&(l&o|0)==0)n=0;else if(r=F(e|0,t|0,52)|0,y()|0,r=r&15,!r)n=1;else{n=1;t:for(;;){switch(l=F(e|0,t|0,(15-n|0)*3|0)|0,y()|0,l&7){case 1:break t;case 0:break;default:{n=1;break A}}if(n>>>0<r>>>0)n=n+1|0;else{n=1;break A}}for(n=1;;)if(o=(15-n|0)*3|0,a=U(7,0,o|0)|0,l=t&~(y()|0),t=F(e|0,t|0,o|0)|0,y()|0,t=U(_e(t&7)|0,0,o|0)|0,e=e&~a|t,t=l|(y()|0),n>>>0<r>>>0)n=n+1|0;else{n=1;break}}while(!1);if(u>>>0<f>>>0)u=u+1|0;else break}return fA(t|0),e|0}function Xt(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0;if(r=F(e|0,t|0,52)|0,y()|0,r=r&15,!r)return n=t,r=e,fA(n|0),r|0;for(n=1;l=(15-n|0)*3|0,a=U(7,0,l|0)|0,o=t&~(y()|0),t=F(e|0,t|0,l|0)|0,y()|0,t=U(_e(t&7)|0,0,l|0)|0,e=t|e&~a,t=y()|0|o,n>>>0<r>>>0;)n=n+1|0;return fA(t|0),e|0}function Li(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(f=g,g=g+64|0,u=f+40|0,r=f+24|0,o=f+12|0,a=f,U(t|0,0,52)|0,n=y()|0|134225919,!t)return(A[e+4>>2]|0)>2||(A[e+8>>2]|0)>2||(A[e+12>>2]|0)>2?(l=0,u=0,fA(l|0),g=f,u|0):(U(ei(e)|0,0,45)|0,l=y()|0|n,u=-1,fA(l|0),g=f,u|0);if(A[u>>2]=A[e>>2],A[u+4>>2]=A[e+4>>2],A[u+8>>2]=A[e+8>>2],A[u+12>>2]=A[e+12>>2],l=u+4|0,(t|0)>0)for(e=-1;A[r>>2]=A[l>>2],A[r+4>>2]=A[l+4>>2],A[r+8>>2]=A[l+8>>2],t&1?(Mn(l),A[o>>2]=A[l>>2],A[o+4>>2]=A[l+4>>2],A[o+8>>2]=A[l+8>>2],vi(o)):(l0(l),A[o>>2]=A[l>>2],A[o+4>>2]=A[l+4>>2],A[o+8>>2]=A[l+8>>2],Me(o)),Ot(r,o,a),ct(a),d=(15-t|0)*3|0,c=U(7,0,d|0)|0,n=n&~(y()|0),d=U(ni(a)|0,0,d|0)|0,e=d|e&~c,n=y()|0|n,(t|0)>1;)t=t+-1|0;else e=-1;A:do if((A[l>>2]|0)<=2&&(A[u+8>>2]|0)<=2&&(A[u+12>>2]|0)<=2){if(r=ei(u)|0,t=U(r|0,0,45)|0,t=t|e,e=y()|0|n&-1040385,a=U0(u)|0,!(ZA(r)|0)){if((a|0)<=0)break;for(o=0;;){if(r=F(t|0,e|0,52)|0,y()|0,r=r&15,r)for(n=1;d=(15-n|0)*3|0,u=F(t|0,e|0,d|0)|0,y()|0,c=U(7,0,d|0)|0,e=e&~(y()|0),d=U(De(u&7)|0,0,d|0)|0,t=t&~c|d,e=e|(y()|0),n>>>0<r>>>0;)n=n+1|0;if(o=o+1|0,(o|0)==(a|0))break A}}o=F(t|0,e|0,52)|0,y()|0,o=o&15;t:do if(o){n=1;e:for(;;){switch(d=F(t|0,e|0,(15-n|0)*3|0)|0,y()|0,d&7){case 1:break e;case 0:break;default:break t}if(n>>>0<o>>>0)n=n+1|0;else break t}if(pA(r,A[u>>2]|0)|0)for(n=1;u=(15-n|0)*3|0,c=U(7,0,u|0)|0,d=e&~(y()|0),e=F(t|0,e|0,u|0)|0,y()|0,e=U(_e(e&7)|0,0,u|0)|0,t=t&~c|e,e=d|(y()|0),n>>>0<o>>>0;)n=n+1|0;else for(n=1;d=(15-n|0)*3|0,u=F(t|0,e|0,d|0)|0,y()|0,c=U(7,0,d|0)|0,e=e&~(y()|0),d=U(De(u&7)|0,0,d|0)|0,t=t&~c|d,e=e|(y()|0),n>>>0<o>>>0;)n=n+1|0}while(!1);if((a|0)>0){n=0;do t=w0(t,e)|0,e=y()|0,n=n+1|0;while((n|0)!=(a|0))}}else t=0,e=0;while(!1);return c=e,d=t,fA(c|0),g=f,d|0}function Rt(e){return e=e|0,(e|0)%2|0|0}function oi(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0;return o=g,g=g+16|0,r=o,t>>>0>15?(r=4,g=o,r|0):(A[e+4>>2]&2146435072|0)==2146435072||(A[e+8+4>>2]&2146435072|0)==2146435072?(r=3,g=o,r|0):(Qn(e,t,r),t=Li(r,t)|0,r=y()|0,A[n>>2]=t,A[n+4>>2]=r,(t|0)==0&(r|0)==0&&iA(27795,27122,1050,27145),r=0,g=o,r|0)}function Ne(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;if(o=n+4|0,a=F(e|0,t|0,52)|0,y()|0,a=a&15,l=F(e|0,t|0,45)|0,y()|0,r=(a|0)==0,ZA(l&127)|0){if(r)return l=1,l|0;r=1}else{if(r)return l=0,l|0;(A[o>>2]|0)==0&&(A[n+8>>2]|0)==0?r=(A[n+12>>2]|0)!=0&1:r=1}for(n=1;n&1?vi(o):Me(o),l=F(e|0,t|0,(15-n|0)*3|0)|0,y()|0,wi(o,l&7),n>>>0<a>>>0;)n=n+1|0;return r|0}function Pe(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(d=g,g=g+16|0,f=d,c=F(e|0,t|0,45)|0,y()|0,c=c&127,c>>>0>121)return A[n>>2]=0,A[n+4>>2]=0,A[n+8>>2]=0,A[n+12>>2]=0,c=5,g=d,c|0;A:do if((ZA(c)|0)!=0&&(a=F(e|0,t|0,52)|0,y()|0,a=a&15,(a|0)!=0)){r=1;t:for(;;){switch(u=F(e|0,t|0,(15-r|0)*3|0)|0,y()|0,u&7){case 5:break t;case 0:break;default:{r=t;break A}}if(r>>>0<a>>>0)r=r+1|0;else{r=t;break A}}for(o=1,r=t;t=(15-o|0)*3|0,l=U(7,0,t|0)|0,u=r&~(y()|0),r=F(e|0,r|0,t|0)|0,y()|0,r=U(_e(r&7)|0,0,t|0)|0,e=e&~l|r,r=u|(y()|0),o>>>0<a>>>0;)o=o+1|0}else r=t;while(!1);if(u=7696+(c*28|0)|0,A[n>>2]=A[u>>2],A[n+4>>2]=A[u+4>>2],A[n+8>>2]=A[u+8>>2],A[n+12>>2]=A[u+12>>2],!(Ne(e,r,n)|0))return c=0,g=d,c|0;if(l=n+4|0,A[f>>2]=A[l>>2],A[f+4>>2]=A[l+4>>2],A[f+8>>2]=A[l+8>>2],a=F(e|0,r|0,52)|0,y()|0,u=a&15,a&1?(Me(l),a=u+1|0):a=u,!(ZA(c)|0))r=0;else{A:do if(!u)r=0;else for(t=1;;){if(o=F(e|0,r|0,(15-t|0)*3|0)|0,y()|0,o=o&7,o|0){r=o;break A}if(t>>>0<u>>>0)t=t+1|0;else{r=0;break}}while(!1);r=(r|0)==4&1}if(!(ke(n,a,r,0)|0))(a|0)!=(u|0)&&(A[l>>2]=A[f>>2],A[l+4>>2]=A[f+4>>2],A[l+8>>2]=A[f+8>>2]);else{if(ZA(c)|0)do;while((ke(n,a,0,0)|0)!=0);(a|0)!=(u|0)&&l0(l)}return c=0,g=d,c|0}function re(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;return a=g,g=g+16|0,r=a,o=Pe(e,t,r)|0,o|0?(g=a,o|0):(o=F(e|0,t|0,52)|0,y()|0,J0(r,o&15,n),o=0,g=a,o|0)}function $t(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0;if(l=g,g=g+16|0,a=l,r=Pe(e,t,a)|0,r|0)return a=r,g=l,a|0;r=F(e|0,t|0,45)|0,y()|0,r=(ZA(r&127)|0)==0,o=F(e|0,t|0,52)|0,y()|0,o=o&15;A:do if(!r){if(o|0)for(r=1;;){if(u=U(7,0,(15-r|0)*3|0)|0,!((u&e|0)==0&((y()|0)&t|0)==0))break A;if(r>>>0<o>>>0)r=r+1|0;else break}return d0(a,o,0,5,n),u=0,g=l,u|0}while(!1);return m0(a,o,0,6,n),u=0,g=l,u|0}function Ei(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;if(o=F(e|0,t|0,45)|0,y()|0,!(ZA(o&127)|0))return o=2,A[n>>2]=o,0;if(o=F(e|0,t|0,52)|0,y()|0,o=o&15,!o)return o=5,A[n>>2]=o,0;for(r=1;;){if(a=U(7,0,(15-r|0)*3|0)|0,!((a&e|0)==0&((y()|0)&t|0)==0)){r=2,e=6;break}if(r>>>0<o>>>0)r=r+1|0;else{r=5,e=6;break}}return(e|0)==6&&(A[n>>2]=r),0}function Ci(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0;w=g,g=g+128|0,c=w+112|0,a=w+96|0,d=w,o=F(e|0,t|0,52)|0,y()|0,u=o&15,A[c>>2]=u,l=F(e|0,t|0,45)|0,y()|0,l=l&127;A:do if(ZA(l)|0){if(u|0)for(r=1;;){if(f=U(7,0,(15-r|0)*3|0)|0,!((f&e|0)==0&((y()|0)&t|0)==0)){o=0;break A}if(r>>>0<u>>>0)r=r+1|0;else break}if(o&1)o=1;else return f=U(u+1|0,0,52)|0,d=y()|0|t&-15728641,c=U(7,0,(14-u|0)*3|0)|0,d=Ci((f|e)&~c,d&~(y()|0),n)|0,g=w,d|0}else o=0;while(!1);if(r=Pe(e,t,a)|0,!r){o?(Bi(a,c,d),f=5):(p0(a,c,d),f=6);A:do if(ZA(l)|0)if(!u)e=5;else for(r=1;;){if(l=U(7,0,(15-r|0)*3|0)|0,!((l&e|0)==0&((y()|0)&t|0)==0)){e=2;break A}if(r>>>0<u>>>0)r=r+1|0;else{e=5;break}}else e=2;while(!1);je(n|0,-1,e<<2|0)|0;A:do if(o)for(a=0;;){if(l=d+(a<<4)|0,On(l,A[c>>2]|0)|0,l=A[l>>2]|0,u=A[n>>2]|0,(u|0)==-1|(u|0)==(l|0))r=n;else{o=0;do{if(o=o+1|0,o>>>0>=e>>>0){r=1;break A}r=n+(o<<2)|0,u=A[r>>2]|0}while(!((u|0)==-1|(u|0)==(l|0)))}if(A[r>>2]=l,a=a+1|0,a>>>0>=f>>>0){r=0;break}}else for(a=0;;){if(l=d+(a<<4)|0,ke(l,A[c>>2]|0,0,1)|0,l=A[l>>2]|0,u=A[n>>2]|0,(u|0)==-1|(u|0)==(l|0))r=n;else{o=0;do{if(o=o+1|0,o>>>0>=e>>>0){r=1;break A}r=n+(o<<2)|0,u=A[r>>2]|0}while(!((u|0)==-1|(u|0)==(l|0)))}if(A[r>>2]=l,a=a+1|0,a>>>0>=f>>>0){r=0;break}}while(!1)}return d=r,g=w,d|0}function X0(){return 12}function y0(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0;if(e>>>0>15)return u=4,u|0;if(U(e|0,0,52)|0,u=y()|0|134225919,!e){n=0,r=0;do ZA(r)|0&&(U(r|0,0,45)|0,l=u|(y()|0),e=t+(n<<3)|0,A[e>>2]=-1,A[e+4>>2]=l,n=n+1|0),r=r+1|0;while((r|0)!=122);return n=0,n|0}n=0,l=0;do{if(ZA(l)|0){for(U(l|0,0,45)|0,r=1,o=-1,a=u|(y()|0);f=U(7,0,(15-r|0)*3|0)|0,o=o&~f,a=a&~(y()|0),(r|0)!=(e|0);)r=r+1|0;f=t+(n<<3)|0,A[f>>2]=o,A[f+4>>2]=a,n=n+1|0}l=l+1|0}while((l|0)!=122);return n=0,n|0}function xi(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0;if(D=g,g=g+16|0,T=D,z=F(e|0,t|0,52)|0,y()|0,z=z&15,n>>>0>15)return z=4,g=D,z|0;if((z|0)<(n|0))return z=12,g=D,z|0;if((z|0)!=(n|0))if(a=U(n|0,0,52)|0,a=a|e,u=y()|0|t&-15728641,(z|0)>(n|0)){f=n;do C=U(7,0,(14-f|0)*3|0)|0,f=f+1|0,a=C|a,u=y()|0|u;while((f|0)<(z|0));C=a}else C=a;else C=e,u=t;P=F(C|0,u|0,45)|0,y()|0;A:do if(ZA(P&127)|0){if(f=F(C|0,u|0,52)|0,y()|0,f=f&15,f|0)for(a=1;;){if(P=U(7,0,(15-a|0)*3|0)|0,!((P&C|0)==0&((y()|0)&u|0)==0)){c=33;break A}if(a>>>0<f>>>0)a=a+1|0;else break}if(P=r,A[P>>2]=0,A[P+4>>2]=0,(z|0)>(n|0)){for(P=t&-15728641,B=z;;){if(k=B,B=B+-1|0,B>>>0>15|(z|0)<(B|0)){c=19;break}if((z|0)!=(B|0))if(a=U(B|0,0,52)|0,a=a|e,f=y()|0|P,(z|0)<(k|0))w=a;else{c=B;do w=U(7,0,(14-c|0)*3|0)|0,c=c+1|0,a=w|a,f=y()|0|f;while((c|0)<(z|0));w=a}else w=e,f=t;if(d=F(w|0,f|0,45)|0,y()|0,!(ZA(d&127)|0))a=0;else{d=F(w|0,f|0,52)|0,y()|0,d=d&15;t:do if(!d)a=0;else for(c=1;;){if(a=F(w|0,f|0,(15-c|0)*3|0)|0,y()|0,a=a&7,a|0)break t;if(c>>>0<d>>>0)c=c+1|0;else{a=0;break}}while(!1);a=(a|0)==0&1}if(f=F(e|0,t|0,(15-k|0)*3|0)|0,y()|0,f=f&7,(f|0)==7){o=5,c=42;break}if(a=(a|0)!=0,(f|0)==1&a){o=5,c=42;break}if(w=f+(((f|0)!=0&a)<<31>>31)|0,w|0&&(c=z-k|0,c=Le(7,0,c,((c|0)<0)<<31>>31)|0,d=y()|0,a?(a=yt(c|0,d|0,5,0)|0,a=tA(a|0,y()|0,-5,-1)|0,a=Ye(a|0,y()|0,6,0)|0,a=tA(a|0,y()|0,1,0)|0,f=y()|0):(a=c,f=d),k=w+-1|0,k=yt(c|0,d|0,k|0,((k|0)<0)<<31>>31|0)|0,k=tA(a|0,f|0,k|0,y()|0)|0,w=y()|0,d=r,d=tA(k|0,w|0,A[d>>2]|0,A[d+4>>2]|0)|0,w=y()|0,k=r,A[k>>2]=d,A[k+4>>2]=w),(B|0)<=(n|0)){c=37;break}}if((c|0)==19)iA(27795,27122,1367,27158);else if((c|0)==37){l=r,o=A[l+4>>2]|0,l=A[l>>2]|0;break}else if((c|0)==42)return g=D,o|0}else o=0,l=0}else c=33;while(!1);A:do if((c|0)==33)if(P=r,A[P>>2]=0,A[P+4>>2]=0,(z|0)>(n|0)){for(a=z;;){if(o=F(e|0,t|0,(15-a|0)*3|0)|0,y()|0,o=o&7,(o|0)==7){o=5;break}if(l=z-a|0,l=Le(7,0,l,((l|0)<0)<<31>>31)|0,o=yt(l|0,y()|0,o|0,0)|0,l=y()|0,P=r,l=tA(A[P>>2]|0,A[P+4>>2]|0,o|0,l|0)|0,o=y()|0,P=r,A[P>>2]=l,A[P+4>>2]=o,a=a+-1|0,(a|0)<=(n|0))break A}return g=D,o|0}else o=0,l=0;while(!1);return de(C,u,z,T)|0&&iA(27795,27122,1327,27173),z=T,T=A[z+4>>2]|0,((o|0)>-1|(o|0)==-1&l>>>0>4294967295)&((T|0)>(o|0)|((T|0)==(o|0)?(A[z>>2]|0)>>>0>l>>>0:0))?(z=0,g=D,z|0):(iA(27795,27122,1407,27158),0)}function Un(e,t,n,r,o,a){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0;var l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0;if(w=g,g=g+16|0,l=w,o>>>0>15)return a=4,g=w,a|0;if(u=F(n|0,r|0,52)|0,y()|0,u=u&15,(u|0)>(o|0))return a=12,g=w,a|0;if(de(n,r,o,l)|0&&iA(27795,27122,1327,27173),d=l,c=A[d+4>>2]|0,!(((t|0)>-1|(t|0)==-1&e>>>0>4294967295)&((c|0)>(t|0)|((c|0)==(t|0)?(A[d>>2]|0)>>>0>e>>>0:0))))return a=2,g=w,a|0;d=o-u|0,o=U(o|0,0,52)|0,f=y()|0|r&-15728641,c=a,A[c>>2]=o|n,A[c+4>>2]=f,c=F(n|0,r|0,45)|0,y()|0;A:do if(ZA(c&127)|0){if(u|0)for(l=1;;){if(c=U(7,0,(15-l|0)*3|0)|0,!((c&n|0)==0&((y()|0)&r|0)==0))break A;if(l>>>0<u>>>0)l=l+1|0;else break}if((d|0)<1)return a=0,g=w,a|0;for(c=u^15,r=-1,f=1,l=1;;){u=d-f|0,u=Le(7,0,u,((u|0)<0)<<31>>31)|0,n=y()|0;do if(l)if(l=yt(u|0,n|0,5,0)|0,l=tA(l|0,y()|0,-5,-1)|0,l=Ye(l|0,y()|0,6,0)|0,o=y()|0,(t|0)>(o|0)|(t|0)==(o|0)&e>>>0>l>>>0){t=tA(e|0,t|0,-1,-1)|0,t=wt(t|0,y()|0,l|0,o|0)|0,l=y()|0,k=a,P=A[k>>2]|0,k=A[k+4>>2]|0,C=(c+r|0)*3|0,B=U(7,0,C|0)|0,k=k&~(y()|0),r=Ye(t|0,l|0,u|0,n|0)|0,e=y()|0,o=tA(r|0,e|0,2,0)|0,C=U(o|0,y()|0,C|0)|0,k=y()|0|k,o=a,A[o>>2]=C|P&~B,A[o+4>>2]=k,e=yt(r|0,e|0,u|0,n|0)|0,e=wt(t|0,l|0,e|0,y()|0)|0,l=0,t=y()|0;break}else{C=a,B=A[C>>2]|0,C=A[C+4>>2]|0,P=U(7,0,(c+r|0)*3|0)|0,C=C&~(y()|0),l=a,A[l>>2]=B&~P,A[l+4>>2]=C,l=1;break}else B=a,o=A[B>>2]|0,B=A[B+4>>2]|0,r=(c+r|0)*3|0,k=U(7,0,r|0)|0,B=B&~(y()|0),C=Ye(e|0,t|0,u|0,n|0)|0,l=y()|0,r=U(C|0,l|0,r|0)|0,B=y()|0|B,P=a,A[P>>2]=r|o&~k,A[P+4>>2]=B,l=yt(C|0,l|0,u|0,n|0)|0,e=wt(e|0,t|0,l|0,y()|0)|0,l=0,t=y()|0;while(!1);if((d|0)>(f|0))r=~f,f=f+1|0;else{t=0;break}}return g=w,t|0}while(!1);if((d|0)<1)return C=0,g=w,C|0;for(o=u^15,l=1;;)if(P=d-l|0,P=Le(7,0,P,((P|0)<0)<<31>>31)|0,C=y()|0,f=a,n=A[f>>2]|0,f=A[f+4>>2]|0,u=(o-l|0)*3|0,r=U(7,0,u|0)|0,f=f&~(y()|0),k=Ye(e|0,t|0,P|0,C|0)|0,B=y()|0,u=U(k|0,B|0,u|0)|0,f=y()|0|f,c=a,A[c>>2]=u|n&~r,A[c+4>>2]=f,C=yt(k|0,B|0,P|0,C|0)|0,e=wt(e|0,t|0,C|0,y()|0)|0,t=y()|0,(d|0)<=(l|0)){t=0;break}else l=l+1|0;return g=w,t|0}function Ti(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0;o=F(t|0,n|0,52)|0,y()|0,o=o&15,(t|0)==0&(n|0)==0|((r|0)>15|(o|0)>(r|0))?(a=-1,t=-1,n=0,o=0):(t=q0(t,n,o+1|0,r)|0,l=(y()|0)&-15728641,n=U(r|0,0,52)|0,n=t|n,l=l|(y()|0),t=(zA(n,l)|0)==0,a=o,t=t?-1:r,o=l),l=e,A[l>>2]=n,A[l+4>>2]=o,A[e+8>>2]=a,A[e+12>>2]=t}function $0(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0;if(o=F(e|0,t|0,52)|0,y()|0,o=o&15,a=r+8|0,A[a>>2]=o,(e|0)==0&(t|0)==0|((n|0)>15|(o|0)>(n|0))){n=r,A[n>>2]=0,A[n+4>>2]=0,A[a>>2]=-1,A[r+12>>2]=-1;return}if(e=q0(e,t,o+1|0,n)|0,a=(y()|0)&-15728641,o=U(n|0,0,52)|0,o=e|o,a=a|(y()|0),e=r,A[e>>2]=o,A[e+4>>2]=a,e=r+12|0,zA(o,a)|0){A[e>>2]=n;return}else{A[e>>2]=-1;return}}function Mi(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0;if(n=e,t=A[n>>2]|0,n=A[n+4>>2]|0,!((t|0)==0&(n|0)==0)&&(r=F(t|0,n|0,52)|0,y()|0,r=r&15,u=U(1,0,(r^15)*3|0)|0,t=tA(u|0,y()|0,t|0,n|0)|0,n=y()|0,u=e,A[u>>2]=t,A[u+4>>2]=n,u=e+8|0,l=A[u>>2]|0,!((r|0)<(l|0)))){for(f=e+12|0,a=r;;){if((a|0)==(l|0)){r=5;break}if(c=(a|0)==(A[f>>2]|0),o=(15-a|0)*3|0,r=F(t|0,n|0,o|0)|0,y()|0,r=r&7,c&((r|0)==1&!0)){r=7;break}if(!((r|0)==7&!0)){r=10;break}if(c=U(1,0,o|0)|0,t=tA(t|0,n|0,c|0,y()|0)|0,n=y()|0,c=e,A[c>>2]=t,A[c+4>>2]=n,(a|0)>(l|0))a=a+-1|0;else{r=10;break}}if((r|0)==5){c=e,A[c>>2]=0,A[c+4>>2]=0,A[u>>2]=-1,A[f>>2]=-1;return}else if((r|0)==7){l=U(1,0,o|0)|0,l=tA(t|0,n|0,l|0,y()|0)|0,u=y()|0,c=e,A[c>>2]=l,A[c+4>>2]=u,A[f>>2]=a+-1;return}else if((r|0)==10)return}}function si(e){e=+e;var t=0;return t=e<0?e+6.283185307179586:e,+(e>=6.283185307179586?t+-6.283185307179586:t)}function bt(e,t){return e=e|0,t=t|0,+dA(+(+p[e>>3]-+p[t>>3]))<17453292519943298e-27?(t=+dA(+(+p[e+8>>3]-+p[t+8>>3]))<17453292519943298e-27,t|0):(t=0,t|0)}function gt(e,t){switch(e=+e,t=t|0,t|0){case 1:{e=e<0?e+6.283185307179586:e;break}case 2:{e=e>0?e+-6.283185307179586:e;break}}return+e}function Wn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;return o=+p[t>>3],r=+p[e>>3],a=+vA(+((o-r)*.5)),n=+vA(+((+p[t+8>>3]-+p[e+8>>3])*.5)),n=a*a+n*(+MA(+o)*+MA(+r)*n),+(+Ht(+ +TA(+n),+ +TA(+(1-n)))*2)}function be(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;return o=+p[t>>3],r=+p[e>>3],a=+vA(+((o-r)*.5)),n=+vA(+((+p[t+8>>3]-+p[e+8>>3])*.5)),n=a*a+n*(+MA(+o)*+MA(+r)*n),+(+Ht(+ +TA(+n),+ +TA(+(1-n)))*2*6371.007180918475)}function Yn(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;return o=+p[t>>3],r=+p[e>>3],a=+vA(+((o-r)*.5)),n=+vA(+((+p[t+8>>3]-+p[e+8>>3])*.5)),n=a*a+n*(+MA(+o)*+MA(+r)*n),+(+Ht(+ +TA(+n),+ +TA(+(1-n)))*2*6371.007180918475*1e3)}function An(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0;return a=+p[t>>3],r=+MA(+a),o=+p[t+8>>3]-+p[e+8>>3],l=r*+vA(+o),n=+p[e>>3],+ +Ht(+l,+(+vA(+a)*+MA(+n)-+MA(+o)*(r*+vA(+n))))}function jn(e,t,n,r){e=e|0,t=+t,n=+n,r=r|0;var o=0,a=0,l=0,u=0;if(n<1e-16){A[r>>2]=A[e>>2],A[r+4>>2]=A[e+4>>2],A[r+8>>2]=A[e+8>>2],A[r+12>>2]=A[e+12>>2];return}a=t<0?t+6.283185307179586:t,a=t>=6.283185307179586?a+-6.283185307179586:a;do if(a<1e-16)t=+p[e>>3]+n,p[r>>3]=t,o=r;else{if(o=+dA(+(a+-3.141592653589793))<1e-16,t=+p[e>>3],o){t=t-n,p[r>>3]=t,o=r;break}if(l=+MA(+n),n=+vA(+n),t=l*+vA(+t)+ +MA(+a)*(n*+MA(+t)),t=t>1?1:t,t=+bn(+(t<-1?-1:t)),p[r>>3]=t,+dA(+(t+-1.5707963267948966))<1e-16){p[r>>3]=1.5707963267948966,p[r+8>>3]=0;return}if(+dA(+(t+1.5707963267948966))<1e-16){p[r>>3]=-1.5707963267948966,p[r+8>>3]=0;return}if(u=1/+MA(+t),a=n*+vA(+a)*u,n=+p[e>>3],t=u*((l-+vA(+t)*+vA(+n))/+MA(+n)),l=a>1?1:a,t=t>1?1:t,t=+p[e+8>>3]+ +Ht(+(l<-1?-1:l),+(t<-1?-1:t)),t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);p[r+8>>3]=t;return}while(!1);if(+dA(+(t+-1.5707963267948966))<1e-16){p[o>>3]=1.5707963267948966,p[r+8>>3]=0;return}if(+dA(+(t+1.5707963267948966))<1e-16){p[o>>3]=-1.5707963267948966,p[r+8>>3]=0;return}if(t=+p[e+8>>3],t>3.141592653589793)do t=t+-6.283185307179586;while(t>3.141592653589793);if(t<-3.141592653589793)do t=t+6.283185307179586;while(t<-3.141592653589793);p[r+8>>3]=t}function Ge(e,t){return e=e|0,t=t|0,e>>>0>15?(t=4,t|0):(p[t>>3]=+p[20656+(e<<3)>>3],t=0,t|0)}function Vn(e,t){return e=e|0,t=t|0,e>>>0>15?(t=4,t|0):(p[t>>3]=+p[20784+(e<<3)>>3],t=0,t|0)}function He(e,t){return e=e|0,t=t|0,e>>>0>15?(t=4,t|0):(p[t>>3]=+p[20912+(e<<3)>>3],t=0,t|0)}function tn(e,t){return e=e|0,t=t|0,e>>>0>15?(t=4,t|0):(p[t>>3]=+p[21040+(e<<3)>>3],t=0,t|0)}function ai(e,t){e=e|0,t=t|0;var n=0;return e>>>0>15?(t=4,t|0):(n=Le(7,0,e,((e|0)<0)<<31>>31)|0,n=yt(n|0,y()|0,120,0)|0,e=y()|0,A[t>>2]=n|2,A[t+4>>2]=e,t=0,t|0)}function en(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;return k=+p[t>>3],d=+p[e>>3],f=+vA(+((k-d)*.5)),a=+p[t+8>>3],c=+p[e+8>>3],l=+vA(+((a-c)*.5)),u=+MA(+d),w=+MA(+k),l=f*f+l*(w*u*l),l=+Ht(+ +TA(+l),+ +TA(+(1-l)))*2,f=+p[n>>3],k=+vA(+((f-k)*.5)),r=+p[n+8>>3],a=+vA(+((r-a)*.5)),o=+MA(+f),a=k*k+a*(w*o*a),a=+Ht(+ +TA(+a),+ +TA(+(1-a)))*2,f=+vA(+((d-f)*.5)),r=+vA(+((c-r)*.5)),r=f*f+r*(u*o*r),r=+Ht(+ +TA(+r),+ +TA(+(1-r)))*2,o=(l+a+r)*.5,+(+mi(+ +TA(+(+Gt(+(o*.5))*+Gt(+((o-l)*.5))*+Gt(+((o-a)*.5))*+Gt(+((o-r)*.5)))))*4)}function Ae(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0;if(u=g,g=g+192|0,a=u+168|0,l=u,o=re(e,t,a)|0,o|0)return n=o,g=u,n|0;if($t(e,t,l)|0&&iA(27795,27190,415,27199),t=A[l>>2]|0,(t|0)>0){if(r=+en(l+8|0,l+8+(((t|0)!=1&1)<<4)|0,a)+0,(t|0)!=1){e=1;do o=e,e=e+1|0,r=r+ +en(l+8+(o<<4)|0,l+8+(((e|0)%(t|0)|0)<<4)|0,a);while((e|0)<(t|0))}}else r=0;return p[n>>3]=r,n=0,g=u,n|0}function nn(e,t,n){return e=e|0,t=t|0,n=n|0,e=Ae(e,t,n)|0,e|0||(p[n>>3]=+p[n>>3]*6371.007180918475*6371.007180918475),e|0}function rn(e,t,n){return e=e|0,t=t|0,n=n|0,e=Ae(e,t,n)|0,e|0||(p[n>>3]=+p[n>>3]*6371.007180918475*6371.007180918475*1e3*1e3),e|0}function li(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(u=g,g=g+176|0,l=u,e=ne(e,t,l)|0,e|0)return l=e,g=u,l|0;if(p[n>>3]=0,e=A[l>>2]|0,(e|0)<=1)return l=0,g=u,l|0;t=e+-1|0,e=0,r=+p[l+8>>3],o=+p[l+16>>3],a=0;do e=e+1|0,c=r,r=+p[l+8+(e<<4)>>3],d=+vA(+((r-c)*.5)),f=o,o=+p[l+8+(e<<4)+8>>3],f=+vA(+((o-f)*.5)),f=d*d+f*(+MA(+r)*+MA(+c)*f),a=a+ +Ht(+ +TA(+f),+ +TA(+(1-f)))*2;while((e|0)<(t|0));return p[n>>3]=a,l=0,g=u,l|0}function Kn(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(u=g,g=g+176|0,l=u,e=ne(e,t,l)|0,e|0)return l=e,a=+p[n>>3],a=a*6371.007180918475,p[n>>3]=a,g=u,l|0;if(p[n>>3]=0,e=A[l>>2]|0,(e|0)<=1)return l=0,a=0,a=a*6371.007180918475,p[n>>3]=a,g=u,l|0;t=e+-1|0,e=0,r=+p[l+8>>3],o=+p[l+16>>3],a=0;do e=e+1|0,c=r,r=+p[l+8+(e<<4)>>3],d=+vA(+((r-c)*.5)),f=o,o=+p[l+8+(e<<4)+8>>3],f=+vA(+((o-f)*.5)),f=d*d+f*(+MA(+c)*+MA(+r)*f),a=a+ +Ht(+ +TA(+f),+ +TA(+(1-f)))*2;while((e|0)!=(t|0));return p[n>>3]=a,l=0,d=a,d=d*6371.007180918475,p[n>>3]=d,g=u,l|0}function Di(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(u=g,g=g+176|0,l=u,e=ne(e,t,l)|0,e|0)return l=e,a=+p[n>>3],a=a*6371.007180918475,a=a*1e3,p[n>>3]=a,g=u,l|0;if(p[n>>3]=0,e=A[l>>2]|0,(e|0)<=1)return l=0,a=0,a=a*6371.007180918475,a=a*1e3,p[n>>3]=a,g=u,l|0;t=e+-1|0,e=0,r=+p[l+8>>3],o=+p[l+16>>3],a=0;do e=e+1|0,c=r,r=+p[l+8+(e<<4)>>3],d=+vA(+((r-c)*.5)),f=o,o=+p[l+8+(e<<4)+8>>3],f=+vA(+((o-f)*.5)),f=d*d+f*(+MA(+c)*+MA(+r)*f),a=a+ +Ht(+ +TA(+f),+ +TA(+(1-f)))*2;while((e|0)!=(t|0));return p[n>>3]=a,l=0,d=a,d=d*6371.007180918475,d=d*1e3,p[n>>3]=d,g=u,l|0}function hi(e){e=e|0;var t=0,n=0,r=0;return t=Kt(1,12)|0,t||iA(27280,27235,49,27293),n=e+4|0,r=A[n>>2]|0,r|0?(r=r+8|0,A[r>>2]=t,A[n>>2]=t,t|0):(A[e>>2]|0&&iA(27310,27235,61,27333),r=e,A[r>>2]=t,A[n>>2]=t,t|0)}function on(e,t){e=e|0,t=t|0;var n=0,r=0;return r=Ee(24)|0,r||iA(27347,27235,78,27361),A[r>>2]=A[t>>2],A[r+4>>2]=A[t+4>>2],A[r+8>>2]=A[t+8>>2],A[r+12>>2]=A[t+12>>2],A[r+16>>2]=0,t=e+4|0,n=A[t>>2]|0,n|0?(A[n+16>>2]=r,A[t>>2]=r,r|0):(A[e>>2]|0&&iA(27376,27235,82,27361),A[e>>2]=r,A[t>>2]=r,r|0)}function k0(e){e=e|0;var t=0,n=0,r=0,o=0;if(e)for(r=1;;){if(t=A[e>>2]|0,t|0)do{if(n=A[t>>2]|0,n|0)do o=n,n=A[n+16>>2]|0,eA(o);while((n|0)!=0);o=t,t=A[t+8>>2]|0,eA(o)}while((t|0)!=0);if(t=e,e=A[e+8>>2]|0,r||eA(t),e)r=0;else break}}function Jn(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0,mA=0,EA=0,sA=0,AA=0,W=0,kA=0,RA=0,gA=0;if(o=e+8|0,A[o>>2]|0)return gA=1,gA|0;if(r=A[e>>2]|0,!r)return gA=0,gA|0;t=r,n=0;do n=n+1|0,t=A[t+8>>2]|0;while((t|0)!=0);if(n>>>0<2)return gA=0,gA|0;kA=Ee(n<<2)|0,kA||iA(27396,27235,317,27415),W=Ee(n<<5)|0,W||iA(27437,27235,321,27415),A[e>>2]=0,$=e+4|0,A[$>>2]=0,A[o>>2]=0,n=0,AA=0,Y=0,w=0;A:for(;;){if(d=A[r>>2]|0,d){a=0,l=d;do{if(f=+p[l+8>>3],t=l,l=A[l+16>>2]|0,c=(l|0)==0,o=c?d:l,u=+p[o+8>>3],+dA(+(f-u))>3.141592653589793){gA=14;break}a=a+(u-f)*(+p[t>>3]+ +p[o>>3])}while(!c);if((gA|0)==14){gA=0,a=0,t=d;do x=+p[t+8>>3],sA=t+16|0,EA=A[sA>>2]|0,EA=(EA|0)==0?d:EA,M=+p[EA+8>>3],a=a+(+p[t>>3]+ +p[EA>>3])*((M<0?M+6.283185307179586:M)-(x<0?x+6.283185307179586:x)),t=A[((t|0)==0?r:sA)>>2]|0;while((t|0)!=0)}a>0?(A[kA+(AA<<2)>>2]=r,AA=AA+1|0,o=Y,t=w):gA=19}else gA=19;if((gA|0)==19){gA=0;do if(n){if(t=n+8|0,A[t>>2]|0){gA=21;break A}if(n=Kt(1,12)|0,!n){gA=23;break A}A[t>>2]=n,o=n+4|0,l=n,t=w}else if(w){o=$,l=w+8|0,t=r,n=e;break}else if(A[e>>2]|0){gA=27;break A}else{o=$,l=e,t=r,n=e;break}while(!1);if(A[l>>2]=r,A[o>>2]=r,l=W+(Y<<5)|0,c=A[r>>2]|0,c){for(d=W+(Y<<5)+8|0,p[d>>3]=17976931348623157e292,w=W+(Y<<5)+24|0,p[w>>3]=17976931348623157e292,p[l>>3]=-17976931348623157e292,k=W+(Y<<5)+16|0,p[k>>3]=-17976931348623157e292,z=17976931348623157e292,D=-17976931348623157e292,o=0,B=c,f=17976931348623157e292,C=17976931348623157e292,T=-17976931348623157e292,u=-17976931348623157e292;a=+p[B>>3],x=+p[B+8>>3],B=A[B+16>>2]|0,P=(B|0)==0,M=+p[(P?c:B)+8>>3],a<f&&(p[d>>3]=a,f=a),x<C&&(p[w>>3]=x,C=x),a>T?p[l>>3]=a:a=T,x>u&&(p[k>>3]=x,u=x),z=x>0&x<z?x:z,D=x<0&x>D?x:D,o=o|+dA(+(x-M))>3.141592653589793,!P;)T=a;o&&(p[k>>3]=D,p[w>>3]=z)}else A[l>>2]=0,A[l+4>>2]=0,A[l+8>>2]=0,A[l+12>>2]=0,A[l+16>>2]=0,A[l+20>>2]=0,A[l+24>>2]=0,A[l+28>>2]=0;o=Y+1|0}if(sA=r+8|0,r=A[sA>>2]|0,A[sA>>2]=0,r)Y=o,w=t;else{gA=45;break}}if((gA|0)==21)iA(27213,27235,35,27247);else if((gA|0)==23)iA(27267,27235,37,27247);else if((gA|0)==27)iA(27310,27235,61,27333);else if((gA|0)==45){A:do if((AA|0)>0){for(sA=(o|0)==0,mA=o<<2,EA=(e|0)==0,cA=0,t=0;;){if(J=A[kA+(cA<<2)>>2]|0,sA)gA=73;else{if(Y=Ee(mA)|0,!Y){gA=50;break}if($=Ee(mA)|0,!$){gA=52;break}t:do if(EA)n=0;else{for(o=0,n=0,l=e;r=W+(o<<5)|0,B0(A[l>>2]|0,r,A[J>>2]|0)|0?(A[Y+(n<<2)>>2]=l,A[$+(n<<2)>>2]=r,P=n+1|0):P=n,l=A[l+8>>2]|0,l;)o=o+1|0,n=P;if((P|0)>0)if(r=A[Y>>2]|0,(P|0)==1)n=r;else for(k=0,B=-1,n=r,w=r;;){for(c=A[w>>2]|0,r=0,l=0;o=A[A[Y+(l<<2)>>2]>>2]|0,(o|0)==(c|0)?d=r:d=r+((B0(o,A[$+(l<<2)>>2]|0,A[c>>2]|0)|0)&1)|0,l=l+1|0,(l|0)!=(P|0);)r=d;if(o=(d|0)>(B|0),n=o?w:n,r=k+1|0,(r|0)==(P|0))break t;k=r,B=o?d:B,w=A[Y+(r<<2)>>2]|0}else n=0}while(!1);if(eA(Y),eA($),n){if(o=n+4|0,r=A[o>>2]|0,r)n=r+8|0;else if(A[n>>2]|0){gA=70;break}A[n>>2]=J,A[o>>2]=J}else gA=73}if((gA|0)==73){if(gA=0,t=A[J>>2]|0,t|0)do $=t,t=A[t+16>>2]|0,eA($);while((t|0)!=0);eA(J),t=1}if(cA=cA+1|0,(cA|0)>=(AA|0)){RA=t;break A}}(gA|0)==50?iA(27452,27235,249,27471):(gA|0)==52?iA(27490,27235,252,27471):(gA|0)==70&&iA(27310,27235,61,27333)}else RA=0;while(!1);return eA(kA),eA(W),gA=RA,gA|0}return 0}function B0(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(!(ii(t,n)|0)||(t=gi(t)|0,r=+p[n>>3],o=+p[n+8>>3],o=t&o<0?o+6.283185307179586:o,e=A[e>>2]|0,!e))return e=0,e|0;if(t){t=0,c=o,n=e;A:for(;;){for(;l=+p[n>>3],o=+p[n+8>>3],n=n+16|0,d=A[n>>2]|0,d=(d|0)==0?e:d,a=+p[d>>3],u=+p[d+8>>3],l>a?(f=l,l=u):(f=a,a=l,l=o,o=u),r=r==a|r==f?r+2220446049250313e-31:r,!!(r<a|r>f);)if(n=A[n>>2]|0,!n){n=22;break A}if(u=l<0?l+6.283185307179586:l,l=o<0?o+6.283185307179586:o,c=u==c|l==c?c+-2220446049250313e-31:c,f=u+(l-u)*((r-a)/(f-a)),(f<0?f+6.283185307179586:f)>c&&(t=t^1),n=A[n>>2]|0,!n){n=22;break}}if((n|0)==22)return t|0}else{t=0,c=o,n=e;A:for(;;){for(;l=+p[n>>3],o=+p[n+8>>3],n=n+16|0,d=A[n>>2]|0,d=(d|0)==0?e:d,a=+p[d>>3],u=+p[d+8>>3],l>a?(f=l,l=u):(f=a,a=l,l=o,o=u),r=r==a|r==f?r+2220446049250313e-31:r,!!(r<a|r>f);)if(n=A[n>>2]|0,!n){n=22;break A}if(c=l==c|o==c?c+-2220446049250313e-31:c,l+(o-l)*((r-a)/(f-a))>c&&(t=t^1),n=A[n>>2]|0,!n){n=22;break}}if((n|0)==22)return t|0}return 0}function oe(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0;if(D=g,g=g+32|0,z=D+16|0,T=D,a=F(e|0,t|0,52)|0,y()|0,a=a&15,B=F(n|0,r|0,52)|0,y()|0,(a|0)!=(B&15|0))return z=12,g=D,z|0;if(c=F(e|0,t|0,45)|0,y()|0,c=c&127,d=F(n|0,r|0,45)|0,y()|0,d=d&127,c>>>0>121|d>>>0>121)return z=5,g=D,z|0;if(B=(c|0)!=(d|0),B){if(u=OA(c,d)|0,(u|0)==7)return z=1,g=D,z|0;f=OA(d,c)|0,(f|0)==7?iA(27514,27538,161,27548):(P=u,l=f)}else P=0,l=0;w=ZA(c)|0,k=ZA(d)|0,A[z>>2]=0,A[z+4>>2]=0,A[z+8>>2]=0,A[z+12>>2]=0;do if(P){if(d=A[4272+(c*28|0)+(P<<2)>>2]|0,u=(d|0)>0,k)if(u){c=0,f=n,u=r;do f=Hn(f,u)|0,u=y()|0,l=_e(l)|0,(l|0)==1&&(l=_e(1)|0),c=c+1|0;while((c|0)!=(d|0));d=l,c=f,f=u}else d=l,c=n,f=r;else if(u){c=0,f=n,u=r;do f=Xt(f,u)|0,u=y()|0,l=_e(l)|0,c=c+1|0;while((c|0)!=(d|0));d=l,c=f,f=u}else d=l,c=n,f=r;if(Ne(c,f,z)|0,B||iA(27563,27538,191,27548),u=(w|0)!=0,l=(k|0)!=0,u&l&&iA(27590,27538,192,27548),u){if(l=$A(e,t)|0,(l|0)==7){a=5;break}if(Z[22e3+(l*7|0)+P>>0]|0){a=1;break}f=A[21168+(l*28|0)+(P<<2)>>2]|0,c=f}else if(l){if(l=$A(c,f)|0,(l|0)==7){a=5;break}if(Z[22e3+(l*7|0)+d>>0]|0){a=1;break}c=0,f=A[21168+(d*28|0)+(l<<2)>>2]|0}else c=0,f=0;if((c|f|0)<0)a=5;else{if((f|0)>0){u=z+4|0,l=0;do Zt(u),l=l+1|0;while((l|0)!=(f|0))}if(A[T>>2]=0,A[T+4>>2]=0,A[T+8>>2]=0,wi(T,P),a|0)for(;Rt(a)|0?vi(T):Me(T),(a|0)>1;)a=a+-1|0;if((c|0)>0){a=0;do Zt(T),a=a+1|0;while((a|0)!=(c|0))}C=z+4|0,Pt(C,T,C),ct(C),C=51}}else if(Ne(n,r,z)|0,(w|0)!=0&(k|0)!=0)if((d|0)!=(c|0)&&iA(27621,27538,261,27548),l=$A(e,t)|0,a=$A(n,r)|0,(l|0)==7|(a|0)==7)a=5;else if(Z[22e3+(l*7|0)+a>>0]|0)a=1;else if(l=A[21168+(l*28|0)+(a<<2)>>2]|0,(l|0)>0){u=z+4|0,a=0;do Zt(u),a=a+1|0;while((a|0)!=(l|0));C=51}else C=51;else C=51;while(!1);return(C|0)==51&&(a=z+4|0,A[o>>2]=A[a>>2],A[o+4>>2]=A[a+4>>2],A[o+8>>2]=A[a+8>>2],a=0),z=a,g=D,z|0}function P0(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0;if(C=g,g=g+48|0,c=C+36|0,l=C+24|0,u=C+12|0,f=C,o=F(e|0,t|0,52)|0,y()|0,o=o&15,k=F(e|0,t|0,45)|0,y()|0,k=k&127,k>>>0>121)return r=5,g=C,r|0;if(d=ZA(k)|0,U(o|0,0,52)|0,T=y()|0|134225919,a=r,A[a>>2]=-1,A[a+4>>2]=T,!o)return o=ni(n)|0,(o|0)==7||(o=Ut(k,o)|0,(o|0)==127)?(T=1,g=C,T|0):(B=U(o|0,0,45)|0,P=y()|0,k=r,P=A[k+4>>2]&-1040385|P,T=r,A[T>>2]=A[k>>2]|B,A[T+4>>2]=P,T=0,g=C,T|0);for(A[c>>2]=A[n>>2],A[c+4>>2]=A[n+4>>2],A[c+8>>2]=A[n+8>>2],n=o;;){if(a=n,n=n+-1|0,A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Rt(a)|0){if(o=Tn(c)|0,o|0){n=13;break}A[u>>2]=A[c>>2],A[u+4>>2]=A[c+4>>2],A[u+8>>2]=A[c+8>>2],vi(u)}else{if(o=a0(c)|0,o|0){n=13;break}A[u>>2]=A[c>>2],A[u+4>>2]=A[c+4>>2],A[u+8>>2]=A[c+8>>2],Me(u)}if(Ot(l,u,f),ct(f),o=r,D=A[o>>2]|0,o=A[o+4>>2]|0,M=(15-a|0)*3|0,z=U(7,0,M|0)|0,o=o&~(y()|0),M=U(ni(f)|0,0,M|0)|0,o=y()|0|o,T=r,A[T>>2]=M|D&~z,A[T+4>>2]=o,(a|0)<=1){n=14;break}}A:do if((n|0)!=13&&(n|0)==14)if((A[c>>2]|0)<=1&&(A[c+4>>2]|0)<=1&&(A[c+8>>2]|0)<=1){n=ni(c)|0,o=Ut(k,n)|0,(o|0)==127?f=0:f=ZA(o)|0;t:do if(n){if(d){if(o=$A(e,t)|0,(o|0)==7){o=5;break A}if(a=A[21376+(o*28|0)+(n<<2)>>2]|0,(a|0)>0){o=n,n=0;do o=De(o)|0,n=n+1|0;while((n|0)!=(a|0))}else o=n;if((o|0)==1){o=9;break A}n=Ut(k,o)|0,(n|0)==127&&iA(27648,27538,411,27678),ZA(n)|0?iA(27693,27538,412,27678):(P=n,B=a,w=o)}else P=o,B=0,w=n;if(u=A[4272+(k*28|0)+(w<<2)>>2]|0,(u|0)<=-1&&iA(27724,27538,419,27678),!f){if((B|0)<0){o=5;break A}if(B|0){a=r,o=0,n=A[a>>2]|0,a=A[a+4>>2]|0;do n=jt(n,a)|0,a=y()|0,M=r,A[M>>2]=n,A[M+4>>2]=a,o=o+1|0;while((o|0)<(B|0))}if((u|0)<=0){o=P,n=58;break}for(a=r,o=0,n=A[a>>2]|0,a=A[a+4>>2]|0;;)if(n=jt(n,a)|0,a=y()|0,M=r,A[M>>2]=n,A[M+4>>2]=a,o=o+1|0,(o|0)==(u|0)){o=P,n=58;break t}}if(l=OA(P,k)|0,(l|0)==7&&iA(27514,27538,428,27678),o=r,n=A[o>>2]|0,o=A[o+4>>2]|0,(u|0)>0){a=0;do n=jt(n,o)|0,o=y()|0,M=r,A[M>>2]=n,A[M+4>>2]=o,a=a+1|0;while((a|0)!=(u|0))}if(o=$A(n,o)|0,(o|0)==7&&iA(27795,27538,440,27678),n=ti(P)|0,n=A[(n?21792:21584)+(l*28|0)+(o<<2)>>2]|0,(n|0)<0&&iA(27795,27538,454,27678),!n)o=P,n=58;else{l=r,o=0,a=A[l>>2]|0,l=A[l+4>>2]|0;do a=w0(a,l)|0,l=y()|0,M=r,A[M>>2]=a,A[M+4>>2]=l,o=o+1|0;while((o|0)<(n|0));o=P,n=58}}else if((d|0)!=0&(f|0)!=0){if(n=$A(e,t)|0,a=r,a=$A(A[a>>2]|0,A[a+4>>2]|0)|0,(n|0)==7|(a|0)==7){o=5;break A}if(a=A[21376+(n*28|0)+(a<<2)>>2]|0,(a|0)<0){o=5;break A}if(!a)n=59;else{u=r,n=0,l=A[u>>2]|0,u=A[u+4>>2]|0;do l=jt(l,u)|0,u=y()|0,M=r,A[M>>2]=l,A[M+4>>2]=u,n=n+1|0;while((n|0)<(a|0));n=58}}else n=58;while(!1);if((n|0)==58&&f&&(n=59),(n|0)==59&&(M=r,($A(A[M>>2]|0,A[M+4>>2]|0)|0)==1)){o=9;break}M=r,z=A[M>>2]|0,M=A[M+4>>2]&-1040385,D=U(o|0,0,45)|0,M=M|(y()|0),o=r,A[o>>2]=z|D,A[o+4>>2]=M,o=0}else o=1;while(!1);return M=o,g=C,M|0}function sn(e,t,n,r,o,a){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0;var l=0,u=0;return u=g,g=g+16|0,l=u,o?e=15:(e=oe(e,t,n,r,l)|0,e||(u0(l,a),e=0)),g=u,e|0}function an(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0;return l=g,g=g+16|0,a=l,r?n=15:(n=Dn(n,a)|0,n||(n=P0(e,t,a,o)|0)),g=l,n|0}function qn(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0;return f=g,g=g+32|0,l=f+12|0,u=f,a=oe(e,t,e,t,l)|0,a|0?(u=a,g=f,u|0):(e=oe(e,t,n,r,u)|0,e|0?(u=e,g=f,u|0):(l=yi(l,u)|0,u=o,A[u>>2]=l,A[u+4>>2]=((l|0)<0)<<31>>31,u=0,g=f,u|0))}function ln(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0;return f=g,g=g+32|0,l=f+12|0,u=f,a=oe(e,t,e,t,l)|0,!a&&(a=oe(e,t,n,r,u)|0,!a)?(r=yi(l,u)|0,r=tA(r|0,((r|0)<0)<<31>>31|0,1,0)|0,l=y()|0,u=o,A[u>>2]=r,A[u+4>>2]=l,u=0,g=f,u|0):(u=a,g=f,u|0)}function hn(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0;if(J=g,g=g+48|0,Y=J+24|0,l=J+12|0,$=J,a=oe(e,t,e,t,Y)|0,!a&&(a=oe(e,t,n,r,l)|0,!a)){M=yi(Y,l)|0,x=((M|0)<0)<<31>>31,A[Y>>2]=0,A[Y+4>>2]=0,A[Y+8>>2]=0,A[l>>2]=0,A[l+4>>2]=0,A[l+8>>2]=0,oe(e,t,e,t,Y)|0&&iA(27795,27538,692,27747),oe(e,t,n,r,l)|0&&iA(27795,27538,697,27747),f0(Y),f0(l),d=(M|0)==0?0:1/+(M|0),n=A[Y>>2]|0,C=d*+((A[l>>2]|0)-n|0),T=Y+4|0,r=A[T>>2]|0,z=d*+((A[l+4>>2]|0)-r|0),D=Y+8|0,a=A[D>>2]|0,d=d*+((A[l+8>>2]|0)-a|0),A[$>>2]=n,w=$+4|0,A[w>>2]=r,k=$+8|0,A[k>>2]=a;A:do if((M|0)<0)a=0;else for(B=0,P=0;;){f=+(P>>>0)+4294967296*+(B|0),cA=C*f+ +(n|0),u=z*f+ +(r|0),f=d*f+ +(a|0),n=~~+cn(+cA),l=~~+cn(+u),a=~~+cn(+f),cA=+dA(+(+(n|0)-cA)),u=+dA(+(+(l|0)-u)),f=+dA(+(+(a|0)-f));do if(cA>u&cA>f)n=0-(l+a)|0,r=l;else if(c=0-n|0,u>f){r=c-a|0;break}else{r=l,a=c-l|0;break}while(!1);if(A[$>>2]=n,A[w>>2]=r,A[k>>2]=a,V0($),a=P0(e,t,$,o+(P<<3)|0)|0,a|0)break A;if(!((B|0)<(x|0)|(B|0)==(x|0)&P>>>0<M>>>0)){a=0;break A}n=tA(P|0,B|0,1,0)|0,r=y()|0,B=r,P=n,n=A[Y>>2]|0,r=A[T>>2]|0,a=A[D>>2]|0}while(!1);return $=a,g=J,$|0}return $=a,g=J,$|0}function Le(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0;if((n|0)==0&(r|0)==0)return o=0,a=1,fA(o|0),a|0;a=e,o=t,e=1,t=0;do l=(n&1|0)==0&!0,e=yt((l?1:a)|0,(l?0:o)|0,e|0,t|0)|0,t=y()|0,n=_r(n|0,r|0,1)|0,r=y()|0,a=yt(a|0,o|0,a|0,o|0)|0,o=y()|0;while(!((n|0)==0&(r|0)==0));return fA(t|0),e|0}function i(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0;u=g,g=g+16|0,a=u,l=F(e|0,t|0,52)|0,y()|0,l=l&15;do if(l){if(o=re(e,t,a)|0,!o){c=+p[a>>3],f=1/+MA(+c),d=+p[25968+(l<<3)>>3],p[n>>3]=c+d,p[n+8>>3]=c-d,c=+p[a+8>>3],f=d*f,p[n+16>>3]=f+c,p[n+24>>3]=c-f;break}return l=o,g=u,l|0}else{if(o=F(e|0,t|0,45)|0,y()|0,o=o&127,o>>>0>121)return l=5,g=u,l|0;a=22064+(o<<5)|0,A[n>>2]=A[a>>2],A[n+4>>2]=A[a+4>>2],A[n+8>>2]=A[a+8>>2],A[n+12>>2]=A[a+12>>2],A[n+16>>2]=A[a+16>>2],A[n+20>>2]=A[a+20>>2],A[n+24>>2]=A[a+24>>2],A[n+28>>2]=A[a+28>>2];break}while(!1);return Y0(n,r?1.4:1.1),r=26096+(l<<3)|0,(A[r>>2]|0)==(e|0)&&(A[r+4>>2]|0)==(t|0)&&(p[n>>3]=1.5707963267948966),l=26224+(l<<3)|0,(A[l>>2]|0)==(e|0)&&(A[l+4>>2]|0)==(t|0)&&(p[n+8>>3]=-1.5707963267948966),+p[n>>3]!=1.5707963267948966&&+p[n+8>>3]!=-1.5707963267948966?(l=0,g=u,l|0):(p[n+16>>3]=3.141592653589793,p[n+24>>3]=-3.141592653589793,l=0,g=u,l|0)}function s(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0;c=g,g=g+48|0,l=c+32|0,a=c+40|0,u=c,Be(l,0,0,0),f=A[l>>2]|0,l=A[l+4>>2]|0;do if(n>>>0<=15){if(o=S(r)|0,o|0){r=u,A[r>>2]=0,A[r+4>>2]=0,A[u+8>>2]=o,A[u+12>>2]=-1,r=u+16|0,f=u+29|0,A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,Z[r+12>>0]=0,Z[f>>0]=Z[a>>0]|0,Z[f+1>>0]=Z[a+1>>0]|0,Z[f+2>>0]=Z[a+2>>0]|0;break}if(o=Kt((A[t+8>>2]|0)+1|0,32)|0,o){G(t,o),d=u,A[d>>2]=f,A[d+4>>2]=l,A[u+8>>2]=0,A[u+12>>2]=n,A[u+16>>2]=r,A[u+20>>2]=t,A[u+24>>2]=o,Z[u+28>>0]=0,f=u+29|0,Z[f>>0]=Z[a>>0]|0,Z[f+1>>0]=Z[a+1>>0]|0,Z[f+2>>0]=Z[a+2>>0]|0;break}else{r=u,A[r>>2]=0,A[r+4>>2]=0,A[u+8>>2]=13,A[u+12>>2]=-1,r=u+16|0,f=u+29|0,A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,Z[r+12>>0]=0,Z[f>>0]=Z[a>>0]|0,Z[f+1>>0]=Z[a+1>>0]|0,Z[f+2>>0]=Z[a+2>>0]|0;break}}else f=u,A[f>>2]=0,A[f+4>>2]=0,A[u+8>>2]=4,A[u+12>>2]=-1,f=u+16|0,d=u+29|0,A[f>>2]=0,A[f+4>>2]=0,A[f+8>>2]=0,Z[f+12>>0]=0,Z[d>>0]=Z[a>>0]|0,Z[d+1>>0]=Z[a+1>>0]|0,Z[d+2>>0]=Z[a+2>>0]|0;while(!1);h(u),A[e>>2]=A[u>>2],A[e+4>>2]=A[u+4>>2],A[e+8>>2]=A[u+8>>2],A[e+12>>2]=A[u+12>>2],A[e+16>>2]=A[u+16>>2],A[e+20>>2]=A[u+20>>2],A[e+24>>2]=A[u+24>>2],A[e+28>>2]=A[u+28>>2],g=c}function h(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0;if(x=g,g=g+336|0,B=x+168|0,P=x,r=e,n=A[r>>2]|0,r=A[r+4>>2]|0,(n|0)==0&(r|0)==0){g=x;return}if(t=e+28|0,Z[t>>0]|0?(n=_(n,r)|0,r=y()|0):Z[t>>0]=1,M=e+20|0,!(A[A[M>>2]>>2]|0)){t=e+24|0,n=A[t>>2]|0,n|0&&eA(n),D=e,A[D>>2]=0,A[D+4>>2]=0,A[e+8>>2]=0,A[M>>2]=0,A[e+12>>2]=-1,A[e+16>>2]=0,A[t>>2]=0,g=x;return}D=e+16|0,t=A[D>>2]|0,o=t&15;A:do if((n|0)==0&(r|0)==0)z=e+24|0;else{C=e+12|0,w=(o|0)==3,d=t&255,f=(o|1|0)==3,k=e+24|0,c=(o+-1|0)>>>0<3,l=(o|2|0)==3,u=P+8|0;t:for(;;){if(a=F(n|0,r|0,52)|0,y()|0,a=a&15,(a|0)==(A[C>>2]|0)){switch(d&15){case 0:case 2:case 3:{if(o=re(n,r,B)|0,o|0){T=15;break t}if(V(A[M>>2]|0,A[k>>2]|0,B)|0){T=19;break t}break}}if(f&&(o=A[(A[M>>2]|0)+4>>2]|0,A[B>>2]=A[o>>2],A[B+4>>2]=A[o+4>>2],A[B+8>>2]=A[o+8>>2],A[B+12>>2]=A[o+12>>2],ii(26832,B)|0)){if(oi(A[(A[M>>2]|0)+4>>2]|0,a,P)|0){T=25;break}if(o=P,(A[o>>2]|0)==(n|0)&&(A[o+4>>2]|0)==(r|0)){T=29;break}}if(c){if(o=$t(n,r,B)|0,o|0){T=32;break}if(i(n,r,P,0)|0){T=36;break}if(l&&rA(A[M>>2]|0,A[k>>2]|0,B,P)|0){T=42;break}if(f&&vt(A[M>>2]|0,A[k>>2]|0,B,P)|0){T=42;break}}if(w){if(t=i(n,r,B,1)|0,o=A[k>>2]|0,t|0){T=45;break}if(Te(o,B)|0){if(r0(P,B),ye(B,A[k>>2]|0)|0){T=53;break}if(V(A[M>>2]|0,A[k>>2]|0,u)|0){T=53;break}if(vt(A[M>>2]|0,A[k>>2]|0,P,B)|0){T=53;break}}}}do if((a|0)<(A[C>>2]|0)){if(t=i(n,r,B,1)|0,o=A[k>>2]|0,t|0){T=58;break t}if(!(Te(o,B)|0)){T=73;break}if(ye(A[k>>2]|0,B)|0&&(r0(P,B),rA(A[M>>2]|0,A[k>>2]|0,P,B)|0)){T=65;break t}if(n=me(n,r,a+1|0,P)|0,n|0){T=67;break t}r=P,n=A[r>>2]|0,r=A[r+4>>2]|0}else T=73;while(!1);if((T|0)==73&&(T=0,n=_(n,r)|0,r=y()|0),(n|0)==0&(r|0)==0){z=k;break A}}switch(T|0){case 15:{t=A[k>>2]|0,t|0&&eA(t),T=e,A[T>>2]=0,A[T+4>>2]=0,A[M>>2]=0,A[C>>2]=-1,A[D>>2]=0,A[k>>2]=0,A[e+8>>2]=o,T=20;break}case 19:{A[e>>2]=n,A[e+4>>2]=r,T=20;break}case 25:{iA(27795,27761,470,27772);break}case 29:{A[e>>2]=n,A[e+4>>2]=r,g=x;return}case 32:{t=A[k>>2]|0,t|0&&eA(t),z=e,A[z>>2]=0,A[z+4>>2]=0,A[M>>2]=0,A[C>>2]=-1,A[D>>2]=0,A[k>>2]=0,A[e+8>>2]=o,g=x;return}case 36:{iA(27795,27761,493,27772);break}case 42:{A[e>>2]=n,A[e+4>>2]=r,g=x;return}case 45:{o|0&&eA(o),T=e,A[T>>2]=0,A[T+4>>2]=0,A[M>>2]=0,A[C>>2]=-1,A[D>>2]=0,A[k>>2]=0,A[e+8>>2]=t,T=55;break}case 53:{A[e>>2]=n,A[e+4>>2]=r,T=55;break}case 58:{o|0&&eA(o),T=e,A[T>>2]=0,A[T+4>>2]=0,A[M>>2]=0,A[C>>2]=-1,A[D>>2]=0,A[k>>2]=0,A[e+8>>2]=t,T=71;break}case 65:{A[e>>2]=n,A[e+4>>2]=r,T=71;break}case 67:{t=A[k>>2]|0,t|0&&eA(t),z=e,A[z>>2]=0,A[z+4>>2]=0,A[M>>2]=0,A[C>>2]=-1,A[D>>2]=0,A[k>>2]=0,A[e+8>>2]=n,g=x;return}}if((T|0)==20){g=x;return}else if((T|0)==55){g=x;return}else if((T|0)==71){g=x;return}}while(!1);t=A[z>>2]|0,t|0&&eA(t),T=e,A[T>>2]=0,A[T+4>>2]=0,A[e+8>>2]=0,A[M>>2]=0,A[e+12>>2]=-1,A[D>>2]=0,A[z>>2]=0,g=x}function _(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0;w=g,g=g+16|0,d=w,r=F(e|0,t|0,52)|0,y()|0,r=r&15,n=F(e|0,t|0,45)|0,y()|0;do if(r){for(;n=U(r+4095|0,0,52)|0,o=y()|0|t&-15728641,a=(15-r|0)*3|0,l=U(7,0,a|0)|0,u=y()|0,n=n|e|l,o=o|u,f=F(e|0,t|0,a|0)|0,y()|0,f=f&7,r=r+-1|0,!(f>>>0<6);)if(r)t=o,e=n;else{c=4;break}if((c|0)==4){n=F(n|0,o|0,45)|0,y()|0;break}return d=(f|0)==0&(zA(n,o)|0)!=0,d=U((d?2:1)+f|0,0,a|0)|0,c=y()|0|t&~u,d=d|e&~l,fA(c|0),g=w,d|0}while(!1);return n=n&127,n>>>0>120?(c=0,d=0,fA(c|0),g=w,d|0):(Be(d,0,n+1|0,0),c=A[d+4>>2]|0,d=A[d>>2]|0,fA(c|0),g=w,d|0)}function m(e,t,n,r,o,a){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0,a=a|0;var l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0;T=g,g=g+160|0,w=T+80|0,u=T+64|0,k=T+112|0,C=T,s(w,e,t,n),c=w,Ti(u,A[c>>2]|0,A[c+4>>2]|0,t),c=u,f=A[c>>2]|0,c=A[c+4>>2]|0,l=A[w+8>>2]|0,B=k+4|0,A[B>>2]=A[w>>2],A[B+4>>2]=A[w+4>>2],A[B+8>>2]=A[w+8>>2],A[B+12>>2]=A[w+12>>2],A[B+16>>2]=A[w+16>>2],A[B+20>>2]=A[w+20>>2],A[B+24>>2]=A[w+24>>2],A[B+28>>2]=A[w+28>>2],B=C,A[B>>2]=f,A[B+4>>2]=c,B=C+8|0,A[B>>2]=l,e=C+12|0,t=k,n=e+36|0;do A[e>>2]=A[t>>2],e=e+4|0,t=t+4|0;while((e|0)<(n|0));if(k=C+48|0,A[k>>2]=A[u>>2],A[k+4>>2]=A[u+4>>2],A[k+8>>2]=A[u+8>>2],A[k+12>>2]=A[u+12>>2],(f|0)==0&(c|0)==0)return C=l,g=T,C|0;n=C+16|0,d=C+24|0,w=C+28|0,l=0,u=0,t=f,e=c;do{if(!((l|0)<(o|0)|(l|0)==(o|0)&u>>>0<r>>>0)){P=4;break}if(c=u,u=tA(u|0,l|0,1,0)|0,l=y()|0,c=a+(c<<3)|0,A[c>>2]=t,A[c+4>>2]=e,Mi(k),e=k,t=A[e>>2]|0,e=A[e+4>>2]|0,(t|0)==0&(e|0)==0){if(h(n),t=n,e=A[t>>2]|0,t=A[t+4>>2]|0,(e|0)==0&(t|0)==0){P=10;break}$0(e,t,A[w>>2]|0,k),e=k,t=A[e>>2]|0,e=A[e+4>>2]|0}c=C,A[c>>2]=t,A[c+4>>2]=e}while(!((t|0)==0&(e|0)==0));return(P|0)==4?(e=C+40|0,t=A[e>>2]|0,t|0&&eA(t),P=C+16|0,A[P>>2]=0,A[P+4>>2]=0,A[d>>2]=0,A[C+36>>2]=0,A[w>>2]=-1,A[C+32>>2]=0,A[e>>2]=0,$0(0,0,0,k),A[C>>2]=0,A[C+4>>2]=0,A[B>>2]=0,C=14,g=T,C|0):((P|0)==10&&(A[C>>2]=0,A[C+4>>2]=0,A[B>>2]=A[d>>2]),C=A[B>>2]|0,g=T,C|0)}function v(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0;if(w=g,g=g+48|0,f=w+32|0,u=w+40|0,c=w,!(A[e>>2]|0))return d=r,A[d>>2]=0,A[d+4>>2]=0,d=0,g=w,d|0;Be(f,0,0,0),l=f,o=A[l>>2]|0,l=A[l+4>>2]|0;do if(t>>>0>15)d=c,A[d>>2]=0,A[d+4>>2]=0,A[c+8>>2]=4,A[c+12>>2]=-1,d=c+16|0,n=c+29|0,A[d>>2]=0,A[d+4>>2]=0,A[d+8>>2]=0,Z[d+12>>0]=0,Z[n>>0]=Z[u>>0]|0,Z[n+1>>0]=Z[u+1>>0]|0,Z[n+2>>0]=Z[u+2>>0]|0,n=4,d=9;else{if(n=S(n)|0,n|0){f=c,A[f>>2]=0,A[f+4>>2]=0,A[c+8>>2]=n,A[c+12>>2]=-1,f=c+16|0,d=c+29|0,A[f>>2]=0,A[f+4>>2]=0,A[f+8>>2]=0,Z[f+12>>0]=0,Z[d>>0]=Z[u>>0]|0,Z[d+1>>0]=Z[u+1>>0]|0,Z[d+2>>0]=Z[u+2>>0]|0,d=9;break}if(n=Kt((A[e+8>>2]|0)+1|0,32)|0,!n){d=c,A[d>>2]=0,A[d+4>>2]=0,A[c+8>>2]=13,A[c+12>>2]=-1,d=c+16|0,n=c+29|0,A[d>>2]=0,A[d+4>>2]=0,A[d+8>>2]=0,Z[d+12>>0]=0,Z[n>>0]=Z[u>>0]|0,Z[n+1>>0]=Z[u+1>>0]|0,Z[n+2>>0]=Z[u+2>>0]|0,n=13,d=9;break}G(e,n),B=c,A[B>>2]=o,A[B+4>>2]=l,l=c+8|0,A[l>>2]=0,A[c+12>>2]=t,A[c+20>>2]=e,A[c+24>>2]=n,Z[c+28>>0]=0,o=c+29|0,Z[o>>0]=Z[u>>0]|0,Z[o+1>>0]=Z[u+1>>0]|0,Z[o+2>>0]=Z[u+2>>0]|0,A[c+16>>2]=3,k=+xe(n),k=k*+n0(n),a=+dA(+ +p[n>>3]),a=k/+MA(+ +_n(+a,+ +dA(+ +p[n+8>>3])))*6371.007180918475*6371.007180918475,o=c+12|0,n=A[o>>2]|0;A:do if((n|0)>0)do{if(Ge(n+-1|0,f)|0,!(a/+p[f>>3]>10))break A;B=A[o>>2]|0,n=B+-1|0,A[o>>2]=n}while((B|0)>1);while(!1);if(h(c),o=r,A[o>>2]=0,A[o+4>>2]=0,o=c,n=A[o>>2]|0,o=A[o+4>>2]|0,!((n|0)==0&(o|0)==0))do de(n,o,t,f)|0,u=f,e=r,u=tA(A[e>>2]|0,A[e+4>>2]|0,A[u>>2]|0,A[u+4>>2]|0)|0,e=y()|0,B=r,A[B>>2]=u,A[B+4>>2]=e,h(c),B=c,n=A[B>>2]|0,o=A[B+4>>2]|0;while(!((n|0)==0&(o|0)==0));n=A[l>>2]|0}while(!1);return B=n,g=w,B|0}function E(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;if(!(ii(t,n)|0)||(t=gi(t)|0,r=+p[n>>3],o=+p[n+8>>3],o=t&o<0?o+6.283185307179586:o,k=A[e>>2]|0,(k|0)<=0))return k=0,k|0;if(w=A[e+4>>2]|0,t){t=0,d=o,n=-1,e=0;A:for(;;){for(c=e;l=+p[w+(c<<4)>>3],o=+p[w+(c<<4)+8>>3],e=(n+2|0)%(k|0)|0,a=+p[w+(e<<4)>>3],u=+p[w+(e<<4)+8>>3],l>a?(f=l,l=u):(f=a,a=l,l=o,o=u),r=r==a|r==f?r+2220446049250313e-31:r,!!(r<a|r>f);)if(n=c+1|0,(n|0)>=(k|0)){n=22;break A}else e=c,c=n,n=e;if(u=l<0?l+6.283185307179586:l,l=o<0?o+6.283185307179586:o,d=u==d|l==d?d+-2220446049250313e-31:d,f=u+(l-u)*((r-a)/(f-a)),(f<0?f+6.283185307179586:f)>d&&(t=t^1),e=c+1|0,(e|0)>=(k|0)){n=22;break}else n=c}if((n|0)==22)return t|0}else{t=0,d=o,n=-1,e=0;A:for(;;){for(c=e;l=+p[w+(c<<4)>>3],o=+p[w+(c<<4)+8>>3],e=(n+2|0)%(k|0)|0,a=+p[w+(e<<4)>>3],u=+p[w+(e<<4)+8>>3],l>a?(f=l,l=u):(f=a,a=l,l=o,o=u),r=r==a|r==f?r+2220446049250313e-31:r,!!(r<a|r>f);)if(n=c+1|0,(n|0)>=(k|0)){n=22;break A}else e=c,c=n,n=e;if(d=l==d|o==d?d+-2220446049250313e-31:d,l+(o-l)*((r-a)/(f-a))>d&&(t=t^1),e=c+1|0,(e|0)>=(k|0)){n=22;break}else n=c}if((n|0)==22)return t|0}return 0}function I(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0;if(P=A[e>>2]|0,!P){A[t>>2]=0,A[t+4>>2]=0,A[t+8>>2]=0,A[t+12>>2]=0,A[t+16>>2]=0,A[t+20>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0;return}if(C=t+8|0,p[C>>3]=17976931348623157e292,T=t+24|0,p[T>>3]=17976931348623157e292,p[t>>3]=-17976931348623157e292,z=t+16|0,p[z>>3]=-17976931348623157e292,!((P|0)<=0)){for(k=A[e+4>>2]|0,c=17976931348623157e292,d=-17976931348623157e292,w=0,e=-1,a=17976931348623157e292,l=17976931348623157e292,f=-17976931348623157e292,r=-17976931348623157e292,B=0;n=+p[k+(B<<4)>>3],u=+p[k+(B<<4)+8>>3],e=e+2|0,o=+p[k+(((e|0)==(P|0)?0:e)<<4)+8>>3],n<a&&(p[C>>3]=n,a=n),u<l&&(p[T>>3]=u,l=u),n>f?p[t>>3]=n:n=f,u>r&&(p[z>>3]=u,r=u),c=u>0&u<c?u:c,d=u<0&u>d?u:d,w=w|+dA(+(u-o))>3.141592653589793,e=B+1|0,(e|0)!=(P|0);)D=B,f=n,B=e,e=D;w&&(p[z>>3]=d,p[T>>3]=c)}}function S(e){return e=e|0,(e>>>0<4?0:15)|0}function G(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0;if(P=A[e>>2]|0,P){if(C=t+8|0,p[C>>3]=17976931348623157e292,T=t+24|0,p[T>>3]=17976931348623157e292,p[t>>3]=-17976931348623157e292,z=t+16|0,p[z>>3]=-17976931348623157e292,(P|0)>0){for(o=A[e+4>>2]|0,k=17976931348623157e292,B=-17976931348623157e292,r=0,n=-1,f=17976931348623157e292,c=17976931348623157e292,w=-17976931348623157e292,l=-17976931348623157e292,D=0;a=+p[o+(D<<4)>>3],d=+p[o+(D<<4)+8>>3],$=n+2|0,u=+p[o+((($|0)==(P|0)?0:$)<<4)+8>>3],a<f&&(p[C>>3]=a,f=a),d<c&&(p[T>>3]=d,c=d),a>w?p[t>>3]=a:a=w,d>l&&(p[z>>3]=d,l=d),k=d>0&d<k?d:k,B=d<0&d>B?d:B,r=r|+dA(+(d-u))>3.141592653589793,n=D+1|0,(n|0)!=(P|0);)$=D,w=a,D=n,n=$;r&&(p[z>>3]=B,p[T>>3]=k)}}else A[t>>2]=0,A[t+4>>2]=0,A[t+8>>2]=0,A[t+12>>2]=0,A[t+16>>2]=0,A[t+20>>2]=0,A[t+24>>2]=0,A[t+28>>2]=0;if($=e+8|0,n=A[$>>2]|0,!((n|0)<=0)){Y=e+12|0,x=0;do if(o=A[Y>>2]|0,r=x,x=x+1|0,T=t+(x<<5)|0,z=A[o+(r<<3)>>2]|0,z){if(D=t+(x<<5)+8|0,p[D>>3]=17976931348623157e292,e=t+(x<<5)+24|0,p[e>>3]=17976931348623157e292,p[T>>3]=-17976931348623157e292,M=t+(x<<5)+16|0,p[M>>3]=-17976931348623157e292,(z|0)>0){for(P=A[o+(r<<3)+4>>2]|0,k=17976931348623157e292,B=-17976931348623157e292,o=0,r=-1,C=0,f=17976931348623157e292,c=17976931348623157e292,d=-17976931348623157e292,l=-17976931348623157e292;a=+p[P+(C<<4)>>3],w=+p[P+(C<<4)+8>>3],r=r+2|0,u=+p[P+(((r|0)==(z|0)?0:r)<<4)+8>>3],a<f&&(p[D>>3]=a,f=a),w<c&&(p[e>>3]=w,c=w),a>d?p[T>>3]=a:a=d,w>l&&(p[M>>3]=w,l=w),k=w>0&w<k?w:k,B=w<0&w>B?w:B,o=o|+dA(+(w-u))>3.141592653589793,r=C+1|0,(r|0)!=(z|0);)J=C,C=r,d=a,r=J;o&&(p[M>>3]=B,p[e>>3]=k)}}else A[T>>2]=0,A[T+4>>2]=0,A[T+8>>2]=0,A[T+12>>2]=0,A[T+16>>2]=0,A[T+20>>2]=0,A[T+24>>2]=0,A[T+28>>2]=0,n=A[$>>2]|0;while((x|0)<(n|0))}}function V(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;if(!(E(e,t,n)|0))return o=0,o|0;if(o=e+8|0,(A[o>>2]|0)<=0)return o=1,o|0;for(r=e+12|0,e=0;;){if(a=e,e=e+1|0,E((A[r>>2]|0)+(a<<3)|0,t+(e<<5)|0,n)|0){e=0,r=6;break}if((e|0)>=(A[o>>2]|0)){e=1,r=6;break}}return(r|0)==6?e|0:0}function rA(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(c=g,g=g+16|0,u=c,l=n+8|0,!(E(e,t,l)|0))return f=0,g=c,f|0;f=e+8|0;A:do if((A[f>>2]|0)>0){for(a=e+12|0,o=0;;){if(d=o,o=o+1|0,E((A[a>>2]|0)+(d<<3)|0,t+(o<<5)|0,l)|0){o=0;break}if((o|0)>=(A[f>>2]|0))break A}return g=c,o|0}while(!1);if(yA(e,t,n,r)|0)return d=0,g=c,d|0;A[u>>2]=A[n>>2],A[u+4>>2]=l,o=A[f>>2]|0;A:do if((o|0)>0)for(e=e+12|0,l=0,a=o;;){if(o=A[e>>2]|0,(A[o+(l<<3)>>2]|0)>0){if(E(u,r,A[o+(l<<3)+4>>2]|0)|0){o=0;break A}if(o=l+1|0,yA((A[e>>2]|0)+(l<<3)|0,t+(o<<5)|0,n,r)|0){o=0;break A}a=A[f>>2]|0}else o=l+1|0;if((o|0)<(a|0))l=o;else{o=1;break}}else o=1;while(!1);return d=o,g=c,d|0}function yA(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0,$=0,J=0,cA=0;if($=g,g=g+176|0,D=$+172|0,o=$+168|0,M=$,!(Te(t,r)|0))return e=0,g=$,e|0;if(_t(t,r,D,o),Si(M|0,n|0,168)|0,(A[n>>2]|0)>0){t=0;do J=M+8+(t<<4)+8|0,z=+gt(+p[J>>3],A[o>>2]|0),p[J>>3]=z,t=t+1|0;while((t|0)<(A[n>>2]|0))}C=+p[r>>3],T=+p[r+8>>3],z=+gt(+p[r+16>>3],A[o>>2]|0),B=+gt(+p[r+24>>3],A[o>>2]|0);A:do if((A[e>>2]|0)>0){if(r=e+4|0,o=A[M>>2]|0,(o|0)<=0){for(t=0;;)if(t=t+1|0,(t|0)>=(A[e>>2]|0)){t=0;break A}}for(n=0;;){if(t=A[r>>2]|0,k=+p[t+(n<<4)>>3],P=+gt(+p[t+(n<<4)+8>>3],A[D>>2]|0),t=A[r>>2]|0,n=n+1|0,J=(n|0)%(A[e>>2]|0)|0,a=+p[t+(J<<4)>>3],l=+gt(+p[t+(J<<4)+8>>3],A[D>>2]|0),!(k>=C)|!(a>=C)&&!(k<=T)|!(a<=T)&&!(P<=B)|!(l<=B)&&!(P>=z)|!(l>=z)){w=a-k,c=l-P,t=0;do if(cA=t,t=t+1|0,J=(t|0)==(o|0)?0:t,a=+p[M+8+(cA<<4)+8>>3],l=+p[M+8+(J<<4)+8>>3]-a,u=+p[M+8+(cA<<4)>>3],f=+p[M+8+(J<<4)>>3]-u,d=w*l-c*f,d!=0&&(x=P-a,Y=k-u,f=(x*f-l*Y)/d,!(f<0|f>1))&&(d=(w*x-c*Y)/d,d>=0&d<=1)){t=1;break A}while((t|0)<(o|0))}if((n|0)>=(A[e>>2]|0)){t=0;break}}}else t=0;while(!1);return cA=t,g=$,cA|0}function vt(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0;if(yA(e,t,n,r)|0)return a=1,a|0;if(a=e+8|0,(A[a>>2]|0)<=0)return a=0,a|0;for(o=e+12|0,e=0;;){if(l=e,e=e+1|0,yA((A[o>>2]|0)+(l<<3)|0,t+(e<<5)|0,n,r)|0){e=1,o=6;break}if((e|0)>=(A[a>>2]|0)){e=0,o=6;break}}return(o|0)==6?e|0:0}function ut(){return 8}function Vt(){return 16}function Tt(){return 168}function Ue(){return 8}function Xn(){return 16}function $n(){return 12}function Ar(){return 8}function un(e){return e=e|0,+(+((A[e>>2]|0)>>>0)+4294967296*+(A[e+4>>2]|0))}function tr(e){e=e|0;var t=0,n=0;return n=+p[e>>3],t=+p[e+8>>3],+ +TA(+(n*n+t*t))}function b0(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0;c=+p[e>>3],f=+p[t>>3]-c,u=+p[e+8>>3],l=+p[t+8>>3]-u,w=+p[n>>3],a=+p[r>>3]-w,k=+p[n+8>>3],d=+p[r+8>>3]-k,a=(a*(u-k)-(c-w)*d)/(f*d-l*a),p[o>>3]=c+f*a,p[o+8>>3]=u+l*a}function nt(e,t){return e=e|0,t=t|0,+dA(+(+p[e>>3]-+p[t>>3]))<11920928955078125e-23?(t=+dA(+(+p[e+8>>3]-+p[t+8>>3]))<11920928955078125e-23,t|0):(t=0,t|0)}function qA(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;return o=+p[e>>3]-+p[t>>3],r=+p[e+8>>3]-+p[t+8>>3],n=+p[e+16>>3]-+p[t+16>>3],+(o*o+r*r+n*n)}function er(e,t){e=e|0,t=t|0;var n=0,r=0,o=0;n=+p[e>>3],r=+MA(+n),n=+vA(+n),p[t+16>>3]=n,n=+p[e+8>>3],o=r*+MA(+n),p[t>>3]=o,n=r*+vA(+n),p[t+8>>3]=n}function ir(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;if(a=g,g=g+16|0,o=a,r=zA(e,t)|0,(n+-1|0)>>>0>5||(r=(r|0)!=0,(n|0)==1&r))return o=-1,g=a,o|0;do if(ui(e,t,o)|0)r=-1;else if(r){r=((A[26352+(n<<2)>>2]|0)+5-(A[o>>2]|0)|0)%5|0;break}else{r=((A[26384+(n<<2)>>2]|0)+6-(A[o>>2]|0)|0)%6|0;break}while(!1);return o=r,g=a,o|0}function ui(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0;if(d=g,g=g+32|0,u=d+16|0,f=d,r=Pe(e,t,u)|0,r|0)return n=r,g=d,n|0;a=Yt(e,t)|0,c=$A(e,t)|0,e0(a,f),r=En(a,A[u>>2]|0)|0;do if(ZA(a)|0){do switch(a|0){case 4:{o=0;break}case 14:{o=1;break}case 24:{o=2;break}case 38:{o=3;break}case 49:{o=4;break}case 58:{o=5;break}case 63:{o=6;break}case 72:{o=7;break}case 83:{o=8;break}case 97:{o=9;break}case 107:{o=10;break}case 117:{o=11;break}default:iA(27795,27797,75,27806)}while(!1);if(l=A[26416+(o*24|0)+8>>2]|0,t=A[26416+(o*24|0)+16>>2]|0,e=A[u>>2]|0,(e|0)!=(A[f>>2]|0)&&(f=ti(a)|0,e=A[u>>2]|0,f|(e|0)==(t|0)&&(r=(r+1|0)%6|0)),(c|0)==3&(e|0)==(t|0)){r=(r+5|0)%6|0;break}(c|0)==5&(e|0)==(l|0)&&(r=(r+1|0)%6|0)}while(!1);return A[n>>2]=r,n=0,g=d,n|0}function Mt(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0;if(M=g,g=g+32|0,D=M+24|0,T=M+20|0,P=M+8|0,B=M+16|0,k=M,f=(zA(e,t)|0)==0,f=f?6:5,d=F(e|0,t|0,52)|0,y()|0,d=d&15,f>>>0<=n>>>0)return r=2,g=M,r|0;w=(d|0)==0,!w&&(C=U(7,0,(d^15)*3|0)|0,(C&e|0)==0&((y()|0)&t|0)==0)?o=n:a=4;A:do if((a|0)==4){if(o=(zA(e,t)|0)!=0,((o?4:5)|0)<(n|0)||ui(e,t,D)|0||(a=(A[D>>2]|0)+n|0,o?o=26704+(((a|0)%5|0)<<2)|0:o=26736+(((a|0)%6|0)<<2)|0,C=A[o>>2]|0,(C|0)==7))return r=1,g=M,r|0;A[T>>2]=0,o=YA(e,t,C,T,P)|0;do if(!o){if(u=P,c=A[u>>2]|0,u=A[u+4>>2]|0,l=u>>>0<t>>>0|(u|0)==(t|0)&c>>>0<e>>>0,a=l?c:e,l=l?u:t,!w&&(w=U(7,0,(d^15)*3|0)|0,(c&w|0)==0&(u&(y()|0)|0)==0))o=n;else{if(u=(n+-1+f|0)%(f|0)|0,o=zA(e,t)|0,(u|0)<0&&iA(27795,27797,248,27822),f=(o|0)!=0,((f?4:5)|0)<(u|0)&&iA(27795,27797,248,27822),ui(e,t,D)|0&&iA(27795,27797,248,27822),o=(A[D>>2]|0)+u|0,f?o=26704+(((o|0)%5|0)<<2)|0:o=26736+(((o|0)%6|0)<<2)|0,u=A[o>>2]|0,(u|0)==7&&iA(27795,27797,248,27822),A[B>>2]=0,o=YA(e,t,u,B,k)|0,o|0)break;c=k,f=A[c>>2]|0,c=A[c+4>>2]|0;do if(c>>>0<l>>>0|(c|0)==(l|0)&f>>>0<a>>>0){if(zA(f,c)|0?a=Ce(f,c,e,t)|0:a=A[26800+((((A[B>>2]|0)+(A[26768+(u<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,o=zA(f,c)|0,(a+-1|0)>>>0>5){o=-1,a=f,l=c;break}if(o=(o|0)!=0,(a|0)==1&o){o=-1,a=f,l=c;break}do if(ui(f,c,D)|0)o=-1;else if(o){o=((A[26352+(a<<2)>>2]|0)+5-(A[D>>2]|0)|0)%5|0;break}else{o=((A[26384+(a<<2)>>2]|0)+6-(A[D>>2]|0)|0)%6|0;break}while(!1);a=f,l=c}else o=n;while(!1);u=P,c=A[u>>2]|0,u=A[u+4>>2]|0}if((a|0)==(c|0)&(l|0)==(u|0)){if(f=(zA(c,u)|0)!=0,f?e=Ce(c,u,e,t)|0:e=A[26800+((((A[T>>2]|0)+(A[26768+(C<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,o=zA(c,u)|0,(e+-1|0)>>>0<=5&&(z=(o|0)!=0,!((e|0)==1&z)))do if(ui(c,u,D)|0)o=-1;else if(z){o=((A[26352+(e<<2)>>2]|0)+5-(A[D>>2]|0)|0)%5|0;break}else{o=((A[26384+(e<<2)>>2]|0)+6-(A[D>>2]|0)|0)%6|0;break}while(!1);else o=-1;o=o+1|0,o=(o|0)==6|f&(o|0)==5?0:o}t=l,e=a;break A}while(!1);return r=o,g=M,r|0}while(!1);return z=U(o|0,0,56)|0,D=y()|0|t&-2130706433|536870912,A[r>>2]=z|e,A[r+4>>2]=D,r=0,g=M,r|0}function fn(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;return a=(zA(e,t)|0)==0,r=Mt(e,t,0,n)|0,o=(r|0)==0,a?!o||(r=Mt(e,t,1,n+8|0)|0,r|0)||(r=Mt(e,t,2,n+16|0)|0,r|0)||(r=Mt(e,t,3,n+24|0)|0,r|0)||(r=Mt(e,t,4,n+32|0)|0,r)?(a=r,a|0):Mt(e,t,5,n+40|0)|0:!o||(r=Mt(e,t,1,n+8|0)|0,r|0)||(r=Mt(e,t,2,n+16|0)|0,r|0)||(r=Mt(e,t,3,n+24|0)|0,r|0)||(r=Mt(e,t,4,n+32|0)|0,r|0)?(a=r,a|0):(a=n+40|0,A[a>>2]=0,A[a+4>>2]=0,a=0,a|0)}function nr(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0,u=0,f=0;return f=g,g=g+192|0,o=f,a=f+168|0,l=F(e|0,t|0,56)|0,y()|0,l=l&7,u=t&-2130706433|134217728,r=Pe(e,u,a)|0,r|0?(u=r,g=f,u|0):(t=F(e|0,t|0,52)|0,y()|0,t=t&15,zA(e,u)|0?d0(a,t,l,1,o):m0(a,t,l,1,o),u=o+8|0,A[n>>2]=A[u>>2],A[n+4>>2]=A[u+4>>2],A[n+8>>2]=A[u+8>>2],A[n+12>>2]=A[u+12>>2],u=0,g=f,u|0)}function sr(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;return o=g,g=g+16|0,n=o,!(!0&(t&2013265920|0)==536870912)||(r=t&-2130706433|134217728,!(qt(e,r)|0))?(r=0,g=o,r|0):(a=F(e|0,t|0,56)|0,y()|0,a=(Mt(e,r,a&7,n)|0)==0,r=n,r=a&((A[r>>2]|0)==(e|0)?(A[r+4>>2]|0)==(t|0):0)&1,g=o,r|0)}function ar(e,t,n){e=e|0,t=t|0,n=n|0;var r=0;(t|0)>0?(r=Kt(t,4)|0,A[e>>2]=r,r||iA(27835,27858,40,27872)):A[e>>2]=0,A[e+4>>2]=t,A[e+8>>2]=0,A[e+12>>2]=n}function lr(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0;o=e+4|0,a=e+12|0,l=e+8|0;A:for(;;){for(n=A[o>>2]|0,t=0;;){if((t|0)>=(n|0))break A;if(r=A[e>>2]|0,u=A[r+(t<<2)>>2]|0,!u)t=t+1|0;else break}t=r+(~~(+dA(+(+zt(10,+ +(15-(A[a>>2]|0)|0))*(+p[u>>3]+ +p[u+8>>3])))%+(n|0))>>>0<<2)|0,n=A[t>>2]|0;t:do if(n|0){if(r=u+32|0,(n|0)==(u|0))A[t>>2]=A[r>>2];else{if(n=n+32|0,t=A[n>>2]|0,!t)break;for(;(t|0)!=(u|0);)if(n=t+32|0,t=A[n>>2]|0,!t)break t;A[n>>2]=A[r>>2]}eA(u),A[l>>2]=(A[l>>2]|0)+-1}while(!1)}eA(A[e>>2]|0)}function hr(e){e=e|0;var t=0,n=0,r=0;for(r=A[e+4>>2]|0,n=0;;){if((n|0)>=(r|0)){t=0,n=4;break}if(t=A[(A[e>>2]|0)+(n<<2)>>2]|0,!t)n=n+1|0;else{n=4;break}}return(n|0)==4?t|0:0}function ur(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;if(n=~~(+dA(+(+zt(10,+ +(15-(A[e+12>>2]|0)|0))*(+p[t>>3]+ +p[t+8>>3])))%+(A[e+4>>2]|0))>>>0,n=(A[e>>2]|0)+(n<<2)|0,r=A[n>>2]|0,!r)return a=1,a|0;a=t+32|0;do if((r|0)!=(t|0)){if(n=A[r+32>>2]|0,!n)return a=1,a|0;for(o=n;;){if((o|0)==(t|0)){o=8;break}if(n=A[o+32>>2]|0,n)r=o,o=n;else{n=1,o=10;break}}if((o|0)==8){A[r+32>>2]=A[a>>2];break}else if((o|0)==10)return n|0}else A[n>>2]=A[a>>2];while(!1);return eA(t),a=e+8|0,A[a>>2]=(A[a>>2]|0)+-1,a=0,a|0}function Mr(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;a=Ee(40)|0,a||iA(27888,27858,98,27901),A[a>>2]=A[t>>2],A[a+4>>2]=A[t+4>>2],A[a+8>>2]=A[t+8>>2],A[a+12>>2]=A[t+12>>2],o=a+16|0,A[o>>2]=A[n>>2],A[o+4>>2]=A[n+4>>2],A[o+8>>2]=A[n+8>>2],A[o+12>>2]=A[n+12>>2],A[a+32>>2]=0,o=~~(+dA(+(+zt(10,+ +(15-(A[e+12>>2]|0)|0))*(+p[t>>3]+ +p[t+8>>3])))%+(A[e+4>>2]|0))>>>0,o=(A[e>>2]|0)+(o<<2)|0,r=A[o>>2]|0;do if(!r)A[o>>2]=a;else{for(;!(bt(r,t)|0&&bt(r+16|0,n)|0);)if(o=A[r+32>>2]|0,r=(o|0)==0?r:o,!(A[r+32>>2]|0)){l=10;break}if((l|0)==10){A[r+32>>2]=a;break}return eA(a),l=r,l|0}while(!1);return l=e+8|0,A[l>>2]=(A[l>>2]|0)+1,l=a,l|0}function Dr(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0;if(o=~~(+dA(+(+zt(10,+ +(15-(A[e+12>>2]|0)|0))*(+p[t>>3]+ +p[t+8>>3])))%+(A[e+4>>2]|0))>>>0,o=A[(A[e>>2]|0)+(o<<2)>>2]|0,!o)return n=0,n|0;if(!n){for(e=o;;){if(bt(e,t)|0){r=10;break}if(e=A[e+32>>2]|0,!e){e=0,r=10;break}}if((r|0)==10)return e|0}for(e=o;;){if(bt(e,t)|0&&bt(e+16|0,n)|0){r=10;break}if(e=A[e+32>>2]|0,!e){e=0,r=10;break}}return(r|0)==10?e|0:0}function Ir(e,t){e=e|0,t=t|0;var n=0;if(n=~~(+dA(+(+zt(10,+ +(15-(A[e+12>>2]|0)|0))*(+p[t>>3]+ +p[t+8>>3])))%+(A[e+4>>2]|0))>>>0,e=A[(A[e>>2]|0)+(n<<2)>>2]|0,!e)return n=0,n|0;for(;;){if(bt(e,t)|0){t=5;break}if(e=A[e+32>>2]|0,!e){e=0,t=5;break}}return(t|0)==5?e|0:0}function zr(){return 27920}function We(e){return e=+e,~~+dr(+e)|0}function Ee(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0,C=0,T=0,z=0,D=0,M=0,x=0,Y=0;Y=g,g=g+16|0,k=Y;do if(e>>>0<245){if(c=e>>>0<11?16:e+11&-8,e=c>>>3,w=A[6981]|0,n=w>>>e,n&3|0)return t=(n&1^1)+e|0,e=27964+(t<<1<<2)|0,n=e+8|0,r=A[n>>2]|0,o=r+8|0,a=A[o>>2]|0,(a|0)==(e|0)?A[6981]=w&~(1<<t):(A[a+12>>2]=e,A[n>>2]=a),x=t<<3,A[r+4>>2]=x|3,x=r+x+4|0,A[x>>2]=A[x>>2]|1,x=o,g=Y,x|0;if(d=A[6983]|0,c>>>0>d>>>0){if(n|0)return t=2<<e,t=n<<e&(t|0-t),t=(t&0-t)+-1|0,u=t>>>12&16,t=t>>>u,n=t>>>5&8,t=t>>>n,a=t>>>2&4,t=t>>>a,e=t>>>1&2,t=t>>>e,r=t>>>1&1,r=(n|u|a|e|r)+(t>>>r)|0,t=27964+(r<<1<<2)|0,e=t+8|0,a=A[e>>2]|0,u=a+8|0,n=A[u>>2]|0,(n|0)==(t|0)?(e=w&~(1<<r),A[6981]=e):(A[n+12>>2]=t,A[e>>2]=n,e=w),x=r<<3,l=x-c|0,A[a+4>>2]=c|3,o=a+c|0,A[o+4>>2]=l|1,A[a+x>>2]=l,d|0&&(r=A[6986]|0,t=d>>>3,n=27964+(t<<1<<2)|0,t=1<<t,e&t?(e=n+8|0,t=A[e>>2]|0):(A[6981]=e|t,t=n,e=n+8|0),A[e>>2]=r,A[t+12>>2]=r,A[r+8>>2]=t,A[r+12>>2]=n),A[6983]=l,A[6986]=o,x=u,g=Y,x|0;if(a=A[6982]|0,a){for(n=(a&0-a)+-1|0,o=n>>>12&16,n=n>>>o,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,u=n>>>1&2,n=n>>>u,f=n>>>1&1,f=A[28228+((r|o|l|u|f)+(n>>>f)<<2)>>2]|0,n=f,u=f,f=(A[f+4>>2]&-8)-c|0;e=A[n+16>>2]|0,!(!e&&(e=A[n+20>>2]|0,!e));)l=(A[e+4>>2]&-8)-c|0,o=l>>>0<f>>>0,n=e,u=o?e:u,f=o?l:f;if(l=u+c|0,l>>>0>u>>>0){o=A[u+24>>2]|0,t=A[u+12>>2]|0;do if((t|0)==(u|0)){if(e=u+20|0,t=A[e>>2]|0,!t&&(e=u+16|0,t=A[e>>2]|0,!t)){n=0;break}for(;;)if(r=t+20|0,n=A[r>>2]|0,n)t=n,e=r;else if(r=t+16|0,n=A[r>>2]|0,n)t=n,e=r;else break;A[e>>2]=0,n=t}else n=A[u+8>>2]|0,A[n+12>>2]=t,A[t+8>>2]=n,n=t;while(!1);do if(o|0){if(t=A[u+28>>2]|0,e=28228+(t<<2)|0,(u|0)==(A[e>>2]|0)){if(A[e>>2]=n,!n){A[6982]=a&~(1<<t);break}}else if(x=o+16|0,A[((A[x>>2]|0)==(u|0)?x:o+20|0)>>2]=n,!n)break;A[n+24>>2]=o,t=A[u+16>>2]|0,t|0&&(A[n+16>>2]=t,A[t+24>>2]=n),t=A[u+20>>2]|0,t|0&&(A[n+20>>2]=t,A[t+24>>2]=n)}while(!1);return f>>>0<16?(x=f+c|0,A[u+4>>2]=x|3,x=u+x+4|0,A[x>>2]=A[x>>2]|1):(A[u+4>>2]=c|3,A[l+4>>2]=f|1,A[l+f>>2]=f,d|0&&(r=A[6986]|0,t=d>>>3,n=27964+(t<<1<<2)|0,t=1<<t,t&w?(e=n+8|0,t=A[e>>2]|0):(A[6981]=t|w,t=n,e=n+8|0),A[e>>2]=r,A[t+12>>2]=r,A[r+8>>2]=t,A[r+12>>2]=n),A[6983]=f,A[6986]=l),x=u+8|0,g=Y,x|0}else w=c}else w=c}else w=c}else if(e>>>0<=4294967231)if(e=e+11|0,c=e&-8,r=A[6982]|0,r){o=0-c|0,e=e>>>8,e?c>>>0>16777215?f=31:(w=(e+1048320|0)>>>16&8,C=e<<w,u=(C+520192|0)>>>16&4,C=C<<u,f=(C+245760|0)>>>16&2,f=14-(u|w|f)+(C<<f>>>15)|0,f=c>>>(f+7|0)&1|f<<1):f=0,n=A[28228+(f<<2)>>2]|0;A:do if(!n)n=0,e=0,C=61;else for(e=0,u=c<<((f|0)==31?0:25-(f>>>1)|0),a=0;;){if(l=(A[n+4>>2]&-8)-c|0,l>>>0<o>>>0)if(l)e=n,o=l;else{e=n,o=0,C=65;break A}if(C=A[n+20>>2]|0,n=A[n+16+(u>>>31<<2)>>2]|0,a=(C|0)==0|(C|0)==(n|0)?a:C,n)u=u<<1;else{n=a,C=61;break}}while(!1);if((C|0)==61){if((n|0)==0&(e|0)==0){if(e=2<<f,e=(e|0-e)&r,!e){w=c;break}w=(e&0-e)+-1|0,l=w>>>12&16,w=w>>>l,a=w>>>5&8,w=w>>>a,u=w>>>2&4,w=w>>>u,f=w>>>1&2,w=w>>>f,n=w>>>1&1,e=0,n=A[28228+((a|l|u|f|n)+(w>>>n)<<2)>>2]|0}n?C=65:(u=e,l=o)}if((C|0)==65)for(a=n;;)if(w=(A[a+4>>2]&-8)-c|0,n=w>>>0<o>>>0,o=n?w:o,e=n?a:e,n=A[a+16>>2]|0,n||(n=A[a+20>>2]|0),n)a=n;else{u=e,l=o;break}if((u|0)!=0&&l>>>0<((A[6983]|0)-c|0)>>>0&&(d=u+c|0,d>>>0>u>>>0)){a=A[u+24>>2]|0,t=A[u+12>>2]|0;do if((t|0)==(u|0)){if(e=u+20|0,t=A[e>>2]|0,!t&&(e=u+16|0,t=A[e>>2]|0,!t)){t=0;break}for(;;)if(o=t+20|0,n=A[o>>2]|0,n)t=n,e=o;else if(o=t+16|0,n=A[o>>2]|0,n)t=n,e=o;else break;A[e>>2]=0}else x=A[u+8>>2]|0,A[x+12>>2]=t,A[t+8>>2]=x;while(!1);do if(a){if(e=A[u+28>>2]|0,n=28228+(e<<2)|0,(u|0)==(A[n>>2]|0)){if(A[n>>2]=t,!t){r=r&~(1<<e),A[6982]=r;break}}else if(x=a+16|0,A[((A[x>>2]|0)==(u|0)?x:a+20|0)>>2]=t,!t)break;A[t+24>>2]=a,e=A[u+16>>2]|0,e|0&&(A[t+16>>2]=e,A[e+24>>2]=t),e=A[u+20>>2]|0,e&&(A[t+20>>2]=e,A[e+24>>2]=t)}while(!1);A:do if(l>>>0<16)x=l+c|0,A[u+4>>2]=x|3,x=u+x+4|0,A[x>>2]=A[x>>2]|1;else{if(A[u+4>>2]=c|3,A[d+4>>2]=l|1,A[d+l>>2]=l,t=l>>>3,l>>>0<256){n=27964+(t<<1<<2)|0,e=A[6981]|0,t=1<<t,e&t?(e=n+8|0,t=A[e>>2]|0):(A[6981]=e|t,t=n,e=n+8|0),A[e>>2]=d,A[t+12>>2]=d,A[d+8>>2]=t,A[d+12>>2]=n;break}if(t=l>>>8,t?l>>>0>16777215?n=31:(M=(t+1048320|0)>>>16&8,x=t<<M,D=(x+520192|0)>>>16&4,x=x<<D,n=(x+245760|0)>>>16&2,n=14-(D|M|n)+(x<<n>>>15)|0,n=l>>>(n+7|0)&1|n<<1):n=0,t=28228+(n<<2)|0,A[d+28>>2]=n,e=d+16|0,A[e+4>>2]=0,A[e>>2]=0,e=1<<n,!(r&e)){A[6982]=r|e,A[t>>2]=d,A[d+24>>2]=t,A[d+12>>2]=d,A[d+8>>2]=d;break}t=A[t>>2]|0;t:do if((A[t+4>>2]&-8|0)!=(l|0)){for(r=l<<((n|0)==31?0:25-(n>>>1)|0);n=t+16+(r>>>31<<2)|0,e=A[n>>2]|0,!!e;)if((A[e+4>>2]&-8|0)==(l|0)){t=e;break t}else r=r<<1,t=e;A[n>>2]=d,A[d+24>>2]=t,A[d+12>>2]=d,A[d+8>>2]=d;break A}while(!1);M=t+8|0,x=A[M>>2]|0,A[x+12>>2]=d,A[M>>2]=d,A[d+8>>2]=x,A[d+12>>2]=t,A[d+24>>2]=0}while(!1);return x=u+8|0,g=Y,x|0}else w=c}else w=c;else w=-1;while(!1);if(n=A[6983]|0,n>>>0>=w>>>0)return t=n-w|0,e=A[6986]|0,t>>>0>15?(x=e+w|0,A[6986]=x,A[6983]=t,A[x+4>>2]=t|1,A[e+n>>2]=t,A[e+4>>2]=w|3):(A[6983]=0,A[6986]=0,A[e+4>>2]=n|3,x=e+n+4|0,A[x>>2]=A[x>>2]|1),x=e+8|0,g=Y,x|0;if(l=A[6984]|0,l>>>0>w>>>0)return D=l-w|0,A[6984]=D,x=A[6987]|0,M=x+w|0,A[6987]=M,A[M+4>>2]=D|1,A[x+4>>2]=w|3,x=x+8|0,g=Y,x|0;if(A[7099]|0?e=A[7101]|0:(A[7101]=4096,A[7100]=4096,A[7102]=-1,A[7103]=-1,A[7104]=0,A[7092]=0,A[7099]=k&-16^1431655768,e=4096),u=w+48|0,f=w+47|0,a=e+f|0,o=0-e|0,c=a&o,c>>>0<=w>>>0||(e=A[7091]|0,e|0&&(d=A[7089]|0,k=d+c|0,k>>>0<=d>>>0|k>>>0>e>>>0)))return x=0,g=Y,x|0;A:do if(A[7092]&4)t=0,C=143;else{n=A[6987]|0;t:do if(n){for(r=28372;k=A[r>>2]|0,!(k>>>0<=n>>>0&&(k+(A[r+4>>2]|0)|0)>>>0>n>>>0);)if(e=A[r+8>>2]|0,e)r=e;else{C=128;break t}if(t=a-l&o,t>>>0<2147483647)if(e=Ve(t|0)|0,(e|0)==((A[r>>2]|0)+(A[r+4>>2]|0)|0)){if((e|0)!=-1){l=t,a=e,C=145;break A}}else r=e,C=136;else t=0}else C=128;while(!1);do if((C|0)==128)if(n=Ve(0)|0,(n|0)!=-1&&(t=n,B=A[7100]|0,P=B+-1|0,t=((P&t|0)==0?0:(P+t&0-B)-t|0)+c|0,B=A[7089]|0,P=t+B|0,t>>>0>w>>>0&t>>>0<2147483647)){if(k=A[7091]|0,k|0&&P>>>0<=B>>>0|P>>>0>k>>>0){t=0;break}if(e=Ve(t|0)|0,(e|0)==(n|0)){l=t,a=n,C=145;break A}else r=e,C=136}else t=0;while(!1);do if((C|0)==136){if(n=0-t|0,!(u>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=-1)))if((r|0)==-1){t=0;break}else{l=t,a=r,C=145;break A}if(e=A[7101]|0,e=f-t+e&0-e,e>>>0>=2147483647){l=t,a=r,C=145;break A}if((Ve(e|0)|0)==-1){Ve(n|0)|0,t=0;break}else{l=e+t|0,a=r,C=145;break A}}while(!1);A[7092]=A[7092]|4,C=143}while(!1);if((C|0)==143&&c>>>0<2147483647&&(D=Ve(c|0)|0,P=Ve(0)|0,T=P-D|0,z=T>>>0>(w+40|0)>>>0,!((D|0)==-1|z^1|D>>>0<P>>>0&((D|0)!=-1&(P|0)!=-1)^1))&&(l=z?T:t,a=D,C=145),(C|0)==145){t=(A[7089]|0)+l|0,A[7089]=t,t>>>0>(A[7090]|0)>>>0&&(A[7090]=t),f=A[6987]|0;A:do if(f){for(t=28372;;){if(e=A[t>>2]|0,n=A[t+4>>2]|0,(a|0)==(e+n|0)){C=154;break}if(r=A[t+8>>2]|0,r)t=r;else break}if((C|0)==154&&(M=t+4|0,(A[t+12>>2]&8|0)==0)&&a>>>0>f>>>0&e>>>0<=f>>>0){A[M>>2]=n+l,x=(A[6984]|0)+l|0,D=f+8|0,D=(D&7|0)==0?0:0-D&7,M=f+D|0,D=x-D|0,A[6987]=M,A[6984]=D,A[M+4>>2]=D|1,A[f+x+4>>2]=40,A[6988]=A[7103];break}for(a>>>0<(A[6985]|0)>>>0&&(A[6985]=a),n=a+l|0,t=28372;;){if((A[t>>2]|0)==(n|0)){C=162;break}if(e=A[t+8>>2]|0,e)t=e;else break}if((C|0)==162&&(A[t+12>>2]&8|0)==0){A[t>>2]=a,d=t+4|0,A[d>>2]=(A[d>>2]|0)+l,d=a+8|0,d=a+((d&7|0)==0?0:0-d&7)|0,t=n+8|0,t=n+((t&7|0)==0?0:0-t&7)|0,c=d+w|0,u=t-d-w|0,A[d+4>>2]=w|3;t:do if((f|0)==(t|0))x=(A[6984]|0)+u|0,A[6984]=x,A[6987]=c,A[c+4>>2]=x|1;else{if((A[6986]|0)==(t|0)){x=(A[6983]|0)+u|0,A[6983]=x,A[6986]=c,A[c+4>>2]=x|1,A[c+x>>2]=x;break}if(e=A[t+4>>2]|0,(e&3|0)==1){l=e&-8,r=e>>>3;e:do if(e>>>0<256)if(e=A[t+8>>2]|0,n=A[t+12>>2]|0,(n|0)==(e|0)){A[6981]=A[6981]&~(1<<r);break}else{A[e+12>>2]=n,A[n+8>>2]=e;break}else{a=A[t+24>>2]|0,e=A[t+12>>2]|0;do if((e|0)==(t|0)){if(n=t+16|0,r=n+4|0,e=A[r>>2]|0,e)n=r;else if(e=A[n>>2]|0,!e){e=0;break}for(;;)if(o=e+20|0,r=A[o>>2]|0,r)e=r,n=o;else if(o=e+16|0,r=A[o>>2]|0,r)e=r,n=o;else break;A[n>>2]=0}else x=A[t+8>>2]|0,A[x+12>>2]=e,A[e+8>>2]=x;while(!1);if(!a)break;n=A[t+28>>2]|0,r=28228+(n<<2)|0;do if((A[r>>2]|0)!=(t|0)){if(x=a+16|0,A[((A[x>>2]|0)==(t|0)?x:a+20|0)>>2]=e,!e)break e}else{if(A[r>>2]=e,e|0)break;A[6982]=A[6982]&~(1<<n);break e}while(!1);if(A[e+24>>2]=a,n=t+16|0,r=A[n>>2]|0,r|0&&(A[e+16>>2]=r,A[r+24>>2]=e),n=A[n+4>>2]|0,!n)break;A[e+20>>2]=n,A[n+24>>2]=e}while(!1);t=t+l|0,o=l+u|0}else o=u;if(t=t+4|0,A[t>>2]=A[t>>2]&-2,A[c+4>>2]=o|1,A[c+o>>2]=o,t=o>>>3,o>>>0<256){n=27964+(t<<1<<2)|0,e=A[6981]|0,t=1<<t,e&t?(e=n+8|0,t=A[e>>2]|0):(A[6981]=e|t,t=n,e=n+8|0),A[e>>2]=c,A[t+12>>2]=c,A[c+8>>2]=t,A[c+12>>2]=n;break}t=o>>>8;do if(!t)r=0;else{if(o>>>0>16777215){r=31;break}M=(t+1048320|0)>>>16&8,x=t<<M,D=(x+520192|0)>>>16&4,x=x<<D,r=(x+245760|0)>>>16&2,r=14-(D|M|r)+(x<<r>>>15)|0,r=o>>>(r+7|0)&1|r<<1}while(!1);if(t=28228+(r<<2)|0,A[c+28>>2]=r,e=c+16|0,A[e+4>>2]=0,A[e>>2]=0,e=A[6982]|0,n=1<<r,!(e&n)){A[6982]=e|n,A[t>>2]=c,A[c+24>>2]=t,A[c+12>>2]=c,A[c+8>>2]=c;break}t=A[t>>2]|0;e:do if((A[t+4>>2]&-8|0)!=(o|0)){for(r=o<<((r|0)==31?0:25-(r>>>1)|0);n=t+16+(r>>>31<<2)|0,e=A[n>>2]|0,!!e;)if((A[e+4>>2]&-8|0)==(o|0)){t=e;break e}else r=r<<1,t=e;A[n>>2]=c,A[c+24>>2]=t,A[c+12>>2]=c,A[c+8>>2]=c;break t}while(!1);M=t+8|0,x=A[M>>2]|0,A[x+12>>2]=c,A[M>>2]=c,A[c+8>>2]=x,A[c+12>>2]=t,A[c+24>>2]=0}while(!1);return x=d+8|0,g=Y,x|0}for(t=28372;e=A[t>>2]|0,!(e>>>0<=f>>>0&&(x=e+(A[t+4>>2]|0)|0,x>>>0>f>>>0));)t=A[t+8>>2]|0;o=x+-47|0,e=o+8|0,e=o+((e&7|0)==0?0:0-e&7)|0,o=f+16|0,e=e>>>0<o>>>0?f:e,t=e+8|0,n=l+-40|0,D=a+8|0,D=(D&7|0)==0?0:0-D&7,M=a+D|0,D=n-D|0,A[6987]=M,A[6984]=D,A[M+4>>2]=D|1,A[a+n+4>>2]=40,A[6988]=A[7103],n=e+4|0,A[n>>2]=27,A[t>>2]=A[7093],A[t+4>>2]=A[7094],A[t+8>>2]=A[7095],A[t+12>>2]=A[7096],A[7093]=a,A[7094]=l,A[7096]=0,A[7095]=t,t=e+24|0;do M=t,t=t+4|0,A[t>>2]=7;while((M+8|0)>>>0<x>>>0);if((e|0)!=(f|0)){if(a=e-f|0,A[n>>2]=A[n>>2]&-2,A[f+4>>2]=a|1,A[e>>2]=a,t=a>>>3,a>>>0<256){n=27964+(t<<1<<2)|0,e=A[6981]|0,t=1<<t,e&t?(e=n+8|0,t=A[e>>2]|0):(A[6981]=e|t,t=n,e=n+8|0),A[e>>2]=f,A[t+12>>2]=f,A[f+8>>2]=t,A[f+12>>2]=n;break}if(t=a>>>8,t?a>>>0>16777215?r=31:(M=(t+1048320|0)>>>16&8,x=t<<M,D=(x+520192|0)>>>16&4,x=x<<D,r=(x+245760|0)>>>16&2,r=14-(D|M|r)+(x<<r>>>15)|0,r=a>>>(r+7|0)&1|r<<1):r=0,n=28228+(r<<2)|0,A[f+28>>2]=r,A[f+20>>2]=0,A[o>>2]=0,t=A[6982]|0,e=1<<r,!(t&e)){A[6982]=t|e,A[n>>2]=f,A[f+24>>2]=n,A[f+12>>2]=f,A[f+8>>2]=f;break}t=A[n>>2]|0;t:do if((A[t+4>>2]&-8|0)!=(a|0)){for(r=a<<((r|0)==31?0:25-(r>>>1)|0);n=t+16+(r>>>31<<2)|0,e=A[n>>2]|0,!!e;)if((A[e+4>>2]&-8|0)==(a|0)){t=e;break t}else r=r<<1,t=e;A[n>>2]=f,A[f+24>>2]=t,A[f+12>>2]=f,A[f+8>>2]=f;break A}while(!1);M=t+8|0,x=A[M>>2]|0,A[x+12>>2]=f,A[M>>2]=f,A[f+8>>2]=x,A[f+12>>2]=t,A[f+24>>2]=0}}else x=A[6985]|0,(x|0)==0|a>>>0<x>>>0&&(A[6985]=a),A[7093]=a,A[7094]=l,A[7096]=0,A[6990]=A[7099],A[6989]=-1,A[6994]=27964,A[6993]=27964,A[6996]=27972,A[6995]=27972,A[6998]=27980,A[6997]=27980,A[7e3]=27988,A[6999]=27988,A[7002]=27996,A[7001]=27996,A[7004]=28004,A[7003]=28004,A[7006]=28012,A[7005]=28012,A[7008]=28020,A[7007]=28020,A[7010]=28028,A[7009]=28028,A[7012]=28036,A[7011]=28036,A[7014]=28044,A[7013]=28044,A[7016]=28052,A[7015]=28052,A[7018]=28060,A[7017]=28060,A[7020]=28068,A[7019]=28068,A[7022]=28076,A[7021]=28076,A[7024]=28084,A[7023]=28084,A[7026]=28092,A[7025]=28092,A[7028]=28100,A[7027]=28100,A[7030]=28108,A[7029]=28108,A[7032]=28116,A[7031]=28116,A[7034]=28124,A[7033]=28124,A[7036]=28132,A[7035]=28132,A[7038]=28140,A[7037]=28140,A[7040]=28148,A[7039]=28148,A[7042]=28156,A[7041]=28156,A[7044]=28164,A[7043]=28164,A[7046]=28172,A[7045]=28172,A[7048]=28180,A[7047]=28180,A[7050]=28188,A[7049]=28188,A[7052]=28196,A[7051]=28196,A[7054]=28204,A[7053]=28204,A[7056]=28212,A[7055]=28212,x=l+-40|0,D=a+8|0,D=(D&7|0)==0?0:0-D&7,M=a+D|0,D=x-D|0,A[6987]=M,A[6984]=D,A[M+4>>2]=D|1,A[a+x+4>>2]=40,A[6988]=A[7103];while(!1);if(t=A[6984]|0,t>>>0>w>>>0)return D=t-w|0,A[6984]=D,x=A[6987]|0,M=x+w|0,A[6987]=M,A[M+4>>2]=D|1,A[x+4>>2]=w|3,x=x+8|0,g=Y,x|0}return x=zr()|0,A[x>>2]=12,x=0,g=Y,x|0}function eA(e){e=e|0;var t=0,n=0,r=0,o=0,a=0,l=0,u=0,f=0;if(e){n=e+-8|0,o=A[6985]|0,e=A[e+-4>>2]|0,t=e&-8,f=n+t|0;do if(e&1)u=n,l=n;else{if(r=A[n>>2]|0,!(e&3)||(l=n+(0-r)|0,a=r+t|0,l>>>0<o>>>0))return;if((A[6986]|0)==(l|0)){if(e=f+4|0,t=A[e>>2]|0,(t&3|0)!=3){u=l,t=a;break}A[6983]=a,A[e>>2]=t&-2,A[l+4>>2]=a|1,A[l+a>>2]=a;return}if(n=r>>>3,r>>>0<256)if(e=A[l+8>>2]|0,t=A[l+12>>2]|0,(t|0)==(e|0)){A[6981]=A[6981]&~(1<<n),u=l,t=a;break}else{A[e+12>>2]=t,A[t+8>>2]=e,u=l,t=a;break}o=A[l+24>>2]|0,e=A[l+12>>2]|0;do if((e|0)==(l|0)){if(t=l+16|0,n=t+4|0,e=A[n>>2]|0,e)t=n;else if(e=A[t>>2]|0,!e){e=0;break}for(;;)if(r=e+20|0,n=A[r>>2]|0,n)e=n,t=r;else if(r=e+16|0,n=A[r>>2]|0,n)e=n,t=r;else break;A[t>>2]=0}else u=A[l+8>>2]|0,A[u+12>>2]=e,A[e+8>>2]=u;while(!1);if(o){if(t=A[l+28>>2]|0,n=28228+(t<<2)|0,(A[n>>2]|0)==(l|0)){if(A[n>>2]=e,!e){A[6982]=A[6982]&~(1<<t),u=l,t=a;break}}else if(u=o+16|0,A[((A[u>>2]|0)==(l|0)?u:o+20|0)>>2]=e,!e){u=l,t=a;break}A[e+24>>2]=o,t=l+16|0,n=A[t>>2]|0,n|0&&(A[e+16>>2]=n,A[n+24>>2]=e),t=A[t+4>>2]|0,t?(A[e+20>>2]=t,A[t+24>>2]=e,u=l,t=a):(u=l,t=a)}else u=l,t=a}while(!1);if(!(l>>>0>=f>>>0)&&(e=f+4|0,r=A[e>>2]|0,!!(r&1))){if(r&2)A[e>>2]=r&-2,A[u+4>>2]=t|1,A[l+t>>2]=t,o=t;else{if((A[6987]|0)==(f|0)){if(f=(A[6984]|0)+t|0,A[6984]=f,A[6987]=u,A[u+4>>2]=f|1,(u|0)!=(A[6986]|0))return;A[6986]=0,A[6983]=0;return}if((A[6986]|0)==(f|0)){f=(A[6983]|0)+t|0,A[6983]=f,A[6986]=l,A[u+4>>2]=f|1,A[l+f>>2]=f;return}o=(r&-8)+t|0,n=r>>>3;do if(r>>>0<256)if(t=A[f+8>>2]|0,e=A[f+12>>2]|0,(e|0)==(t|0)){A[6981]=A[6981]&~(1<<n);break}else{A[t+12>>2]=e,A[e+8>>2]=t;break}else{a=A[f+24>>2]|0,e=A[f+12>>2]|0;do if((e|0)==(f|0)){if(t=f+16|0,n=t+4|0,e=A[n>>2]|0,e)t=n;else if(e=A[t>>2]|0,!e){n=0;break}for(;;)if(r=e+20|0,n=A[r>>2]|0,n)e=n,t=r;else if(r=e+16|0,n=A[r>>2]|0,n)e=n,t=r;else break;A[t>>2]=0,n=e}else n=A[f+8>>2]|0,A[n+12>>2]=e,A[e+8>>2]=n,n=e;while(!1);if(a|0){if(e=A[f+28>>2]|0,t=28228+(e<<2)|0,(A[t>>2]|0)==(f|0)){if(A[t>>2]=n,!n){A[6982]=A[6982]&~(1<<e);break}}else if(r=a+16|0,A[((A[r>>2]|0)==(f|0)?r:a+20|0)>>2]=n,!n)break;A[n+24>>2]=a,e=f+16|0,t=A[e>>2]|0,t|0&&(A[n+16>>2]=t,A[t+24>>2]=n),e=A[e+4>>2]|0,e|0&&(A[n+20>>2]=e,A[e+24>>2]=n)}}while(!1);if(A[u+4>>2]=o|1,A[l+o>>2]=o,(u|0)==(A[6986]|0)){A[6983]=o;return}}if(e=o>>>3,o>>>0<256){n=27964+(e<<1<<2)|0,t=A[6981]|0,e=1<<e,t&e?(t=n+8|0,e=A[t>>2]|0):(A[6981]=t|e,e=n,t=n+8|0),A[t>>2]=u,A[e+12>>2]=u,A[u+8>>2]=e,A[u+12>>2]=n;return}e=o>>>8,e?o>>>0>16777215?r=31:(l=(e+1048320|0)>>>16&8,f=e<<l,a=(f+520192|0)>>>16&4,f=f<<a,r=(f+245760|0)>>>16&2,r=14-(a|l|r)+(f<<r>>>15)|0,r=o>>>(r+7|0)&1|r<<1):r=0,e=28228+(r<<2)|0,A[u+28>>2]=r,A[u+20>>2]=0,A[u+16>>2]=0,t=A[6982]|0,n=1<<r;A:do if(!(t&n))A[6982]=t|n,A[e>>2]=u,A[u+24>>2]=e,A[u+12>>2]=u,A[u+8>>2]=u;else{e=A[e>>2]|0;t:do if((A[e+4>>2]&-8|0)!=(o|0)){for(r=o<<((r|0)==31?0:25-(r>>>1)|0);n=e+16+(r>>>31<<2)|0,t=A[n>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(o|0)){e=t;break t}else r=r<<1,e=t;A[n>>2]=u,A[u+24>>2]=e,A[u+12>>2]=u,A[u+8>>2]=u;break A}while(!1);l=e+8|0,f=A[l>>2]|0,A[f+12>>2]=u,A[l>>2]=u,A[u+8>>2]=f,A[u+12>>2]=e,A[u+24>>2]=0}while(!1);if(f=(A[6989]|0)+-1|0,A[6989]=f,!(f|0)){for(e=28380;e=A[e>>2]|0,e;)e=e+8|0;A[6989]=-1}}}}function Kt(e,t){e=e|0,t=t|0;var n=0;return e?(n=ie(t,e)|0,(t|e)>>>0>65535&&(n=((n>>>0)/(e>>>0)|0|0)==(t|0)?n:-1)):n=0,e=Ee(n)|0,!e||!(A[e+-4>>2]&3)||je(e|0,0,n|0)|0,e|0}function tA(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,n=e+n>>>0,fA(t+r+(n>>>0<e>>>0|0)>>>0|0),n|0|0}function wt(e,t,n,r){return e=e|0,t=t|0,n=n|0,r=r|0,r=t-r-(n>>>0>e>>>0|0)>>>0,fA(r|0),e-n>>>0|0|0}function fr(e){return e=e|0,(e?31-(fe(e^e-1)|0)|0:32)|0}function rr(e,t,n,r,o){e=e|0,t=t|0,n=n|0,r=r|0,o=o|0;var a=0,l=0,u=0,f=0,c=0,d=0,w=0,k=0,B=0,P=0;if(d=e,f=t,c=f,l=n,k=r,u=k,!c)return a=(o|0)!=0,u?a?(A[o>>2]=e|0,A[o+4>>2]=t&0,k=0,o=0,fA(k|0),o|0):(k=0,o=0,fA(k|0),o|0):(a&&(A[o>>2]=(d>>>0)%(l>>>0),A[o+4>>2]=0),k=0,o=(d>>>0)/(l>>>0)>>>0,fA(k|0),o|0);a=(u|0)==0;do if(l){if(!a){if(a=(fe(u|0)|0)-(fe(c|0)|0)|0,a>>>0<=31){w=a+1|0,u=31-a|0,t=a-31>>31,l=w,e=d>>>(w>>>0)&t|c<<u,t=c>>>(w>>>0)&t,a=0,u=d<<u;break}return o?(A[o>>2]=e|0,A[o+4>>2]=f|t&0,k=0,o=0,fA(k|0),o|0):(k=0,o=0,fA(k|0),o|0)}if(a=l-1|0,a&l|0){u=(fe(l|0)|0)+33-(fe(c|0)|0)|0,P=64-u|0,w=32-u|0,f=w>>31,B=u-32|0,t=B>>31,l=u,e=w-1>>31&c>>>(B>>>0)|(c<<w|d>>>(u>>>0))&t,t=t&c>>>(u>>>0),a=d<<P&f,u=(c<<P|d>>>(B>>>0))&f|d<<w&u-33>>31;break}return o|0&&(A[o>>2]=a&d,A[o+4>>2]=0),(l|0)==1?(B=f|t&0,P=e|0|0,fA(B|0),P|0):(P=fr(l|0)|0,B=c>>>(P>>>0)|0,P=c<<32-P|d>>>(P>>>0)|0,fA(B|0),P|0)}else{if(a)return o|0&&(A[o>>2]=(c>>>0)%(l>>>0),A[o+4>>2]=0),B=0,P=(c>>>0)/(l>>>0)>>>0,fA(B|0),P|0;if(!d)return o|0&&(A[o>>2]=0,A[o+4>>2]=(c>>>0)%(u>>>0)),B=0,P=(c>>>0)/(u>>>0)>>>0,fA(B|0),P|0;if(a=u-1|0,!(a&u))return o|0&&(A[o>>2]=e|0,A[o+4>>2]=a&c|t&0),B=0,P=c>>>((fr(u|0)|0)>>>0),fA(B|0),P|0;if(a=(fe(u|0)|0)-(fe(c|0)|0)|0,a>>>0<=30){t=a+1|0,u=31-a|0,l=t,e=c<<u|d>>>(t>>>0),t=c>>>(t>>>0),a=0,u=d<<u;break}return o?(A[o>>2]=e|0,A[o+4>>2]=f|t&0,B=0,P=0,fA(B|0),P|0):(B=0,P=0,fA(B|0),P|0)}while(!1);if(!l)c=u,f=0,u=0;else{w=n|0|0,d=k|r&0,c=tA(w|0,d|0,-1,-1)|0,n=y()|0,f=u,u=0;do r=f,f=a>>>31|f<<1,a=u|a<<1,r=e<<1|r>>>31|0,k=e>>>31|t<<1|0,wt(c|0,n|0,r|0,k|0)|0,P=y()|0,B=P>>31|((P|0)<0?-1:0)<<1,u=B&1,e=wt(r|0,k|0,B&w|0,(((P|0)<0?-1:0)>>31|((P|0)<0?-1:0)<<1)&d|0)|0,t=y()|0,l=l-1|0;while((l|0)!=0);c=f,f=0}return l=0,o|0&&(A[o>>2]=e,A[o+4>>2]=t),B=(a|0)>>>31|(c|l)<<1|(l<<1|a>>>31)&0|f,P=(a<<1|0)&-2|u,fA(B|0),P|0}function Ye(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0;return c=t>>31|((t|0)<0?-1:0)<<1,f=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,a=r>>31|((r|0)<0?-1:0)<<1,o=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,u=wt(c^e|0,f^t|0,c|0,f|0)|0,l=y()|0,e=a^c,t=o^f,wt((rr(u,l,wt(a^n|0,o^r|0,a|0,o|0)|0,y()|0,0)|0)^e|0,(y()|0)^t|0,e|0,t|0)|0}function Sr(e,t){e=e|0,t=t|0;var n=0,r=0,o=0,a=0;return a=e&65535,o=t&65535,n=ie(o,a)|0,r=e>>>16,e=(n>>>16)+(ie(o,r)|0)|0,o=t>>>16,t=ie(o,a)|0,fA((e>>>16)+(ie(o,r)|0)+(((e&65535)+t|0)>>>16)|0),e+t<<16|n&65535|0|0}function yt(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0;return o=e,a=n,n=Sr(o,a)|0,e=y()|0,fA((ie(t,a)|0)+(ie(r,o)|0)+e|e&0|0),n|0|0|0}function Ii(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0,l=0,u=0,f=0,c=0;return o=g,g=g+16|0,u=o|0,l=t>>31|((t|0)<0?-1:0)<<1,a=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1,c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,e=wt(l^e|0,a^t|0,l|0,a|0)|0,t=y()|0,rr(e,t,wt(c^n|0,f^r|0,c|0,f|0)|0,y()|0,u)|0,r=wt(A[u>>2]^l|0,A[u+4>>2]^a|0,l|0,a|0)|0,n=y()|0,g=o,fA(n|0),r|0}function zi(e,t,n,r){e=e|0,t=t|0,n=n|0,r=r|0;var o=0,a=0;return a=g,g=g+16|0,o=a|0,rr(e,t,n,r,o)|0,g=a,fA(A[o+4>>2]|0),A[o>>2]|0|0}function _r(e,t,n){return e=e|0,t=t|0,n=n|0,(n|0)<32?(fA(t>>n|0),e>>>n|(t&(1<<n)-1)<<32-n):(fA(((t|0)<0?-1:0)|0),t>>n-32|0)}function F(e,t,n){return e=e|0,t=t|0,n=n|0,(n|0)<32?(fA(t>>>n|0),e>>>n|(t&(1<<n)-1)<<32-n):(fA(0),t>>>n-32|0)}function U(e,t,n){return e=e|0,t=t|0,n=n|0,(n|0)<32?(fA(t<<n|(e&(1<<n)-1<<32-n)>>>32-n|0),e<<n):(fA(e<<n-32|0),0)}function or(e,t,n){return e=e|0,t=t|0,t=fe(t)|0,(t|0)==32&&(t=t+(fe(e)|0)|0),fA(0),t|0}function cr(e,t){return e=+e,t=+t,e!=e?+t:t!=t?+e:+Ln(+e,+t)}function _n(e,t){return e=+e,t=+t,e!=e?+t:t!=t?+e:+Ki(+e,+t)}function cn(e){return e=+e,e>=0?+at(e+.5):+ue(e-.5)}function Si(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0;if((n|0)>=8192)return Xe(e|0,t|0,n|0)|0,e|0;if(a=e|0,o=e+n|0,(e&3)==(t&3)){for(;e&3;){if(!n)return a|0;Z[e>>0]=Z[t>>0]|0,e=e+1|0,t=t+1|0,n=n-1|0}for(n=o&-4|0,r=n-64|0;(e|0)<=(r|0);)A[e>>2]=A[t>>2],A[e+4>>2]=A[t+4>>2],A[e+8>>2]=A[t+8>>2],A[e+12>>2]=A[t+12>>2],A[e+16>>2]=A[t+16>>2],A[e+20>>2]=A[t+20>>2],A[e+24>>2]=A[t+24>>2],A[e+28>>2]=A[t+28>>2],A[e+32>>2]=A[t+32>>2],A[e+36>>2]=A[t+36>>2],A[e+40>>2]=A[t+40>>2],A[e+44>>2]=A[t+44>>2],A[e+48>>2]=A[t+48>>2],A[e+52>>2]=A[t+52>>2],A[e+56>>2]=A[t+56>>2],A[e+60>>2]=A[t+60>>2],e=e+64|0,t=t+64|0;for(;(e|0)<(n|0);)A[e>>2]=A[t>>2],e=e+4|0,t=t+4|0}else for(n=o-4|0;(e|0)<(n|0);)Z[e>>0]=Z[t>>0]|0,Z[e+1>>0]=Z[t+1>>0]|0,Z[e+2>>0]=Z[t+2>>0]|0,Z[e+3>>0]=Z[t+3>>0]|0,e=e+4|0,t=t+4|0;for(;(e|0)<(o|0);)Z[e>>0]=Z[t>>0]|0,e=e+1|0,t=t+1|0;return a|0}function je(e,t,n){e=e|0,t=t|0,n=n|0;var r=0,o=0,a=0,l=0;if(a=e+n|0,t=t&255,(n|0)>=67){for(;e&3;)Z[e>>0]=t,e=e+1|0;for(r=a&-4|0,l=t|t<<8|t<<16|t<<24,o=r-64|0;(e|0)<=(o|0);)A[e>>2]=l,A[e+4>>2]=l,A[e+8>>2]=l,A[e+12>>2]=l,A[e+16>>2]=l,A[e+20>>2]=l,A[e+24>>2]=l,A[e+28>>2]=l,A[e+32>>2]=l,A[e+36>>2]=l,A[e+40>>2]=l,A[e+44>>2]=l,A[e+48>>2]=l,A[e+52>>2]=l,A[e+56>>2]=l,A[e+60>>2]=l,e=e+64|0;for(;(e|0)<(r|0);)A[e>>2]=l,e=e+4|0}for(;(e|0)<(a|0);)Z[e>>0]=t,e=e+1|0;return a-n|0}function dr(e){return e=+e,e>=0?+at(e+.5):+ue(e-.5)}function Ve(e){e=e|0;var t=0,n=0,r=0;return r=G0()|0,n=A[IA>>2]|0,t=n+e|0,(e|0)>0&(t|0)<(n|0)|(t|0)<0?(JA(t|0)|0,Ji(12),-1):(t|0)>(r|0)&&!(DA(t|0)|0)?(Ji(12),-1):(A[IA>>2]=t,n|0)}return{___divdi3:Ye,___muldi3:yt,___remdi3:Ii,___uremdi3:zi,_areNeighborCells:In,_bitshift64Ashr:_r,_bitshift64Lshr:F,_bitshift64Shl:U,_calloc:Kt,_cellAreaKm2:nn,_cellAreaM2:rn,_cellAreaRads2:Ae,_cellToBoundary:$t,_cellToCenterChild:me,_cellToChildPos:xi,_cellToChildren:Pi,_cellToChildrenSize:de,_cellToLatLng:re,_cellToLocalIj:sn,_cellToParent:g0,_cellToVertex:Mt,_cellToVertexes:fn,_cellsToDirectedEdge:zn,_cellsToLinkedMultiPolygon:pi,_childPosToCell:Un,_compactCells:bi,_constructCell:Rn,_destroyLinkedMultiPolygon:k0,_directedEdgeToBoundary:ne,_directedEdgeToCells:K0,_edgeLengthKm:Kn,_edgeLengthM:Di,_edgeLengthRads:li,_emscripten_replace_memory:Se,_free:eA,_getBaseCellNumber:Yt,_getDirectedEdgeDestination:Sn,_getDirectedEdgeOrigin:_0,_getHexagonAreaAvgKm2:Ge,_getHexagonAreaAvgM2:Vn,_getHexagonEdgeLengthAvgKm:He,_getHexagonEdgeLengthAvgM:tn,_getIcosahedronFaces:Ci,_getIndexDigit:Fe,_getNumCells:ai,_getPentagons:y0,_getRes0Cells:i0,_getResolution:Zn,_greatCircleDistanceKm:be,_greatCircleDistanceM:Yn,_greatCircleDistanceRads:Wn,_gridDisk:$e,_gridDiskDistances:St,_gridDistance:qn,_gridPathCells:hn,_gridPathCellsSize:ln,_gridRing:ot,_gridRingUnsafe:we,_i64Add:tA,_i64Subtract:wt,_isPentagon:zA,_isResClassIII:Gn,_isValidCell:qt,_isValidDirectedEdge:c0,_isValidIndex:Fn,_isValidVertex:sr,_latLngToCell:oi,_llvm_ctlz_i64:or,_llvm_maxnum_f64:cr,_llvm_minnum_f64:_n,_llvm_round_f64:cn,_localIjToCell:an,_malloc:Ee,_maxFaceCount:Ei,_maxGridDiskSize:Xi,_maxPolygonToCellsSize:$i,_maxPolygonToCellsSizeExperimental:v,_memcpy:Si,_memset:je,_originToDirectedEdges:ki,_pentagonCount:X0,_polygonToCells:A0,_polygonToCellsExperimental:m,_readInt64AsDoubleFromPointer:un,_res0CellCount:W0,_round:dr,_sbrk:Ve,_sizeOfCellBoundary:Tt,_sizeOfCoordIJ:Ar,_sizeOfGeoLoop:Ue,_sizeOfGeoPolygon:Xn,_sizeOfH3Index:ut,_sizeOfLatLng:Vt,_sizeOfLinkedGeoPolygon:$n,_uncompactCells:Nn,_uncompactCellsSize:v0,_vertexToLatLng:nr,establishStackSpace:it,stackAlloc:Qe,stackRestore:BA,stackSave:qi}})(Je,Bn,UA);b.___divdi3=H.___divdi3,b.___muldi3=H.___muldi3,b.___remdi3=H.___remdi3,b.___uremdi3=H.___uremdi3,b._areNeighborCells=H._areNeighborCells,b._bitshift64Ashr=H._bitshift64Ashr,b._bitshift64Lshr=H._bitshift64Lshr,b._bitshift64Shl=H._bitshift64Shl,b._calloc=H._calloc,b._cellAreaKm2=H._cellAreaKm2,b._cellAreaM2=H._cellAreaM2,b._cellAreaRads2=H._cellAreaRads2,b._cellToBoundary=H._cellToBoundary,b._cellToCenterChild=H._cellToCenterChild,b._cellToChildPos=H._cellToChildPos,b._cellToChildren=H._cellToChildren,b._cellToChildrenSize=H._cellToChildrenSize,b._cellToLatLng=H._cellToLatLng,b._cellToLocalIj=H._cellToLocalIj,b._cellToParent=H._cellToParent,b._cellToVertex=H._cellToVertex,b._cellToVertexes=H._cellToVertexes,b._cellsToDirectedEdge=H._cellsToDirectedEdge,b._cellsToLinkedMultiPolygon=H._cellsToLinkedMultiPolygon,b._childPosToCell=H._childPosToCell,b._compactCells=H._compactCells,b._constructCell=H._constructCell,b._destroyLinkedMultiPolygon=H._destroyLinkedMultiPolygon,b._directedEdgeToBoundary=H._directedEdgeToBoundary,b._directedEdgeToCells=H._directedEdgeToCells,b._edgeLengthKm=H._edgeLengthKm,b._edgeLengthM=H._edgeLengthM,b._edgeLengthRads=H._edgeLengthRads;var O0=b._emscripten_replace_memory=H._emscripten_replace_memory;b._free=H._free,b._getBaseCellNumber=H._getBaseCellNumber,b._getDirectedEdgeDestination=H._getDirectedEdgeDestination,b._getDirectedEdgeOrigin=H._getDirectedEdgeOrigin,b._getHexagonAreaAvgKm2=H._getHexagonAreaAvgKm2,b._getHexagonAreaAvgM2=H._getHexagonAreaAvgM2,b._getHexagonEdgeLengthAvgKm=H._getHexagonEdgeLengthAvgKm,b._getHexagonEdgeLengthAvgM=H._getHexagonEdgeLengthAvgM,b._getIcosahedronFaces=H._getIcosahedronFaces,b._getIndexDigit=H._getIndexDigit,b._getNumCells=H._getNumCells,b._getPentagons=H._getPentagons,b._getRes0Cells=H._getRes0Cells,b._getResolution=H._getResolution,b._greatCircleDistanceKm=H._greatCircleDistanceKm,b._greatCircleDistanceM=H._greatCircleDistanceM,b._greatCircleDistanceRads=H._greatCircleDistanceRads,b._gridDisk=H._gridDisk,b._gridDiskDistances=H._gridDiskDistances,b._gridDistance=H._gridDistance,b._gridPathCells=H._gridPathCells,b._gridPathCellsSize=H._gridPathCellsSize,b._gridRing=H._gridRing,b._gridRingUnsafe=H._gridRingUnsafe,b._i64Add=H._i64Add,b._i64Subtract=H._i64Subtract,b._isPentagon=H._isPentagon,b._isResClassIII=H._isResClassIII,b._isValidCell=H._isValidCell,b._isValidDirectedEdge=H._isValidDirectedEdge,b._isValidIndex=H._isValidIndex,b._isValidVertex=H._isValidVertex,b._latLngToCell=H._latLngToCell,b._llvm_ctlz_i64=H._llvm_ctlz_i64,b._llvm_maxnum_f64=H._llvm_maxnum_f64,b._llvm_minnum_f64=H._llvm_minnum_f64,b._llvm_round_f64=H._llvm_round_f64,b._localIjToCell=H._localIjToCell,b._malloc=H._malloc,b._maxFaceCount=H._maxFaceCount,b._maxGridDiskSize=H._maxGridDiskSize,b._maxPolygonToCellsSize=H._maxPolygonToCellsSize,b._maxPolygonToCellsSizeExperimental=H._maxPolygonToCellsSizeExperimental,b._memcpy=H._memcpy,b._memset=H._memset,b._originToDirectedEdges=H._originToDirectedEdges,b._pentagonCount=H._pentagonCount,b._polygonToCells=H._polygonToCells,b._polygonToCellsExperimental=H._polygonToCellsExperimental,b._readInt64AsDoubleFromPointer=H._readInt64AsDoubleFromPointer,b._res0CellCount=H._res0CellCount,b._round=H._round,b._sbrk=H._sbrk,b._sizeOfCellBoundary=H._sizeOfCellBoundary,b._sizeOfCoordIJ=H._sizeOfCoordIJ,b._sizeOfGeoLoop=H._sizeOfGeoLoop,b._sizeOfGeoPolygon=H._sizeOfGeoPolygon,b._sizeOfH3Index=H._sizeOfH3Index,b._sizeOfLatLng=H._sizeOfLatLng,b._sizeOfLinkedGeoPolygon=H._sizeOfLinkedGeoPolygon,b._uncompactCells=H._uncompactCells,b._uncompactCellsSize=H._uncompactCellsSize,b._vertexToLatLng=H._vertexToLatLng,b.establishStackSpace=H.establishStackSpace;var ji=b.stackAlloc=H.stackAlloc,Z0=b.stackRestore=H.stackRestore,Pn=b.stackSave=H.stackSave;if(b.asm=H,b.cwrap=HA,b.setValue=ae,b.getValue=Et,Jt){Ni(Jt)||(Jt=At(Jt));{wn();var Vi=function(Q){Q.byteLength&&(Q=new Uint8Array(Q)),It.set(Q,VA),b.memoryInitializerRequest&&delete b.memoryInitializerRequest.response,M0()},R0=function(){wA(Jt,Vi,function(){throw"could not load memory initializer "+Jt})},F0=Yi(Jt);if(F0)Vi(F0.buffer);else if(b.memoryInitializerRequest){var N0=function(){var Q=b.memoryInitializerRequest,R=Q.response;if(Q.status!==200&&Q.status!==0){var j=Yi(b.memoryInitializerRequestURL);if(j)R=j.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Q.status+", retrying "+Jt),R0();return}}Vi(R)};b.memoryInitializerRequest.response?setTimeout(N0,0):b.memoryInitializerRequest.addEventListener("load",N0)}else R0()}}var ci;ve=function Q(){ci||qe(),ci||(ve=Q)};function qe(Q){if(he>0||(le(),he>0))return;function R(){ci||(ci=!0,!LA&&(ge(),C0(),b.onRuntimeInitialized&&b.onRuntimeInitialized(),Zi()))}b.setStatus?(b.setStatus("Running..."),setTimeout(function(){setTimeout(function(){b.setStatus("")},1),R()},1)):R()}b.run=qe;function ze(Q){throw b.onAbort&&b.onAbort(Q),Q+="",jA(Q),bA(Q),LA=!0,"abort("+Q+"). Build with -s ASSERTIONS=1 for more info."}if(b.abort=ze,b.preInit)for(typeof b.preInit=="function"&&(b.preInit=[b.preInit]);b.preInit.length>0;)b.preInit.pop()();return qe(),N})(typeof mt=="object"?mt:{}),oA="number",nA=oA,Qi=oA,aA=oA,lA=oA,kt=oA,K=oA,qr=[["sizeOfH3Index",oA],["sizeOfLatLng",oA],["sizeOfCellBoundary",oA],["sizeOfGeoLoop",oA],["sizeOfGeoPolygon",oA],["sizeOfLinkedGeoPolygon",oA],["sizeOfCoordIJ",oA],["readInt64AsDoubleFromPointer",oA],["isValidCell",Qi,[aA,lA]],["isValidIndex",Qi,[aA,lA]],["latLngToCell",nA,[oA,oA,kt,K]],["cellToLatLng",nA,[aA,lA,K]],["cellToBoundary",nA,[aA,lA,K]],["maxGridDiskSize",nA,[oA,K]],["gridDisk",nA,[aA,lA,oA,K]],["gridDiskDistances",nA,[aA,lA,oA,K,K]],["gridRing",nA,[aA,lA,oA,K]],["gridRingUnsafe",nA,[aA,lA,oA,K]],["maxPolygonToCellsSize",nA,[K,kt,oA,K]],["polygonToCells",nA,[K,kt,oA,K]],["maxPolygonToCellsSizeExperimental",nA,[K,kt,oA,K]],["polygonToCellsExperimental",nA,[K,kt,oA,oA,oA,K]],["cellsToLinkedMultiPolygon",nA,[K,oA,K]],["destroyLinkedMultiPolygon",null,[K]],["compactCells",nA,[K,K,oA,oA]],["uncompactCells",nA,[K,oA,oA,K,oA,kt]],["uncompactCellsSize",nA,[K,oA,oA,kt,K]],["isPentagon",Qi,[aA,lA]],["isResClassIII",Qi,[aA,lA]],["getBaseCellNumber",oA,[aA,lA]],["getResolution",oA,[aA,lA]],["getIndexDigit",oA,[aA,lA,oA]],["constructCell",nA,[oA,oA,K,K]],["maxFaceCount",nA,[aA,lA,K]],["getIcosahedronFaces",nA,[aA,lA,K]],["cellToParent",nA,[aA,lA,kt,K]],["cellToChildren",nA,[aA,lA,kt,K]],["cellToCenterChild",nA,[aA,lA,kt,K]],["cellToChildrenSize",nA,[aA,lA,kt,K]],["cellToChildPos",nA,[aA,lA,kt,K]],["childPosToCell",nA,[oA,oA,aA,lA,kt,K]],["areNeighborCells",nA,[aA,lA,aA,lA,K]],["cellsToDirectedEdge",nA,[aA,lA,aA,lA,K]],["getDirectedEdgeOrigin",nA,[aA,lA,K]],["getDirectedEdgeDestination",nA,[aA,lA,K]],["isValidDirectedEdge",Qi,[aA,lA]],["directedEdgeToCells",nA,[aA,lA,K]],["originToDirectedEdges",nA,[aA,lA,K]],["directedEdgeToBoundary",nA,[aA,lA,K]],["gridDistance",nA,[aA,lA,aA,lA,K]],["gridPathCells",nA,[aA,lA,aA,lA,K]],["gridPathCellsSize",nA,[aA,lA,aA,lA,K]],["cellToLocalIj",nA,[aA,lA,aA,lA,oA,K]],["localIjToCell",nA,[aA,lA,K,oA,K]],["getHexagonAreaAvgM2",nA,[kt,K]],["getHexagonAreaAvgKm2",nA,[kt,K]],["getHexagonEdgeLengthAvgM",nA,[kt,K]],["getHexagonEdgeLengthAvgKm",nA,[kt,K]],["greatCircleDistanceM",oA,[K,K]],["greatCircleDistanceKm",oA,[K,K]],["greatCircleDistanceRads",oA,[K,K]],["cellAreaM2",nA,[aA,lA,K]],["cellAreaKm2",nA,[aA,lA,K]],["cellAreaRads2",nA,[aA,lA,K]],["edgeLengthM",nA,[aA,lA,K]],["edgeLengthKm",nA,[aA,lA,K]],["edgeLengthRads",nA,[aA,lA,K]],["getNumCells",nA,[kt,K]],["getRes0Cells",nA,[K]],["res0CellCount",oA],["getPentagons",nA,[oA,K]],["pentagonCount",oA],["cellToVertex",nA,[aA,lA,oA,K]],["cellToVertexes",nA,[aA,lA,K]],["vertexToLatLng",nA,[aA,lA,K]],["isValidVertex",Qi,[aA,lA]]],Xr=0,$r=1,Ao=2,to=3,eo=4,io=5,no=6,ro=7,oo=8,so=9,ao=10,lo=11,ho=12,uo=13,fo=14,_o=15,co=16,mo=17,po=18,go=19,lt={};lt[Xr]="Success";lt[$r]="The operation failed but a more specific error is not available";lt[Ao]="Argument was outside of acceptable range";lt[to]="Latitude or longitude arguments were outside of acceptable range";lt[eo]="Resolution argument was outside of acceptable range";lt[io]="Cell argument was not valid";lt[no]="Directed edge argument was not valid";lt[ro]="Undirected edge argument was not valid";lt[oo]="Vertex argument was not valid";lt[so]="Pentagon distortion was encountered";lt[ao]="Duplicate input";lt[lo]="Cell arguments were not neighbors";lt[ho]="Cell arguments had incompatible resolutions";lt[uo]="Memory allocation failed";lt[fo]="Bounds of provided memory were insufficient";lt[_o]="Mode or flags argument was not valid";lt[co]="Index argument was not valid";lt[mo]="Base cell number was outside of acceptable range";lt[po]="Child indexing digits invalid";lt[go]="Child indexing digits refer to a deleted subsequence";var vo=1e3,yr=1001,kr=1002,gn={};gn[vo]="Unknown unit";gn[yr]="Array length out of bounds";gn[kr]="Got unexpected null value for H3 index";var wo="Unknown error";function Br(N,b,O){var hA=O&&"value"in O,q=new Error((N[b]||wo)+" (code: "+b+(hA?", value: "+O.value:"")+")");return q.code=b,q}function yo(N,b){var O=arguments.length===2?{value:b}:{};return Br(lt,N,O)}function Pr(N,b){var O=arguments.length===2?{value:b}:{};return Br(gn,N,O)}function dn(N){if(N!==0)throw yo(N)}var te={};qr.forEach(function(b){te[b[0]]=mt.cwrap.apply(mt,b)});var Oi=16,ko=4,mn=8,Bo=8,pn=te.sizeOfH3Index(),Po=te.sizeOfLatLng(),bo=te.sizeOfCellBoundary();te.sizeOfGeoPolygon();te.sizeOfGeoLoop();te.sizeOfLinkedGeoPolygon();te.sizeOfCoordIJ();function Lo(N){if(!N)throw Pr(kr);return N}var Eo=Math.pow(2,32)-1;function Co(N){if(N>Eo)throw Pr(yr,N);return N}var xo=/[^0-9a-fA-F]/;function br(N){if(Array.isArray(N)&&N.length===2&&Number.isInteger(N[0])&&Number.isInteger(N[1]))return N;if(typeof N!="string"||xo.test(N))return[0,0];var b=parseInt(N.substring(0,N.length-8),Oi),O=parseInt(N.substring(N.length-8),Oi);return[O,b]}function gr(N){if(N>=0)return N.toString(Oi);N=N&2147483647;var b=Lr(8,N.toString(Oi)),O=(parseInt(b[0],Oi)+8).toString(Oi);return b=O+b.substring(1),b}function To(N,b){return gr(b)+Lr(8,gr(N))}function Lr(N,b){for(var O=N-b.length,hA="",q=0;q<O;q++)hA+="0";return hA=hA+b,hA}function Er(N,b){b===void 0&&(b=0);var O=mt.getValue(N+pn*b,"i32"),hA=mt.getValue(N+pn*b+ko,"i32");return hA?To(O,hA):null}function Mo(N){return te.readInt64AsDoubleFromPointer(N)}function Do(N,b){for(var O=[],hA=0;hA<b;hA++){var q=Er(N,hA);q!==null&&O.push(q)}return O}function vr(N){return Zo(mt.getValue(N,"double"))}function Io(N){return[vr(N),vr(N+mn)]}function zo(N,b,O){for(var hA=mt.getValue(N,"i32"),q=N+mn,At=[],wA=Io,jA=0;jA<hA*2;jA+=2)At.push(wA(q+mn*jA));return At}function So(N,b,O){var hA=mt._malloc(Po);mt.HEAPF64.set([N,b].map(Oo),hA/mn);var q=mt._malloc(pn);try{return dn(te.latLngToCell(hA,O,q)),Lo(Er(q))}finally{mt._free(q),mt._free(hA)}}function Cr(N,b){var O=mt._malloc(bo),hA=br(N),q=hA[0],At=hA[1];try{return dn(te.cellToBoundary(q,At,O)),zo(O,b,b)}finally{mt._free(O)}}function Qo(N,b){var O=br(N),hA=O[0],q=O[1],At=mt._malloc(Bo);try{dn(te.maxGridDiskSize(b,At));var wA=Co(Mo(At)),jA=mt._calloc(wA,pn);try{return dn(te.gridDisk(hA,q,b,jA)),Do(jA,wA)}finally{mt._free(jA)}}finally{mt._free(At)}}function Oo(N){return N*Math.PI/180}function Zo(N){return N*180/Math.PI}function xr(N,b,O){const hA=So(N[0],N[1],O);return Qo(hA,b).map(q=>Cr(q))}function Tr(N){return N.map(b=>Cr(b))}function Ro(N,b=.0016){if(N.length<2)return;const O=N[N.length-1],hA=N[N.length-2],q=Math.max(Math.cos(O[0]*Math.PI/180),1e-6),At=X=>[X[1]*q,X[0]],wA=X=>[X[1],X[0]/q],jA=At(O),bA=At(hA);let Nt=jA[0]-bA[0],Lt=jA[1]-bA[1];const NA=Math.hypot(Nt,Lt)||1;Nt/=NA,Lt/=NA;const VA=-Lt,ae=Nt,Et=b,LA=b*.6,SA=jA[0]-Nt*Et,pt=jA[1]-Lt*Et;return[O,wA([SA+VA*LA,pt+ae*LA]),wA([SA-VA*LA,pt-ae*LA])]}function Fo(N){let b=1/0,O=1/0,hA=-1/0,q=-1/0;for(const At of N)for(const[wA,jA]of At)wA<b&&(b=wA),wA>hA&&(hA=wA),jA<O&&(O=jA),jA>q&&(q=jA);if(Number.isFinite(b))return[[b,O],[hA,q]]}Yr.add(jr);function No(N){const b=Ur({prefix:"fas",iconName:N});return b?Wr(b).html.join(""):""}function Go(N){const b=N.shape;return b.type==="hexDisk"?xr([b.value.center.lat,b.value.center.lng],Number(b.value.k),Number(b.value.resolution)):b.type==="cells"?Tr(b.value):[b.value.map(O=>[O.lat,O.lng])]}function Uo({value:N,containerClassName:b,onAreaClickFn:O,onMarkerClickFn:hA,onZoomFn:q,onSelectFn:At,onZoomChange:wA}){const jA=fi.useRef(null),bA=fi.useRef(null),Nt=fi.useRef(null),[Lt,NA]=fi.useState(()=>Number(N.zoom)),VA=fi.useRef({onAreaClickFn:O,onMarkerClickFn:hA,onZoomFn:q,onSelectFn:At,onZoomChange:wA});VA.current={onAreaClickFn:O,onMarkerClickFn:hA,onZoomFn:q,onSelectFn:At,onZoomChange:wA};const ae=dt(N.lodZoom),Et=ae!==void 0&&Lt>=Number(ae);return fi.useEffect(()=>{const LA=jA.current;if(LA===null)return;const SA=se.map(LA,{center:[N.center.lat,N.center.lng],zoom:Number(N.zoom),minZoom:N.minZoom.type==="some"?Number(N.minZoom.value):void 0,maxZoom:N.maxZoom.type==="some"?Number(N.maxZoom.value):void 0,scrollWheelZoom:dt(N.scrollWheelZoom)??!0,attributionControl:!0});bA.current=SA;const pt=Qr(N.tiles);se.tileLayer(pt.url,{subdomains:pt.subdomains,attribution:pt.attribution,maxZoom:pt.maxZoom,detectRetina:pt.detectRetina}).addTo(SA),(dt(N.attributionPrefix)??!1)!==!0&&SA.attributionControl.setPrefix(!1);const X=dt(N.fitBounds);X!==void 0&&(X.type==="bounds"?SA.fitBounds([[X.value.sw.lat,X.value.sw.lng],[X.value.ne.lat,X.value.ne.lng]]):SA.setView([X.value.center.lat,X.value.center.lng],Number(X.value.zoom))),Nt.current=se.layerGroup().addTo(SA),SA.invalidateSize();const HA=setTimeout(()=>SA.invalidateSize(),250),XA=()=>{var tt,KA,Ct,et;const Dt=SA.getZoom();NA(Dt),(KA=(tt=VA.current).onZoomChange)==null||KA.call(tt,Dt),(et=(Ct=VA.current).onZoomFn)==null||et.call(Ct,BigInt(Math.round(Dt)))};return SA.on("zoomend",XA),()=>{clearTimeout(HA),SA.off("zoomend",XA),SA.remove(),bA.current=null,Nt.current=null}},[]),fi.useEffect(()=>{const LA=bA.current,SA=Nt.current;if(LA===null||SA===null)return;SA.clearLayers();const pt=dt(N.hexes);if(pt!==void 0){const X=dt(pt.lattice);if(X!==void 0){const XA=xr([X.center.lat,X.center.lng],Number(X.k),Number(X.resolution));for(const tt of XA)se.polygon(tt,{className:"elara-map-hex",interactive:!1}).addTo(SA)}const HA=dt(pt.interactive)??!1;for(const XA of pt.cells){const tt=Tr([XA.id])[0];if(tt===void 0)continue;const KA=dt(XA.status),Ct=dt(XA.detail),et=se.polygon(tt,{className:Or(KA==null?void 0:KA.type),weight:.6,fillOpacity:XA.fillOpacity.type==="some"?XA.fillOpacity.value:.12,interactive:HA}).addTo(SA);Et&&Ct!==void 0&&et.bindTooltip(Ct,{permanent:!0,direction:"center",className:"elara-map-tip",opacity:1})}}for(const X of N.areas){const HA=Go(X),XA=Zr(X),tt=dt(X.label),KA=dt(X.detailLabel),Ct=Et?KA??tt:tt,et=dt(X.flyTo),Dt=dt(X.color),pe=VA.current.onAreaClickFn!==void 0||VA.current.onSelectFn!==void 0,UA=dt(X.interactive)??(pe||et!==void 0),GA=HA.map(It=>se.polygon(It,{className:XA,weight:X.weight.type==="some"?X.weight.value:1.5,fillOpacity:X.fillOpacity.type==="some"?X.fillOpacity.value:.14,interactive:UA,...Dt!==void 0?{color:Dt,fillColor:Dt}:{}}).addTo(SA));if(UA){const It=()=>{var st,xt,ht,ee;if((xt=(st=VA.current).onAreaClickFn)==null||xt.call(st,X.key),(ee=(ht=VA.current).onSelectFn)==null||ee.call(ht,X.key),et!==void 0)et.type==="point"?LA.flyTo([et.value.center.lat,et.value.center.lng],Number(et.value.zoom),{duration:1.1}):LA.flyToBounds([[et.value.sw.lat,et.value.sw.lng],[et.value.ne.lat,et.value.ne.lng]],{duration:1.1});else if(pe){const uA=Fo(HA);uA!==void 0&&LA.flyToBounds(uA,{duration:1.1})}};for(const st of GA)st.on("click",It)}Ct!==void 0&&GA[0]!==void 0&&GA[0].bindTooltip(Ct,{permanent:!0,direction:"top",className:"elara-map-tip",opacity:1})}for(const X of N.lines){const HA=X.style.type==="dashed",XA=X.style.value.weight.type==="some"?X.style.value.weight.value:HA?2:2.5,tt=X.points.map(KA=>[KA.lat,KA.lng]);if(se.polyline(tt,{className:Rr(X),weight:XA,dashArray:HA?"6 8":void 0,interactive:!1}).addTo(SA),dt(X.arrow)??!1){const KA=Ro(tt);KA!==void 0&&se.polygon(KA,{className:Fr(X),weight:1,interactive:!1}).addTo(SA)}}for(const X of N.labels)se.marker([X.at.lat,X.at.lng],{interactive:!1,icon:se.divIcon({className:"elara-map-label",html:wr(X.text)})}).addTo(SA);for(const X of N.markers){const HA=dt(X.minZoom);if(HA!==void 0&&Lt<Number(HA))continue;const XA=dt(X.label),tt=dt(X.interactive)??!0,KA=Nr(X),Ct=dt(X.icon),et=Ct!==void 0?No(Ct):"",Dt=et!==""?`<span class="elara-map-pin-icon elara-map-pin-icon${KA}">${et}</span>`:`<span class="elara-map-pin-dot elara-map-pin-dot${KA}"></span>`,pe=XA!==void 0?`<span class="elara-map-pin-label">${wr(XA)}</span>`:"",UA=se.marker([X.at.lat,X.at.lng],{interactive:tt,icon:se.divIcon({className:"elara-map-pin",html:`${Dt}${pe}`})}).addTo(SA);tt&&UA.on("click",()=>{var GA,It,st,xt;(It=(GA=VA.current).onMarkerClickFn)==null||It.call(GA,X.key),(xt=(st=VA.current).onSelectFn)==null||xt.call(st,X.key)})}},[N,Et,Lt]),Gr.jsx("div",{ref:jA,className:b,style:{height:"100%",width:"100%"}})}function wr(N){return N.replace(/[&<>"']/g,b=>b==="&"?"&":b==="<"?"<":b===">"?">":b==='"'?""":"'")}export{Uo as default};
|