i.x?n.x:i.x,h=n.y>i.y?n.y:i.y,f=((o>l?o:l)+(ac?s:c)+(u0&&s>0||o<0&&s<0)return t.NO_INTERSECTION;var a=at.orientationIndex(i,r,e),u=at.orientationIndex(i,r,n);return a>0&&u>0||a<0&&u<0?t.NO_INTERSECTION:0===o&&0===s&&0===a&&0===u?this.computeCollinearIntersection(e,n,i,r):(0===o||0===s||0===a||0===u?(this._isProper=!1,e.equals2D(i)||e.equals2D(r)?this._intPt[0]=e:n.equals2D(i)||n.equals2D(r)?this._intPt[0]=n:0===o?this._intPt[0]=new C(i):0===s?this._intPt[0]=new C(r):0===a?this._intPt[0]=new C(e):0===u&&(this._intPt[0]=new C(n))):(this._isProper=!0,this._intPt[0]=this.intersection(e,n,i,r)),t.POINT_INTERSECTION)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.nearestEndpoint=function(t,e,n,i){var r=t,o=at.distancePointLine(t,n,i),s=at.distancePointLine(e,n,i);return s0?n>0?-r:r:n>0?r:-r;if(0===e||0===n)return i>0?t>0?r:-r:t>0?-r:r;if(e>0?i>0?e<=i||(r=-r,o=t,t=n,n=o,o=e,e=i,i=o):e<=-i?(r=-r,n=-n,i=-i):(o=t,t=-n,n=o,o=e,e=-i,i=o):i>0?-e<=i?(r=-r,t=-t,e=-e):(o=-t,t=n,n=o,o=-e,e=i,i=o):e>=i?(t=-t,e=-e,n=-n,i=-i):(r=-r,o=-t,t=-n,n=o,o=-e,e=-i,i=o),t>0){if(!(n>0))return r;if(!(t<=n))return r}else{if(n>0)return-r;if(!(t>=n))return-r;r=-r,t=-t,n=-n}for(;;){if((i-=(s=Math.floor(n/t))*e)<0)return-r;if(i>e)return r;if(t>(n-=s*t)+n){if(ei+i)return-r;n=t-n,i=e-i,r=-r}if(0===i)return 0===n?0:-r;if(0===n)return r;if((e-=(s=Math.floor(t/n))*i)<0)return r;if(e>i)return-r;if(n>(t-=s*n)+t){if(ie+e)return r;t=n-t,e=i-e,r=-r}if(0===e)return 0===t?0:r;if(0===t)return-r}};var st=function(){this._p=null,this._crossingCount=0,this._isPointOnSegment=!1;var t=arguments[0];this._p=t};st.prototype.countSegment=function(t,e){if(t.xi&&(n=e.x,i=t.x),this._p.x>=n&&this._p.x<=i&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var r=t.x-this._p.x,o=t.y-this._p.y,s=e.x-this._p.x,a=e.y-this._p.y,u=ot.signOfDet2x2(r,o,s,a);if(0===u)return this._isPointOnSegment=!0,null;a0&&this._crossingCount++}},st.prototype.isPointInPolygon=function(){return this.getLocation()!==L.EXTERIOR},st.prototype.getLocation=function(){return this._isPointOnSegment?L.BOUNDARY:this._crossingCount%2==1?L.INTERIOR:L.EXTERIOR},st.prototype.isOnSegment=function(){return this._isPointOnSegment},st.prototype.interfaces_=function(){return[]},st.prototype.getClass=function(){return st},st.locatePointInRing=function(){if(arguments[0]instanceof C&&R(arguments[1],U)){for(var t=arguments[1],e=new st(arguments[0]),n=new C,i=new C,r=1;r1||a<0||a>1)&&(r=!0)}}else r=!0;return r?O.min(at.distancePointLine(t,n,i),at.distancePointLine(e,n,i),at.distancePointLine(n,t,e),at.distancePointLine(i,t,e)):0},at.isPointInRing=function(t,e){return at.locatePointInRing(t,e)!==L.EXTERIOR},at.computeLength=function(t){var e=t.size();if(e<=1)return 0;var n=0,i=new C;t.getCoordinate(0,i);for(var r=i.x,o=i.y,s=1;sn.y&&(n=o,i=r)}var s=i;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==i);var a=i;do{a=(a+1)%e}while(t[a].equals2D(n)&&a!==i);var u=t[s],l=t[a];if(u.equals2D(n)||l.equals2D(n)||u.equals2D(l))return!1;var c=at.computeOrientation(u,n,l);return 0===c?u.x>l.x:c>0},at.locatePointInRing=function(t,e){return st.locatePointInRing(t,e)},at.distancePointLinePerpendicular=function(t,e,n){var i=(n.x-e.x)*(n.x-e.x)+(n.y-e.y)*(n.y-e.y),r=((e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y))/i;return Math.abs(r)*Math.sqrt(i)},at.computeOrientation=function(t,e,n){return at.orientationIndex(t,e,n)},at.distancePointLine=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];if(0===e.length)throw new m("Line array must contain at least one vertex");for(var n=t.distance(e[0]),i=0;i=1)return o.distance(a);var c=((s.y-o.y)*(a.x-s.x)-(s.x-o.x)*(a.y-s.y))/u;return Math.abs(c)*Math.sqrt(u)}},at.isOnLine=function(t,e){for(var n=new rt,i=1;i0},_t.prototype.interfaces_=function(){return[gt]},_t.prototype.getClass=function(){return _t};var mt=function(){};mt.prototype.isInBoundary=function(t){return t>1},mt.prototype.interfaces_=function(){return[gt]},mt.prototype.getClass=function(){return mt};var vt=function(){};vt.prototype.isInBoundary=function(t){return 1===t},vt.prototype.interfaces_=function(){return[gt]},vt.prototype.getClass=function(){return vt};var Et=function(){};Et.prototype.add=function(){},Et.prototype.addAll=function(){},Et.prototype.isEmpty=function(){},Et.prototype.iterator=function(){},Et.prototype.size=function(){},Et.prototype.toArray=function(){},Et.prototype.remove=function(){},(n.prototype=new Error).name="IndexOutOfBoundsException";var xt=function(){};xt.prototype.hasNext=function(){},xt.prototype.next=function(){},xt.prototype.remove=function(){};var It=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(){},e.prototype.set=function(){},e.prototype.isEmpty=function(){},e}(Et);(i.prototype=new Error).name="NoSuchElementException";var Nt=function(t){function e(){t.call(this),this.array_=[],arguments[0]instanceof Et&&this.addAll(arguments[0])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.ensureCapacity=function(){},e.prototype.interfaces_=function(){return[t,Et]},e.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],arguments[1]),!0},e.prototype.clear=function(){this.array_=[]},e.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},e.prototype.set=function(t,e){var n=this.array_[t];return this.array_[t]=e,n},e.prototype.iterator=function(){return new Ct(this)},e.prototype.get=function(t){if(t<0||t>=this.size())throw new n;return this.array_[t]},e.prototype.isEmpty=function(){return 0===this.array_.length},e.prototype.size=function(){return this.array_.length},e.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e=1&&this.get(this.size()-1).equals2D(r))return null;t.prototype.add.call(this,r)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){var o=arguments[0],s=arguments[1];return this.add(o,s),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var a=arguments[0],u=arguments[1];if(arguments[2])for(var l=0;l=0;c--)this.add(a[c],u);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof C){var p=arguments[0],h=arguments[1];if(!arguments[2]){var f=this.size();if(f>0){if(p>0&&this.get(p-1).equals2D(h))return null;if(p_&&(m=-1);for(var v=d;v!==_;v+=m)this.add(g[v],y);return!0}},e.prototype.closeRing=function(){this.size()>0&&this.add(new C(this.get(0)),!1)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},Object.defineProperties(e,n),e}(Nt),bt=function(){},wt={ForwardComparator:{configurable:!0},BidirectionalComparator:{configurable:!0},coordArrayType:{configurable:!0}};wt.ForwardComparator.get=function(){return Lt},wt.BidirectionalComparator.get=function(){return Pt},wt.coordArrayType.get=function(){return new Array(0).fill(null)},bt.prototype.interfaces_=function(){return[]},bt.prototype.getClass=function(){return bt},bt.isRing=function(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])},bt.ptNotInList=function(t,e){for(var n=0;n=t?e:[]},bt.indexOf=function(t,e){for(var n=0;n0)&&(e=t[n]);return e},bt.extract=function(t,e,n){e=O.clamp(e,0,t.length);var i=(n=O.clamp(n,-1,t.length))-e+1;n<0&&(i=0),e>=t.length&&(i=0),ni.length)return 1;if(0===n.length)return 0;var r=bt.compare(n,i);return bt.isEqualReversed(n,i)?0:r},Pt.prototype.OLDcompare=function(t,e){var n=t,i=e;if(n.lengthi.length)return 1;if(0===n.length)return 0;for(var r=bt.increasingDirection(n),o=bt.increasingDirection(i),s=r>0?0:n.length-1,a=o>0?0:n.length-1,u=0;u0))return e.value;e=e.right}}return null},p.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:Dt,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;var n,i,r=this.root_;do{if(n=r,(i=t.compareTo(r.key))<0)r=r.left;else{if(!(i>0)){var o=r.value;return r.value=e,o}r=r.right}}while(null!==r);var s={key:t,left:null,right:null,value:e,parent:n,color:Dt,getValue:function(){return this.value},getKey:function(){return this.key}};return i<0?n.left=s:n.right=s,this.fixAfterInsertion(s),this.size_++,null},p.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!==this.root_&&1===t.parent.color;)if(a(t)===l(a(a(t)))){var e=c(a(a(t)));1===s(e)?(u(a(t),Dt),u(e,Dt),u(a(a(t)),1),t=a(a(t))):(t===c(a(t))&&(t=a(t),this.rotateLeft(t)),u(a(t),Dt),u(a(a(t)),1),this.rotateRight(a(a(t))))}else{var n=l(a(a(t)));1===s(n)?(u(a(t),Dt),u(n,Dt),u(a(a(t)),1),t=a(a(t))):(t===l(a(t))&&(t=a(t),this.rotateRight(t)),u(a(t),Dt),u(a(a(t)),1),this.rotateLeft(a(a(t))))}this.root_.color=Dt},p.prototype.values=function(){var t=new Nt,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=p.successor(e));)t.add(e.value);return t},p.prototype.entrySet=function(){var t=new Tt,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=p.successor(e));)t.add(e);return t},p.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.left===t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},p.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null===t.parent?this.root_=e:t.parent.right===t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},p.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},p.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}for(var n=t.parent,i=t;null!==n&&i===n.right;)i=n,n=n.parent;return n},p.prototype.size=function(){return this.size_};var Mt=function(){};Mt.prototype.interfaces_=function(){return[]},Mt.prototype.getClass=function(){return Mt},h.prototype=new o,(f.prototype=new h).contains=function(t){for(var e=0,n=this.array_.length;e=0;){var s=r.substring(0,o);i.add(s),o=(r=r.substring(o+n)).indexOf(e)}r.length>0&&i.add(r);for(var a=new Array(i.size()).fill(null),u=0;u0)for(var o=r;o0&&i.append(" ");for(var o=0;o0&&i.append(","),i.append(jt.toString(t.getOrdinate(r,o)))}return i.append(")"),i.toString()}},Wt.ensureValidRing=function(t,e){var n=e.size();return 0===n?e:n<=3?Wt.createClosedRing(t,e,4):e.getOrdinate(0,U.X)===e.getOrdinate(n-1,U.X)&&e.getOrdinate(0,U.Y)===e.getOrdinate(n-1,U.Y)?e:Wt.createClosedRing(t,e,n+1)},Wt.createClosedRing=function(t,e,n){var i=t.create(n,e.getDimension()),r=e.size();Wt.copy(e,0,i,0,r);for(var o=r;o0&&Wt.reverse(this._points),null}},e.prototype.getCoordinate=function(){return this.isEmpty()?null:this._points.getCoordinate(0)},e.prototype.getBoundaryDimension=function(){return this.isClosed()?Bt.FALSE:0},e.prototype.isClosed=function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},e.prototype.getEndPoint=function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},e.prototype.getDimension=function(){return 1},e.prototype.getLength=function(){return at.computeLength(this._points)},e.prototype.getNumPoints=function(){return this._points.size()},e.prototype.reverse=function(){var t=this._points.copy();return Wt.reverse(t),this.getFactory().createLineString(t)},e.prototype.compareToSameClass=function(){if(1===arguments.length){for(var t=arguments[0],e=0,n=0;e= 2)");this._points=t},e.prototype.isCoordinate=function(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")},e.prototype.getGeometryType=function(){return"LinearRing"},e.prototype.copy=function(){return new e(this._points.copy(),this._factory)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.MINIMUM_VALID_SIZE.get=function(){return 4},n.serialVersionUID.get=function(){return-0x3b229e262367a600},Object.defineProperties(e,n),e}(Zt),ne=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var n={serialVersionUID:{configurable:!0}};return e.prototype.getSortIndex=function(){return ct.SORTINDEX_MULTIPOLYGON},e.prototype.equalsExact=function(){if(2===arguments.length){var e=arguments[0],n=arguments[1];return!!this.isEquivalentClass(e)&&t.prototype.equalsExact.call(this,e,n)}return t.prototype.equalsExact.apply(this,arguments)},e.prototype.getBoundaryDimension=function(){return 1},e.prototype.getDimension=function(){return 2},e.prototype.reverse=function(){for(var t=this._geometries.length,e=new Array(t).fill(null),n=0;n0?e.createPoint(n[0]):e.createPoint():t},se.prototype.interfaces_=function(){return[ie.GeometryEditorOperation]},se.prototype.getClass=function(){return se};var ae=function(){};ae.prototype.edit=function(t,e){return t instanceof ee?e.createLinearRing(this.edit(t.getCoordinateSequence(),t)):t instanceof Zt?e.createLineString(this.edit(t.getCoordinateSequence(),t)):t instanceof Jt?e.createPoint(this.edit(t.getCoordinateSequence(),t)):t},ae.prototype.interfaces_=function(){return[ie.GeometryEditorOperation]},ae.prototype.getClass=function(){return ae};var ue=function(){if(this._dimension=3,this._coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)this._coordinates=arguments[0],this._dimension=3;else if(Number.isInteger(arguments[0])){var t=arguments[0];this._coordinates=new Array(t).fill(null);for(var e=0;e0){var t=new A(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new ue(t):new ue(t,e)}},ce.prototype.interfaces_=function(){return[w,e]},ce.prototype.getClass=function(){return ce},ce.instance=function(){return ce.instanceObject},pe.serialVersionUID.get=function(){return-0x38e49fa6cf6f2e00},pe.instanceObject.get=function(){return new ce},Object.defineProperties(ce,pe);var he=function(t){function e(){t.call(this),this.map_=new Map}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return this.map_.get(t)||null},e.prototype.put=function(t,e){return this.map_.set(t,e),e},e.prototype.values=function(){for(var t=new Nt,e=this.map_.values(),n=e.next();!n.done;)t.add(n.value),n=e.next();return t},e.prototype.entrySet=function(){var t=new Tt;return this.map_.entries().forEach((function(e){return t.add(e)})),t},e.prototype.size=function(){return this.map_.size()},e}(Rt),fe=function t(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=t.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof ye){var e=arguments[0];this._modelType=e,e===t.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){var n=arguments[0];this._modelType=t.FIXED,this.setScale(n)}else if(arguments[0]instanceof t){var i=arguments[0];this._modelType=i._modelType,this._scale=i._scale}},ge={serialVersionUID:{configurable:!0},maximumPreciseValue:{configurable:!0}};fe.prototype.equals=function(t){if(!(t instanceof fe))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale},fe.prototype.compareTo=function(t){var e=t,n=this.getMaximumSignificantDigits(),i=e.getMaximumSignificantDigits();return new D(n).compareTo(new D(i))},fe.prototype.getScale=function(){return this._scale},fe.prototype.isFloating=function(){return this._modelType===fe.FLOATING||this._modelType===fe.FLOATING_SINGLE},fe.prototype.getType=function(){return this._modelType},fe.prototype.toString=function(){var t="UNKNOWN";return this._modelType===fe.FLOATING?t="Floating":this._modelType===fe.FLOATING_SINGLE?t="Floating-Single":this._modelType===fe.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t},fe.prototype.makePrecise=function(){if("number"==typeof arguments[0]){var t=arguments[0];return v.isNaN(t)||this._modelType===fe.FLOATING_SINGLE?t:this._modelType===fe.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof C){var e=arguments[0];if(this._modelType===fe.FLOATING)return null;e.x=this.makePrecise(e.x),e.y=this.makePrecise(e.y)}},fe.prototype.getMaximumSignificantDigits=function(){var t=16;return this._modelType===fe.FLOATING?t=16:this._modelType===fe.FLOATING_SINGLE?t=6:this._modelType===fe.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t},fe.prototype.setScale=function(t){this._scale=Math.abs(t)},fe.prototype.interfaces_=function(){return[e,x]},fe.prototype.getClass=function(){return fe},fe.mostPrecise=function(t,e){return t.compareTo(e)>=0?t:e},ge.serialVersionUID.get=function(){return 0x6bee6404e9a25c00},ge.maximumPreciseValue.get=function(){return 9007199254740992},Object.defineProperties(fe,ge);var ye=function t(e){this._name=e||null,t.nameToTypeMap.put(e,this)},de={serialVersionUID:{configurable:!0},nameToTypeMap:{configurable:!0}};ye.prototype.readResolve=function(){return ye.nameToTypeMap.get(this._name)},ye.prototype.toString=function(){return this._name},ye.prototype.interfaces_=function(){return[e]},ye.prototype.getClass=function(){return ye},de.serialVersionUID.get=function(){return-552860263173159e4},de.nameToTypeMap.get=function(){return new he},Object.defineProperties(ye,de),fe.Type=ye,fe.FIXED=new ye("FIXED"),fe.FLOATING=new ye("FLOATING"),fe.FLOATING_SINGLE=new ye("FLOATING SINGLE");var _e=function t(){this._precisionModel=new fe,this._SRID=0,this._coordinateSequenceFactory=t.getDefaultCoordinateSequenceFactory(),0===arguments.length||(1===arguments.length?R(arguments[0],w)?this._coordinateSequenceFactory=arguments[0]:arguments[0]instanceof fe&&(this._precisionModel=arguments[0]):2===arguments.length?(this._precisionModel=arguments[0],this._SRID=arguments[1]):3===arguments.length&&(this._precisionModel=arguments[0],this._SRID=arguments[1],this._coordinateSequenceFactory=arguments[2]))},me={serialVersionUID:{configurable:!0}};_e.prototype.toGeometry=function(t){return t.isNull()?this.createPoint(null):t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new C(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new C(t.getMinX(),t.getMinY()),new C(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new C(t.getMinX(),t.getMinY()),new C(t.getMinX(),t.getMaxY()),new C(t.getMaxX(),t.getMaxY()),new C(t.getMaxX(),t.getMinY()),new C(t.getMinX(),t.getMinY())]),null)},_e.prototype.createLineString=function(t){return t?t instanceof Array?new Zt(this.getCoordinateSequenceFactory().create(t),this):R(t,U)?new Zt(t,this):void 0:new Zt(this.getCoordinateSequenceFactory().create([]),this)},_e.prototype.createMultiLineString=function(){return 0===arguments.length?new Vt(null,this):1===arguments.length?new Vt(arguments[0],this):void 0},_e.prototype.buildGeometry=function(t){for(var e=null,n=!1,i=!1,r=t.iterator();r.hasNext();){var o=r.next(),s=o.getClass();null===e&&(e=s),s!==e&&(n=!0),o.isGeometryCollectionOrDerived()&&(i=!0)}if(null===e)return this.createGeometryCollection();if(n||i)return this.createGeometryCollection(_e.toGeometryArray(t));var a=t.iterator().next();if(t.size()>1){if(a instanceof $t)return this.createMultiPolygon(_e.toPolygonArray(t));if(a instanceof Zt)return this.createMultiLineString(_e.toLineStringArray(t));if(a instanceof Jt)return this.createMultiPoint(_e.toPointArray(t));et.shouldNeverReachHere("Unhandled class: "+a.getClass().getName())}return a},_e.prototype.createMultiPointFromCoords=function(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)},_e.prototype.createPoint=function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof C){var t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(R(arguments[0],U))return new Jt(arguments[0],this)}},_e.prototype.getCoordinateSequenceFactory=function(){return this._coordinateSequenceFactory},_e.prototype.createPolygon=function(){if(0===arguments.length)return new $t(null,null,this);if(1===arguments.length){if(R(arguments[0],U)){var t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){var e=arguments[0];return this.createPolygon(this.createLinearRing(e))}if(arguments[0]instanceof ee){var n=arguments[0];return this.createPolygon(n,null)}}else if(2===arguments.length)return new $t(arguments[0],arguments[1],this)},_e.prototype.getSRID=function(){return this._SRID},_e.prototype.createGeometryCollection=function(){return 0===arguments.length?new zt(null,this):1===arguments.length?new zt(arguments[0],this):void 0},_e.prototype.createGeometry=function(t){return new ie(this).edit(t,{edit:function(){if(2===arguments.length){var t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})},_e.prototype.getPrecisionModel=function(){return this._precisionModel},_e.prototype.createLinearRing=function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(R(arguments[0],U))return new ee(arguments[0],this)}},_e.prototype.createMultiPolygon=function(){return 0===arguments.length?new ne(null,this):1===arguments.length?new ne(arguments[0],this):void 0},_e.prototype.createMultiPoint=function(){if(0===arguments.length)return new te(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new te(arguments[0],this);if(arguments[0]instanceof Array){var t=arguments[0];return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(R(arguments[0],U)){var e=arguments[0];if(null===e)return this.createMultiPoint(new Array(0).fill(null));for(var n=new Array(e.size()).fill(null),i=0;i=this.size())throw new Error;return this.array_[t]},d.prototype.push=function(t){return this.array_.push(t),t},d.prototype.pop=function(t){if(0===this.array_.length)throw new y;return this.array_.pop()},d.prototype.peek=function(){if(0===this.array_.length)throw new y;return this.array_[this.array_.length-1]},d.prototype.empty=function(){return 0===this.array_.length},d.prototype.isEmpty=function(){return this.empty()},d.prototype.search=function(t){return this.array_.indexOf(t)},d.prototype.size=function(){return this.array_.length},d.prototype.toArray=function(){for(var t=[],e=0,n=this.array_.length;e0&&this._minIndexthis._minCoord.y&&n.y>this._minCoord.y&&i===at.CLOCKWISE)&&(r=!0),r&&(this._minIndex=this._minIndex-1)},we.prototype.getRightmostSideOfSegment=function(t,e){var n=t.getEdge().getCoordinates();if(e<0||e+1>=n.length)return-1;if(n[e].y===n[e+1].y)return-1;var i=Se.LEFT;return n[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=n,this._minCoord=e[n])},we.prototype.findRightmostEdgeAtNode=function(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)},we.prototype.findEdge=function(t){for(var e=t.iterator();e.hasNext();){var n=e.next();n.isForward()&&this.checkForRightmostCoordinate(n)}et.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===Se.LEFT&&(this._orientedDe=this._minDe.getSym())},we.prototype.interfaces_=function(){return[]},we.prototype.getClass=function(){return we};var Le=function(t){function e(n,i){t.call(this,e.msgWithCoord(n,i)),this.pt=i?new C(i):null,this.name="TopologyException"}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCoordinate=function(){return this.pt},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.msgWithCoord=function(t,e){return e?t:t+" [ "+e+" ]"},e}($),Pe=function(){this.array_=[]};Pe.prototype.addLast=function(t){this.array_.push(t)},Pe.prototype.removeFirst=function(){return this.array_.shift()},Pe.prototype.isEmpty=function(){return 0===this.array_.length};var Re=function(){this._finder=null,this._dirEdgeList=new Nt,this._nodes=new Nt,this._rightMostCoord=null,this._env=null,this._finder=new we};Re.prototype.clearVisitedEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();)t.next().setVisited(!1)},Re.prototype.getRightmostCoordinate=function(){return this._rightMostCoord},Re.prototype.computeNodeDepth=function(t){for(var e=null,n=t.getEdges().iterator();n.hasNext();){var i=n.next();if(i.isVisited()||i.getSym().isVisited()){e=i;break}}if(null===e)throw new Le("unable to find edge to compute depths at "+t.getCoordinate());t.getEdges().computeDepths(e);for(var r=t.getEdges().iterator();r.hasNext();){var o=r.next();o.setVisited(!0),this.copySymDepths(o)}},Re.prototype.computeDepth=function(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.setEdgeDepths(Se.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)},Re.prototype.create=function(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()},Re.prototype.findResultEdges=function(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(Se.RIGHT)>=1&&e.getDepth(Se.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}},Re.prototype.computeDepths=function(t){var e=new Tt,n=new Pe,i=t.getNode();for(n.addLast(i),e.add(i),t.setVisited(!0);!n.isEmpty();){var r=n.removeFirst();e.add(r),this.computeNodeDepth(r);for(var o=r.getEdges().iterator();o.hasNext();){var s=o.next().getSym();if(!s.isVisited()){var a=s.getNode();e.contains(a)||(n.addLast(a),e.add(a))}}}},Re.prototype.compareTo=function(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0},Re.prototype.getEnvelope=function(){if(null===this._env){for(var t=new j,e=this._dirEdgeList.iterator();e.hasNext();)for(var n=e.next().getEdge().getCoordinates(),i=0;ithis.location.length){var e=new Array(3).fill(null);e[Se.ON]=this.location[Se.ON],e[Se.LEFT]=L.NONE,e[Se.RIGHT]=L.NONE,this.location=e}for(var n=0;n1&&t.append(L.toLocationSymbol(this.location[Se.LEFT])),t.append(L.toLocationSymbol(this.location[Se.ON])),this.location.length>1&&t.append(L.toLocationSymbol(this.location[Se.RIGHT])),t.toString()},Oe.prototype.setLocations=function(t,e,n){this.location[Se.ON]=t,this.location[Se.LEFT]=e,this.location[Se.RIGHT]=n},Oe.prototype.get=function(t){return t1},Oe.prototype.isAnyNull=function(){for(var t=0;tthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2},Ae.prototype.addPoints=function(t,e,n){var i=t.getCoordinates();if(e){var r=1;n&&(r=0);for(var o=r;o=0;a--)this._pts.add(i[a])}},Ae.prototype.isHole=function(){return this._isHole},Ae.prototype.setInResult=function(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)},Ae.prototype.containsPoint=function(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!at.isPointInRing(t,e.getCoordinates()))return!1;for(var n=this._holes.iterator();n.hasNext();)if(n.next().containsPoint(t))return!1;return!0},Ae.prototype.addHole=function(t){this._holes.add(t)},Ae.prototype.isShell=function(){return null===this._shell},Ae.prototype.getLabel=function(){return this._label},Ae.prototype.getEdges=function(){return this._edges},Ae.prototype.getMaxNodeDegree=function(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree},Ae.prototype.getShell=function(){return this._shell},Ae.prototype.mergeLabel=function(){if(1===arguments.length){var t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){var e=arguments[1],n=arguments[0].getLocation(e,Se.RIGHT);if(n===L.NONE)return null;if(this._label.getLocation(e)===L.NONE)return this._label.setLocation(e,n),null}},Ae.prototype.setShell=function(t){this._shell=t,null!==t&&t.addHole(this)},Ae.prototype.toPolygon=function(t){for(var e=new Array(this._holes.size()).fill(null),n=0;n=2,"found partial label"),this.computeIM(t)},Fe.prototype.isInResult=function(){return this._isInResult},Fe.prototype.isVisited=function(){return this._isVisited},Fe.prototype.interfaces_=function(){return[]},Fe.prototype.getClass=function(){return Fe};var Ge=function(t){function e(){t.call(this),this._coord=null,this._edges=null;var e=arguments[0],n=arguments[1];this._coord=e,this._edges=n,this._label=new Te(0,L.NONE)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isIncidentEdgeInResult=function(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();)if(t.next().getEdge().isInResult())return!0;return!1},e.prototype.isIsolated=function(){return 1===this._label.getGeometryCount()},e.prototype.getCoordinate=function(){return this._coord},e.prototype.print=function(t){t.println("node "+this._coord+" lbl: "+this._label)},e.prototype.computeIM=function(t){},e.prototype.computeMergedLocation=function(t,e){var n=L.NONE;if(n=this._label.getLocation(e),!t.isNull(e)){var i=t.getLocation(e);n!==L.BOUNDARY&&(n=i)}return n},e.prototype.setLabel=function(){if(2!==arguments.length)return t.prototype.setLabel.apply(this,arguments);var e=arguments[0],n=arguments[1];null===this._label?this._label=new Te(e,n):this._label.setLocation(e,n)},e.prototype.getEdges=function(){return this._edges},e.prototype.mergeLabel=function(){if(arguments[0]instanceof e){var t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof Te)for(var n=arguments[0],i=0;i<2;i++){var r=this.computeMergedLocation(n,i);this._label.getLocation(i)===L.NONE&&this._label.setLocation(i,r)}},e.prototype.add=function(t){this._edges.insert(t),t.setNode(this)},e.prototype.setLabelBoundary=function(t){if(null===this._label)return null;var e=L.NONE;null!==this._label&&(e=this._label.getLocation(t));var n=null;switch(e){case L.BOUNDARY:n=L.INTERIOR;break;case L.INTERIOR:default:n=L.BOUNDARY}this._label.setLocation(t,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Fe),Be=function(){this.nodeMap=new p,this.nodeFact=null;var t=arguments[0];this.nodeFact=t};Be.prototype.find=function(t){return this.nodeMap.get(t)},Be.prototype.addNode=function(){if(arguments[0]instanceof C){var t=arguments[0],e=this.nodeMap.get(t);return null===e&&(e=this.nodeFact.createNode(t),this.nodeMap.put(t,e)),e}if(arguments[0]instanceof Ge){var n=arguments[0],i=this.nodeMap.get(n.getCoordinate());return null===i?(this.nodeMap.put(n.getCoordinate(),n),n):(i.mergeLabel(n),i)}},Be.prototype.print=function(t){for(var e=this.iterator();e.hasNext();)e.next().print(t)},Be.prototype.iterator=function(){return this.nodeMap.values().iterator()},Be.prototype.values=function(){return this.nodeMap.values()},Be.prototype.getBoundaryNodes=function(t){for(var e=new Nt,n=this.iterator();n.hasNext();){var i=n.next();i.getLabel().getLocation(t)===L.BOUNDARY&&e.add(i)}return e},Be.prototype.add=function(t){var e=t.getCoordinate();this.addNode(e).add(t)},Be.prototype.interfaces_=function(){return[]},Be.prototype.getClass=function(){return Be};var qe=function(){},Ue={NE:{configurable:!0},NW:{configurable:!0},SW:{configurable:!0},SE:{configurable:!0}};qe.prototype.interfaces_=function(){return[]},qe.prototype.getClass=function(){return qe},qe.isNorthern=function(t){return t===qe.NE||t===qe.NW},qe.isOpposite=function(t,e){return t!==e&&2===(t-e+4)%4},qe.commonHalfPlane=function(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var n=te?t:e)?3:n},qe.isInHalfPlane=function(t,e){return e===qe.SE?t===qe.SE||t===qe.SW:t===e||t===e+1},qe.quadrant=function(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){var t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new m("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?qe.NE:qe.SE:e>=0?qe.NW:qe.SW}if(arguments[0]instanceof C&&arguments[1]instanceof C){var n=arguments[0],i=arguments[1];if(i.x===n.x&&i.y===n.y)throw new m("Cannot compute the quadrant for two identical points "+n);return i.x>=n.x?i.y>=n.y?qe.NE:qe.SE:i.y>=n.y?qe.NW:qe.SW}},Ue.NE.get=function(){return 0},Ue.NW.get=function(){return 1},Ue.SW.get=function(){return 2},Ue.SE.get=function(){return 3},Object.defineProperties(qe,Ue);var ke=function(){if(this._edge=null,this._label=null,this._node=null,this._p0=null,this._p1=null,this._dx=null,this._dy=null,this._quadrant=null,1===arguments.length){var t=arguments[0];this._edge=t}else if(3===arguments.length){var e=arguments[0],n=arguments[1],i=arguments[2];this._edge=e,this.init(n,i),this._label=null}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this._edge=r,this.init(o,s),this._label=a}};ke.prototype.compareDirection=function(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrant2){o.linkDirectedEdgesForMinimalEdgeRings();var s=o.buildMinimalRings(),a=this.findShell(s);null!==a?(this.placePolygonHoles(a,s),e.add(a)):n.addAll(s)}else i.add(o)}return i},Xe.prototype.containsPoint=function(t){for(var e=this._shellList.iterator();e.hasNext();)if(e.next().containsPoint(t))return!0;return!1},Xe.prototype.buildMaximalEdgeRings=function(t){for(var e=new Nt,n=t.iterator();n.hasNext();){var i=n.next();if(i.isInResult()&&i.getLabel().isArea()&&null===i.getEdgeRing()){var r=new Me(i,this._geometryFactory);e.add(r),r.setInResult()}}return e},Xe.prototype.placePolygonHoles=function(t,e){for(var n=e.iterator();n.hasNext();){var i=n.next();i.isHole()&&i.setShell(t)}},Xe.prototype.getPolygons=function(){return this.computePolygons(this._shellList)},Xe.prototype.findEdgeRingContaining=function(t,e){for(var n=t.getLinearRing(),i=n.getEnvelopeInternal(),r=n.getCoordinateN(0),o=null,s=null,a=e.iterator();a.hasNext();){var u=a.next(),l=u.getLinearRing(),c=l.getEnvelopeInternal();null!==o&&(s=o.getLinearRing().getEnvelopeInternal());var p=!1;c.contains(i)&&at.isPointInRing(r,l.getCoordinates())&&(p=!0),p&&(null===o||s.contains(c))&&(o=u)}return o},Xe.prototype.findShell=function(t){for(var e=0,n=null,i=t.iterator();i.hasNext();){var r=i.next();r.isHole()||(n=r,e++)}return et.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),n},Xe.prototype.add=function(){if(1===arguments.length){var t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){var e=arguments[0],n=arguments[1];Ye.linkResultDirectedEdges(n);var i=this.buildMaximalEdgeRings(e),r=new Nt,o=this.buildMinimalEdgeRings(i,this._shellList,r);this.sortShellsAndHoles(o,this._shellList,r),this.placeFreeHoles(this._shellList,r)}},Xe.prototype.interfaces_=function(){return[]},Xe.prototype.getClass=function(){return Xe};var je=function(){};je.prototype.getBounds=function(){},je.prototype.interfaces_=function(){return[]},je.prototype.getClass=function(){return je};var He=function(){this._bounds=null,this._item=null;var t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};He.prototype.getItem=function(){return this._item},He.prototype.getBounds=function(){return this._bounds},He.prototype.interfaces_=function(){return[je,e]},He.prototype.getClass=function(){return He};var We=function(){this._size=null,this._items=null,this._size=0,this._items=new Nt,this._items.add(null)};We.prototype.poll=function(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t},We.prototype.size=function(){return this._size},We.prototype.reorder=function(t){for(var e=null,n=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(n)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,n)},We.prototype.clear=function(){this._size=0,this._items.clear()},We.prototype.isEmpty=function(){return 0===this._size},We.prototype.add=function(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)},We.prototype.interfaces_=function(){return[]},We.prototype.getClass=function(){return We};var Ze=function(){};Ze.prototype.visitItem=function(t){},Ze.prototype.interfaces_=function(){return[]},Ze.prototype.getClass=function(){return Ze};var Ke=function(){};Ke.prototype.insert=function(t,e){},Ke.prototype.remove=function(t,e){},Ke.prototype.query=function(){},Ke.prototype.interfaces_=function(){return[]},Ke.prototype.getClass=function(){return Ke};var Je=function(){if(this._childBoundables=new Nt,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){var t=arguments[0];this._level=t}},Qe={serialVersionUID:{configurable:!0}};Je.prototype.getLevel=function(){return this._level},Je.prototype.size=function(){return this._childBoundables.size()},Je.prototype.getChildBoundables=function(){return this._childBoundables},Je.prototype.addChildBoundable=function(t){et.isTrue(null===this._bounds),this._childBoundables.add(t)},Je.prototype.isEmpty=function(){return this._childBoundables.isEmpty()},Je.prototype.getBounds=function(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds},Je.prototype.interfaces_=function(){return[je,e]},Je.prototype.getClass=function(){return Je},Qe.serialVersionUID.get=function(){return 0x5a1e55ec41369800},Object.defineProperties(Je,Qe);var $e=function(){};$e.reverseOrder=function(){return{compare:function(t,e){return e.compareTo(t)}}},$e.min=function(t){return $e.sort(t),t.get(0)},$e.sort=function(t,e){var n=t.toArray();e?Gt.sort(n,e):Gt.sort(n);for(var i=t.iterator(),r=0,o=n.length;rtn.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(i)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new m("neither boundable is composite")},tn.prototype.isLeaves=function(){return!(tn.isComposite(this._boundable1)||tn.isComposite(this._boundable2))},tn.prototype.compareTo=function(t){var e=t;return this._distancee._distance?1:0},tn.prototype.expand=function(t,e,n,i){for(var r=t.getChildBoundables().iterator();r.hasNext();){var o=r.next(),s=new tn(o,e,this._itemDistance);s.getDistance()1,"Node capacity must be greater than 1"),this._nodeCapacity=n}},nn={IntersectsOp:{configurable:!0},serialVersionUID:{configurable:!0},DEFAULT_NODE_CAPACITY:{configurable:!0}};en.prototype.getNodeCapacity=function(){return this._nodeCapacity},en.prototype.lastNode=function(t){return t.get(t.size()-1)},en.prototype.size=function(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var n=e.next();n instanceof Je?t+=this.size(n):n instanceof He&&(t+=1)}return t}},en.prototype.removeItem=function(t,e){for(var n=null,i=t.getChildBoundables().iterator();i.hasNext();){var r=i.next();r instanceof He&&r.getItem()===e&&(n=r)}return null!==n&&(t.getChildBoundables().remove(n),!0)},en.prototype.itemsTree=function(){if(0===arguments.length){this.build();var t=this.itemsTree(this._root);return null===t?new Nt:t}if(1===arguments.length){for(var e=arguments[0],n=new Nt,i=e.getChildBoundables().iterator();i.hasNext();){var r=i.next();if(r instanceof Je){var o=this.itemsTree(r);null!==o&&n.add(o)}else r instanceof He?n.add(r.getItem()):et.shouldNeverReachHere()}return n.size()<=0?null:n}},en.prototype.insert=function(t,e){et.isTrue(!this._built,"Cannot insert items into an STR packed R-tree after it has been built."),this._itemBoundables.add(new He(t,e))},en.prototype.boundablesAtLevel=function(){if(1===arguments.length){var t=arguments[0],e=new Nt;return this.boundablesAtLevel(t,this._root,e),e}if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];if(et.isTrue(n>-2),i.getLevel()===n)return r.add(i),null;for(var o=i.getChildBoundables().iterator();o.hasNext();){var s=o.next();s instanceof Je?this.boundablesAtLevel(n,s,r):(et.isTrue(s instanceof He),-1===n&&r.add(s))}return null}},en.prototype.query=function(){if(1===arguments.length){var t=arguments[0];this.build();var e=new Nt;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.query(t,this._root,e),e}if(2===arguments.length){var n=arguments[0],i=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),n)&&this.query(n,this._root,i)}else if(3===arguments.length)if(R(arguments[2],Ze)&&arguments[0]instanceof Object&&arguments[1]instanceof Je)for(var r=arguments[0],o=arguments[2],s=arguments[1].getChildBoundables(),a=0;at&&(t=i)}}return t+1}},en.prototype.createParentBoundables=function(t,e){et.isTrue(!t.isEmpty());var n=new Nt;n.add(this.createNode(e));var i=new Nt(t);$e.sort(i,this.getComparator());for(var r=i.iterator();r.hasNext();){var o=r.next();this.lastNode(n).getChildBoundables().size()===this.getNodeCapacity()&&n.add(this.createNode(e)),this.lastNode(n).addChildBoundable(o)}return n},en.prototype.isEmpty=function(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()},en.prototype.interfaces_=function(){return[e]},en.prototype.getClass=function(){return en},en.compareDoubles=function(t,e){return t>e?1:t0);for(var n=new Nt,i=0;i0;){var p=c.poll(),h=p.getDistance();if(h>=u)break;p.isLeaves()?(u=h,l=p):p.expandToQueue(c,u)}return[l.getBoundable(0).getItem(),l.getBoundable(1).getItem()]}}else if(3===arguments.length){var f=arguments[2],g=new He(arguments[0],arguments[1]),y=new tn(this.getRoot(),g,f);return this.nearestNeighbour(y)[0]}},n.prototype.interfaces_=function(){return[Ke,e]},n.prototype.getClass=function(){return n},n.centreX=function(t){return n.avg(t.getMinX(),t.getMaxX())},n.avg=function(t,e){return(t+e)/2},n.centreY=function(t){return n.avg(t.getMinY(),t.getMaxY())},i.STRtreeNode.get=function(){return an},i.serialVersionUID.get=function(){return 0x39920f7d5f261e0},i.xComparator.get=function(){return{interfaces_:function(){return[N]},compare:function(e,i){return t.compareDoubles(n.centreX(e.getBounds()),n.centreX(i.getBounds()))}}},i.yComparator.get=function(){return{interfaces_:function(){return[N]},compare:function(e,i){return t.compareDoubles(n.centreY(e.getBounds()),n.centreY(i.getBounds()))}}},i.intersectsOp.get=function(){return{interfaces_:function(){return[t.IntersectsOp]},intersects:function(t,e){return t.intersects(e)}}},i.DEFAULT_NODE_CAPACITY.get=function(){return 10},Object.defineProperties(n,i),n}(en),an=function(t){function e(){var e=arguments[0];t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.computeBounds=function(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var n=e.next();null===t?t=new j(n.getBounds()):t.expandToInclude(n.getBounds())}return t},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Je),un=function(){};un.prototype.interfaces_=function(){return[]},un.prototype.getClass=function(){return un},un.relativeSign=function(t,e){return te?1:0},un.compare=function(t,e,n){if(e.equals2D(n))return 0;var i=un.relativeSign(e.x,n.x),r=un.relativeSign(e.y,n.y);switch(t){case 0:return un.compareValue(i,r);case 1:return un.compareValue(r,i);case 2:return un.compareValue(r,-i);case 3:return un.compareValue(-i,r);case 4:return un.compareValue(-i,-r);case 5:return un.compareValue(-r,-i);case 6:return un.compareValue(-r,i);case 7:return un.compareValue(i,-r)}return et.shouldNeverReachHere("invalid octant value"),0},un.compareValue=function(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0};var ln=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this._segString=t,this.coord=new C(e),this.segmentIndex=n,this._segmentOctant=i,this._isInterior=!e.equals2D(t.getCoordinate(n))};ln.prototype.getCoordinate=function(){return this.coord},ln.prototype.print=function(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)},ln.prototype.compareTo=function(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:un.compare(this._segmentOctant,this.coord,e.coord)},ln.prototype.isEndPoint=function(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t},ln.prototype.isInterior=function(){return this._isInterior},ln.prototype.interfaces_=function(){return[x]},ln.prototype.getClass=function(){return ln};var cn=function(){this._nodeMap=new p,this._edge=null;var t=arguments[0];this._edge=t};cn.prototype.getSplitCoordinates=function(){var t=new St;this.addEndpoints();for(var e=this.iterator(),n=e.next();e.hasNext();){var i=e.next();this.addEdgeCoordinates(n,i,t),n=i}return t.toCoordinateArray()},cn.prototype.addCollapsedNodes=function(){var t=new Nt;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var n=e.next().intValue();this.add(this._edge.getCoordinate(n),n)}},cn.prototype.print=function(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)},cn.prototype.findCollapsesFromExistingVertices=function(t){for(var e=0;e=0?e>=0?n>=i?0:1:n>=i?7:6:e>=0?n>=i?3:2:n>=i?4:5}if(arguments[0]instanceof C&&arguments[1]instanceof C){var r=arguments[0],o=arguments[1],s=o.x-r.x,a=o.y-r.y;if(0===s&&0===a)throw new m("Cannot compute the octant for two identical points "+r);return pn.octant(s,a)}};var hn=function(){};hn.prototype.getCoordinates=function(){},hn.prototype.size=function(){},hn.prototype.getCoordinate=function(t){},hn.prototype.isClosed=function(){},hn.prototype.setData=function(t){},hn.prototype.getData=function(){},hn.prototype.interfaces_=function(){return[]},hn.prototype.getClass=function(){return hn};var fn=function(){};fn.prototype.addIntersection=function(t,e){},fn.prototype.interfaces_=function(){return[hn]},fn.prototype.getClass=function(){return fn};var gn=function(){this._nodeList=new cn(this),this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};gn.prototype.getCoordinates=function(){return this._pts},gn.prototype.size=function(){return this._pts.length},gn.prototype.getCoordinate=function(t){return this._pts[t]},gn.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},gn.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))},gn.prototype.setData=function(t){this._data=t},gn.prototype.safeOctant=function(t,e){return t.equals2D(e)?0:pn.octant(t,e)},gn.prototype.getData=function(){return this._data},gn.prototype.addIntersection=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){var n=arguments[1],i=arguments[3],r=new C(arguments[0].getIntersection(i));this.addIntersection(r,n)}},gn.prototype.toString=function(){return Q.toLineString(new ue(this._pts))},gn.prototype.getNodeList=function(){return this._nodeList},gn.prototype.addIntersectionNode=function(t,e){var n=e,i=n+1;if(i=0&&n>=0||e<=0&&n<=0?Math.max(e,n):0}if(arguments[0]instanceof C){var i=arguments[0];return at.orientationIndex(this.p0,this.p1,i)}},yn.prototype.toGeometry=function(t){return t.createLineString([this.p0,this.p1])},yn.prototype.isVertical=function(){return this.p0.x===this.p1.x},yn.prototype.equals=function(t){if(!(t instanceof yn))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)},yn.prototype.intersection=function(t){var e=new rt;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null},yn.prototype.project=function(){if(arguments[0]instanceof C){var t=arguments[0];if(t.equals(this.p0)||t.equals(this.p1))return new C(t);var e=this.projectionFactor(t),n=new C;return n.x=this.p0.x+e*(this.p1.x-this.p0.x),n.y=this.p0.y+e*(this.p1.y-this.p0.y),n}if(arguments[0]instanceof yn){var i=arguments[0],r=this.projectionFactor(i.p0),o=this.projectionFactor(i.p1);if(r>=1&&o>=1)return null;if(r<=0&&o<=0)return null;var s=this.project(i.p0);r<0&&(s=this.p0),r>1&&(s=this.p1);var a=this.project(i.p1);return o<0&&(a=this.p0),o>1&&(a=this.p1),new yn(s,a)}},yn.prototype.normalize=function(){this.p1.compareTo(this.p0)<0&&this.reverse()},yn.prototype.angle=function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},yn.prototype.getCoordinate=function(t){return 0===t?this.p0:this.p1},yn.prototype.distancePerpendicular=function(t){return at.distancePointLinePerpendicular(t,this.p0,this.p1)},yn.prototype.minY=function(){return Math.min(this.p0.y,this.p1.y)},yn.prototype.midPoint=function(){return yn.midPoint(this.p0,this.p1)},yn.prototype.projectionFactor=function(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,n=this.p1.y-this.p0.y,i=e*e+n*n;return i<=0?v.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*n)/i},yn.prototype.closestPoints=function(t){var e=this.intersection(t);if(null!==e)return[e,e];var n=new Array(2).fill(null),i=v.MAX_VALUE,r=null,o=this.closestPoint(t.p0);i=o.distance(t.p0),n[0]=o,n[1]=t.p0;var s=this.closestPoint(t.p1);(r=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||v.isNaN(e))&&(e=1),e},yn.prototype.toString=function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},yn.prototype.isHorizontal=function(){return this.p0.y===this.p1.y},yn.prototype.distance=function(){if(arguments[0]instanceof yn){var t=arguments[0];return at.distanceLineLine(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof C){var e=arguments[0];return at.distancePointLine(e,this.p0,this.p1)}},yn.prototype.pointAlong=function(t){var e=new C;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e},yn.prototype.hashCode=function(){var t=v.doubleToLongBits(this.p0.x);t^=31*v.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),n=v.doubleToLongBits(this.p1.x);return n^=31*v.doubleToLongBits(this.p1.y),e^Math.trunc(n)^Math.trunc(n>>32)},yn.prototype.interfaces_=function(){return[x,e]},yn.prototype.getClass=function(){return yn},yn.midPoint=function(t,e){return new C((t.x+e.x)/2,(t.y+e.y)/2)},dn.serialVersionUID.get=function(){return 0x2d2172135f411c00},Object.defineProperties(yn,dn);var _n=function(){this.tempEnv1=new j,this.tempEnv2=new j,this._overlapSeg1=new yn,this._overlapSeg2=new yn};_n.prototype.overlap=function(){if(2===arguments.length);else if(4===arguments.length){var t=arguments[1],e=arguments[2],n=arguments[3];arguments[0].getLineSegment(t,this._overlapSeg1),e.getLineSegment(n,this._overlapSeg2),this.overlap(this._overlapSeg1,this._overlapSeg2)}},_n.prototype.interfaces_=function(){return[]},_n.prototype.getClass=function(){return _n};var mn=function(){this._pts=null,this._start=null,this._end=null,this._env=null,this._context=null,this._id=null;var t=arguments[0],e=arguments[1],n=arguments[2],i=arguments[3];this._pts=t,this._start=e,this._end=n,this._context=i};mn.prototype.getLineSegment=function(t,e){e.p0=this._pts[t],e.p1=this._pts[t+1]},mn.prototype.computeSelect=function(t,e,n,i){var r=this._pts[e],o=this._pts[n];if(i.tempEnv1.init(r,o),n-e==1)return i.select(this,e),null;if(!t.intersects(i.tempEnv1))return null;var s=Math.trunc((e+n)/2);e=t.length-1)return t.length-1;for(var i=qe.quadrant(t[n],t[n+1]),r=e+1;rn.getId()&&(n.computeOverlaps(r,t),this._nOverlaps++),this._segInt.isDone())return null}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},n.SegmentOverlapAction.get=function(){return Nn},Object.defineProperties(e,n),e}(xn),Nn=function(t){function e(){t.call(this),this._si=null;var e=arguments[0];this._si=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.overlap=function(){if(4!==arguments.length)return t.prototype.overlap.apply(this,arguments);var e=arguments[1],n=arguments[2],i=arguments[3],r=arguments[0].getContext(),o=n.getContext();this._si.processIntersections(r,e,o,i)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(_n),Cn=function t(){if(this._quadrantSegments=t.DEFAULT_QUADRANT_SEGMENTS,this._endCapStyle=t.CAP_ROUND,this._joinStyle=t.JOIN_ROUND,this._mitreLimit=t.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this._simplifyFactor=t.DEFAULT_SIMPLIFY_FACTOR,0===arguments.length);else if(1===arguments.length){var e=arguments[0];this.setQuadrantSegments(e)}else if(2===arguments.length){var n=arguments[0],i=arguments[1];this.setQuadrantSegments(n),this.setEndCapStyle(i)}else if(4===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2],a=arguments[3];this.setQuadrantSegments(r),this.setEndCapStyle(o),this.setJoinStyle(s),this.setMitreLimit(a)}},Sn={CAP_ROUND:{configurable:!0},CAP_FLAT:{configurable:!0},CAP_SQUARE:{configurable:!0},JOIN_ROUND:{configurable:!0},JOIN_MITRE:{configurable:!0},JOIN_BEVEL:{configurable:!0},DEFAULT_QUADRANT_SEGMENTS:{configurable:!0},DEFAULT_MITRE_LIMIT:{configurable:!0},DEFAULT_SIMPLIFY_FACTOR:{configurable:!0}};Cn.prototype.getEndCapStyle=function(){return this._endCapStyle},Cn.prototype.isSingleSided=function(){return this._isSingleSided},Cn.prototype.setQuadrantSegments=function(t){this._quadrantSegments=t,0===this._quadrantSegments&&(this._joinStyle=Cn.JOIN_BEVEL),this._quadrantSegments<0&&(this._joinStyle=Cn.JOIN_MITRE,this._mitreLimit=Math.abs(this._quadrantSegments)),t<=0&&(this._quadrantSegments=1),this._joinStyle!==Cn.JOIN_ROUND&&(this._quadrantSegments=Cn.DEFAULT_QUADRANT_SEGMENTS)},Cn.prototype.getJoinStyle=function(){return this._joinStyle},Cn.prototype.setJoinStyle=function(t){this._joinStyle=t},Cn.prototype.setSimplifyFactor=function(t){this._simplifyFactor=t<0?0:t},Cn.prototype.getSimplifyFactor=function(){return this._simplifyFactor},Cn.prototype.getQuadrantSegments=function(){return this._quadrantSegments},Cn.prototype.setEndCapStyle=function(t){this._endCapStyle=t},Cn.prototype.getMitreLimit=function(){return this._mitreLimit},Cn.prototype.setMitreLimit=function(t){this._mitreLimit=t},Cn.prototype.setSingleSided=function(t){this._isSingleSided=t},Cn.prototype.interfaces_=function(){return[]},Cn.prototype.getClass=function(){return Cn},Cn.bufferDistanceError=function(t){var e=Math.PI/2/t;return 1-Math.cos(e/2)},Sn.CAP_ROUND.get=function(){return 1},Sn.CAP_FLAT.get=function(){return 2},Sn.CAP_SQUARE.get=function(){return 3},Sn.JOIN_ROUND.get=function(){return 1},Sn.JOIN_MITRE.get=function(){return 2},Sn.JOIN_BEVEL.get=function(){return 3},Sn.DEFAULT_QUADRANT_SEGMENTS.get=function(){return 8},Sn.DEFAULT_MITRE_LIMIT.get=function(){return 5},Sn.DEFAULT_SIMPLIFY_FACTOR.get=function(){return.01},Object.defineProperties(Cn,Sn);var bn=function(t){this._distanceTol=null,this._isDeleted=null,this._angleOrientation=at.COUNTERCLOCKWISE,this._inputLine=t||null},wn={INIT:{configurable:!0},DELETE:{configurable:!0},KEEP:{configurable:!0},NUM_PTS_TO_CHECK:{configurable:!0}};bn.prototype.isDeletable=function(t,e,n,i){var r=this._inputLine[t],o=this._inputLine[e],s=this._inputLine[n];return!!this.isConcave(r,o,s)&&!!this.isShallow(r,o,s,i)&&this.isShallowSampled(r,o,t,n,i)},bn.prototype.deleteShallowConcavities=function(){for(var t=1,e=this.findNextNonDeletedIndex(t),n=this.findNextNonDeletedIndex(e),i=!1;n=0;i--)this.addPt(t[i])},Ln.prototype.isRedundant=function(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)Math.PI;)t-=Rn.PI_TIMES_2;for(;t<=-Math.PI;)t+=Rn.PI_TIMES_2;return t},Rn.angle=function(){if(1===arguments.length){var t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){var e=arguments[0],n=arguments[1],i=n.x-e.x,r=n.y-e.y;return Math.atan2(r,i)}},Rn.isAcute=function(t,e,n){var i=t.x-e.x,r=t.y-e.y;return i*(n.x-e.x)+r*(n.y-e.y)>0},Rn.isObtuse=function(t,e,n){var i=t.x-e.x,r=t.y-e.y;return i*(n.x-e.x)+r*(n.y-e.y)<0},Rn.interiorAngle=function(t,e,n){var i=Rn.angle(e,t),r=Rn.angle(e,n);return Math.abs(r-i)},Rn.normalizePositive=function(t){if(t<0){for(;t<0;)t+=Rn.PI_TIMES_2;t>=Rn.PI_TIMES_2&&(t=0)}else{for(;t>=Rn.PI_TIMES_2;)t-=Rn.PI_TIMES_2;t<0&&(t=0)}return t},Rn.angleBetween=function(t,e,n){var i=Rn.angle(e,t),r=Rn.angle(e,n);return Rn.diff(i,r)},Rn.diff=function(t,e){var n=null;return(n=tMath.PI&&(n=2*Math.PI-n),n},Rn.toRadians=function(t){return t*Math.PI/180},Rn.getTurn=function(t,e){var n=Math.sin(e-t);return n>0?Rn.COUNTERCLOCKWISE:n<0?Rn.CLOCKWISE:Rn.NONE},Rn.angleBetweenOriented=function(t,e,n){var i=Rn.angle(e,t),r=Rn.angle(e,n)-i;return r<=-Math.PI?r+Rn.PI_TIMES_2:r>Math.PI?r-Rn.PI_TIMES_2:r},On.PI_TIMES_2.get=function(){return 2*Math.PI},On.PI_OVER_2.get=function(){return Math.PI/2},On.PI_OVER_4.get=function(){return Math.PI/4},On.COUNTERCLOCKWISE.get=function(){return at.COUNTERCLOCKWISE},On.CLOCKWISE.get=function(){return at.CLOCKWISE},On.NONE.get=function(){return at.COLLINEAR},Object.defineProperties(Rn,On);var Tn=function t(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new yn,this._seg1=new yn,this._offset0=new yn,this._offset1=new yn,this._side=0,this._hasNarrowConcaveAngle=!1;var e=arguments[0],n=arguments[1],i=arguments[2];this._precisionModel=e,this._bufParams=n,this._li=new rt,this._filletAngleQuantum=Math.PI/2/n.getQuadrantSegments(),n.getQuadrantSegments()>=8&&n.getJoinStyle()===Cn.JOIN_ROUND&&(this._closingSegLengthFactor=t.MAX_CLOSING_SEG_LEN_FACTOR),this.init(i)},An={OFFSET_SEGMENT_SEPARATION_FACTOR:{configurable:!0},INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},CURVE_VERTEX_SNAP_DISTANCE_FACTOR:{configurable:!0},MAX_CLOSING_SEG_LEN_FACTOR:{configurable:!0}};Tn.prototype.addNextSegment=function(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var n=at.computeOrientation(this._s0,this._s1,this._s2),i=n===at.CLOCKWISE&&this._side===Se.LEFT||n===at.COUNTERCLOCKWISE&&this._side===Se.RIGHT;0===n?this.addCollinear(e):i?this.addOutsideTurn(n,e):this.addInsideTurn(n,e)},Tn.prototype.addLineEndCap=function(t,e){var n=new yn(t,e),i=new yn;this.computeOffsetSegment(n,Se.LEFT,this._distance,i);var r=new yn;this.computeOffsetSegment(n,Se.RIGHT,this._distance,r);var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o);switch(this._bufParams.getEndCapStyle()){case Cn.CAP_ROUND:this._segList.addPt(i.p1),this.addFilletArc(e,a+Math.PI/2,a-Math.PI/2,at.CLOCKWISE,this._distance),this._segList.addPt(r.p1);break;case Cn.CAP_FLAT:this._segList.addPt(i.p1),this._segList.addPt(r.p1);break;case Cn.CAP_SQUARE:var u=new C;u.x=Math.abs(this._distance)*Math.cos(a),u.y=Math.abs(this._distance)*Math.sin(a);var l=new C(i.p1.x+u.x,i.p1.y+u.y),c=new C(r.p1.x+u.x,r.p1.y+u.y);this._segList.addPt(l),this._segList.addPt(c)}},Tn.prototype.getCoordinates=function(){return this._segList.getCoordinates()},Tn.prototype.addMitreJoin=function(t,e,n,i){var r=!0,o=null;try{o=X.intersection(e.p0,e.p1,n.p0,n.p1),(i<=0?1:o.distance(t)/Math.abs(i))>this._bufParams.getMitreLimit()&&(r=!1)}catch(t){if(!(t instanceof V))throw t;o=new C(0,0),r=!1}r?this._segList.addPt(o):this.addLimitedMitreJoin(e,n,i,this._bufParams.getMitreLimit())},Tn.prototype.addFilletCorner=function(t,e,n,i,r){var o=e.x-t.x,s=e.y-t.y,a=Math.atan2(s,o),u=n.x-t.x,l=n.y-t.y,c=Math.atan2(l,u);i===at.CLOCKWISE?a<=c&&(a+=2*Math.PI):a>=c&&(a-=2*Math.PI),this._segList.addPt(e),this.addFilletArc(t,a,c,i,r),this._segList.addPt(n)},Tn.prototype.addOutsideTurn=function(t,e){if(this._offset0.p1.distance(this._offset1.p0)0){var n=new C((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n);var i=new C((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(i)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}},Tn.prototype.createCircle=function(t){var e=new C(t.x+this._distance,t.y);this._segList.addPt(e),this.addFilletArc(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()},Tn.prototype.addBevelJoin=function(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)},Tn.prototype.init=function(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Ln,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Tn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},Tn.prototype.addCollinear=function(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Cn.JOIN_BEVEL||this._bufParams.getJoinStyle()===Cn.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addFilletCorner(this._s1,this._offset0.p1,this._offset1.p0,at.CLOCKWISE,this._distance))},Tn.prototype.closeRing=function(){this._segList.closeRing()},Tn.prototype.hasNarrowConcaveAngle=function(){return this._hasNarrowConcaveAngle},Tn.prototype.interfaces_=function(){return[]},Tn.prototype.getClass=function(){return Tn},An.OFFSET_SEGMENT_SEPARATION_FACTOR.get=function(){return.001},An.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return.001},An.CURVE_VERTEX_SNAP_DISTANCE_FACTOR.get=function(){return 1e-6},An.MAX_CLOSING_SEG_LEN_FACTOR.get=function(){return 80},Object.defineProperties(Tn,An);var Dn=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;var t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};Dn.prototype.getOffsetCurve=function(t,e){if(this._distance=e,0===e)return null;var n=e<0,i=Math.abs(e),r=this.getSegGen(i);t.length<=1?this.computePointCurve(t[0],r):this.computeOffsetCurve(t,n,r);var o=r.getCoordinates();return n&&bt.reverse(o),o},Dn.prototype.computeSingleSidedBufferCurve=function(t,e,n){var i=this.simplifyTolerance(this._distance);if(e){n.addSegments(t,!0);var r=bn.simplify(t,-i),o=r.length-1;n.initSideSegments(r[o],r[o-1],Se.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(r[s],!0)}else{n.addSegments(t,!1);var a=bn.simplify(t,i),u=a.length-1;n.initSideSegments(a[0],a[1],Se.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(a[l],!0)}n.addLastSegment(),n.closeRing()},Dn.prototype.computeRingBufferCurve=function(t,e,n){var i=this.simplifyTolerance(this._distance);e===Se.RIGHT&&(i=-i);var r=bn.simplify(t,i),o=r.length-1;n.initSideSegments(r[o-1],r[0],e);for(var s=1;s<=o;s++){var a=1!==s;n.addNextSegment(r[s],a)}n.closeRing()},Dn.prototype.computeLineBufferCurve=function(t,e){var n=this.simplifyTolerance(this._distance),i=bn.simplify(t,n),r=i.length-1;e.initSideSegments(i[0],i[1],Se.LEFT);for(var o=2;o<=r;o++)e.addNextSegment(i[o],!0);e.addLastSegment(),e.addLineEndCap(i[r-1],i[r]);var s=bn.simplify(t,-n),a=s.length-1;e.initSideSegments(s[a],s[a-1],Se.LEFT);for(var u=a-2;u>=0;u--)e.addNextSegment(s[u],!0);e.addLastSegment(),e.addLineEndCap(s[1],s[0]),e.closeRing()},Dn.prototype.computePointCurve=function(t,e){switch(this._bufParams.getEndCapStyle()){case Cn.CAP_ROUND:e.createCircle(t);break;case Cn.CAP_SQUARE:e.createSquare(t)}},Dn.prototype.getLineCurve=function(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var n=Math.abs(e),i=this.getSegGen(n);if(t.length<=1)this.computePointCurve(t[0],i);else if(this._bufParams.isSingleSided()){var r=e<0;this.computeSingleSidedBufferCurve(t,r,i)}else this.computeLineBufferCurve(t,i);return i.getCoordinates()},Dn.prototype.getBufferParameters=function(){return this._bufParams},Dn.prototype.simplifyTolerance=function(t){return t*this._bufParams.getSimplifyFactor()},Dn.prototype.getRingCurve=function(t,e,n){if(this._distance=n,t.length<=2)return this.getLineCurve(t,n);if(0===n)return Dn.copyCoordinates(t);var i=this.getSegGen(n);return this.computeRingBufferCurve(t,e,i),i.getCoordinates()},Dn.prototype.computeOffsetCurve=function(t,e,n){var i=this.simplifyTolerance(this._distance);if(e){var r=bn.simplify(t,-i),o=r.length-1;n.initSideSegments(r[o],r[o-1],Se.LEFT),n.addFirstSegment();for(var s=o-2;s>=0;s--)n.addNextSegment(r[s],!0)}else{var a=bn.simplify(t,i),u=a.length-1;n.initSideSegments(a[0],a[1],Se.LEFT),n.addFirstSegment();for(var l=2;l<=u;l++)n.addNextSegment(a[l],!0)}n.addLastSegment()},Dn.prototype.getSegGen=function(t){return new Tn(this._precisionModel,this._bufParams,t)},Dn.prototype.interfaces_=function(){return[]},Dn.prototype.getClass=function(){return Dn},Dn.copyCoordinates=function(t){for(var e=new Array(t.length).fill(null),n=0;nr.getMaxY()||this.findStabbedSegments(t,i.getDirectedEdges(),e)}return e}if(3===arguments.length)if(R(arguments[2],It)&&arguments[0]instanceof C&&arguments[1]instanceof ze){for(var o=arguments[0],s=arguments[1],a=arguments[2],u=s.getEdge().getCoordinates(),l=0;lthis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||at.computeOrientation(this._seg.p0,this._seg.p1,o)===at.RIGHT)){var c=s.getDepth(Se.LEFT);this._seg.p0.equals(u[l])||(c=s.getDepth(Se.RIGHT));var p=new Gn(this._seg,c);a.add(p)}}else if(R(arguments[2],It)&&arguments[0]instanceof C&&R(arguments[1],It))for(var h=arguments[0],f=arguments[2],g=arguments[1].iterator();g.hasNext();){var y=g.next();y.isForward()&&this.findStabbedSegments(h,y,f)}},Mn.prototype.getDepth=function(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:$e.min(e)._leftDepth},Mn.prototype.interfaces_=function(){return[]},Mn.prototype.getClass=function(){return Mn},Fn.DepthSegment.get=function(){return Gn},Object.defineProperties(Mn,Fn);var Gn=function(){this._upwardSeg=null,this._leftDepth=null;var t=arguments[0],e=arguments[1];this._upwardSeg=new yn(t),this._leftDepth=e};Gn.prototype.compareTo=function(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var n=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==n||0!=(n=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?n:this._upwardSeg.compareTo(e._upwardSeg)},Gn.prototype.compareX=function(t,e){var n=t.p0.compareTo(e.p0);return 0!==n?n:t.p1.compareTo(e.p1)},Gn.prototype.toString=function(){return this._upwardSeg.toString()},Gn.prototype.interfaces_=function(){return[x]},Gn.prototype.getClass=function(){return Gn};var Bn=function(t,e,n){this.p0=t||null,this.p1=e||null,this.p2=n||null};Bn.prototype.area=function(){return Bn.area(this.p0,this.p1,this.p2)},Bn.prototype.signedArea=function(){return Bn.signedArea(this.p0,this.p1,this.p2)},Bn.prototype.interpolateZ=function(t){if(null===t)throw new m("Supplied point is null.");return Bn.interpolateZ(t,this.p0,this.p1,this.p2)},Bn.prototype.longestSideLength=function(){return Bn.longestSideLength(this.p0,this.p1,this.p2)},Bn.prototype.isAcute=function(){return Bn.isAcute(this.p0,this.p1,this.p2)},Bn.prototype.circumcentre=function(){return Bn.circumcentre(this.p0,this.p1,this.p2)},Bn.prototype.area3D=function(){return Bn.area3D(this.p0,this.p1,this.p2)},Bn.prototype.centroid=function(){return Bn.centroid(this.p0,this.p1,this.p2)},Bn.prototype.inCentre=function(){return Bn.inCentre(this.p0,this.p1,this.p2)},Bn.prototype.interfaces_=function(){return[]},Bn.prototype.getClass=function(){return Bn},Bn.area=function(t,e,n){return Math.abs(((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2)},Bn.signedArea=function(t,e,n){return((n.x-t.x)*(e.y-t.y)-(e.x-t.x)*(n.y-t.y))/2},Bn.det=function(t,e,n,i){return t*i-e*n},Bn.interpolateZ=function(t,e,n,i){var r=e.x,o=e.y,s=n.x-r,a=i.x-r,u=n.y-o,l=i.y-o,c=s*l-a*u,p=t.x-r,h=t.y-o,f=(l*p-a*h)/c,g=(-u*p+s*h)/c;return e.z+f*(n.z-e.z)+g*(i.z-e.z)},Bn.longestSideLength=function(t,e,n){var i=t.distance(e),r=e.distance(n),o=n.distance(t),s=i;return r>s&&(s=r),o>s&&(s=o),s},Bn.isAcute=function(t,e,n){return!!Rn.isAcute(t,e,n)&&!!Rn.isAcute(e,n,t)&&!!Rn.isAcute(n,t,e)},Bn.circumcentre=function(t,e,n){var i=n.x,r=n.y,o=t.x-i,s=t.y-r,a=e.x-i,u=e.y-r,l=2*Bn.det(o,s,a,u),c=Bn.det(s,o*o+s*s,u,a*a+u*u),p=Bn.det(o,o*o+s*s,a,a*a+u*u);return new C(i-c/l,r+p/l)},Bn.perpendicularBisector=function(t,e){var n=e.x-t.x,i=e.y-t.y,r=new X(t.x+n/2,t.y+i/2,1),o=new X(t.x-i+n/2,t.y+n+i/2,1);return new X(r,o)},Bn.angleBisector=function(t,e,n){var i=e.distance(t),r=i/(i+e.distance(n)),o=n.x-t.x,s=n.y-t.y;return new C(t.x+r*o,t.y+r*s)},Bn.area3D=function(t,e,n){var i=e.x-t.x,r=e.y-t.y,o=e.z-t.z,s=n.x-t.x,a=n.y-t.y,u=n.z-t.z,l=r*u-o*a,c=o*s-i*u,p=i*a-r*s,h=l*l+c*c+p*p;return Math.sqrt(h)/2},Bn.centroid=function(t,e,n){var i=(t.x+e.x+n.x)/3,r=(t.y+e.y+n.y)/3;return new C(i,r)},Bn.inCentre=function(t,e,n){var i=e.distance(n),r=t.distance(n),o=t.distance(e),s=i+r+o,a=(i*t.x+r*e.x+o*n.x)/s,u=(i*t.y+r*e.y+o*n.y)/s;return new C(a,u)};var qn=function(){this._inputGeom=null,this._distance=null,this._curveBuilder=null,this._curveList=new Nt;var t=arguments[0],e=arguments[1],n=arguments[2];this._inputGeom=t,this._distance=e,this._curveBuilder=n};qn.prototype.addPoint=function(t){if(this._distance<=0)return null;var e=t.getCoordinates(),n=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(n,L.EXTERIOR,L.INTERIOR)},qn.prototype.addPolygon=function(t){var e=this._distance,n=Se.LEFT;this._distance<0&&(e=-this._distance,n=Se.RIGHT);var i=t.getExteriorRing(),r=bt.removeRepeatedPoints(i.getCoordinates());if(this._distance<0&&this.isErodedCompletely(i,this._distance))return null;if(this._distance<=0&&r.length<3)return null;this.addPolygonRing(r,e,n,L.EXTERIOR,L.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(s,-this._distance)||this.addPolygonRing(a,e,Se.opposite(n),L.INTERIOR,L.EXTERIOR)}},qn.prototype.isTriangleErodedCompletely=function(t,e){var n=new Bn(t[0],t[1],t[2]),i=n.inCentre();return at.distancePointLine(i,n.p0,n.p1)=ee.MINIMUM_VALID_SIZE&&at.isCCW(t)&&(o=r,s=i,n=Se.opposite(n));var a=this._curveBuilder.getRingCurve(t,n,e);this.addCurve(a,o,s)},qn.prototype.add=function(t){if(t.isEmpty())return null;t instanceof $t?this.addPolygon(t):t instanceof Zt?this.addLineString(t):t instanceof Jt?this.addPoint(t):(t instanceof te||t instanceof Vt||t instanceof ne||t instanceof zt)&&this.addCollection(t)},qn.prototype.isErodedCompletely=function(t,e){var n=t.getCoordinates();if(n.length<4)return e<0;if(4===n.length)return this.isTriangleErodedCompletely(n,e);var i=t.getEnvelopeInternal(),r=Math.min(i.getHeight(),i.getWidth());return e<0&&2*Math.abs(e)>r},qn.prototype.addCollection=function(t){for(var e=0;e=this._max)throw new i;var t=this._parent.getGeometryN(this._index++);return t instanceof zt?(this._subcollectionIterator=new kn(t),this._subcollectionIterator.next()):t},kn.prototype.remove=function(){throw new Error(this.getClass().getName())},kn.prototype.hasNext=function(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)},kn.prototype.interfaces_=function(){return[xt]},kn.prototype.getClass=function(){return kn},kn.isAtomic=function(t){return!(t instanceof zt)};var zn=function(){this._geom=null;var t=arguments[0];this._geom=t};zn.prototype.locate=function(t){return zn.locate(t,this._geom)},zn.prototype.interfaces_=function(){return[Un]},zn.prototype.getClass=function(){return zn},zn.isPointInRing=function(t,e){return!!e.getEnvelopeInternal().intersects(t)&&at.isPointInRing(t,e.getCoordinates())},zn.containsPointInPolygon=function(t,e){if(e.isEmpty())return!1;var n=e.getExteriorRing();if(!zn.isPointInRing(t,n))return!1;for(var i=0;i=0;n--){var i=this._edgeList.get(n),r=i.getSym();null===e&&(e=r),null!==t&&r.setNext(t),t=i}e.setNext(t)},e.prototype.computeDepths=function(){if(1===arguments.length){var t=arguments[0],e=this.findIndex(t),n=t.getDepth(Se.LEFT),i=t.getDepth(Se.RIGHT),r=this.computeDepths(e+1,this._edgeList.size(),n);if(this.computeDepths(0,e,r)!==i)throw new Le("depth mismatch at "+t.getCoordinate())}else if(3===arguments.length){for(var o=arguments[1],s=arguments[2],a=arguments[0];a=0;r--){var o=this._resultAreaEdgeList.get(r),s=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),i){case this._SCANNING_FOR_INCOMING:if(s.getEdgeRing()!==t)continue;n=s,i=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;n.setNextMin(o),i=this._SCANNING_FOR_INCOMING}}i===this._LINKING_TO_OUTGOING&&(et.isTrue(null!==e,"found null for first outgoing dirEdge"),et.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),n.setNextMin(e))},e.prototype.getOutgoingDegree=function(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){for(var n=arguments[0],i=0,r=this.iterator();r.hasNext();)r.next().getEdgeRing()===n&&i++;return i}},e.prototype.getLabel=function(){return this._label},e.prototype.findCoveredLineEdges=function(){for(var t=L.NONE,e=this.iterator();e.hasNext();){var n=e.next(),i=n.getSym();if(!n.isLineEdge()){if(n.isInResult()){t=L.INTERIOR;break}if(i.isInResult()){t=L.EXTERIOR;break}}}if(t===L.NONE)return null;for(var r=t,o=this.iterator();o.hasNext();){var s=o.next(),a=s.getSym();s.isLineEdge()?s.getEdge().setCovered(r===L.INTERIOR):(s.isInResult()&&(r=L.EXTERIOR),a.isInResult()&&(r=L.INTERIOR))}},e.prototype.computeLabelling=function(e){t.prototype.computeLabelling.call(this,e),this._label=new Te(L.NONE);for(var n=this.iterator();n.hasNext();)for(var i=n.next().getEdge().getLabel(),r=0;r<2;r++){var o=i.getLocation(r);o!==L.INTERIOR&&o!==L.BOUNDARY||this._label.setLocation(r,L.INTERIOR)}},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Vn),Xn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createNode=function(t){return new Ge(t,new Yn)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Ve),jn=function t(){this._pts=null,this._orientation=null;var e=arguments[0];this._pts=e,this._orientation=t.orientation(e)};jn.prototype.compareTo=function(t){var e=t;return jn.compareOriented(this._pts,this._orientation,e._pts,e._orientation)},jn.prototype.interfaces_=function(){return[x]},jn.prototype.getClass=function(){return jn},jn.orientation=function(t){return 1===bt.increasingDirection(t)},jn.compareOriented=function(t,e,n,i){for(var r=e?1:-1,o=i?1:-1,s=e?t.length:-1,a=i?n.length:-1,u=e?0:t.length-1,l=i?0:n.length-1;;){var c=t[u].compareTo(n[l]);if(0!==c)return c;var p=(u+=r)===s,h=(l+=o)===a;if(p&&!h)return-1;if(!p&&h)return 1;if(p&&h)return 0}};var Hn=function(){this._edges=new Nt,this._ocaMap=new p};Hn.prototype.print=function(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var i=n.getCoordinates(),r=0;r0&&t.print(","),t.print(i[r].x+" "+i[r].y);t.println(")")}t.print(") ")},Hn.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())},Hn.prototype.findEdgeIndex=function(t){for(var e=0;e0||!e.coord.equals2D(i);r||n--;var o=new Array(n).fill(null),s=0;o[s++]=new C(t.coord);for(var a=t.segmentIndex+1;a<=e.segmentIndex;a++)o[s++]=this.edge.pts[a];return r&&(o[s]=e.coord),new ni(o,new Te(this.edge._label))},Jn.prototype.add=function(t,e,n){var i=new Kn(t,e,n),r=this._nodeMap.get(i);return null!==r?r:(this._nodeMap.put(i,i),i)},Jn.prototype.isIntersection=function(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1},Jn.prototype.interfaces_=function(){return[]},Jn.prototype.getClass=function(){return Jn};var Qn=function(){};Qn.prototype.getChainStartIndices=function(t){var e=0,n=new Nt;n.add(new D(e));do{var i=this.findChainEnd(t,e);n.add(new D(i)),e=i}while(en?e:n},$n.prototype.getMinX=function(t){var e=this.pts[this.startIndex[t]].x,n=this.pts[this.startIndex[t+1]].x;return ee&&(i=1),this._depth[t][n]=i}}},ti.prototype.getDelta=function(t){return this._depth[t][Se.RIGHT]-this._depth[t][Se.LEFT]},ti.prototype.getLocation=function(t,e){return this._depth[t][e]<=0?L.EXTERIOR:L.INTERIOR},ti.prototype.toString=function(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]},ti.prototype.add=function(){if(1===arguments.length)for(var t=arguments[0],e=0;e<2;e++)for(var n=1;n<3;n++){var i=t.getLocation(e,n);i!==L.EXTERIOR&&i!==L.INTERIOR||(this.isNull(e,n)?this._depth[e][n]=ti.depthAtLocation(i):this._depth[e][n]+=ti.depthAtLocation(i))}else if(3===arguments.length){var r=arguments[0],o=arguments[1];arguments[2]===L.INTERIOR&&this._depth[r][o]++}},ti.prototype.interfaces_=function(){return[]},ti.prototype.getClass=function(){return ti},ti.depthAtLocation=function(t){return t===L.EXTERIOR?0:t===L.INTERIOR?1:ti.NULL_VALUE},ei.NULL_VALUE.get=function(){return-1},Object.defineProperties(ti,ei);var ni=function(t){function e(){if(t.call(this),this.pts=null,this._env=null,this.eiList=new Jn(this),this._name=null,this._mce=null,this._isIsolated=!0,this._depth=new ti,this._depthDelta=0,1===arguments.length){var n=arguments[0];e.call(this,n,null)}else if(2===arguments.length){var i=arguments[0],r=arguments[1];this.pts=i,this._label=r}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDepth=function(){return this._depth},e.prototype.getCollapsedEdge=function(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new e(t,Te.toLineLabel(this._label))},e.prototype.isIsolated=function(){return this._isIsolated},e.prototype.getCoordinates=function(){return this.pts},e.prototype.setIsolated=function(t){this._isIsolated=t},e.prototype.setName=function(t){this._name=t},e.prototype.equals=function(t){if(!(t instanceof e))return!1;var n=t;if(this.pts.length!==n.pts.length)return!1;for(var i=!0,r=!0,o=this.pts.length,s=0;s0?this.pts[0]:null;if(1===arguments.length){var t=arguments[0];return this.pts[t]}},e.prototype.print=function(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)},e.prototype.computeIM=function(t){e.updateIM(this._label,t)},e.prototype.isCollapsed=function(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])},e.prototype.isClosed=function(){return this.pts[0].equals(this.pts[this.pts.length-1])},e.prototype.getMaximumSegmentIndex=function(){return this.pts.length-1},e.prototype.getDepthDelta=function(){return this._depthDelta},e.prototype.getNumPoints=function(){return this.pts.length},e.prototype.printReverse=function(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")},e.prototype.getMonotoneChainEdge=function(){return null===this._mce&&(this._mce=new $n(this)),this._mce},e.prototype.getEnvelope=function(){if(null===this._env){this._env=new j;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()},e.prototype.isPointwiseEqual=function(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;ei||this._maxyo;if(s)return!1;var a=this.intersectsToleranceSquare(t,e);return et.isTrue(!(s&&a),"Found bad envelope test"),a},ai.prototype.initCorners=function(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new C(this._maxx,this._maxy),this._corner[1]=new C(this._minx,this._maxy),this._corner[2]=new C(this._minx,this._miny),this._corner[3]=new C(this._maxx,this._miny)},ai.prototype.intersects=function(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))},ai.prototype.scale=function(t){return Math.round(t*this._scaleFactor)},ai.prototype.getCoordinate=function(){return this._originalPt},ai.prototype.copyScaled=function(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)},ai.prototype.getSafeEnvelope=function(){if(null===this._safeEnv){var t=ai.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new j(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv},ai.prototype.intersectsPixelClosure=function(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.hasIntersection())))},ai.prototype.intersectsToleranceSquare=function(t,e){var n=!1,i=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),!!this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),!!this._li.isProper()||(this._li.hasIntersection()&&(i=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),!!this._li.isProper()||!(!n||!i)||!!t.equals(this._pt)||!!e.equals(this._pt))))},ai.prototype.addSnappedNode=function(t,e){var n=t.getCoordinate(e),i=t.getCoordinate(e+1);return!!this.intersects(n,i)&&(t.addIntersection(this.getCoordinate(),e),!0)},ai.prototype.interfaces_=function(){return[]},ai.prototype.getClass=function(){return ai},ui.SAFE_ENV_EXPANSION_FACTOR.get=function(){return.75},Object.defineProperties(ai,ui);var li=function(){this.tempEnv1=new j,this.selectedSegment=new yn};li.prototype.select=function(){if(1===arguments.length);else if(2===arguments.length){var t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}},li.prototype.interfaces_=function(){return[]},li.prototype.getClass=function(){return li};var ci=function(){this._index=null;var t=arguments[0];this._index=t},pi={HotPixelSnapAction:{configurable:!0}};ci.prototype.snap=function(){if(1===arguments.length){var t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){var e=arguments[0],n=arguments[1],i=arguments[2],r=e.getSafeEnvelope(),o=new hi(e,n,i);return this._index.query(r,{interfaces_:function(){return[Ze]},visitItem:function(t){t.select(r,o)}}),o.isNodeAdded()}},ci.prototype.interfaces_=function(){return[]},ci.prototype.getClass=function(){return ci},pi.HotPixelSnapAction.get=function(){return hi},Object.defineProperties(ci,pi);var hi=function(t){function e(){t.call(this),this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;var e=arguments[0],n=arguments[1],i=arguments[2];this._hotPixel=e,this._parentEdge=n,this._hotPixelVertexIndex=i}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.isNodeAdded=function(){return this._isNodeAdded},e.prototype.select=function(){if(2!==arguments.length)return t.prototype.select.apply(this,arguments);var e=arguments[1],n=arguments[0].getContext();if(null!==this._parentEdge&&n===this._parentEdge&&e===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(n,e)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(li),fi=function(){this._li=null,this._interiorIntersections=null;var t=arguments[0];this._li=t,this._interiorIntersections=new Nt};fi.prototype.processIntersections=function(t,e,n,i){if(t===n&&e===i)return null;var r=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[i],a=n.getCoordinates()[i+1];if(this._li.computeIntersection(r,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var u=0;u=0;e--){try{t.bufferReducedPrecision(e)}catch(e){if(!(e instanceof Le))throw e;t._saveException=e}if(null!==t._resultGeometry)return null}throw this._saveException}if(1===arguments.length){var n=arguments[0],i=yi.precisionScaleFactor(this._argGeom,this._distance,n),r=new fe(i);this.bufferFixedPrecision(r)}},yi.prototype.computeGeometry=function(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===fe.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()},yi.prototype.setQuadrantSegments=function(t){this._bufParams.setQuadrantSegments(t)},yi.prototype.bufferOriginalPrecision=function(){try{var t=new ii(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof $))throw t;this._saveException=t}},yi.prototype.getResultGeometry=function(t){return this._distance=t,this.computeGeometry(),this._resultGeometry},yi.prototype.setEndCapStyle=function(t){this._bufParams.setEndCapStyle(t)},yi.prototype.interfaces_=function(){return[]},yi.prototype.getClass=function(){return yi},yi.bufferOp=function(){if(2===arguments.length){var t=arguments[1];return new yi(arguments[0]).getResultGeometry(t)}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof ct&&"number"==typeof arguments[1]){var e=arguments[1],n=arguments[2],i=new yi(arguments[0]);return i.setQuadrantSegments(n),i.getResultGeometry(e)}if(arguments[2]instanceof Cn&&arguments[0]instanceof ct&&"number"==typeof arguments[1]){var r=arguments[1];return new yi(arguments[0],arguments[2]).getResultGeometry(r)}}else if(4===arguments.length){var o=arguments[1],s=arguments[2],a=arguments[3],u=new yi(arguments[0]);return u.setQuadrantSegments(s),u.setEndCapStyle(a),u.getResultGeometry(o)}},yi.precisionScaleFactor=function(t,e,n){var i=t.getEnvelopeInternal(),r=O.max(Math.abs(i.getMaxX()),Math.abs(i.getMaxY()),Math.abs(i.getMinX()),Math.abs(i.getMinY()))+2*(e>0?e:0),o=n-Math.trunc(Math.log(r)/Math.log(10)+1);return Math.pow(10,o)},di.CAP_ROUND.get=function(){return Cn.CAP_ROUND},di.CAP_BUTT.get=function(){return Cn.CAP_FLAT},di.CAP_FLAT.get=function(){return Cn.CAP_FLAT},di.CAP_SQUARE.get=function(){return Cn.CAP_SQUARE},di.MAX_PRECISION_DIGITS.get=function(){return 12},Object.defineProperties(yi,di);var _i=function(){this._pt=[new C,new C],this._distance=v.NaN,this._isNull=!0};_i.prototype.getCoordinates=function(){return this._pt},_i.prototype.getCoordinate=function(t){return this._pt[t]},_i.prototype.setMinimum=function(){if(1===arguments.length){var t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){var e=arguments[0],n=arguments[1];if(this._isNull)return this.initialize(e,n),null;var i=e.distance(n);ithis._distance&&this.initialize(e,n,i)}},_i.prototype.interfaces_=function(){return[]},_i.prototype.getClass=function(){return _i};var mi=function(){};mi.prototype.interfaces_=function(){return[]},mi.prototype.getClass=function(){return mi},mi.computeDistance=function(){if(arguments[2]instanceof _i&&arguments[0]instanceof Zt&&arguments[1]instanceof C)for(var t=arguments[1],e=arguments[2],n=arguments[0].getCoordinates(),i=new yn,r=0;r0||this._isIn?L.INTERIOR:L.EXTERIOR)},Si.prototype.interfaces_=function(){return[]},Si.prototype.getClass=function(){return Si};var bi=function t(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length)t.call(this,arguments[0],t.INSIDE_AREA,arguments[1]);else if(3===arguments.length){var e=arguments[0],n=arguments[1],i=arguments[2];this._component=e,this._segIndex=n,this._pt=i}},wi={INSIDE_AREA:{configurable:!0}};bi.prototype.isInsideArea=function(){return this._segIndex===bi.INSIDE_AREA},bi.prototype.getCoordinate=function(){return this._pt},bi.prototype.getGeometryComponent=function(){return this._component},bi.prototype.getSegmentIndex=function(){return this._segIndex},bi.prototype.interfaces_=function(){return[]},bi.prototype.getClass=function(){return bi},wi.INSIDE_AREA.get=function(){return-1},Object.defineProperties(bi,wi);var Li=function(t){this._pts=t||null};Li.prototype.filter=function(t){t instanceof Jt&&this._pts.add(t)},Li.prototype.interfaces_=function(){return[Ut]},Li.prototype.getClass=function(){return Li},Li.getPoints=function(){if(1===arguments.length){var t=arguments[0];return t instanceof Jt?$e.singletonList(t):Li.getPoints(t,new Nt)}if(2===arguments.length){var e=arguments[0],n=arguments[1];return e instanceof Jt?n.add(e):e instanceof zt&&e.apply(new Li(n)),n}};var Pi=function(){this._locations=null;var t=arguments[0];this._locations=t};Pi.prototype.filter=function(t){(t instanceof Jt||t instanceof Zt||t instanceof $t)&&this._locations.add(new bi(t,0,t.getCoordinate()))},Pi.prototype.interfaces_=function(){return[Ut]},Pi.prototype.getClass=function(){return Pi},Pi.getLocations=function(t){var e=new Nt;return t.apply(new Pi(e)),e};var Ri=function(){if(this._geom=null,this._terminateDistance=0,this._ptLocator=new Si,this._minDistanceLocation=null,this._minDistance=v.MAX_VALUE,2===arguments.length){var t=arguments[0],e=arguments[1];this._geom=[t,e],this._terminateDistance=0}else if(3===arguments.length){var n=arguments[0],i=arguments[1],r=arguments[2];this._geom=new Array(2).fill(null),this._geom[0]=n,this._geom[1]=i,this._terminateDistance=r}};Ri.prototype.computeContainmentDistance=function(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=1-e,r=Ni.getPolygons(this._geom[e]);if(r.size()>0){var o=Pi.getLocations(this._geom[i]);if(this.computeContainmentDistance(o,r,n),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[i]=n[0],this._minDistanceLocation[e]=n[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&R(arguments[0],It)&&R(arguments[1],It)){for(var s=arguments[0],a=arguments[1],u=arguments[2],l=0;lthis._minDistance)return null;for(var i=t.getCoordinates(),r=e.getCoordinate(),o=0;othis._minDistance)return null;for(var p=u.getCoordinates(),h=l.getCoordinates(),f=0;fthis._distance&&this.initialize(e,n,i)}},Oi.prototype.interfaces_=function(){return[]},Oi.prototype.getClass=function(){return Oi};var Ti=function(){};Ti.prototype.interfaces_=function(){return[]},Ti.prototype.getClass=function(){return Ti},Ti.computeDistance=function(){if(arguments[2]instanceof Oi&&arguments[0]instanceof Zt&&arguments[1]instanceof C)for(var t=arguments[0],e=arguments[1],n=arguments[2],i=new yn,r=t.getCoordinates(),o=0;o1||t<=0)throw new m("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t},Ai.prototype.compute=function(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)},Ai.prototype.distance=function(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()},Ai.prototype.computeOrientedDistance=function(t,e,n){var i=new Mi(e);if(t.apply(i),n.setMaximum(i.getMaxPointDistance()),this._densifyFrac>0){var r=new Fi(e,this._densifyFrac);t.apply(r),n.setMaximum(r.getMaxPointDistance())}},Ai.prototype.orientedDistance=function(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()},Ai.prototype.interfaces_=function(){return[]},Ai.prototype.getClass=function(){return Ai},Ai.distance=function(){if(2===arguments.length)return new Ai(arguments[0],arguments[1]).distance();if(3===arguments.length){var t=arguments[2],e=new Ai(arguments[0],arguments[1]);return e.setDensifyFraction(t),e.distance()}},Di.MaxPointDistanceFilter.get=function(){return Mi},Di.MaxDensifiedByFractionDistanceFilter.get=function(){return Fi},Object.defineProperties(Ai,Di);var Mi=function(){this._maxPtDist=new Oi,this._minPtDist=new Oi,this._euclideanDist=new Ti,this._geom=null;var t=arguments[0];this._geom=t};Mi.prototype.filter=function(t){this._minPtDist.initialize(),Ti.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)},Mi.prototype.getMaxPointDistance=function(){return this._maxPtDist},Mi.prototype.interfaces_=function(){return[ft]},Mi.prototype.getClass=function(){return Mi};var Fi=function(){this._maxPtDist=new Oi,this._minPtDist=new Oi,this._geom=null,this._numSubSegs=0;var t=arguments[0],e=arguments[1];this._geom=t,this._numSubSegs=Math.trunc(Math.round(1/e))};Fi.prototype.filter=function(t,e){if(0===e)return null;for(var n=t.getCoordinate(e-1),i=t.getCoordinate(e),r=(i.x-n.x)/this._numSubSegs,o=(i.y-n.y)/this._numSubSegs,s=0;sn){this._isValid=!1;var r=i.getCoordinates();this._errorLocation=r[1],this._errorIndicator=t.getFactory().createLineString(r),this._errMsg="Distance between buffer curve and input is too large ("+this._maxDistanceFound+" at "+Q.toLineString(r[0],r[1])+")"}},Gi.prototype.isValid=function(){var t=Math.abs(this._bufDistance),e=Gi.MAX_DISTANCE_DIFF_FRAC*t;return this._minValidDistance=t-e,this._maxValidDistance=t+e,!(!this._input.isEmpty()&&!this._result.isEmpty())||(this._bufDistance>0?this.checkPositiveValid():this.checkNegativeValid(),Gi.VERBOSE&&Y.out.println("Min Dist= "+this._minDistanceFound+" err= "+(1-this._minDistanceFound/this._bufDistance)+" Max Dist= "+this._maxDistanceFound+" err= "+(this._maxDistanceFound/this._bufDistance-1)),this._isValid)},Gi.prototype.checkNegativeValid=function(){if(!(this._input instanceof $t||this._input instanceof ne||this._input instanceof zt))return null;var t=this.getPolygonLines(this._input);if(this.checkMinimumDistance(t,this._result,this._minValidDistance),!this._isValid)return null;this.checkMaximumDistance(t,this._result,this._maxValidDistance)},Gi.prototype.getErrorIndicator=function(){return this._errorIndicator},Gi.prototype.checkMinimumDistance=function(t,e,n){var i=new Ri(t,e,n);if(this._minDistanceFound=i.distance(),this._minDistanceFound0&&t>e&&(this._isValid=!1,this._errorMsg="Area of positive buffer is smaller than input",this._errorIndicator=this._result),this._distance<0&&t=2||this._distance>0?null:(this._result.isEmpty()||(this._isValid=!1,this._errorMsg="Result is non-empty",this._errorIndicator=this._result),void this.report("ExpectedEmpty"))},qi.prototype.report=function(t){if(!qi.VERBOSE)return null;Y.out.println("Check "+t+": "+(this._isValid?"passed":"FAILED"))},qi.prototype.getErrorMessage=function(){return this._errorMsg},qi.prototype.interfaces_=function(){return[]},qi.prototype.getClass=function(){return qi},qi.isValidMsg=function(t,e,n){var i=new qi(t,e,n);return i.isValid()?null:i.getErrorMessage()},qi.isValid=function(t,e,n){return!!new qi(t,e,n).isValid()},Ui.VERBOSE.get=function(){return!1},Ui.MAX_ENV_DIFF_FRAC.get=function(){return.012},Object.defineProperties(qi,Ui);var ki=function(){this._pts=null,this._data=null;var t=arguments[0],e=arguments[1];this._pts=t,this._data=e};ki.prototype.getCoordinates=function(){return this._pts},ki.prototype.size=function(){return this._pts.length},ki.prototype.getCoordinate=function(t){return this._pts[t]},ki.prototype.isClosed=function(){return this._pts[0].equals(this._pts[this._pts.length-1])},ki.prototype.getSegmentOctant=function(t){return t===this._pts.length-1?-1:pn.octant(this.getCoordinate(t),this.getCoordinate(t+1))},ki.prototype.setData=function(t){this._data=t},ki.prototype.getData=function(){return this._data},ki.prototype.toString=function(){return Q.toLineString(new ue(this._pts))},ki.prototype.interfaces_=function(){return[hn]},ki.prototype.getClass=function(){return ki};var zi=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new Nt,this._intersectionCount=0,this._keepIntersections=!0;var t=arguments[0];this._li=t,this._interiorIntersection=null};zi.prototype.getInteriorIntersection=function(){return this._interiorIntersection},zi.prototype.setCheckEndSegmentsOnly=function(t){this._isCheckEndSegmentsOnly=t},zi.prototype.getIntersectionSegments=function(){return this._intSegments},zi.prototype.count=function(){return this._intersectionCount},zi.prototype.getIntersections=function(){return this._intersections},zi.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},zi.prototype.setKeepIntersections=function(t){this._keepIntersections=t},zi.prototype.processIntersections=function(t,e,n,i){if(!this._findAllIntersections&&this.hasIntersection())return null;if(t===n&&e===i)return null;if(this._isCheckEndSegmentsOnly&&!this.isEndSegment(t,e)&&!this.isEndSegment(n,i))return null;var r=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[i],a=n.getCoordinates()[i+1];this._li.computeIntersection(r,o,s,a),this._li.hasIntersection()&&this._li.isInteriorIntersection()&&(this._intSegments=new Array(4).fill(null),this._intSegments[0]=r,this._intSegments[1]=o,this._intSegments[2]=s,this._intSegments[3]=a,this._interiorIntersection=this._li.getIntersection(0),this._keepIntersections&&this._intersections.add(this._interiorIntersection),this._intersectionCount++)},zi.prototype.isEndSegment=function(t,e){return 0===e||e>=t.size()-2},zi.prototype.hasIntersection=function(){return null!==this._interiorIntersection},zi.prototype.isDone=function(){return!this._findAllIntersections&&null!==this._interiorIntersection},zi.prototype.interfaces_=function(){return[Wn]},zi.prototype.getClass=function(){return zi},zi.createAllIntersectionsFinder=function(t){var e=new zi(t);return e.setFindAllIntersections(!0),e},zi.createAnyIntersectionFinder=function(t){return new zi(t)},zi.createIntersectionCounter=function(t){var e=new zi(t);return e.setFindAllIntersections(!0),e.setKeepIntersections(!1),e};var Vi=function(){this._li=new rt,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;var t=arguments[0];this._segStrings=t};Vi.prototype.execute=function(){if(null!==this._segInt)return null;this.checkInteriorIntersections()},Vi.prototype.getIntersections=function(){return this._segInt.getIntersections()},Vi.prototype.isValid=function(){return this.execute(),this._isValid},Vi.prototype.setFindAllIntersections=function(t){this._findAllIntersections=t},Vi.prototype.checkInteriorIntersections=function(){this._isValid=!0,this._segInt=new zi(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new In;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null},Vi.prototype.checkValid=function(){if(this.execute(),!this._isValid)throw new Le(this.getErrorMessage(),this._segInt.getInteriorIntersection())},Vi.prototype.getErrorMessage=function(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+Q.toLineString(t[0],t[1])+" and "+Q.toLineString(t[2],t[3])},Vi.prototype.interfaces_=function(){return[]},Vi.prototype.getClass=function(){return Vi},Vi.computeIntersections=function(t){var e=new Vi(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()};var Yi=function t(){this._nv=null;var e=arguments[0];this._nv=new Vi(t.toSegmentStrings(e))};Yi.prototype.checkValid=function(){this._nv.checkValid()},Yi.prototype.interfaces_=function(){return[]},Yi.prototype.getClass=function(){return Yi},Yi.toSegmentStrings=function(t){for(var e=new Nt,n=t.iterator();n.hasNext();){var i=n.next();e.add(new ki(i.getCoordinates(),i))}return e},Yi.checkValid=function(t){new Yi(t).checkValid()};var Xi=function(t){this._mapOp=t};Xi.prototype.map=function(t){for(var e=new Nt,n=0;n0&&i<4&&!this._preserveType?this._factory.createLineString(n):this._factory.createLinearRing(n)},Wi.prototype.interfaces_=function(){return[]},Wi.prototype.getClass=function(){return Wi};var Zi=function t(){if(this._snapTolerance=0,this._srcPts=null,this._seg=new yn,this._allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof Zt&&"number"==typeof arguments[1]){var e=arguments[1];t.call(this,arguments[0].getCoordinates(),e)}else if(arguments[0]instanceof Array&&"number"==typeof arguments[1]){var n=arguments[0],i=arguments[1];this._srcPts=n,this._isClosed=t.isClosed(n),this._snapTolerance=i}};Zi.prototype.snapVertices=function(t,e){for(var n=this._isClosed?t.size()-1:t.size(),i=0;i=0&&t.add(o+1,new C(r),!1)}},Zi.prototype.findSegmentIndexToSnap=function(t,e){for(var n=v.MAX_VALUE,i=-1,r=0;re&&(e=i)}return e}if(2===arguments.length){var r=arguments[0],o=arguments[1];return Math.min(Ki.computeOverlaySnapTolerance(r),Ki.computeOverlaySnapTolerance(o))}},Ki.computeSizeBasedSnapTolerance=function(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*Ki.SNAP_PRECISION_FACTOR},Ki.snapToSelf=function(t,e,n){return new Ki(t).snapToSelf(e,n)},Ji.SNAP_PRECISION_FACTOR.get=function(){return 1e-9},Object.defineProperties(Ki,Ji);var Qi=function(t){function e(e,n,i){t.call(this),this._snapTolerance=e||null,this._snapPts=n||null,this._isSelfSnap=void 0!==i&&i}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.snapLine=function(t,e){var n=new Zi(t,this._snapTolerance);return n.setAllowSnappingToSourceVertices(this._isSelfSnap),n.snapTo(e)},e.prototype.transformCoordinates=function(t,e){var n=t.toCoordinateArray(),i=this.snapLine(n,this._snapPts);return this._factory.getCoordinateSequenceFactory().create(i)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(Wi),$i=function(){this._isFirst=!0,this._commonMantissaBitsCount=53,this._commonBits=0,this._commonSignExp=null};$i.prototype.getCommon=function(){return v.longBitsToDouble(this._commonBits)},$i.prototype.add=function(t){var e=v.doubleToLongBits(t);return this._isFirst?(this._commonBits=e,this._commonSignExp=$i.signExpBits(this._commonBits),this._isFirst=!1,null):$i.signExpBits(e)!==this._commonSignExp?(this._commonBits=0,null):(this._commonMantissaBitsCount=$i.numCommonMostSigMantissaBits(this._commonBits,e),void(this._commonBits=$i.zeroLowerBits(this._commonBits,64-(12+this._commonMantissaBitsCount))))},$i.prototype.toString=function(){if(1===arguments.length){var t=arguments[0],e=v.longBitsToDouble(t),n="0000000000000000000000000000000000000000000000000000000000000000"+v.toBinaryString(t),i=n.substring(n.length-64);return i.substring(0,1)+" "+i.substring(1,12)+"(exp) "+i.substring(12)+" [ "+e+" ]"}},$i.prototype.interfaces_=function(){return[]},$i.prototype.getClass=function(){return $i},$i.getBit=function(t,e){return 0!=(t&1<>52},$i.zeroLowerBits=function(t,e){return t&~((1<=0;i--){if($i.getBit(t,i)!==$i.getBit(e,i))return n;n++}return 52};var tr=function(){this._commonCoord=null,this._ccFilter=new nr},er={CommonCoordinateFilter:{configurable:!0},Translater:{configurable:!0}};tr.prototype.addCommonBits=function(t){var e=new ir(this._commonCoord);t.apply(e),t.geometryChanged()},tr.prototype.removeCommonBits=function(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new C(this._commonCoord);e.x=-e.x,e.y=-e.y;var n=new ir(e);return t.apply(n),t.geometryChanged(),t},tr.prototype.getCommonCoordinate=function(){return this._commonCoord},tr.prototype.add=function(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()},tr.prototype.interfaces_=function(){return[]},tr.prototype.getClass=function(){return tr},er.CommonCoordinateFilter.get=function(){return nr},er.Translater.get=function(){return ir},Object.defineProperties(tr,er);var nr=function(){this._commonBitsX=new $i,this._commonBitsY=new $i};nr.prototype.filter=function(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)},nr.prototype.getCommonCoordinate=function(){return new C(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())},nr.prototype.interfaces_=function(){return[ft]},nr.prototype.getClass=function(){return nr};var ir=function(){this.trans=null;var t=arguments[0];this.trans=t};ir.prototype.filter=function(t,e){var n=t.getOrdinate(e,0)+this.trans.x,i=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,n),t.setOrdinate(e,1,i)},ir.prototype.isDone=function(){return!1},ir.prototype.isGeometryChanged=function(){return!0},ir.prototype.interfaces_=function(){return[kt]},ir.prototype.getClass=function(){return ir};var rr=function(t,e){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null,this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};rr.prototype.selfSnap=function(t){return new Ki(t).snapTo(t,this._snapTolerance)},rr.prototype.removeCommonBits=function(t){this._cbr=new tr,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e},rr.prototype.prepareResult=function(t){return this._cbr.addCommonBits(t),t},rr.prototype.getResultGeometry=function(t){var e=this.snap(this._geom),n=br.overlayOp(e[0],e[1],t);return this.prepareResult(n)},rr.prototype.checkValid=function(t){t.isValid()||Y.out.println("Snapped geometry is invalid")},rr.prototype.computeSnapTolerance=function(){this._snapTolerance=Ki.computeOverlaySnapTolerance(this._geom[0],this._geom[1])},rr.prototype.snap=function(t){var e=this.removeCommonBits(t);return Ki.snap(e[0],e[1],this._snapTolerance)},rr.prototype.interfaces_=function(){return[]},rr.prototype.getClass=function(){return rr},rr.overlayOp=function(t,e,n){return new rr(t,e).getResultGeometry(n)},rr.union=function(t,e){return rr.overlayOp(t,e,br.UNION)},rr.intersection=function(t,e){return rr.overlayOp(t,e,br.INTERSECTION)},rr.symDifference=function(t,e){return rr.overlayOp(t,e,br.SYMDIFFERENCE)},rr.difference=function(t,e){return rr.overlayOp(t,e,br.DIFFERENCE)};var or=function(t,e){this._geom=new Array(2).fill(null),this._geom[0]=t,this._geom[1]=e};or.prototype.getResultGeometry=function(t){var e=null,n=!1,i=null;try{e=br.overlayOp(this._geom[0],this._geom[1],t),n=!0}catch(t){if(!(t instanceof $))throw t;i=t}if(!n)try{e=rr.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof $?i:t}return e},or.prototype.interfaces_=function(){return[]},or.prototype.getClass=function(){return or},or.overlayOp=function(t,e,n){return new or(t,e).getResultGeometry(n)},or.union=function(t,e){return or.overlayOp(t,e,br.UNION)},or.intersection=function(t,e){return or.overlayOp(t,e,br.INTERSECTION)},or.symDifference=function(t,e){return or.overlayOp(t,e,br.SYMDIFFERENCE)},or.difference=function(t,e){return or.overlayOp(t,e,br.DIFFERENCE)};var sr=function(){this.mce=null,this.chainIndex=null;var t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};sr.prototype.computeIntersections=function(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)},sr.prototype.interfaces_=function(){return[]},sr.prototype.getClass=function(){return sr};var ar=function t(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){var e=arguments[0],n=arguments[1];this._eventType=t.DELETE,this._xValue=e,this._insertEvent=n}else if(3===arguments.length){var i=arguments[0],r=arguments[1],o=arguments[2];this._eventType=t.INSERT,this._label=i,this._xValue=r,this._obj=o}},ur={INSERT:{configurable:!0},DELETE:{configurable:!0}};ar.prototype.isDelete=function(){return this._eventType===ar.DELETE},ar.prototype.setDeleteEventIndex=function(t){this._deleteEventIndex=t},ar.prototype.getObject=function(){return this._obj},ar.prototype.compareTo=function(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0},ar.prototype.getInsertEvent=function(){return this._insertEvent},ar.prototype.isInsert=function(){return this._eventType===ar.INSERT},ar.prototype.isSameLabel=function(t){return null!==this._label&&this._label===t._label},ar.prototype.getDeleteEventIndex=function(){return this._deleteEventIndex},ar.prototype.interfaces_=function(){return[x]},ar.prototype.getClass=function(){return ar},ur.INSERT.get=function(){return 1},ur.DELETE.get=function(){return 2},Object.defineProperties(ar,ur);var lr=function(){};lr.prototype.interfaces_=function(){return[]},lr.prototype.getClass=function(){return lr};var cr=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;var t=arguments[0],e=arguments[1],n=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=n};cr.prototype.isTrivialIntersection=function(t,e,n,i){if(t===n&&1===this._li.getIntersectionNum()){if(cr.isAdjacentSegments(e,i))return!0;if(t.isClosed()){var r=t.getNumPoints()-1;if(0===e&&i===r||0===i&&e===r)return!0}}return!1},cr.prototype.getProperIntersectionPoint=function(){return this._properIntersectionPoint},cr.prototype.setIsDoneIfProperInt=function(t){this._isDoneWhenProperInt=t},cr.prototype.hasProperInteriorIntersection=function(){return this._hasProperInterior},cr.prototype.isBoundaryPointInternal=function(t,e){for(var n=e.iterator();n.hasNext();){var i=n.next().getCoordinate();if(t.isIntersection(i))return!0}return!1},cr.prototype.hasProperIntersection=function(){return this._hasProper},cr.prototype.hasIntersection=function(){return this._hasIntersection},cr.prototype.isDone=function(){return this._isDone},cr.prototype.isBoundaryPoint=function(t,e){return null!==e&&(!!this.isBoundaryPointInternal(t,e[0])||!!this.isBoundaryPointInternal(t,e[1]))},cr.prototype.setBoundaryNodes=function(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e},cr.prototype.addIntersections=function(t,e,n,i){if(t===n&&e===i)return null;this.numTests++;var r=t.getCoordinates()[e],o=t.getCoordinates()[e+1],s=n.getCoordinates()[i],a=n.getCoordinates()[i+1];this._li.computeIntersection(r,o,s,a),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),n.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,n,i)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),n.addIntersections(this._li,i,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))},cr.prototype.interfaces_=function(){return[]},cr.prototype.getClass=function(){return cr},cr.isAdjacentSegments=function(t,e){return 1===Math.abs(t-e)};var pr=function(t){function e(){t.call(this),this.events=new Nt,this.nOverlaps=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.prepareEvents=function(){$e.sort(this.events);for(var t=0;te||this._maxo?1:0},gr.prototype.interfaces_=function(){return[N]},gr.prototype.getClass=function(){return gr};var yr=function(t){function e(){t.call(this),this._item=null;var e=arguments[0],n=arguments[1],i=arguments[2];this._min=e,this._max=n,this._item=i}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;n.visitItem(this._item)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(hr),dr=function(t){function e(){t.call(this),this._node1=null,this._node2=null;var e=arguments[0],n=arguments[1];this._node1=e,this._node2=n,this.buildExtent(this._node1,this._node2)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.buildExtent=function(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)},e.prototype.query=function(t,e,n){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,n),null!==this._node2&&this._node2.query(t,e,n)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e}(hr),_r=function(){this._leaves=new Nt,this._root=null,this._level=0};_r.prototype.buildTree=function(){$e.sort(this._leaves,new hr.NodeComparator);for(var t=this._leaves,e=null,n=new Nt;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);e=t,t=n,n=e}},_r.prototype.insert=function(t,e,n){if(null!==this._root)throw new Error("Index cannot be added to once it has been queried");this._leaves.add(new yr(t,e,n))},_r.prototype.query=function(t,e,n){this.init(),this._root.query(t,e,n)},_r.prototype.buildRoot=function(){if(null!==this._root)return null;this._root=this.buildTree()},_r.prototype.printNode=function(t){Y.out.println(Q.toLineString(new C(t._min,this._level),new C(t._max,this._level)))},_r.prototype.init=function(){if(null!==this._root)return null;this.buildRoot()},_r.prototype.buildLevel=function(t,e){this._level++,e.clear();for(var n=0;n=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])},e.prototype.getInvalidPoint=function(){return this._invalidPoint},e.prototype.getBoundaryPoints=function(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),n=0,i=t.iterator();i.hasNext();){var r=i.next();e[n++]=r.getCoordinate().copy()}return e},e.prototype.getBoundaryNodes=function(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes},e.prototype.addSelfIntersectionNode=function(t,e,n){if(this.isBoundaryNode(t,e))return null;n===L.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,n)},e.prototype.addPolygonRing=function(t,e,n){if(t.isEmpty())return null;var i=bt.removeRepeatedPoints(t.getCoordinates());if(i.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=i[0],null;var r=e,o=n;at.isCCW(i)&&(r=n,o=e);var s=new ni(i,new Te(this._argIndex,L.BOUNDARY,r,o));this._lineEdgeMap.put(t,s),this.insertEdge(s),this.insertPoint(this._argIndex,i[0],L.BOUNDARY)},e.prototype.insertPoint=function(t,e,n){var i=this._nodes.addNode(e),r=i.getLabel();null===r?i._label=new Te(t,n):r.setLocation(t,n)},e.prototype.createEdgeSetIntersector=function(){return new pr},e.prototype.addSelfIntersectionNodes=function(t){for(var e=this._edges.iterator();e.hasNext();)for(var n=e.next(),i=n.getLabel().getLocation(t),r=n.eiList.iterator();r.hasNext();){var o=r.next();this.addSelfIntersectionNode(t,o.coord,i)}},e.prototype.add=function(){if(1!==arguments.length)return t.prototype.add.apply(this,arguments);var e=arguments[0];if(e.isEmpty())return null;if(e instanceof ne&&(this._useBoundaryDeterminationRule=!1),e instanceof $t)this.addPolygon(e);else if(e instanceof Zt)this.addLineString(e);else if(e instanceof Jt)this.addPoint(e);else if(e instanceof te)this.addCollection(e);else if(e instanceof Vt)this.addCollection(e);else if(e instanceof ne)this.addCollection(e);else{if(!(e instanceof zt))throw new Error(e.getClass().getName());this.addCollection(e)}},e.prototype.addCollection=function(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new vr(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)},e.prototype.findEdge=function(){if(1===arguments.length){var e=arguments[0];return this._lineEdgeMap.get(e)}return t.prototype.findEdge.apply(this,arguments)},e.prototype.interfaces_=function(){return[]},e.prototype.getClass=function(){return e},e.determineBoundary=function(t,e){return t.isInBoundary(e)?L.BOUNDARY:L.INTERIOR},e}(Ye),Cr=function(){if(this._li=new rt,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){var t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new Nr(0,t)}else if(2===arguments.length){var e=arguments[0],n=arguments[1],i=gt.OGC_SFS_BOUNDARY_RULE;e.getPrecisionModel().compareTo(n.getPrecisionModel())>=0?this.setComputationPrecision(e.getPrecisionModel()):this.setComputationPrecision(n.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Nr(0,e,i),this._arg[1]=new Nr(1,n,i)}else if(3===arguments.length){var r=arguments[0],o=arguments[1],s=arguments[2];r.getPrecisionModel().compareTo(o.getPrecisionModel())>=0?this.setComputationPrecision(r.getPrecisionModel()):this.setComputationPrecision(o.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Nr(0,r,s),this._arg[1]=new Nr(1,o,s)}};Cr.prototype.getArgGeometry=function(t){return this._arg[t].getGeometry()},Cr.prototype.setComputationPrecision=function(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)},Cr.prototype.interfaces_=function(){return[]},Cr.prototype.getClass=function(){return Cr};var Sr=function(){};Sr.prototype.interfaces_=function(){return[]},Sr.prototype.getClass=function(){return Sr},Sr.map=function(){if(arguments[0]instanceof ct&&R(arguments[1],Sr.MapOp)){for(var t=arguments[0],e=arguments[1],n=new Nt,i=0;i=t.size()?null:t.get(e)},Ar.union=function(t){return new Ar(t).union()},Dr.STRTREE_NODE_CAPACITY.get=function(){return 4},Object.defineProperties(Ar,Dr);var Mr=function(){};Mr.prototype.interfaces_=function(){return[]},Mr.prototype.getClass=function(){return Mr},Mr.union=function(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return br.createEmptyResult(br.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),or.overlayOp(t,e,br.UNION)},t.GeoJSONReader=Ne,t.GeoJSONWriter=Ce,t.OverlayOp=br,t.UnionOp=Mr,t.BufferOp=yi,Object.defineProperty(t,"__esModule",{value:!0})}(e)},58205:t=>{let e=/[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/,n=new RegExp("^"+e.source+"(\\s"+e.source+"){1,}");const i=t=>{function e(t){return t.join(" ")}function n(t){return t.map(e).join(", ")}function r(t){return t.map(n).map(s).join(", ")}function o(t){return t.map(r).map(s).join(", ")}function s(t){return"("+t+")"}"Feature"===t.type&&(t=t.geometry);let a=t;switch(a.type){case"Point":return a.coordinates&&3===a.coordinates.length?"POINT Z ("+e(a.coordinates)+")":"POINT ("+e(a.coordinates)+")";case"LineString":return a.coordinates&&a.coordinates[0]&&3===a.coordinates[0].length?"LINESTRING Z ("+n(a.coordinates)+")":"LINESTRING ("+n(a.coordinates)+")";case"Polygon":return a.coordinates&&a.coordinates[0]&&a.coordinates[0][0]&&3===a.coordinates[0][0].length?"POLYGON Z ("+r(a.coordinates)+")":"POLYGON ("+r(a.coordinates)+")";case"MultiPoint":return a.coordinates&&a.coordinates[0]&&3===a.coordinates[0].length?"MULTIPOINT Z ("+n(a.coordinates)+")":"MULTIPOINT ("+n(a.coordinates)+")";case"MultiLineString":return a.coordinates&&a.coordinates[0]&&a.coordinates[0][0]&&3===a.coordinates[0][0].length?"MULTILINESTRING Z ("+r(a.coordinates)+")":"MULTILINESTRING ("+r(a.coordinates)+")";case"MultiPolygon":return a.coordinates&&a.coordinates[0]&&a.coordinates[0][0]&&a.coordinates[0][0]&&3===a.coordinates[0][0][0].length?"MULTIPOLYGON Z ("+o(a.coordinates)+")":"MULTIPOLYGON ("+o(a.coordinates)+")";case"GeometryCollection":return"GEOMETRYCOLLECTION ("+a.geometries.map(i).join(", ")+")";default:throw new Error("stringify requires a valid GeoJSON Feature or geometry object as input")}};t.exports={parse:t=>{let e=t.split(";"),i=e.pop(),r=(e.shift()||"").split("=").pop(),o=0;function s(t){let e=i.substring(o).match(t);return e?(o+=e[0].length,e[0]):null}function a(){s(/^\s*/)}function u(){a();let t,e=0,i=[],r=[i],o=i;for(;t=s(/^(\()/)||s(/^(\))/)||s(/^(,)/)||s(n);){if("("===t)r.push(o),o=[],r[r.length-1].push(o),e++;else if(")"===t){if(0===o.length)return null;if(o=r.pop(),!o)return null;if(e--,0===e)break}else if(","===t)o=[],r[r.length-1].push(o);else{if(t.split(/\s/g).some(isNaN))return null;Array.prototype.push.apply(o,t.split(/\s/g).map(parseFloat))}a()}return 0!==e?null:i}function l(){let t,e,i=[];for(;e=s(n)||s(/^(,)/);)","===e?(i.push(t),t=[]):e.split(/\s/g).some(isNaN)||(t||(t=[]),Array.prototype.push.apply(t,e.split(/\s/g).map(parseFloat))),a();return t?(i.push(t),i.length?i:null):null}function c(){return function(){if(!s(/^(point(\sz)?)/i))return null;if(a(),!s(/^(\()/))return null;let t=l();return t?(a(),s(/^(\))/)?{type:"Point",coordinates:t[0]}:null):null}()||function(){if(!s(/^(linestring(\sz)?)/i))return null;if(a(),!s(/^(\()/))return null;let t=l();return t&&s(/^(\))/)?{type:"LineString",coordinates:t}:null}()||function(){if(!s(/^(polygon(\sz)?)/i))return null;a();let t=u();return t?{type:"Polygon",coordinates:t}:null}()||function(){if(!s(/^(multipoint(\sz)?)/i))return null;a();let t=i.substring(i.indexOf("(")+1,i.length-1).replace(/\(/g,"").replace(/\)/g,"");i="MULTIPOINT ("+t+")";let e=u();return e?(a(),{type:"MultiPoint",coordinates:e}):null}()||function(){if(!s(/^(multilinestring(\sz)?)/i))return null;a();let t=u();return t?(a(),{type:"MultiLineString",coordinates:t}):null}()||function(){if(!s(/^(multipolygon(\sz)?)/i))return null;a();let t=u();return t?{type:"MultiPolygon",coordinates:t}:null}()||function(){let t,e=[];if(!s(/^(geometrycollection)/i))return null;if(a(),!s(/^(\()/))return null;for(;t=c();)e.push(t),a(),s(/^(,)/),a();return s(/^(\))/)?{type:"GeometryCollection",geometries:e}:null}()}return(p=c())&&r.match(/\d+/)&&(p.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+r}}),p;var p},stringify:i}},17527:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var i=n(40517);function r(t,e){void 0===e&&(e={});var n=Number(t[0]),r=Number(t[1]),o=Number(t[2]),s=Number(t[3]);if(6===t.length)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");var a=[n,r],u=[n,s],l=[o,s],c=[o,r];return(0,i.yu)([[a,c,l,u,a]],e.properties,{bbox:t,id:e.id})}},82086:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(48024);function r(t){var e=[1/0,1/0,-1/0,-1/0];return(0,i.pZ)(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";n.d(e,{Z:()=>r});var i=n(81011);function r(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var r=(0,i.c9)(t),s=(0,i.wA)(e),a=s.type,u=e.bbox,l=s.coordinates;if(u&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(r,u))return!1;"Polygon"===a&&(l=[l]);for(var c=!1,p=0;pt[1]!==l>t[1]&&t[0]<(u-s)*(t[1]-a)/(l-a)+s&&(i=!i)}return i}},936:(t,e,n)=>{"use strict";n.d(e,{Z:()=>jt});var i=n(40590),r=n(28774),o=n(48024);function s(){return new a}function a(){this.reset()}a.prototype={constructor:a,reset:function(){this.s=this.t=0},add:function(t){l(u,t,this.t),l(this,u.s,this.s),this.s?this.t+=u.t:this.s=u.t},valueOf:function(){return this.s}};var u=new a;function l(t,e,n){var i=t.s=e+n,r=i-e,o=i-r;t.t=e-o+(n-r)}var c=1e-6,p=Math.PI,h=p/2,f=p/4,g=2*p,y=180/p,d=p/180,_=Math.abs,m=Math.atan,v=Math.atan2,E=Math.cos,x=(Math.ceil,Math.exp),I=(Math.floor,Math.log),N=(Math.pow,Math.sin),C=(Math.sign,Math.sqrt),S=Math.tan;function b(t){return t>1?0:t<-1?p:Math.acos(t)}function w(t){return t>1?h:t<-1?-h:Math.asin(t)}function L(){}function P(t,e){t&&O.hasOwnProperty(t.type)&&O[t.type](t,e)}var R={Feature:function(t,e){P(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,i=-1,r=n.length;++ip?t-g:t<-p?t+g:t,e]}function Y(t,e,n){return(t%=g)?e||n?z(j(t),H(e,n)):j(t):e||n?H(e,n):V}function X(t){return function(e,n){return[(e+=t)>p?e-g:e<-p?e+g:e,n]}}function j(t){var e=X(t);return e.invert=X(-t),e}function H(t,e){var n=E(t),i=N(t),r=E(e),o=N(e);function s(t,e){var s=E(e),a=E(t)*s,u=N(t)*s,l=N(e),c=l*n+a*i;return[v(u*r-c*o,a*n-l*i),w(c*r+u*o)]}return s.invert=function(t,e){var s=E(e),a=E(t)*s,u=N(t)*s,l=N(e),c=l*r-u*o;return[v(u*r+l*o,a*n+c*i),w(c*n-a*i)]},s}function W(t,e,n,i,r,o){if(n){var s=E(e),a=N(e),u=i*n;null==r?(r=e+i*g,o=e-u/2):(r=Z(s,r),o=Z(s,o),(i>0?ro)&&(r+=i*g));for(var l,c=r;i>0?c>o:c1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function J(t,e){return _(t[0]-e[0])=0;--o)r.point((c=l[o])[0],c[1]);else i(h.x,h.p.x,-1,r);h=h.p}l=(h=h.o).z,f=!f}while(!h.v);r.lineEnd()}}}function tt(t){if(e=t.length){for(var e,n,i=0,r=t[0];++ie?1:t>=e?0:NaN}V.invert=V;var nt=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return et(e(t),n)}),{left:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[o],n)<0?i=o+1:r=o}return i},right:function(e,n,i,r){for(null==i&&(i=0),null==r&&(r=e.length);i>>1;t(e[o],n)>0?r=o:i=o+1}return i}}}(et);nt.right,nt.left;var it=Array.prototype;it.slice,it.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2);function rt(t){for(var e,n,i,r=t.length,o=-1,s=0;++o=0;)for(e=(i=t[r]).length;--e>=0;)n[--s]=i[e];return n}var ot=1e9,st=-ot;function at(t,e,n,i){function r(r,o){return t<=r&&r<=n&&e<=o&&o<=i}function o(r,o,a,l){var c=0,p=0;if(null==r||(c=s(r,a))!==(p=s(o,a))||u(r,o)<0^a>0)do{l.point(0===c||3===c?t:n,c>1?i:e)}while((c=(c+a+4)%4)!==p);else l.point(o[0],o[1])}function s(i,r){return _(i[0]-t)0?0:3:_(i[0]-n)0?2:1:_(i[1]-e)0?1:0:r>0?3:2}function a(t,e){return u(t.x,e.x)}function u(t,e){var n=s(t,1),i=s(e,1);return n!==i?n-i:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(s){var u,l,c,p,h,f,g,y,d,_,m,v=s,E=K(),x={point:I,lineStart:function(){x.point=N,l&&l.push(c=[]);_=!0,d=!1,g=y=NaN},lineEnd:function(){u&&(N(p,h),f&&d&&E.rejoin(),u.push(E.result()));x.point=I,d&&v.lineEnd()},polygonStart:function(){v=E,u=[],l=[],m=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,r=l.length;ni&&(h-o)*(i-s)>(f-s)*(t-o)&&++e:f<=i&&(h-o)*(i-s)<(f-s)*(t-o)&&--e;return e}(),n=m&&e,r=(u=rt(u)).length;(n||r)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),r&&$(u,a,e,o,s),s.polygonEnd());v=s,u=l=c=null}};function I(t,e){r(t,e)&&v.point(t,e)}function N(o,s){var a=r(o,s);if(l&&c.push([o,s]),_)p=o,h=s,f=a,_=!1,a&&(v.lineStart(),v.point(o,s));else if(a&&d)v.point(o,s);else{var u=[g=Math.max(st,Math.min(ot,g)),y=Math.max(st,Math.min(ot,y))],E=[o=Math.max(st,Math.min(ot,o)),s=Math.max(st,Math.min(ot,s))];!function(t,e,n,i,r,o){var s,a=t[0],u=t[1],l=0,c=1,p=e[0]-a,h=e[1]-u;if(s=n-a,p||!(s>0)){if(s/=p,p<0){if(s0){if(s>c)return;s>l&&(l=s)}if(s=r-a,p||!(s<0)){if(s/=p,p<0){if(s>c)return;s>l&&(l=s)}else if(p>0){if(s0)){if(s/=h,h<0){if(s0){if(s>c)return;s>l&&(l=s)}if(s=o-u,h||!(s<0)){if(s/=h,h<0){if(s>c)return;s>l&&(l=s)}else if(h>0){if(s0&&(t[0]=a+l*p,t[1]=u+l*h),c<1&&(e[0]=a+c*p,e[1]=u+c*h),!0}}}}}(u,E,t,e,n,i)?a&&(v.lineStart(),v.point(o,s),m=!1):(d||(v.lineStart(),v.point(u[0],u[1])),v.point(E[0],E[1]),a||v.lineEnd(),m=!1)}g=o,y=s,d=a}return x}}var ut=s();function lt(t,e){var n=e[0],i=e[1],r=[N(n),-E(n),0],o=0,s=0;ut.reset();for(var a=0,u=t.length;a=0?1:-1,T=O*R,A=T>p,D=m*L;if(ut.add(v(D*O*N(T),x*P+D*E(T))),o+=A?R+O*g:R,A^d>=n^S>=n){var M=B(F(y),F(C));k(M);var G=B(r,M);k(G);var q=(A^R>=0?-1:1)*w(G[2]);(i>q||i===q&&(M[0]||M[1]))&&(s+=A^R>=0?1:-1)}}return(o<-c||oht&&(ht=t);eft&&(ft=e)},lineStart:L,lineEnd:L,polygonStart:L,polygonEnd:L,result:function(){var t=[[ct,pt],[ht,ft]];return ht=ft=-(pt=ct=1/0),t}};const yt=gt;s();function dt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function _t(t,e,n,i){return function(r,o){var s,a,u,l=e(o),c=r.invert(i[0],i[1]),p=K(),h=e(p),f=!1,g={point:y,lineStart:_,lineEnd:m,polygonStart:function(){g.point=v,g.lineStart=E,g.lineEnd=x,a=[],s=[]},polygonEnd:function(){g.point=y,g.lineStart=_,g.lineEnd=m,a=rt(a);var t=lt(s,c);a.length?(f||(o.polygonStart(),f=!0),$(a,vt,t,n,o)):t&&(f||(o.polygonStart(),f=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),f&&(o.polygonEnd(),f=!1),a=s=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function y(e,n){var i=r(e,n);t(e=i[0],n=i[1])&&o.point(e,n)}function d(t,e){var n=r(t,e);l.point(n[0],n[1])}function _(){g.point=d,l.lineStart()}function m(){g.point=y,l.lineEnd()}function v(t,e){u.push([t,e]);var n=r(t,e);h.point(n[0],n[1])}function E(){h.lineStart(),u=[]}function x(){v(u[0][0],u[0][1]),h.lineEnd();var t,e,n,i,r=h.clean(),l=p.result(),c=l.length;if(u.pop(),s.push(u),u=null,c)if(1&r){if((e=(n=l[0]).length-1)>0){for(f||(o.polygonStart(),f=!0),o.lineStart(),t=0;t1&&2&r&&l.push(l.pop().concat(l.shift())),a.push(l.filter(mt))}return g}}function mt(t){return t.length>1}function vt(t,e){return((t=t.x)[0]<0?t[1]-h-c:h-t[1])-((e=e.x)[0]<0?e[1]-h-c:h-e[1])}dt(4.5);const Et=_t((function(){return!0}),(function(t){var e,n=NaN,i=NaN,r=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var a=o>0?p:-p,u=_(o-n);_(u-p)0?h:-h),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(a,i),t.point(o,i),e=0):r!==a&&u>=p&&(_(n-r)c?m((N(e)*(o=E(i))*N(n)-N(i)*(r=E(e))*N(t))/(r*o*s)):(e+i)/2}(n,i,o,s),t.point(r,i),t.lineEnd(),t.lineStart(),t.point(a,i),e=0),t.point(n=o,i=s),r=a},lineEnd:function(){t.lineEnd(),n=i=NaN},clean:function(){return 2-e}}}),(function(t,e,n,i){var r;if(null==t)r=n*h,i.point(-p,r),i.point(0,r),i.point(p,r),i.point(p,0),i.point(p,-r),i.point(0,-r),i.point(-p,-r),i.point(-p,0),i.point(-p,r);else if(_(t[0]-e[0])>c){var o=t[0]4*e&&d--){var N=s+f,S=a+g,b=u+y,L=C(N*N+S*S+b*b),P=w(b/=L),R=_(_(b)-1)e||_((E*D+x*M)/I-.5)>.3||s*f+a*g+u*y0,r=_(n)>c;function o(t,e){return E(t)*E(e)>n}function s(t,e,i){var r=[1,0,0],o=B(F(t),F(e)),s=G(o,o),a=o[0],u=s-a*a;if(!u)return!i&&t;var l=n*s/u,h=-n*a/u,f=B(r,o),g=U(r,l);q(g,U(o,h));var y=f,d=G(g,y),m=G(y,y),v=d*d-m*(G(g,g)-1);if(!(v<0)){var E=C(v),x=U(y,(-d-E)/m);if(q(x,g),x=M(x),!i)return x;var I,N=t[0],S=e[0],b=t[1],w=e[1];S0^x[1]<(_(x[0]-N)p^(N<=x[0]&&x[0]<=S)){var R=U(y,(-d+E)/m);return q(R,g),[x,M(R)]}}}function a(e,n){var r=i?t:p-t,o=0;return e<-r?o|=1:e>r&&(o|=2),n<-r?o|=4:n>r&&(o|=8),o}return _t(o,(function(t){var e,n,u,l,h;return{lineStart:function(){l=u=!1,h=1},point:function(f,g){var y,d=[f,g],_=o(f,g),m=i?_?0:a(f,g):_?a(f+(f<0?p:-p),g):0;if(!e&&(l=u=_)&&t.lineStart(),_!==u&&(!(y=s(e,d))||J(e,y)||J(d,y))&&(d[0]+=c,d[1]+=c,_=o(d[0],d[1])),_!==u)h=0,_?(t.lineStart(),y=s(d,e),t.point(y[0],y[1])):(y=s(e,d),t.point(y[0],y[1]),t.lineEnd()),e=y;else if(r&&e&&i^_){var v;m&n||!(v=s(d,e,!0))||(h=0,i?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!_||e&&J(e,d)||t.point(d[0],d[1]),e=d,u=_,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return h|(l&&u)<<1}}}),(function(n,i,r,o){W(o,t,e,r,n,i)}),i?[0,-t]:[-p,t-p])}(b=t*d,6*d):(b=null,Et),V()):b*y},T.clipExtent=function(t){return arguments.length?(P=null==t?(L=s=a=u=null,xt):at(L=+t[0][0],s=+t[0][1],a=+t[1][0],u=+t[1][1]),V()):null==L?null:[[L,s],[a,u]]},T.scale=function(t){return arguments.length?(f=+t,k()):f},T.translate=function(t){return arguments.length?(g=+t[0],m=+t[1],k()):[g,m]},T.center=function(t){return arguments.length?(v=t[0]%360*d,x=t[1]%360*d,k()):[v*y,x*y]},T.rotate=function(t){return arguments.length?(I=t[0]%360*d,N=t[1]%360*d,S=t.length>2?t[2]%360*d:0,k()):[I*y,N*y,S*y]},T.precision=function(t){return arguments.length?(O=wt(D,R=t*t),V()):C(R)},T.fitExtent=function(t,e){return Ct(T,t,e)},T.fitSize=function(t,e){return function(t,e,n){return Ct(t,[[0,0],e],n)}(T,t,e)},function(){return e=t.apply(this,arguments),T.invert=e.invert&&A,k()}}((function(){return t}))()}function Rt(t){return function(e,n){var i=E(e),r=E(n),o=t(i*r);return[o*r*N(e),o*N(n)]}}function Ot(t){return function(e,n){var i=C(e*e+n*n),r=t(i),o=N(r),s=E(r);return[v(e*o,i*s),w(i&&n*o/i)]}}var Tt=Rt((function(t){return C(2/(1+t))}));Tt.invert=Ot((function(t){return 2*w(t/2)}));var At=Rt((function(t){return(t=b(t))&&t/N(t)}));function Dt(t,e){return[t,I(S((h+e)/2))]}function Mt(t,e){return[t,e]}function Ft(t,e){var n=E(e),i=E(t)*n;return[n*N(t)/i,N(e)/i]}function Gt(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(i*(.003971*n-.001529*i)-.013791)),e*(1.007226+n*(.015085+i*(.028874*n-.044475-.005916*i)))]}function Bt(t,e){return[E(e)*N(t),N(e)]}function qt(t,e){var n=E(e),i=1+E(t)*n;return[n*N(t)/i,N(e)/i]}function Ut(t,e){return[I(S((h+e)/2)),-t]}At.invert=Ot((function(t){return t})),Dt.invert=function(t,e){return[t,2*m(x(e))-h]},Mt.invert=Mt,Ft.invert=Ot(m),Gt.invert=function(t,e){var n,i=e,r=25;do{var o=i*i,s=o*o;i-=n=(i*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while(_(n)>c&&--r>0);return[t/(.8707+(o=i*i)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),i]},Bt.invert=Ot(w),qt.invert=Ot((function(t){return 2*m(t)})),Ut.invert=function(t,e){return[-e,2*m(x(t))-h]};var kt=n(40517);function zt(t,e,n,s){var a=t.properties||{},u="Feature"===t.type?t.geometry:t;if("GeometryCollection"===u.type){var l=[];return(0,o.on)(t,(function(t){var i=zt(t,e,n,s);i&&l.push(i)})),(0,kt.uf)(l)}var c=function(t){var e=(0,i.Z)(t).geometry.coordinates,n=[-e[0],-e[1]];return Pt(At).scale(79.4188).clipAngle(179.999).rotate(n).scale(kt.rQ)}(u),p={type:u.type,coordinates:Yt(u.coordinates,c)},h=(new r.GeoJSONReader).read(p),f=(0,kt.DL)((0,kt.lF)(e,n),"meters"),g=r.BufferOp.bufferOp(h,f,s);if(!Vt((g=(new r.GeoJSONWriter).write(g)).coordinates)){var y={type:g.type,coordinates:Xt(g.coordinates,c)};return(0,kt.zL)(y,a)}}function Vt(t){return Array.isArray(t[0])?Vt(t[0]):isNaN(t[0])}function Yt(t,e){return"object"!==typeof t[0]?e(t):t.map((function(t){return Yt(t,e)}))}function Xt(t,e){return"object"!==typeof t[0]?e.invert(t):t.map((function(t){return Xt(t,e)}))}const jt=function(t,e,n){var i=(n=n||{}).units||"kilometers",r=n.steps||8;if(!t)throw new Error("geojson is required");if("object"!==typeof n)throw new Error("options must be an object");if("number"!==typeof r)throw new Error("steps must be an number");if(void 0===e)throw new Error("radius is required");if(r<=0)throw new Error("steps must be greater than 0");var s=[];switch(t.type){case"GeometryCollection":return(0,o.on)(t,(function(t){var n=zt(t,e,i,r);n&&s.push(n)})),(0,kt.uf)(s);case"FeatureCollection":return(0,o.By)(t,(function(t){var n=zt(t,e,i,r);n&&(0,o.By)(n,(function(t){t&&s.push(t)}))})),(0,kt.uf)(s)}return zt(t,e,i,r)}},40590:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(82086),r=n(40517);const o=function(t,e){void 0===e&&(e={});var n=(0,i.Z)(t),o=(n[0]+n[2])/2,s=(n[1]+n[3])/2;return(0,r.xm)([o,s],e.properties,e)}},35434:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(48024),r=n(40517);const o=function(t,e){void 0===e&&(e={});var n=0,o=0,s=0;return(0,i.pZ)(t,(function(t){n+=t[0],o+=t[1],s++}),!0),(0,r.xm)([n/s,o/s],e.properties)}},56720:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(40517),r=n(48024);const o=function(t){var e={MultiPoint:{coordinates:[],properties:[]},MultiLineString:{coordinates:[],properties:[]},MultiPolygon:{coordinates:[],properties:[]}};return(0,r.By)(t,(function(t){var n,i,r,o;switch(null===(o=t.geometry)||void 0===o?void 0:o.type){case"Point":e.MultiPoint.coordinates.push(t.geometry.coordinates),e.MultiPoint.properties.push(t.properties);break;case"MultiPoint":(n=e.MultiPoint.coordinates).push.apply(n,t.geometry.coordinates),e.MultiPoint.properties.push(t.properties);break;case"LineString":e.MultiLineString.coordinates.push(t.geometry.coordinates),e.MultiLineString.properties.push(t.properties);break;case"MultiLineString":(i=e.MultiLineString.coordinates).push.apply(i,t.geometry.coordinates),e.MultiLineString.properties.push(t.properties);break;case"Polygon":e.MultiPolygon.coordinates.push(t.geometry.coordinates),e.MultiPolygon.properties.push(t.properties);break;case"MultiPolygon":(r=e.MultiPolygon.coordinates).push.apply(r,t.geometry.coordinates),e.MultiPolygon.properties.push(t.properties)}})),(0,i.uf)(Object.keys(e).filter((function(t){return e[t].coordinates.length})).sort().map((function(t){var n={type:t,coordinates:e[t].coordinates},r={collectedProperties:e[t].properties};return(0,i.zL)(n,r)})))}},31890:(t,e,n)=>{"use strict";n.d(e,{Z:()=>u});var i=n(40517),r=n(81011),o=n(48024),s=n(52675),a=n(26625);const u=function(t,e){if(e=e||{},!(0,i.Kn)(e))throw new Error("options is invalid");var n=e.propertyName;(0,r.qI)(t,"Polygon","dissolve");var u=[];if(!e.propertyName)return(0,s.Z)((0,i.tw)(a.union.apply(null,t.features.map((function(t){return t.geometry.coordinates})))));var l={};(0,o.By)(t,(function(t){Object.prototype.hasOwnProperty.call(l,t.properties[n])||(l[t.properties[n]]=[]),l[t.properties[n]].push(t)}));for(var c=Object.keys(l),p=0;p{"use strict";n.d(e,{Z:()=>o});var i=n(81011),r=n(40517);const o=function(t,e,n){void 0===n&&(n={});var o=(0,i.c9)(t),s=(0,i.c9)(e),a=(0,r.Ht)(s[1]-o[1]),u=(0,r.Ht)(s[0]-o[0]),l=(0,r.Ht)(o[1]),c=(0,r.Ht)(s[1]),p=Math.pow(Math.sin(a/2),2)+Math.pow(Math.sin(u/2),2)*Math.cos(l)*Math.cos(c);return(0,r.DL)(2*Math.atan2(Math.sqrt(p),Math.sqrt(1-p)),n.units)}},52675:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(48024),r=n(40517);const o=function(t){if(!t)throw new Error("geojson is required");var e=[];return(0,i.nG)(t,(function(t){e.push(t)})),(0,r.uf)(e)}},40517:(t,e,n)=>{"use strict";n.d(e,{DL:()=>f,Ht:()=>d,Kn:()=>m,Tu:()=>u,_R:()=>c,lF:()=>g,ot:()=>p,rQ:()=>i,tw:()=>h,uf:()=>l,vi:()=>y,xm:()=>s,yu:()=>a,zL:()=>o});var i=6371008.8,r={centimeters:100*i,centimetres:100*i,degrees:i/111325,feet:3.28084*i,inches:39.37*i,kilometers:i/1e3,kilometres:i/1e3,meters:i,metres:i,miles:i/1609.344,millimeters:1e3*i,millimetres:1e3*i,nauticalmiles:i/1852,radians:1,yards:1.0936*i};function o(t,e,n){void 0===n&&(n={});var i={type:"Feature"};return(0===n.id||n.id)&&(i.id=n.id),n.bbox&&(i.bbox=n.bbox),i.properties=e||{},i.geometry=t,i}function s(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!_(t[0])||!_(t[1]))throw new Error("coordinates must contain numbers");return o({type:"Point",coordinates:t},e,n)}function a(t,e,n){void 0===n&&(n={});for(var i=0,r=t;i{"use strict";n.d(e,{Z:()=>s});var i=n(40517),r=n(81011),o=n(26625);function s(t,e,n){void 0===n&&(n={});var s=(0,r.wA)(t),a=(0,r.wA)(e),u=o.intersection(s.coordinates,a.coordinates);return 0===u.length?null:1===u.length?(0,i.yu)(u[0],n.properties):(0,i.tw)(u,n.properties)}},81011:(t,e,n)=>{"use strict";n.d(e,{c9:()=>i,oL:()=>a,qI:()=>o,r7:()=>r,wA:()=>s});n(40517);function i(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function r(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function o(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var i=0,r=t.features;i{"use strict";n.d(e,{By:()=>o,nG:()=>u,on:()=>a,pZ:()=>r,pl:()=>s});var i=n(40517);function r(t,e,n){if(null!==t)for(var i,o,s,a,u,l,c,p,h=0,f=0,g=t.type,y="FeatureCollection"===g,d="Feature"===g,_=y?t.features.length:1,m=0;m<_;m++){u=(p=!!(c=y?t.features[m].geometry:d?t.geometry:t)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var v=0;v{"use strict";n.d(e,{Z:()=>h});var i=n(48024),r=n(40517);const o=function(t){var e=[];return"FeatureCollection"===t.type?(0,i.By)(t,(function(t){(0,i.pZ)(t,(function(n){e.push((0,r.xm)(n,t.properties))}))})):(0,i.pZ)(t,(function(n){e.push((0,r.xm)(n,t.properties))})),(0,r.uf)(e)};var s=n(40590),a=n(56875),u=n(64505);const l=function(t,e){if(!t)throw new Error("targetPoint is required");if(!e)throw new Error("points is required");var n,r=1/0,o=0;return(0,i.By)(e,(function(e,n){var i=(0,u.Z)(t,e);i{"use strict";function*i(t,e){if(void 0===e)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(i=+i)>=i&&(yield i)}}n.d(e,{K:()=>i})},31600:(t,e,n)=>{"use strict";n.d(e,{ZP:()=>a});var i=n(6200),r=n(42514),o=n(14755),s=n(20639);function a(t,e,n){if((a=(t=Float64Array.from((0,s.K)(t,n))).length)&&!isNaN(e=+e)){if(e<=0||a<2)return(0,r.Z)(t);if(e>=1)return(0,i.Z)(t);var a,u=(a-1)*e,l=Math.floor(u),c=(0,i.Z)((0,o.Z)(t,l).subarray(0,l+1));return c+((0,r.Z)(t.subarray(l+1))-c)*(u-l)}}}}]);
\ No newline at end of file
diff --git a/dist/static/js/638.2dc731cb.js b/dist/static/js/638.2dc731cb.js
new file mode 100644
index 0000000..0c9deba
--- /dev/null
+++ b/dist/static/js/638.2dc731cb.js
@@ -0,0 +1 @@
+(self.webpackChunkmaptable_frontend=self.webpackChunkmaptable_frontend||[]).push([[638],{74128:(A,e,r)=>{"use strict";function t(A){return A}r.d(e,{Em:()=>t})},98968:(A,e,r)=>{"use strict";r.d(e,{Z:()=>t});const t={schemeGroups:{sequential:["BuGn","BuPu","GnBu","OrRd","PuBu","PuBuGn","PuRd","RdPu","YlGn","YlGnBu","YlOrBr","YlOrRd"],singlehue:["Blues","Greens","Greys","Oranges","Purples","Reds"],diverging:["BrBG","PiYG","PRGn","PuOr","RdBu","RdGy","RdYlBu","RdYlGn","Spectral"],qualitative:["Accent","Dark2","Paired","Pastel1","Pastel2","Set1","Set2","Set3"]},YlGn:{3:["#f7fcb9","#addd8e","#31a354"],4:["#ffffcc","#c2e699","#78c679","#238443"],5:["#ffffcc","#c2e699","#78c679","#31a354","#006837"],6:["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],7:["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],8:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],9:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]},YlGnBu:{3:["#edf8b1","#7fcdbb","#2c7fb8"],4:["#ffffcc","#a1dab4","#41b6c4","#225ea8"],5:["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],6:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],7:["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],8:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],9:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]},GnBu:{3:["#e0f3db","#a8ddb5","#43a2ca"],4:["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],5:["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],6:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],7:["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],8:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],9:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]},BuGn:{3:["#e5f5f9","#99d8c9","#2ca25f"],4:["#edf8fb","#b2e2e2","#66c2a4","#238b45"],5:["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],6:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],7:["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],8:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],9:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]},PuBuGn:{3:["#ece2f0","#a6bddb","#1c9099"],4:["#f6eff7","#bdc9e1","#67a9cf","#02818a"],5:["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],6:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],7:["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],8:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],9:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]},PuBu:{3:["#ece7f2","#a6bddb","#2b8cbe"],4:["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],5:["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],6:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],7:["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],8:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],9:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]},BuPu:{3:["#e0ecf4","#9ebcda","#8856a7"],4:["#edf8fb","#b3cde3","#8c96c6","#88419d"],5:["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],6:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],7:["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],8:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],9:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]},RdPu:{3:["#fde0dd","#fa9fb5","#c51b8a"],4:["#feebe2","#fbb4b9","#f768a1","#ae017e"],5:["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],6:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],7:["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],8:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],9:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]},PuRd:{3:["#e7e1ef","#c994c7","#dd1c77"],4:["#f1eef6","#d7b5d8","#df65b0","#ce1256"],5:["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],6:["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],7:["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],8:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],9:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]},OrRd:{3:["#fee8c8","#fdbb84","#e34a33"],4:["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],5:["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],6:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],7:["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],8:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],9:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]},YlOrRd:{3:["#ffeda0","#feb24c","#f03b20"],4:["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],5:["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],6:["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],7:["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],8:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],9:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]},YlOrBr:{3:["#fff7bc","#fec44f","#d95f0e"],4:["#ffffd4","#fed98e","#fe9929","#cc4c02"],5:["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],6:["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],7:["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],8:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],9:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]},Purples:{3:["#efedf5","#bcbddc","#756bb1"],4:["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],5:["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],6:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],7:["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],8:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],9:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]},Blues:{3:["#deebf7","#9ecae1","#3182bd"],4:["#eff3ff","#bdd7e7","#6baed6","#2171b5"],5:["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],6:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],7:["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],8:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],9:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]},Greens:{3:["#e5f5e0","#a1d99b","#31a354"],4:["#edf8e9","#bae4b3","#74c476","#238b45"],5:["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],6:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],7:["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],8:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],9:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]},Oranges:{3:["#fee6ce","#fdae6b","#e6550d"],4:["#feedde","#fdbe85","#fd8d3c","#d94701"],5:["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],6:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],7:["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],8:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],9:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]},Reds:{3:["#fee0d2","#fc9272","#de2d26"],4:["#fee5d9","#fcae91","#fb6a4a","#cb181d"],5:["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],6:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],7:["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],8:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],9:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]},Greys:{3:["#f0f0f0","#bdbdbd","#636363"],4:["#f7f7f7","#cccccc","#969696","#525252"],5:["#f7f7f7","#cccccc","#969696","#636363","#252525"],6:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],7:["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],8:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],9:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]},PuOr:{3:["#f1a340","#f7f7f7","#998ec3"],4:["#e66101","#fdb863","#b2abd2","#5e3c99"],5:["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],6:["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],7:["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],8:["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],9:["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],10:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],11:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]},BrBG:{3:["#d8b365","#f5f5f5","#5ab4ac"],4:["#a6611a","#dfc27d","#80cdc1","#018571"],5:["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],6:["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],7:["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],8:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],9:["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],10:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],11:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]},PRGn:{3:["#af8dc3","#f7f7f7","#7fbf7b"],4:["#7b3294","#c2a5cf","#a6dba0","#008837"],5:["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],6:["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],7:["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],8:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],9:["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],10:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],11:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]},PiYG:{3:["#e9a3c9","#f7f7f7","#a1d76a"],4:["#d01c8b","#f1b6da","#b8e186","#4dac26"],5:["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],6:["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],7:["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],8:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],9:["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],10:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],11:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]},RdBu:{3:["#ef8a62","#f7f7f7","#67a9cf"],4:["#ca0020","#f4a582","#92c5de","#0571b0"],5:["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],6:["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],7:["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]},RdGy:{3:["#ef8a62","#ffffff","#999999"],4:["#ca0020","#f4a582","#bababa","#404040"],5:["#ca0020","#f4a582","#ffffff","#bababa","#404040"],6:["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],7:["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],8:["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],9:["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],10:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],11:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]},RdYlBu:{3:["#fc8d59","#ffffbf","#91bfdb"],4:["#d7191c","#fdae61","#abd9e9","#2c7bb6"],5:["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],6:["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],7:["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],8:["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],9:["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]},Spectral:{3:["#fc8d59","#ffffbf","#99d594"],4:["#d7191c","#fdae61","#abdda4","#2b83ba"],5:["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],6:["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],7:["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],8:["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],9:["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],10:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],11:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]},RdYlGn:{3:["#fc8d59","#ffffbf","#91cf60"],4:["#d7191c","#fdae61","#a6d96a","#1a9641"],5:["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],6:["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],7:["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],8:["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],9:["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],10:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],11:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]},Accent:{3:["#7fc97f","#beaed4","#fdc086"],4:["#7fc97f","#beaed4","#fdc086","#ffff99"],5:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],6:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],7:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],8:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]},Dark2:{3:["#1b9e77","#d95f02","#7570b3"],4:["#1b9e77","#d95f02","#7570b3","#e7298a"],5:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],6:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],7:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],8:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]},Paired:{3:["#a6cee3","#1f78b4","#b2df8a"],4:["#a6cee3","#1f78b4","#b2df8a","#33a02c"],5:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],6:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],7:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],8:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],9:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],10:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],11:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],12:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]},Pastel1:{3:["#fbb4ae","#b3cde3","#ccebc5"],4:["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],5:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],6:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],7:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],8:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],9:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},Pastel2:{3:["#b3e2cd","#fdcdac","#cbd5e8"],4:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],5:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],6:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],7:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],8:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]},Set1:{3:["#e41a1c","#377eb8","#4daf4a"],4:["#e41a1c","#377eb8","#4daf4a","#984ea3"],5:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],6:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],7:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],8:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],9:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]},Set2:{3:["#66c2a5","#fc8d62","#8da0cb"],4:["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],5:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],6:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],7:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],8:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]},Set3:{3:["#8dd3c7","#ffffb3","#bebada"],4:["#8dd3c7","#ffffb3","#bebada","#fb8072"],5:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],6:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],7:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],8:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],9:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],10:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],11:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],12:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]}}},65235:function(A){A.exports=function(){"use strict";var A=1e3,e=6e4,r=36e5,t="millisecond",n="second",i="minute",f="hour",a="day",o="week",u="month",c="quarter",s="year",l="date",d="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var e=["th","st","nd","rd"],r=A%100;return"["+A+(e[(r-20)%10]||e[r]||e[0])+"]"}},v=function(A,e,r){var t=String(A);return!t||t.length>=e?A:""+Array(e+1-t.length).join(r)+A},p={s:v,z:function(A){var e=-A.utcOffset(),r=Math.abs(e),t=Math.floor(r/60),n=r%60;return(e<=0?"+":"-")+v(t,2,"0")+":"+v(n,2,"0")},m:function A(e,r){if(e.date()1)return A(f[0])}else{var a=e.name;_[a]=e,n=a}return!t&&n&&(w=n),n||!t&&w},k=function(A,e){if(y(A))return A.clone();var r="object"==typeof e?e:{};return r.date=A,r.args=arguments,new D(r)},m=p;m.l=B,m.i=y,m.w=function(A,e){return k(A,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var D=function(){function g(A){this.$L=B(A.locale,null,!0),this.parse(A),this.$x=this.$x||A.x||{},this[E]=!0}var v=g.prototype;return v.parse=function(A){this.$d=function(A){var e=A.date,r=A.utc;if(null===e)return new Date(NaN);if(m.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var t=e.match(b);if(t){var n=t[2]-1||0,i=(t[7]||"0").substring(0,3);return r?new Date(Date.UTC(t[1],n,t[3]||1,t[4]||0,t[5]||0,t[6]||0,i)):new Date(t[1],n,t[3]||1,t[4]||0,t[5]||0,t[6]||0,i)}}return new Date(e)}(A),this.init()},v.init=function(){var A=this.$d;this.$y=A.getFullYear(),this.$M=A.getMonth(),this.$D=A.getDate(),this.$W=A.getDay(),this.$H=A.getHours(),this.$m=A.getMinutes(),this.$s=A.getSeconds(),this.$ms=A.getMilliseconds()},v.$utils=function(){return m},v.isValid=function(){return!(this.$d.toString()===d)},v.isSame=function(A,e){var r=k(A);return this.startOf(e)<=r&&r<=this.endOf(e)},v.isAfter=function(A,e){return k(A)=0&&(i[s]=parseInt(c,10))}var l=i[3],d=24===l?0:l,b=i[0]+"-"+i[1]+"-"+i[2]+" "+d+":"+i[4]+":"+i[5]+":000",h=+e;return(n.utc(b).valueOf()-(h-=h%1e3))/6e4},o=t.prototype;o.tz=function(A,e){void 0===A&&(A=i);var r=this.utcOffset(),t=this.toDate(),f=t.toLocaleString("en-US",{timeZone:A}),a=Math.round((t-new Date(f))/1e3/60),o=n(f,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(t.getTimezoneOffset()/15)-a,!0);if(e){var u=o.utcOffset();o=o.add(r-u,"minute")}return o.$x.$timezone=A,o},o.offsetName=function(A){var e=this.$x.$timezone||n.tz.guess(),r=f(this.valueOf(),e,{timeZoneName:A}).find((function(A){return"timezonename"===A.type.toLowerCase()}));return r&&r.value};var u=o.startOf;o.startOf=function(A,e){if(!this.$x||!this.$x.$timezone)return u.call(this,A,e);var r=n(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return u.call(r,A,e).tz(this.$x.$timezone,!0)},n.tz=function(A,e,r){var t=r&&e,f=r||e||i,o=a(+n(),f);if("string"!=typeof A)return n(A).tz(f);var u=function(A,e,r){var t=A-60*e*1e3,n=a(t,r);if(e===n)return[t,e];var i=a(t-=60*(n-e)*1e3,r);return n===i?[t,n]:[A-60*Math.min(n,i)*1e3,Math.max(n,i)]}(n.utc(A,t).valueOf(),o,f),c=u[0],s=u[1],l=n(c).utcOffset(s);return l.$x.$timezone=f,l},n.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},n.tz.setDefault=function(A){i=A}}}()},9944:function(A){A.exports=function(){"use strict";var A="minute",e=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(t,n,i){var f=n.prototype;i.utc=function(A){return new n({date:A,utc:!0,args:arguments})},f.utc=function(e){var r=i(this.toDate(),{locale:this.$L,utc:!0});return e?r.add(this.utcOffset(),A):r},f.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var a=f.parse;f.parse=function(A){A.utc&&(this.$u=!0),this.$utils().u(A.$offset)||(this.$offset=A.$offset),a.call(this,A)};var o=f.init;f.init=function(){if(this.$u){var A=this.$d;this.$y=A.getUTCFullYear(),this.$M=A.getUTCMonth(),this.$D=A.getUTCDate(),this.$W=A.getUTCDay(),this.$H=A.getUTCHours(),this.$m=A.getUTCMinutes(),this.$s=A.getUTCSeconds(),this.$ms=A.getUTCMilliseconds()}else o.call(this)};var u=f.utcOffset;f.utcOffset=function(t,n){var i=this.$utils().u;if(i(t))return this.$u?0:i(this.$offset)?u.call(this):this.$offset;if("string"==typeof t&&(t=function(A){void 0===A&&(A="");var t=A.match(e);if(!t)return null;var n=(""+t[0]).match(r)||["-",0,0],i=n[0],f=60*+n[1]+ +n[2];return 0===f?0:"+"===i?f:-f}(t),null===t))return this;var f=Math.abs(t)<=16?60*t:t,a=this;if(n)return a.$offset=f,a.$u=0===t,a;if(0!==t){var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(a=this.local().add(f+o,A)).$offset=f,a.$x.$localOffset=o}else a=this.utc();return a};var c=f.format;f.format=function(A){var e=A||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,e)},f.valueOf=function(){var A=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*A},f.isUTC=function(){return!!this.$u},f.toISOString=function(){return this.toDate().toISOString()},f.toString=function(){return this.toDate().toUTCString()};var s=f.toDate;f.toDate=function(A){return"s"===A&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():s.call(this)};var l=f.diff;f.diff=function(A,e,r){if(A&&this.$u===A.$u)return l.call(this,A,e,r);var t=this.local(),n=i(A).local();return l.call(t,n,e,r)}}}()},78062:(A,e,r)=>{"use strict";r.d(e,{rS:()=>k});var t=function(A){var e,r="undefined"!==typeof(A=A||{})?A:{},t={};for(e in r)r.hasOwnProperty(e)&&(t[e]=r[e]);var n,i=[],f="";"undefined"!==typeof document&&document.currentScript&&(f=document.currentScript.src),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"",n=function(A,e,r){var t=new XMLHttpRequest;t.open("GET",A,!0),t.responseType="arraybuffer",t.onload=function(){if(200==t.status||0==t.status&&t.response)e(t.response);else{var n=W(A);n?e(n.buffer):r()}},t.onerror=r,t.send(null)};var a=r.print||console.log.bind(console),o=r.printErr||console.warn.bind(console);for(e in t)t.hasOwnProperty(e)&&(r[e]=t[e]);t=null,r.arguments&&(i=r.arguments);var u=0;var c=!1;function s(A){var e,t=r["_"+A];return e="Cannot call unknown function "+A+", make sure it is exported",t||aA("Assertion failed: "+e),t}function l(A,e,r,t,n){var i={string:function(A){var e=0;if(null!==A&&void 0!==A&&0!==A){var r=1+(A.length<<2);(function(A,e,r){(function(A,e,r,t){if(!(t>0))return 0;for(var n=r,i=r+t-1,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&A.charCodeAt(++f);if(a<=127){if(r>=i)break;e[r++]=a}else if(a<=2047){if(r+1>=i)break;e[r++]=192|a>>6,e[r++]=128|63&a}else if(a<=65535){if(r+2>=i)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|63&a}else{if(r+3>=i)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|63&a}}e[r]=0})(A,v,e,r)})(A,e=q(r),r)}return e},array:function(A){var e=q(A.length);return function(A,e){g.set(A,e)}(A,e),e}};var f=s(A),a=[],o=0;if(t)for(var u=0;u=t);)++n;if(n-e>16&&A.subarray&&d)return d.decode(A.subarray(e,n));for(var i="";e>10,56320|1023&u)}}else i+=String.fromCharCode((31&f)<<6|a)}else i+=String.fromCharCode(f)}return i}(v,A,e):""}var h,g,v,p,w,_,E;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");function y(A,e){return A%e>0&&(A+=e-A%e),A}function B(A){h=A,r.HEAP8=g=new Int8Array(A),r.HEAP16=p=new Int16Array(A),r.HEAP32=w=new Int32Array(A),r.HEAPU8=v=new Uint8Array(A),r.HEAPU16=new Uint16Array(A),r.HEAPU32=new Uint32Array(A),r.HEAPF32=_=new Float32Array(A),r.HEAPF64=E=new Float64Array(A)}var k=r.TOTAL_MEMORY||33554432;function m(A){for(;A.length>0;){var e=A.shift();if("function"!=typeof e){var t=e.func;"number"===typeof t?void 0===e.arg?r.dynCall_v(t):r.dynCall_vi(t,e.arg):t(void 0===e.arg?null:e.arg)}else e()}}k=(h=r.buffer?r.buffer:new ArrayBuffer(k)).byteLength,B(h),w[6032]=5267040;var D=[],x=[],M=[],Q=[];var C=Math.abs,P=Math.ceil,I=Math.floor,S=Math.min,R=0,T=null,G=null;r.preloadedImages={},r.preloadedAudios={};var L,F,O=null,U="data:application/octet-stream;base64,";function N(A){return String.prototype.startsWith?A.startsWith(U):0===A.indexOf(U)}O="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//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFsZ29zLmMAaDNOZWlnaGJvclJvdGF0aW9ucwBjb29yZGlqay5jAF91cEFwN0NoZWNrZWQAX3VwQXA3ckNoZWNrZWQAZGlyZWN0ZWRFZGdlLmMAZGlyZWN0ZWRFZGdlVG9Cb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0NlbGxCb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbY2VudGVySUpLLmZhY2VdW2ZhY2UyXSA9PSBLSQBfZmFjZUlqa1RvQ2VsbEJvdW5kYXJ5AGgzSW5kZXguYwBjb21wYWN0Q2VsbHMAbGF0TG5nVG9DZWxsAGNlbGxUb0NoaWxkUG9zAHZhbGlkYXRlQ2hpbGRQb3MAbGF0TG5nLmMAY2VsbEFyZWFSYWRzMgBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGNlbGxUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvQ2VsbAAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMABncmlkUGF0aENlbGxzADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";function Y(A){return A}function z(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A===A?A:A+" ["+A+"]"}))}function Z(){var A=new Error;if(!A.stack){try{throw new Error(0)}catch(e){A=e}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function H(){return g.length}function V(A){try{var e=new ArrayBuffer(A);if(e.byteLength!=A)return;return new Int8Array(e).set(g),X(e),B(e),1}catch(r){}}var $="function"===typeof atob?atob:function(A){var e,r,t,n,i,f,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",u=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=a.indexOf(A.charAt(u++))<<2|(n=a.indexOf(A.charAt(u++)))>>4,r=(15&n)<<4|(i=a.indexOf(A.charAt(u++)))>>2,t=(3&i)<<6|(f=a.indexOf(A.charAt(u++))),o+=String.fromCharCode(e),64!==i&&(o+=String.fromCharCode(r)),64!==f&&(o+=String.fromCharCode(t))}while(u=0){if((0|r)>13780509){if(0|(a=0|ee(15,o)))break;o=0|n[(u=o)>>2],u=0|n[u+4>>2]}else c=0|Le(0|r,0|(a=((0|r)<0)<<31>>31),3,0),u=0|m(),a=0|Ie(0|r,0|a,1,0),a=0|Ie(0|(a=0|Le(0|c,0|u,0|a,0|m())),0|m(),1,0),u=0|m(),n[o>>2]=a,n[o+4>>2]=u,o=a;if($e(0|t,0,o<<3|0),0|i){$e(0|i,0,o<<2|0),a=0|G(A,e,r,t,i,o,u,0);break}(a=0|Pe(o,4))?(c=0|G(A,e,r,t,a,o,u,0),Ce(a),a=c):a=13}else a=2}while(0);return I=f,0|(c=a)}function T(A,e,r,t,i){A|=0,e|=0,r|=0,t|=0,i|=0;var f,a,o=0,u=0,c=0,s=0,l=0,d=0,b=0,h=0,g=0;if(a=I,I=I+16|0,g=a+8|0,n[(h=f=a)>>2]=A,n[h+4>>2]=e,(0|r)<0)return I=a,0|(g=2);if(n[(o=t)>>2]=A,n[o+4>>2]=e,(o=0!=(0|i))&&(n[i>>2]=0),0|LA(A,e))return I=a,0|(g=9);n[g>>2]=0;A:do{if((0|r)>=1)if(o)for(d=1,l=0,b=0,h=1,o=A;;){if(!(l|b)){if(0|(o=0|L(o,e,4,g,f)))break A;if(0|LA(o=0|n[(e=f)>>2],e=0|n[e+4>>2])){o=9;break A}}if(0|(o=0|L(o,e,0|n[22384+(b<<2)>>2],g,f)))break A;if(o=0|n[(e=f)>>2],e=0|n[e+4>>2],n[(A=t+(d<<3)|0)>>2]=o,n[A+4>>2]=e,n[i+(d<<2)>>2]=h,u=(0|(A=l+1|0))==(0|h),s=6==(0|(c=b+1|0)),0|LA(o,e)){o=9;break A}if((0|(h=h+(s&u&1)|0))>(0|r)){o=0;break}d=d+1|0,l=u?0:A,b=u?s?0:c:b}else for(d=1,l=0,b=0,h=1,o=A;;){if(!(l|b)){if(0|(o=0|L(o,e,4,g,f)))break A;if(0|LA(o=0|n[(e=f)>>2],e=0|n[e+4>>2])){o=9;break A}}if(0|(o=0|L(o,e,0|n[22384+(b<<2)>>2],g,f)))break A;if(o=0|n[(e=f)>>2],e=0|n[e+4>>2],n[(A=t+(d<<3)|0)>>2]=o,n[A+4>>2]=e,u=(0|(A=l+1|0))==(0|h),s=6==(0|(c=b+1|0)),0|LA(o,e)){o=9;break A}if((0|(h=h+(s&u&1)|0))>(0|r)){o=0;break}d=d+1|0,l=u?0:A,b=u?s?0:c:b}else o=0}while(0);return I=a,0|(g=o)}function G(A,e,r,t,i,f,a,o){r|=0,t|=0,i|=0,o|=0;var u,c,s,l=0,d=0,b=0,h=0,g=0,v=0,p=0;if(s=I,I=I+16|0,u=s+8|0,c=s,l=0|Oe(0|(A|=0),0|(e|=0),0|(f|=0),0|(a|=0)),b=0|m(),!(0==(0|(p=0|n[(v=h=t+(l<<3)|0)>>2]))&0==(0|(v=0|n[v+4>>2]))|(d=(0|p)==(0|A)&(0|v)==(0|e))))do{l=0|Fe(0|(l=0|Ie(0|l,0|b,1,0)),0|m(),0|f,0|a),b=0|m(),d=(0|(v=0|n[(p=h=t+(l<<3)|0)>>2]))==(0|A)&(0|(p=0|n[p+4>>2]))==(0|e)}while(!(0==(0|v)&0==(0|p)|d));if(l=i+(l<<2)|0,d&&(0|n[l>>2])<=(0|o))return I=s,0|(p=0);if(n[(p=h)>>2]=A,n[p+4>>2]=e,n[l>>2]=o,(0|o)>=(0|r))return I=s,0|(p=0);switch(d=o+1|0,n[u>>2]=0,0|(l=0|L(A,e,2,u,c))){case 9:g=9;break;case 0:(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d))||(g=9)}A:do{if(9==(0|g)){switch(n[u>>2]=0,0|(l=0|L(A,e,3,u,c))){case 9:break;case 0:if(0|(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d)))break A;break;default:break A}switch(n[u>>2]=0,0|(l=0|L(A,e,1,u,c))){case 9:break;case 0:if(0|(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d)))break A;break;default:break A}switch(n[u>>2]=0,0|(l=0|L(A,e,5,u,c))){case 9:break;case 0:if(0|(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d)))break A;break;default:break A}switch(n[u>>2]=0,0|(l=0|L(A,e,4,u,c))){case 9:break;case 0:if(0|(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d)))break A;break;default:break A}switch(n[u>>2]=0,0|(l=0|L(A,e,6,u,c))){case 9:break;case 0:if(0|(l=0|G(0|n[(l=c)>>2],0|n[l+4>>2],r,t,i,f,a,d)))break A;break;default:break A}return I=s,0|(p=0)}}while(0);return I=s,0|(p=l)}function L(A,e,r,t,i){A|=0,e|=0,i|=0;var f,a,o=0,u=0,c=0,s=0,l=0,d=0,b=0;if((r|=0)>>>0>6)return 0|(i=1);if(l=(0|n[(t|=0)>>2])%6|0,n[t>>2]=l,(0|l)>0){o=0;do{r=0|bA(r),o=o+1|0}while((0|o)<(0|n[t>>2]))}if(l=0|Ne(0|A,0|e,45),m(),(a=127&l)>>>0>121)return 0|(i=5);f=0|FA(A,e),o=0|Ne(0|A,0|e,52),m(),o&=15;A:do{if(o){for(;;){if(c=0|Ne(0|A,0|e,0|(u=3*(15-o|0)|0)),m(),7==(0|(c&=7))){e=5;break}if(b=0==(0|zA(o)),o=o+-1|0,d=0|Ye(7,0,0|u),e&=~(0|m()),A=0|Ye(0|n[(b?432:16)+(28*c|0)+(r<<2)>>2],0,0|u)|A&~d,e|=u=0|m(),!(r=0|n[(b?640:224)+(28*c|0)+(r<<2)>>2])){r=0;break A}if(!o){s=8;break A}}return 0|e}s=8}while(0);8==(0|s)&&(A|=0|Ye(0|(b=0|n[848+(28*a|0)+(r<<2)>>2]),0,45),e=0|m()|-1040385&e,r=0|n[4272+(28*a|0)+(r<<2)>>2],127==(127&b|0)&&(b=0|Ye(0|n[848+(28*a|0)+20>>2],0,45),e=0|m()|-1040385&e,r=0|n[4272+(28*a|0)+20>>2],A=0|UA(b|A,e),e=0|m(),n[t>>2]=1+(0|n[t>>2]))),c=0|Ne(0|A,0|e,45),m(),c&=127;A:do{if(0|U(c)){e:do{if(1==(0|FA(A,e))){if((0|a)!=(0|c)){if(0|Z(c,0|n[7696+(28*a|0)>>2])){A=0|YA(A,e),u=1,e=0|m();break}D(23313,22416,436,22424)}switch(0|f){case 3:A=0|UA(A,e),e=0|m(),n[t>>2]=1+(0|n[t>>2]),u=0;break e;case 5:A=0|YA(A,e),e=0|m(),n[t>>2]=5+(0|n[t>>2]),u=0;break e;case 0:return 0|(b=9);default:return 0|(b=1)}}else u=0}while(0);if((0|r)>0){o=0;do{A=0|OA(A,e),e=0|m(),o=o+1|0}while((0|o)!=(0|r))}if((0|a)!=(0|c)){if(!(0|N(c))){if(0!=(0|u)|5!=(0|FA(A,e)))break;n[t>>2]=1+(0|n[t>>2]);break}switch(127&l){case 8:case 118:break A}3!=(0|FA(A,e))&&(n[t>>2]=1+(0|n[t>>2]))}}else if((0|r)>0){o=0;do{A=0|UA(A,e),e=0|m(),o=o+1|0}while((0|o)!=(0|r))}}while(0);return n[t>>2]=((0|n[t>>2])+r|0)%6|0,n[(b=i)>>2]=A,n[b+4>>2]=e,0|(b=0)}function F(A,e,r,t){r|=0,t|=0;var i,f,a,o=0,u=0;for(a=I,I=I+16|0,i=a,f=a+8|0,o=(o=0==(0|LA(A|=0,e|=0)))?1:2;;){if(n[f>>2]=0,0==(0|L(A,e,o,f,i))&((0|n[(u=i)>>2])==(0|r)?(0|n[u+4>>2])==(0|t):0)){A=4;break}if((o=o+1|0)>>>0>=7){o=7,A=4;break}}return 4==(0|A)?(I=a,0|o):0}function O(A,e,r,t,f,a,o){e|=0,r|=0,t|=0,f|=0,a|=0,o|=0;var u,c,s,l,d,b,h,g,v,p,w=0,_=0,E=0,y=0,B=0,k=0,D=0,x=0,M=0,Q=0,C=0,P=0,S=0,R=0,T=0,G=0,L=0,F=0,O=0;if(p=I,I=I+64|0,h=p+48|0,g=p+32|0,v=p+24|0,u=p+8|0,c=p,(0|(_=0|n[(A|=0)>>2]))<=0)return I=p,0|(T=0);for(s=A+4|0,l=h+8|0,d=g+8|0,b=u+8|0,w=0,S=0;;){P=(E=0|n[s>>2])+(S<<4)|0,n[h>>2]=n[P>>2],n[h+4>>2]=n[P+4>>2],n[h+8>>2]=n[P+8>>2],n[h+12>>2]=n[P+12>>2],(0|S)==(_+-1|0)?(n[g>>2]=n[E>>2],n[g+4>>2]=n[E+4>>2],n[g+8>>2]=n[E+8>>2],n[g+12>>2]=n[E+12>>2]):(P=E+(S+1<<4)|0,n[g>>2]=n[P>>2],n[g+4>>2]=n[P+4>>2],n[g+8>>2]=n[P+8>>2],n[g+12>>2]=n[P+12>>2]),_=0|j(h,g,t,v);A:do{if(_)E=0,w=_;else if(_=0|n[(E=v)>>2],(0|(E=0|n[E+4>>2]))>0|0==(0|E)&_>>>0>0){C=0,P=0;e:for(;;){if(O=+i[h>>3],F=+((Q=0|Se(0|_,0|E,0|C,0|P))>>>0)+4294967296*+(0|m()),G=+(_>>>0)+4294967296*+(0|E),L=+(C>>>0)+4294967296*+(0|P),i[u>>3]=O*F/G+ +i[g>>3]*L/G,i[b>>3]=+i[l>>3]*F/G+ +i[d>>3]*L/G,0|(_=0|ZA(u,t,c))){w=_;break}k=0|Oe(0|(M=0|n[(Q=c)>>2]),0|(Q=0|n[Q+4>>2]),0|e,0|r),y=0|m(),E=0|n[(B=_=o+(k<<3)|0)>>2],B=0|n[B+4>>2];r:do{if(0==(0|E)&0==(0|B))R=_,T=16;else for(D=0,x=0;;){if((0|D)>(0|r)|(0|D)==(0|r)&x>>>0>e>>>0){w=1;break e}if((0|E)==(0|M)&(0|B)==(0|Q))break r;if(k=0|Fe(0|(_=0|Ie(0|k,0|y,1,0)),0|m(),0|e,0|r),y=0|m(),x=0|Ie(0|x,0|D,1,0),D=0|m(),0==(0|(E=0|n[(B=_=o+(k<<3)|0)>>2]))&0==(0|(B=0|n[B+4>>2]))){R=_,T=16;break}}}while(0);if(16!=(0|T)||(T=0,0==(0|M)&0==(0|Q))||(n[(x=R)>>2]=M,n[x+4>>2]=Q,x=a+(n[f>>2]<<3)|0,n[x>>2]=M,n[x+4>>2]=Q,x=0|Ie(0|n[(x=f)>>2],0|n[x+4>>2],1,0),M=0|m(),n[(Q=f)>>2]=x,n[Q+4>>2]=M),C=0|Ie(0|C,0|P,1,0),P=0|m(),_=0|n[(E=v)>>2],!((0|(E=0|n[E+4>>2]))>(0|P)|(0|E)==(0|P)&_>>>0>C>>>0)){E=1;break A}}E=0}else E=1}while(0);if(S=S+1|0,!E){T=21;break}if((0|S)>=(0|(_=0|n[A>>2]))){w=0,T=21;break}}return 21==(0|T)?(I=p,0|w):0}function U(A){return(A|=0)>>>0>121?0|(A=0):0|(A=0|n[7696+(28*A|0)+16>>2])}function N(A){return 4==(0|(A|=0))|117==(0|A)|0}function Y(A){return 0|n[11120+(216*(0|n[(A|=0)>>2])|0)+(72*(0|n[A+4>>2])|0)+(24*(0|n[A+8>>2])|0)+(n[A+12>>2]<<3)>>2]}function z(A){return 0|n[11120+(216*(0|n[(A|=0)>>2])|0)+(72*(0|n[A+4>>2])|0)+(24*(0|n[A+8>>2])|0)+(n[A+12>>2]<<3)+4>>2]}function Z(A,e){return e|=0,(0|n[7696+(28*(A|=0)|0)+20>>2])==(0|e)?0|(e=1):0|(e=(0|n[7696+(28*A|0)+24>>2])==(0|e))}function H(A,e){return 0|n[848+(28*(A|=0)|0)+((e|=0)<<2)>>2]}function V(A,e){return e|=0,(0|n[848+(28*(A|=0)|0)>>2])==(0|e)?0|(e=0):(0|n[848+(28*A|0)+4>>2])==(0|e)?0|(e=1):(0|n[848+(28*A|0)+8>>2])==(0|e)?0|(e=2):(0|n[848+(28*A|0)+12>>2])==(0|e)?0|(e=3):(0|n[848+(28*A|0)+16>>2])==(0|e)?0|(e=4):(0|n[848+(28*A|0)+20>>2])==(0|e)?0|(e=5):0|((0|n[848+(28*A|0)+24>>2])==(0|e)?6:7)}function $(A){return+i[(A|=0)+16>>3]<+i[A+24>>3]|0}function W(A,e){A|=0;var r,t,n=0;return(n=+i[(e|=0)>>3])>=+i[A+8>>3]&&n<=+i[A>>3]?(r=+i[A+16>>3],n=+i[A+24>>3],e=(t=+i[e+8>>3])>=n,A=t<=r&1,r>2]=0,h=h+4|0}while((0|h)<(0|g));return 0|(e=0|KA(e,v))?(I=d,0|(y=e)):($A(v=0|n[(g=v)>>2],g=0|n[g+4>>2],l),WA(v,g,p),s=+Ae(l,p+8|0),i[l>>3]=+i[A>>3],i[(g=l+8|0)>>3]=+i[A+16>>3],i[p>>3]=+i[A+8>>3],i[(v=p+8|0)>>3]=+i[A+24>>3],a=+Ae(l,p),B=+i[g>>3]-+i[v>>3],c=+u(+B),b=+i[l>>3]-+i[p>>3],t=+u(+b),0==B|0==b||(B=+ze(+c,+t),B=+w(+a*a/+Ze(+B/+Ze(+c,+t),3)/(s*(2.59807621135*s)*.8)),i[f>>3]=B,_=~~B>>>0,y=+u(B)>=1?B>0?~~+E(+o(B/4294967296),4294967295)>>>0:~~+w((B-+(~~B>>>0))/4294967296)>>>0:0,2146435072==(2146435072&n[f+4>>2]|0))?e=1:(p=0==(0|_)&0==(0|y),n[(e=r)>>2]=p?1:_,n[e+4>>2]=p?0:y,e=0),I=d,0|(y=e))}function j(A,e,r,t){A|=0,e|=0,r|=0,t|=0;var a,c,s,l,d=0,b=0,h=0;l=I,I=I+288|0,c=l+264|0,s=l+96|0,a=(d=b=l)+96|0;do{n[d>>2]=0,d=d+4|0}while((0|d)<(0|a));return 0|(r=0|KA(r,b))?(I=l,0|(t=r)):($A(d=0|n[(r=b)>>2],r=0|n[r+4>>2],c),WA(d,r,s),h=+Ae(c,s+8|0),h=+w(+ +Ae(A,e)/(2*h)),i[f>>3]=h,r=~~h>>>0,d=+u(h)>=1?h>0?~~+E(+o(h/4294967296),4294967295)>>>0:~~+w((h-+(~~h>>>0))/4294967296)>>>0:0,2146435072==(2146435072&n[f+4>>2]|0)?(I=l,0|(t=1)):(b=0==(0|r)&0==(0|d),n[t>>2]=b?1:r,n[t+4>>2]=b?0:d,I=l,0|(t=0)))}function J(A,e,r,t){e|=0,r|=0,t|=0,n[(A|=0)>>2]=e,n[A+4>>2]=r,n[A+8>>2]=t}function X(A,e){A|=0;var r,t,f,a,o=0,c=0,s=0,l=0,d=0,b=0,h=0;n[(a=(e|=0)+8|0)>>2]=0,t=+i[A>>3],l=+u(+t),f=+i[A+8>>3],l+=.5*(d=+u(+f)/.8660254037844386),l-=+(0|(o=~~l)),d-=+(0|(A=~~d));do{if(l<.5){if(l<.3333333333333333){if(n[e>>2]=o,d<.5*(l+1)){n[e+4>>2]=A;break}A=A+1|0,n[e+4>>2]=A;break}if(A=(1&!(d<(h=1-l)))+A|0,n[e+4>>2]=A,h<=d&d<2*l){o=o+1|0,n[e>>2]=o;break}n[e>>2]=o;break}if(!(l<.6666666666666666)){if(o=o+1|0,n[e>>2]=o,d<.5*l){n[e+4>>2]=A;break}A=A+1|0,n[e+4>>2]=A;break}if(d<1-l){if(n[e+4>>2]=A,2*l-1>2]=o;break}}else A=A+1|0,n[e+4>>2]=A;o=o+1|0,n[e>>2]=o}while(0);do{if(t<0){if(1&A){o=~~(+(0|o)-(2*(+((b=0|Se(0|o,((0|o)<0)<<31>>31|0,0|(b=(A+1|0)/2|0),((0|b)<0)<<31>>31|0))>>>0)+4294967296*+(0|m()))+1)),n[e>>2]=o;break}o=~~(+(0|o)-2*(+((b=0|Se(0|o,((0|o)<0)<<31>>31|0,0|(b=(0|A)/2|0),((0|b)<0)<<31>>31|0))>>>0)+4294967296*+(0|m()))),n[e>>2]=o;break}}while(0);b=e+4|0,f<0&&(o=o-((1|A<<1)/2|0)|0,n[e>>2]=o,A=0-A|0,n[b>>2]=A),c=A-o|0,(0|o)<0?(s=0-o|0,n[b>>2]=c,n[a>>2]=s,n[e>>2]=0,A=c,o=0):s=0,(0|A)<0&&(o=o-A|0,n[e>>2]=o,s=s-A|0,n[a>>2]=s,n[b>>2]=0,A=0),r=o-s|0,c=A-s|0,(0|s)<0&&(n[e>>2]=r,n[b>>2]=c,n[a>>2]=0,A=c,o=r,s=0),(0|(c=(0|s)<(0|(c=(0|A)<(0|o)?A:o))?s:c))<=0||(n[e>>2]=o-c,n[b>>2]=A-c,n[a>>2]=s-c)}function q(A){var e,r=0,t=0,i=0,f=0,a=0;r=0|n[(A|=0)>>2],t=0|n[(e=A+4|0)>>2],(0|r)<0&&(t=t-r|0,n[e>>2]=t,n[(a=A+8|0)>>2]=(0|n[a>>2])-r,n[A>>2]=0,r=0),(0|t)<0?(r=r-t|0,n[A>>2]=r,f=(0|n[(a=A+8|0)>>2])-t|0,n[a>>2]=f,n[e>>2]=0,t=0):(a=f=A+8|0,f=0|n[f>>2]),(0|f)<0&&(r=r-f|0,n[A>>2]=r,t=t-f|0,n[e>>2]=t,n[a>>2]=0,f=0),(0|(i=(0|f)<(0|(i=(0|t)<(0|r)?t:r))?f:i))<=0||(n[A>>2]=r-i,n[e>>2]=t-i,n[a>>2]=f-i)}function AA(A,e){e|=0;var r,t;t=0|n[(A|=0)+8>>2],r=+((0|n[A+4>>2])-t|0),i[e>>3]=+((0|n[A>>2])-t|0)-.5*r,i[e+8>>3]=.8660254037844386*r}function eA(A,e,r){A|=0,e|=0,n[(r|=0)>>2]=(0|n[e>>2])+(0|n[A>>2]),n[r+4>>2]=(0|n[e+4>>2])+(0|n[A+4>>2]),n[r+8>>2]=(0|n[e+8>>2])+(0|n[A+8>>2])}function rA(A,e,r){A|=0,e|=0,n[(r|=0)>>2]=(0|n[A>>2])-(0|n[e>>2]),n[r+4>>2]=(0|n[A+4>>2])-(0|n[e+4>>2]),n[r+8>>2]=(0|n[A+8>>2])-(0|n[e+8>>2])}function tA(A,e){e|=0;var r,t=0;t=0|_(0|n[(A|=0)>>2],e),n[A>>2]=t,r=0|_(0|n[(t=A+4|0)>>2],e),n[t>>2]=r,e=0|_(0|n[(A=A+8|0)>>2],e),n[A>>2]=e}function nA(A){var e,r,t=0,i=0,f=0,a=0,o=0;o=(0|(r=0|n[(A|=0)>>2]))<0,A=(A=(i=(0|(a=((e=(0|(f=(0|n[A+4>>2])-(o?r:0)|0))<0)?0-f|0:0)+((0|n[A+8>>2])-(o?r:0))|0))<0)?0:a)-((f=(0|(i=(0|A)<(0|(i=(0|(t=(e?0:f)-(i?a:0)|0))<(0|(a=(o?0:r)-(e?f:0)-(i?a:0)|0))?t:a))?A:i))>0)?i:0)|0,t=t-(f?i:0)|0;A:do{switch(a-(f?i:0)|0){case 0:switch(0|t){case 0:return 0|(o=0==(0|A)?0:1==(0|A)?1:7);case 1:return 0|(o=0==(0|A)?2:1==(0|A)?3:7);default:break A}case 1:switch(0|t){case 0:return 0|(o=0==(0|A)?4:1==(0|A)?5:7);case 1:if(A)break A;return 0|(A=6);default:break A}}}while(0);return 0|(o=7)}function iA(A){var e,r=0,t=0,i=0,f=0,a=0,o=0;f=0|n[(e=(A|=0)+8|0)>>2],a=(0|n[A>>2])-f|0,f=(0|n[(o=A+4|0)>>2])-f|0;do{if(a>>>0>715827881|f>>>0>715827881){if(t=(0|a)>0){if((2147483647-a|0)<(0|a))return 0|(o=1);if((2147483647-(a<<1)|0)<(0|a))return 0|(o=1)}else{if((-2147483648-a|0)>(0|a))return 0|(o=1);if((-2147483648-(a<<1)|0)>(0|a))return 0|(o=1)}if(r=3*a|0,(0|f)>0){if((2147483647-f|0)<(0|f))return 0|(o=1)}else if((-2147483648-f|0)>(0|f))return 0|(o=1);if(i=f<<1,(0|a)>-1){if((-2147483648|r|0)>=(0|f))return 0|(o=1)}else if((-2147483648^r|0)<(0|f))return 0|(o=1);if(t){if(!((2147483647-a|0)<(0|i))){t=i;break}return 0|(r=1)}if(!((-2147483648-a|0)>(0|i))){t=i;break}return 0|(r=1)}t=f<<1,r=3*a|0}while(0);i=0|Me(+(r-f|0)/7),n[A>>2]=i,f=0|Me(+(t+a|0)/7),n[o>>2]=f,n[e>>2]=0,r=(t=(0|f)<(0|i))?i:f,t=t?f:i;do{if((0|t)<0){if((0|r)>0){if((-2147483648|r|0)<(0|t)&-2147483648!=(0|t)&(2147483647-r|0)>=(0|t))break;D(23313,22444,355,22455)}if(-2147483648==(0|t)|(-2147483648-r|0)>(0|t)&&D(23313,22444,355,22455),(0|r)>-1){if((-2147483648|r|0)<(0|t))break;D(23313,22444,355,22455)}else{if((-2147483648^r|0)>=(0|t))break;D(23313,22444,355,22455)}}}while(0);return r=f-i|0,(0|i)<0?(t=0-i|0,n[o>>2]=r,n[e>>2]=t,n[A>>2]=0,i=0):(r=f,t=0),(0|r)<0&&(i=i-r|0,n[A>>2]=i,t=t-r|0,n[e>>2]=t,n[o>>2]=0,r=0),a=i-t|0,f=r-t|0,(0|t)<0?(n[A>>2]=a,n[o>>2]=f,n[e>>2]=0,r=f,f=a,t=0):f=i,(0|(i=(0|t)<(0|(i=(0|r)<(0|f)?r:f))?t:i))<=0||(n[A>>2]=f-i,n[o>>2]=r-i,n[e>>2]=t-i),0|(o=0)}function fA(A){var e,r=0,t=0,i=0,f=0,a=0,o=0;f=0|n[(e=(A|=0)+8|0)>>2],a=(0|n[A>>2])-f|0,f=(0|n[(o=A+4|0)>>2])-f|0;do{if(a>>>0>715827881|f>>>0>715827881){if(t=(0|a)>0){if((2147483647-a|0)<(0|a))return 0|(o=1)}else if((-2147483648-a|0)>(0|a))return 0|(o=1);if(r=a<<1,(0|f)>0){if((2147483647-f|0)<(0|f))return 0|(o=1);if((2147483647-(f<<1)|0)<(0|f))return 0|(o=1)}else{if((-2147483648-f|0)>(0|f))return 0|(o=1);if((-2147483648-(f<<1)|0)>(0|f))return 0|(o=1)}if(i=3*f|0,t){if((2147483647-r|0)<(0|f))return 0|(o=1)}else if((-2147483648-r|0)>(0|f))return 0|(o=1);if((0|f)>-1){if((-2147483648|i|0)<(0|a)){t=i;break}return 0|(r=1)}if(!((-2147483648^i|0)<(0|a))){t=i;break}return 0|(r=1)}t=3*f|0,r=a<<1}while(0);i=0|Me(+(r+f|0)/7),n[A>>2]=i,f=0|Me(+(t-a|0)/7),n[o>>2]=f,n[e>>2]=0,r=(t=(0|f)<(0|i))?i:f,t=t?f:i;do{if((0|t)<0){if((0|r)>0){if((-2147483648|r|0)<(0|t)&-2147483648!=(0|t)&(2147483647-r|0)>=(0|t))break;D(23313,22444,404,22469)}if(-2147483648==(0|t)|(-2147483648-r|0)>(0|t)&&D(23313,22444,404,22469),(0|r)>-1){if((-2147483648|r|0)<(0|t))break;D(23313,22444,404,22469)}else{if((-2147483648^r|0)>=(0|t))break;D(23313,22444,404,22469)}}}while(0);return r=f-i|0,(0|i)<0?(t=0-i|0,n[o>>2]=r,n[e>>2]=t,n[A>>2]=0,i=0):(r=f,t=0),(0|r)<0&&(i=i-r|0,n[A>>2]=i,t=t-r|0,n[e>>2]=t,n[o>>2]=0,r=0),a=i-t|0,f=r-t|0,(0|t)<0?(n[A>>2]=a,n[o>>2]=f,n[e>>2]=0,r=f,f=a,t=0):f=i,(0|(i=(0|t)<(0|(i=(0|r)<(0|f)?r:f))?t:i))<=0||(n[A>>2]=f-i,n[o>>2]=r-i,n[e>>2]=t-i),0|(o=0)}function aA(A){var e,r,t=0,i=0,f=0,a=0,o=0;i=0|n[(e=(A|=0)+8|0)>>2],f=0|Me(+((3*(t=(0|n[A>>2])-i|0)|0)-(i=(0|n[(r=A+4|0)>>2])-i|0)|0)/7),n[A>>2]=f,t=0|Me(+((i<<1)+t|0)/7),n[r>>2]=t,n[e>>2]=0,i=t-f|0,(0|f)<0?(o=0-f|0,n[r>>2]=i,n[e>>2]=o,n[A>>2]=0,t=i,f=0,i=o):i=0,(0|t)<0&&(f=f-t|0,n[A>>2]=f,i=i-t|0,n[e>>2]=i,n[r>>2]=0,t=0),o=f-i|0,a=t-i|0,(0|i)<0?(n[A>>2]=o,n[r>>2]=a,n[e>>2]=0,t=a,a=o,i=0):a=f,(0|(f=(0|i)<(0|(f=(0|t)<(0|a)?t:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=t-f,n[e>>2]=i-f)}function oA(A){var e,r,t=0,i=0,f=0,a=0,o=0;i=0|n[(e=(A|=0)+8|0)>>2],f=0|Me(+(((t=(0|n[A>>2])-i|0)<<1)+(i=(0|n[(r=A+4|0)>>2])-i|0)|0)/7),n[A>>2]=f,t=0|Me(+((3*i|0)-t|0)/7),n[r>>2]=t,n[e>>2]=0,i=t-f|0,(0|f)<0?(o=0-f|0,n[r>>2]=i,n[e>>2]=o,n[A>>2]=0,t=i,f=0,i=o):i=0,(0|t)<0&&(f=f-t|0,n[A>>2]=f,i=i-t|0,n[e>>2]=i,n[r>>2]=0,t=0),o=f-i|0,a=t-i|0,(0|i)<0?(n[A>>2]=o,n[r>>2]=a,n[e>>2]=0,t=a,a=o,i=0):a=f,(0|(f=(0|i)<(0|(f=(0|t)<(0|a)?t:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=t-f,n[e>>2]=i-f)}function uA(A){var e,r,t,i=0,f=0,a=0,o=0;i=0|n[(A|=0)>>2],f=0|n[(r=A+4|0)>>2],a=0|n[(t=A+8|0)>>2],o=f+(3*i|0)|0,n[A>>2]=o,f=a+(3*f|0)|0,n[r>>2]=f,i=(3*a|0)+i|0,n[t>>2]=i,a=f-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=a,n[t>>2]=i,n[A>>2]=0,f=a,a=0):a=o,(0|f)<0&&(a=a-f|0,n[A>>2]=a,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=a-i|0,o=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=o,n[t>>2]=0,a=e,i=0):o=f,(0|(f=(0|i)<(0|(f=(0|o)<(0|a)?o:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=o-f,n[t>>2]=i-f)}function cA(A){var e,r,t,i=0,f=0,a=0,o=0;o=0|n[(A|=0)>>2],a=(3*(i=0|n[(r=A+4|0)>>2])|0)+o|0,o=(f=0|n[(t=A+8|0)>>2])+(3*o|0)|0,n[A>>2]=o,n[r>>2]=a,i=(3*f|0)+i|0,n[t>>2]=i,f=a-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=f,n[t>>2]=i,n[A>>2]=0,o=0):f=a,(0|f)<0&&(o=o-f|0,n[A>>2]=o,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=o-i|0,a=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=a,n[t>>2]=0,o=e,i=0):a=f,(0|(f=(0|i)<(0|(f=(0|a)<(0|o)?a:o))?i:f))<=0||(n[A>>2]=o-f,n[r>>2]=a-f,n[t>>2]=i-f)}function sA(A,e){A|=0;var r,t,i,f=0,a=0,o=0;((e|=0)+-1|0)>>>0>=6||(o=(0|n[15440+(12*e|0)>>2])+(0|n[A>>2])|0,n[A>>2]=o,i=A+4|0,a=(0|n[15440+(12*e|0)+4>>2])+(0|n[i>>2])|0,n[i>>2]=a,t=A+8|0,e=(0|n[15440+(12*e|0)+8>>2])+(0|n[t>>2])|0,n[t>>2]=e,f=a-o|0,(0|o)<0?(e=e-o|0,n[i>>2]=f,n[t>>2]=e,n[A>>2]=0,a=0):(f=a,a=o),(0|f)<0&&(a=a-f|0,n[A>>2]=a,e=e-f|0,n[t>>2]=e,n[i>>2]=0,f=0),r=a-e|0,o=f-e|0,(0|e)<0?(n[A>>2]=r,n[i>>2]=o,n[t>>2]=0,a=r,e=0):o=f,(0|(f=(0|e)<(0|(f=(0|o)<(0|a)?o:a))?e:f))<=0||(n[A>>2]=a-f,n[i>>2]=o-f,n[t>>2]=e-f))}function lA(A){var e,r,t,i=0,f=0,a=0,o=0;o=0|n[(A|=0)>>2],a=(i=0|n[(r=A+4|0)>>2])+o|0,o=(f=0|n[(t=A+8|0)>>2])+o|0,n[A>>2]=o,n[r>>2]=a,i=f+i|0,n[t>>2]=i,f=a-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=f,n[t>>2]=i,n[A>>2]=0,a=0):(f=a,a=o),(0|f)<0&&(a=a-f|0,n[A>>2]=a,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=a-i|0,o=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=o,n[t>>2]=0,a=e,i=0):o=f,(0|(f=(0|i)<(0|(f=(0|o)<(0|a)?o:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=o-f,n[t>>2]=i-f)}function dA(A){var e,r,t,i=0,f=0,a=0,o=0;i=0|n[(A|=0)>>2],a=0|n[(r=A+4|0)>>2],f=0|n[(t=A+8|0)>>2],o=a+i|0,n[A>>2]=o,a=f+a|0,n[r>>2]=a,i=f+i|0,n[t>>2]=i,f=a-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=f,n[t>>2]=i,n[A>>2]=0,a=0):(f=a,a=o),(0|f)<0&&(a=a-f|0,n[A>>2]=a,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=a-i|0,o=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=o,n[t>>2]=0,a=e,i=0):o=f,(0|(f=(0|i)<(0|(f=(0|o)<(0|a)?o:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=o-f,n[t>>2]=i-f)}function bA(A){switch(0|(A|=0)){case 1:A=5;break;case 5:A=4;break;case 4:A=6;break;case 6:A=2;break;case 2:A=3;break;case 3:A=1}return 0|A}function hA(A){switch(0|(A|=0)){case 1:A=3;break;case 3:A=2;break;case 2:A=6;break;case 6:A=4;break;case 4:A=5;break;case 5:A=1}return 0|A}function gA(A){var e,r,t,i=0,f=0,a=0,o=0;i=0|n[(A|=0)>>2],f=0|n[(r=A+4|0)>>2],a=0|n[(t=A+8|0)>>2],o=f+(i<<1)|0,n[A>>2]=o,f=a+(f<<1)|0,n[r>>2]=f,i=(a<<1)+i|0,n[t>>2]=i,a=f-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=a,n[t>>2]=i,n[A>>2]=0,f=a,a=0):a=o,(0|f)<0&&(a=a-f|0,n[A>>2]=a,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=a-i|0,o=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=o,n[t>>2]=0,a=e,i=0):o=f,(0|(f=(0|i)<(0|(f=(0|o)<(0|a)?o:a))?i:f))<=0||(n[A>>2]=a-f,n[r>>2]=o-f,n[t>>2]=i-f)}function vA(A){var e,r,t,i=0,f=0,a=0,o=0;o=0|n[(A|=0)>>2],a=((i=0|n[(r=A+4|0)>>2])<<1)+o|0,o=(f=0|n[(t=A+8|0)>>2])+(o<<1)|0,n[A>>2]=o,n[r>>2]=a,i=(f<<1)+i|0,n[t>>2]=i,f=a-o|0,(0|o)<0?(i=i-o|0,n[r>>2]=f,n[t>>2]=i,n[A>>2]=0,o=0):f=a,(0|f)<0&&(o=o-f|0,n[A>>2]=o,i=i-f|0,n[t>>2]=i,n[r>>2]=0,f=0),e=o-i|0,a=f-i|0,(0|i)<0?(n[A>>2]=e,n[r>>2]=a,n[t>>2]=0,o=e,i=0):a=f,(0|(f=(0|i)<(0|(f=(0|a)<(0|o)?a:o))?i:f))<=0||(n[A>>2]=o-f,n[r>>2]=a-f,n[t>>2]=i-f)}function pA(A,e){e|=0;var r,t,i,f=0,a=0,o=0;return i=(0|(t=(0|n[(A|=0)>>2])-(0|n[e>>2])|0))<0,r=(0|(a=(0|n[A+4>>2])-(0|n[e+4>>2])-(i?t:0)|0))<0,e=(e=(A=(0|(o=(i?0-t|0:0)+(0|n[A+8>>2])-(0|n[e+8>>2])+(r?0-a|0:0)|0))<0)?0:o)-((a=(0|(A=(0|e)<(0|(A=(0|(f=(r?0:a)-(A?o:0)|0))<(0|(o=(i?0:t)-(r?a:0)-(A?o:0)|0))?f:o))?e:A))>0)?A:0)|0,f=f-(a?A:0)|0,0|((0|(A=(0|(A=o-(a?A:0)|0))>-1?A:0-A|0))>(0|(e=(0|(f=(0|f)>-1?f:0-f|0))>(0|(e=(0|e)>-1?e:0-e|0))?f:e))?A:e)}function wA(A,e){e|=0;var r;r=0|n[(A|=0)+8>>2],n[e>>2]=(0|n[A>>2])-r,n[e+4>>2]=(0|n[A+4>>2])-r}function _A(A,e){e|=0;var r,t,i,f=0,a=0,o=0;a=0|n[(A|=0)>>2],n[e>>2]=a,o=0|n[A+4>>2],n[(t=e+4|0)>>2]=o,n[(i=e+8|0)>>2]=0,A=(f=(0|o)<(0|a))?a:o,f=f?o:a;do{if((0|f)<0){if((0|A)>0){if((-2147483648|A|0)<(0|f)&-2147483648!=(0|f)&(2147483647-A|0)>=(0|f))break;return 0|(A=1)}if(-2147483648==(0|f)|(-2147483648-A|0)>(0|f))return 0|(e=1);if((0|A)>-1){if((-2147483648|A|0)<(0|f))break;return 0|(A=1)}if(!((-2147483648^A|0)<(0|f)))break;return 0|(A=1)}}while(0);return A=o-a|0,(0|a)<0?(f=0-a|0,n[t>>2]=A,n[i>>2]=f,n[e>>2]=0,a=0):(A=o,f=0),(0|A)<0&&(a=a-A|0,n[e>>2]=a,f=f-A|0,n[i>>2]=f,n[t>>2]=0,A=0),r=a-f|0,o=A-f|0,(0|f)<0?(n[e>>2]=r,n[t>>2]=o,n[i>>2]=0,A=o,o=r,f=0):o=a,(0|(a=(0|f)<(0|(a=(0|A)<(0|o)?A:o))?f:a))<=0||(n[e>>2]=o-a,n[t>>2]=A-a,n[i>>2]=f-a),0|(e=0)}function EA(A){var e,r,t,i;r=(i=0|n[(e=(A|=0)+8|0)>>2])-(0|n[A>>2])|0,n[A>>2]=r,A=(0|n[(t=A+4|0)>>2])-i|0,n[t>>2]=A,n[e>>2]=0-(A+r)}function yA(A){var e,r,t=0,i=0,f=0,a=0,o=0;t=0-(i=0|n[(A|=0)>>2])|0,n[A>>2]=t,n[(e=A+8|0)>>2]=0,a=(f=0|n[(r=A+4|0)>>2])+i|0,(0|i)>0?(n[r>>2]=a,n[e>>2]=i,n[A>>2]=0,t=0,f=a):i=0,(0|f)<0?(o=t-f|0,n[A>>2]=o,i=i-f|0,n[e>>2]=i,n[r>>2]=0,a=o-i|0,t=0-i|0,(0|i)<0?(n[A>>2]=a,n[r>>2]=t,n[e>>2]=0,f=t,i=0):(f=0,a=o)):a=t,(0|(t=(0|i)<(0|(t=(0|f)<(0|a)?f:a))?i:t))<=0||(n[A>>2]=a-t,n[r>>2]=f-t,n[e>>2]=i-t)}function BA(A,e,r){r|=0;var t,i,f=0,a=0;return i=I,I=I+16|0,t=i,a=-2130706433&(e|=0)|134217728,!0&268435456==(2013265920&e|0)?(f=0|Ne(0|(A|=0),0|e,56),m(),f=0|function(A,e,r){A|=0,e|=0,r|=0;var t=0,i=0,f=0;if(f=I,I=I+16|0,i=f,t=0|LA(A,e),(r+-1|0)>>>0>5)return I=f,0|(i=-1);if(t=0!=(0|t),1==(0|r)&t)return I=f,0|(i=-1);do{if(!(0|we(A,e,i))){if(t){t=(5+(0|n[21936+(r<<2)>>2])-(0|n[i>>2])|0)%5|0;break}t=(6+(0|n[21968+(r<<2)>>2])-(0|n[i>>2])|0)%6|0;break}t=-1}while(0);return i=t,I=f,0|i}(A,a,7&f),-1==(0|f)?(n[r>>2]=0,I=i,0|(a=6)):(0|VA(A,a,t)&&D(23313,22484,282,22499),e=0|Ne(0|A,0|e,52),m(),e&=15,0|LA(A,a)?xA(t,e,f,2,r):PA(t,e,f,2,r),I=i,0|(a=0))):(I=i,0|(a=6))}function kA(A,e,r,t){e|=0,t|=0;var f,a=0,o=0,u=0,c=0;if(f=I,I=I+16|0,function(A,e,r){A|=0,e|=0,r|=0;var t=0,f=0,a=0;a=I,I=I+32|0,f=a,function(A,e){A|=0,e|=0;var r=0,t=0,n=0;r=+i[A>>3],t=+l(+r),r=+d(+r),i[e+16>>3]=r,r=+i[A+8>>3],n=t*+l(+r),i[e>>3]=n,r=t*+d(+r),i[e+8>>3]=r}(A,f),n[e>>2]=0,i[r>>3]=5,t=+pe(16400,f),t<+i[r>>3]&&(n[e>>2]=0,i[r>>3]=t);t=+pe(16424,f),t<+i[r>>3]&&(n[e>>2]=1,i[r>>3]=t);t=+pe(16448,f),t<+i[r>>3]&&(n[e>>2]=2,i[r>>3]=t);t=+pe(16472,f),t<+i[r>>3]&&(n[e>>2]=3,i[r>>3]=t);t=+pe(16496,f),t<+i[r>>3]&&(n[e>>2]=4,i[r>>3]=t);t=+pe(16520,f),t<+i[r>>3]&&(n[e>>2]=5,i[r>>3]=t);t=+pe(16544,f),t<+i[r>>3]&&(n[e>>2]=6,i[r>>3]=t);t=+pe(16568,f),t<+i[r>>3]&&(n[e>>2]=7,i[r>>3]=t);t=+pe(16592,f),t<+i[r>>3]&&(n[e>>2]=8,i[r>>3]=t);t=+pe(16616,f),t<+i[r>>3]&&(n[e>>2]=9,i[r>>3]=t);t=+pe(16640,f),t<+i[r>>3]&&(n[e>>2]=10,i[r>>3]=t);t=+pe(16664,f),t<+i[r>>3]&&(n[e>>2]=11,i[r>>3]=t);t=+pe(16688,f),t<+i[r>>3]&&(n[e>>2]=12,i[r>>3]=t);t=+pe(16712,f),t<+i[r>>3]&&(n[e>>2]=13,i[r>>3]=t);t=+pe(16736,f),t<+i[r>>3]&&(n[e>>2]=14,i[r>>3]=t);t=+pe(16760,f),t<+i[r>>3]&&(n[e>>2]=15,i[r>>3]=t);t=+pe(16784,f),t<+i[r>>3]&&(n[e>>2]=16,i[r>>3]=t);t=+pe(16808,f),t<+i[r>>3]&&(n[e>>2]=17,i[r>>3]=t);t=+pe(16832,f),t<+i[r>>3]&&(n[e>>2]=18,i[r>>3]=t);if(t=+pe(16856,f),!(t<+i[r>>3]))return void(I=a);n[e>>2]=19,i[r>>3]=t,I=a}(A|=0,r|=0,c=f),(o=+h(+(1-.5*+i[c>>3])))<1e-16)return n[t>>2]=0,n[t+4>>2]=0,n[t+8>>2]=0,n[t+12>>2]=0,void(I=f);if(c=0|n[r>>2],a=+XA((a=+i[15920+(24*c|0)>>3])-+XA(+function(A,e){A|=0,e|=0;var r=0,t=0,n=0,f=0,a=0;return f=+i[e>>3],t=+l(+f),n=+i[e+8>>3]-+i[A+8>>3],a=t*+d(+n),r=+i[A>>3],+ +p(+a,+(+d(+f)*+l(+r)-+l(+n)*(t*+d(+r))))}(15600+(c<<4)|0,A))),u=0|zA(e)?+XA(a+-.3334731722518321):a,a=+b(+o)/.381966011250105,(0|e)>0){A=0;do{a*=2.6457513110645907,A=A+1|0}while((0|A)!=(0|e))}o=+l(+u)*a,i[t>>3]=o,u=+d(+u)*a,i[t+8>>3]=u,I=f}function mA(A,e,r,t,f){e|=0,r|=0,t|=0,f|=0;var a=0,o=0;if(a=+function(A){A|=0;var e=0,r=0;return r=+i[A>>3],e=+i[A+8>>3],+ +c(+(r*r+e*e))}(A|=0),a<1e-16)return e=15600+(e<<4)|0,n[f>>2]=n[e>>2],n[f+4>>2]=n[e+4>>2],n[f+8>>2]=n[e+8>>2],void(n[f+12>>2]=n[e+12>>2]);if(o=+p(+ +i[A+8>>3],+ +i[A>>3]),(0|r)>0){A=0;do{a/=2.6457513110645907,A=A+1|0}while((0|A)!=(0|r))}t?(a/=3,r=0==(0|zA(r)),a=+v(.381966011250105*(r?a:a/2.6457513110645907))):(a=+v(.381966011250105*a),0|zA(r)&&(o=+XA(o+.3334731722518321))),function(A,e,r,t){A|=0,e=+e,r=+r,t|=0;var f=0,a=0,o=0,c=0;if(r<1e-16)return n[t>>2]=n[A>>2],n[t+4>>2]=n[A+4>>2],n[t+8>>2]=n[A+8>>2],void(n[t+12>>2]=n[A+12>>2]);a=e<0?e+6.283185307179586:e,a=e>=6.283185307179586?a+-6.283185307179586:a;do{if(!(a<1e-16)){if(f=+u(+(a+-3.141592653589793))<1e-16,e=+i[A>>3],f){e-=r,i[t>>3]=e,f=t;break}if(o=+l(+r),r=+d(+r),e=o*+d(+e)+ +l(+a)*(r*+l(+e)),e=+g(+((e=e>1?1:e)<-1?-1:e)),i[t>>3]=e,+u(+(e+-1.5707963267948966))<1e-16)return i[t>>3]=1.5707963267948966,void(i[t+8>>3]=0);if(+u(+(e+1.5707963267948966))<1e-16)return i[t>>3]=-1.5707963267948966,void(i[t+8>>3]=0);if(c=+l(+e),a=r*+d(+a)/c,r=+i[A>>3],e=(o-+d(+e)*+d(+r))/+l(+r)/c,o=a>1?1:a,e=e>1?1:e,(e=+i[A+8>>3]+ +p(+(o<-1?-1:o),+(e<-1?-1:e)))>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);return void(i[t+8>>3]=e)}e=+i[A>>3]+r,i[t>>3]=e,f=t}while(0);if(+u(+(e+-1.5707963267948966))<1e-16)return i[f>>3]=1.5707963267948966,void(i[t+8>>3]=0);if(+u(+(e+1.5707963267948966))<1e-16)return i[f>>3]=-1.5707963267948966,void(i[t+8>>3]=0);if(e=+i[A+8>>3],e>3.141592653589793)do{e+=-6.283185307179586}while(e>3.141592653589793);if(e<-3.141592653589793)do{e+=6.283185307179586}while(e<-3.141592653589793);i[t+8>>3]=e}(15600+(e<<4)|0,+XA(+i[15920+(24*e|0)>>3]-o),a,f)}function DA(A,e,r){e|=0,r|=0;var t,i;t=I,I=I+16|0,AA((A|=0)+4|0,i=t),mA(i,0|n[A>>2],e,0,r),I=t}function xA(A,e,r,t,f){A|=0,e|=0,r|=0,t|=0,f|=0;var a,o,u,c,s,l,d,b,h,g,v,p,w,_,E,y,B,k,m,x,M,Q,C=0,P=0,S=0,R=0,T=0,G=0;if(Q=I,I=I+272|0,R=Q+240|0,m=Q,x=Q+224|0,M=Q+208|0,v=Q+176|0,p=Q+160|0,w=Q+192|0,_=Q+144|0,E=Q+128|0,y=Q+112|0,B=Q+96|0,k=Q+80|0,n[(C=Q+256|0)>>2]=e,n[R>>2]=n[A>>2],n[R+4>>2]=n[A+4>>2],n[R+8>>2]=n[A+8>>2],n[R+12>>2]=n[A+12>>2],MA(R,C,m),n[f>>2]=0,(0|(R=t+r+(5==(0|t)&1)|0))<=(0|r))I=Q;else{o=x+4|0,u=v+4|0,c=r+5|0,s=16880+((a=0|n[C>>2])<<2)|0,l=16960+(a<<2)|0,d=E+8|0,b=y+8|0,h=B+8|0,g=M+4|0,S=r;A:for(;;){P=m+(((0|S)%5|0)<<4)|0,n[M>>2]=n[P>>2],n[M+4>>2]=n[P+4>>2],n[M+8>>2]=n[P+8>>2],n[M+12>>2]=n[P+12>>2];do{}while(2==(0|QA(M,a,0,1)));if((0|S)>(0|r)&0!=(0|zA(e))){if(n[v>>2]=n[M>>2],n[v+4>>2]=n[M+4>>2],n[v+8>>2]=n[M+8>>2],n[v+12>>2]=n[M+12>>2],AA(o,p),t=0|n[v>>2],C=0|n[17040+(80*t|0)+(n[x>>2]<<2)>>2],n[v>>2]=n[18640+(80*t|0)+(20*C|0)>>2],(0|(P=0|n[18640+(80*t|0)+(20*C|0)+16>>2]))>0){A=0;do{lA(u),A=A+1|0}while((0|A)<(0|P))}switch(P=18640+(80*t|0)+(20*C|0)+4|0,n[w>>2]=n[P>>2],n[w+4>>2]=n[P+4>>2],n[w+8>>2]=n[P+8>>2],tA(w,3*(0|n[s>>2])|0),eA(u,w,u),q(u),AA(u,_),T=+(0|n[l>>2]),i[E>>3]=3*T,i[d>>3]=0,G=-1.5*T,i[y>>3]=G,i[b>>3]=2.598076211353316*T,i[B>>3]=G,i[h>>3]=-2.598076211353316*T,0|n[17040+(80*(0|n[v>>2])|0)+(n[M>>2]<<2)>>2]){case 1:A=y,t=E;break;case 3:A=B,t=y;break;case 2:A=E,t=B;break;default:A=12;break A}ge(p,_,t,A,k),mA(k,0|n[v>>2],a,1,f+8+(n[f>>2]<<4)|0),n[f>>2]=1+(0|n[f>>2])}if((0|S)<(0|c)&&(AA(g,v),mA(v,0|n[M>>2],a,1,f+8+(n[f>>2]<<4)|0),n[f>>2]=1+(0|n[f>>2])),n[x>>2]=n[M>>2],n[x+4>>2]=n[M+4>>2],n[x+8>>2]=n[M+8>>2],n[x+12>>2]=n[M+12>>2],(0|(S=S+1|0))>=(0|R)){A=3;break}}3!=(0|A)?12==(0|A)&&D(22522,22569,571,22579):I=Q}}function MA(A,e,r){A|=0,e|=0,r|=0;var t,i=0,f=0,a=0,o=0,u=0;t=I,I=I+128|0,f=t,o=20240,u=(a=i=t+64|0)+60|0;do{n[a>>2]=n[o>>2],a=a+4|0,o=o+4|0}while((0|a)<(0|u));o=20304,u=(a=f)+60|0;do{n[a>>2]=n[o>>2],a=a+4|0,o=o+4|0}while((0|a)<(0|u));i=(u=0==(0|zA(0|n[e>>2])))?i:f,gA(f=A+4|0),vA(f),0|zA(0|n[e>>2])&&(cA(f),n[e>>2]=1+(0|n[e>>2])),n[r>>2]=n[A>>2],eA(f,i,e=r+4|0),q(e),n[r+16>>2]=n[A>>2],eA(f,i+12|0,e=r+20|0),q(e),n[r+32>>2]=n[A>>2],eA(f,i+24|0,e=r+36|0),q(e),n[r+48>>2]=n[A>>2],eA(f,i+36|0,e=r+52|0),q(e),n[r+64>>2]=n[A>>2],eA(f,i+48|0,r=r+68|0),q(r),I=t}function QA(A,e,r,t){r|=0,t|=0;var i,f,a,o,u,c,s=0,l=0,d=0,b=0,h=0;if(c=I,I=I+32|0,u=c+12|0,f=c,h=(A|=0)+4|0,b=0|n[16960+((e|=0)<<2)>>2],b=(o=0!=(0|t))?3*b|0:b,s=0|n[h>>2],i=0|n[(a=A+8|0)>>2],o){if((0|(s=i+s+(t=0|n[(l=A+12|0)>>2])|0))==(0|b))return I=c,0|(h=1);d=l}else s=i+s+(t=0|n[(d=A+12|0)>>2])|0;if((0|s)<=(0|b))return I=c,0|(h=0);do{if((0|t)>0){if(t=0|n[A>>2],(0|i)>0){l=18640+(80*t|0)+60|0,t=A;break}t=18640+(80*t|0)+40|0,r?(J(u,b,0,0),rA(h,u,f),dA(f),eA(f,u,h),l=t,t=A):(l=t,t=A)}else l=18640+(80*(0|n[A>>2])|0)+20|0,t=A}while(0);if(n[t>>2]=n[l>>2],(0|n[(s=l+16|0)>>2])>0){t=0;do{lA(h),t=t+1|0}while((0|t)<(0|n[s>>2]))}return A=l+4|0,n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],n[u+8>>2]=n[A+8>>2],e=0|n[16880+(e<<2)>>2],tA(u,o?3*e|0:e),eA(h,u,h),q(h),t=o&&((0|n[a>>2])+(0|n[h>>2])+(0|n[d>>2])|0)==(0|b)?1:2,I=c,0|(h=t)}function CA(A,e){A|=0,e|=0;var r=0;do{r=0|QA(A,e,0,1)}while(2==(0|r));return 0|r}function PA(A,e,r,t,f){A|=0,e|=0,r|=0,t|=0,f|=0;var a,o,u,c,s,l,d,b,h,g,v,p,w,_,E,y,B,k,m=0,x=0,M=0,Q=0,C=0;if(k=I,I=I+240|0,_=k+208|0,E=k,y=k+192|0,B=k+176|0,h=k+160|0,g=k+144|0,v=k+128|0,p=k+112|0,w=k+96|0,n[(m=k+224|0)>>2]=e,n[_>>2]=n[A>>2],n[_+4>>2]=n[A+4>>2],n[_+8>>2]=n[A+8>>2],n[_+12>>2]=n[A+12>>2],IA(_,m,E),n[f>>2]=0,(0|(b=t+r+(6==(0|t)&1)|0))<=(0|r))I=k;else{o=r+6|0,u=16960+((a=0|n[m>>2])<<2)|0,c=g+8|0,s=v+8|0,l=p+8|0,d=y+4|0,x=0,M=r,t=-1;A:for(;;){if(A=E+((m=(0|M)%6|0)<<4)|0,n[y>>2]=n[A>>2],n[y+4>>2]=n[A+4>>2],n[y+8>>2]=n[A+8>>2],n[y+12>>2]=n[A+12>>2],A=x,x=0|QA(y,a,0,1),(0|M)>(0|r)&0!=(0|zA(e))&&(1!=(0|A)&&(0|n[y>>2])!=(0|t))){switch(AA(E+(((m+5|0)%6|0)<<4)+4|0,B),AA(E+(m<<4)+4|0,h),Q=+(0|n[u>>2]),i[g>>3]=3*Q,i[c>>3]=0,C=-1.5*Q,i[v>>3]=C,i[s>>3]=2.598076211353316*Q,i[p>>3]=C,i[l>>3]=-2.598076211353316*Q,m=0|n[_>>2],0|n[17040+(80*m|0)+(((0|t)==(0|m)?0|n[y>>2]:t)<<2)>>2]){case 1:A=v,t=g;break;case 3:A=p,t=v;break;case 2:A=g,t=p;break;default:A=8;break A}ge(B,h,t,A,w),0|ve(B,w)||0|ve(h,w)||(mA(w,0|n[_>>2],a,1,f+8+(n[f>>2]<<4)|0),n[f>>2]=1+(0|n[f>>2]))}if((0|M)<(0|o)&&(AA(d,B),mA(B,0|n[y>>2],a,1,f+8+(n[f>>2]<<4)|0),n[f>>2]=1+(0|n[f>>2])),(0|(M=M+1|0))>=(0|b)){A=3;break}t=0|n[y>>2]}3!=(0|A)?8==(0|A)&&D(22606,22569,736,22651):I=k}}function IA(A,e,r){A|=0,e|=0,r|=0;var t,i=0,f=0,a=0,o=0,u=0;t=I,I=I+160|0,f=t,o=20368,u=(a=i=t+80|0)+72|0;do{n[a>>2]=n[o>>2],a=a+4|0,o=o+4|0}while((0|a)<(0|u));o=20448,u=(a=f)+72|0;do{n[a>>2]=n[o>>2],a=a+4|0,o=o+4|0}while((0|a)<(0|u));i=(u=0==(0|zA(0|n[e>>2])))?i:f,gA(f=A+4|0),vA(f),0|zA(0|n[e>>2])&&(cA(f),n[e>>2]=1+(0|n[e>>2])),n[r>>2]=n[A>>2],eA(f,i,e=r+4|0),q(e),n[r+16>>2]=n[A>>2],eA(f,i+12|0,e=r+20|0),q(e),n[r+32>>2]=n[A>>2],eA(f,i+24|0,e=r+36|0),q(e),n[r+48>>2]=n[A>>2],eA(f,i+36|0,e=r+52|0),q(e),n[r+64>>2]=n[A>>2],eA(f,i+48|0,e=r+68|0),q(e),n[r+80>>2]=n[A>>2],eA(f,i+60|0,r=r+84|0),q(r),I=t}function SA(A,e){return e=0|Ne(0|(A|=0),0|(e|=0),45),m(),127&e|0}function RA(A,e){var r=0,t=0,n=0,i=0,f=0,a=0;if(!(!0&134217728==(-16777216&(e|=0)|0)))return 0|(e=0);if(f=0|Ne(0|(A|=0),0|e,45),m(),(f&=127)>>>0>121)return 0|(e=0);r=0|Ne(0|A,0|e,52),m(),r&=15;do{if(0|r){for(n=1,t=0;;){if(i=0|Ne(0|A,0|e,3*(15-n|0)|0),m(),0!=(0|(i&=7))&(1^t)){if(1==(0|i)&0!=(0|U(f))){a=0,t=13;break}t=1}if(7==(0|i)){a=0,t=13;break}if(!(n>>>0>>0)){t=9;break}n=n+1|0}if(9==(0|t)){if(15!=(0|r))break;return 0|(a=1)}if(13==(0|t))return 0|a}}while(0);for(;;){if(a=0|Ne(0|A,0|e,3*(14-r|0)|0),m(),!(7==(7&a|0)&!0)){a=0,t=13;break}if(!(r>>>0<14)){a=1,t=13;break}r=r+1|0}return 13==(0|t)?0|a:0}function TA(A,e,r,t){r|=0,t|=0;var i=0,f=0;if(f=0|Ne(0|(A|=0),0|(e|=0),52),m(),r>>>0>15)return 0|(t=4);if((0|(f&=15))<(0|r))return 0|(t=12);if((0|f)==(0|r))return n[t>>2]=A,n[t+4>>2]=e,0|(t=0);if(i=0|Ye(0|r,0,52),i|=A,A=0|m()|-15728641&e,(0|f)>(0|r))do{e=0|Ye(7,0,3*(14-r|0)|0),r=r+1|0,i|=e,A=0|m()|A}while((0|r)<(0|f));return n[t>>2]=i,n[t+4>>2]=A,0|(t=0)}function GA(A,e,r,t){r|=0,t|=0;var i=0,f=0,a=0;if(f=0|Ne(0|(A|=0),0|(e|=0),52),m(),!((0|r)<16&(0|(f&=15))<=(0|r)))return 0|(t=4);i=r-f|0,r=0|Ne(0|A,0|e,45),m();A:do{if(0|U(127&r)){e:do{if(0|f){for(r=1;0==((a=0|Ye(7,0,3*(15-r|0)|0))&A|0)&0==((0|m())&e|0);){if(!(r>>>0>>0))break e;r=r+1|0}r=0|se(7,0,i,((0|i)<0)<<31>>31),i=0|m();break A}}while(0);r=0|Ie(0|(r=0|Le(0|(r=0|se(7,0,i,((0|i)<0)<<31>>31)),0|m(),5,0)),0|m(),-5,-1),r=0|Ie(0|(r=0|Ge(0|r,0|m(),6,0)),0|m(),1,0),i=0|m()}else r=0|se(7,0,i,((0|i)<0)<<31>>31),i=0|m()}while(0);return n[(a=t)>>2]=r,n[a+4>>2]=i,0|(a=0)}function LA(A,e){var r=0,t=0,n=0;if(n=0|Ne(0|(A|=0),0|(e|=0),45),m(),!(0|U(127&n)))return 0|(n=0);n=0|Ne(0|A,0|e,52),m(),n&=15;A:do{if(n)for(t=1;;){if(r=0|Ne(0|A,0|e,3*(15-t|0)|0),m(),0|(r&=7))break A;if(!(t>>>0>>0)){r=0;break}t=t+1|0}else r=0}while(0);return 0|(n=0==(0|r)&1)}function FA(A,e){var r=0,t=0,n=0;if(n=0|Ne(0|(A|=0),0|(e|=0),52),m(),!(n&=15))return 0|(n=0);for(t=1;;){if(r=0|Ne(0|A,0|e,3*(15-t|0)|0),m(),0|(r&=7)){t=5;break}if(!(t>>>0>>0)){r=0,t=5;break}t=t+1|0}return 5==(0|t)?0|r:0}function OA(A,e){var r=0,t=0,n=0,i=0,f=0,a=0,o=0;if(o=0|Ne(0|(A|=0),0|(e|=0),52),m(),!(o&=15))return o=A,k(0|(a=e)),0|o;for(a=1,r=0;;){t=0|Ye(7,0,0|(i=3*(15-a|0)|0)),n=0|m(),f=0|Ne(0|A,0|e,0|i),m(),A=(i=0|Ye(0|bA(7&f),0,0|i))|A&~t,e=(f=0|m())|e&~n;A:do{if(!r)if(0==(i&t|0)&0==(f&n|0))r=0;else if(t=0|Ne(0|A,0|e,52),m(),t&=15){r=1;e:for(;;){switch(f=0|Ne(0|A,0|e,3*(15-r|0)|0),m(),7&f){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(n=0|Ne(0|A,0|e,0|(f=3*(15-r|0)|0)),m(),i=0|Ye(7,0,0|f),e&=~(0|m()),A=A&~i|(f=0|Ye(0|bA(7&n),0,0|f)),e=0|e|m(),!(r>>>0>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(a>>>0>>0))break;a=a+1|0}return k(0|e),0|A}function UA(A,e){var r=0,t=0,n=0,i=0,f=0;if(t=0|Ne(0|(A|=0),0|(e|=0),52),m(),!(t&=15))return t=A,k(0|(r=e)),0|t;for(r=1;f=0|Ne(0|A,0|e,0|(i=3*(15-r|0)|0)),m(),n=0|Ye(7,0,0|i),e&=~(0|m()),A=(i=0|Ye(0|bA(7&f),0,0|i))|A&~n,e=0|m()|e,r>>>0>>0;)r=r+1|0;return k(0|e),0|A}function NA(A,e){var r=0,t=0,n=0,i=0,f=0,a=0,o=0;if(o=0|Ne(0|(A|=0),0|(e|=0),52),m(),!(o&=15))return o=A,k(0|(a=e)),0|o;for(a=1,r=0;;){t=0|Ye(7,0,0|(i=3*(15-a|0)|0)),n=0|m(),f=0|Ne(0|A,0|e,0|i),m(),A=(i=0|Ye(0|hA(7&f),0,0|i))|A&~t,e=(f=0|m())|e&~n;A:do{if(!r)if(0==(i&t|0)&0==(f&n|0))r=0;else if(t=0|Ne(0|A,0|e,52),m(),t&=15){r=1;e:for(;;){switch(f=0|Ne(0|A,0|e,3*(15-r|0)|0),m(),7&f){case 1:break e;case 0:break;default:r=1;break A}if(!(r>>>0>>0)){r=1;break A}r=r+1|0}for(r=1;;){if(i=0|Ye(7,0,0|(n=3*(15-r|0)|0)),f=e&~(0|m()),e=0|Ne(0|A,0|e,0|n),m(),A=A&~i|(e=0|Ye(0|hA(7&e),0,0|n)),e=0|f|m(),!(r>>>0>>0)){r=1;break}r=r+1|0}}else r=1}while(0);if(!(a>>>0>>0))break;a=a+1|0}return k(0|e),0|A}function YA(A,e){var r=0,t=0,n=0,i=0,f=0;if(t=0|Ne(0|(A|=0),0|(e|=0),52),m(),!(t&=15))return t=A,k(0|(r=e)),0|t;for(r=1;i=0|Ye(7,0,0|(f=3*(15-r|0)|0)),n=e&~(0|m()),e=0|Ne(0|A,0|e,0|f),m(),A=(e=0|Ye(0|hA(7&e),0,0|f))|A&~i,e=0|m()|n,r>>>0>>0;)r=r+1|0;return k(0|e),0|A}function zA(A){return 0|(0|(A|=0))%2}function ZA(A,e,r){r|=0;var t,i=0;return t=I,I=I+16|0,i=t,(e|=0)>>>0>15?(I=t,0|(i=4)):2146435072==(2146435072&n[(A|=0)+4>>2]|0)||2146435072==(2146435072&n[A+8+4>>2]|0)?(I=t,0|(i=3)):(function(A,e,r){var t,n;t=I,I=I+16|0,kA(A|=0,e|=0,r|=0,n=t),X(n,r+4|0),I=t}(A,e,i),e=0|function(A,e){A|=0;var r,t=0,i=0,f=0,a=0,o=0,u=0,c=0,s=0;if(r=I,I=I+64|0,u=r+40|0,i=r+24|0,f=r+12|0,a=r,Ye(0|(e|=0),0,52),t=134225919|m(),!e)return(0|n[A+4>>2])>2||(0|n[A+8>>2])>2||(0|n[A+12>>2])>2?(u=0,k(0|(o=0)),I=r,0|u):(Ye(0|Y(A),0,45),o=0|m()|t,u=-1,k(0|o),I=r,0|u);if(n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],n[u+8>>2]=n[A+8>>2],n[u+12>>2]=n[A+12>>2],o=u+4|0,(0|e)>0)for(A=-1;n[i>>2]=n[o>>2],n[i+4>>2]=n[o+4>>2],n[i+8>>2]=n[o+8>>2],1&e?(aA(o),n[f>>2]=n[o>>2],n[f+4>>2]=n[o+4>>2],n[f+8>>2]=n[o+8>>2],uA(f)):(oA(o),n[f>>2]=n[o>>2],n[f+4>>2]=n[o+4>>2],n[f+8>>2]=n[o+8>>2],cA(f)),rA(i,f,a),q(a),c=0|Ye(7,0,0|(s=3*(15-e|0)|0)),t&=~(0|m()),A=(s=0|Ye(0|nA(a),0,0|s))|A&~c,t=0|m()|t,(0|e)>1;)e=e+-1|0;else A=-1;A:do{if((0|n[o>>2])<=2&&(0|n[u+8>>2])<=2&&(0|n[u+12>>2])<=2){if(e=0|Ye(0|(i=0|Y(u)),0,45),e|=A,A=0|m()|-1040385&t,a=0|z(u),!(0|U(i))){if((0|a)<=0)break;for(f=0;;){if(i=0|Ne(0|e,0|A,52),m(),i&=15)for(t=1;u=0|Ne(0|e,0|A,0|(s=3*(15-t|0)|0)),m(),c=0|Ye(7,0,0|s),A&=~(0|m()),e=e&~c|(s=0|Ye(0|bA(7&u),0,0|s)),A=0|A|m(),t>>>0>>0;)t=t+1|0;if((0|(f=f+1|0))==(0|a))break A}}f=0|Ne(0|e,0|A,52),m(),f&=15;e:do{if(f){t=1;r:for(;;){switch(s=0|Ne(0|e,0|A,3*(15-t|0)|0),m(),7&s){case 1:break r;case 0:break;default:break e}if(!(t>>>0>>0))break e;t=t+1|0}if(0|Z(i,0|n[u>>2]))for(t=1;c=0|Ye(7,0,0|(u=3*(15-t|0)|0)),s=A&~(0|m()),A=0|Ne(0|e,0|A,0|u),m(),e=e&~c|(A=0|Ye(0|hA(7&A),0,0|u)),A=0|s|m(),t>>>0>>0;)t=t+1|0;else for(t=1;u=0|Ne(0|e,0|A,0|(s=3*(15-t|0)|0)),m(),c=0|Ye(7,0,0|s),A&=~(0|m()),e=e&~c|(s=0|Ye(0|bA(7&u),0,0|s)),A=0|A|m(),t>>>0>>0;)t=t+1|0}}while(0);if((0|a)>0){t=0;do{e=0|OA(e,A),A=0|m(),t=t+1|0}while((0|t)!=(0|a))}}else e=0,A=0}while(0);return s=e,k(0|(c=A)),I=r,0|s}(i,e),i=0|m(),n[r>>2]=e,n[r+4>>2]=i,0==(0|e)&0==(0|i)&&D(23313,22674,786,22697),I=t,0|(i=0))}function HA(A,e,r){var t,i=0,f=0,a=0;if(t=(r|=0)+4|0,f=0|Ne(0|(A|=0),0|(e|=0),52),m(),f&=15,a=0|Ne(0|A,0|e,45),m(),i=0==(0|f),0|U(127&a)){if(i)return 0|(a=1);i=1}else{if(i)return 0|(a=0);i=0==(0|n[t>>2])&&0==(0|n[r+8>>2])?0!=(0|n[r+12>>2])&1:1}for(r=1;1&r?uA(t):cA(t),a=0|Ne(0|A,0|e,3*(15-r|0)|0),m(),sA(t,7&a),r>>>0>>0;)r=r+1|0;return 0|i}function VA(A,e,r){r|=0;var t,i,f=0,a=0,o=0,u=0,c=0,s=0;if(i=I,I=I+16|0,t=i,s=0|Ne(0|(A|=0),0|(e|=0),45),m(),(s&=127)>>>0>121)return n[r>>2]=0,n[r+4>>2]=0,n[r+8>>2]=0,n[r+12>>2]=0,I=i,0|(s=5);A:do{if(0!=(0|U(s))&&(o=0|Ne(0|A,0|e,52),m(),0!=(0|(o&=15)))){f=1;e:for(;;){switch(c=0|Ne(0|A,0|e,3*(15-f|0)|0),m(),7&c){case 5:break e;case 0:break;default:f=e;break A}if(!(f>>>0>>0)){f=e;break A}f=f+1|0}for(a=1,f=e;u=0|Ye(7,0,0|(e=3*(15-a|0)|0)),c=f&~(0|m()),f=0|Ne(0|A,0|f,0|e),m(),A=A&~u|(f=0|Ye(0|hA(7&f),0,0|e)),f=0|c|m(),a>>>0>>0;)a=a+1|0}else f=e}while(0);if(c=7696+(28*s|0)|0,n[r>>2]=n[c>>2],n[r+4>>2]=n[c+4>>2],n[r+8>>2]=n[c+8>>2],n[r+12>>2]=n[c+12>>2],!(0|HA(A,f,r)))return I=i,0|(s=0);if(u=r+4|0,n[t>>2]=n[u>>2],n[t+4>>2]=n[u+4>>2],n[t+8>>2]=n[u+8>>2],o=0|Ne(0|A,0|f,52),m(),c=15&o,1&o?(cA(u),o=c+1|0):o=c,0|U(s)){A:do{if(c)for(e=1;;){if(a=0|Ne(0|A,0|f,3*(15-e|0)|0),m(),0|(a&=7)){f=a;break A}if(!(e>>>0>>0)){f=0;break}e=e+1|0}else f=0}while(0);f=4==(0|f)&1}else f=0;if(0|QA(r,o,f,0)){if(0|U(s))do{}while(0!=(0|QA(r,o,0,0)));(0|o)!=(0|c)&&oA(u)}else(0|o)!=(0|c)&&(n[u>>2]=n[t>>2],n[u+4>>2]=n[t+4>>2],n[u+8>>2]=n[t+8>>2]);return I=i,0|(s=0)}function $A(A,e,r){r|=0;var t,n,i=0;return n=I,I=I+16|0,0|(i=0|VA(A|=0,e|=0,t=n))?(I=n,0|i):(i=0|Ne(0|A,0|e,52),m(),DA(t,15&i,r),I=n,0|(i=0))}function WA(A,e,r){r|=0;var t,n=0,i=0,f=0;if(t=I,I=I+16|0,0|(n=0|VA(A|=0,e|=0,f=t)))return I=t,0|(f=n);n=0|Ne(0|A,0|e,45),m(),n=0==(0|U(127&n)),i=0|Ne(0|A,0|e,52),m(),i&=15;A:do{if(!n){if(0|i)for(n=1;;){if(!(0==((0|Ye(7,0,3*(15-n|0)|0))&A|0)&0==((0|m())&e|0)))break A;if(!(n>>>0>>0))break;n=n+1|0}return xA(f,i,0,5,r),I=t,0|0}}while(0);return PA(f,i,0,6,r),I=t,0|0}function KA(A,e){e|=0;var r=0,t=0,i=0,f=0,a=0,o=0,u=0;if((A|=0)>>>0>15)return 0|(o=4);if(Ye(0|A,0,52),o=134225919|m(),!A){r=0,t=0;do{0|U(t)&&(Ye(0|t,0,45),a=0|o|m(),n[(A=e+(r<<3)|0)>>2]=-1,n[A+4>>2]=a,r=r+1|0),t=t+1|0}while(122!=(0|t));return 0|(r=0)}r=0,a=0;do{if(0|U(a)){for(Ye(0|a,0,45),t=1,i=-1,f=0|o|m();i&=~(u=0|Ye(7,0,3*(15-t|0)|0)),f&=~(0|m()),(0|t)!=(0|A);)t=t+1|0;n[(u=e+(r<<3)|0)>>2]=i,n[u+4>>2]=f,r=r+1|0}a=a+1|0}while(122!=(0|a));return 0|(r=0)}function jA(A,e,r,t){A|=0,t|=0;var i=0,f=0;i=0|Ne(0|(e|=0),0|(r|=0),52),m(),0==(0|e)&0==(0|r)|(0|t)>15|(0|(i&=15))>(0|t)?(t=-1,i=-1,e=0,r=0):(f=0|function(A,e,r,t){return A|=0,e|=0,(0|(t|=0))<(0|(r|=0))?(t=A,k(0|(r=e)),0|t):(r=0|Ye(-1,-1,3+(3*(t-r|0)|0)|0),t=0|Ye(0|~r,0|~(0|m()),3*(15-t|0)|0),r=~(0|m())&e,t=~t&A,k(0|r),0|t)}(e,r,i+1|0,t),r=-15728641&(0|m()),e=0|Ye(0|t,0,52),t=(f=0==(0|LA(e|=f,r=0|r|m())))?-1:t),n[(f=A)>>2]=e,n[f+4>>2]=r,n[A+8>>2]=i,n[A+12>>2]=t}function JA(A){var e,r=0,t=0,i=0,f=0,a=0,o=0,u=0,c=0;if(!(0==(0|(r=0|n[(t=A|=0)>>2]))&0==(0|(t=0|n[t+4>>2])))&&(i=0|Ne(0|r,0|t,52),m(),r=0|Ie(0|(u=0|Ye(1,0,3*(15^(i&=15))|0)),0|m(),0|r,0|t),t=0|m(),n[(u=A)>>2]=r,n[u+4>>2]=t,!((0|i)<(0|(o=0|n[(u=A+8|0)>>2]))))){for(e=A+12|0,a=i;;){if((0|a)==(0|o)){i=5;break}if(c=(0|a)==(0|n[e>>2]),i=0|Ne(0|r,0|t,0|(f=3*(15-a|0)|0)),m(),c&1==(0|(i&=7))&!0){i=7;break}if(!(7==(0|i)&!0)){i=10;break}if(r=0|Ie(0|r,0|t,0|(c=0|Ye(1,0,0|f)),0|m()),t=0|m(),n[(c=A)>>2]=r,n[c+4>>2]=t,!((0|a)>(0|o))){i=10;break}a=a+-1|0}if(5==(0|i))return n[(c=A)>>2]=0,n[c+4>>2]=0,n[u>>2]=-1,void(n[e>>2]=-1);if(7==(0|i))return o=0|Ie(0|r,0|t,0|(o=0|Ye(1,0,0|f)),0|m()),u=0|m(),n[(c=A)>>2]=o,n[c+4>>2]=u,void(n[e>>2]=a+-1)}}function XA(A){var e;return e=(A=+A)<0?A+6.283185307179586:A,+(A>=6.283185307179586?e+-6.283185307179586:e)}function qA(A,e){return e|=0,+u(+(+i[(A|=0)>>3]-+i[e>>3]))<17453292519943298e-27?0|(e=+u(+(+i[A+8>>3]-+i[e+8>>3]))<17453292519943298e-27):0|(e=0)}function Ae(A,e){A|=0;var r,t,n,f=0;return t=+i[(e|=0)>>3],r=+i[A>>3],f=(n=+d(.5*(t-r)))*n+(f=+d(.5*(+i[e+8>>3]-+i[A+8>>3])))*(+l(+t)*+l(+r)*f),2*+p(+ +c(+f),+ +c(+(1-f)))*6371.007180918475}function ee(A,e){e|=0;var r=0;return(A|=0)>>>0>15?0|(e=4):(r=0|Le(0|(r=0|se(7,0,A,((0|A)<0)<<31>>31)),0|m(),120,0),A=0|m(),n[e>>2]=2|r,n[e+4>>2]=A,0|(e=0))}function re(A,e,r){A|=0,r|=0;var t,n,f,a,o=0,u=0,s=0,h=0,g=0,w=0;return w=+i[(e|=0)>>3],f=+i[A>>3],g=+d(.5*(w-f)),s=+i[e+8>>3],n=+i[A+8>>3],h=+d(.5*(s-n)),t=+l(+f),a=+l(+w),h=2*+p(+ +c(+(h=g*g+h*(a*t*h))),+ +c(+(1-h))),g=+i[r>>3],w=+d(.5*(g-w)),o=+i[r+8>>3],s=+d(.5*(o-s)),u=+l(+g),s=2*+p(+ +c(+(s=w*w+s*(a*u*s))),+ +c(+(1-s))),g=+d(.5*(f-g)),o=+d(.5*(n-o)),o=2*+p(+ +c(+(o=g*g+o*(t*u*o))),+ +c(+(1-o))),4*+v(+ +c(+ +b(.5*(u=.5*(h+s+o)))*+b(.5*(u-h))*+b(.5*(u-s))*+b(.5*(u-o))))}function te(A,e,r){r|=0;var t,f,a,o=0,u=0;if(a=I,I=I+192|0,f=a,0|(u=0|$A(A|=0,e|=0,t=a+168|0)))return I=a,0|(r=u);if(0|WA(A,e,f)&&D(23313,22742,386,22751),(0|(e=0|n[f>>2]))>0){if(o=+re(f+8|0,f+8+((1!=(0|e)&1)<<4)|0,t)+0,1!=(0|e)){A=1;do{o+=+re(f+8+((u=A)<<4)|0,f+8+(((0|(A=A+1|0))%(0|e)|0)<<4)|0,t)}while((0|A)<(0|e))}}else o=0;return i[r>>3]=o,I=a,0|(r=0)}function ne(A){A|=0;var e,r,t=0;return(e=0|Pe(1,12))||D(22832,22787,49,22845),0|(t=0|n[(r=A+4|0)>>2])?(n[(t=t+8|0)>>2]=e,n[r>>2]=e,0|e):(0|n[A>>2]&&D(22862,22787,61,22885),n[(t=A)>>2]=e,n[r>>2]=e,0|e)}function ie(A,e){A|=0,e|=0;var r,t;return(t=0|Qe(24))||D(22899,22787,78,22913),n[t>>2]=n[e>>2],n[t+4>>2]=n[e+4>>2],n[t+8>>2]=n[e+8>>2],n[t+12>>2]=n[e+12>>2],n[t+16>>2]=0,0|(r=0|n[(e=A+4|0)>>2])?(n[r+16>>2]=t,n[e>>2]=t,0|t):(0|n[A>>2]&&D(22928,22787,82,22913),n[A>>2]=t,n[e>>2]=t,0|t)}function fe(A){var e=0,r=0,t=0,i=0;if(A|=0)for(t=1;;){if(0|(e=0|n[A>>2]))do{if(0|(r=0|n[e>>2]))do{i=r,r=0|n[r+16>>2],Ce(i)}while(0!=(0|r));i=e,e=0|n[e+8>>2],Ce(i)}while(0!=(0|e));if(e=A,A=0|n[A+8>>2],t||Ce(e),!A)break;t=0}}function ae(A){var e,r,t=0,f=0,a=0,o=0,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0,E=0,y=0,B=0,k=0,m=0,x=0,M=0,Q=0,C=0,P=0,I=0,S=0,R=0,T=0,G=0;if(0|n[(o=(A|=0)+8|0)>>2])return 0|(G=1);if(!(a=0|n[A>>2]))return 0|(G=0);t=a,f=0;do{f=f+1|0,t=0|n[t+8>>2]}while(0!=(0|t));if(f>>>0<2)return 0|(G=0);(r=0|Qe(f<<2))||D(22948,22787,317,22967),(e=0|Qe(f<<5))||D(22989,22787,321,22967),n[A>>2]=0,n[(M=A+4|0)>>2]=0,n[o>>2]=0,f=0,R=0,x=0,g=0;A:for(;;){if(h=0|n[a>>2]){c=0,s=h;do{if(d=+i[s+8>>3],t=s,s=0|n[s+16>>2],l=+i[(o=(b=0==(0|s))?h:s)+8>>3],+u(+(d-l))>3.141592653589793){G=14;break}c+=(l-d)*(+i[t>>3]+ +i[o>>3])}while(!b);if(14==(0|G)){G=0,c=0,t=h;do{m=+i[t+8>>3],I=0|n[(S=t+16|0)>>2],k=+i[(I=0==(0|I)?h:I)+8>>3],c+=(+i[t>>3]+ +i[I>>3])*((k<0?k+6.283185307179586:k)-(m<0?m+6.283185307179586:m)),t=0|n[(0==(0|t)?a:S)>>2]}while(0!=(0|t))}c>0?(n[r+(R<<2)>>2]=a,R=R+1|0,o=x,t=g):G=19}else G=19;if(19==(0|G)){G=0;do{if(!f){if(g){o=M,s=g+8|0,t=a,f=A;break}if(0|n[A>>2]){G=27;break A}o=M,s=A,t=a,f=A;break}if(0|n[(t=f+8|0)>>2]){G=21;break A}if(!(f=0|Pe(1,12))){G=23;break A}n[t>>2]=f,o=f+4|0,s=f,t=g}while(0);if(n[s>>2]=a,n[o>>2]=a,s=e+(x<<5)|0,b=0|n[a>>2]){for(i[(h=e+(x<<5)+8|0)>>3]=17976931348623157e292,i[(g=e+(x<<5)+24|0)>>3]=17976931348623157e292,i[s>>3]=-17976931348623157e292,i[(v=e+(x<<5)+16|0)>>3]=-17976931348623157e292,y=17976931348623157e292,B=-17976931348623157e292,o=0,p=b,d=17976931348623157e292,_=17976931348623157e292,E=-17976931348623157e292,l=-17976931348623157e292;c=+i[p>>3],m=+i[p+8>>3],p=0|n[p+16>>2],k=+i[((w=0==(0|p))?b:p)+8>>3],c>3]=c,d=c),m<_&&(i[g>>3]=m,_=m),c>E?i[s>>3]=c:c=E,m>l&&(i[v>>3]=m,l=m),y=m>0&mB?m:B,o|=+u(+(m-k))>3.141592653589793,!w;)E=c;o&&(i[v>>3]=B,i[g>>3]=y)}else n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0,n[s+16>>2]=0,n[s+20>>2]=0,n[s+24>>2]=0,n[s+28>>2]=0;o=x+1|0}if(a=0|n[(S=a+8|0)>>2],n[S>>2]=0,!a){G=45;break}x=o,g=t}if(21==(0|G))D(22765,22787,35,22799);else if(23==(0|G))D(22819,22787,37,22799);else if(27==(0|G))D(22862,22787,61,22885);else if(45==(0|G)){A:do{if((0|R)>0){for(S=0==(0|o),P=o<<2,I=0==(0|A),C=0,t=0;;){if(Q=0|n[r+(C<<2)>>2],S)G=73;else{if(!(x=0|Qe(P))){G=50;break}if(!(M=0|Qe(P))){G=52;break}e:do{if(I)f=0;else{for(o=0,f=0,s=A;a=e+(o<<5)|0,0|oe(0|n[s>>2],a,0|n[Q>>2])?(n[x+(f<<2)>>2]=s,n[M+(f<<2)>>2]=a,w=f+1|0):w=f,s=0|n[s+8>>2];)o=o+1|0,f=w;if((0|w)>0)if(a=0|n[x>>2],1==(0|w))f=a;else for(v=0,p=-1,f=a,g=a;;){for(b=0|n[g>>2],a=0,s=0;h=(0|(o=0|n[n[x+(s<<2)>>2]>>2]))==(0|b)?a:a+(1&(0|oe(o,0|n[M+(s<<2)>>2],0|n[b>>2])))|0,(0|(s=s+1|0))!=(0|w);)a=h;if(f=(o=(0|h)>(0|p))?g:f,(0|(a=v+1|0))==(0|w))break e;v=a,p=o?h:p,g=0|n[x+(a<<2)>>2]}else f=0}}while(0);if(Ce(x),Ce(M),f){if(a=0|n[(o=f+4|0)>>2])f=a+8|0;else if(0|n[f>>2]){G=70;break}n[f>>2]=Q,n[o>>2]=Q}else G=73}if(73==(0|G)){if(G=0,0|(t=0|n[Q>>2]))do{M=t,t=0|n[t+16>>2],Ce(M)}while(0!=(0|t));Ce(Q),t=1}if((0|(C=C+1|0))>=(0|R)){T=t;break A}}50==(0|G)?D(23004,22787,249,23023):52==(0|G)?D(23042,22787,252,23023):70==(0|G)&&D(22862,22787,61,22885)}else T=0}while(0);return Ce(r),Ce(e),0|(G=T)}return 0}function oe(A,e,r){A|=0;var t=0,f=0,a=0,o=0,u=0,c=0,s=0,l=0;if(!(0|W(e|=0,r|=0)))return 0|(A=0);if(e=0|$(e),t=+i[r>>3],f=e&(f=+i[r+8>>3])<0?f+6.283185307179586:f,!(A=0|n[A>>2]))return 0|(A=0);if(e){e=0,s=f,r=A;A:for(;;){for(;o=+i[r>>3],f=+i[r+8>>3],l=0|n[(r=r+16|0)>>2],a=+i[(l=0==(0|l)?A:l)>>3],u=+i[l+8>>3],o>a?(c=o,o=u):(c=a,a=o,o=f,f=u),(t=t==a|t==c?t+2220446049250313e-31:t)c;)if(!(r=0|n[r>>2])){r=22;break A}if(((c=(u=o<0?o+6.283185307179586:o)+(t-a)/(c-a)*((o=f<0?f+6.283185307179586:f)-u))<0?c+6.283185307179586:c)>(s=u==s|o==s?s+-2220446049250313e-31:s)&&(e^=1),!(r=0|n[r>>2])){r=22;break}}if(22==(0|r))return 0|e}else{e=0,s=f,r=A;A:for(;;){for(;o=+i[r>>3],f=+i[r+8>>3],l=0|n[(r=r+16|0)>>2],a=+i[(l=0==(0|l)?A:l)>>3],u=+i[l+8>>3],o>a?(c=o,o=u):(c=a,a=o,o=f,f=u),(t=t==a|t==c?t+2220446049250313e-31:t)c;)if(!(r=0|n[r>>2])){r=22;break A}if(o+(t-a)/(c-a)*(f-o)>(s=o==s|f==s?s+-2220446049250313e-31:s)&&(e^=1),!(r=0|n[r>>2])){r=22;break}}if(22==(0|r))return 0|e}return 0}function ue(A,e,r,i,f){r|=0,i|=0,f|=0;var a,o,u,c,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0;if(c=I,I=I+32|0,_=c+16|0,u=c,s=0|Ne(0|(A|=0),0|(e|=0),52),m(),s&=15,v=0|Ne(0|r,0|i,52),m(),(0|s)!=(15&v|0))return I=c,0|(_=12);if(h=0|Ne(0|A,0|e,45),m(),h&=127,g=0|Ne(0|r,0|i,45),m(),h>>>0>121|(g&=127)>>>0>121)return I=c,0|(_=5);if(v=(0|h)!=(0|g)){if(7==(0|(d=0|V(h,g))))return I=c,0|(_=1);7==(0|(b=0|V(g,h)))?D(23066,23090,161,23100):(p=d,l=b)}else p=0,l=0;a=0|U(h),o=0|U(g),n[_>>2]=0,n[_+4>>2]=0,n[_+8>>2]=0,n[_+12>>2]=0;do{if(p){if(d=(0|(g=0|n[4272+(28*h|0)+(p<<2)>>2]))>0,o)if(d){h=0,b=r,d=i;do{b=0|NA(b,d),d=0|m(),1==(0|(l=0|hA(l)))&&(l=0|hA(1)),h=h+1|0}while((0|h)!=(0|g));g=l,h=b,b=d}else g=l,h=r,b=i;else if(d){h=0,b=r,d=i;do{b=0|YA(b,d),d=0|m(),l=0|hA(l),h=h+1|0}while((0|h)!=(0|g));g=l,h=b,b=d}else g=l,h=r,b=i;if(HA(h,b,_),v||D(23115,23090,191,23100),(d=0!=(0|a))&(l=0!=(0|o))&&D(23142,23090,192,23100),d){if(7==(0|(l=0|FA(A,e)))){s=5;break}if(0|t[21872+(7*l|0)+p>>0]){s=1;break}h=b=0|n[21040+(28*l|0)+(p<<2)>>2]}else if(l){if(7==(0|(l=0|FA(h,b)))){s=5;break}if(0|t[21872+(7*l|0)+g>>0]){s=1;break}h=0,b=0|n[21040+(28*g|0)+(l<<2)>>2]}else h=0,b=0;if((h|b|0)<0)s=5;else{if((0|b)>0){d=_+4|0,l=0;do{dA(d),l=l+1|0}while((0|l)!=(0|b))}if(n[u>>2]=0,n[u+4>>2]=0,n[u+8>>2]=0,sA(u,p),0|s)for(;0|zA(s)?uA(u):cA(u),(0|s)>1;)s=s+-1|0;if((0|h)>0){s=0;do{dA(u),s=s+1|0}while((0|s)!=(0|h))}eA(w=_+4|0,u,w),q(w),w=51}}else if(HA(r,i,_),0!=(0|a)&0!=(0|o))if((0|g)!=(0|h)&&D(23173,23090,261,23100),7==(0|(l=0|FA(A,e)))|7==(0|(s=0|FA(r,i))))s=5;else if(0|t[21872+(7*l|0)+s>>0])s=1;else if((0|(l=0|n[21040+(28*l|0)+(s<<2)>>2]))>0){d=_+4|0,s=0;do{dA(d),s=s+1|0}while((0|s)!=(0|l));w=51}else w=51;else w=51}while(0);return 51==(0|w)&&(s=_+4|0,n[f>>2]=n[s>>2],n[f+4>>2]=n[s+4>>2],n[f+8>>2]=n[s+8>>2],s=0),I=c,0|(_=s)}function ce(A,e,r,t){r|=0,t|=0;var i,f,a,o=0,u=0,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0;if(a=I,I=I+48|0,i=a+36|0,c=a+24|0,s=a+12|0,l=a,o=0|Ne(0|(A|=0),0|(e|=0),52),m(),o&=15,b=0|Ne(0|A,0|e,45),m(),(b&=127)>>>0>121)return I=a,0|(t=5);if(f=0|U(b),Ye(0|o,0,52),v=134225919|m(),n[(u=t)>>2]=-1,n[u+4>>2]=v,!o)return 7==(0|(o=0|nA(r)))||127==(0|(o=0|H(b,o)))?(I=a,0|(v=1)):(h=0|Ye(0|o,0,45),g=0|m(),g=-1040385&n[(b=t)+4>>2]|g,n[(v=t)>>2]=n[b>>2]|h,n[v+4>>2]=g,I=a,0|(v=0));for(n[i>>2]=n[r>>2],n[i+4>>2]=n[r+4>>2],n[i+8>>2]=n[r+8>>2],r=o;;){if(u=r,r=r+-1|0,n[c>>2]=n[i>>2],n[c+4>>2]=n[i+4>>2],n[c+8>>2]=n[i+8>>2],0|zA(u)){if(0|(o=0|iA(i))){r=13;break}n[s>>2]=n[i>>2],n[s+4>>2]=n[i+4>>2],n[s+8>>2]=n[i+8>>2],uA(s)}else{if(0|(o=0|fA(i))){r=13;break}n[s>>2]=n[i>>2],n[s+4>>2]=n[i+4>>2],n[s+8>>2]=n[i+8>>2],cA(s)}if(rA(c,s,l),q(l),w=0|n[(o=t)>>2],o=0|n[o+4>>2],p=0|Ye(7,0,0|(_=3*(15-u|0)|0)),o&=~(0|m()),_=0|Ye(0|nA(l),0,0|_),o=0|m()|o,n[(v=t)>>2]=_|w&~p,n[v+4>>2]=o,(0|u)<=1){r=14;break}}A:do{if(13!=(0|r)&&14==(0|r))if((0|n[i>>2])<=1&&(0|n[i+4>>2])<=1&&(0|n[i+8>>2])<=1){l=127==(0|(o=0|H(b,r=0|nA(i))))?0:0|U(o);e:do{if(r){if(f){if(7==(0|(o=0|FA(A,e)))){o=5;break A}if((0|(u=0|n[21248+(28*o|0)+(r<<2)>>2]))>0){o=r,r=0;do{o=0|bA(o),r=r+1|0}while((0|r)!=(0|u))}else o=r;if(1==(0|o)){o=9;break A}127==(0|(r=0|H(b,o)))&&D(23200,23090,411,23230),0|U(r)?D(23245,23090,412,23230):(g=r,h=u,d=o)}else g=o,h=0,d=r;if((0|(s=0|n[4272+(28*b|0)+(d<<2)>>2]))<=-1&&D(23276,23090,419,23230),!l){if((0|h)<0){o=5;break A}if(0|h){o=0,r=0|n[(u=t)>>2],u=0|n[u+4>>2];do{r=0|UA(r,u),u=0|m(),n[(_=t)>>2]=r,n[_+4>>2]=u,o=o+1|0}while((0|o)<(0|h))}if((0|s)<=0){o=g,r=58;break}for(o=0,r=0|n[(u=t)>>2],u=0|n[u+4>>2];;)if(r=0|UA(r,u),u=0|m(),n[(_=t)>>2]=r,n[_+4>>2]=u,(0|(o=o+1|0))==(0|s)){o=g,r=58;break e}}if(7==(0|(c=0|V(g,b)))&&D(23066,23090,428,23230),r=0|n[(o=t)>>2],o=0|n[o+4>>2],(0|s)>0){u=0;do{r=0|UA(r,o),o=0|m(),n[(_=t)>>2]=r,n[_+4>>2]=o,u=u+1|0}while((0|u)!=(0|s))}if(7==(0|(o=0|FA(r,o)))&&D(23313,23090,440,23230),r=0|N(g),(0|(r=0|n[(r?21664:21456)+(28*c|0)+(o<<2)>>2]))<0&&D(23313,23090,454,23230),r){o=0,u=0|n[(c=t)>>2],c=0|n[c+4>>2];do{u=0|OA(u,c),c=0|m(),n[(_=t)>>2]=u,n[_+4>>2]=c,o=o+1|0}while((0|o)<(0|r));o=g,r=58}else o=g,r=58}else if(0!=(0|f)&0!=(0|l)){if(7==(0|(r=0|FA(A,e)))|7==(0|(u=0|FA(0|n[(u=t)>>2],0|n[u+4>>2])))){o=5;break A}if((0|(u=0|n[21248+(28*r|0)+(u<<2)>>2]))<0){o=5;break A}if(u){r=0,c=0|n[(s=t)>>2],s=0|n[s+4>>2];do{c=0|UA(c,s),s=0|m(),n[(_=t)>>2]=c,n[_+4>>2]=s,r=r+1|0}while((0|r)<(0|u));r=58}else r=59}else r=58}while(0);if(58==(0|r)&&l&&(r=59),59==(0|r)&&1==(0|FA(0|n[(_=t)>>2],0|n[_+4>>2]))){o=9;break}p=0|n[(_=t)>>2],_=-1040385&n[_+4>>2],w=0|Ye(0|o,0,45),_=0|_|m(),n[(o=t)>>2]=p|w,n[o+4>>2]=_,o=0}else o=1}while(0);return I=a,0|(_=o)}function se(A,e,r,t){A|=0,e|=0;var n=0,i=0,f=0;if(0==(0|(r|=0))&0==(0|(t|=0)))return i=1,k(0|(n=0)),0|i;i=A,n=e,A=1,e=0;do{A=0|Le(0|((f=0==(1&r|0)&!0)?1:i),0|(f?0:n),0|A,0|e),e=0|m(),r=0|Ue(0|r,0|t,1),t=0|m(),i=0|Le(0|i,0|n,0|i,0|n),n=0|m()}while(!(0==(0|r)&0==(0|t)));return k(0|e),0|A}function le(A,e,r){A|=0;var t,f=0,a=0,o=0,u=0,c=0,s=0,l=0,d=0,b=0;if(!(0|W(e|=0,r|=0)))return 0|(b=0);if(e=0|$(e),f=+i[r>>3],a=e&(a=+i[r+8>>3])<0?a+6.283185307179586:a,(0|(b=0|n[A>>2]))<=0)return 0|(b=0);if(t=0|n[A+4>>2],e){e=0,d=a,r=-1,A=0;A:for(;;){for(l=A;u=+i[t+(l<<4)>>3],a=+i[t+(l<<4)+8>>3],o=+i[t+((A=(r+2|0)%(0|b)|0)<<4)>>3],c=+i[t+(A<<4)+8>>3],u>o?(s=u,u=c):(s=o,o=u,u=a,a=c),(f=f==o|f==s?f+2220446049250313e-31:f)s;){if((0|(r=l+1|0))>=(0|b)){r=22;break A}A=l,l=r,r=A}if(((s=(c=u<0?u+6.283185307179586:u)+(f-o)/(s-o)*((u=a<0?a+6.283185307179586:a)-c))<0?s+6.283185307179586:s)>(d=c==d|u==d?d+-2220446049250313e-31:d)&&(e^=1),(0|(A=l+1|0))>=(0|b)){r=22;break}r=l}if(22==(0|r))return 0|e}else{e=0,d=a,r=-1,A=0;A:for(;;){for(l=A;u=+i[t+(l<<4)>>3],a=+i[t+(l<<4)+8>>3],o=+i[t+((A=(r+2|0)%(0|b)|0)<<4)>>3],c=+i[t+(A<<4)+8>>3],u>o?(s=u,u=c):(s=o,o=u,u=a,a=c),(f=f==o|f==s?f+2220446049250313e-31:f)s;){if((0|(r=l+1|0))>=(0|b)){r=22;break A}A=l,l=r,r=A}if(u+(f-o)/(s-o)*(a-u)>(d=u==d|a==d?d+-2220446049250313e-31:d)&&(e^=1),(0|(A=l+1|0))>=(0|b)){r=22;break}r=l}if(22==(0|r))return 0|e}return 0}function de(A,e){e|=0;var r,t,f,a,o,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0,E=0;if(!(t=0|n[(A|=0)>>2]))return n[e>>2]=0,n[e+4>>2]=0,n[e+8>>2]=0,n[e+12>>2]=0,n[e+16>>2]=0,n[e+20>>2]=0,n[e+24>>2]=0,void(n[e+28>>2]=0);if(i[(f=e+8|0)>>3]=17976931348623157e292,i[(a=e+24|0)>>3]=17976931348623157e292,i[e>>3]=-17976931348623157e292,i[(o=e+16|0)>>3]=-17976931348623157e292,!((0|t)<=0)){for(r=0|n[A+4>>2],v=17976931348623157e292,p=-17976931348623157e292,w=0,A=-1,d=17976931348623157e292,b=17976931348623157e292,g=-17976931348623157e292,s=-17976931348623157e292,_=0;c=+i[r+(_<<4)>>3],h=+i[r+(_<<4)+8>>3],l=+i[r+(((0|(A=A+2|0))==(0|t)?0:A)<<4)+8>>3],c>3]=c,d=c),h>3]=h,b=h),c>g?i[e>>3]=c:c=g,h>s&&(i[o>>3]=h,s=h),v=h>0&hp?h:p,w|=+u(+(h-l))>3.141592653589793,(0|(A=_+1|0))!=(0|t);)E=_,g=c,_=A,A=E;w&&(i[o>>3]=p,i[a>>3]=v)}}function be(A,e){e|=0;var r,t=0,f=0,a=0,o=0,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0,E=0,y=0,B=0,k=0,m=0,D=0;if(p=0|n[(A|=0)>>2]){if(i[(w=e+8|0)>>3]=17976931348623157e292,i[(_=e+24|0)>>3]=17976931348623157e292,i[e>>3]=-17976931348623157e292,i[(E=e+16|0)>>3]=-17976931348623157e292,(0|p)>0){for(a=0|n[A+4>>2],g=17976931348623157e292,v=-17976931348623157e292,f=0,t=-1,l=17976931348623157e292,d=17976931348623157e292,h=-17976931348623157e292,c=-17976931348623157e292,y=0;o=+i[a+(y<<4)>>3],b=+i[a+(y<<4)+8>>3],s=+i[a+(((0|(m=t+2|0))==(0|p)?0:m)<<4)+8>>3],o>3]=o,l=o),b>3]=b,d=b),o>h?i[e>>3]=o:o=h,b>c&&(i[E>>3]=b,c=b),g=b>0&bv?b:v,f|=+u(+(b-s))>3.141592653589793,(0|(t=y+1|0))!=(0|p);)m=y,h=o,y=t,t=m;f&&(i[E>>3]=v,i[_>>3]=g)}}else n[e>>2]=0,n[e+4>>2]=0,n[e+8>>2]=0,n[e+12>>2]=0,n[e+16>>2]=0,n[e+20>>2]=0,n[e+24>>2]=0,n[e+28>>2]=0;if(!((0|(t=0|n[(m=A+8|0)>>2]))<=0)){r=A+12|0,k=0;do{if(a=0|n[r>>2],f=k,_=e+((k=k+1|0)<<5)|0,E=0|n[a+(f<<3)>>2]){if(i[(y=e+(k<<5)+8|0)>>3]=17976931348623157e292,i[(A=e+(k<<5)+24|0)>>3]=17976931348623157e292,i[_>>3]=-17976931348623157e292,i[(B=e+(k<<5)+16|0)>>3]=-17976931348623157e292,(0|E)>0){for(p=0|n[a+(f<<3)+4>>2],g=17976931348623157e292,v=-17976931348623157e292,a=0,f=-1,w=0,l=17976931348623157e292,d=17976931348623157e292,b=-17976931348623157e292,c=-17976931348623157e292;o=+i[p+(w<<4)>>3],h=+i[p+(w<<4)+8>>3],s=+i[p+(((0|(f=f+2|0))==(0|E)?0:f)<<4)+8>>3],o>3]=o,l=o),h>3]=h,d=h),o>b?i[_>>3]=o:o=b,h>c&&(i[B>>3]=h,c=h),g=h>0&hv?h:v,a|=+u(+(h-s))>3.141592653589793,(0|(f=w+1|0))!=(0|E);)D=w,w=f,b=o,f=D;a&&(i[B>>3]=v,i[A>>3]=g)}}else n[_>>2]=0,n[_+4>>2]=0,n[_+8>>2]=0,n[_+12>>2]=0,n[_+16>>2]=0,n[_+20>>2]=0,n[_+24>>2]=0,n[_+28>>2]=0,t=0|n[m>>2]}while((0|k)<(0|t))}}function he(A,e,r){var t=0,i=0,f=0;if(!(0|le(A|=0,e|=0,r|=0)))return 0|(i=0);if((0|n[(i=A+8|0)>>2])<=0)return 0|(i=1);for(t=A+12|0,A=0;;){if(f=A,A=A+1|0,0|le((0|n[t>>2])+(f<<3)|0,e+(A<<5)|0,r)){A=0,t=6;break}if((0|A)>=(0|n[i>>2])){A=1,t=6;break}}return 6==(0|t)?0|A:0}function ge(A,e,r,t,n){e|=0,r|=0,t|=0,n|=0;var f,a,o,u,c,s,l,d=0;u=+i[(A|=0)>>3],o=+i[e>>3]-u,a=+i[A+8>>3],f=+i[e+8>>3]-a,s=+i[r>>3],d=((d=+i[t>>3]-s)*(a-(l=+i[r+8>>3]))-(u-s)*(c=+i[t+8>>3]-l))/(o*c-f*d),i[n>>3]=u+o*d,i[n+8>>3]=a+f*d}function ve(A,e){return e|=0,+u(+(+i[(A|=0)>>3]-+i[e>>3]))<1.1920928955078125e-7?0|(e=+u(+(+i[A+8>>3]-+i[e+8>>3]))<1.1920928955078125e-7):0|(e=0)}function pe(A,e){e|=0;var r,t,n;return+((n=+i[(A|=0)>>3]-+i[e>>3])*n+(t=+i[A+8>>3]-+i[e+8>>3])*t+(r=+i[A+16>>3]-+i[e+16>>3])*r)}function we(A,e,r){r|=0;var t,i,f,a,o=0,u=0,c=0;if(a=I,I=I+32|0,c=a,0|(o=0|VA(A|=0,e|=0,i=a+16|0)))return I=a,0|(r=o);t=0|SA(A,e),f=0|FA(A,e),function(A,e){A=7696+(28*(A|=0)|0)|0,n[(e|=0)>>2]=n[A>>2],n[e+4>>2]=n[A+4>>2],n[e+8>>2]=n[A+8>>2],n[e+12>>2]=n[A+12>>2]}(t,c),o=0|function(A,e){A|=0;var r=0,t=0;if((e|=0)>>>0>20)return-1;do{if((0|n[11120+(216*e|0)>>2])!=(0|A))if((0|n[11120+(216*e|0)+8>>2])!=(0|A))if((0|n[11120+(216*e|0)+16>>2])!=(0|A))if((0|n[11120+(216*e|0)+24>>2])!=(0|A))if((0|n[11120+(216*e|0)+32>>2])!=(0|A))if((0|n[11120+(216*e|0)+40>>2])!=(0|A))if((0|n[11120+(216*e|0)+48>>2])!=(0|A))if((0|n[11120+(216*e|0)+56>>2])!=(0|A))if((0|n[11120+(216*e|0)+64>>2])!=(0|A))if((0|n[11120+(216*e|0)+72>>2])!=(0|A))if((0|n[11120+(216*e|0)+80>>2])!=(0|A))if((0|n[11120+(216*e|0)+88>>2])!=(0|A))if((0|n[11120+(216*e|0)+96>>2])!=(0|A))if((0|n[11120+(216*e|0)+104>>2])!=(0|A))if((0|n[11120+(216*e|0)+112>>2])!=(0|A))if((0|n[11120+(216*e|0)+120>>2])!=(0|A))if((0|n[11120+(216*e|0)+128>>2])!=(0|A)){if((0|n[11120+(216*e|0)+136>>2])!=(0|A)){if((0|n[11120+(216*e|0)+144>>2])==(0|A)){A=0,r=2,t=0;break}if((0|n[11120+(216*e|0)+152>>2])==(0|A)){A=0,r=2,t=1;break}if((0|n[11120+(216*e|0)+160>>2])==(0|A)){A=0,r=2,t=2;break}if((0|n[11120+(216*e|0)+168>>2])==(0|A)){A=1,r=2,t=0;break}if((0|n[11120+(216*e|0)+176>>2])==(0|A)){A=1,r=2,t=1;break}if((0|n[11120+(216*e|0)+184>>2])==(0|A)){A=1,r=2,t=2;break}if((0|n[11120+(216*e|0)+192>>2])==(0|A)){A=2,r=2,t=0;break}if((0|n[11120+(216*e|0)+200>>2])==(0|A)){A=2,r=2,t=1;break}if((0|n[11120+(216*e|0)+208>>2])==(0|A)){A=2,r=2,t=2;break}return-1}A=2,r=1,t=2}else A=2,r=1,t=1;else A=2,r=1,t=0;else A=1,r=1,t=2;else A=1,r=1,t=1;else A=1,r=1,t=0;else A=0,r=1,t=2;else A=0,r=1,t=1;else A=0,r=1,t=0;else A=2,r=0,t=2;else A=2,r=0,t=1;else A=2,r=0,t=0;else A=1,r=0,t=2;else A=1,r=0,t=1;else A=1,r=0,t=0;else A=0,r=0,t=2;else A=0,r=0,t=1;else A=0,r=0,t=0}while(0);return 0|n[11120+(216*e|0)+(72*r|0)+(24*A|0)+(t<<3)+4>>2]}(t,0|n[i>>2]);A:do{if(0|U(t)){switch(0|t){case 4:A=0;break;case 14:A=1;break;case 24:A=2;break;case 38:A=3;break;case 49:A=4;break;case 58:A=5;break;case 63:A=6;break;case 72:A=7;break;case 83:A=8;break;case 97:A=9;break;case 107:A=10;break;case 117:A=11;break;default:o=1;break A}if(u=0|n[22e3+(24*A|0)+8>>2],e=0|n[22e3+(24*A|0)+16>>2],(0|(A=0|n[i>>2]))!=(0|n[c>>2])&&(c=0|N(t))|(0|(A=0|n[i>>2]))==(0|e)&&(o=(o+1|0)%6|0),3==(0|f)&(0|A)==(0|e)){o=(o+5|0)%6|0,u=22;break}5==(0|f)&(0|A)==(0|u)?(o=(o+1|0)%6|0,u=22):u=22}else u=22}while(0);return 22==(0|u)&&(n[r>>2]=o,o=0),I=a,0|(r=o)}function _e(A,e,r,t){r|=0,t|=0;var i,f,a,o,u,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0;if(u=I,I=I+32|0,_=u+24|0,o=u+20|0,a=u+8|0,f=u+16|0,i=u,b=(b=0==(0|LA(A|=0,e|=0)))?6:5,g=0|Ne(0|A,0|e,52),m(),b>>>0<=r>>>0)return I=u,0|(t=2);!(v=0==(0|(g&=15)))&&0==((p=0|Ye(7,0,3*(15^g)|0))&A|0)&0==((0|m())&e|0)?c=r:s=4;A:do{if(4==(0|s)){if((0|((c=0!=(0|LA(A,e)))?4:5))<(0|r))return I=u,0|(t=1);if(0|we(A,e,_))return I=u,0|(t=1);if(s=(0|n[_>>2])+r|0,7==(0|(p=0|n[(c=c?22288+(((0|s)%5|0)<<2)|0:22320+(((0|s)%6|0)<<2)|0)>>2])))return I=u,0|(t=1);n[o>>2]=0,c=0|L(A,e,p,o,a);do{if(!c){if(h=0|n[(d=a)>>2],s=(l=(d=0|n[d+4>>2])>>>0>>0|(0|d)==(0|e)&h>>>0>>0)?h:A,l=l?d:e,!v&&0==(h&(v=0|Ye(7,0,3*(15^g)|0))|0)&0==(d&(0|m())|0))c=r;else{if(d=(r+-1+b|0)%(0|b)|0,c=0|LA(A,e),(0|d)<0&&D(23313,23315,245,23324),(0|((b=0!=(0|c))?4:5))<(0|d)&&D(23313,23315,245,23324),0|we(A,e,_)&&D(23313,23315,245,23324),c=(0|n[_>>2])+d|0,7==(0|(d=0|n[(c=b?22288+(((0|c)%5|0)<<2)|0:22320+(((0|c)%6|0)<<2)|0)>>2]))&&D(23313,23315,245,23324),n[f>>2]=0,0|(c=0|L(A,e,d,f,i)))break;b=0|n[(h=i)>>2],h=0|n[h+4>>2];do{if(h>>>0>>0|(0|h)==(0|l)&b>>>0>>0){if(s=0|LA(b,h)?0|F(b,h,A,e):0|n[22384+((((0|n[f>>2])+(0|n[22352+(d<<2)>>2])|0)%6|0)<<2)>>2],c=0|LA(b,h),(s+-1|0)>>>0>5){c=-1,s=b,l=h;break}if(1==(0|s)&(c=0!=(0|c))){c=-1,s=b,l=h;break}do{if(!(0|we(b,h,_))){if(c){c=(5+(0|n[21936+(s<<2)>>2])-(0|n[_>>2])|0)%5|0;break}c=(6+(0|n[21968+(s<<2)>>2])-(0|n[_>>2])|0)%6|0;break}c=-1}while(0);s=b,l=h}else c=r}while(0);h=0|n[(d=a)>>2],d=0|n[d+4>>2]}if((0|s)==(0|h)&(0|l)==(0|d)){if(A=(b=0!=(0|LA(h,d)))?0|F(h,d,A,e):0|n[22384+((((0|n[o>>2])+(0|n[22352+(p<<2)>>2])|0)%6|0)<<2)>>2],c=0|LA(h,d),(A+-1|0)>>>0<=5&&!(1==(0|A)&(w=0!=(0|c))))do{if(!(0|we(h,d,_))){if(w){c=(5+(0|n[21936+(A<<2)>>2])-(0|n[_>>2])|0)%5|0;break}c=(6+(0|n[21968+(A<<2)>>2])-(0|n[_>>2])|0)%6|0;break}c=-1}while(0);else c=-1;c=6==(0|(c=c+1|0))|b&5==(0|c)?0:c}e=l,A=s;break A}}while(0);return I=u,0|(t=c)}}while(0);return w=0|Ye(0|c,0,56),_=0|m()|-2130706433&e|536870912,n[t>>2]=w|A,n[t+4>>2]=_,I=u,0|(t=0)}function Ee(A,e,r){A|=0,r|=0;var t=0;(0|(e|=0))>0?(t=0|Pe(e,4),n[A>>2]=t,t||D(23337,23360,40,23374)):n[A>>2]=0,n[A+4>>2]=e,n[A+8>>2]=0,n[A+12>>2]=r}function ye(A){var e,r,t,f=0,a=0,o=0,c=0;e=(A|=0)+4|0,r=A+12|0,t=A+8|0;A:for(;;){for(a=0|n[e>>2],f=0;;){if((0|f)>=(0|a))break A;if(o=0|n[A>>2],c=0|n[o+(f<<2)>>2])break;f=f+1|0}f=o+(~~(+u(+ +s(10,+ +(15-(0|n[r>>2])|0))*(+i[c>>3]+ +i[c+8>>3]))%+(0|a))>>>0<<2)|0,a=0|n[f>>2];e:do{if(0|a){if(o=c+32|0,(0|a)==(0|c))n[f>>2]=n[o>>2];else{if(!(f=0|n[(a=a+32|0)>>2]))break;for(;(0|f)!=(0|c);)if(!(f=0|n[(a=f+32|0)>>2]))break e;n[a>>2]=n[o>>2]}Ce(c),n[t>>2]=(0|n[t>>2])-1}}while(0)}Ce(0|n[A>>2])}function Be(A){var e,r=0,t=0;for(e=0|n[(A|=0)+4>>2],t=0;;){if((0|t)>=(0|e)){r=0,t=4;break}if(r=0|n[(0|n[A>>2])+(t<<2)>>2]){t=4;break}t=t+1|0}return 4==(0|t)?0|r:0}function ke(A,e){e|=0;var r=0,t=0,f=0,a=0;if(r=~~(+u(+ +s(10,+ +(15-(0|n[(A|=0)+12>>2])|0))*(+i[e>>3]+ +i[e+8>>3]))%+(0|n[A+4>>2]))>>>0,r=(0|n[A>>2])+(r<<2)|0,!(t=0|n[r>>2]))return 0|(a=1);a=e+32|0;do{if((0|t)!=(0|e)){if(!(r=0|n[t+32>>2]))return 0|(a=1);for(f=r;;){if((0|f)==(0|e)){f=8;break}if(!(r=0|n[f+32>>2])){r=1,f=10;break}t=f,f=r}if(8==(0|f)){n[t+32>>2]=n[a>>2];break}if(10==(0|f))return 0|r}else n[r>>2]=n[a>>2]}while(0);return Ce(e),n[(a=A+8|0)>>2]=(0|n[a>>2])-1,0|(a=0)}function me(A,e,r){A|=0,e|=0,r|=0;var t,f=0,a=0,o=0;(t=0|Qe(40))||D(23390,23360,98,23403),n[t>>2]=n[e>>2],n[t+4>>2]=n[e+4>>2],n[t+8>>2]=n[e+8>>2],n[t+12>>2]=n[e+12>>2],n[(a=t+16|0)>>2]=n[r>>2],n[a+4>>2]=n[r+4>>2],n[a+8>>2]=n[r+8>>2],n[a+12>>2]=n[r+12>>2],n[t+32>>2]=0,a=~~(+u(+ +s(10,+ +(15-(0|n[A+12>>2])|0))*(+i[e>>3]+ +i[e+8>>3]))%+(0|n[A+4>>2]))>>>0,a=(0|n[A>>2])+(a<<2)|0,f=0|n[a>>2];do{if(f){for(;!(0|qA(f,e)&&0|qA(f+16|0,r));)if(a=0|n[f+32>>2],!(0|n[(f=0==(0|a)?f:a)+32>>2])){o=10;break}if(10==(0|o)){n[f+32>>2]=t;break}return Ce(t),0|(o=f)}n[a>>2]=t}while(0);return n[(o=A+8|0)>>2]=1+(0|n[o>>2]),0|(o=t)}function De(A,e,r){e|=0,r|=0;var t=0,f=0;if(f=~~(+u(+ +s(10,+ +(15-(0|n[(A|=0)+12>>2])|0))*(+i[e>>3]+ +i[e+8>>3]))%+(0|n[A+4>>2]))>>>0,!(f=0|n[(0|n[A>>2])+(f<<2)>>2]))return 0|(r=0);if(!r){for(A=f;;){if(0|qA(A,e)){t=10;break}if(!(A=0|n[A+32>>2])){A=0,t=10;break}}if(10==(0|t))return 0|A}for(A=f;;){if(0|qA(A,e)&&0|qA(A+16|0,r)){t=10;break}if(!(A=0|n[A+32>>2])){A=0,t=10;break}}return 10==(0|t)?0|A:0}function xe(A,e){e|=0;var r=0;if(r=~~(+u(+ +s(10,+ +(15-(0|n[(A|=0)+12>>2])|0))*(+i[e>>3]+ +i[e+8>>3]))%+(0|n[A+4>>2]))>>>0,!(A=0|n[(0|n[A>>2])+(r<<2)>>2]))return 0|(r=0);for(;;){if(0|qA(A,e)){e=5;break}if(!(A=0|n[A+32>>2])){A=0,e=5;break}}return 5==(0|e)?0|A:0}function Me(A){return 0|~~+function(A){return+ +We(+(A=+A))}(A=+A)}function Qe(A){A|=0;var e,r=0,t=0,i=0,f=0,a=0,o=0,u=0,c=0,s=0,l=0,d=0,b=0,h=0,g=0,v=0,p=0,w=0,_=0,E=0,y=0;e=I,I=I+16|0,b=e;do{if(A>>>0<245){if(A=(s=A>>>0<11?16:A+11&-8)>>>3,3&(t=(d=0|n[5857])>>>A)|0)return i=0|n[(t=(A=23468+((r=(1&t^1)+A|0)<<1<<2)|0)+8|0)>>2],(0|(a=0|n[(f=i+8|0)>>2]))==(0|A)?n[5857]=d&~(1<>2]=A,n[t>>2]=a),y=r<<3,n[i+4>>2]=3|y,n[(y=i+y+4|0)>>2]=1|n[y>>2],I=e,0|(y=f);if(s>>>0>(l=0|n[5859])>>>0){if(0|t)return r=((r=t<>>=u=r>>>12&16)>>>5&8)|u|(a=(r>>>=t)>>>2&4)|(A=(r>>>=a)>>>1&2)|(i=(r>>>=A)>>>1&1))+(r>>>i)|0)<<1<<2)|0)+8|0)>>2],(0|(t=0|n[(u=a+8|0)>>2]))==(0|r)?(A=d&~(1<>2]=r,n[A>>2]=t,A=d),o=(y=i<<3)-s|0,n[a+4>>2]=3|s,n[(f=a+s|0)+4>>2]=1|o,n[a+y>>2]=o,0|l&&(i=0|n[5862],t=23468+((r=l>>>3)<<1<<2)|0,A&(r=1<>2]:(n[5857]=A|r,r=t,A=t+8|0),n[A>>2]=i,n[r+12>>2]=i,n[i+8>>2]=r,n[i+12>>2]=t),n[5859]=o,n[5862]=f,I=e,0|(y=u);if(a=0|n[5858]){for(t=(a&0-a)-1|0,t=c=0|n[23732+(((i=(t>>>=f=t>>>12&16)>>>5&8)|f|(o=(t>>>=i)>>>2&4)|(u=(t>>>=o)>>>1&2)|(c=(t>>>=u)>>>1&1))+(t>>>c)<<2)>>2],u=c,c=(-8&n[c+4>>2])-s|0;(A=0|n[t+16>>2])||(A=0|n[t+20>>2]);)t=A,u=(f=(o=(-8&n[A+4>>2])-s|0)>>>0>>0)?A:u,c=f?o:c;if((o=u+s|0)>>>0>u>>>0){f=0|n[u+24>>2],r=0|n[u+12>>2];do{if((0|r)==(0|u)){if(!(r=0|n[(A=u+20|0)>>2])&&!(r=0|n[(A=u+16|0)>>2])){t=0;break}for(;;)if(t=0|n[(i=r+20|0)>>2])r=t,A=i;else{if(!(t=0|n[(i=r+16|0)>>2]))break;r=t,A=i}n[A>>2]=0,t=r}else t=0|n[u+8>>2],n[t+12>>2]=r,n[r+8>>2]=t,t=r}while(0);do{if(0|f){if(r=0|n[u+28>>2],(0|u)==(0|n[(A=23732+(r<<2)|0)>>2])){if(n[A>>2]=t,!t){n[5858]=a&~(1<>2])==(0|u)?y:f+20|0)>>2]=t,!t)break;n[t+24>>2]=f,0|(r=0|n[u+16>>2])&&(n[t+16>>2]=r,n[r+24>>2]=t),0|(r=0|n[u+20>>2])&&(n[t+20>>2]=r,n[r+24>>2]=t)}}while(0);return c>>>0<16?(y=c+s|0,n[u+4>>2]=3|y,n[(y=u+y+4|0)>>2]=1|n[y>>2]):(n[u+4>>2]=3|s,n[o+4>>2]=1|c,n[o+c>>2]=c,0|l&&(i=0|n[5862],t=23468+((r=l>>>3)<<1<<2)|0,(r=1<>2]:(n[5857]=r|d,r=t,A=t+8|0),n[A>>2]=i,n[r+12>>2]=i,n[i+8>>2]=r,n[i+12>>2]=t),n[5859]=c,n[5862]=o),I=e,0|(y=u+8|0)}d=s}else d=s}else d=s}else if(A>>>0<=4294967231)if(s=-8&(A=A+11|0),i=0|n[5858]){f=0-s|0,c=(A>>>=8)?s>>>0>16777215?31:s>>>((c=14-((u=((v=A<<(d=(A+1048320|0)>>>16&8))+520192|0)>>>16&4)|d|(c=((v<<=u)+245760|0)>>>16&2))+(v<>>15)|0)+7|0)&1|c<<1:0,t=0|n[23732+(c<<2)>>2];A:do{if(t)for(A=0,u=s<<(31==(0|c)?0:25-(c>>>1)|0),a=0;;){if((o=(-8&n[t+4>>2])-s|0)>>>0>>0){if(!o){A=t,f=0,v=65;break A}A=t,f=o}if(a=0==(0|(v=0|n[t+20>>2]))|(0|v)==(0|(t=0|n[t+16+(u>>>31<<2)>>2]))?a:v,!t){t=a,v=61;break}u<<=1}else t=0,A=0,v=61}while(0);if(61==(0|v)){if(0==(0|t)&0==(0|A)){if(!(A=((A=2<>>=o=d>>>12&16)>>>5&8)|o|(u=(d>>>=a)>>>2&4)|(c=(d>>>=u)>>>1&2)|(t=(d>>>=c)>>>1&1))+(d>>>t)<<2)>>2]}t?v=65:(u=A,o=f)}if(65==(0|v))for(a=t;;){if(f=(t=(d=(-8&n[a+4>>2])-s|0)>>>0