diff --git a/VizApp/README.md b/VizApp/README.md new file mode 100644 index 0000000..5df448d --- /dev/null +++ b/VizApp/README.md @@ -0,0 +1,8 @@ +# GraphEditor + +Generate graph from text using dot(viz) format + +## Change logs + +### v0.0.1-a +* First version \ No newline at end of file diff --git a/VizApp/assets/scheme.html b/VizApp/assets/scheme.html new file mode 100644 index 0000000..3990251 --- /dev/null +++ b/VizApp/assets/scheme.html @@ -0,0 +1,13 @@ + + +
+ +
+
+ + + +
+
+
+
\ No newline at end of file diff --git a/VizApp/build/debug/README.md b/VizApp/build/debug/README.md new file mode 100644 index 0000000..5df448d --- /dev/null +++ b/VizApp/build/debug/README.md @@ -0,0 +1,8 @@ +# GraphEditor + +Generate graph from text using dot(viz) format + +## Change logs + +### v0.0.1-a +* First version \ No newline at end of file diff --git a/VizApp/build/debug/main.css b/VizApp/build/debug/main.css new file mode 100644 index 0000000..f06d399 --- /dev/null +++ b/VizApp/build/debug/main.css @@ -0,0 +1,24 @@ + +afx-app-window[data-id="graph_editor_win"] div[data-id="preview"] +{ + display: flex; + align-items: center; + justify-content: center; + background-color: white; +} +afx-app-window[data-id="graph_editor_win"] afx-button button +{ + border-radius: 0; + padding-top:2px; + padding-bottom: 2px; +} +afx-app-window[data-id="graph_editor_win"] afx-resizer{ + background-color: transparent; +} +afx-app-window[data-id="graph_editor_win"] div[data-id="btn-container"]{ + background-color: transparent; + position: absolute; + bottom:10px; + right: 10px; + display: inline; +} diff --git a/VizApp/build/debug/main.js b/VizApp/build/debug/main.js new file mode 100644 index 0000000..da81fe9 --- /dev/null +++ b/VizApp/build/debug/main.js @@ -0,0 +1 @@ +var A;(function(){var A;(A=class A extends this.OS.application.BaseApplication{constructor(A){super("VizApp",A)}main(){return this.currfile=this.args&&this.args.length>0?this.args[0].path.asFileHandle():"Untitled".asFileHandle(),this.currfile.dirty=!1,this.datarea=this.find("datarea"),this.preview=this.find("preview"),this.btctn=this.find("btn-container"),this.previewSVG=void 0,$(this.preview).append(this.btctn),ace.config.set("basePath",window.location.pathname+"/scripts/ace"),this.editor=ace.edit(this.datarea),this.editor.setOptions({enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,fontSize:"11pt"}),this.editor.getSession().setUseWrapMode(!0),this.editor.session.setMode("ace/mode/dot"),this.editor.setTheme("ace/theme/monokai"),this.editor.on("input",()=>this.editormux?(this.editormux=!1,!1):this.currfile.dirty?void 0:this.currfile.dirty=!0),this.currfile.basename||(this.editormux=!0,this.editor.setValue(A.dummydot),this.renderSVG(!1)),this.editor.container.addEventListener("keydown",A=>{if(13===A.keyCode)return this.renderSVG(!0)},!0),this.bindKey("CTRL-R",()=>this.renderSVG(!1)),this.bindKey("ALT-G",()=>this.export("SVG")),this.bindKey("ALT-P",()=>this.export("PNG")),this.bindKey("ALT-N",()=>this.actionFile(this.name+"-New")),this.bindKey("ALT-O",()=>this.actionFile(this.name+"-Open")),this.bindKey("CTRL-S",()=>this.actionFile(this.name+"-Save")),this.bindKey("ALT-W",()=>this.actionFile(this.name+"-Saveas")),this.on("hboxchange",()=>(this.editor.resize(),this.calibrate())),this.on("focus",()=>this.editor.focus()),this.find("btn-zoomin").onbtclick=A=>{if(this.pan)return this.pan.zoomIn()},this.find("btn-zoomout").onbtclick=A=>{if(this.pan)return this.pan.zoomOut()},this.find("btn-reset").onbtclick=A=>{if(this.pan)return this.pan.resetZoom()},this.open(this.currfile)}menu(){return[{text:"__(File)",nodes:[{text:"__(New)",dataid:this.name+"-New",shortcut:"A-N"},{text:"__(Open)",dataid:this.name+"-Open",shortcut:"A-O"},{text:"__(Save)",dataid:this.name+"-Save",shortcut:"C-S"},{text:"__(Save as)",dataid:this.name+"-Saveas",shortcut:"A-W"},{text:"__(Render)",dataid:this.name+"-Render",shortcut:"C-R"},{text:"__(Export as)",nodes:[{text:"SVG",shortcut:"A-G"},{text:"PNG",shortcut:"A-P"}],onchildselect:A=>this.export(A.data.item.data.text)}],onchildselect:A=>this.actionFile(A.data.item.data.dataid)}]}open(A){if("Untitled"!==A.path)return A.dirty=!1,A.read().then(e=>(this.currfile=A,this.editormux=!0,this.currfile.dirty=!1,this.editor.setValue(e),this.scheme.apptitle=""+this.currfile.basename,this.renderSVG(!1))).catch(A=>this.error(A.toString(),A))}save(A){return A.write("text/plain").then(e=>(A.dirty=!1,A.text=A.basename,this.scheme.apptitle=""+this.currfile.basename)).catch(A=>this.error(A.toString(),A))}actionFile(A){var e;switch(e=()=>this.openDialog("FileDialog",{title:__("Save as"),file:this.currfile}).then(A=>(this.currfile.setPath(`${A.file.path}/${A.name}`),this.save(this.currfile))).catch(A=>this.error(A.toString(),A)),A){case this.name+"-Open":return this.openDialog("FileDialog",{title:__("Open file")}).then((A,e)=>this.open(A.file.path.asFileHandle())).catch(A=>this.error(A.toString(),A));case this.name+"-Save":return this.currfile.cache=this.editor.getValue(),this.currfile.basename?this.save(this.currfile):e();case this.name+"-Saveas":return this.currfile.cache=this.editor.getValue(),e();case this.name+"-Render":return this.renderSVG(!1);case this.name+"-New":return this.currfile="Untitled".asFileHandle(),this.currfile.cache="",this.currfile.dirty=!1,this.editormux=!0,this.editor.setValue("")}}export(A){return this.openDialog("FileDialog",{title:__("Export as"),file:this.currfile}).then(e=>{var i,r,n;switch(i=`${e.file.path}/${e.name}`.asFileHandle(),n=new Viz,r=this.editor.getValue(),A){case"SVG":return n.renderSVGElement(r).then(e=>{var r;return r=new XMLSerializer,i.cache=r.serializeToString(e),i.write("text/plain").then(A=>this.notify(__("File exported to SVG"))).catch(e=>this.error(__("Cannot export to {0}: {1}",A,e.toString()),e))}).catch(A=>this.error(A.toString(),A));case"PNG":return n.renderImageElement(r).then(e=>{var r;return(r=new XMLHttpRequest).responseType="blob",r.onload=()=>{var e,n;return e=r.response,(n=new FileReader).onload=()=>{var e;return e=n.result,i.cache=e,i.write("base64").then(A=>this.notify(__("File exported to PNG"))).catch(e=>this.error(__("Cannot export to {0}: {1}",A,e.toString()),e))},n.readAsDataURL(e)},r.open("GET",e.src),r.send()}).catch(A=>this.error(A.toString(),A))}}).catch(A=>this.error(A.toString(),A))}renderSVG(A){var e;return Math.floor(1e5*Math.random()),e=this.editor.getValue(),(new Viz).renderSVGElement(e).then(A=>{if("HTML"!==$(A).prop("tagName").toUpperCase())return this.previewSVG&&$(this.previewSVG).remove(),this.previewSVG=A,$(this.preview).append(A),this.calibrate(),this.pan=svgPanZoom(A,{zoomEnabled:!0,controlIconsEnabled:!1,fit:!0,center:!0,minZoom:.1})}).catch(A=>this.error(A.toString(),A))}calibrate(){var A,e;if(e=$(this.preview).children("svg")[0])return A=[$(this.preview).width(),$(this.preview).height()],$(e).attr("width",A[0]+"px"),$(e).attr("height",A[1]+"px")}cleanup(A){if(this.currfile&&this.currfile.dirty)return A.preventDefault(),this.ask({title:__("Quit"),text:__("Quit without saving ?")}).then(A=>{if(A)return this.currfile.dirty=!1,this.quit()})}}).dummydot='digraph D {\n A [shape=diamond]\n B [shape=box]\n C [shape=circle]\n A -> B [style=dashed, color=grey]\n A -> C [color="black:invis:black"]\n A -> D [penwidth=5, arrowhead=none]\n}',A.dependencies=["os://scripts/ace/ace.js"],this.OS.register("VizApp",A)}).call(this),function A(e,i,r){function n(a,t){if(!i[a]){if(!e[a]){var l="function"==typeof require&&require;if(!t&&l)return l(a,!0);if(f)return f(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var o=i[a]={exports:{}};e[a][0].call(o.exports,(function(A){return n(e[a][1][A]||A)}),o,o.exports,A,e,i,r)}return i[a].exports}for(var f="function"==typeof require&&require,a=0;a=0;r--)this.eventListeners.hasOwnProperty(i[r])&&delete this.eventListeners[i[r]]}for(var n in this.eventListeners)(this.options.eventsListenerElement||this.svg).addEventListener(n,this.eventListeners[n],!1);this.options.mouseWheelZoomEnabled&&(this.options.mouseWheelZoomEnabled=!1,this.enableMouseWheelZoom())},l.prototype.enableMouseWheelZoom=function(){if(!this.options.mouseWheelZoomEnabled){var A=this;this.wheelListener=function(e){return A.handleMouseWheel(e)},r.on(this.options.eventsListenerElement||this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!0}},l.prototype.disableMouseWheelZoom=function(){this.options.mouseWheelZoomEnabled&&(r.off(this.options.eventsListenerElement||this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!1)},l.prototype.handleMouseWheel=function(A){if(this.options.zoomEnabled&&"none"===this.state){this.options.preventMouseEventsDefault&&(A.preventDefault?A.preventDefault():A.returnValue=!1);var e=A.deltaY||1,i=Date.now()-this.lastMouseWheelEventTime,r=3+Math.max(0,30-i);this.lastMouseWheelEventTime=Date.now(),"deltaMode"in A&&0===A.deltaMode&&A.wheelDelta&&(e=0===A.deltaY?0:Math.abs(A.wheelDelta)/A.deltaY),e=-.30?1:-1)*Math.log(Math.abs(e)+10)/r;var n=this.svg.getScreenCTM().inverse(),f=a.getEventPoint(A,this.svg).matrixTransform(n),t=Math.pow(1+this.options.zoomScaleSensitivity,-1*e);this.zoomAtPoint(t,f)}},l.prototype.zoomAtPoint=function(A,e,i){var r=this.viewport.getOriginalState();i?(A=Math.max(this.options.minZoom*r.zoom,Math.min(this.options.maxZoom*r.zoom,A)),A/=this.getZoom()):this.getZoom()*Athis.options.maxZoom*r.zoom&&(A=this.options.maxZoom*r.zoom/this.getZoom());var n=this.viewport.getCTM(),f=e.matrixTransform(n.inverse()),a=this.svg.createSVGMatrix().translate(f.x,f.y).scale(A).translate(-f.x,-f.y),t=n.multiply(a);t.a!==n.a&&this.viewport.setCTM(t)},l.prototype.zoom=function(A,e){this.zoomAtPoint(A,a.getSvgCenterPoint(this.svg,this.width,this.height),e)},l.prototype.publicZoom=function(A,e){e&&(A=this.computeFromRelativeZoom(A)),this.zoom(A,e)},l.prototype.publicZoomAtPoint=function(A,e,i){if(i&&(A=this.computeFromRelativeZoom(A)),"SVGPoint"!==f.getType(e)){if(!("x"in e)||!("y"in e))throw new Error("Given point is invalid");e=a.createSVGPoint(this.svg,e.x,e.y)}this.zoomAtPoint(A,e,i)},l.prototype.getZoom=function(){return this.viewport.getZoom()},l.prototype.getRelativeZoom=function(){return this.viewport.getRelativeZoom()},l.prototype.computeFromRelativeZoom=function(A){return A*this.viewport.getOriginalState().zoom},l.prototype.resetZoom=function(){var A=this.viewport.getOriginalState();this.zoom(A.zoom,!0)},l.prototype.resetPan=function(){this.pan(this.viewport.getOriginalState())},l.prototype.reset=function(){this.resetZoom(),this.resetPan()},l.prototype.handleDblClick=function(A){var e;if(this.options.preventMouseEventsDefault&&(A.preventDefault?A.preventDefault():A.returnValue=!1),this.options.controlIconsEnabled&&(A.target.getAttribute("class")||"").indexOf("svg-pan-zoom-control")>-1)return!1;e=A.shiftKey?1/(2*(1+this.options.zoomScaleSensitivity)):2*(1+this.options.zoomScaleSensitivity);var i=a.getEventPoint(A,this.svg).matrixTransform(this.svg.getScreenCTM().inverse());this.zoomAtPoint(e,i)},l.prototype.handleMouseDown=function(A,e){this.options.preventMouseEventsDefault&&(A.preventDefault?A.preventDefault():A.returnValue=!1),f.mouseAndTouchNormalize(A,this.svg),this.options.dblClickZoomEnabled&&f.isDblClick(A,e)?this.handleDblClick(A):(this.state="pan",this.firstEventCTM=this.viewport.getCTM(),this.stateOrigin=a.getEventPoint(A,this.svg).matrixTransform(this.firstEventCTM.inverse()))},l.prototype.handleMouseMove=function(A){if(this.options.preventMouseEventsDefault&&(A.preventDefault?A.preventDefault():A.returnValue=!1),"pan"===this.state&&this.options.panEnabled){var e=a.getEventPoint(A,this.svg).matrixTransform(this.firstEventCTM.inverse()),i=this.firstEventCTM.translate(e.x-this.stateOrigin.x,e.y-this.stateOrigin.y);this.viewport.setCTM(i)}},l.prototype.handleMouseUp=function(A){this.options.preventMouseEventsDefault&&(A.preventDefault?A.preventDefault():A.returnValue=!1),"pan"===this.state&&(this.state="none")},l.prototype.fit=function(){var A=this.viewport.getViewBox(),e=Math.min(this.width/A.width,this.height/A.height);this.zoom(e,!0)},l.prototype.contain=function(){var A=this.viewport.getViewBox(),e=Math.max(this.width/A.width,this.height/A.height);this.zoom(e,!0)},l.prototype.center=function(){var A=this.viewport.getViewBox(),e=.5*(this.width-(A.width+2*A.x)*this.getZoom()),i=.5*(this.height-(A.height+2*A.y)*this.getZoom());this.getPublicInstance().pan({x:e,y:i})},l.prototype.updateBBox=function(){this.viewport.simpleViewBoxCache()},l.prototype.pan=function(A){var e=this.viewport.getCTM();e.e=A.x,e.f=A.y,this.viewport.setCTM(e)},l.prototype.panBy=function(A){var e=this.viewport.getCTM();e.e+=A.x,e.f+=A.y,this.viewport.setCTM(e)},l.prototype.getPan=function(){var A=this.viewport.getState();return{x:A.x,y:A.y}},l.prototype.resize=function(){var A=a.getBoundingClientRectNormalized(this.svg);this.width=A.width,this.height=A.height;var e=this.viewport;e.options.width=this.width,e.options.height=this.height,e.processCTM(),this.options.controlIconsEnabled&&(this.getPublicInstance().disableControlIcons(),this.getPublicInstance().enableControlIcons())},l.prototype.destroy=function(){var A=this;for(var e in this.beforeZoom=null,this.onZoom=null,this.beforePan=null,this.onPan=null,this.onUpdatedCTM=null,null!=this.options.customEventsHandler&&this.options.customEventsHandler.destroy({svgElement:this.svg,eventsListenerElement:this.options.eventsListenerElement,instance:this.getPublicInstance()}),this.eventListeners)(this.options.eventsListenerElement||this.svg).removeEventListener(e,this.eventListeners[e],!1);this.disableMouseWheelZoom(),this.getPublicInstance().disableControlIcons(),this.reset(),o=o.filter((function(e){return e.svg!==A.svg})),delete this.options,delete this.viewport,delete this.publicInstance,delete this.pi,this.getPublicInstance=function(){return null}},l.prototype.getPublicInstance=function(){var A=this;return this.publicInstance||(this.publicInstance=this.pi={enablePan:function(){return A.options.panEnabled=!0,A.pi},disablePan:function(){return A.options.panEnabled=!1,A.pi},isPanEnabled:function(){return!!A.options.panEnabled},pan:function(e){return A.pan(e),A.pi},panBy:function(e){return A.panBy(e),A.pi},getPan:function(){return A.getPan()},setBeforePan:function(e){return A.options.beforePan=null===e?null:f.proxy(e,A.publicInstance),A.pi},setOnPan:function(e){return A.options.onPan=null===e?null:f.proxy(e,A.publicInstance),A.pi},enableZoom:function(){return A.options.zoomEnabled=!0,A.pi},disableZoom:function(){return A.options.zoomEnabled=!1,A.pi},isZoomEnabled:function(){return!!A.options.zoomEnabled},enableControlIcons:function(){return A.options.controlIconsEnabled||(A.options.controlIconsEnabled=!0,n.enable(A)),A.pi},disableControlIcons:function(){return A.options.controlIconsEnabled&&(A.options.controlIconsEnabled=!1,n.disable(A)),A.pi},isControlIconsEnabled:function(){return!!A.options.controlIconsEnabled},enableDblClickZoom:function(){return A.options.dblClickZoomEnabled=!0,A.pi},disableDblClickZoom:function(){return A.options.dblClickZoomEnabled=!1,A.pi},isDblClickZoomEnabled:function(){return!!A.options.dblClickZoomEnabled},enableMouseWheelZoom:function(){return A.enableMouseWheelZoom(),A.pi},disableMouseWheelZoom:function(){return A.disableMouseWheelZoom(),A.pi},isMouseWheelZoomEnabled:function(){return!!A.options.mouseWheelZoomEnabled},setZoomScaleSensitivity:function(e){return A.options.zoomScaleSensitivity=e,A.pi},setMinZoom:function(e){return A.options.minZoom=e,A.pi},setMaxZoom:function(e){return A.options.maxZoom=e,A.pi},setBeforeZoom:function(e){return A.options.beforeZoom=null===e?null:f.proxy(e,A.publicInstance),A.pi},setOnZoom:function(e){return A.options.onZoom=null===e?null:f.proxy(e,A.publicInstance),A.pi},zoom:function(e){return A.publicZoom(e,!0),A.pi},zoomBy:function(e){return A.publicZoom(e,!1),A.pi},zoomAtPoint:function(e,i){return A.publicZoomAtPoint(e,i,!0),A.pi},zoomAtPointBy:function(e,i){return A.publicZoomAtPoint(e,i,!1),A.pi},zoomIn:function(){return this.zoomBy(1+A.options.zoomScaleSensitivity),A.pi},zoomOut:function(){return this.zoomBy(1/(1+A.options.zoomScaleSensitivity)),A.pi},getZoom:function(){return A.getRelativeZoom()},setOnUpdatedCTM:function(e){return A.options.onUpdatedCTM=null===e?null:f.proxy(e,A.publicInstance),A.pi},resetZoom:function(){return A.resetZoom(),A.pi},resetPan:function(){return A.resetPan(),A.pi},reset:function(){return A.reset(),A.pi},fit:function(){return A.fit(),A.pi},contain:function(){return A.contain(),A.pi},center:function(){return A.center(),A.pi},updateBBox:function(){return A.updateBBox(),A.pi},resize:function(){return A.resize(),A.pi},getSizes:function(){return{width:A.width,height:A.height,realZoom:A.getZoom(),viewBox:A.viewport.getViewBox()}},destroy:function(){return A.destroy(),A.pi}}),this.publicInstance};var o=[];e.exports=function(A,e){var i=f.getSvg(A);if(null===i)return null;for(var r=o.length-1;r>=0;r--)if(o[r].svg===i)return o[r].instance.getPublicInstance();return o.push({svg:i,instance:new l(i,e)}),o[o.length-1].instance.getPublicInstance()}},{"./control-icons":2,"./shadow-viewport":3,"./svg-utilities":5,"./uniwheel":6,"./utilities":7}],5:[function(A,e,i){var r=A("./utilities"),n="unknown";document.documentMode&&(n="ie"),e.exports={svgNS:"http://www.w3.org/2000/svg",xmlNS:"http://www.w3.org/XML/1998/namespace",xmlnsNS:"http://www.w3.org/2000/xmlns/",xlinkNS:"http://www.w3.org/1999/xlink",evNS:"http://www.w3.org/2001/xml-events",getBoundingClientRectNormalized:function(A){if(A.clientWidth&&A.clientHeight)return{width:A.clientWidth,height:A.clientHeight};if(A.getBoundingClientRect())return A.getBoundingClientRect();throw new Error("Cannot get BoundingClientRect for SVG.")},getOrCreateViewport:function(A,e){var i=null;if(!(i=r.isElement(e)?e:A.querySelector(e))){var n=Array.prototype.slice.call(A.childNodes||A.children).filter((function(A){return"defs"!==A.nodeName&&"#text"!==A.nodeName}));1===n.length&&"g"===n[0].nodeName&&null===n[0].getAttribute("transform")&&(i=n[0])}if(!i){var f="viewport-"+(new Date).toISOString().replace(/\D/g,"");(i=document.createElementNS(this.svgNS,"g")).setAttribute("id",f);var a=A.childNodes||A.children;if(a&&a.length>0)for(var t=a.length;t>0;t--)"defs"!==a[a.length-t].nodeName&&i.appendChild(a[a.length-t]);A.appendChild(i)}var l=[];return i.getAttribute("class")&&(l=i.getAttribute("class").split(" ")),~l.indexOf("svg-pan-zoom_viewport")||(l.push("svg-pan-zoom_viewport"),i.setAttribute("class",l.join(" "))),i},setupSvgAttributes:function(A){if(A.setAttribute("xmlns",this.svgNS),A.setAttributeNS(this.xmlnsNS,"xmlns:xlink",this.xlinkNS),A.setAttributeNS(this.xmlnsNS,"xmlns:ev",this.evNS),null!==A.parentNode){var e=A.getAttribute("style")||"";-1===e.toLowerCase().indexOf("overflow")&&A.setAttribute("style","overflow: hidden; "+e)}},internetExplorerRedisplayInterval:300,refreshDefsGlobal:r.throttle((function(){for(var A=document.querySelectorAll("defs"),e=A.length,i=0;ie?(clearTimeout(t),t=null,l=o,f=A.apply(r,n),t||(r=n=null)):t||!1===i.trailing||(t=setTimeout(c,s)),f}},createRequestAnimationFrame:function(A){var e=null;return"auto"!==A&&A<60&&A>1&&(e=Math.floor(1e3/A)),null===e?window.requestAnimationFrame||r(33):r(e)}}},{}]},{},[1]),A=function(){"use strict";var A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},e=function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")},i=function(){function A(A,e){for(var i=0;i1?window.devicePixelRatio:1}function l(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.scale,r=void 0===i?t():i,n=e.mimeType,f=void 0===n?"image/png":n,l=e.quality,c=void 0===l?1:l;return new Promise((function(e,i){var n=new Image;n.onload=function(){var A=document.createElement("canvas");A.width=n.width*r,A.height=n.height*r,A.getContext("2d").drawImage(n,0,0,A.width,A.height),A.toBlob((function(A){var i=new Image;i.src=URL.createObjectURL(A),i.width=n.width,i.height=n.height,e(i)}),f,c)},n.onerror=function(A){var e;e="error"in A?A.error:new Error("Error loading SVG"),i(e)},n.src="data:image/svg+xml;base64,"+a(A)}))}function c(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.scale,r=void 0===i?t():i,n=e.mimeType,f=void 0===n?"image/png":n,a=e.quality,l=void 0===a?1:a,c=r,o=void 0;return"image/jpeg"==f?o="jpeg":"image/png"==f&&(o="png"),new Promise((function(e,i){fabric.loadSVGFromString(A,(function(A,r){0==A.length&&i(new Error("Error loading SVG with Fabric"));var n=document.createElement("canvas");n.width=r.width,n.height=r.height;var f=new fabric.Canvas(n,{enableRetinaScaling:!1}),a=fabric.util.groupSVGElements(A,r);f.add(a).renderAll();var t=new Image;t.src=f.toDataURL({format:o,multiplier:c,quality:l}),t.width=r.width,t.height=r.height,e(t)}))}))}return function(){function a(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=A.workerURL,r=A.worker,t=A.Module,l=A.render;if(e(this,a),void 0!==i)this.wrapper=new n(new Worker(i));else if(void 0!==r)this.wrapper=new n(r);else if(void 0!==t&&void 0!==l)this.wrapper=new f(t,l);else{if(void 0===a.Module||void 0===a.render)throw new Error("Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.");this.wrapper=new f(a.Module,a.render)}}return i(a,[{key:"renderString",value:function(A){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.format,r=void 0===i?"svg":i,n=e.engine,f=void 0===n?"dot":n,a=e.files,t=void 0===a?[]:a,l=e.images,c=void 0===l?[]:l,o=e.yInvert,s=void 0!==o&&o,u=e.nop,b=void 0===u?0:u,v=0;v\n\n'});return this.wrapper.render(A,{format:r,engine:f,files:t,images:c,yInvert:s,nop:b})}},{key:"renderSVGElement",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.renderString(A,r({},e,{format:"svg"})).then((function(A){return(new DOMParser).parseFromString(A,"image/svg+xml").documentElement}))}},{key:"renderImageElement",value:function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.scale,f=i.mimeType,a=i.quality;return this.renderString(e,r({},i,{format:"svg"})).then((function(e){return"object"===("undefined"==typeof fabric?"undefined":A(fabric))&&fabric.loadSVGFromString?c(e,{scale:n,mimeType:f,quality:a}):l(e,{scale:n,mimeType:f,quality:a})}))}},{key:"renderJSONObject",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.format;return"json"===i&&"json0"===i||(i="json"),this.renderString(A,r({},e,{format:i})).then((function(A){return JSON.parse(A)}))}}]),a}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=A():"function"==typeof define&&define.amd?define(A):this.Viz=A(),function(A){var e=function(A){A=void 0!==(A=A||{})?A:{};var e,i={};for(e in A)A.hasOwnProperty(e)&&(i[e]=A[e]);A.arguments=[],A.thisProgram="./this.program",A.quit=function(A,e){throw e},A.preRun=[],A.postRun=[];var r,n,f=!1,a=!1,t=!1,l=!1;if(A.ENVIRONMENT)if("WEB"===A.ENVIRONMENT)f=!0;else if("WORKER"===A.ENVIRONMENT)a=!0;else if("NODE"===A.ENVIRONMENT)t=!0;else{if("SHELL"!==A.ENVIRONMENT)throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");l=!0}else f="object"==typeof window,a="function"==typeof importScripts,t="object"==typeof process&&"function"==typeof require&&!f&&!a,l=!f&&!t&&!a;for(e in t?(A.read=function(A,e){var i;return(i=Re(A))||(r||(r=require("fs")),n||(n=require("path")),A=n.normalize(A),i=r.readFileSync(A)),e?i:i.toString()},A.readBinary=function(e){var i=A.read(e,!0);return i.buffer||(i=new Uint8Array(i)),k(i.buffer),i},process.argv.length>1&&(A.thisProgram=process.argv[1].replace(/\\/g,"/")),A.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=A),process.on("uncaughtException",(function(A){if(!(A instanceof ki))throw A})),process.on("unhandledRejection",(function(A,e){process.exit(1)})),A.inspect=function(){return"[Emscripten Module object]"}):l?("undefined"!=typeof read&&(A.read=function(A){var e=Re(A);return e?ze(e):read(A)}),A.readBinary=function(A){var e;return(e=Re(A))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(k("object"==typeof(e=read(A,"binary"))),e)},"undefined"!=typeof scriptArgs?A.arguments=scriptArgs:void 0!==arguments&&(A.arguments=arguments),"function"==typeof quit&&(A.quit=function(A,e){quit(A)})):(f||a)&&(A.read=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.send(null),e.responseText}catch(e){var i=Re(A);if(i)return ze(i);throw e}},a&&(A.readBinary=function(A){try{var e=new XMLHttpRequest;return e.open("GET",A,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=Re(A);if(i)return i;throw e}}),A.readAsync=function(A,e,i){var r=new XMLHttpRequest;r.open("GET",A,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)e(r.response);else{var n=Re(A);n?e(n.buffer):i()}},r.onerror=i,r.send(null)},void 0!==arguments&&(A.arguments=arguments),A.setWindowTitle=function(A){document.title=A}),A.print="undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null,A.printErr="undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||A.print,A.print=A.print,A.printErr=A.printErr,i)i.hasOwnProperty(e)&&(A[e]=i[e]);i=void 0;var c=16;function o(A){k(!x);var e=X;return X=X+A+15&-16,e}function s(A){k(O);var e=L[O>>2],i=e+A+15&-16;return L[O>>2]=i,i>=eA&&!$()?(L[O>>2]=e,0):e}function u(A,e){return e||(e=c),Math.ceil(A/e)*e}function b(A){switch(A){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===A[A.length-1])return 4;if("i"===A[0]){var e=parseInt(A.substr(1));return k(e%8==0),e/8}return 0}}new Array(0);var v=8,B=0;function k(A,e){A||di("Assertion failed: "+e)}function w(e){var i=A["_"+e];return k(i,"Cannot call unknown function "+e+", make sure it is exported"),i}var h={stackSave:function(){oi()},stackRestore:function(){ci()},arrayToC:function(A){var e=li(A.length);return wA(A,e),e},stringToC:function(A){var e=0;if(null!=A&&0!==A){var i=1+(A.length<<2);Y(A,e=li(i),i)}return e}},d={string:h.stringToC,array:h.arrayToC};function g(A,e,i,r,n){var f=w(A),a=[],t=0;if(r)for(var l=0;l>0]=e;break;case"i16":H[A>>1]=e;break;case"i32":L[A>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+dA(tempDouble)>=1?tempDouble>0?(0|IA(+ZA(tempDouble/4294967296),4294967295))>>>0:~~+mA((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],L[A>>2]=tempI64[0],L[A+4>>2]=tempI64[1];break;case"float":F[A>>2]=e;break;case"double":D[A>>3]=e;break;default:di("invalid type for setValue: "+i)}}var Z=2,G=4;function I(A,e,i,r){var n,f;"number"==typeof A?(n=!0,f=A):(n=!1,f=A.length);var a,t="string"==typeof e?e:null;if(a=i==G?r:["function"==typeof fi?fi:o,li,o,s][void 0===i?Z:i](Math.max(f,t?1:e.length)),n){var l;for(r=a,k(0==(3&a)),l=a+(-4&f);r>2]=0;for(l=a+f;r>0]=0;return a}if("i8"===t)return A.subarray||A.slice?R.set(A,a):R.set(new Uint8Array(A),a),a;for(var c,u,v,B=0;B>0],(0!=i||e)&&(n++,!e||n!=e););e||(e=n);var f="";if(r<128){for(var a;e>0;)a=String.fromCharCode.apply(String,R.subarray(A,A+Math.min(e,1024))),f=f?f+a:a,A+=1024,e-=1024;return f}return Q(A)}var M="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function E(A,e){for(var i=e;A[i];)++i;if(i-e>16&&A.subarray&&M)return M.decode(A.subarray(e,i));for(var r,n,f,a,t,l="";;){if(!(r=A[e++]))return l;if(128&r)if(n=63&A[e++],192!=(224&r))if(f=63&A[e++],224==(240&r)?r=(15&r)<<12|n<<6|f:(a=63&A[e++],240==(248&r)?r=(7&r)<<18|n<<12|f<<6|a:(t=63&A[e++],r=248==(252&r)?(3&r)<<24|n<<18|f<<12|a<<6|t:(1&r)<<30|n<<24|f<<18|a<<12|t<<6|63&A[e++])),r<65536)l+=String.fromCharCode(r);else{var c=r-65536;l+=String.fromCharCode(55296|c>>10,56320|1023&c)}else l+=String.fromCharCode((31&r)<<6|n);else l+=String.fromCharCode(r)}}function Q(A){return E(R,A)}function y(A,e,i,r){if(!(r>0))return 0;for(var n=i,f=i+r-1,a=0;a=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&A.charCodeAt(++a)),t<=127){if(i>=f)break;e[i++]=t}else if(t<=2047){if(i+1>=f)break;e[i++]=192|t>>6,e[i++]=128|63&t}else if(t<=65535){if(i+2>=f)break;e[i++]=224|t>>12,e[i++]=128|t>>6&63,e[i++]=128|63&t}else if(t<=2097151){if(i+3>=f)break;e[i++]=240|t>>18,e[i++]=128|t>>12&63,e[i++]=128|t>>6&63,e[i++]=128|63&t}else if(t<=67108863){if(i+4>=f)break;e[i++]=248|t>>24,e[i++]=128|t>>18&63,e[i++]=128|t>>12&63,e[i++]=128|t>>6&63,e[i++]=128|63&t}else{if(i+5>=f)break;e[i++]=252|t>>30,e[i++]=128|t>>24&63,e[i++]=128|t>>18&63,e[i++]=128|t>>12&63,e[i++]=128|t>>6&63,e[i++]=128|63&t}}return e[i]=0,i-n}function Y(A,e,i){return y(A,R,e,i)}function p(A){for(var e=0,i=0;i=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++i)),r<=127?++e:e+=r<=2047?2:r<=65535?3:r<=2097151?4:r<=67108863?5:6}return e}function V(A){var e=p(A)+1,i=fi(e);return i&&y(A,P,i,e),i}function N(A){return A.replace(/__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function W(){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 z(){var e=W();return A.extraStackTrace&&(e+="\n"+A.extraStackTrace()),N(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var J,P,R,H,L,F,D,X,x,T,U,S,j,O,K=16384;function _(){A.HEAP8=P=new Int8Array(J),A.HEAP16=H=new Int16Array(J),A.HEAP32=L=new Int32Array(J),A.HEAPU8=R=new Uint8Array(J),A.HEAPU16=new Uint16Array(J),A.HEAPU32=new Uint32Array(J),A.HEAPF32=F=new Float32Array(J),A.HEAPF64=D=new Float64Array(J)}function q(){di("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+eA+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function $(){q()}X=T=U=S=j=O=0,x=!1;var AA=A.TOTAL_STACK||5242880,eA=A.TOTAL_MEMORY||16777216;function iA(){return eA}if(eA0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?A.dynCall_v(r):A.dynCall_vi(r,i.arg):r(void 0===i.arg?null:i.arg)}else i()}}var nA=[],fA=[],aA=[],tA=[],lA=[],cA=!1;function oA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)BA(A.preRun.shift());rA(nA)}function sA(){cA||(cA=!0,rA(fA))}function uA(){rA(aA)}function bA(){rA(tA)}function vA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)kA(A.postRun.shift());rA(lA)}function BA(A){nA.unshift(A)}function kA(A){lA.unshift(A)}function wA(A,e){P.set(A,e)}function hA(A,e,i){for(var r=0;r>0]=A.charCodeAt(r);i||(P[e>>0]=0)}Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(A,e){var i=65535&A,r=65535&e;return i*r+((A>>>16)*r+i*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(A){return A<0?Math.ceil(A):Math.floor(A)}),Math.trunc=Math.trunc;var dA=Math.abs,gA=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt),mA=Math.ceil,ZA=Math.floor,GA=Math.pow,IA=(Math.imul,Math.fround,Math.round,Math.min),CA=(Math.max,Math.clz32,Math.trunc,0),MA=null,EA=null;function QA(e){CA++,A.monitorRunDependencies&&A.monitorRunDependencies(CA)}function yA(e){if(CA--,A.monitorRunDependencies&&A.monitorRunDependencies(CA),0==CA&&(null!==MA&&(clearInterval(MA),MA=null),EA)){var i=EA;EA=null,i()}}A.preloadedImages={},A.preloadedAudios={};var YA=null,pA="data:application/octet-stream;base64,";function VA(A){return String.prototype.startsWith?A.startsWith(pA):0===A.indexOf(pA)}var NA=[function(A,e){var i=C(A),r=C(e);qA.createPath("/",UA.dirname(i)),qA.writeFile(UA.join("/",i),r)}];function WA(A,e,i){return NA[A](e,i)}X=v+176368,fA.push(),YA="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAWC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEED4NQAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAANQ5AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEDcOgAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAQAAAAAAAAABAAAAAAAAAAAAAAAAAPA/AQAAAAAAAAACAAAAAAAAAAAAAAAAAPA/AgAAAAAAAAADAAAAAAAAAAAAAAAAAOA/AwAAAAAAAAAEAAAAAAAAAAAAAAAAAPA/BAAAAAAAAAAFAAAAAAAAADMzMzMzM/M/BQAAAAAAAAAGAAAAAAAAAJqZmZmZmek/BgAAAAAAAAAHAAAAAAAAAAAAAAAAAPA/BwAAAAAAAAAIAAAAAAAAAAAAAAAAAOA/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAzMzMzMzPTvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAACamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzMzM+M/AAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiRSAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAACAZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACAZkCamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAACAZkB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAA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Na8BACLQ///ZL/8APq8BABla5eXElP8AR68BAHJ4wmbCpf8AUK8BAAub/PyNYv8AWa8BAJxNy42gy/8AYq8BAORm5+eKw/8Aa68BADqb2KbYVP8AdK8BACLQ///ZL/8Afa8BABla5eXElP8Ahq8BAAAAs7Ozs/8Aj68BAHhU043Tx/8Ama8BANNSvbyAvf8ApK8BACpM////s/8Arq8BAK8l2r662v8AuK8BAASL+/uAcv8Awq8BAJBk04Cx0/8AzK8BABac/f20Yv8A1q8BADqG3rPeaf8A4K8BAOkv/PzN5f8A6q8BAAAA2dnZ2f8A9K8BAHhU043Tx/8A/q8BANNSvbyAvf8ACbABAE0p68zrxf8AFLABACpM////s/8AHrABAK8l2r662v8AKLABAASL+/uAcv8AMrABAJBk04Cx0/8APLABABac/f20Yv8ARrABADqG3rPeaf8AULABAOkv/PzN5f8AWrABAAAA2dnZ2f8AZLABAHhU043Tx/8AbrABANNSvbyAvf8AebABAE0p68zrxf8AhLABACWQ///tb/8Aj7ABACpM////s/8AmbABAK8l2r662v8Ao7ABAASL+/uAcv8ArbABAJBk04Cx0/8At7ABABac/f20Yv8AwbABADqG3rPeaf8Ay7ABAOkv/PzN5f8A1bABAAAA2dnZ2f8A37ABAHhU043Tx/8A6LABACpM////s/8A8bABAK8l2r662v8A+rABAHhU043Tx/8AA7EBACpM////s/8ADLEBAK8l2r662v8AFbEBAASL+/uAcv8AHrEBAHhU043Tx/8AJ7EBACpM////s/8AMLEBAK8l2r662v8AObEBAASL+/uAcv8AQrEBAJBk04Cx0/8AS7EBAHhU043Tx/8AVLEBACpM////s/8AXbEBAK8l2r662v8AZrEBAASL+/uAcv8Ab7EBAJBk04Cx0/8AeLEBABac/f20Yv8AgbEBAHhU043Tx/8AirEBACpM////s/8Ak7EBAK8l2r662v8AnLEBAASL+/uAcv8ApbEBAJBk04Cx0/8ArrEBABac/f20Yv8At7EBADqG3rPeaf8AwLEBAHhU043Tx/8AybEBACpM////s/8A0rEBAK8l2r662v8A27EBAASL+/uAcv8A5LEBAJBk04Cx0/8A7bEBABac/f20Yv8A9rEBADqG3rPeaf8A/7EBAOkv/PzN5f8ACLIBAHhU043Tx/8AEbIBACpM////s/8AGrIBAK8l2r662v8AI7IBAASL+/uAcv8ALLIBAJBk04Cx0/8ANbIBABac/f20Yv8APrIBADqG3rPeaf8AR7IBAOkv/PzN5f8AULIBAAAA2dnZ2f8AWbIBAO39np4BQv8AZ7IBALGCol5Pov8AdrIBAPq01dU+T/8AhLIBAAq49PRtQ/8AkrIBABSd/f2uYf8AoLIBAB9z/v7gi/8ArrIBADFg9eb1mP8AvLIBAE9B3avdpP8AyrIBAHJ4wmbCpf8A2LIBAI+7vTKIvf8A5rIBAO39np4BQv8A9LIBAI+7vTKIvf8AA7MBALGCol5Pov8AErMBAPq01dU+T/8AILMBAAq49PRtQ/8ALrMBABSd/f2uYf8APLMBAB9z/v7gi/8ASrMBACpA////v/8AWLMBADFg9eb1mP8AZrMBAE9B3avdpP8AdLMBAHJ4wmbCpf8AgrMBAA2k/PyNWf8Aj7MBACpA////v/8AnLMBAFFN1ZnVlP8AqbMBAP7h19cZHP8AtrMBABSd/f2uYf8Aw7MBAE9B3avdpP8A0LMBAI/EuiuDuv8A3bMBAP7h19cZHP8A6rMBABSd/f2uYf8A97MBACpA////v/8ABLQBAE9B3avdpP8AEbQBAI/EuiuDuv8AHrQBAPq01dU+T/8AK7QBAA2k/PyNWf8AOLQBAB9z/v7gi/8ARbQBADFg9eb1mP8AUrQBAFFN1ZnVlP8AX7QBAI+7vTKIvf8AbLQBAPq01dU+T/8AebQBAA2k/PyNWf8AhrQBAB9z/v7gi/8Ak7QBACpA////v/8AoLQBADFg9eb1mP8ArbQBAFFN1ZnVlP8AurQBAI+7vTKIvf8Ax7QBAPq01dU+T/8A1LQBAAq49PRtQ/8A4bQBABSd/f2uYf8A7rQBAB9z/v7gi/8A+7QBADFg9eb1mP8ACLUBAE9B3avdpP8AFbUBAHJ4wmbCpf8AIrUBAI+7vTKIvf8AL7UBAPq01dU+T/8APLUBAAq49PRtQ/8ASbUBABSd/f2uYf8AVrUBAB9z/v7gi/8AY7UBACpA////v/8AcLUBADFg9eb1mP8AfbUBAE9B3avdpP8AirUBAHJ4wmbCpf8Al7UBAI+7vTKIvf8ApLUBAJMP//D4//8As7UBABgj+vrr1/8AxbUBAH///wD///8Az7UBAHGA/3//1P8A37UBAH8P//D///8A6rUBACoa9fX13P8A9bUBABc6///kxP8AAbYBAAAAAAAAAP8ADLYBABkx///rzf8AILYBAKr//wAA//8AKrYBAMDO4oor4v8AOrYBAAC+paUqKv8ARbYBABdj3t64h/8AVLYBAIBnoF+eoP8AY7YBAD///3//AP8Ac7YBABHa0tJpHv8AgrYBAAuv//9/UP8AjbYBAJqT7WSV7f8AobYBACEi///43P8Ar7YBAPbn3NwUPP8AvLYBAH///wD///8AxrYBAKr/iwAAi/8A1LYBAH//iwCLi/8A4rYBAB7vuLiGC/8A9bYBAAAAqampqf8AA7cBAFX/ZABkAP8AErcBAAAAqampqf8AILcBACduvb23a/8AL7cBANT/i4sAi/8AQLcBADqOa1VrL/8AVLcBABf///+MAP8AZLcBAMbAzJkyzP8AdLcBAAD/i4sAAP8AgbcBAAp56emWev8AkbcBAFU9vI+8j/8Ao7cBAK+Pi0g9i/8AtrcBAH9nTy9PT/8AybcBAH9nTy9PT/8A3LcBAID/0QDO0f8A77cBAMf/05QA0/8A/7cBAOjr//8Uk/8ADbgBAIr//wC///8AHrgBAAAAaWlpaf8AK7gBAAAAaWlpaf8AOLgBAJTh/x6Q//8ASLgBAADOsrIiIv8AV7gBABwP///68P8AaLgBAFXAiyKLIv8AebgBANT///8A//8AhrgBAAAA3Nzc3P8AlbgBAKoH//j4//8ApbgBACP////XAP8Ar7gBAB7Z2tqlIP8AvrgBAAAAgICAgP8AyLgBAFX/gACAAP8A07gBADvQ/63/L/8A5LgBAAAAgICAgP8A7rgBAFUP//D/8P8A/LgBAOmW//9ptP8ACbkBAACMzc1cXP8AGLkBAML/gksAgv8AJLkBACoP////8P8AL7kBACZq8PDmjP8AOrkBAKoU+ubm+v8ASLkBAPAP///w9f8AW7kBAED//Hz8AP8AarkBACYx///6zf8AfLkBAIk/5q3Y5v8Ai7kBAAB38PCAgP8Am7kBAH8f/+D///8AqrkBACoo+vr60v8AxLkBAAAA09PT0/8A07kBAFVk7pDukP8A47kBAAAA09PT0/8A8rkBAPhJ//+2wf8AAboBAAyE//+gev8AEroBAH3RsiCyqv8AJboBAI91+ofO+v8AN7oBAJQ4mXeImf8AS7oBAJQ4mXeImf8AX7oBAJc03rDE3v8Ac7oBACof////4P8AhLoBAFX//wD/AP8AjroBAFXAzTLNMv8AnboBABUU+vrw5v8AqLoBANT///8A//8AtboBAAD/gIAAAP8AwboBAHGAzWbNqv8A17oBAKr/zQAAzf8A57oBAMyY07pV0/8A+boBALd825Nw2/8AC7sBAGepszyzcf8AH7sBALCP7nto7v8ANLsBAG//+gD6mv8AS7sBAH2n0UjRzP8AYLsBAOTkx8cVhf8AdbsBAKrGcBkZcP8Ah7sBAGoJ//X/+v8AlrsBAAQe///k4f8ApbsBABpJ///ktf8As7sBABlR///erf8AxLsBAKr/gAAAgP8AzrsBABsX/f315v8A27sBACr/gICAAP8A5rsBADjAjmuOI/8A9bsBABv///+lAP8AAbwBAAv///9FAP8AELwBANZ72tpw1v8AHLwBACZI7u7oqv8AL7wBAFVk+5j7mP8APrwBAH9D7q/u7v8AUbwBAPF829twk/8AZLwBABop///v1f8AdLwBABRG///auf8Ag7wBABSwzc2FP/8AjbwBAPc////Ay/8Al7wBANRG3d2g3f8AobwBAIQ75rDg5v8AsbwBANT/gIAAgP8AvbwBAAD///8AAP8AxrwBAAA9vLyPj/8A1bwBAJ+14UFp4f8A5LwBABHci4tFE/8A9bwBAASK+vqAcv8AAb0BABOa9PSkYP8AEb0BAGeqiy6LV/8AH70BABEQ///17v8ALb0BAA23oKBSLf8AOb0BAAAAwMDAwP8ARb0BAIts64fO6/8AUr0BAK+PzWpazf8AYb0BAJQ4kHCAkP8AcL0BAJQ4kHCAkP8Af70BAAAF///6+v8Aib0BAGr//wD/f/8Amr0BAJKbtEaCtP8Aqb0BABhU0tK0jP8Asr0BAH//gACAgP8AvL0BANQd2Ni/2P8Ayb0BAAa4//9jR/8A1b0BAHu24EDg0P8A5L0BANRz7u6C7v8A8L0BABtE9fXes/8A+70BAAAA//////8ABr4BAAAA9fX19f8AFr4BACr/////AP8AIr4BADjAzZrNMv8AM74BAC1D/Pf8uf8APL4BAERb3a3djv8ARb4BAGKyozGjVP8ATr4BACoy////zP8AV74BAD5V5sLmmf8A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CQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/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aXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRl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bGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKAHJvdGF0aW9uACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAaW5mbwBjb21wAGNudCA9PSBzegBtaW5jcm9zcy5jAGZpeExhYmVsT3JkZXIAcmVtaW5jcm9zcwBtaW5jcm9zcyAlczogJWQgY3Jvc3NpbmdzLCAlLjJmIHNlY3MuCgB2AG5laWdoYm9yAChydiA9PSAwKSB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGNvbnN0cmFpbmluZ19mbGF0X2VkZ2UoZyx2LGUpID09IEZBTFNFAGZsYXRfcmVvcmRlcgBORF9yYW5rKHYpID09IHIAcG9zdG9yZGVyAGZsYXRpbmRleChhZ2hlYWQoZSkpIDwgTS0+bnJvd3MAZmxhdF9zZWFyY2gAZmxhdGluZGV4KGFndGFpbChlKSkgPCBNLT5uY29scwBvdXQAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQgZm9yIG5vZGUgJyVzJy4KAG1lcmdlMjogZ3JhcGggJXMsIHJhbmsgJWQgaGFzIG9ubHkgJWQgPCAlZCBub2RlcwoAbWluY3Jvc3M6IHBhc3MgJWQgaXRlciAlZCB0cnlpbmcgJWQgY3VyX2Nyb3NzICVkIGJlc3RfY3Jvc3MgJWQKAE5EX29yZGVyKHYpIDwgTkRfb3JkZXIodykAYmFsYW5jZQB0cmFuc3Bvc2Vfc3RlcABzdXJwcmlzZQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGluc3RhbGxfaW5fcmFuawBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiByYW5rICVkIG5vdCBpbiByYW5rIHJhbmdlIFslZCwlZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogR0RfcmFuayhnKVslZF0udiArIE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhnKVslZF0uYXYgKyBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBfbmV3X3JhbmsAbWNsaW1pdAByYW5rKGcsIDIsIG5zaXRlcjIoZykpID09IDAAcG9zaXRpb24uYwBkb3RfcG9zaXRpb24AQVI9JTAuNGxmCSBBcmVhPSAlMC40bGYJAER1bW15PSVkCgBHb2luZyB0byBhcHBseSBhbm90aGVyIGV4cGFuc2lvbi4KAG5leHQjaXRlcj0lZAoAaHAAY29ubmVjdEdyYXBoAEVkZ2UgbGVuZ3RoICVmIGxhcmdlciB0aGFuIG1heGltdW0gJXUgYWxsb3dlZC4KQ2hlY2sgZm9yIG92ZXJ3aWRlIG5vZGUocykuCgBuc2xpbWl0AGNvbnRhaW5fbm9kZXMgY2x1c3QgJXMgcmFuayAlZCBtaXNzaW5nIG5vZGUKAG5zbGltaXQxAG5ld3JhbmsATWF4cmFuayA9ICVkLCBtaW5yYW5rID0gJWQKAGxlYWRlciAhPSBOVUxMAHJhbmsuYwBjbHVzdGVyX2xlYWRlcgAoTkRfVUZfc2l6ZShuKSA8PSAxKSB8fCAobiA9PSBsZWFkZXIpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAbWlubWF4X2VkZ2VzAGFndGFpbChlKSA9PSBVRl9maW5kKGFndGFpbChlKSkAcmFuawBzYW1lAG1pbgBzb3VyY2UAbWF4AHNpbmsAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwBsZXZlbCBncmFwaCByZWMAf3Jvb3QAf3RvcAB/Ym90AGNvbXBhY3QAX3dlYWtfJWQAcmFua2luZzogZmFpbHVyZSB0byBjcmVhdGUgc3Ryb25nIGNvbnN0cmFpbnQgZWRnZSBiZXR3ZWVuIG5vZGVzICVzIGFuZCAlcwoAJXMgaGFzIHVucmVjb2duaXplZCByYW5rPSVzAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAHNhbWVoZWFkAHNhbWV0YWlsAHRvbyBtYW55ICg+ICVkKSBzYW1le2hlYWQsdGFpbH0gZ3JvdXBzIGZvciBub2RlICVzCgBjb21iaUFSID0gJWxmCgAlbGYsJWQAdGhlIGFzcGVjdCBhdHRyaWJ1dGUgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIGltcGxlbWVudGF0aW9uIGZsYXdzIC0gYXR0cmlidXRlIGlnbm9yZWQuCgBFRF90b192aXJ0KGUpID09IE5VTEwAY2xhc3MyLmMAbWVyZ2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSA9PSBOVUxMAG1ha2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSAhPSBOVUxMAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBjbHVzdGVyLmMAbWFwX3BhdGgAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAbGhlYWQAbHRhaWwAJXMgLT4gJXM6IHNwbGluZSBzaXplID4gMSBub3Qgc3VwcG9ydGVkCgAlcyAtPiAlczogaGVhZCBub3QgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgaXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAYmV6LT5zZmxhZwBjb21wb3VuZC5jAG1ha2VDb21wb3VuZEVkZ2UAYmV6LT5lZmxhZwAlcyAtPiAlczogdGFpbCBub3QgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgaXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAc2VnbWVudCBbJXMsJXNdIGRvZXMgbm90IGludGVyc2VjdCBib3ggbGw9JXMsdXI9JXMKAGJveEludGVyc2VjdGYAKCUuNWcsJS41ZykAY2x1c3RlciBuYW1lZCAlcyBub3QgZm91bmQKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAHJlYnVpbHRkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgBORF9pbihyaWdodCkuc2l6ZSArIE5EX291dChyaWdodCkuc2l6ZSA9PSAwAGNvbmMuYwBtZXJnZXZpcnR1YWwAZG90OiBPdXQgb2YgbWVtb3J5CgBORF9vdXQodikuc2l6ZSA9PSAyAGZsYXQuYwBzZXRib3VuZHMAR0RfbWlucmFuayhnKSA9PSAwAGFib21pbmF0aW9uAEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1p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a01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTAB0YXJnZXQAZWRnZXRhcmdldABsYWJlbHRhcmdldAB0YWlsdGFyZ2V0AGhlYWR0YXJnZXQAZWRnZXRvb2x0aXAAbGFiZWx0b29sdGlwAHRhaWx0b29sdGlwAGhlYWR0b29sdGlwAAFuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHRydW5jYXRpbmcgc3R5bGUgJyVzJwoAdW5tYXRjaGVkICcoJyBpbiBzdHlsZTogJXMKAGFsbABiZ2NvbG9yAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAbGFiZWwAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBncmFkaWVudGFuZ2xlAGZpbGxjb2xvcgBzdHlsZQBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHNpZGVzAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBmaXhlZHNpemUAbm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGlkAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAc2hhcGUAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAYm94AHBvbHlnb24Ab3ZhbABjaXJjbGUAcG9pbnQAZWdnAHRyaWFuZ2xlAHBsYWludGV4dABwbGFpbgBkaWFtb25kAHRyYXBleml1bQBwYXJhbGxlbG9ncmFtAGhvdXNlAHBlbnRhZ29uAGhleGFnb24Ac2VwdGFnb24Ab2N0YWdvbgBub3RlAHRhYgBmb2xkZXIAYm94M2QAY29tcG9uZW50AGN5bGluZGVyAHJlY3QAcmVjdGFuZ2xlAHNxdWFyZQBkb3VibGVjaXJjbGUAZG91Ymxlb2N0YWdvbgB0cmlwbGVvY3RhZ29uAGludnRyaWFuZ2xlAGludnRyYXBleml1bQBpbnZob3VzZQB1bmRlcmxpbmUATWRpYW1vbmQATXNxdWFyZQBNY2lyY2xlAHByb21vdGVyAGNkcwB0ZXJtaW5hdG9yAHV0cgBpbnN1bGF0b3IAcmlib3NpdGUAcm5hc3RhYgBwcm90ZWFzZXNpdGUAcHJvdGVpbnN0YWIAcHJpbWVyc2l0ZQByZXN0cmljdGlvbnNpdGUAZml2ZXBvdmVyaGFuZwB0aHJlZXBvdmVyaGFuZwBub3ZlcmhhbmcAYXNzZW1ibHkAc2lnbmF0dXJlAHJwcm9tb3RlcgBsYXJyb3cAcmFycm93AGxwcm9tb3RlcgByZWNvcmQATXJlY29yZABzdGFyACM4MDgwODAAI2ZjZmNmYwAjMzAzMDMwACNlOGU4ZTgAI2UwZTBlMAAjZjBmMGYwACMxMDEwMTAAI2Y4ZjhmOABpbiBub2RlICVzCgByb3VuZGVkAGRpYWdvbmFscwByYWRpYWwAc3RyaXBlZAB3ZWRnZWQAXwBub2RlICVzLCBwb3J0ICVzLCB1bnJlY29nbml6ZWQgY29tcGFzcyBwb2ludCAnJXMnIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcyB1bnJlY29nbml6ZWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBpbnZpcwAAZmlsbGVkAABzAGUAdwBzcGxpbmVzLmMAYmVnaW5wYXRoAFAtPmVuZC50aGV0YSA8IDIgKiBNX1BJAGVuZHBhdGgAbWFrZVNlbGZFZGdlAGdldHNwbGluZXBvaW50czogbm8gc3BsaW5lIHBvaW50cyBhdmFpbGFibGUgZm9yIGVkZ2UgKCVzLCVzKQoAcG9seWxpbmVNaWRwb2ludABzcGFuLT5mb250AHRleHRzcGFuLmMAdGV4dHNwYW5fc2l6ZQBmb250LT5uYW1lAGZvbnRuYW1lOiAiJXMiIHJlc29sdmVkIHRvOiAlcwoAZm9udG5hbWU6IHVuYWJsZSB0byByZXNvbHZlICIlcyIKAGNvdXIAYXJpYWwAaGVsdmV0aWNhAFtpbnRlcm5hbCB0aW1lc10AW2ludGVybmFsIGNvdXJpZXJdAFtpbnRlcm5hbCBhcmlhbF0AQXZhbnRHYXJkZS1Cb29rAFVSVyBHb3RoaWMgTABib29rAHNhbnMtU2VyaWYAQXZhbnRHYXJkZS1Cb29rT2JsaXF1ZQBvYmxpcXVlAGl0YWxpYwBBdmFudEdhcmRlLURlbWkAZGVtaQBBdmFudEdhcmRlLURlbWlPYmxpcXVlAEJvb2ttYW4tRGVtaQBVUlcgQm9va21hbiBMAHNlcmlmAEJvb2ttYW4tRGVtaUl0YWxpYwBCb29rbWFuLUxpZ2h0AGxpZ2h0AEJvb2ttYW4tTGlnaHRJdGFsaWMAQ291cmllcgBtb25vc3BhY2UAQ291cmllci1Cb2xkAENvdXJpZXItQm9sZE9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYQBIZWx2ZXRpY2EtQm9sZABIZWx2ZXRpY2EtQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdwBjb25kZW5zZWQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAEhlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAE5ld0NlbnR1cnlTY2hsYmstQm9sZABDZW50dXJ5IFNjaG9vbGJvb2sgTABOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMATmV3Q2VudHVyeVNjaGxiay1JdGFsaWMATmV3Q2VudHVyeVNjaGxiay1Sb21hbgByb21hbgBQYWxhdGluby1Cb2xkAFBhbGF0aW5vIExpbm90eXBlAFBhbGF0aW5vLUJvbGRJdGFsaWMAUGFsYXRpbm8tSXRhbGljAFBhbGF0aW5vLVJvbWFuAFN5bWJvbABmYW50YXN5AFRpbWVzLUJvbGQAVGltZXMAVGltZXMtQm9sZEl0YWxpYwBUaW1lcy1JdGFsaWMAWmFwZkNoYW5jZXJ5LU1lZGl1bUl0YWxpYwBVUlcgQ2hhbmNlcnkgTABtZWRpdW0AWmFwZkRpbmdiYXRzAERpbmdiYXRzAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAG1hcE4AQUVsaWcAQWFjdXRlAEFjaXJjAEFncmF2ZQBBbHBoYQBBcmluZwBBdGlsZGUAQXVtbABCZXRhAENjZWRpbABDaGkARGFnZ2VyAERlbHRhAEVUSABFYWN1dGUARWNpcmMARWdyYXZlAEVwc2lsb24ARXRhAEV1bWwAR2FtbWEASWFjdXRlAEljaXJjAElncmF2ZQBJb3RhAEl1bWwAS2FwcGEATGFtYmRhAE11AE50aWxkZQBOdQBPRWxpZwBPYWN1dGUAT2NpcmMAT2dyYXZlAE9tZWdhAE9taWNyb24AT3NsYXNoAE90aWxkZQBPdW1sAFBoaQBQaQBQcmltZQBQc2kAUmhvAFNjYXJvbgBTaWdtYQBUSE9STgBUYXUAVGhldGEAVWFjdXRlAFVjaXJjAFVncmF2ZQBVcHNpbG9uAFV1bWwAWGkAWWFjdXRlAFl1bWwAWmV0YQBhYWN1dGUAYWNpcmMAYWN1dGUAYWVsaWcAYWdyYXZlAGFsZWZzeW0AYWxwaGEAYW1wAGFuZABhbmcAYXJpbmcAYXN5bXAAYXRpbGRlAGF1bWwAYmRxdW8AYmV0YQBicnZiYXIAYnVsbABjYXAAY2NlZGlsAGNlZGlsAGNlbnQAY2hpAGNpcmMAY2x1YnMAY29uZwBjb3B5AGNyYXJyAGN1cABjdXJyZW4AZEFycgBkYWdnZXIAZGFycgBkZWcAZGVsdGEAZGlhbXMAZGl2aWRlAGVhY3V0ZQBlY2lyYwBlZ3JhdmUAZW1wdHkAZW1zcABlbnNwAGVwc2lsb24AZXF1aXYAZXRhAGV0aABldW1sAGV1cm8AZXhpc3QAZm5vZgBmb3JhbGwAZnJhYzEyAGZyYWMxNABmcmFjMzQAZnJhc2wAZ2FtbWEAZ2UAZ3QAaEFycgBoYXJyAGhlYXJ0cwBoZWxsaXAAaWFjdXRlAGljaXJjAGlleGNsAGlncmF2ZQBpbWFnZQBpbmZpbgBpbnQAaW90YQBpcXVlc3QAaXNpbgBpdW1sAGthcHBhAGxBcnIAbGFtYmRhAGxhbmcAbGFxdW8AbGFycgBsY2VpbABsZHF1bwBsZQBsZmxvb3IAbG93YXN0AGxvegBscm0AbHNhcXVvAGxzcXVvAGx0AG1hY3IAbWRhc2gAbWljcm8AbWlkZG90AG11AG5hYmxhAG5ic3AAbmRhc2gAbmUAbmkAbm90AG5vdGluAG5zdWIAbnRpbGRlAG51AG9hY3V0ZQBvY2lyYwBvZWxpZwBvZ3JhdmUAb2xpbmUAb21lZ2EAb21pY3JvbgBvcGx1cwBvcgBvcmRmAG9yZG0Ab3NsYXNoAG90aWxkZQBvdGltZXMAb3VtbABwYXJhAHBhcnQAcGVybWlsAHBlcnAAcGhpAHBpAHBpdgBwbHVzbW4AcG91bmQAcHJpbWUAcHJvZABwcm9wAHBzaQBxdW90AHJBcnIAcmFkaWMAcmFuZwByYXF1bwByYXJyAHJjZWlsAHJkcXVvAHJlYWwAcmVnAHJmbG9vcgByaG8AcmxtAHJzYXF1bwByc3F1bwBzYnF1bwBzY2Fyb24Ac2RvdABzZWN0AHNoeQBzaWdtYQBzaWdtYWYAc2ltAHNwYWRlcwBzdWIAc3ViZQBzdW0Ac3VwAHN1cDEAc3VwMgBzdXAzAHN1cGUAc3psaWcAdGF1AHRoZXJlNAB0aGV0YQB0aGV0YXN5bQB0aGluc3AAdGhvcm4AdGlsZGUAdGltZXMAdHJhZGUAdUFycgB1YWN1dGUAdWFycgB1Y2lyYwB1Z3JhdmUAdW1sAHVwc2loAHVwc2lsb24AdXVtbAB3ZWllcnAAeGkAeWFjdXRlAHllbgB5dW1sAHpldGEAendqAHp3bmoAVVRGOCBjb2RlcyA+IDQgYnl0ZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIChncmFwaCAlcykgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAEludmFsaWQgJWQtYnl0ZSBVVEY4IGZvdW5kIGluIGlucHV0IG9mIGdyYXBoICVzIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBiei5zaXplAG92ZXJsYXBfYmV6aWVyAHVydmVkAG9tcG91bmQAYWxzZQBpbmUAb25lAG8AcnRobwBvbHlsaW5lAHBsaW5lAHJ1ZQBlcwBVbmtub3duICJzcGxpbmVzIiB2YWx1ZTogIiVzIiAtIGlnbm9yZWQKAHNwbGluZXMAb2RiAE9ydGhvZ29uYWwgZWRnZXMgZG8gbm90IGN1cnJlbnRseSBoYW5kbGUgZWRnZSBsYWJlbHMuIFRyeSB1c2luZyB4bGFiZWxzLgoAb3J0aG8gJXMgJXMKAGNoYW5pAG9ydGhvLmMAY2hhblNlYXJjaABjcAAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoAJWQgJWQgdHJhbnNsYXRlCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAbmV3cGF0aCAlZCAlZCBtb3ZldG8KACVkICVkIGxpbmV0bwoAJWQgJWQgbGluZXRvIHN0cm9rZQoAY2hhbm5lbCAlZCAoJWYsJWYpCgAgLT4KACAgICAgACgoJWYsJWYpLCglZiwlZikpICVzICVzAEJfUklHSFQAQl9ET1dOAEJfTEVGVABCX1VQAEJfTk9ERQBzZWcAbmV4dF9zZWcAZGVjaWRlX3BvaW50AGluY29tcGFyYWJsZSBzZWdtZW50cyAhISAtLSBBYm9ydGluZwoAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAGlzX3BhcmFsbGVsAGdyYXBoIEcgewoAIG5vZGVbc2hhcGU9cG9pbnRdCgAgICVkIFtwb3M9IiVkLCVkIl0KACAgJWQgLS0gJWRbbGVuPSIlZiJdCgB9CgBjb2xvciAlcwAlcyBpcyBub3QgYSBrbm93biBjb2xvci4KAGVycm9yIGluIGNvbHhsYXRlKCkKAHNvbGlkAGludmlzaWJsZQBib2xkAHNldGxpbmV3aWR0aABmaWxsZWQAdW5maWxsZWQAdGFwZXJlZABndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAGd2cmVuZGVyLmMAZ3ZyZW5kZXJfdXNlcnNoYXBlAG5hbWUAbmFtZVswXQB3aWR0aABoZWlnaHQAYm90aABqb2IAZ3Zsb2FkaW1hZ2UuYwBndmxvYWRpbWFnZQB1cwB1cy0+bmFtZQB1cy0+bmFtZVswXQBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgBRAExlZnQAS1BfTGVmdABSaWdodABLUF9SaWdodABVcABLUF9VcABEb3duAEtQX0Rvd24AcGx1cwBLUF9BZGQAbWludXMAS1BfU3VidHJhY3QARgB0b29sdGlwAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AGhyZWYAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADEAMgAzADQANQA2ADcAOAA5ADEwADExADEyADEzADE0ADE1ADE2ADE3ADE4ADE5ADIwAEFnbm9kZWluZm9fdABBZ2VkZ2VpbmZvX3QAcm93ZwBjb2xnAEFncmFwaGluZm9fdAA8VEFCTEU+AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IAY29sb3IALT4ALS0AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpc3ludGF4IGVycm9yAG1lbW9yeSBleGhhdXN0ZWQAJXMgaW4gbGluZSAlZCAKAE5vdCBidWlsdCB3aXRoIGxpYmV4cGF0LiBUYWJsZSBmb3JtYXR0aW5nIGlzIG5vdCBhdmFpbGFibGUuCgByb3V0ZS5jAGxpYnBhdGgvJXM6JWQ6ICVzCgBzaG9ydGVzdC5jAHNvdXJjZSBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAY2Fubm90IGZpbmQgdHJpYW5nbGUgcGF0aABjYW5ub3QgbWFsbG9jIG9wcwBjYW5ub3QgcmVhbGxvYyBvcHMAdHJpYW5ndWxhdGlvbiBmYWlsZWQAY2Fubm90IG1hbGxvYyB0cmlzAGNhbm5vdCByZWFsbG9jIHRyaXMAY2Fubm90IG1hbGxvYyBkcS5wbmxzAGNhbm5vdCByZWFsbG9jIGRxLnBubHMAY2Fubm90IG1hbGxvYyBwbmxzAGNhbm5vdCBtYWxsb2MgcG5scHMAY2Fubm90IHJlYWxsb2MgcG5scwBjYW5ub3QgcmVhbGxvYyBwbmxwcwBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AABIQExQVFhcYGRobHB0eHyAhEBAiIxAkJSYnKCkqKxAsLS4RLzARETEREREyMzQ1Njc4OREQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOxA8PT4/QEEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQxAQRBBFRkcQSBBJEBAQEEpLTE0QEE4QT1AQEBAQURAQEBAQEBAQEBAQEBBSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBTEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVFVWVxAQWFkQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWhBbXF1eX2BhYhAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAD+/wD8AQAA+AEAAHgAAAAA//vf+wAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD8/+Cv/////////////9///////yBAsAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAD8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAACG/v///wBASQAAAAAAGADf/wDIAAAAAAAAAAEAPAAAAAAAAAAAAAAAABDgAR4AYP+/AAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAA+M8DAAAAAwAg/38AAABOAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAEAAgHgAwAAEAAAAAAAAAABAAIAAAAAD8DwAAAAAAAAAQACAAAAAAAAAAAAAAAAAAEAAgAAAAAAMAAAAAAAAAABAAIAAAAAD9AAAAAAAAAAAAACAAAAAA/wcAAAAAAAAAAAAgAAAAAAD/AAAAAAAAABAAIAAAAAAAAAAAAAAAAAAAACAAAAAAPwIAAAAAAAAAAAAEAAAAABAAAAAAAACAAIDA3wAMAAAAAAAAAAAAAAAAAB8AAAAAAAD+////APz//wAAAAAAAAAA/AAAAAAAAMD/3/8HAAAAAAAAAAAAAIAGAPwAABg+AACAvwDMAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABg////HwAA/wMAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABAAAYAAAAAAAAAAAAOAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAADAAAP5/LwAA/wP/fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOMQAAAAAAAAAAAAAAAAAAAAAAAMT/////AAAAwAAAAAAAAAAAAQDgnwAAAAB/PwAAAAAAAAAAAAAAAAAAAAAQABAAAPz///8fAAAAAAAMAAAAAAAAQAAM8AAAAAAAAMD4AAAAAAAAAMAAAAAAAAAAAP8A////IRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////38AAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAD4ADgAOAAYID4/////P//////fx/88X//fwAA////AwAA/////wEAewPQwa9CAAwfvP//AAAAAAAC//////////////////////////////////////////////////////////8PAP////9/AAAA/wcAAP////////////8/AAAAAAAA/P///v////////////////////////////////////////////////////8f/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADghwP+AAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAD//////3//DwAAAAAAAAAA////+/////////////8PAP//////////////////////////////////PwAAAP8PHv///wH8weAAAAAAAAAAAAAAAB4BAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAD/////DwAAAP///3////////////////////////////////////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAD///////9/AAAAAAAAwADgAAAAAAAAAAAAAACAD3AAAAAAAAAAAAAAAAAAAP8A//9/AAMAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAABECAAAAA//AwAAAAAAAPAAAAAAAAAAAAAQwAAA//8DBwAAAAAA+AAAAAAIgAAAAAAAAAAAAAAIAP8/AMAAAAAAAAAAAAAAAAAAAADwAACACwAAAAAAAACAAgAAwAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA/P8DAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw////A38A//////f/fw8AAAAAAAAAAAAAAAAAAAAAAID+/wD8AQAA+AEAAPg/AAAAAAAAAAAAAAAAAAAAf38AMIf//////4//AAAAAAAA4P//B/8PAAAAAAAA//////8/AAAAAA8AAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwI8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf/AP8BAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP/z/PwAAAAMAAAAAAAD+AwAAAAAAAAAAAAAAAAAYAA8AAAAAAAAAAAAAAAAAAADhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAP///////////////////////////////////////z8A/////3/+////////////////////////////PwAAAAD//////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////9/AP//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAgAACAAAAAgAACAAAAAgAAAAAIAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//////8P////////////////DwD/f/5//v/+/wAAAAD/B////3//////////D///////BwAAAAAAAAAAwP///wcA//////8H/wEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAv///////////H///DwD/////3wcAAP//AQD/////////f/3/////////////////////////////Hv////////8/DwD///8AAAAAAAAAAAAAAAAAAAAAAAD4///////////h/wAAAAAAAP//////////PwAAAAAAAAD//////////////////w8AAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAATENfQUxMAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBhbG51bQBhbHBoYQBibGFuawBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAQy5VVEYtOAAAAAAAAAAAAEMAL3Byb2Mvc2VsZi9mZC8AcndhAGluZmluaXR5AG5hbgAJAAoADQAMAAcAGwBbWzphbG51bTpdX10AW15bOmFsbnVtOl1fXQBbWzpzcGFjZTpdXQBbXls6c3BhY2U6XV0AW1s6ZGlnaXQ6XV0AW15bOmRpZ2l0Ol1dAC90bXAvdG1wZmlsZV9YWFhYWFgAdys=";var zA=X;function JA(A,e,i,r){di("Assertion failed: "+C(A)+", at: "+[e?C(e):"unknown filename",i,r?C(r):"unknown function"])}function PA(){di()}function RA(){return t||"undefined"!=typeof dateNow||(f||a)&&self.performance&&self.performance.now}X+=16;var HA={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function LA(e){return A.___errno_location&&(L[A.___errno_location()>>2]=e),e}function FA(A,e){var i;if(0===A)i=Date.now();else{if(1!==A||!RA())return LA(HA.EINVAL),-1;i=PA()}return L[e>>2]=i/1e3|0,L[e+4>>2]=i%1e3*1e3*1e3|0,0}function DA(){return FA.apply(null,arguments)}function XA(){}function xA(A,e){return LA(HA.EPERM),-1}var TA={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},UA={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,e){for(var i=0,r=A.length-1;r>=0;r--){var n=A[r];"."===n?A.splice(r,1):".."===n?(A.splice(r,1),i++):i&&(A.splice(r,1),i--)}if(e)for(;i;i--)A.unshift("..");return A},normalize:function(A){var e="/"===A.charAt(0),i="/"===A.substr(-1);return(A=UA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||e||(A="."),A&&i&&(A+="/"),(e?"/":"")+A},dirname:function(A){var e=UA.splitPath(A),i=e[0],r=e[1];return i||r?(r&&(r=r.substr(0,r.length-1)),i+r):"."},basename:function(A){if("/"===A)return"/";var e=A.lastIndexOf("/");return-1===e?A:A.substr(e+1)},extname:function(A){return UA.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return UA.normalize(A.join("/"))},join2:function(A,e){return UA.normalize(A+"/"+e)},resolve:function(){for(var A="",e=!1,i=arguments.length-1;i>=-1&&!e;i--){var r=i>=0?arguments[i]:qA.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";A=r+"/"+A,e="/"===r.charAt(0)}return(e?"/":"")+(A=UA.normalizeArray(A.split("/").filter((function(A){return!!A})),!e).join("/"))||"."},relative:function(A,e){function i(A){for(var e=0;e=0&&""===A[i];i--);return e>i?[]:A.slice(e,i-e+1)}A=UA.resolve(A).substr(1),e=UA.resolve(e).substr(1);for(var r=i(A.split("/")),n=i(e.split("/")),f=Math.min(r.length,n.length),a=f,t=0;t0?i.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;A.input=We(e,!0)}return A.input.shift()},put_char:function(e,i){null===i||10===i?(A.print(E(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.print(E(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,i){null===i||10===i?(A.printErr(E(e.output,0)),e.output=[]):0!=i&&e.output.push(i)},flush:function(e){e.output&&e.output.length>0&&(A.printErr(E(e.output,0)),e.output=[])}}},jA={ops_table:null,mount:function(A){return jA.createNode(null,"/",16895,0)},createNode:function(A,e,i,r){if(qA.isBlkdev(i)||qA.isFIFO(i))throw new qA.ErrnoError(HA.EPERM);jA.ops_table||(jA.ops_table={dir:{node:{getattr:jA.node_ops.getattr,setattr:jA.node_ops.setattr,lookup:jA.node_ops.lookup,mknod:jA.node_ops.mknod,rename:jA.node_ops.rename,unlink:jA.node_ops.unlink,rmdir:jA.node_ops.rmdir,readdir:jA.node_ops.readdir,symlink:jA.node_ops.symlink},stream:{llseek:jA.stream_ops.llseek}},file:{node:{getattr:jA.node_ops.getattr,setattr:jA.node_ops.setattr},stream:{llseek:jA.stream_ops.llseek,read:jA.stream_ops.read,write:jA.stream_ops.write,allocate:jA.stream_ops.allocate,mmap:jA.stream_ops.mmap,msync:jA.stream_ops.msync}},link:{node:{getattr:jA.node_ops.getattr,setattr:jA.node_ops.setattr,readlink:jA.node_ops.readlink},stream:{}},chrdev:{node:{getattr:jA.node_ops.getattr,setattr:jA.node_ops.setattr},stream:qA.chrdev_stream_ops}});var n=qA.createNode(A,e,i,r);return qA.isDir(n.mode)?(n.node_ops=jA.ops_table.dir.node,n.stream_ops=jA.ops_table.dir.stream,n.contents={}):qA.isFile(n.mode)?(n.node_ops=jA.ops_table.file.node,n.stream_ops=jA.ops_table.file.stream,n.usedBytes=0,n.contents=null):qA.isLink(n.mode)?(n.node_ops=jA.ops_table.link.node,n.stream_ops=jA.ops_table.link.stream):qA.isChrdev(n.mode)&&(n.node_ops=jA.ops_table.chrdev.node,n.stream_ops=jA.ops_table.chrdev.stream),n.timestamp=Date.now(),A&&(A.contents[e]=n),n},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var e=[],i=0;iA.contents.length&&(A.contents=jA.getFileDataAsRegularArray(A),A.usedBytes=A.contents.length),!A.contents||A.contents.subarray){var i=A.contents?A.contents.length:0;if(i>=e)return;e=Math.max(e,i*(i<1048576?2:1.125)|0),0!=i&&(e=Math.max(e,256));var r=A.contents;return A.contents=new Uint8Array(e),void(A.usedBytes>0&&A.contents.set(r.subarray(0,A.usedBytes),0))}for(!A.contents&&e>0&&(A.contents=[]);A.contents.lengthe)A.contents.length=e;else for(;A.contents.length=A.node.usedBytes)return 0;var a=Math.min(A.node.usedBytes-n,r);if(k(a>=0),a>8&&f.subarray)e.set(f.subarray(n,n+a),i);else for(var t=0;t0||n+ra.timestamp)&&(n.push(i),r++)}));var f=[];if(Object.keys(e.entries).forEach((function(i){e.entries[i],A.entries[i]||(f.push(i),r++)})),!r)return i(null);var a=0,t=("remote"===A.type?A.db:e.db).transaction([OA.DB_STORE_NAME],"readwrite"),l=t.objectStore(OA.DB_STORE_NAME);function c(A){return A?c.errored?void 0:(c.errored=!0,i(A)):++a>=r?i(null):void 0}t.onerror=function(A){c(this.error),A.preventDefault()},n.sort().forEach((function(A){"local"===e.type?OA.loadRemoteEntry(l,A,(function(e,i){if(e)return c(e);OA.storeLocalEntry(A,i,c)})):OA.loadLocalEntry(A,(function(e,i){if(e)return c(e);OA.storeRemoteEntry(l,A,i,c)}))})),f.sort().reverse().forEach((function(A){"local"===e.type?OA.removeLocalEntry(A,c):OA.removeRemoteEntry(l,A,c)}))}},KA={isWindows:!1,staticInit:function(){KA.isWindows=!!process.platform.match(/^win/);var A=process.binding("constants");A.fs&&(A=A.fs),KA.flagsForNodeMap={1024:A.O_APPEND,64:A.O_CREAT,128:A.O_EXCL,0:A.O_RDONLY,2:A.O_RDWR,4096:A.O_SYNC,512:A.O_TRUNC,1:A.O_WRONLY}},bufferFrom:function(A){return Buffer.alloc?Buffer.from(A):new Buffer(A)},mount:function(A){return k(t),KA.createNode(null,"/",KA.getMode(A.opts.root),0)},createNode:function(A,e,i,r){if(!qA.isDir(i)&&!qA.isFile(i)&&!qA.isLink(i))throw new qA.ErrnoError(HA.EINVAL);var n=qA.createNode(A,e,i);return n.node_ops=KA.node_ops,n.stream_ops=KA.stream_ops,n},getMode:function(A){var e;try{e=pe.lstatSync(A),KA.isWindows&&(e.mode=e.mode|(292&e.mode)>>2)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}return e.mode},realPath:function(A){for(var e=[];A.parent!==A;)e.push(A.name),A=A.parent;return e.push(A.mount.opts.root),e.reverse(),UA.join.apply(null,e)},flagsForNode:function(A){A&=-2097153,A&=-2049,A&=-32769,A&=-524289;var e=0;for(var i in KA.flagsForNodeMap)A&i&&(e|=KA.flagsForNodeMap[i],A^=i);if(A)throw new qA.ErrnoError(HA.EINVAL);return e},node_ops:{getattr:function(A){var e,i=KA.realPath(A);try{e=pe.lstatSync(i)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}return KA.isWindows&&!e.blksize&&(e.blksize=4096),KA.isWindows&&!e.blocks&&(e.blocks=(e.size+e.blksize-1)/e.blksize|0),{dev:e.dev,ino:e.ino,mode:e.mode,nlink:e.nlink,uid:e.uid,gid:e.gid,rdev:e.rdev,size:e.size,atime:e.atime,mtime:e.mtime,ctime:e.ctime,blksize:e.blksize,blocks:e.blocks}},setattr:function(A,e){var i=KA.realPath(A);try{if(void 0!==e.mode&&(pe.chmodSync(i,e.mode),A.mode=e.mode),void 0!==e.timestamp){var r=new Date(e.timestamp);pe.utimesSync(i,r,r)}void 0!==e.size&&pe.truncateSync(i,e.size)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},lookup:function(A,e){var i=UA.join2(KA.realPath(A),e),r=KA.getMode(i);return KA.createNode(A,e,r)},mknod:function(A,e,i,r){var n=KA.createNode(A,e,i,r),f=KA.realPath(n);try{qA.isDir(n.mode)?pe.mkdirSync(f,n.mode):pe.writeFileSync(f,"",{mode:n.mode})}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}return n},rename:function(A,e,i){var r=KA.realPath(A),n=UA.join2(KA.realPath(e),i);try{pe.renameSync(r,n)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},unlink:function(A,e){var i=UA.join2(KA.realPath(A),e);try{pe.unlinkSync(i)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},rmdir:function(A,e){var i=UA.join2(KA.realPath(A),e);try{pe.rmdirSync(i)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},readdir:function(A){var e=KA.realPath(A);try{return pe.readdirSync(e)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},symlink:function(A,e,i){var r=UA.join2(KA.realPath(A),e);try{pe.symlinkSync(i,r)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},readlink:function(A){var e=KA.realPath(A);try{return e=pe.readlinkSync(e),e=Ve.relative(Ve.resolve(A.mount.opts.root),e)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}}},stream_ops:{open:function(A){var e=KA.realPath(A.node);try{qA.isFile(A.node.mode)&&(A.nfd=pe.openSync(e,KA.flagsForNode(A.flags)))}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},close:function(A){try{qA.isFile(A.node.mode)&&A.nfd&&pe.closeSync(A.nfd)}catch(A){if(!A.code)throw A;throw new qA.ErrnoError(HA[A.code])}},read:function(A,e,i,r,n){if(0===r)return 0;try{return pe.readSync(A.nfd,KA.bufferFrom(e.buffer),i,r,n)}catch(A){throw new qA.ErrnoError(HA[A.code])}},write:function(A,e,i,r,n){try{return pe.writeSync(A.nfd,KA.bufferFrom(e.buffer),i,r,n)}catch(A){throw new qA.ErrnoError(HA[A.code])}},llseek:function(A,e,i){var r=e;if(1===i)r+=A.position;else if(2===i&&qA.isFile(A.node.mode))try{r+=pe.fstatSync(A.nfd).size}catch(A){throw new qA.ErrnoError(HA[A.code])}if(r<0)throw new qA.ErrnoError(HA.EINVAL);return r}}},_A={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(A){k(a),_A.reader||(_A.reader=new FileReaderSync);var e=_A.createNode(null,"/",_A.DIR_MODE,0),i={};function r(A){for(var r=A.split("/"),n=e,f=0;f=A.node.size)return 0;var f=A.node.contents.slice(n,n+r),a=_A.reader.readAsArrayBuffer(f);return e.set(new Uint8Array(a),i),f.size},write:function(A,e,i,r,n){throw new qA.ErrnoError(HA.EIO)},llseek:function(A,e,i){var r=e;if(1===i?r+=A.position:2===i&&qA.isFile(A.node.mode)&&(r+=A.node.size),r<0)throw new qA.ErrnoError(HA.EINVAL);return r}}};X+=16,X+=16,X+=16;var qA={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(A){if(!(A instanceof qA.ErrnoError))throw A+" : "+z();return LA(A.errno)},lookupPath:function(A,e){if(e=e||{},!(A=UA.resolve(qA.cwd(),A)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var r in i)void 0===e[r]&&(e[r]=i[r]);if(e.recurse_count>8)throw new qA.ErrnoError(HA.ELOOP);for(var n=UA.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),f=qA.root,a="/",t=0;t40)throw new qA.ErrnoError(HA.ELOOP)}}return{path:a,node:f}},getPath:function(A){for(var e;;){if(qA.isRoot(A)){var i=A.mount.mountpoint;return e?"/"!==i[i.length-1]?i+"/"+e:i+e:i}e=e?A.name+"/"+e:A.name,A=A.parent}},hashName:function(A,e){for(var i=0,r=0;r>>0)%qA.nameTable.length},hashAddNode:function(A){var e=qA.hashName(A.parent.id,A.name);A.name_next=qA.nameTable[e],qA.nameTable[e]=A},hashRemoveNode:function(A){var e=qA.hashName(A.parent.id,A.name);if(qA.nameTable[e]===A)qA.nameTable[e]=A.name_next;else for(var i=qA.nameTable[e];i;){if(i.name_next===A){i.name_next=A.name_next;break}i=i.name_next}},lookupNode:function(A,e){var i=qA.mayLookup(A);if(i)throw new qA.ErrnoError(i,A);for(var r=qA.hashName(A.id,e),n=qA.nameTable[r];n;n=n.name_next){var f=n.name;if(n.parent.id===A.id&&f===e)return n}return qA.lookup(A,e)},createNode:function(A,e,i,r){qA.FSNode||(qA.FSNode=function(A,e,i,r){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=qA.nextInode++,this.name=e,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=r},qA.FSNode.prototype={},Object.defineProperties(qA.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return qA.isDir(this.mode)}},isDevice:{get:function(){return qA.isChrdev(this.mode)}}}));var n=new qA.FSNode(A,e,i,r);return qA.hashAddNode(n),n},destroyNode:function(A){qA.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var e=qA.flagModes[A];if(void 0===e)throw new Error("Unknown file open mode: "+A);return e},flagsToPermissionString:function(A){var e=["r","w","rw"][3&A];return 512&A&&(e+="w"),e},nodePermissions:function(A,e){return qA.ignorePermissions||(-1===e.indexOf("r")||292&A.mode)&&(-1===e.indexOf("w")||146&A.mode)&&(-1===e.indexOf("x")||73&A.mode)?0:HA.EACCES},mayLookup:function(A){return qA.nodePermissions(A,"x")||(A.node_ops.lookup?0:HA.EACCES)},mayCreate:function(A,e){try{return qA.lookupNode(A,e),HA.EEXIST}catch(A){}return qA.nodePermissions(A,"wx")},mayDelete:function(A,e,i){var r;try{r=qA.lookupNode(A,e)}catch(A){return A.errno}var n=qA.nodePermissions(A,"wx");if(n)return n;if(i){if(!qA.isDir(r.mode))return HA.ENOTDIR;if(qA.isRoot(r)||qA.getPath(r)===qA.cwd())return HA.EBUSY}else if(qA.isDir(r.mode))return HA.EISDIR;return 0},mayOpen:function(A,e){return A?qA.isLink(A.mode)?HA.ELOOP:qA.isDir(A.mode)&&("r"!==qA.flagsToPermissionString(e)||512&e)?HA.EISDIR:qA.nodePermissions(A,qA.flagsToPermissionString(e)):HA.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(A,e){A=A||0,e=e||qA.MAX_OPEN_FDS;for(var i=A;i<=e;i++)if(!qA.streams[i])return i;throw new qA.ErrnoError(HA.EMFILE)},getStream:function(A){return qA.streams[A]},createStream:function(A,e,i){qA.FSStream||(qA.FSStream=function(){},qA.FSStream.prototype={},Object.defineProperties(qA.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new qA.FSStream;for(var n in A)r[n]=A[n];A=r;var f=qA.nextfd(e,i);return A.fd=f,qA.streams[f]=A,A},closeStream:function(A){qA.streams[A]=null},chrdev_stream_ops:{open:function(A){var e=qA.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new qA.ErrnoError(HA.ESPIPE)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,e){return A<<8|e},registerDevice:function(A,e){qA.devices[A]={stream_ops:e}},getDevice:function(A){return qA.devices[A]},getMounts:function(A){for(var e=[],i=[A];i.length;){var r=i.pop();e.push(r),i.push.apply(i,r.mounts)}return e},syncfs:function(A,e){"function"==typeof A&&(e=A,A=!1),qA.syncFSRequests++,qA.syncFSRequests>1&&console.log("warning: "+qA.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var i=qA.getMounts(qA.root.mount),r=0;function n(A){return k(qA.syncFSRequests>0),qA.syncFSRequests--,e(A)}function f(A){if(A)return f.errored?void 0:(f.errored=!0,n(A));++r>=i.length&&n(null)}i.forEach((function(e){if(!e.type.syncfs)return f(null);e.type.syncfs(e,A,f)}))},mount:function(A,e,i){var r,n="/"===i,f=!i;if(n&&qA.root)throw new qA.ErrnoError(HA.EBUSY);if(!n&&!f){var a=qA.lookupPath(i,{follow_mount:!1});if(i=a.path,r=a.node,qA.isMountpoint(r))throw new qA.ErrnoError(HA.EBUSY);if(!qA.isDir(r.mode))throw new qA.ErrnoError(HA.ENOTDIR)}var t={type:A,opts:e,mountpoint:i,mounts:[]},l=A.mount(t);return l.mount=t,t.root=l,n?qA.root=l:r&&(r.mounted=t,r.mount&&r.mount.mounts.push(t)),l},unmount:function(A){var e=qA.lookupPath(A,{follow_mount:!1});if(!qA.isMountpoint(e.node))throw new qA.ErrnoError(HA.EINVAL);var i=e.node,r=i.mounted,n=qA.getMounts(r);Object.keys(qA.nameTable).forEach((function(A){for(var e=qA.nameTable[A];e;){var i=e.name_next;-1!==n.indexOf(e.mount)&&qA.destroyNode(e),e=i}})),i.mounted=null;var f=i.mount.mounts.indexOf(r);k(-1!==f),i.mount.mounts.splice(f,1)},lookup:function(A,e){return A.node_ops.lookup(A,e)},mknod:function(A,e,i){var r=qA.lookupPath(A,{parent:!0}).node,n=UA.basename(A);if(!n||"."===n||".."===n)throw new qA.ErrnoError(HA.EINVAL);var f=qA.mayCreate(r,n);if(f)throw new qA.ErrnoError(f);if(!r.node_ops.mknod)throw new qA.ErrnoError(HA.EPERM);return r.node_ops.mknod(r,n,e,i)},create:function(A,e){return e=void 0!==e?e:438,e&=4095,e|=32768,qA.mknod(A,e,0)},mkdir:function(A,e){return e=void 0!==e?e:511,e&=1023,e|=16384,qA.mknod(A,e,0)},mkdirTree:function(A,e){for(var i=A.split("/"),r="",n=0;nthis.length-1||A<0)){var e=A%this.chunkSize,i=A/this.chunkSize|0;return this.getter(i)[e]}},f.prototype.setDataGetter=function(A){this.getter=A},f.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",i,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+i+". Status: "+A.status);var e,r=Number(A.getResponseHeader("Content-length")),n=(e=A.getResponseHeader("Accept-Ranges"))&&"bytes"===e,f=(e=A.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=r);var t=this;t.setDataGetter((function(A){var e=A*a,n=(A+1)*a-1;if(n=Math.min(n,r-1),void 0===t.chunks[A]&&(t.chunks[A]=function(A,e){if(A>e)throw new Error("invalid range ("+A+", "+e+") or no bytes requested!");if(e>r-1)throw new Error("only "+r+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",i,!1),r!==a&&n.setRequestHeader("Range","bytes="+A+"-"+e),"undefined"!=typeof Uint8Array&&(n.responseType="arraybuffer"),n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+i+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):We(n.responseText||"",!0)}(e,n)),void 0===t.chunks[A])throw new Error("doXHR failed!");return t.chunks[A]})),!f&&r||(a=r=1,r=this.getter(0).length,a=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!a)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var t=new f;Object.defineProperties(t,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:t}}else l={isDevice:!1,url:i};var c=qA.createFile(A,e,l,r,n);l.contents?c.contents=l.contents:l.url&&(c.contents=null,c.url=l.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var o={};return Object.keys(c.stream_ops).forEach((function(A){var e=c.stream_ops[A];o[A]=function(){if(!qA.forceLoadFile(c))throw new qA.ErrnoError(HA.EIO);return e.apply(null,arguments)}})),o.read=function(A,e,i,r,n){if(!qA.forceLoadFile(c))throw new qA.ErrnoError(HA.EIO);var f=A.node.contents;if(n>=f.length)return 0;var a=Math.min(f.length-n,r);if(k(a>=0),f.slice)for(var t=0;t>2]=r.dev,L[i+4>>2]=0,L[i+8>>2]=r.ino,L[i+12>>2]=r.mode,L[i+16>>2]=r.nlink,L[i+20>>2]=r.uid,L[i+24>>2]=r.gid,L[i+28>>2]=r.rdev,L[i+32>>2]=0,L[i+36>>2]=r.size,L[i+40>>2]=4096,L[i+44>>2]=r.blocks,L[i+48>>2]=r.atime.getTime()/1e3|0,L[i+52>>2]=0,L[i+56>>2]=r.mtime.getTime()/1e3|0,L[i+60>>2]=0,L[i+64>>2]=r.ctime.getTime()/1e3|0,L[i+68>>2]=0,L[i+72>>2]=r.ino,0},doMsync:function(A,e,i,r){var n=new Uint8Array(R.subarray(A,A+i));qA.msync(e,n,0,i,r)},doMkdir:function(A,e){return"/"===(A=UA.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),qA.mkdir(A,e,0),0},doMknod:function(A,e,i){switch(61440&e){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-HA.EINVAL}return qA.mknod(A,e,i),0},doReadlink:function(A,e,i){if(i<=0)return-HA.EINVAL;var r=qA.readlink(A),n=Math.min(i,p(r)),f=P[e+n];return Y(r,e,i+1),P[e+n]=f,n},doAccess:function(A,e){if(-8&e)return-HA.EINVAL;var i;i=qA.lookupPath(A,{follow:!0}).node;var r="";return 4&e&&(r+="r"),2&e&&(r+="w"),1&e&&(r+="x"),r&&qA.nodePermissions(i,r)?-HA.EACCES:0},doDup:function(A,e,i){var r=qA.getStream(i);return r&&qA.close(r),qA.open(A,e,0,i,i).fd},doReadv:function(A,e,i,r){for(var n=0,f=0;f>2],t=L[e+(8*f+4)>>2],l=qA.read(A,P,a,t,r);if(l<0)return-1;if(n+=l,l>2],t=L[e+(8*f+4)>>2],l=qA.write(A,P,a,t,r);if(l<0)return-1;n+=l}return n},varargs:0,get:function(A){return $A.varargs+=4,L[$A.varargs-4>>2]},getStr:function(){return C($A.get())},getStreamFromFD:function(){var A=qA.getStream($A.get());if(!A)throw new qA.ErrnoError(HA.EBADF);return A},getSocketFromFD:function(){var A=SOCKFS.getSocket($A.get());if(!A)throw new qA.ErrnoError(HA.EBADF);return A},getSocketAddress:function(A){var e=$A.get(),i=$A.get();if(A&&0===e)return null;var r=__read_sockaddr(e,i);if(r.errno)throw new qA.ErrnoError(r.errno);return r.addr=DNS.lookup_addr(r.addr)||r.addr,r},get64:function(){var A=$A.get(),e=$A.get();return k(A>=0?0===e:-1===e),A},getZero:function(){k(0===$A.get())}};function Ae(A,e){$A.varargs=e;try{var i=$A.getStr();return qA.unlink(i),0}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ee(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD(),r=($A.get(),$A.get()),n=$A.get(),f=$A.get(),a=r;return qA.llseek(i,a,f),L[n>>2]=i.position,i.getdents&&0===a&&0===f&&(i.getdents=null),0}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ie(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD(),r=$A.get(),n=$A.get();return $A.doReadv(i,r,n)}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function re(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD(),r=$A.get(),n=$A.get();return $A.doWritev(i,r,n)}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ne(A,e){$A.varargs=e;try{var i,r=$A.get(),n=$A.get(),f=$A.get(),a=$A.get(),t=$A.get(),l=$A.get();l<<=12;var c=!1;if(-1===t){if(!(i=ai(K,n)))return-HA.ENOMEM;ti(i,0,n),c=!0}else{var o=qA.getStream(t);if(!o)return-HA.EBADF;var s=qA.mmap(o,R,r,n,l,f,a);i=s.ptr,c=s.allocated}return $A.mappings[i]={malloc:i,len:n,allocated:c,fd:t,flags:a},i}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function fe(A,e){$A.varargs=e;try{var i=$A.getStr(),r=$A.get();return $A.doStat(qA.stat,i,r)}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ae(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD(),r=$A.get();return $A.doStat(qA.stat,i.path,r)}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function te(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD();switch($A.get()){case 0:return(r=$A.get())<0?-HA.EINVAL:qA.open(i.path,i.flags,0,r).fd;case 1:case 2:return 0;case 3:return i.flags;case 4:var r=$A.get();return i.flags|=r,0;case 12:case 12:return r=$A.get(),H[r+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-HA.EINVAL;case 9:return LA(HA.EINVAL),-1;default:return-HA.EINVAL}}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function le(A,e){$A.varargs=e;try{var i=$A.getStr(),r=$A.get();return $A.doAccess(i,r)}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ce(A,e){$A.varargs=e;try{var i=$A.getStr(),r=$A.get(),n=$A.get();return qA.open(i,r,n).fd}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function oe(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD(),r=$A.get();switch(r){case 21509:case 21505:return i.tty?0:-HA.ENOTTY;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-HA.ENOTTY;case 21519:if(!i.tty)return-HA.ENOTTY;var n=$A.get();return L[n>>2]=0,0;case 21520:return i.tty?-HA.EINVAL:-HA.ENOTTY;case 21531:return n=$A.get(),qA.ioctl(i,r,n);case 21523:return i.tty?0:-HA.ENOTTY;default:di("bad ioctl syscall "+r)}}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function se(A,e){$A.varargs=e;try{var i=$A.getStreamFromFD();return qA.close(i),0}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}function ue(A,e){$A.varargs=e;try{var i=$A.get(),r=$A.get(),n=$A.mappings[i];if(!n)return 0;if(r===n.len){var f=qA.getStream(n.fd);$A.doMsync(i,f,r,n.flags),qA.munmap(f),$A.mappings[i]=null,n.allocated&&ni(n.malloc)}return 0}catch(A){return void 0!==qA&&A instanceof qA.ErrnoError||di(A),-A.errno}}var be=I([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",Z);function ve(){}function Be(e){A.exit(e)}function ke(A){Be(A)}var we=X;function he(e){var i,r;he.called?(r=L[we>>2],i=L[r>>2]):(he.called=!0,de.USER=de.LOGNAME="web_user",de.PATH="/",de.PWD="/",de.HOME="/home/web_user",de.LANG="C.UTF-8",de._=A.thisProgram,i=o(1024),r=o(256),L[r>>2]=i,L[we>>2]=r);var n=[],f=0;for(var a in e)if("string"==typeof e[a]){var t=a+"="+e[a];n.push(t),f+=t.length}if(f>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var l=0;l>2]=i,i+=t.length+1;L[r+4*n.length>>2]=0}X+=16;var de={};function ge(A){return 0===A?0:(A=C(A),de.hasOwnProperty(A)?(ge.ret&&ni(ge.ret),ge.ret=V(de[A]),ge.ret):0)}var me=mA,Ze=dA,Ge=ZA,Ie=GA,Ce=gA;function Me(){di("trap!")}function Ee(e,i){throw A.setThrew(e,i||1),"longjmp"}function Qe(A,e,i){return R.set(R.subarray(e,e+i),A),A}function ye(A,e,i){if(0===A)return LA(HA.EINVAL),-1;var r=C(A),n=C(e);return""===r||-1!==r.indexOf("=")?(LA(HA.EINVAL),-1):(de.hasOwnProperty(r)&&!i||(de[r]=n,he(de)),0)}function Ye(A){return 0!==A&&ti(A,0,16),0}if(PA=t?function(){var A=process.hrtime();return 1e3*A[0]+A[1]/1e6}:"undefined"!=typeof dateNow?dateNow:"object"==typeof self&&self.performance&&"function"==typeof self.performance.now?function(){return self.performance.now()}:"object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:Date.now,qA.staticInit(),fA.unshift((function(){A.noFSInit||qA.init.initialized||qA.init()})),aA.push((function(){qA.ignorePermissions=!1})),tA.push((function(){qA.quit()})),fA.unshift((function(){SA.init()})),tA.push((function(){SA.shutdown()})),t){var pe=require("fs"),Ve=require("path");KA.staticInit()}he(de),O=o(4),T=U=u(X),j=u(S=T+AA),L[O>>2]=j,x=!0;var Ne=!1;function We(A,e,i){var r=i>0?i:p(A)+1,n=new Array(r),f=y(A,n,0,n.length);return e&&(n.length=f),n}function ze(A){for(var e=[],i=0;i255&&(Ne&&k(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+i+" not in 0x00-0xFF."),r&=255),e.push(String.fromCharCode(r))}return e.join("")}var Je="function"==typeof atob?atob:function(A){var e,i,r,n,f,a,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l="",c=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=t.indexOf(A.charAt(c++))<<2|(n=t.indexOf(A.charAt(c++)))>>4,i=(15&n)<<4|(f=t.indexOf(A.charAt(c++)))>>2,r=(3&f)<<6|(a=t.indexOf(A.charAt(c++))),l+=String.fromCharCode(e),64!==f&&(l+=String.fromCharCode(i)),64!==a&&(l+=String.fromCharCode(r))}while(c>2]=0;t=Ic()|0;yc(t,10904);yc(t,17148);Gy(1)|0;Zy(16)|0;QV(1);while(1){A=Bp(A)|0;r=f[n>>2]|0;if(!A)break;if(!r){Cc(t,A,i)|0;Qc(t,A,e,n,a)|0;ml(t,A)|0}JY(A)|0;A=174185}v=l;return r|0}function ue(A){A=A|0;var e=0,i=0,r=0,a=0;a=v;v=v+16|0;e=a+4|0;i=a;r=f[(f[A+16>>2]|0)+8>>2]|0;A=A+64|0;switch(f[A>>2]|0){case 0:{zm(r);break}case 1:{if(n[(f[r+16>>2]|0)+136>>1]&1)EC(r);break}case 4:case 5:case 6:{Vm(r,i,e);Be(r,f[i>>2]|0,f[e>>2]|0,f[A>>2]|0);break}default:{}}v=a;return}function be(A){A=A|0;var e=0,i=0,r=0,n=0;i=f[(f[A+16>>2]|0)+8>>2]|0;if(!(f[41841]|0)){f[41841]=f[4442];f[41842]=9;f[41843]=17}r=i+64|0;n=(f[r>>2]|0)+8|0;e=f[n>>2]|0;f[n>>2]=167364;switch(f[A+64>>2]|0){case 2:{Gv(A,i,A,0);break}case 3:{Gv(A,i,A,1);break}case 1:case 0:{if(!(f[A+152>>2]&134217728))ZN(i,A)|0;break}case 6:case 5:case 4:{ve(i);if(!(f[A+152>>2]&134217728))ZN(i,A)|0;break}default:{}}f[(f[r>>2]|0)+8>>2]=e;return}function ve(A){A=A|0;var e=0,i=0;e=f[41845]|0;if((e|0)!=(f[41844]|0)){i=f[f[41876]>>2]|0;if(!i){i=NC(A,0,84827,174185)|0;f[f[41876]>>2]=i;e=f[41845]|0}if(e>>>0>=(f[41846]|0)>>>0){yy(167376,1)|0;e=f[41845]|0}r[e>>0]=0;e=f[41844]|0;f[41845]=e;AY(A,i,e)|0}if(f[(f[A+16>>2]|0)+12>>2]|0){i=f[(f[41876]|0)+4>>2]|0;e=f[41861]|0;if(e>>>0>=(f[41862]|0)>>>0){yy(167440,1)|0;e=f[41861]|0}r[e>>0]=0;e=f[41860]|0;f[41861]=e;AY(A,i,e)|0}cY(A,59577,f[(f[41876]|0)+8236>>2]|0,174185)|0;e=0;while(1){if((e|0)==8)break;Vy(167376+(e<<4)|0);e=e+1|0}HW(f[41876]|0);o[1]=1.0;o[5]=1.0;f[41877]=0;f[41881]=0;return}function Be(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var t=0,l=0,c=0;l=RW(8240)|0;f[41876]=l;A:do{switch(a|0){case 6:{n[l+8232>>1]=14;a=59593;break}case 5:{n[l+8232>>1]=12;a=59597;break}default:{a=aY(A,59577)|0;if((a|0?r[a>>0]|0:0)?(t=ke(a)|0,(t&65535)>10):0){l=f[41876]|0;n[l+8232>>1]=t;break A}a=ke(59589)|0;l=f[41876]|0;n[l+8232>>1]=a;a=59589}}}while(0);f[l+8236>>2]=a;c=A+16|0;a=f[c>>2]|0;if(!(f[a+180>>2]|0))t=0;else{t=NC(A,0,84827,174185)|0;l=f[41876]|0;a=f[c>>2]|0}f[l>>2]=t;if(!(r[a+113>>0]&8))a=0;else a=NC(A,0,59601,174185)|0;f[(f[41876]|0)+4>>2]=a;l=NC(A,1,84827,174185)|0;f[(f[41876]|0)+8>>2]=l;l=NC(A,1,59601,174185)|0;f[(f[41876]|0)+12>>2]=l;l=NC(A,2,84827,174185)|0;a=f[41876]|0;f[a+16>>2]=l;if(!i)t=0;else{t=NC(A,2,59609,174185)|0;a=f[41876]|0}f[a+20>>2]=t;if(!e)t=0;else{t=NC(A,2,59617,174185)|0;a=f[41876]|0}f[a+24>>2]=t;t=r[(f[c>>2]|0)+113>>0]|0;if(!(t&33))l=0;else{l=NC(A,2,59601,174185)|0;a=f[41876]|0;t=r[(f[c>>2]|0)+113>>0]|0}f[a+28>>2]=l;if(!(t&2))l=0;else{l=NC(A,2,59625,174185)|0;a=f[41876]|0;t=r[(f[c>>2]|0)+113>>0]|0}f[a+32>>2]=l;if(!(t&4))t=0;else{t=NC(A,2,59634,174185)|0;a=f[41876]|0}f[a+36>>2]=t;a=0;while(1){if((a|0)==8)break;Qy(167376+(a<<4)|0,1024,(f[41876]|0)+40+(a<<10)|0);a=a+1|0}return}function ke(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+1040|0;t=c;a=c+8|0;n=0;e=A;A:while(1){do{i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A}while(((i<<24>>24)+-48|0)>>>0>=10);if((n|0)>=1023){l=7;break}r[a+n>>0]=i;n=n+1|0}if((l|0)==7){f[t>>2]=A;Iy(0,59643,t)|0}r[a+n>>0]=0;l=(nR(a)|0)&65535;v=c;return l|0}function we(A){A=A|0;var e=0,i=0;i=f[(f[A+16>>2]|0)+8>>2]|0;e=f[f[41876]>>2]|0;A=f[41849]|0;if(A>>>0>=(f[41850]|0)>>>0){yy(167392,1)|0;A=f[41849]|0}r[A>>0]=0;A=f[41848]|0;f[41849]=A;AY(i,e,A)|0;if(f[(f[i+16>>2]|0)+12>>2]|0){e=f[(f[41876]|0)+4>>2]|0;A=f[41865]|0;if(A>>>0>=(f[41866]|0)>>>0){yy(167456,1)|0;A=f[41865]|0}r[A>>0]=0;A=f[41864]|0;f[41865]=A;AY(i,e,A)|0}o[2]=1.0;o[6]=1.0;f[41878]=0;f[41882]=0;return}function he(A){A=A|0;var e=0,i=0;i=f[(f[A+16>>2]|0)+8>>2]|0;A=f[41849]|0;if((f[41848]|0)!=(A|0)){e=f[(f[41876]|0)+8>>2]|0;if(A>>>0>=(f[41850]|0)>>>0){yy(167392,1)|0;A=f[41849]|0}r[A>>0]=0;A=f[41848]|0;f[41849]=A;AY(i,e,A)|0}A=f[41865]|0;if((f[41864]|0)!=(A|0)){e=f[(f[41876]|0)+12>>2]|0;if(A>>>0>=(f[41866]|0)>>>0){yy(167456,1)|0;A=f[41865]|0}r[A>>0]=0;A=f[41864]|0;f[41865]=A;AY(i,e,A)|0}o[9]=1.0;o[11]=1.0;f[41885]=0;f[41887]=0;return}function de(A){A=A|0;var e=0,i=0;i=f[(f[A+16>>2]|0)+8>>2]|0;A=f[41849]|0;if((f[41848]|0)!=(A|0)){e=f[(f[41876]|0)+16>>2]|0;if(A>>>0>=(f[41850]|0)>>>0){yy(167392,1)|0;A=f[41849]|0}r[A>>0]=0;A=f[41848]|0;f[41849]=A;AY(i,e,A)|0}A=f[41853]|0;if((f[41852]|0)!=(A|0)){e=f[(f[41876]|0)+24>>2]|0;if(A>>>0>=(f[41854]|0)>>>0){yy(167408,1)|0;A=f[41853]|0}r[A>>0]=0;A=f[41852]|0;f[41853]=A;AY(i,e,A)|0}A=f[41857]|0;if((f[41856]|0)!=(A|0)){e=f[(f[41876]|0)+20>>2]|0;if(A>>>0>=(f[41858]|0)>>>0){yy(167424,1)|0;A=f[41857]|0}r[A>>0]=0;A=f[41856]|0;f[41857]=A;AY(i,e,A)|0}A=f[41865]|0;if((f[41864]|0)!=(A|0)){e=f[(f[41876]|0)+28>>2]|0;if(A>>>0>=(f[41866]|0)>>>0){yy(167456,1)|0;A=f[41865]|0}r[A>>0]=0;A=f[41864]|0;f[41865]=A;AY(i,e,A)|0}A=f[41869]|0;if((f[41868]|0)!=(A|0)){e=f[(f[41876]|0)+36>>2]|0;if(A>>>0>=(f[41870]|0)>>>0){yy(167472,1)|0;A=f[41869]|0}r[A>>0]=0;A=f[41868]|0;f[41869]=A;AY(i,e,A)|0}A=f[41873]|0;if((f[41872]|0)!=(A|0)){e=f[(f[41876]|0)+32>>2]|0;if(A>>>0>=(f[41874]|0)>>>0){yy(167488,1)|0;A=f[41873]|0}r[A>>0]=0;A=f[41872]|0;f[41873]=A;AY(i,e,A)|0}o[10]=1.0;o[12]=1.0;o[3]=1.0;o[4]=1.0;o[7]=1.0;o[8]=1.0;f[41886]=0;f[41888]=0;f[41879]=0;f[41880]=0;f[41883]=0;f[41884]=0;return}function ge(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+1056|0;l=d+16|0;h=d+8|0;w=d;c=d+32|0;b=f[(f[A+16>>2]|0)+12>>2]|0;B=f[11344+(b<<2)>>2]|0;py(B,59746)|0;a=i+4|0;ye(c,+o[(f[a>>2]|0)+16>>3]);py(B,c)|0;Ve(A,174185,f[f[a>>2]>>2]|0);Me(A);k=r[i+48>>0]|0;k=k<<24>>24==108?-1:k<<24>>24==114&1;a=f[a>>2]|0;if(!a)a=0;else a=f[a+24>>2]&127;t=n[(f[41876]|0)+8232>>1]|0;if((t&65535)>14?(s=f[11392+((t&65535)+-15<<2)>>2]&a,u=167508+(b<<2)|0,(f[u>>2]|0)!=(s|0)):0){f[w>>2]=s;iP(c,59749,w)|0;py(B,c)|0;f[u>>2]=s}w=e+8|0;o[w>>3]=+o[w>>3]+ +o[i+24>>3];py(B,59755)|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];Qe(B,l);f[h>>2]=k;iP(c,87254,h)|0;py(B,c)|0;ye(c,+o[i+32>>3]);py(B,c)|0;Ve(A,174185,f[i>>2]|0);v=d;return}function me(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;t=v;v=v+1040|0;n=t;a=t+16|0;r=f[(f[A+16>>2]|0)+12>>2]|0;Ce(A);Me(A);if(!i){A=f[11344+(r<<2)>>2]|0;py(A,59743)|0}else{if((i|1|0)==3)We(A,i,e,2);else ze(A);A=f[11344+(r<<2)>>2]|0;py(A,59740)|0}f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];Qe(A,n);ye(a,+o[e+16>>3]-+o[e>>3]);py(A,a)|0;ye(a,+o[e+24>>3]-+o[e+8>>3]);py(A,a)|0;v=t;return}function Ze(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;Ce(A);Me(A);if(!r)Ee(A,112,e,i);else{if((r|1|0)==3)We(A,r,e,i);else ze(A);Ee(A,80,e,i)}return}function Ge(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;Ce(A);Me(A);if(!f)Ee(A,66,e,i);else{if((f|1|0)==3)We(A,f,e,i);else ze(A);Ee(A,98,e,i)}return}function Ie(A,e,i){A=A|0;e=e|0;i=i|0;Ce(A);Me(A);Ee(A,76,e,i);return}function Ce(A){A=A|0;var e=0,i=0,n=0,a=0.0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+1184|0;t=u;n=u+24|0;s=u+8|0;Qy(s,1024,u+152|0);l=A+16|0;e=f[l>>2]|0;a=+o[e+152>>3];i=8+(f[e+12>>2]<<3)|0;if(a!=+o[i>>3]){o[i>>3]=a;py(s,59706)|0;o[t>>3]=+o[(f[l>>2]|0)+152>>3];iP(n,59720,t)|0;Ye(n,0);py(s,n)|0;n=s+4|0;e=f[n>>2]|0;i=s+8|0;if(e>>>0>=(f[i>>2]|0)>>>0){yy(s,1)|0;e=f[n>>2]|0}f[n>>2]=e+1;r[e>>0]=41;e=f[n>>2]|0;if(e>>>0>=(f[i>>2]|0)>>>0){yy(s,1)|0;e=f[n>>2]|0}r[e>>0]=0;e=f[s>>2]|0;f[n>>2]=e;Ve(A,59725,e);e=f[l>>2]|0}e=f[e+160>>2]|0;if(e|0){l=s+4|0;c=s+8|0;A:while(1){t=e+4|0;e=f[e>>2]|0;if(!e)break;switch(r[e>>0]|0){case 102:{if(!(oz(e,95923)|0)){e=t;continue A}break}case 98:{if(!(oz(e,95905)|0)){e=t;continue A}break}case 115:{if(!(oz(e,95910)|0)){e=t;continue A}break}default:{}}py(s,e)|0;do{n=e;e=e+1|0}while((r[n>>0]|0)!=0);if(r[e>>0]|0){i=f[l>>2]|0;if(i>>>0>=(f[c>>2]|0)>>>0){yy(s,1)|0;i=f[l>>2]|0}f[l>>2]=i+1;r[i>>0]=40;n=0;while(1){if(!(r[e>>0]|0))break;if(n|0){i=f[l>>2]|0;if(i>>>0>=(f[c>>2]|0)>>>0){yy(s,1)|0;i=f[l>>2]|0}f[l>>2]=i+1;r[i>>0]=44}py(s,e)|0;do{i=e;e=e+1|0}while((r[i>>0]|0)!=0);n=n+1|0}e=f[l>>2]|0;if(e>>>0>=(f[c>>2]|0)>>>0){yy(s,1)|0;e=f[l>>2]|0}f[l>>2]=e+1;r[e>>0]=41}e=f[l>>2]|0;if(e>>>0>=(f[c>>2]|0)>>>0){yy(s,1)|0;e=f[l>>2]|0}r[e>>0]=0;e=f[s>>2]|0;f[l>>2]=e;Ve(A,59725,e);e=t}Vy(s)}v=u;return}function Me(A){A=A|0;pe((f[A+16>>2]|0)+16|0);Ve(A,68667,173886);return}function Ee(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0;o=v;v=v+1040|0;c=o;l=o+16|0;t=f[11344+(f[(f[A+16>>2]|0)+12>>2]<<2)>>2]|0;a=t+4|0;A=f[a>>2]|0;if(A>>>0>=(f[t+8>>2]|0)>>>0){yy(t,1)|0;A=f[a>>2]|0}f[a>>2]=A+1;r[A>>0]=e;f[c>>2]=n;iP(l,59670,c)|0;py(t,l)|0;A=0;while(1){if((A|0)>=(n|0))break;l=i+(A<<4)|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];Qe(t,c);A=A+1|0}v=o;return}function Qe(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+1024|0;r=i;ye(r,+o[e>>3]);py(A,r)|0;ye(r,+Zv(+o[e+8>>3]));py(A,r)|0;v=i;return}function ye(A,e){A=A|0;e=+e;var i=0,r=0;i=v;v=v+16|0;r=i;o[r>>3]=e>-1.0e-08&e<1.0e-08?0.0:e;iP(A,59675,r)|0;Ye(A,1);v=i;return}function Ye(A,e){A=A|0;e=e|0;var i=0,n=0;i=zz(A,46)|0;if(!i){if(e|0){i=A+(nz(A)|0)|0;n=10}}else{while(1){A=i+1|0;if(!(r[A>>0]|0))break;else i=A}A:while(1){switch(r[i>>0]|0){case 46:{n=5;break A}case 48:break;default:{n=6;break A}}r[i>>0]=0;i=i+-1|0}if((n|0)==5)r[i>>0]=0;else if((n|0)==6)i=i+1|0;if(e|0)n=10}if((n|0)==10){r[i>>0]=32;r[i+1>>0]=0}return}function pe(A){A=A|0;var e=0,i=0,n=0,t=0,l=0,c=0;c=v;v=v+32|0;l=c+16|0;t=c;e=r[A+3>>0]|0;i=a[A>>0]|0;n=a[A+1>>0]|0;A=a[A+2>>0]|0;if(e<<24>>24==-1){f[t>>2]=i;f[t+4>>2]=n;f[t+8>>2]=A;iP(173886,68547,t)|0}else{f[l>>2]=i;f[l+4>>2]=n;f[l+8>>2]=A;f[l+12>>2]=e&255;iP(173886,59688,l)|0}v=c;return}function Ve(A,e,i){A=A|0;e=e|0;i=i|0;Ne(f[11344+(f[(f[A+16>>2]|0)+12>>2]<<2)>>2]|0,e,i);return}function Ne(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;n=v;v=v+1040|0;t=n;a=n+8|0;l=nz(i)|0;f[t>>2]=e;f[t+4>>2]=l;iP(a,59681,t)|0;py(A,a)|0;py(A,i)|0;i=A+4|0;e=f[i>>2]|0;if(e>>>0>=(f[A+8>>2]|0)>>>0){yy(A,1)|0;e=f[i>>2]|0}f[i>>2]=e+1;r[e>>0]=32;v=n;return}function We(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0.0,l=0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0;G=v;v=v+1120|0;d=G+64|0;Z=G+80|0;l=G+32|0;w=G+16|0;h=G;g=f[A+16>>2]|0;a=+(f[g+136>>2]|0)*.017453292519943295;if((t[(f[41876]|0)+8232>>1]|0)<14)ze(A);else{Qy(Z,1024,G+96|0);m=(e|0)==2;if(m){Rv(i,l,n,a,2);i=Z+4|0;e=f[i>>2]|0;if(e>>>0>=(f[Z+8>>2]|0)>>>0){yy(Z,1)|0;e=f[i>>2]|0}f[i>>2]=e+1;r[e>>0]=91;f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[d+12>>2]=f[l+12>>2];Qe(Z,d);h=l+16|0;f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];f[d+8>>2]=f[h+8>>2];f[d+12>>2]=f[h+12>>2];Qe(Z,d)}else{Rv(i,l,n,0.0,3);k=+o[l+24>>3];b=+o[l>>3];if(a==0.0){u=+o[l+8>>3];B=k*.25;a=u;s=b}else{B=k*.25;I=B;s=+N(+a)*I+b;u=+o[l+8>>3];a=+W(+a)*I+u}o[w>>3]=s;o[w+8>>3]=a;o[h>>3]=b;o[h+8>>3]=u;i=Z+4|0;e=f[i>>2]|0;if(e>>>0>=(f[Z+8>>2]|0)>>>0){yy(Z,1)|0;e=f[i>>2]|0}f[i>>2]=e+1;r[e>>0]=40;f[d>>2]=f[w>>2];f[d+4>>2]=f[w+4>>2];f[d+8>>2]=f[w+8>>2];f[d+12>>2]=f[w+12>>2];Qe(Z,d);Je(Z,B);f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];f[d+8>>2]=f[h+8>>2];f[d+12>>2]=f[h+12>>2];Qe(Z,d);Je(Z,k)}py(Z,59731)|0;e=g+140|0;a=+c[e>>2];i=g+56|0;if(a>0.0){Pe(Z,a,i);Pe(Z,+c[e>>2],g+96|0)}else{Pe(Z,0.0,i);Pe(Z,1.0,g+96|0)}Ny(Z)|0;l=Z+4|0;e=f[l>>2]|0;n=Z+8|0;i=e>>>0>=(f[n>>2]|0)>>>0;if(m){if(i){yy(Z,1)|0;e=f[l>>2]|0}f[l>>2]=e+1;r[e>>0]=93}else{if(i){yy(Z,1)|0;e=f[l>>2]|0}f[l>>2]=e+1;r[e>>0]=41}e=f[l>>2]|0;if(e>>>0>=(f[n>>2]|0)>>>0){yy(Z,1)|0;e=f[l>>2]|0}r[e>>0]=0;m=f[Z>>2]|0;f[l>>2]=m;Ve(A,59728,m);Vy(Z)}v=G;return}function ze(A){A=A|0;pe((f[A+16>>2]|0)+56|0);Ve(A,59728,173886);return}function Je(A,e){A=A|0;e=+e;var i=0,r=0;i=v;v=v+1024|0;r=i;ye(r,e);py(A,r)|0;v=i;return}function Pe(A,e,i){A=A|0;e=+e;i=i|0;var r=0,n=0,f=0;r=v;v=v+1040|0;f=r;n=r+8|0;o[f>>3]=e;iP(n,59734,f)|0;Ye(n,1);pe(i);Ne(A,n,173886);v=r;return}function Re(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;r=v;v=v+1040|0;t=r;n=r+16|0;a=f[11344+(f[(f[A+16>>2]|0)+12>>2]<<2)>>2]|0;py(a,59843)|0;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];f[t+12>>2]=f[i+12>>2];Qe(a,t);ye(n,+o[i+16>>3]-+o[i>>3]);py(a,n)|0;ye(n,+o[i+24>>3]-+o[i+8>>3]);py(a,n)|0;Ve(A,174185,f[e+8>>2]|0);v=r;return}function He(A){A=A|0;var e=0;switch(f[A+64>>2]|0){case 0:{e=Rl(f[A>>2]|0)|0;Mc(e,f[(f[A+16>>2]|0)+8>>2]|0,60630,0)|0;Hl(e);break}case 1:{zm(f[(f[A>>2]|0)+168>>2]|0);break}default:{}}return}function Le(A){A=A|0;var e=0,i=0,n=0,a=0;n=v;v=v+16|0;e=n;i=f[(f[A+16>>2]|0)+8>>2]|0;if(!(f[41889]|0)){f[41889]=f[4442];f[41890]=9;f[41891]=17}f[(f[i+64>>2]|0)+8>>2]=167556;Fe(i,1);f[e>>2]=0;r[e+4>>0]=(r[(f[i+16>>2]|0)+115>>0]|0)==1&1;a=f[A+64>>2]|0;r[e+5>>0]=((a|0)==0|(a|0)==3)&1;r[e+6>>0]=0;De(i,A,1,e);v=n;return}function Fe(A,e){A=A|0;e=e|0;var i=0;f[A>>2]=f[A>>2]&-9;i=fN(A)|0;while(1){if(!i)break;Fe(i,0);i=aN(i)|0}A:do{if(e|0){e=Ep(A)|0;while(1){if(!e)break A;f[e>>2]=f[e>>2]&-9;i=bY(A,e)|0;while(1){if(!i)break;f[i>>2]=f[i>>2]&-9;i=BY(A,i)|0}e=Qp(A,e)|0}}}while(0);return}function De(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+16|0;B=k+8|0;b=k;u=(i|0)!=0;if(u){s=vy(11764,f[4345]|0)|0;vV(A,1,86799,12,0);vV(A,2,86799,12,0);vV(A,0,86799,-12,0);n=Xe(A,0,s)|0;c=Ep(A)|0;l=0;a=0;while(1){if(!c)break;if(!(Wz(Ap(c)|0,93039,7)|0)){o=a;a=xe(s,Ap(c)|0)|0}else{o=a+1|0;a=a+n|0}f[(tV(c,86799,0)|0)+8>>2]=a;t=bY(A,c)|0;a=l;while(1){if(!t)break;f[(tV(t,86799,0)|0)+8>>2]=a;t=BY(A,t)|0;a=a+1|0}c=Qp(A,c)|0;l=a;a=o}ly(s)|0}else n=0;s=f[r>>2]|0;f[r>>2]=s+1;Te(e,s);Ml(e,82337)|0;Ue(A,e,i,r);Se(A,e,r);Ml(e,82308)|0;Te(e,f[r>>2]|0);if(u){f[b>>2]=n;Vl(e,59846,b)}else{f[B>>2]=f[(tV(A,86799,0)|0)+8>>2];Vl(e,59866,B)}Oe(A,e,i,je(A,e,i,r)|0,r);Ke(A,e,i,r);Ml(e,134901)|0;B=(f[r>>2]|0)+-1|0;f[r>>2]=B;Te(e,B);if(u)Ml(e,95830)|0;else Ml(e,68190)|0;v=k;return}function Xe(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((Dp(A)|0)!=(A|0)){r=e+1|0;f[(tV(A,86799,0)|0)+8>>2]=e;if(!(Wz(Ap(A)|0,93039,7)|0)){e=Ap(A)|0;li(i,e,f[(tV(A,86799,0)|0)+8>>2]|0);e=r}else e=r}r=fN(A)|0;while(1){if(!r)break;A=Xe(r,e,i)|0;r=aN(r)|0;e=A}return e|0}function xe(A,e){A=A|0;e=e|0;A=mL[f[A>>2]&31](A,e,512)|0;if(!A)A=-1;else A=f[A+12>>2]|0;return A|0}function Te(A,e){A=A|0;e=e|0;while(1){if((e|0)<=0)break;Ml(A,60598)|0;e=e+-1|0}return}function Ue(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;t=v;v=v+32|0;a=t+16|0;n=t+8|0;l=t;c=Ap(A)|0;Te(e,f[r>>2]|0);f[l>>2]=$e(c,r)|0;Vl(e,59954,l);if(i|0){Ml(e,82308)|0;Te(e,f[r>>2]|0);c=(FY(A)|0)!=0;f[n>>2]=c?92685:122100;Vl(e,60568,n);Te(e,f[r>>2]|0);c=(XY(A)|0)!=0;f[a>>2]=c?92685:122100;Vl(e,60585,a)}v=t;return}function Se(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;u=b+8|0;s=b;l=Dp(A)|0;c=f[A>>2]&3;n=eY(l,c,0)|0;A:do{if(n|0){o=i+5|0;while(1){if(!n)break A;a=tY(A,n)|0;do{if(a|0){t=n+8|0;if(!(r[a>>0]|0)){a=f[t>>2]|0;if((r[a>>0]|0)!=108)break;if(oz(a,86240)|0)break}Ml(e,82308)|0;Te(e,f[i>>2]|0);f[s>>2]=$e(f[t>>2]|0,i)|0;Vl(e,60004,s);if(r[o>>0]|0?ei(f[t>>2]|0)|0:0){ii(tY(A,n)|0,e,i);break}f[u>>2]=$e(tY(A,n)|0,i)|0;Vl(e,60011,u)}}while(0);n=eY(l,c,n)|0}}}while(0);v=b;return}function je(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;n=fN(A)|0;if(n){Ml(e,82308)|0;a=f[r>>2]|0;f[r>>2]=a+1;Te(e,a);a=(i|0)!=0;if(a){Ml(e,59928)|0;A=0;i=n}else{Ml(e,59988)|0;Te(e,f[r>>2]|0);A=0;i=n}while(1){if(!i)break;if(!A)A=1;else Ml(e,82308)|0;if(a)Ai(i,e,r);else{f[t>>2]=f[(tV(i,86799,0)|0)+8>>2];Vl(e,122187,t)}i=aN(i)|0}if(a)A=1;else{f[r>>2]=(f[r>>2]|0)+-1;Ml(e,134901)|0;Te(e,f[r>>2]|0);Ml(e,82303)|0;A=1}}else A=0;v=l;return A|0}function Oe(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0;a=Ep(A)|0;if(!a){if((i|0)!=0&(r|0)!=0){f[n>>2]=(f[n>>2]|0)+-1;Ml(e,134901)|0;Te(e,f[n>>2]|0);Ml(e,82303)|0}}else{Ml(e,82308)|0;t=(i|0)!=0;if(t)if(!r){r=f[n>>2]|0;f[n>>2]=r+1;Te(e,r);Ml(e,59928)|0;r=0}else r=0;else{r=f[n>>2]|0;f[n>>2]=r+1;Te(e,r);Ml(e,59942)|0;Te(e,f[n>>2]|0);r=0}while(1){if(!a)break;if(Wz(Ap(a)|0,93039,7)|0){do{if(r)if(t){Ml(e,82308)|0;break}else{Ml(e,86030)|0;break}else r=1}while(0);qe(a,e,i,n)}a=Qp(A,a)|0}f[n>>2]=(f[n>>2]|0)+-1;Ml(e,134901)|0;Te(e,f[n>>2]|0);Ml(e,82303)|0}return}function Ke(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;n=Ep(A)|0;A:do{if(n|0){while(1){if(!n)break A;if(bY(A,n)|0)break;n=Qp(A,n)|0}Ml(e,82308)|0;l=f[r>>2]|0;f[r>>2]=l+1;Te(e,l);Ml(e,59878)|0;l=(i|0)!=0;if(l)a=0;else{Te(e,f[r>>2]|0);a=0}while(1){if(!n)break;t=bY(A,n)|0;while(1){if(!t)break;do{if(a)if(l){Ml(e,82308)|0;break}else{Ml(e,86030)|0;break}else a=1}while(0);_e(t,e,i,r);t=BY(A,t)|0}n=Qp(A,n)|0}f[r>>2]=(f[r>>2]|0)+-1;Ml(e,134901)|0;Te(e,f[r>>2]|0);Ml(e,82303)|0}}while(0);return}function _e(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;c=v;v=v+32|0;l=c+24|0;t=c+16|0;a=c+8|0;n=c;if(!i){f[l>>2]=f[(tV(A,86799,0)|0)+8>>2];Vl(e,122187,l)}else{l=f[r>>2]|0;f[r>>2]=l+1;Te(e,l);Ml(e,82337)|0;Te(e,f[r>>2]|0);f[n>>2]=f[(tV(A,86799,0)|0)+8>>2];Vl(e,59890,n);Te(e,f[r>>2]|0);f[a>>2]=f[(tV(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,86799,0)|0)+8>>2];Vl(e,59904,a);Te(e,f[r>>2]|0);f[t>>2]=f[(tV(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,86799,0)|0)+8>>2];Vl(e,59917,t);Se(A,e,r);Ml(e,134901)|0;l=(f[r>>2]|0)+-1|0;f[r>>2]=l;Te(e,l);Ml(e,68190)|0}v=c;return}function qe(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+32|0;t=l+16|0;a=l+8|0;n=l;if(!i){f[t>>2]=f[(tV(A,86799,0)|0)+8>>2];Vl(e,122187,t)}else{t=f[r>>2]|0;f[r>>2]=t+1;Te(e,t);Ml(e,82337)|0;Te(e,f[r>>2]|0);f[n>>2]=f[(tV(A,86799,0)|0)+8>>2];Vl(e,59890,n);Te(e,f[r>>2]|0);f[a>>2]=$e(Ap(A)|0,r)|0;Vl(e,59954,a);Se(A,e,r);Ml(e,134901)|0;t=(f[r>>2]|0)+-1|0;f[r>>2]=t;Te(e,t);Ml(e,68190)|0}v=l;return}function $e(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;a=e+4|0;if(r[a>>0]|0)A=RC(A)|0;if(!(f[41892]|0)){Qy(167568,1024,0);i=A}else i=A;A:while(1){n=r[i>>0]|0;switch(n<<24>>24){case 0:break A;case 34:{py(167568,59967)|0;break}case 92:{py(167568,81579)|0;break}case 47:{py(167568,59970)|0;break}case 8:{py(167568,59973)|0;break}case 12:{py(167568,59976)|0;break}case 10:{py(167568,59979)|0;break}case 13:{py(167568,59982)|0;break}case 9:{py(167568,59985)|0;break}default:{e=f[41893]|0;if(e>>>0>=(f[41894]|0)>>>0){yy(167568,1)|0;e=f[41893]|0}f[41893]=e+1;r[e>>0]=n}}i=i+1|0}e=f[41893]|0;if(e>>>0>=(f[41894]|0)>>>0){yy(167568,1)|0;e=f[41893]|0}r[e>>0]=0;e=f[41892]|0;f[41893]=e;if(r[a>>0]|0)HW(A);return e|0}function Ai(A,e,i){A=A|0;e=e|0;i=i|0;De(A,e,0,i);A=fN(A)|0;while(1){if(!A)break;Ml(e,82308)|0;Ai(A,e,i);A=aN(A)|0}return}function ei(A){A=A|0;var e=0;e=A+1|0;A:do{if((r[A>>0]|0)==95){A=(r[e>>0]|0)+-100<<24>>24;switch(((A&255)>>>2|A<<6&255)<<24>>24){case 0:{if(!(oz(e,60525)|0)){A=1;break A}break}case 2:{if(!(oz(e,60531)|0)){A=1;break A}break}case 1:{if(!(oz(e,60538)|0)){A=1;break A}return(oz(e,60552)|0)==0|0}case 4:{if(!(oz(e,60545)|0)){A=1;break A}A=(oz(e,60560)|0)==0&1;break A}default:{A=0;break A}}A=0}else A=0}while(0);return A|0}function ii(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;n=l;do{if(A|0?r[A>>0]|0:0){t=Po(A)|0;if(!t){f[n>>2]=A;Iy(0,60016,n)|0;break}Ml(e,134901)|0;a=f[i>>2]|0;f[i>>2]=a+1;Te(e,a);Ml(e,60043)|0;a=t+8|0;A=0;n=0;while(1){if((n|0)>=(f[t>>2]|0))break;if(!A)A=1;else Ml(e,82308)|0;ri((f[a>>2]|0)+(n*80|0)|0,e,i);n=n+1|0}f[i>>2]=(f[i>>2]|0)+-1;Ml(e,134901)|0;Te(e,f[i>>2]|0);Ml(e,82303)|0;Ro(t)}}while(0);v=l;return}function ri(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0.0,Q=0.0,y=0.0;M=v;v=v+240|0;I=M+224|0;G=M+216|0;Z=M+208|0;m=M+200|0;g=M+192|0;d=M+184|0;h=M+176|0;w=M+152|0;k=M+136|0;B=M+128|0;b=M+112|0;u=M+104|0;s=M+96|0;c=M+88|0;l=M+72|0;t=M+48|0;C=M+40|0;a=M+8|0;n=M;r=f[i>>2]|0;f[i>>2]=r+1;Te(e,r);Ml(e,82337)|0;Te(e,f[i>>2]|0);r=f[A>>2]|0;A:do{switch(r|0){case 1:case 0:{f[n>>2]=(r|0)==0?69:101;Vl(e,60046,n);Te(e,f[i>>2]|0);y=+o[A+16>>3];Q=+o[A+24>>3];E=+o[A+32>>3];o[a>>3]=+o[A+8>>3];o[a+8>>3]=y;o[a+16>>3]=Q;o[a+24>>3]=E;Vl(e,60059,a);break}case 3:case 2:{f[C>>2]=(r|0)==2?80:112;Vl(e,60046,C);Te(e,f[i>>2]|0);ni(e,A+8|0);break}case 5:case 4:{f[t>>2]=(r|0)==4?66:98;Vl(e,60046,t);Te(e,f[i>>2]|0);ni(e,A+8|0);break}case 6:{Vl(e,60094,M+56|0);Te(e,f[i>>2]|0);ni(e,A+8|0);break}case 7:{Vl(e,60106,M+64|0);Te(e,f[i>>2]|0);y=+o[A+16>>3];o[l>>3]=+o[A+8>>3];o[l+8>>3]=y;Vl(e,60118,l);Te(e,f[i>>2]|0);C=f[A+24>>2]|0;f[c>>2]=(C|0)==0?108:(C|0)==1?99:114;Vl(e,60140,c);Te(e,f[i>>2]|0);o[s>>3]=+o[A+32>>3];Vl(e,60156,s);Te(e,f[i>>2]|0);f[u>>2]=$e(f[A+40>>2]|0,i)|0;Vl(e,60173,u);break}case 9:case 8:{f[b>>2]=(r|0)==8?67:99;Vl(e,60046,b);Te(e,f[i>>2]|0);Vl(e,60187,M+120|0);Te(e,f[i>>2]|0);f[B>>2]=$e(f[A+8>>2]|0,i)|0;Vl(e,60204,B);break}case 13:case 14:{f[k>>2]=(r|0)==13?67:99;Vl(e,60046,k);Te(e,f[i>>2]|0);switch(f[A+8>>2]|0){case 0:{Vl(e,60187,M+144|0);Te(e,f[i>>2]|0);f[w>>2]=$e(f[A+16>>2]|0,i)|0;Vl(e,60204,w);break A}case 1:{Vl(e,60219,M+160|0);Te(e,f[i>>2]|0);fi(e,A+16|0,i);break A}default:{Vl(e,60238,M+168|0);Te(e,f[i>>2]|0);ai(e,A+16|0,i);break A}}}case 10:{Vl(e,60257,h);Te(e,f[i>>2]|0);o[d>>3]=+o[A+8>>3];Vl(e,60269,d);Te(e,f[i>>2]|0);f[g>>2]=$e(f[A+16>>2]|0,i)|0;Vl(e,60285,g);break}case 11:{Vl(e,60299,m);Te(e,f[i>>2]|0);f[Z>>2]=$e(f[A+8>>2]|0,i)|0;Vl(e,60311,Z);break}case 15:{Vl(e,60326,G);Te(e,f[i>>2]|0);f[I>>2]=f[A+8>>2];Vl(e,60338,I);break}default:{}}}while(0);C=(f[i>>2]|0)+-1|0;f[i>>2]=C;Te(e,C);Ml(e,68190)|0;v=M;return}function ni(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0.0;l=v;v=v+48|0;t=l+32|0;a=l+16|0;n=l+8|0;r=f[e>>2]|0;i=f[e+4>>2]|0;Vl(A,60499,l);e=0;while(1){if((e|0)>=(r|0))break;if((e|0)>0)Vl(A,86030,n);c=+o[i+(e*24|0)+8>>3];o[a>>3]=+o[i+(e*24|0)>>3];o[a+8>>3]=c;Vl(A,60511,a);e=e+1|0}Vl(A,60452,t);v=l;return}function fi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0;r=v;v=v+32|0;n=r+16|0;t=r;Te(A,f[i>>2]|0);a=+o[e+8>>3];o[t>>3]=+o[e>>3];o[t+8>>3]=a;Vl(A,60455,t);Te(A,f[i>>2]|0);a=+o[e+24>>3];o[n>>3]=+o[e+16>>3];o[n+8>>3]=a;Vl(A,60477,n);Te(A,f[i>>2]|0);ti(A,f[e+32>>2]|0,f[e+36>>2]|0,i);v=r;return}function ai(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0;r=v;v=v+48|0;n=r+24|0;l=r;Te(A,f[i>>2]|0);a=+o[e+8>>3];t=+o[e+16>>3];o[l>>3]=+o[e>>3];o[l+8>>3]=a;o[l+16>>3]=t;Vl(A,60354,l);Te(A,f[i>>2]|0);t=+o[e+32>>3];a=+o[e+40>>3];o[n>>3]=+o[e+24>>3];o[n+8>>3]=t;o[n+16>>3]=a;Vl(A,60382,n);Te(A,f[i>>2]|0);ti(A,f[e+48>>2]|0,f[e+52>>2]|0,i);v=r;return}function ti(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,s=0,u=0,b=0.0;s=v;v=v+48|0;l=s+32|0;t=s+16|0;a=s+8|0;Vl(A,60410,s);n=0;while(1){if((n|0)>=(e|0))break;if((n|0)>0)Vl(A,86030,a);b=+c[i+(n<<3)>>2];u=$e(f[i+(n<<3)+4>>2]|0,r)|0;o[t>>3]=b;f[t+8>>2]=u;Vl(A,60421,t);n=n+1|0}Vl(A,60452,l);v=s;return}function li(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=v;v=v+16|0;n=a;r=mL[f[A>>2]&31](A,e,512)|0;if(r){if((f[r+12>>2]|0)!=(i|0)){f[n>>2]=e;Iy(0,60601,n)|0}}else{n=LW(1,16)|0;f[n+8>>2]=dP(e)|0;f[n+12>>2]=i;mL[f[A>>2]&31](A,n,1)|0}v=a;return}function ci(A,e,i){A=A|0;e=e|0;i=i|0;HW(f[e+8>>2]|0);HW(e);return}function oi(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;n=f[A+16>>2]|0;Ml(A,61456)|0;c=f[f[A+12>>2]>>2]|0;l=f[c+4>>2]|0;t=f[c+8>>2]|0;f[a>>2]=f[c>>2];f[a+4>>2]=l;f[a+8>>2]=t;Vl(A,61466,a);f[r>>2]=Ap(f[n+8>>2]|0)|0;Vl(A,61501,r);f[i>>2]=X(f[A+168>>2]|0,f[A+164>>2]|0)|0;Vl(A,61514,i);Ml(A,61527)|0;Ml(A,61537)|0;Ml(A,61545)|0;Ml(A,61553)|0;Ml(A,61561)|0;Ml(A,61569)|0;Ml(A,61577)|0;Ml(A,61581)|0;Ml(A,61586)|0;v=e;return}function si(A){A=A|0;Ml(A,61437)|0;return}function ui(A){A=A|0;f[41896]=2;return}function bi(A){A=A|0;f[41896]=1;return}function vi(A){A=A|0;f[41896]=2;return}function Bi(A){A=A|0;f[41896]=0;return}function ki(A){A=A|0;f[41896]=2;return}function wi(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0.0,l=0,c=0.0,s=0,u=0,b=0,B=0,k=0.0,w=0.0,h=0;B=v;v=v+80|0;b=B;s=f[(f[A+16>>2]|0)+16>>2]|0;u=f[41896]|0;n=f[i+4>>2]|0;a=+o[A+352>>3]*+o[n+16>>3];t=f[A+360>>2]|0?1.5707963267948966:0.0;l=f[i>>2]|0;c=a*.3333333333333333*+((nz(l)|0)>>>0);n=f[n+8>>2]|0;if(!n)n=-1;else n=f[n+20>>2]|0;h=r[i+48>>0]|0;w=+o[e>>3];k=+o[e+8>>3];i=Ei(l)|0;f[b>>2]=4;f[b+4>>2]=h<<24>>24==108?0:h<<24>>24==114?2:1;f[b+8>>2]=s;f[b+12>>2]=u;f[b+16>>2]=0;f[b+20>>2]=n;o[b+24>>3]=a;o[b+32>>3]=t;f[b+40>>2]=6;o[b+48>>3]=a;o[b+56>>3]=c;f[b+64>>2]=~~(w+(w>=0.0?.5:-.5));f[b+68>>2]=~~(k+(k+-72.0>=0.0?-71.5:-72.5));f[b+72>>2]=i;Vl(A,61382,b);v=B;return}function hi(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;u=v;v=v+32|0;c=u;l=u+20|0;s=e+32|0;A:do{switch(f[s>>2]|0){case 5:{i=0;while(1){n=f[12652+(i<<2)>>2]|0;if((i|0)==8)break A;t=f[e>>2]|0;if((r[n>>0]|0)==(r[t>>0]|0)?(oz(n,t)|0)==0:0){o=10;break A}i=i+1|0}}case 1:{n=e+1|0;t=e+2|0;i=(Mi(l,a[e>>0]|0,a[n>>0]|0,a[t>>0]|0)|0)+32|0;if(!(f[l>>2]|0))o=10;else{b=a[e>>0]|0;l=a[n>>0]|0;o=a[t>>0]|0;f[c>>2]=0;f[c+4>>2]=i;f[c+8>>2]=b;f[c+12>>2]=l;f[c+16>>2]=o;Vl(A,61325,c);o=10}break}default:BA(123205,60722,163,60753)}}while(0);if((o|0)==10)f[e>>2]=i;f[s>>2]=6;v=u;return}function di(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0,c=0,s=0.0,u=0.0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0;r=v;v=v+112|0;n=r+8|0;g=r+104|0;d=r;c=f[A+16>>2]|0;h=~~+o[c+152>>3];w=f[c+16>>2]|0;k=f[c+56>>2]|0;B=f[41896]|0;Ii(c,g,d);u=+o[e>>3];c=~~(u+(u>=0.0?.5:-.5));s=+o[e+8>>3];l=~~(s+(s>=0.0?.5:-.5));t=+o[e+16>>3];u=t-u;a=+o[e+24>>3];s=a-s;e=f[g>>2]|0;b=+o[d>>3];f[n>>2]=1;f[n+4>>2]=1;f[n+8>>2]=e;f[n+12>>2]=h;f[n+16>>2]=w;f[n+20>>2]=k;f[n+24>>2]=B;f[n+28>>2]=0;f[n+32>>2]=i|0?20:-1;o[n+40>>3]=b;f[n+48>>2]=0;o[n+56>>3]=0.0;f[n+64>>2]=c;f[n+68>>2]=l;f[n+72>>2]=~~(u+(u>=0.0?.5:-.5));f[n+76>>2]=~~(s+(s>=0.0?.5:-.5));f[n+80>>2]=c;f[n+84>>2]=l;f[n+88>>2]=~~(t+(t>=0.0?.5:-.5));f[n+92>>2]=~~(a+(a>=0.0?.5:-.5));Vl(A,61260,n);v=r;return}function gi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0;n=v;v=v+96|0;a=n+8|0;b=n+80|0;B=n;k=f[A+16>>2]|0;u=~~+o[k+152>>3];s=f[k+16>>2]|0;c=f[k+56>>2]|0;l=f[41896]|0;Ii(k,b,B);b=f[b>>2]|0;t=+o[B>>3];f[a>>2]=2;f[a+4>>2]=3;f[a+8>>2]=b;f[a+12>>2]=u;f[a+16>>2]=s;f[a+20>>2]=c;f[a+24>>2]=l;f[a+28>>2]=0;f[a+32>>2]=r|0?20:-1;o[a+40>>3]=t;f[a+48>>2]=0;f[a+52>>2]=0;f[a+56>>2]=0;f[a+60>>2]=0;f[a+64>>2]=0;f[a+68>>2]=i+1;Vl(A,61164,a);Ci(A,e,i,1);v=n;return}function mi(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0.0,Y=0.0,p=0;Q=v;v=v+192|0;E=Q+176|0;C=Q+168|0;M=Q+104|0;I=Q+96|0;t=Q+88|0;g=Q+180|0;m=Q+80|0;Z=Q+16|0;G=Q;n=A+16|0;r=f[n>>2]|0;k=~~+o[r+152>>3];w=f[r+16>>2]|0;h=f[41896]|0;if((i|0)<=3)BA(60715,60722,360,60742);d=RW((i*140|0)+140|0)|0;Ii(r,g,m);if(!a){b=4;l=0;c=-1}else{b=5;l=f[(f[n>>2]|0)+56>>2]|0;c=20}Y=+o[e>>3];u=Z+48|0;o[u>>3]=Y;y=+o[e+8>>3];o[Z+56>>3]=y;f[t>>2]=~~(Y+(Y>=0.0?.5:-.5));f[t+4>>2]=~~(y+(y>=0.0?.5:-.5));s=G+8|0;r=d+(iP(d,73932,t)|0)|0;B=1;a=0;while(1){t=a+3|0;if((t|0)>=(i|0))break;f[Z>>2]=f[u>>2];f[Z+4>>2]=f[u+4>>2];f[Z+8>>2]=f[u+8>>2];f[Z+12>>2]=f[u+12>>2];n=1;while(1){if((n|0)==4){n=1;break}p=n+a|0;o[Z+(n<<4)>>3]=+o[e+(p<<4)>>3];o[Z+(n<<4)+8>>3]=+o[e+(p<<4)+8>>3];n=n+1|0}while(1){if((n|0)==7)break;eC(G,Z,3,+(n|0)*.16666666666666666,0,0);y=+o[G>>3];Y=+o[s>>3];f[I>>2]=~~(y+(y>=0.0?.5:-.5));f[I+4>>2]=~~(Y+(Y>=0.0?.5:-.5));n=n+1|0;r=r+(iP(r,73932,I)|0)|0}B=B+6|0;a=t}n=f[g>>2]|0;Y=+o[m>>3];f[M>>2]=3;f[M+4>>2]=b;f[M+8>>2]=n;f[M+12>>2]=k;f[M+16>>2]=w;f[M+20>>2]=l;f[M+24>>2]=h;f[M+28>>2]=0;f[M+32>>2]=c;o[M+40>>3]=Y;f[M+48>>2]=0;f[M+52>>2]=0;f[M+56>>2]=0;f[M+60>>2]=B;Vl(A,61215,M);f[C>>2]=d;Vl(A,73939,C);HW(d);n=B+-1|0;r=0;while(1){if((r|0)>=(B|0))break;f[E>>2]=((r|0)%(n|0)|0|0)!=0&1;Vl(A,73944,E);r=r+1|0}Ml(A,134901)|0;v=Q;return}function Zi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0,l=0,c=0,s=0,u=0,b=0;r=v;v=v+96|0;n=r+8|0;s=r+80|0;u=r;b=f[A+16>>2]|0;c=~~+o[b+152>>3];l=f[b+16>>2]|0;t=f[41896]|0;Ii(b,s,u);s=f[s>>2]|0;a=+o[u>>3];f[n>>2]=2;f[n+4>>2]=1;f[n+8>>2]=s;f[n+12>>2]=c;f[n+16>>2]=l;f[n+20>>2]=0;f[n+24>>2]=t;f[n+28>>2]=0;f[n+32>>2]=0;o[n+40>>3]=a;f[n+48>>2]=0;f[n+52>>2]=0;f[n+56>>2]=0;f[n+60>>2]=0;f[n+64>>2]=0;f[n+68>>2]=i;Vl(A,61164,n);Ci(A,e,i,0);v=r;return}function Gi(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;Vl(A,61158,r);v=i;return}function Ii(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(f[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}f[e>>2]=A;o[i>>3]=r;return}function Ci(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0.0;l=v;v=v+16|0;t=l+8|0;a=l;n=0;while(1){if((n|0)>=(i|0))break;s=+o[e+(n<<4)>>3];c=+o[e+(n<<4)+8>>3];f[a>>2]=~~(s+(s>=0.0?.5:-.5));f[a+4>>2]=~~(c+(c>=0.0?.5:-.5));Vl(A,73932,a);n=n+1|0}if(r|0){c=+o[e>>3];s=+o[e+8>>3];f[t>>2]=~~(c+(c>=0.0?.5:-.5));f[t+4>>2]=~~(s+(s>=0.0?.5:-.5));Vl(A,73932,t)}Ml(A,134901)|0;v=l;return}function Mi(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;f[A>>2]=0;o=f[41897]|0;t=195075;a=0;l=-1;while(1){if((a|0)>=(o|0)){s=6;break}u=(n[170808+(a<<1)>>1]|0)-e|0;b=(n[171320+(a<<1)>>1]|0)-i|0;c=(n[171832+(a<<1)>>1]|0)-r|0;c=(X(b,b)|0)+(X(u,u)|0)+(X(c,c)|0)|0;if((c|0)<(t|0))if(!c)break;else{t=c;l=a}a=a+1|0}if((s|0)==6){f[41897]=o+1;if((o|0)==256)a=l;else{n[170808+(a<<1)>>1]=e;n[171320+(a<<1)>>1]=i;n[171832+(a<<1)>>1]=r;f[A>>2]=1}}return a|0}function Ei(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;e=f[41898]|0;if(!e){f[41899]=64;e=RW(64)|0;f[41898]=e;i=0}else i=0;while(1){a=A+1|0;n=r[A>>0]|0;if(!(n<<24>>24))break;A=f[41899]|0;if((i|0)>(A+-8|0)){e=A<<1;f[41899]=e;e=FW(f[41898]|0,e)|0;f[41898]=e;e=e+i|0}if(n<<24>>24<=-1){r[e>>0]=92;f[t>>2]=n&255;iP(e+1|0,74057,t)|0;A=a;e=e+4|0;i=i+4|0;continue}if(n<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=n;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=l;return f[41898]|0}function Qi(A){A=A|0;var e=0,i=0,n=0;i=f[A+16>>2]|0;switch(f[A+64>>2]|0){case 0:{Ml(A,61053)|0;e=i+208|0;i=f[e>>2]|0;if(i|0?r[i>>0]|0:0){Ml(A,61067)|0;Ml(A,Vb(f[e>>2]|0)|0)|0;Ml(A,134901)|0}break}case 1:{e=i+208|0;n=f[e>>2]|0;if(n|0?r[n>>0]|0:0){Ml(A,61067)|0;Ml(A,Vb(f[e>>2]|0)|0)|0;Ml(A,87638)|0;Ml(A,Vb(Ap(f[i+8>>2]|0)|0)|0)|0;Ml(A,134901)|0}break}case 3:{n=Vb(Ap(f[i+8>>2]|0)|0)|0;Ml(A,61076)|0;Ml(A,n)|0;Ml(A,61086)|0;Ml(A,n)|0;Ml(A,61041)|0;break}default:{}}return}function yi(A){A=A|0;var e=0;e=f[A+16>>2]|0;switch(f[A+64>>2]|0){case 2:{pi(A,f[e+264>>2]|0,f[e+272>>2]|0,f[e+268>>2]|0,f[e+208>>2]|0,f[e+228>>2]|0,f[e+244>>2]|0,f[e+212>>2]|0);break}case 3:{pi(A,f[e+264>>2]|0,f[e+272>>2]|0,f[e+268>>2]|0,f[e+208>>2]|0,f[e+228>>2]|0,f[e+244>>2]|0,f[e+212>>2]|0);Ml(A,61045)|0;break}default:{}}return}function Yi(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0;a=f[A+16>>2]|0;pi(A,f[a+264>>2]|0,f[a+272>>2]|0,f[a+268>>2]|0,e,i,r,n);return}function pi(A,e,i,n,a,t,l,c){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;c=c|0;var s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0.0;I=v;v=v+128|0;G=I+120|0;g=I+112|0;d=I+96|0;h=I+80|0;w=I+56|0;Z=I+48|0;k=I+40|0;m=I+24|0;B=I;A:do{if((i|0)!=0&(n|0)!=0){s=n+10|0;if((f[41900]|0)<(n|0)){f[41900]=s;b=FW(f[41901]|0,s<<3)|0;f[41901]=b}else b=f[41901]|0;s=0;while(1){if((s|0)>=(n|0))break;C=+o[i+(s<<4)>>3];f[b+(s<<3)>>2]=~~(C+(C>=0.0?.5:-.5));C=+o[i+(s<<4)+8>>3];f[b+(s<<3)+4>>2]=~~(C+(C>=0.0?.5:-.5));s=s+1|0}u=A+64|0;s=f[u>>2]|0;i=(a|0)!=0;if(i&(s|0)==0){if(!(r[a>>0]|0))break;switch(e|0){case 0:{m=f[b>>2]|0;Z=f[b+12>>2]|0;G=f[b+8>>2]|0;n=f[b+4>>2]|0;f[B>>2]=a;f[B+4>>2]=m;f[B+8>>2]=Z;f[B+12>>2]=G;f[B+16>>2]=n;Vl(A,60787,B);break A}case 1:{Z=f[b>>2]|0;G=f[b+4>>2]|0;n=(f[b+8>>2]|0)-Z|0;f[m>>2]=a;f[m+4>>2]=Z;f[m+8>>2]=G;f[m+12>>2]=n;Vl(A,60808,m);break A}case 2:{f[k>>2]=a;Vl(A,60828,k);s=0;while(1){if((s|0)>=(n|0))break;m=f[41901]|0;G=f[m+(s<<3)+4>>2]|0;f[Z>>2]=f[m+(s<<3)>>2];f[Z+4>>2]=G;Vl(A,60836,Z);s=s+1|0}Ml(A,134901)|0;break A}default:BA(123205,60843,63,60863)}}if(i&(s|0)==1){if(!(r[a>>0]|0))break;if(!e){Z=f[b+12>>2]|0;G=f[b+8>>2]|0;n=f[b+4>>2]|0;f[w>>2]=f[b>>2];f[w+4>>2]=Z;f[w+8>>2]=G;f[w+12>>2]=n;f[w+16>>2]=a;f[w+20>>2]=t;Vl(A,60880,w);break}else BA(123205,60843,75,60863)}if((s&-2|0)==2){switch(e|0){case 1:{Ml(A,60913)|0;break}case 0:{Ml(A,60934)|0;break}case 2:{Ml(A,60953)|0;break}default:BA(123205,60843,91,60863)}if(c|0?r[c>>0]|0:0){Ml(A,66433)|0;Ml(A,zb(c)|0)|0;Ml(A,83714)|0}if(i?r[a>>0]|0:0){Ml(A,60972)|0;Ml(A,zb(a)|0)|0;Ml(A,83714)|0}if(l|0?r[l>>0]|0:0){Ml(A,67392)|0;Ml(A,Vb(l)|0)|0;Ml(A,83714)|0}if(t|0?r[t>>0]|0:0){Ml(A,60980)|0;Ml(A,Vb(t)|0)|0;Ml(A,83714)|0}Ml(A,60989)|0;Ml(A,60997)|0;e:do{switch(e|0){case 1:{n=f[41901]|0;Z=f[n>>2]|0;G=f[n+4>>2]|0;n=(f[n+8>>2]|0)-Z|0;f[h>>2]=Z;f[h+4>>2]=G;f[h+8>>2]=n;Vl(A,61007,h);break}case 0:{m=f[41901]|0;Z=f[m+12>>2]|0;G=f[m+8>>2]|0;n=f[m+4>>2]|0;f[d>>2]=f[m>>2];f[d+4>>2]=Z;f[d+8>>2]=G;f[d+12>>2]=n;Vl(A,61016,d);break}case 2:{Z=f[41901]|0;s=f[Z+4>>2]|0;f[g>>2]=f[Z>>2];f[g+4>>2]=s;Vl(A,61028,g);s=1;while(1){if((s|0)>=(n|0))break e;m=f[41901]|0;Z=f[m+(s<<3)+4>>2]|0;f[G>>2]=f[m+(s<<3)>>2];f[G+4>>2]=Z;Vl(A,61034,G);s=s+1|0}}default:{}}}while(0);if((f[u>>2]|0)==3){Ml(A,66257)|0;break}else{Ml(A,61041)|0;break}}}}while(0);v=I;return}function Vi(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;n=f[A+16>>2]|0;Ml(A,61456)|0;c=f[f[A+12>>2]>>2]|0;l=f[c+4>>2]|0;t=f[c+8>>2]|0;f[a>>2]=f[c>>2];f[a+4>>2]=l;f[a+8>>2]=t;Vl(A,61466,a);f[r>>2]=Ap(f[n+8>>2]|0)|0;Vl(A,61501,r);f[i>>2]=X(f[A+168>>2]|0,f[A+164>>2]|0)|0;Vl(A,61514,i);Ml(A,61527)|0;Ml(A,61537)|0;Ml(A,61545)|0;Ml(A,61553)|0;Ml(A,61561)|0;Ml(A,61569)|0;Ml(A,61577)|0;Ml(A,61581)|0;Ml(A,61586)|0;v=e;return}function Ni(A){A=A|0;Ml(A,61437)|0;return}function Wi(A){A=A|0;f[41902]=2;return}function zi(A){A=A|0;f[41902]=1;return}function Ji(A){A=A|0;f[41902]=2;return}function Pi(A){A=A|0;f[41902]=0;return}function Ri(A){A=A|0;f[41902]=2;return}function Hi(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0.0,B=0.0,k=0;u=v;v=v+80|0;s=u;l=f[(f[A+16>>2]|0)+16>>2]|0;c=f[41902]|0;n=f[i+4>>2]|0;a=+o[A+352>>3]*+o[n+16>>3];t=f[A+360>>2]|0?1.5707963267948966:0.0;n=f[n+8>>2]|0;if(!n)n=-1;else n=f[n+20>>2]|0;k=r[i+48>>0]|0;B=+o[e>>3];b=+o[e+8>>3];i=Oi(f[i>>2]|0)|0;f[s>>2]=4;f[s+4>>2]=k<<24>>24==108?0:k<<24>>24==114?2:1;f[s+8>>2]=l;f[s+12>>2]=c;f[s+16>>2]=0;f[s+20>>2]=n;o[s+24>>3]=a;o[s+32>>3]=t;f[s+40>>2]=4;o[s+48>>3]=0.0;o[s+56>>3]=0.0;f[s+64>>2]=~~(B+(B>=0.0?.5:-.5));f[s+68>>2]=~~(b+(b>=0.0?.5:-.5));f[s+72>>2]=i;Vl(A,61382,s);v=u;return}function Li(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;u=v;v=v+32|0;c=u;l=u+20|0;s=e+32|0;A:do{switch(f[s>>2]|0){case 5:{i=0;while(1){n=f[12652+(i<<2)>>2]|0;if((i|0)==8)break A;t=f[e>>2]|0;if((r[n>>0]|0)==(r[t>>0]|0)?(oz(n,t)|0)==0:0){o=10;break A}i=i+1|0}}case 1:{n=e+1|0;t=e+2|0;i=(ji(l,a[e>>0]|0,a[n>>0]|0,a[t>>0]|0)|0)+32|0;if(!(f[l>>2]|0))o=10;else{b=a[e>>0]|0;l=a[n>>0]|0;o=a[t>>0]|0;f[c>>2]=0;f[c+4>>2]=i;f[c+8>>2]=b;f[c+12>>2]=l;f[c+16>>2]=o;Vl(A,61325,c);o=10}break}case 0:{i=0;o=10;break}default:BA(123205,61346,168,61365)}}while(0);if((o|0)==10)f[e>>2]=i;f[s>>2]=6;v=u;return}function Fi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0,c=0,s=0.0,u=0.0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0;r=v;v=v+112|0;n=r+8|0;g=r+104|0;d=r;c=f[A+16>>2]|0;h=~~+o[c+152>>3];w=f[c+16>>2]|0;k=f[c+56>>2]|0;B=f[41902]|0;Ui(c,g,d);u=+o[e>>3];c=~~(u+(u>=0.0?.5:-.5));s=+o[e+8>>3];l=~~(s+(s>=0.0?.5:-.5));t=+o[e+16>>3];u=t-u;a=+o[e+24>>3];s=a-s;e=f[g>>2]|0;b=+o[d>>3];f[n>>2]=1;f[n+4>>2]=1;f[n+8>>2]=e;f[n+12>>2]=h;f[n+16>>2]=w;f[n+20>>2]=k;f[n+24>>2]=B;f[n+28>>2]=0;f[n+32>>2]=i|0?20:-1;o[n+40>>3]=b;f[n+48>>2]=0;o[n+56>>3]=0.0;f[n+64>>2]=c;f[n+68>>2]=l;f[n+72>>2]=~~(u+(u>=0.0?.5:-.5));f[n+76>>2]=~~(s+(s>=0.0?.5:-.5));f[n+80>>2]=c;f[n+84>>2]=l;f[n+88>>2]=~~(t+(t>=0.0?.5:-.5));f[n+92>>2]=~~(a+(a>=0.0?.5:-.5));Vl(A,61260,n);v=r;return}function Di(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0;n=v;v=v+96|0;a=n+8|0;b=n+80|0;B=n;k=f[A+16>>2]|0;u=~~+o[k+152>>3];s=f[k+16>>2]|0;c=f[k+56>>2]|0;l=f[41902]|0;Ui(k,b,B);b=f[b>>2]|0;t=+o[B>>3];f[a>>2]=2;f[a+4>>2]=3;f[a+8>>2]=b;f[a+12>>2]=u;f[a+16>>2]=s;f[a+20>>2]=c;f[a+24>>2]=l;f[a+28>>2]=0;f[a+32>>2]=r|0?20:-1;o[a+40>>3]=t;f[a+48>>2]=0;f[a+52>>2]=0;f[a+56>>2]=0;f[a+60>>2]=0;f[a+64>>2]=0;f[a+68>>2]=i+1;Vl(A,61164,a);Si(A,e,i,1);v=n;return}function Xi(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0.0,Y=0.0,p=0;Q=v;v=v+192|0;E=Q+176|0;C=Q+168|0;M=Q+104|0;I=Q+96|0;n=Q+88|0;g=Q+180|0;m=Q+80|0;Z=Q+16|0;G=Q;r=A+16|0;B=f[r>>2]|0;k=~~+o[B+152>>3];w=f[B+16>>2]|0;h=f[41902]|0;d=RW((i*140|0)+140|0)|0;Ui(B,g,m);if(!a){b=4;l=0;c=-1}else{b=5;l=f[(f[r>>2]|0)+56>>2]|0;c=20}Y=+o[e>>3];u=Z+48|0;o[u>>3]=Y;y=+o[e+8>>3];o[Z+56>>3]=y;f[n>>2]=~~(Y+(Y>=0.0?.5:-.5));f[n+4>>2]=~~(y+(y>=0.0?.5:-.5));s=G+8|0;r=d+(iP(d,73932,n)|0)|0;B=1;a=0;while(1){t=a+3|0;if((t|0)>=(i|0))break;f[Z>>2]=f[u>>2];f[Z+4>>2]=f[u+4>>2];f[Z+8>>2]=f[u+8>>2];f[Z+12>>2]=f[u+12>>2];n=1;while(1){if((n|0)==4){n=1;break}p=n+a|0;o[Z+(n<<4)>>3]=+o[e+(p<<4)>>3];o[Z+(n<<4)+8>>3]=+o[e+(p<<4)+8>>3];n=n+1|0}while(1){if((n|0)==7)break;eC(G,Z,3,+(n|0)*.16666666666666666,0,0);y=+o[G>>3];Y=+o[s>>3];f[I>>2]=~~(y+(y>=0.0?.5:-.5));f[I+4>>2]=~~(Y+(Y>=0.0?.5:-.5));n=n+1|0;r=r+(iP(r,73932,I)|0)|0}B=B+6|0;a=t}n=f[g>>2]|0;Y=+o[m>>3];f[M>>2]=3;f[M+4>>2]=b;f[M+8>>2]=n;f[M+12>>2]=k;f[M+16>>2]=w;f[M+20>>2]=l;f[M+24>>2]=h;f[M+28>>2]=0;f[M+32>>2]=c;o[M+40>>3]=Y;f[M+48>>2]=0;f[M+52>>2]=0;f[M+56>>2]=0;f[M+60>>2]=B;Vl(A,61215,M);f[C>>2]=d;Vl(A,73939,C);HW(d);n=B+-1|0;r=0;while(1){if((r|0)>=(B|0))break;f[E>>2]=((r|0)%(n|0)|0|0)!=0&1;Vl(A,73944,E);r=r+1|0}Ml(A,134901)|0;v=Q;return}function xi(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0,l=0,c=0,s=0,u=0,b=0;r=v;v=v+96|0;n=r+8|0;s=r+80|0;u=r;b=f[A+16>>2]|0;c=~~+o[b+152>>3];l=f[b+16>>2]|0;t=f[41902]|0;Ui(b,s,u);s=f[s>>2]|0;a=+o[u>>3];f[n>>2]=2;f[n+4>>2]=1;f[n+8>>2]=s;f[n+12>>2]=c;f[n+16>>2]=l;f[n+20>>2]=0;f[n+24>>2]=t;f[n+28>>2]=0;f[n+32>>2]=0;o[n+40>>3]=a;f[n+48>>2]=0;f[n+52>>2]=0;f[n+56>>2]=0;f[n+60>>2]=0;f[n+64>>2]=0;f[n+68>>2]=i;Vl(A,61164,n);Si(A,e,i,0);v=r;return}function Ti(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;Vl(A,61158,r);v=i;return}function Ui(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(f[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}f[e>>2]=A;o[i>>3]=r;return}function Si(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0.0;l=v;v=v+16|0;t=l+8|0;a=l;n=0;while(1){if((n|0)>=(i|0))break;s=+o[e+(n<<4)>>3];c=+o[e+(n<<4)+8>>3];f[a>>2]=~~(s+(s>=0.0?.5:-.5));f[a+4>>2]=~~(c+(c>=0.0?.5:-.5));Vl(A,73932,a);n=n+1|0}if(r|0){c=+o[e>>3];s=+o[e+8>>3];f[t>>2]=~~(c+(c>=0.0?.5:-.5));f[t+4>>2]=~~(s+(s>=0.0?.5:-.5));Vl(A,73932,t)}Ml(A,134901)|0;v=l;return}function ji(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;f[A>>2]=0;o=f[41903]|0;t=195075;a=0;l=-1;while(1){if((a|0)>=(o|0)){s=6;break}u=(n[172344+(a<<1)>>1]|0)-e|0;b=(n[172856+(a<<1)>>1]|0)-i|0;c=(n[173368+(a<<1)>>1]|0)-r|0;c=(X(b,b)|0)+(X(u,u)|0)+(X(c,c)|0)|0;if((c|0)<(t|0))if(!c)break;else{t=c;l=a}a=a+1|0}if((s|0)==6){f[41903]=o+1;if((o|0)==256)a=l;else{n[172344+(a<<1)>>1]=e;n[172856+(a<<1)>>1]=i;n[173368+(a<<1)>>1]=r;f[A>>2]=1}}return a|0}function Oi(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;e=f[41904]|0;if(!e){f[41905]=64;e=RW(64)|0;f[41904]=e;i=0}else i=0;while(1){a=A+1|0;n=r[A>>0]|0;if(!(n<<24>>24))break;A=f[41905]|0;if((i|0)>(A+-8|0)){e=A<<1;f[41905]=e;e=FW(f[41904]|0,e)|0;f[41904]=e;e=e+i|0}if(n<<24>>24<=-1){r[e>>0]=92;f[t>>2]=n&255;iP(e+1|0,74057,t)|0;A=a;e=e+4|0;i=i+4|0;continue}if(n<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=n;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=l;return f[41904]|0}function Ki(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;i=v;v=v+16|0;e=i;Ml(A,66165)|0;if((f[A+64>>2]|0)==2)Ml(A,66180)|0;else Ml(A,134901)|0;a=f[f[A+12>>2]>>2]|0;n=f[a+4>>2]|0;r=f[a+8>>2]|0;f[e>>2]=f[a>>2];f[e+4>>2]=n;f[e+8>>2]=r;Vl(A,66191,e);v=i;return}function _i(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;a=v;v=v+32|0;n=a+8|0;r=a;Ml(A,66119)|0;i=A+64|0;e=A+12|0;if((f[i>>2]|0)!=2){f[r>>2]=f[(f[e>>2]|0)+28>>2];Vl(A,66130,r)}if((f[(f[e>>2]|0)+20>>2]|0)==0?(f[i>>2]|0)!=2:0){e=f[A+476>>2]|0;i=f[A+480>>2]|0;r=f[A+484>>2]|0;f[n>>2]=f[A+472>>2];f[n+4>>2]=e;f[n+8>>2]=i;f[n+12>>2]=r;Vl(A,62499,n)}Ml(A,66145)|0;Ml(A,66158)|0;v=a;return}function qi(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;o=v;v=v+32|0;c=o+24|0;n=o+8|0;l=o;a=f[A+16>>2]|0;r[173896]=0;i=A+12|0;t=a+8|0;if(!(f[(f[i>>2]|0)+28>>2]|0)){f[l>>2]=Ap(f[t>>2]|0)|0;Vl(A,62430,l);e=A+64|0;if((f[e>>2]|0)==2)Ml(A,62463)|0;else Ml(A,62445)|0;do{if(!(f[(f[i>>2]|0)+20>>2]|0))if((f[e>>2]|0)==2){u=f[A+460>>2]|0;s=f[A+464>>2]|0;e=f[A+468>>2]|0;f[n>>2]=f[A+456>>2];f[n+4>>2]=u;f[n+8>>2]=s;f[n+12>>2]=e;Vl(A,62499,n);break}else{Ml(A,62475)|0;break}}while(0);Ml(A,62529)|0;hZ(A,f[(f[i>>2]|0)+24>>2]|0,12928);gZ(A);e=f[(f[i>>2]|0)+20>>2]|0;if(e|0){f[l>>2]=f[e>>2];f[l+4>>2]=0;hZ(A,0,l)}}f[41906]=(r[(f[(f[t>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(r[173896]|0)){Ml(A,62549)|0;r[173896]=1}e=f[a+208>>2]|0;if(e|0){f[c>>2]=mZ(e,f[41906]|0)|0;Vl(A,62562,c)}v=o;return}function $i(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;e=v;v=v+16|0;n=e;f[n>>2]=i;f[n+4>>2]=r;Vl(A,62414,n);v=e;return}function Ar(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0.0,m=0.0,Z=0.0;h=v;v=v+144|0;w=h+128|0;k=h+112|0;B=h+72|0;b=h+56|0;u=h+40|0;s=h+32|0;r=h+24|0;e=h+8|0;i=h;n=f[A+456>>2]|0;l=f[A+460>>2]|0;a=f[A+464>>2]|0;t=f[A+468>>2]|0;c=A+12|0;d=(f[(f[c>>2]|0)+28>>2]|0)+1|0;f[i>>2]=d;f[i+4>>2]=d;Vl(A,62041,i);if(!(f[(f[c>>2]|0)+20>>2]|0)){f[e>>2]=n;f[e+4>>2]=l;f[e+8>>2]=a;f[e+12>>2]=t;Vl(A,62058,e)}i=A+360|0;f[r>>2]=f[i>>2]|0?62092:62102;Vl(A,62111,r);e=A+64|0;if((f[e>>2]|0)==1){f[s>>2]=a;f[s+4>>2]=t;Vl(A,62136,s)}s=f[A+200>>2]|0;d=f[A+204>>2]|0;f[u>>2]=f[A+196>>2];f[u+4>>2]=s;f[u+8>>2]=d;Vl(A,62175,u);if(!(f[(f[c>>2]|0)+20>>2]|0)){f[b>>2]=n;f[b+4>>2]=l;f[b+8>>2]=a-n;f[b+12>>2]=t-l;Vl(A,62195,b)}Z=+o[A+496>>3];d=f[i>>2]|0;m=+o[A+504>>3];g=+o[A+512>>3];o[B>>3]=+o[A+488>>3];o[B+8>>3]=Z;f[B+16>>2]=d;o[B+24>>3]=m;o[B+32>>3]=g;Vl(A,62235,B);if((f[e>>2]|0)==1){if((a|0)>14399|(t|0)>14399){d=f[(f[c>>2]|0)+16>>2]|0;f[k>>2]=a;f[k+4>>2]=t;f[k+8>>2]=14400;EL[d&31](62278,k)}f[w>>2]=n;f[w+4>>2]=l;f[w+8>>2]=a;f[w+12>>2]=t;Vl(A,62373,w)}v=h;return}function er(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=A+12|0;if(f[(f[e>>2]|0)+20>>2]|0){Ml(A,61965)|0;hZ(A,0,(f[(f[e>>2]|0)+20>>2]|0)+4|0)}Ml(A,61982)|0;Ml(A,62009)|0;f[i>>2]=f[(f[e>>2]|0)+28>>2];Vl(A,62024,i);v=r;return}function ir(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;f[i>>2]=Ap(f[(f[A+16>>2]|0)+8>>2]|0)|0;Vl(A,61958,i);Ml(A,61951)|0;v=e;return}function rr(A){A=A|0;Ml(A,77394)|0;return}function nr(A){A=A|0;Ml(A,61951)|0;return}function fr(A){A=A|0;Ml(A,77394)|0;return}function ar(A){A=A|0;Ml(A,61951)|0;return}function tr(A){A=A|0;Ml(A,77394)|0;return}function lr(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0;r=v;v=v+16|0;i=r;if(e|0?(a=(f[A+16>>2]|0)+272|0,f[a>>2]|0):0){Ml(A,61847)|0;Jl(A,f[a>>2]|0,2);Ml(A,61858)|0;f[i>>2]=mZ(e,f[41906]|0)|0;Vl(A,61862,i)}v=r;return}function cr(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0,l=0,c=0,s=0,u=0;s=v;v=v+32|0;l=s+8|0;c=s;n=f[A+16>>2]|0;if(!(+o[n+40>>3]<.5)){kr(A,n+16|0);t=i+4|0;Nl(A,+o[(f[t>>2]|0)+16>>3]);f[l>>2]=f[f[t>>2]>>2];Vl(A,61806,l);t=mZ(f[i>>2]|0,f[41906]|0)|0;switch(r[i+48>>0]|0){case 114:{u=i+32|0;n=u;a=+o[u>>3];break}case 108:{n=i+32|0;a=0.0;break}default:{u=i+32|0;n=u;a=+o[u>>3]*.5}}o[e>>3]=+o[e>>3]-a;u=e+8|0;o[u>>3]=+o[u>>3]+ +o[i+24>>3];f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];zl(A,l);Ml(A,61821)|0;Nl(A,+o[n>>3]);f[c>>2]=t;Vl(A,61830,c)}v=s;return}function or(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=v;v=v+32|0;n=a;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];o[n+16>>3]=+o[e+16>>3]-+o[e>>3];o[n+24>>3]=+o[e+24>>3]-+o[e+8>>3];e=A+16|0;if(i|0?(r=f[e>>2]|0,+o[r+80>>3]>.5):0){kr(A,r+56|0);Jl(A,n,2);Ml(A,61764)|0}if(+o[(f[e>>2]|0)+40>>3]>.5){wr(A);kr(A,(f[e>>2]|0)+16|0);Jl(A,n,2);Ml(A,61784)|0}v=a;return}function sr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;a=A+16|0;if(r|0?(n=f[a>>2]|0,+o[n+80>>3]>.5):0){kr(A,n+56|0);Ml(A,61685)|0;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];zl(A,t);Ml(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;n=e+(r<<4)|0;f[t>>2]=f[n>>2];f[t+4>>2]=f[n+4>>2];f[t+8>>2]=f[n+8>>2];f[t+12>>2]=f[n+12>>2];zl(A,t);Ml(A,61703)|0;r=r+1|0}Ml(A,61730)|0}if(+o[(f[a>>2]|0)+40>>3]>.5){wr(A);kr(A,(f[a>>2]|0)+16|0);Ml(A,61685)|0;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];zl(A,t);Ml(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;a=e+(r<<4)|0;f[t>>2]=f[a>>2];f[t+4>>2]=f[a+4>>2];f[t+8>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];zl(A,t);Ml(A,61703)|0;r=r+1|0}Ml(A,61746)|0}v=l;return}function ur(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0;c=v;v=v+16|0;n=c;t=A+16|0;if(a|0?(l=f[t>>2]|0,+o[l+80>>3]>.5):0){kr(A,l+56|0);Ml(A,61685)|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];zl(A,n);Ml(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;Jl(A,e+(r<<4)|0,3);Ml(A,61720)|0;r=r+3|0}Ml(A,61730)|0}if(+o[(f[t>>2]|0)+40>>3]>.5){wr(A);kr(A,(f[t>>2]|0)+16|0);Ml(A,61685)|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];zl(A,n);Ml(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;Jl(A,e+(r<<4)|0,3);Ml(A,61720)|0;r=r+3|0}Ml(A,61712)|0}v=c;return}function br(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;a=v;v=v+16|0;n=a;r=A+16|0;if(+o[(f[r>>2]|0)+40>>3]>.5){wr(A);kr(A,(f[r>>2]|0)+16|0);Ml(A,61685)|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];zl(A,n);Ml(A,61694)|0;r=1;while(1){if((r|0)>=(i|0))break;t=e+(r<<4)|0;f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[n+8>>2]=f[t+8>>2];f[n+12>>2]=f[t+12>>2];zl(A,n);Ml(A,61703)|0;r=r+1|0}Ml(A,61712)|0}v=a;return}function vr(A,e){A=A|0;e=e|0;Ml(A,61682)|0;Ml(A,e)|0;Ml(A,134901)|0;return}function Br(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+32|0;a=u+16|0;s=u+8|0;c=u;t=A+16|0;if(n|0?(l=f[t>>2]|0,+o[l+80>>3]>.5):0){kr(A,l+56|0);Ml(A,77289)|0;Jl(A,i,r);Ml(A,87638)|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];zl(A,a);f[c>>2]=r;f[c+4>>2]=e;Vl(A,61599,c)}if(+o[(f[t>>2]|0)+40>>3]>.5){wr(A);kr(A,(f[t>>2]|0)+16|0);Ml(A,77289)|0;Jl(A,i,r);Ml(A,87638)|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];zl(A,a);f[s>>2]=r;f[s+4>>2]=e;Vl(A,61615,s)}v=u;return}function kr(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0.0,t=0.0;n=v;v=v+32|0;r=n;if(e|0){switch(f[(f[A+16>>2]|0)+4>>2]|0){case 1:case 0:{i=96286;break}case 2:{i=96273;break}case 3:{i=96237;break}default:i=61651}t=+o[e+8>>3];a=+o[e+16>>3];o[r>>3]=+o[e>>3];o[r+8>>3]=t;o[r+16>>3]=a;f[r+24>>2]=i;Vl(A,61658,r)}v=n;return}function wr(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0;s=v;v=v+16|0;c=s+8|0;l=s;a=A+16|0;t=f[a>>2]|0;e=f[t+160>>2]|0;Nl(A,+o[t+152>>3]);Ml(A,61632)|0;while(1){if(!e)break;t=e+4|0;n=f[e>>2]|0;if(!n)break;if(!(oz(n,95910)|0)){e=t;continue}else i=n;while(1){e=i+1|0;if(!(r[i>>0]|0))break;else i=e}A:while(1){if(!(r[e>>0]|0))break;f[l>>2]=e;Vl(A,61647,l);while(1){i=e+1|0;if(!(r[e>>0]|0)){e=i;continue A}else e=i}}if(!(oz(n,119127)|0))o[(f[a>>2]|0)+152>>3]=0.0;f[c>>2]=n;Vl(A,81633,c);e=t}v=s;return}function hr(A){A=A|0;var e=0;Ml(A,67671)|0;e=aY(f[(f[A>>2]|0)+168>>2]|0,67727)|0;if(e|0?r[e>>0]|0:0){Ml(A,67738)|0;Ml(A,e)|0;Ml(A,67762)|0}Ml(A,67783)|0;Ml(A,67831)|0;Ml(A,67885)|0;e=A+12|0;Ml(A,Vb(f[f[f[e>>2]>>2]>>2]|0)|0)|0;Ml(A,71014)|0;Ml(A,Vb(f[(f[f[e>>2]>>2]|0)+4>>2]|0)|0)|0;Ml(A,71024)|0;Ml(A,Vb(f[(f[f[e>>2]>>2]|0)+8>>2]|0)|0)|0;Ml(A,68267)|0;Ml(A,68291)|0;return}function dr(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0.0,c=0.0,s=0.0;t=v;v=v+48|0;a=t+16|0;n=t+8|0;i=t;e=f[A+16>>2]|0;Ml(A,67506)|0;e=e+8|0;if(r[(Ap(f[e>>2]|0)|0)>>0]|0){Ml(A,68230)|0;Ml(A,Vb(Ap(f[e>>2]|0)|0)|0)|0}f[i>>2]=X(f[A+168>>2]|0,f[A+164>>2]|0)|0;Vl(A,67511,i);i=f[A+452>>2]|0;f[n>>2]=f[A+448>>2];f[n+4>>2]=i;Vl(A,67527,n);s=+o[A+392>>3];c=+o[A+400>>3];l=+o[A+408>>3];o[a>>3]=+o[A+384>>3];o[a+8>>3]=s;o[a+16>>3]=c;o[a+24>>3]=l;Vl(A,67560,a);Ml(A,67591)|0;Ml(A,67627)|0;Ml(A,69221)|0;v=t;return}function gr(A){A=A|0;Ml(A,67498)|0;return}function mr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;xr(A,e,0,86583,f[(f[A+16>>2]|0)+8>>2]|0);Ml(A,69221)|0;return}function Zr(A){A=A|0;Ml(A,67346)|0;return}function Gr(A){A=A|0;var e=0,i=0,n=0,a=0;i=v;v=v+16|0;n=i;a=f[A+16>>2]|0;e=a+8|0;xr(A,f[a+212>>2]|0,0,96286,f[e>>2]|0);Ml(A,67450)|0;Nl(A,+o[A+488>>3]);Ml(A,87638)|0;Nl(A,+o[A+496>>3]);f[n>>2]=0-(f[A+360>>2]|0);Vl(A,67469,n);Nl(A,+o[A+504>>3]);Ml(A,87638)|0;Nl(A,-+o[A+512>>3]);Ml(A,67493)|0;if(r[(Ap(f[e>>2]|0)|0)>>0]|0){Ml(A,67402)|0;Ml(A,Vb(Ap(f[e>>2]|0)|0)|0)|0;Ml(A,67410)|0}v=i;return}function Ir(A){A=A|0;Ml(A,67346)|0;return}function Cr(A){A=A|0;var e=0,i=0;i=f[A+16>>2]|0;e=i+8|0;xr(A,f[i+212>>2]|0,0,93039,f[e>>2]|0);Ml(A,69221)|0;Ml(A,67402)|0;Ml(A,Vb(Ap(f[e>>2]|0)|0)|0)|0;Ml(A,67410)|0;return}function Mr(A){A=A|0;Ml(A,67346)|0;return}function Er(A){A=A|0;var e=0,i=0,r=0;i=f[A+16>>2]|0;e=f[A+160>>2]|0;if((e|0)>1)e=f[(f[(f[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0;else e=0;r=i+8|0;xr(A,f[i+212>>2]|0,e,96273,f[r>>2]|0);Ml(A,69221)|0;Ml(A,67402)|0;Ml(A,Vb(Ap(f[r>>2]|0)|0)|0)|0;Ml(A,67410)|0;return}function Qr(A){A=A|0;Ml(A,67346)|0;return}function yr(A){A=A|0;var e=0,i=0;i=f[A+16>>2]|0;e=i+8|0;xr(A,f[i+212>>2]|0,0,96237,f[e>>2]|0);Ml(A,69221)|0;Ml(A,67402)|0;e=pb(87129,f[e>>2]|0)|0;Ml(A,Vb(e)|0)|0;HW(e);Ml(A,67410)|0;return}function Yr(A){A=A|0;Ml(A,67346)|0;return}function pr(A,e,i,n,f){A=A|0;e=e|0;i=i|0;n=n|0;f=f|0;Ml(A,67352)|0;if(f|0){Ml(A,67355)|0;Ml(A,Vb(f)|0)|0;Ml(A,83714)|0}Ml(A,67245)|0;Ml(A,69182)|0;if(e|0?r[e>>0]|0:0){Ml(A,67363)|0;Ml(A,e)|0;Ml(A,83714)|0}if(i|0?r[i>>0]|0:0){Ml(A,67377)|0;Ml(A,Nb(i,1)|0)|0;Ml(A,83714)|0}if(n|0?r[n>>0]|0:0){Ml(A,67392)|0;Ml(A,Vb(n)|0)|0;Ml(A,83714)|0}Ml(A,69221)|0;return}function Vr(A){A=A|0;Ml(A,69176)|0;Ml(A,67346)|0;return}function Nr(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0.0,N=0,W=0,z=0,J=0,P=0,R=0;R=v;v=v+176|0;P=R+160|0;J=R+152|0;p=R+136|0;z=R+128|0;Y=R+120|0;y=R+112|0;Q=R+104|0;E=R+96|0;M=R+88|0;I=R+80|0;Z=R+72|0;m=R+64|0;g=R+56|0;d=R+48|0;t=R+40|0;k=R+32|0;h=R+24|0;w=R+16|0;B=R+8|0;b=R;W=f[A+16>>2]|0;Ml(A,66877)|0;switch(r[i+48>>0]|0){case 108:{Ml(A,66883)|0;break}case 114:{Ml(A,66904)|0;break}default:Ml(A,66923)|0}N=e+8|0;V=+o[N>>3]+ +o[i+24>>3];o[N>>3]=V;N=W+260|0;if(!(n[N>>1]&512)){Ml(A,66945)|0;Nl(A,+o[e>>3]);Ml(A,66950)|0;Nl(A,-V);Ml(A,83714)|0}G=i+4|0;e=f[G>>2]|0;u=f[e+8>>2]|0;if(u){switch(f[(f[(f[(f[A>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{s=u;e=u+16|0;t=u+8|0;break}case 2:{s=u+24|0;e=u+32|0;t=u+28|0;break}default:{s=u+4|0;e=u+16|0;t=u+8|0}}l=f[e>>2]|0;e=f[t>>2]|0;c=f[u+12>>2]|0;f[b>>2]=f[s>>2];Vl(A,66956,b);t=f[u+24>>2]|0;if(t|0){f[B>>2]=t;Vl(A,66973,B)}Ml(A,83714)|0;if(e|0){f[w>>2]=e;Vl(A,66977,w)}if(c|0){f[h>>2]=c;Vl(A,66995,h)}if(!l)l=0;else{f[k>>2]=l;Vl(A,67014,k)}}else{f[t>>2]=f[e>>2];Vl(A,67031,t);l=0;e=0}t=f[G>>2]|0;if(t|0?(C=f[t+24>>2]|0,C&127|0):0){if(!((e|0)!=0|(C&1|0)==0))Vl(A,67049,d);if(!((l|0)!=0|(C&2|0)==0))Vl(A,67069,g);if(C&100|0){Vl(A,67090,m);if(!(C&4))e=0;else{Vl(A,91030,Z);e=1}if(C&64){f[I>>2]=e|0?86030:174185;Vl(A,67109,I);e=1}if(C&32|0){f[M>>2]=e|0?86030:174185;Vl(A,67120,M)}Vl(A,83714,E)}if(C&8|0)Vl(A,67135,Q);if(C&16|0)Vl(A,67159,y)}o[Y>>3]=+o[(f[G>>2]|0)+16>>3];Vl(A,67181,Y);e=W+16|0;switch(f[W+48>>2]|0){case 5:{e=f[e>>2]|0;if(Oz(e,122106)|0){f[z>>2]=e;Vl(A,67199,z)}break}case 1:{Y=a[e+1>>0]|0;z=a[e+2>>0]|0;f[p>>2]=a[e>>0];f[p+4>>2]=Y;f[p+8>>2]=z;Vl(A,67210,p);break}default:BA(123205,66391,486,67232)}Ml(A,67245)|0;if(n[N>>1]&512){f[J>>2]=Vb(f[W+212>>2]|0)|0;Vl(A,67247,J);Ml(A,67296)|0;Nl(A,-V);Ml(A,67314)|0}Ml(A,Nb(f[i>>2]|0,1)|0)|0;if(n[N>>1]&512)Vl(A,67317,P);Ml(A,67337)|0;v=R;return}function Wr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;switch(i|0){case 2:{r=Fr(A,e,2)|0;break}case 3:{r=Dr(A)|0;break}default:r=0}Ml(A,66841)|0;Hr(A,i,r);Ml(A,66850)|0;Nl(A,+o[e>>3]);Ml(A,66856)|0;i=e+8|0;Nl(A,-+o[i>>3]);Ml(A,66863)|0;Nl(A,+o[e+16>>3]-+o[e>>3]);Ml(A,66870)|0;Nl(A,+o[e+24>>3]-+o[i>>3]);Ml(A,66257)|0;return}function zr(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;switch(r|0){case 2:{n=Fr(A,e,i)|0;break}case 3:{n=Dr(A)|0;break}default:n=0}Ml(A,66832)|0;Hr(A,r,n);Ml(A,66247)|0;n=0;while(1){if((n|0)>=(i|0))break;Nl(A,+o[e+(n<<4)>>3]);Ml(A,86030)|0;Nl(A,-+o[e+(n<<4)+8>>3]);Ml(A,87638)|0;n=n+1|0}Nl(A,+o[e>>3]);Ml(A,86030)|0;Nl(A,-+o[e+8>>3]);Ml(A,66257)|0;return}function Jr(A,e,i,r,a,t){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;t=t|0;a=f[A+16>>2]|0;switch(t|0){case 2:{r=Fr(A,e,i)|0;break}case 3:{r=Dr(A)|0;break}default:r=0}Ml(A,66427)|0;if(n[a+260>>1]&512){Ml(A,66433)|0;Ml(A,Vb(f[a+212>>2]|0)|0)|0;Ml(A,66439)|0}Hr(A,t,r);Ml(A,66444)|0;Xr(A,e,i);Ml(A,66257)|0;return}function Pr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;Ml(A,66237)|0;Hr(A,0,0);Ml(A,66247)|0;r=0;while(1){if((r|0)>=(i|0))break;Nl(A,+o[e+(r<<4)>>3]);Ml(A,86030)|0;Nl(A,-+o[e+(r<<4)+8>>3]);Ml(A,87638)|0;r=r+1|0}Ml(A,66257)|0;return}function Rr(A,e){A=A|0;e=e|0;Ml(A,66231)|0;Ml(A,Vb(e)|0)|0;Ml(A,68291)|0;return}function Hr(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+96|0;c=k+48|0;B=k+40|0;u=k+32|0;b=k+24|0;l=k+16|0;a=k+8|0;n=k;s=f[A+16>>2]|0;Ml(A,66262)|0;A:do{switch(e|0){case 2:{f[n>>2]=i;Vl(A,66270,n);break}case 3:{f[a>>2]=i;Vl(A,66281,a);break}case 0:{Ml(A,120501)|0;break}default:{e=s+56|0;n=c;a=e;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));Lr(A,c);if((f[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}o[l>>3]=+(e&255)*.00392156862745098;Vl(A,66292,l)}}}}while(0);Ml(A,66311)|0;i=s+16|0;n=c;a=i;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));Lr(A,c);e=s+152|0;if(+o[e>>3]!=1.0){Ml(A,66322)|0;Nl(A,+o[e>>3])}switch(f[s+144>>2]|0){case 1:{f[b>>2]=66362;Vl(A,66339,b);break}case 2:{f[u>>2]=66366;Vl(A,66339,u);break}default:{}}A:do{if((f[s+48>>2]|0)==1){e=r[i+3>>0]|0;switch(e<<24>>24){case-1:case 0:break A;default:{}}o[B>>3]=+(e&255)*.00392156862745098;Vl(A,66370,B)}}while(0);Ml(A,83714)|0;v=k;return}function Lr(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0;n=v;v=v+16|0;i=n;A:do{switch(f[e+32>>2]|0){case 5:{Ml(A,f[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){Ml(A,122171)|0;break A}else{l=a[e+1>>0]|0;t=a[e+2>>0]|0;f[i>>2]=a[e>>0];f[i+4>>2]=l;f[i+8>>2]=t;Vl(A,68547,i);break A}default:BA(123205,66391,117,66411)}}while(0);v=n;return}function Fr(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0,t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+112|0;b=d+64|0;w=d+56|0;u=d+48|0;s=d+40|0;a=d+32|0;l=d;k=f[41908]|0;f[41908]=k+1;B=f[A+16>>2]|0;n=+(f[B+136>>2]|0)*.017453292519943295;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;Rv(e,l,i,n,0);f[b>>2]=k;Vl(A,66664,b);Ml(A,66729)|0;Nl(A,+o[l>>3]);Ml(A,66734)|0;Nl(A,+o[l+8>>3]);Ml(A,66741)|0;Nl(A,+o[l+16>>3]);Ml(A,66748)|0;Nl(A,+o[l+24>>3]);Ml(A,66755)|0;l=B+140|0;n=+c[l>>2];if(n>0.0){o[a>>3]=n+-.001;Vl(A,66760,a)}else Ml(A,66536)|0;e=B+56|0;i=b;a=e;t=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(t|0));Lr(A,b);Ml(A,66572)|0;A:do{if((f[B+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{h=7;break A}default:{}}o[s>>3]=+(e&255)*.00392156862745098;Vl(A,84631,s)}else h=7}while(0);if((h|0)==7)Ml(A,66587)|0;Ml(A,66590)|0;n=+c[l>>2];if(n>0.0){o[u>>3]=n;Vl(A,66760,u)}else Ml(A,66596)|0;e=B+96|0;i=b;a=e;t=i+40|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(t|0));Lr(A,b);Ml(A,66572)|0;A:do{if((f[B+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{h=14;break A}default:{}}o[w>>3]=+(e&255)*.00392156862745098;Vl(A,84631,w)}else h=14}while(0);if((h|0)==14)Ml(A,66587)|0;Ml(A,66800)|0;v=d;return k|0}function Dr(A){A=A|0;var e=0,i=0.0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0;k=v;v=v+64|0;c=k+16|0;b=k+8|0;l=k;u=f[41907]|0;f[41907]=u+1;s=f[A+16>>2]|0;w=+(f[s+136>>2]|0)*.017453292519943295;i=w;if(w==0.0){n=50;e=50}else{n=~~((+N(+i)+1.0)*50.0);e=~~((1.0-+W(+i))*50.0)}f[c>>2]=u;f[c+4>>2]=n;f[c+8>>2]=e;Vl(A,66452,c);Ml(A,66536)|0;e=s+56|0;n=c;a=e;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));Lr(A,c);Ml(A,66572)|0;A:do{if((f[s+88>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=6;break A}default:{}}o[l>>3]=+(e&255)*.00392156862745098;Vl(A,84631,l)}else B=6}while(0);if((B|0)==6)Ml(A,66587)|0;Ml(A,66590)|0;Ml(A,66596)|0;e=s+96|0;n=c;a=e;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));Lr(A,c);Ml(A,66572)|0;A:do{if((f[s+128>>2]|0)==1){e=r[e+3>>0]|0;switch(e<<24>>24){case-1:case 0:{B=10;break A}default:{}}o[b>>3]=+(e&255)*.00392156862745098;Vl(A,84631,b)}else B=10}while(0);if((B|0)==10)Ml(A,66587)|0;Ml(A,66632)|0;v=k;return u|0}function Xr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t;r=77;n=0;while(1){if((n|0)>=(i|0))break;f[a>>2]=r;Vl(A,66449,a);Nl(A,+o[e+(n<<4)>>3]);Ml(A,86030)|0;Nl(A,-+o[e+(n<<4)+8>>3]);r=(n|0)==0?67:32;n=n+1|0}v=t;return}function xr(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0;c=v;v=v+16|0;l=c+8|0;t=c;Ml(A,67420)|0;Ml(A,Vb(e)|0)|0;if(i|0){f[t>>2]=Vb(i)|0;Vl(A,67428,t)}f[l>>2]=n;Vl(A,67432,l);e=aY(a,67444)|0;if(e|0?r[e>>0]|0:0){Ml(A,87638)|0;Ml(A,Vb(e)|0)|0}Ml(A,83714)|0;v=c;return}function Tr(A){A=A|0;var e=0;Ml(A,68251)|0;e=A+12|0;Ml(A,en(f[f[f[e>>2]>>2]>>2]|0)|0)|0;Ml(A,71014)|0;Ml(A,en(f[(f[f[e>>2]>>2]|0)+4>>2]|0)|0)|0;Ml(A,71024)|0;Ml(A,en(f[(f[f[e>>2]>>2]|0)+8>>2]|0)|0)|0;Ml(A,68267)|0;return}function Ur(A){A=A|0;var e=0,i=0,n=0;n=v;v=v+16|0;i=n;e=f[A+16>>2]|0;Ml(A,68228)|0;e=e+8|0;if(r[(Ap(f[e>>2]|0)|0)>>0]|0){Ml(A,68230)|0;Ml(A,en(Ap(f[e>>2]|0)|0)|0)|0}f[i>>2]=X(f[A+168>>2]|0,f[A+164>>2]|0)|0;Vl(A,68239,i);f[41909]=0;v=n;return}function Sr(A){A=A|0;f[41909]=1;return}function jr(A){A=A|0;f[41909]=-1;return}function Or(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+48|0;t=u+8|0;s=u;n=f[A+16>>2]|0;if(f[n+144>>2]|0?(c=i+4|0,l=~~(+o[A+352>>3]*+o[(f[c>>2]|0)+16>>3]),l|0):0){rn(A);Ml(A,68167)|0;a=e+8|0;o[a>>3]=+o[a>>3]-+(l|0)*.55;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];zl(A,t);Ml(A,68181)|0;Ml(A,f[i>>2]|0)|0;Ml(A,68190)|0;Ml(A,67988)|0;a=t;e=n+16|0;n=a+40|0;do{f[a>>2]=f[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(n|0));nn(A,t);Ml(A,68192)|0;t=f[c>>2]|0;c=f[t+8>>2]|0;c=f[((c|0)==0?t:c+4|0)>>2]|0;Ml(A,83714)|0;Ml(A,c)|0;Ml(A,83714)|0;f[s>>2]=l;Vl(A,68201,s);switch(r[i+48>>0]|0){case 108:{Ml(A,68206)|0;break}case 114:{Ml(A,68217)|0;break}default:{}}fn(A);Ml(A,134901)|0}v=u;return}function Kr(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0.0,s=0.0,u=0.0;l=v;v=v+48|0;n=l;a=f[A+16>>2]|0;t=a+144|0;if(f[t>>2]|0){u=+o[e>>3];s=+o[e+24>>3];r=e+8|0;c=+o[r>>3];o[e>>3]=u-+o[e+16>>3]+u;o[r>>3]=c-s+c;rn(A);Ml(A,68153)|0;Jl(A,e,2);Ml(A,67988)|0;do{if(!i)if(!(f[41909]|0)){Ml(A,82272)|0;break}else{Ml(A,121990)|0;break}else{e=n;i=a+56|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nn(A,n)}}while(0);if((f[41909]|0)==1)f[41909]=0;Ml(A,68099)|0;Nl(A,+o[a+152>>3]);Ml(A,68142)|0;e=n;i=a+16|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nn(A,n);e=f[t>>2]|0;if((e|0)==1){Ml(A,67996)|0;e=f[t>>2]|0}if((e|0)==2)Ml(A,68005)|0;fn(A);Ml(A,134901)|0}v=l;return}function _r(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+48|0;n=l;a=f[A+16>>2]|0;t=a+144|0;if(f[t>>2]|0){rn(A);Ml(A,68125)|0;Jl(A,e,i);Ml(A,67988)|0;do{if(!r)if(!(f[41909]|0)){Ml(A,82272)|0;break}else{Ml(A,121990)|0;break}else{e=n;i=a+56|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nn(A,n)}}while(0);if((f[41909]|0)==1)f[41909]=0;Ml(A,68099)|0;Nl(A,+o[a+152>>3]);Ml(A,68142)|0;e=n;i=a+16|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));nn(A,n);e=f[t>>2]|0;if((e|0)==1){Ml(A,67996)|0;e=f[t>>2]|0}if((e|0)==2)Ml(A,68005)|0;fn(A);Ml(A,134901)|0}v=l;return}function qr(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0;s=v;v=v+48|0;t=s;l=f[A+16>>2]|0;c=l+144|0;if(f[c>>2]|0){rn(A);Ml(A,67974)|0;Jl(A,e,i);Ml(A,67988)|0;r=t;n=l+16|0;a=r+40|0;do{f[r>>2]=f[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(a|0));nn(A,t);Ml(A,68099)|0;Nl(A,+o[l+152>>3]);r=f[c>>2]|0;if((r|0)==1){Ml(A,67996)|0;r=f[c>>2]|0}if((r|0)==2)Ml(A,68005)|0;Ml(A,68108)|0;fn(A);Ml(A,134901)|0}v=s;return}function $r(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;l=v;v=v+48|0;a=l;r=f[A+16>>2]|0;t=r+144|0;if(f[t>>2]|0){rn(A);Ml(A,67974)|0;Jl(A,e,i);Ml(A,67988)|0;n=a;e=r+16|0;i=n+40|0;do{f[n>>2]=f[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(i|0));nn(A,a);e=f[t>>2]|0;if((e|0)==1){Ml(A,67996)|0;e=f[t>>2]|0}if((e|0)==2)Ml(A,68005)|0;fn(A);Ml(A,134901)|0}v=l;return}function An(A,e){A=A|0;e=e|0;Ml(A,67971)|0;Ml(A,en(e)|0)|0;Ml(A,134901)|0;return}function en(A){A=A|0;return A|0}function rn(A){A=A|0;if(!(r[A+144>>0]|0))Ml(A,68096)|0;else Ml(A,f[A+148>>2]|0)|0;return}function nn(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0;n=v;v=v+16|0;i=n;A:do{switch(f[e+32>>2]|0){case 5:{Ml(A,f[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){Ml(A,82272)|0;break A}else{l=a[e+1>>0]|0;t=a[e+2>>0]|0;f[i>>2]=a[e>>0];f[i+4>>2]=l;f[i+8>>2]=t;Vl(A,68547,i);break A}default:BA(123205,68014,49,68078)}}while(0);v=n;return}function fn(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t;n=f[A+16>>2]|0;switch(f[n+12>>2]|0){case 8:{e=1;i=96273;r=n+8|0;break}case 10:{e=0;i=96273;r=n+8|0;break}case 3:case 2:case 9:{e=1;i=96237;r=n+8|0;break}case 7:case 6:case 11:{e=0;i=96237;r=n+8|0;break}case 0:{e=1;i=96286;r=n+8|0;break}case 4:{e=0;i=68050;r=n+8|0;break}case 1:{e=1;i=96286;r=n+8|0;break}case 5:{e=0;i=96286;r=n+8|0;break}default:BA(123205,68014,106,68033)}n=f[(f[r>>2]|0)+8>>2]|0;f[a>>2]=e;f[a+4>>2]=i;f[a+8>>2]=n;Vl(A,68062,a);v=t;return}function an(A){A=A|0;var e=0;Ml(A,70986)|0;Ml(A,70994)|0;e=A+12|0;Ml(A,wn(f[f[f[e>>2]>>2]>>2]|0)|0)|0;Ml(A,71014)|0;Ml(A,wn(f[(f[f[e>>2]>>2]|0)+4>>2]|0)|0)|0;Ml(A,71024)|0;Ml(A,wn(f[(f[f[e>>2]>>2]|0)+8>>2]|0)|0)|0;Ml(A,71027)|0;return}function tn(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+32|0;t=l+24|0;a=l+16|0;n=l+8|0;i=l;e=f[A+16>>2]|0;f[41913]=~~(+o[A+232>>3]-+o[A+216>>3]);f[41912]=~~(+o[A+224>>3]-+o[A+208>>3]);Ml(A,69673)|0;Ml(A,69680)|0;e=Ap(f[e+8>>2]|0)|0;if(r[e>>0]|0){Ml(A,69749)|0;Ml(A,wn(e)|0)|0;Ml(A,69757)|0}f[i>>2]=X(f[A+168>>2]|0,f[A+164>>2]|0)|0;Vl(A,69766,i);Ml(A,69786)|0;Ml(A,69821)|0;Ml(A,69849)|0;Ml(A,69855)|0;Ml(A,69898)|0;Ml(A,69939)|0;Ml(A,69958)|0;Ml(A,69975)|0;Ml(A,70023)|0;Ml(A,70076)|0;Ml(A,70152)|0;Ml(A,70228)|0;Ml(A,70237)|0;Ml(A,70260)|0;Ml(A,70287)|0;Ml(A,70340)|0;Ml(A,70362)|0;Ml(A,70407)|0;Ml(A,70419)|0;Ml(A,70429)|0;Ml(A,70455)|0;Ml(A,70340)|0;Ml(A,70507)|0;Ml(A,70407)|0;Ml(A,70419)|0;Ml(A,70551)|0;Ml(A,70260)|0;Ml(A,70287)|0;Ml(A,70340)|0;Ml(A,70507)|0;Ml(A,70407)|0;Ml(A,70419)|0;Ml(A,70429)|0;Ml(A,70455)|0;Ml(A,70340)|0;Ml(A,70362)|0;Ml(A,70407)|0;Ml(A,70419)|0;Ml(A,70564)|0;Ml(A,70572)|0;Ml(A,70578)|0;Ml(A,70592)|0;Ml(A,70600)|0;Ml(A,70633)|0;i=(f[41913]|0)+10|0;f[n>>2]=f[41912];f[n+4>>2]=i;Vl(A,70710,n);Ml(A,70740)|0;Ml(A,70749)|0;Ml(A,70807)|0;Ml(A,70817)|0;Ml(A,70882)|0;n=f[41913]|0;f[a>>2]=f[41912];f[a+4>>2]=n;Vl(A,70919,a);a=f[41913]|0;f[t>>2]=f[41912];f[t+4>>2]=a;Vl(A,70947,t);v=l;return}function ln(A){A=A|0;Ml(A,69224)|0;Ml(A,69236)|0;Ml(A,69244)|0;Ml(A,69307)|0;Ml(A,69236)|0;Ml(A,69352)|0;Ml(A,69401)|0;Ml(A,69455)|0;Ml(A,69236)|0;Ml(A,69555)|0;Ml(A,69604)|0;Ml(A,69236)|0;Ml(A,69656)|0;return}function cn(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0;c=v;v=v+32|0;l=c+16|0;t=c+8|0;a=c;Ml(A,69182)|0;if(e|0?r[e>>0]|0:0){f[a>>2]=wn(e)|0;Vl(A,69185,a)}if(i|0?r[i>>0]|0:0){f[t>>2]=wn(i)|0;Vl(A,69196,t)}if(n|0?r[n>>0]|0:0){f[l>>2]=wn(n)|0;Vl(A,69208,l)}Ml(A,69221)|0;v=c;return}function on(A){A=A|0;Ml(A,69176)|0;return}function sn(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0.0,l=0.0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0.0;M=v;v=v+112|0;I=M+96|0;C=M+88|0;Z=M+80|0;k=M+72|0;m=M+64|0;d=M+56|0;h=M+48|0;w=M+40|0;B=M+24|0;b=M+8|0;u=M;G=f[A+16>>2]|0;switch(r[i+48>>0]|0){case 108:{l=+o[e>>3];s=+o[i+32>>3];break}case 114:{s=+o[i+32>>3];l=+o[e>>3]-s;break}default:{s=+o[i+32>>3];l=+o[e>>3]-s*.5}}n=i+40|0;t=+o[n>>3];g=i+4|0;c=+o[(f[g>>2]|0)+16>>3];if(t>3]=t}E=l+-8.0;c=+((f[41913]|0)>>>0)-+o[e+8>>3]-t+c*.2+(c<12.0?1.4:2.0);Vl(A,68838,u);o[b>>3]=E;o[b+8>>3]=c;Vl(A,68775,b);o[B>>3]=l+8.0+s-E;o[B+8>>3]=t;Vl(A,68799,B);Ml(A,68873)|0;Ml(A,68907)|0;n=f[g>>2]|0;e=f[n+8>>2]|0;if(e){f[w>>2]=f[e+4>>2];Vl(A,68997,w);n=f[e+8>>2]|0;if(n|0){f[h>>2]=n;Vl(A,69016,h)}n=f[e+12>>2]|0;if(n|0){f[d>>2]=n;Vl(A,69033,d)}n=f[e+16>>2]|0;if(n|0){f[m>>2]=n;Vl(A,69051,m)}}else{f[k>>2]=f[n>>2];Vl(A,68997,k)}o[Z>>3]=+o[(f[g>>2]|0)+16>>3];Vl(A,69067,Z);n=G+16|0;switch(f[G+48>>2]|0){case 5:{n=f[n>>2]|0;if(Oz(n,122106)|0){f[C>>2]=n;Vl(A,69087,C)}break}case 1:{G=a[n+1>>0]|0;C=a[n+2>>0]|0;f[I>>2]=a[n>>0];f[I+4>>2]=G;f[I+8>>2]=C;Vl(A,69097,I);break}default:BA(123205,68561,438,69118)}Ml(A,69131)|0;Ml(A,wn(f[i>>2]|0)|0)|0;Ml(A,69142)|0;Ml(A,69165)|0;v=M;return}function un(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0,c=0.0,s=0.0;r=v;v=v+32|0;n=r+16|0;l=r;Ml(A,68739)|0;s=+o[e>>3];t=+o[e+16>>3]-s;c=+o[e+24>>3];a=c-+o[e+8>>3];c=+((f[41913]|0)>>>0)-c;o[l>>3]=s-t;o[l+8>>3]=c;Vl(A,68775,l);o[n>>3]=t*2.0;o[n+8>>3]=a*2.0;Vl(A,68799,n);mn(A,i);Ml(A,68621)|0;dn(A);Ml(A,68827)|0;v=r;return}function bn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0,t=0.0,l=0,c=0,s=0,u=0;s=v;v=v+48|0;c=s+24|0;l=s+8|0;a=s;Ml(A,68344)|0;u=f[41913]|0;f[a>>2]=f[41912];f[a+4>>2]=u;Vl(A,68597,a);mn(A,r);Ml(A,68621)|0;dn(A);Ml(A,68624)|0;a=i+-1|0;r=0;while(1){if((r|0)>=(i|0))break;t=+o[e+(r<<4)>>3];n=+((f[41913]|0)>>>0)-+o[e+(r<<4)+8>>3];if(!r){Ml(A,68651)|0;o[l>>3]=t;o[l+8>>3]=n;Vl(A,68717,l);Ml(A,68728)|0}else{o[c>>3]=t;o[c+8>>3]=n;Vl(A,68717,c)}if((r|0)==(a|0))Ml(A,68731)|0;r=r+1|0}Ml(A,68460)|0;v=s;return}function vn(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0;n=v;v=v+16|0;r=n;Ml(A,68344)|0;t=f[41913]|0;f[r>>2]=f[41912];f[r+4>>2]=t;Vl(A,68597,r);mn(A,a);Ml(A,68621)|0;dn(A);Ml(A,68624)|0;Zn(A,e,i);Ml(A,68637)|0;v=n;return}function Bn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,s=0.0;c=v;v=v+48|0;l=c+24|0;t=c+8|0;n=c;Ml(A,68344)|0;a=f[41913]|0;f[n>>2]=f[41912];f[n+4>>2]=a;Vl(A,68381,n);Ml(A,68421)|0;n=i+-1|0;a=e+8|0;r=0;while(1){if((r|0)>=(i|0))break;if(!r){Ml(A,68433)|0;s=+((f[41913]|0)>>>0)-+o[a>>3];o[t>>3]=+o[e>>3];o[t+8>>3]=s;Vl(A,68437,t);Ml(A,68448)|0}else{s=+((f[41913]|0)>>>0)-+o[e+(r<<4)+8>>3];o[l>>3]=+o[e+(r<<4)>>3];o[l+8>>3]=s;Vl(A,68437,l)}if((r|0)==(n|0))Ml(A,68452)|0;r=r+1|0}Ml(A,68456)|0;dn(A);Ml(A,68460)|0;v=c;return}function kn(A,e){A=A|0;e=e|0;Ml(A,68279)|0;Ml(A,wn(e)|0)|0;Ml(A,68291)|0;return}function wn(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+16|0;i=g;e=f[41910]|0;if(!e){f[41911]=64;e=Pb(64)|0;f[41910]=e}h=i+15|0;w=i+14|0;a=0;k=0;b=0;i=0;n=0;A:while(1){u=(b|0)!=0;o=a;B=A;c=i;e:while(1){if(!B){d=32;break A}i=r[B>>0]|0;if(!(i<<24>>24)){d=32;break A}A=f[41911]|0;if((k|0)>(A+-8|0)){e=A<<1;f[41911]=e;e=Hb(f[41910]|0,e)|0;f[41910]=e;e=e+k|0;i=r[B>>0]|0}switch(i<<24>>24){case 60:{i=4;A=87187;d=26;break e}case 62:{i=4;A=87170;d=27;break e}case 38:{d=10;break e}case 45:{i=5;A=87181;l=c;break e}default:{}}if(u&i<<24>>24==32){d=12;break}switch(i<<24>>24){case 34:{i=6;A=87150;d=26;break e}case 39:{i=5;A=87175;d=27;break e}default:{}}if(i<<24>>24<0){l=127;A=0}else{i=1;A=B;d=26;break}while(1){a=l&255;t=i&255;if(a>>>0>=t>>>0)break;i=l&t&255;l=a>>>1;A=A+1|0}if((A|0)<=1){a=EH(c|0,n|0,6)|0;a=gH(a|0,Q|0,i&255|0,0)|0;n=Q;s=o+-1|0;if((o|0)>1){A=s;i=a}else{d=21;break}}else{A=A+-1|0;i=i&255;n=0}o=A;B=B+1|0;c=i}if((d|0)==10){d=0;A=(hn(B)|0)==0;i=A?5:1;A=A?87164:B;l=c}else if((d|0)==12){d=0;A=(r[b>>0]|0)==32;i=A?6:1;A=A?87157:B;l=c}else if((d|0)==21){d=0;r[h>>0]=59;i=3;t=w;l=a;c=n;while(1){A=CH(l|0,c|0,10,0)|0;a=t+-1|0;r[t>>0]=A|48;A=l;l=IH(l|0,c|0,10,0)|0;n=c;c=Q;b=i;i=i+1|0;if((b|0)>11){d=23;break A}if(!(n>>>0>0|(n|0)==0&A>>>0>9))break;else t=a}A=t+-2|0;r[a>>0]=35;r[A>>0]=38;o=s;n=c}else if((d|0)==26){d=0;l=c}else if((d|0)==27){d=0;l=c}t=e+i|0;a=i;while(1){if(!a)break;r[e>>0]=r[A>>0]|0;a=a+-1|0;A=A+1|0;e=e+1|0}a=o;A=B+1|0;k=i+k|0;b=B;e=t;i=l}if((d|0)==23){JP(68297,46,1,f[13918]|0)|0;FA(1)}else if((d|0)==32){r[e>>0]=0;v=g;return f[41910]|0}return 0}function hn(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break A}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function dn(A){A=A|0;var e=0.0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+48|0;i=c+8|0;l=c;t=f[A+16>>2]|0;Ml(A,68472)|0;r=i;n=t+16|0;a=r+40|0;do{f[r>>2]=f[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(a|0));gn(A,i);e=+o[t+152>>3];if(e!=1.0){o[l>>3]=e;Vl(A,68490,l)}switch(f[t+144>>2]|0){case 1:{Ml(A,68507)|0;break}case 2:{Ml(A,68525)|0;break}default:{}}Ml(A,68542)|0;v=c;return}function gn(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0;n=v;v=v+16|0;i=n;A:do{switch(f[e+32>>2]|0){case 5:{Ml(A,f[e>>2]|0)|0;break}case 1:if(!(r[e+3>>0]|0)){Ml(A,120501)|0;break A}else{l=a[e+1>>0]|0;t=a[e+2>>0]|0;f[i>>2]=a[e>>0];f[i+4>>2]=l;f[i+8>>2]=t;Vl(A,68547,i);break A}default:BA(123205,68561,94,68581)}}while(0);v=n;return}function mn(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+48|0;n=a;if(!e)Ml(A,68700)|0;else{i=f[A+16>>2]|0;Ml(A,68670)|0;e=n;i=i+56|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));gn(A,n);Ml(A,68697)|0}v=a;return}function Zn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0.0,c=0.0;t=v;v=v+32|0;a=t;r=68651;n=0;while(1){if((n|0)>=(i|0))break;c=+o[e+(n<<4)>>3];l=+((f[41913]|0)>>>0)-+o[e+(n<<4)+8>>3];f[a>>2]=r;o[a+8>>3]=c;o[a+16>>3]=l;Vl(A,68654,a);r=(n|0)==0?68667:174185;n=n+1|0}Ml(A,83714)|0;v=t;return}function Gn(A){A=A|0;var e=0,i=0,r=0;e=v;v=v+16|0;i=e+8|0;r=e;Ml(A,73284)|0;Ml(A,73299)|0;Ml(A,73338)|0;Ml(A,73387)|0;f[r>>2]=122106;f[r+4>>2]=73475;Vl(A,73456,r);f[i>>2]=121990;f[i+4>>2]=73481;Vl(A,73456,i);v=e;return}function In(A){A=A|0;var e=0,i=0,r=0.0,n=0.0,a=0.0,t=0.0,l=0;e=v;v=v+64|0;i=e+8|0;l=e;f[l>>2]=Ap(f[(f[A+16>>2]|0)+8>>2]|0)|0;Vl(A,72237,l);t=+o[A+368>>3]*.5*+o[A+488>>3];a=+o[A+376>>3]*.5*+o[A+496>>3];n=+R(+(t*2.0000000949949026e-03))*180.0*.6366197723675814;r=+R(+(a*2.0000000949949026e-03))*180.0*.6366197723675814;o[i>>3]=t;o[i+8>>3]=a;o[i+16>>3]=-500.0;o[i+24>>3]=t;o[i+32>>3]=a;o[i+40>>3]=0.0;o[i+48>>3]=(n>r?n:r)*1.2;Vl(A,72259,i);Ml(A,72406)|0;Ml(A,73236)|0;v=e;return}function Cn(A){A=A|0;Ml(A,72220)|0;return}function Mn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;n=v;v=v+16|0;a=n;f[a>>2]=e;f[a+4>>2]=i;f[a+8>>2]=r;Vl(A,72190,a);c[41914]=+(X(i,-10)|0);v=n;return}function En(A){A=A|0;Ml(A,72173)|0;return}function Qn(A){A=A|0;Ml(A,72155)|0;return}function yn(A){A=A|0;Ml(A,72139)|0;return}function Yn(A){A=A|0;Ml(A,72118)|0;c[41914]=+c[41914]+-2.0;return}function pn(A){A=A|0;Ml(A,72099)|0;return}function Vn(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;f[i>>2]=Ap(f[(f[A+16>>2]|0)+8>>2]|0)|0;Vl(A,72077,i);v=e;return}function Nn(A){A=A|0;Ml(A,72061)|0;return}function Wn(A){A=A|0;Ml(A,72043)|0;c[41914]=+c[41914]+-5.0;return}function zn(A){A=A|0;Ml(A,72027)|0;c[41914]=+c[41914]+5.0;return}function Jn(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0,t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0.0,g=0.0;w=v;v=v+144|0;b=w+104|0;k=w+56|0;s=w+32|0;t=w+24|0;u=w;B=i+4|0;a=f[B>>2]|0;n=+o[a+16>>3];a=f[a>>2]|0;f[u>>2]=f[i>>2];o[u+8>>3]=n;f[u+16>>2]=a;Vl(A,71873,u);c[41915]=+c[41914]+-9.0;switch(r[i+48>>0]|0){case 108:{n=+o[e>>3];break}case 114:{a=e;n=+o[e>>3]-+o[i+32>>3];l=5;break}default:{a=e;n=+o[e>>3]-+o[i+32>>3]*.5;l=5}}if((l|0)==5)o[a>>3]=n;g=+o[A+488>>3];d=(+o[A+504>>3]+n)*g;h=(+o[A+512>>3]+ +o[e+8>>3])*+o[A+496>>3];o[t>>3]=+o[(f[B>>2]|0)+16>>3]*g;u=Dn(A,71925,t)|0;n=+(f[A+360>>2]|0);o[s>>3]=0.0;o[s+8>>3]=0.0;o[s+16>>3]=n;a=Dn(A,71142,s)|0;n=+c[41915];o[b>>3]=d;o[b+8>>3]=h;o[b+16>>3]=n;e=Dn(A,71174,b)|0;t=b;l=(f[A+16>>2]|0)+16|0;s=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(s|0));b=Xn(A,b,0.0)|0;i=f[i>>2]|0;f[k>>2]=f[f[B>>2]>>2];o[k+8>>3]=.25;o[k+16>>3]=0.0;f[k+24>>2]=i;f[k+28>>2]=72012;f[k+32>>2]=u;f[k+36>>2]=a;f[k+40>>2]=e;f[k+44>>2]=b;k=Dn(A,71937,k)|0;Ml(A,k)|0;HW(k);HW(a);HW(b);HW(e);HW(u);v=w;return}function Pn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0.0,s=0,u=0,b=0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0;C=v;v=v+240|0;G=C+192|0;I=C+152|0;d=C+128|0;w=C+104|0;b=C+80|0;u=C+48|0;r=C+24|0;s=C;Ml(A,71750)|0;c[41915]=+c[41914]+-6.0;a=+o[e>>3];t=+o[A+488>>3];B=(+o[A+504>>3]+a)*t;M=+o[e+8>>3];l=+o[A+496>>3];k=(+o[A+512>>3]+M)*l;t=(+o[e+16>>3]-a)*t;l=(+o[e+24>>3]-M)*l;h=A+16|0;M=l+t;a=+o[(f[h>>2]|0)+152>>3]/M*2.5;o[s>>3]=t;o[s+8>>3]=M*.25;o[s+16>>3]=l;e=Dn(A,71110,s)|0;s=A+360|0;M=+(f[s>>2]|0);o[r>>3]=90.0;o[r+8>>3]=0.0;o[r+16>>3]=M;r=Dn(A,71142,r)|0;M=+c[41915];o[G>>3]=B;o[G+8>>3]=k;o[G+16>>3]=M;n=Dn(A,71174,G)|0;g=G;m=(f[h>>2]|0)+16|0;Z=g+40|0;do{f[g>>2]=f[m>>2];g=g+4|0;m=m+4|0}while((g|0)<(Z|0));m=Xn(A,G,0.0)|0;o[u>>3]=1.0;o[u+8>>3]=a;f[u+16>>2]=e;f[u+20>>2]=r;f[u+24>>2]=n;f[u+28>>2]=m;Z=Dn(A,71765,u)|0;Ml(A,Z)|0;HW(e);HW(r);HW(n);HW(m);HW(Z);if(i|0){o[b>>3]=t;o[b+8>>3]=l;o[b+16>>3]=1.0;n=Dn(A,71110,b)|0;M=+(f[s>>2]|0);o[w>>3]=0.0;o[w+8>>3]=0.0;o[w+16>>3]=M;r=Dn(A,71142,w)|0;M=+c[41915];o[d>>3]=B;o[d+8>>3]=k;o[d+16>>3]=M;e=Dn(A,71174,d)|0;g=G;m=(f[h>>2]|0)+56|0;Z=g+40|0;do{f[g>>2]=f[m>>2];g=g+4|0;m=m+4|0}while((g|0)<(Z|0));G=Xn(A,G,0.0)|0;o[I>>3]=0.0;o[I+8>>3]=0.0;o[I+16>>3]=0.0;f[I+24>>2]=n;f[I+28>>2]=r;f[I+32>>2]=e;f[I+36>>2]=G;I=Dn(A,71811,I)|0;Ml(A,I)|0;HW(n);HW(r);HW(e);HW(G);HW(I)}v=C;return}function Rn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0.0,R=0,H=0.0;J=v;v=v+336|0;E=J+296|0;z=J+288|0;W=J+272|0;N=J+264|0;V=J+240|0;y=J+232|0;M=J+208|0;C=J+184|0;Z=J+160|0;m=J+152|0;g=J+136|0;d=J+128|0;h=J+96|0;w=J+88|0;k=J+56|0;n=J+48|0;s=J+24|0;l=J;Ml(A,71615)|0;c[41915]=+c[41914]+-2.0;b=A+488|0;B=A+496|0;P=+o[B>>3];o[l>>3]=+o[b>>3];o[l+8>>3]=P;o[l+16>>3]=1.0;l=Dn(A,71110,l)|0;I=A+360|0;P=+(f[I>>2]|0);o[s>>3]=0.0;o[s+8>>3]=0.0;o[s+16>>3]=P;s=Dn(A,71142,s)|0;P=+c[41915]+-2.0;o[E>>3]=0.0;o[E+8>>3]=0.0;o[E+16>>3]=P;u=Dn(A,71174,E)|0;Q=A+16|0;a=E;t=(f[Q>>2]|0)+16|0;G=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(G|0));t=Xn(A,E,0.0)|0;f[n>>2]=71237;f[n+4>>2]=i+1;Y=A+504|0;p=A+512|0;a=0;n=Dn(A,71206,n)|0;while(1){if((a|0)>=(i|0))break;H=+o[p>>3]+ +o[e+(a<<4)+8>>3];P=+o[(f[Q>>2]|0)+152>>3];o[k>>3]=+o[Y>>3]+ +o[e+(a<<4)>>3];o[k+8>>3]=H;o[k+16>>3]=0.0;o[k+24>>3]=P;R=Dn(A,71251,k)|0;f[w>>2]=n;f[w+4>>2]=R;G=Dn(A,71280,w)|0;HW(R);HW(n);a=a+1|0;n=G}P=+o[p>>3]+ +o[e+8>>3];H=+o[(f[Q>>2]|0)+152>>3];o[h>>3]=+o[Y>>3]+ +o[e>>3];o[h+8>>3]=P;o[h+16>>3]=0.0;o[h+24>>3]=H;G=Dn(A,71251,h)|0;f[d>>2]=n;f[d+4>>2]=G;R=Dn(A,71280,d)|0;HW(G);HW(n);f[g>>2]=l;f[g+4>>2]=s;f[g+8>>2]=u;f[g+12>>2]=t;G=Dn(A,71630,g)|0;f[m>>2]=R;f[m+4>>2]=G;R=Dn(A,71335,m)|0;HW(G);Ml(A,R)|0;HW(l);HW(s);HW(u);HW(t);HW(R);if(r|0){H=+o[B>>3];o[Z>>3]=+o[b>>3];o[Z+8>>3]=H;o[Z+16>>3]=1.0;u=Dn(A,71110,Z)|0;H=+(f[I>>2]|0);o[C>>3]=0.0;o[C+8>>3]=0.0;o[C+16>>3]=H;s=Dn(A,71142,C)|0;H=+c[41915]+-2.0;o[M>>3]=0.0;o[M+8>>3]=0.0;o[M+16>>3]=H;l=Dn(A,71174,M)|0;a=E;t=(f[Q>>2]|0)+56|0;G=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(G|0));t=Xn(A,E,.25)|0;f[y>>2]=i;a=0;n=Dn(A,71675,y)|0;while(1){if((a|0)>=(i|0))break;H=+o[p>>3]+ +o[e+(a<<4)+8>>3];o[V>>3]=+o[Y>>3]+ +o[e+(a<<4)>>3];o[V+8>>3]=H;o[V+16>>3]=0.0;y=Dn(A,71690,V)|0;f[N>>2]=n;f[N+4>>2]=y;R=Dn(A,71712,N)|0;HW(y);HW(n);a=a+1|0;n=R}f[W>>2]=u;f[W+4>>2]=s;f[W+8>>2]=l;f[W+12>>2]=t;W=Dn(A,71722,W)|0;f[z>>2]=n;f[z+4>>2]=W;R=Dn(A,71335,z)|0;HW(W);Ml(A,R)|0;HW(u);HW(s);HW(l);HW(t);HW(R)}v=J;return}function Hn(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0.0,y=0.0;E=v;v=v+208|0;r=E+160|0;M=E+152|0;C=E+136|0;I=E+128|0;G=E+96|0;Z=E+88|0;m=E+56|0;l=E+48|0;h=E+24|0;w=E;Ml(A,71542)|0;c[41915]=+c[41914]+-4.0;Q=+o[A+496>>3];o[w>>3]=+o[A+488>>3];o[w+8>>3]=Q;o[w+16>>3]=1.0;w=Dn(A,71110,w)|0;Q=+(f[A+360>>2]|0);o[h>>3]=0.0;o[h+8>>3]=0.0;o[h+16>>3]=Q;h=Dn(A,71142,h)|0;Q=+c[41915]+-2.0;o[r>>3]=0.0;o[r+8>>3]=0.0;o[r+16>>3]=Q;d=Dn(A,71174,r)|0;g=A+16|0;n=r;a=(f[g>>2]|0)+56|0;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));u=Xn(A,r,0.0)|0;f[l>>2]=71556;f[l+4>>2]=i+2;b=A+504|0;B=A+512|0;k=i+-1|0;s=0;r=Dn(A,71206,l)|0;while(1){if((s|0)>=(i|0))break;n=e+(s<<4)|0;a=e+(s<<4)+8|0;y=+o[B>>3]+ +o[a>>3];Q=+o[(f[g>>2]|0)+152>>3];o[m>>3]=+o[b>>3]+ +o[n>>3];o[m+8>>3]=y;o[m+16>>3]=0.0;o[m+24>>3]=Q;l=Dn(A,71251,m)|0;f[Z>>2]=r;f[Z+4>>2]=l;t=Dn(A,71280,Z)|0;HW(l);HW(r);if((s|0)==0|(s|0)==(k|0)){Q=+o[B>>3]+ +o[a>>3];y=+o[(f[g>>2]|0)+152>>3];o[G>>3]=+o[b>>3]+ +o[n>>3];o[G+8>>3]=Q;o[G+16>>3]=0.0;o[G+24>>3]=y;l=Dn(A,71251,G)|0;f[I>>2]=t;f[I+4>>2]=l;r=Dn(A,71280,I)|0;HW(l);HW(t)}else r=t;s=s+1|0}f[C>>2]=w;f[C+4>>2]=h;f[C+8>>2]=d;f[C+12>>2]=u;e=Dn(A,71565,C)|0;f[M>>2]=r;f[M+4>>2]=e;i=Dn(A,71335,M)|0;HW(e);Ml(A,i)|0;HW(w);HW(h);HW(d);HW(u);HW(i);v=E;return}function Ln(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0.0,G=0,I=0.0;m=v;v=v+160|0;r=m+120|0;g=m+112|0;d=m+96|0;h=m+88|0;w=m+56|0;s=m+48|0;u=m+24|0;k=m;Ml(A,71094)|0;c[41915]=+c[41914]+-6.0;Z=+o[A+496>>3];o[k>>3]=+o[A+488>>3];o[k+8>>3]=Z;o[k+16>>3]=1.0;k=Dn(A,71110,k)|0;Z=+(f[A+360>>2]|0);o[u>>3]=0.0;o[u+8>>3]=0.0;o[u+16>>3]=Z;u=Dn(A,71142,u)|0;Z=+c[41915];o[r>>3]=0.0;o[r+8>>3]=0.0;o[r+16>>3]=Z;b=Dn(A,71174,r)|0;B=A+16|0;n=r;a=(f[B>>2]|0)+16|0;t=n+40|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));a=Xn(A,r,0.0)|0;f[s>>2]=71237;f[s+4>>2]=i;t=A+504|0;l=A+512|0;n=0;r=Dn(A,71206,s)|0;while(1){if((n|0)>=(i|0))break;I=+o[l>>3]+ +o[e+(n<<4)+8>>3];Z=+o[(f[B>>2]|0)+152>>3];o[w>>3]=+o[t>>3]+ +o[e+(n<<4)>>3];o[w+8>>3]=I;o[w+16>>3]=0.0;o[w+24>>3]=Z;G=Dn(A,71251,w)|0;f[h>>2]=r;f[h+4>>2]=G;s=Dn(A,71280,h)|0;HW(G);HW(r);n=n+1|0;r=s}f[d>>2]=k;f[d+4>>2]=u;f[d+8>>2]=b;f[d+12>>2]=a;d=Dn(A,71289,d)|0;f[g>>2]=r;f[g+4>>2]=d;G=Dn(A,71335,g)|0;HW(d);Ml(A,G)|0;HW(k);HW(u);HW(b);HW(a);HW(G);v=m;return}function Fn(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;Vl(A,71075,r);v=i;return}function Dn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;l=v;v=v+1056|0;t=l;r=l+24|0;n=l+8|0;f[n>>2]=i;a=IJ(r,1024,e,n)|0;do{if((a|0)>=0)if((a|0)>1023){A=RW(a+1|0)|0;f[n>>2]=i;rP(A,e,n)|0;break}else{A=dP(r)|0;break}else{A=f[(f[A+12>>2]|0)+16>>2]|0;f[t>>2]=sz(f[(KW()|0)>>2]|0)|0;EL[A&31](71520,t);A=dP(174185)|0}}while(0);v=l;return A|0}function Xn(A,e,i){A=A|0;e=e|0;i=+i;var r=0,n=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0.0;k=v;v=v+112|0;b=k+104|0;l=k+96|0;t=k+64|0;u=k+48|0;B=k+32|0;s=k+16|0;c=k;n=f[e+32>>2]|0;A:do{switch(n|0){case 5:{r=f[e>>2]|0;if(!(oz(r,121094)|0)){f[c>>2]=71357;o[c+8>>3]=i;r=Dn(A,71340,c)|0;break A}if(!(oz(r,118224)|0)){f[s>>2]=71361;o[s+8>>3]=i;r=Dn(A,71340,s)|0;break A}if(!(oz(r,116223)|0)){f[B>>2]=71367;o[B+8>>3]=i;r=Dn(A,71340,B)|0;break A}else{f[u>>2]=r;o[u+8>>3]=i;r=Dn(A,71340,u)|0;break A}}case 1:{h=+(a[e+1>>0]|0)*.00390625;w=+(a[e+2>>0]|0)*.00390625;o[t>>3]=+(a[e>>0]|0)*.00390625;o[t+8>>3]=h;o[t+16>>3]=w;o[t+24>>3]=i;r=Dn(A,71372,t)|0;break}default:{B=f[13918]|0;u=f[e>>2]|0;f[l>>2]=n;f[l+4>>2]=u;uP(B,71411,l)|0;BA(123205,71461,436,71481)}}}while(0);f[b>>2]=r;B=Dn(A,71498,b)|0;HW(r);v=k;return B|0}function xn(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;e=v;v=v+32|0;i=e+24|0;r=e+16|0;a=e;n=f[A+16>>2]|0;t=f[f[A+12>>2]>>2]|0;c=f[t>>2]|0;l=f[t+4>>2]|0;t=f[t+8>>2]|0;f[a>>2]=73927;f[a+4>>2]=c;f[a+8>>2]=l;f[a+12>>2]=t;Vl(A,76546,a);n=Ap(f[n+8>>2]|0)|0;f[r>>2]=73927;f[r+4>>2]=n;Vl(A,76578,r);f[i>>2]=73927;Vl(A,76592,i);v=e;return}function Tn(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;f[i>>2]=73927;Vl(A,76494,i);v=e;return}function Un(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0,j=0;j=v;v=v+304|0;S=j+296|0;U=j+288|0;T=j+272|0;X=j+264|0;D=j+256|0;F=j+248|0;L=j+240|0;H=j+232|0;R=j+224|0;P=j+216|0;J=j+208|0;z=j+200|0;W=j+192|0;N=j+184|0;p=j+176|0;Y=j+168|0;y=j+160|0;Q=j+152|0;M=j+144|0;C=j+136|0;I=j+128|0;G=j+120|0;Z=j+112|0;m=j+104|0;g=j+96|0;d=j+88|0;h=j+80|0;w=j+72|0;k=j+64|0;B=j+56|0;b=j+48|0;x=j+40|0;E=j+24|0;u=j+16|0;s=j;a=f[A+456>>2]|0;t=f[A+460>>2]|0;l=f[A+464>>2]|0;c=f[A+468>>2]|0;n=A+360|0;A:do{if(f[4007]|0){switch(f[n>>2]|0){case 90:case 0:break A;default:{}}ff();f[4007]=0}}while(0);r=(+(c|0)-+(t|0))*.013888888888888888;e=(+(l|0)-+(a|0))*.013888888888888888;c=(f[n>>2]|0)==90;i=c?r:e;r=c?e:r;o[s>>3]=i;o[s+8>>3]=r;Vl(A,74114,s);f[u>>2]=73927;Vl(A,74129,u);if(i>0.0){e=+hz(i);o[16877]=e;e=e+3.0-+(~~e|0)}else e=3.0;e=+V(10.0,+e);o[16877]=e;o[E>>3]=e;o[E+8>>3]=e;Vl(A,74298,E);f[x>>2]=73927;Vl(A,74333,x);f[b>>2]=73927;Vl(A,74391,b);f[B>>2]=73927;Vl(A,74451,B);f[k>>2]=73927;Vl(A,74500,k);f[w>>2]=73927;Vl(A,74539,w);f[h>>2]=73927;Vl(A,74590,h);f[d>>2]=73927;Vl(A,74652,d);f[g>>2]=73927;Vl(A,74762,g);f[m>>2]=73927;Vl(A,74853,m);f[Z>>2]=73927;Vl(A,74907,Z);f[G>>2]=73927;Vl(A,74976,G);Vl(A,75012,I);f[C>>2]=73927;Vl(A,75137,C);f[M>>2]=73927;Vl(A,75166,M);Vl(A,75206,Q);f[y>>2]=73927;Vl(A,75299,y);f[Y>>2]=73927;Vl(A,75358,Y);f[p>>2]=73927;Vl(A,75439,p);Vl(A,75509,N);f[W>>2]=73927;Vl(A,75598,W);f[z>>2]=73927;Vl(A,75703,z);f[J>>2]=73927;Vl(A,75779,J);f[P>>2]=73927;Vl(A,75818,P);f[R>>2]=73927;Vl(A,75917,R);f[H>>2]=73927;Vl(A,75963,H);Vl(A,76052,L);f[F>>2]=73927;Vl(A,76093,F);f[D>>2]=73927;Vl(A,76176,D);f[X>>2]=73927;Vl(A,76277,X);o[T>>3]=r;o[T+8>>3]=i;Vl(A,76341,T);Vl(A,76369,U);Vl(A,76377,S);v=j;return}function Sn(A){A=A|0;var e=0;e=v;v=v+16|0;Vl(A,74107,e);v=e;return}function jn(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0.0,b=0,B=0,k=0,w=0;w=v;v=v+48|0;k=w+24|0;B=w+8|0;b=w;switch(r[i+48>>0]|0){case 108:{c=e;t=+o[i+32>>3];l=+o[e>>3];break}case 114:{t=+o[i+32>>3];a=t;n=5;break}default:{t=+o[i+32>>3];a=t*.5;n=5}}if((n|0)==5){l=+o[e>>3]-a;o[e>>3]=l;c=e}s=i+4|0;n=f[s>>2]|0;a=+o[n+16>>3];e=e+8|0;u=+o[e>>3]+a*.004629629629629629;o[e>>3]=u;t=l+t*.006944444444444444;o[c>>3]=t;n=f[n>>2]|0;do{if(n){e=f[41916]|0;if(e|0?(oz(e,n)|0)==0:0)break;f[b>>2]=rf(n)|0;Vl(A,74006,b);b=f[s>>2]|0;f[41916]=f[b>>2];a=+o[b+16>>3]}}while(0);n=~~a;n=(n|0)>1?n:1;if((n|0)!=(f[41917]|0)){l=+o[16877];f[B>>2]=n;o[B+8>>3]=l;Vl(A,74014,B);f[41917]=n}f[k>>2]=nf(f[i>>2]|0)|0;o[k+8>>3]=t;o[k+16>>3]=u;Vl(A,74035,k);v=w;return}function On(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0.0,c=0.0;r=v;v=v+48|0;n=r;t=+o[e>>3];c=(+o[e+16>>3]-t)*.027777777777777776;a=+o[e+8>>3];l=(+o[e+24>>3]-a)*.027777777777777776;f[n>>2]=1;f[n+4>>2]=i|0?73948:174185;o[n+8>>3]=c;o[n+16>>3]=l;o[n+24>>3]=t*.013888888888888888;o[n+32>>3]=a*.013888888888888888;Vl(A,73954,n);v=r;return}function Kn(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=v;v=v+16|0;Af(f[A+16>>2]|0,r+8|0,r);ef(A,e,i,1);v=r;return}function _n(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0.0,m=0.0,Z=0;d=v;v=v+128|0;h=d+112|0;k=d+104|0;B=d+96|0;r=d+88|0;u=d+16|0;b=d;c=f[A+16>>2]|0;l=RW((i*140|0)+140|0)|0;Af(c,d+116|0,d+80|0);m=+o[e>>3];c=u+48|0;o[c>>3]=m;g=+o[e+8>>3];o[u+56>>3]=g;f[r>>2]=~~(m+(m>=0.0?.5:-.5));f[r+4>>2]=~~(g+(g>=0.0?.5:-.5));t=b+8|0;r=l+(iP(l,73932,r)|0)|0;w=1;a=0;while(1){s=a+3|0;if((s|0)>=(i|0))break;f[u>>2]=f[c>>2];f[u+4>>2]=f[c+4>>2];f[u+8>>2]=f[c+8>>2];f[u+12>>2]=f[c+12>>2];n=1;while(1){if((n|0)==4){n=1;break}Z=n+a|0;o[u+(n<<4)>>3]=+o[e+(Z<<4)>>3];o[u+(n<<4)+8>>3]=+o[e+(Z<<4)+8>>3];n=n+1|0}while(1){if((n|0)==7)break;eC(b,u,3,+(n|0)*.16666666666666666,0,0);g=+o[b>>3];m=+o[t>>3];f[B>>2]=~~(g+(g>=0.0?.5:-.5));f[B+4>>2]=~~(m+(m>=0.0?.5:-.5));n=n+1|0;r=r+(iP(r,73932,B)|0)|0}w=w+6|0;a=s}f[k>>2]=l;Vl(A,73939,k);HW(l);n=w+-1|0;r=0;while(1){if((r|0)>=(w|0))break;f[h>>2]=((r|0)%(n|0)|0|0)!=0&1;Vl(A,73944,h);r=r+1|0}Ml(A,134901)|0;v=d;return}function qn(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=v;v=v+16|0;Af(f[A+16>>2]|0,r+8|0,r);ef(A,e,i,0);v=r;return}function $n(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=73927;f[r+4>>2]=e;Vl(A,73920,r);v=i;return}function Af(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;switch(f[A+144>>2]|0){case 1:{r=10.0;A=1;break}case 2:{r=10.0;A=2;break}default:{r=0.0;A=0}}f[e>>2]=A;o[i>>3]=r;return}function ef(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0.0;l=v;v=v+16|0;t=l+8|0;a=l;n=0;while(1){if((n|0)>=(i|0))break;s=+o[e+(n<<4)>>3];c=+o[e+(n<<4)+8>>3];f[a>>2]=~~(s+(s>=0.0?.5:-.5));f[a+4>>2]=~~(c+(c>=0.0?.5:-.5));Vl(A,73932,a);n=n+1|0}if(r|0){c=+o[e>>3];s=+o[e+8>>3];f[t>>2]=~~(c+(c>=0.0?.5:-.5));f[t+4>>2]=~~(s+(s>=0.0?.5:-.5));Vl(A,73932,t)}Ml(A,134901)|0;v=l;return}function rf(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=v;v=v+16|0;n=t;A:while(1){e=15756;while(1){i=f[e+4>>2]|0;if(!i)break;if(!(oz(i,A)|0)){a=6;break A}e=e+8|0}f[n>>2]=74088;f[n+4>>2]=A;Iy(1,74062,n)|0;e=gP(A,45)|0;if(!e){e=74105;break}r[e>>0]=0}v=t;return e|0}function nf(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;e=f[41918]|0;if(!e){f[41919]=64;e=RW(64)|0;f[41918]=e;i=0}else i=0;while(1){a=A+1|0;n=r[A>>0]|0;if(!(n<<24>>24))break;A=f[41919]|0;if((i|0)>(A+-8|0)){e=A<<1;f[41919]=e;e=FW(f[41918]|0,e)|0;f[41918]=e;e=e+i|0}if(n<<24>>24<=-1){r[e>>0]=92;f[t>>2]=n&255;iP(e+1|0,74057,t)|0;A=a;e=e+4|0;i=i+4|0;continue}if(n<<24>>24==92){r[e>>0]=92;i=i+1|0;e=e+1|0}r[e>>0]=n;A=a;e=e+1|0;i=i+1|0}r[e>>0]=0;v=l;return f[41918]|0}function ff(){var A=0,e=0;A=v;v=v+16|0;e=A;f[e>>2]=74088;f[e+4>>2]=76485;Iy(0,76467,e)|0;v=A;return}function af(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0.0,t=0.0,l=0,c=0;r=v;v=v+32|0;n=r+8|0;l=r;e=e+8|0;c=f[e>>2]|0;f[l>>2]=c;f[l+4>>2]=c;Vl(A,77065,l);t=(+o[i>>3]+ +o[i+16>>3])*.5;a=(+o[i+8>>3]+ +o[i+24>>3])*.5;f[n>>2]=f[e>>2];o[n+8>>3]=t;o[n+16>>3]=a;Vl(A,77107,n);v=r;return}function tf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0.0,t=0.0,l=0.0,c=0.0;r=v;v=v+48|0;n=r;t=+o[i>>3];c=+o[i+16>>3]-t;a=+o[i+24>>3];l=a-+o[i+8>>3];a=+(~~(+o[A+232>>3]-+o[A+216>>3])>>>0)-a;f[n>>2]=f[e+8>>2];o[n+8>>3]=c;o[n+16>>3]=l;o[n+24>>3]=t;o[n+32>>3]=a;Vl(A,77152,n);Ml(A,77244)|0;v=r;return}function lf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return}function cf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0.0;d=v;v=v+160|0;h=d+152|0;w=d+136|0;k=d+120|0;c=d+112|0;u=d+104|0;s=d+88|0;l=d+72|0;t=d+64|0;b=d;if(!A)BA(96061,77249,212,77268);if(!e)BA(96091,77249,213,77268);B=e+8|0;if(!(f[B>>2]|0))BA(96094,77249,214,77268);if(f[e+52>>2]|0){f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];e=b+32|0;i=i+16|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];n=+o[b>>3];o[b+16>>3]=n;o[b+24>>3]=+o[b+40>>3];o[b+48>>3]=+o[e>>3];a=+o[b+8>>3];o[b+56>>3]=a;if(r<<24>>24){Vl(A,77289,t);e=0;while(1){if((e|0)==4)break;g=+o[b+(e<<4)+8>>3];o[l>>3]=+o[b+(e<<4)>>3];o[l+8>>3]=g;Vl(A,77292,l);e=e+1|0}o[s>>3]=n;o[s+8>>3]=a;Vl(A,77292,s);s=f[B>>2]|0;f[u>>2]=4;f[u+4>>2]=s;Vl(A,77299,u)}Vl(A,77289,c);e=0;while(1){if((e|0)==4)break;g=+o[b+(e<<4)+8>>3];o[k>>3]=+o[b+(e<<4)>>3];o[k+8>>3]=g;Vl(A,77292,k);e=e+1|0}o[w>>3]=n;o[w+8>>3]=a;Vl(A,77292,w);w=f[B>>2]|0;f[h>>2]=4;f[h+4>>2]=w;Vl(A,77314,h)}v=d;return}function of(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0.0;b=v;v=v+112|0;u=b+24|0;s=b+16|0;c=b;t=b+28|0;if(!A)BA(96061,77249,153,77330);if(!e)BA(96091,77249,154,77330);if(!(f[e+8>>2]|0))BA(96094,77249,155,77330);l=e+52|0;if(f[l>>2]|0){n=e+60|0;a=f[n>>2]|0;if((a|0)==84)a=18;else{ML[a&127](e);f[l>>2]=0;f[n>>2]=0;f[e+56>>2]=0;a=10}}else a=10;do{if((a|0)==10){if(!((ql(e)|0)<<24>>24))break;n=uH(f[e+20>>2]|0)|0;if((f[e+24>>2]&-2|0)==6){HP(n,t)|0;t=f[t+36>>2]|0;f[e+56>>2]=t;n=iz(0,t,1,1,n,0)|0;f[l>>2]=n;r[e+16>>0]=1}else n=f[l>>2]|0;if(n|0)f[e+60>>2]=84;$l(e);if(f[l>>2]|0)a=18}}while(0);if((a|0)==18){B=+o[i+8>>3]-+(f[e+36>>2]|0);o[c>>3]=+o[i>>3]-+(f[e+32>>2]|0);o[c+8>>3]=B;Vl(A,77348,c);if(!(r[e+16>>0]|0)){f[s>>2]=f[e+12>>2];Vl(A,77379,s)}else dZ(A,e);Vl(A,77394,u)}v=b;return}function sf(A){A=A|0;Az(f[A+52>>2]|0,f[A+56>>2]|0)|0;return}function uf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;a=v;v=v+80|0;n=a+48|0;if(!A)BA(96061,77249,121,77404);r=f[A+16>>2]|0;if(!r)BA(84921,77249,123,77404);if(!e)BA(96091,77249,124,77404);i=e+8|0;if(!(f[i>>2]|0))BA(96094,77249,125,77404);if(!(f[r+8>>2]|0))BA(123690,77249,128,77404);else{Vl(A,77424,a);Vl(A,77433,a+8|0);Vl(A,77460,a+16|0);Vl(A,77485,a+24|0);Vl(A,77514,a+32|0);Vl(A,77542,a+40|0);f[n>>2]=f[i>>2];Vl(A,77549,n);Vl(A,77588,a+56|0);Vl(A,95830,a+64|0);v=a;return}}function bf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,s=0.0;t=v;v=v+128|0;a=t+80|0;n=t;if(!A)BA(96061,77249,97,77593);if(!e)BA(96091,77249,98,77593);r=f[e+8>>2]|0;if(!r)BA(96094,77249,99,77593);else{s=+o[i>>3];l=~~(s+(s>=0.0?.5:-.5));s=+o[i+8>>3];e=~~(s+(s>=0.0?.5:-.5));s=+o[i+16>>3];c=~~(s+(s>=0.0?.5:-.5));s=+o[i+24>>3];i=~~(s+(s>=0.0?.5:-.5));f[n>>2]=2;f[n+4>>2]=5;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=-1;f[n+24>>2]=1;f[n+28>>2]=-1;f[n+32>>2]=0;o[n+40>>3]=0.0;f[n+48>>2]=0;f[n+52>>2]=0;f[n+56>>2]=0;f[n+60>>2]=0;f[n+64>>2]=0;f[n+68>>2]=5;f[n+72>>2]=0;f[n+76>>2]=r;Vl(A,77612,n);f[a>>2]=l;f[a+4>>2]=e;f[a+8>>2]=l;f[a+12>>2]=i;f[a+16>>2]=c;f[a+20>>2]=i;f[a+24>>2]=c;f[a+28>>2]=e;f[a+32>>2]=l;f[a+36>>2]=e;Vl(A,77670,a);v=t;return}}function vf(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0,b=0;b=v;v=v+96|0;u=b+56|0;s=b+32|0;c=b;t=+o[i>>3];l=+o[i+16>>3]-t;n=+o[i+24>>3];a=n-+o[i+8>>3];if(!A)BA(96061,77249,53,77702);if(!e)BA(96091,77249,54,77702);r=e+8|0;if(!(f[r>>2]|0))BA(96094,77249,55,77702);Ml(A,77721)|0;Ml(A,f[r>>2]|0)|0;r=A+360|0;n=-n;if(!(f[r>>2]|0)){o[u>>3]=l;o[u+8>>3]=a;o[u+16>>3]=t;o[u+24>>3]=n;Vl(A,77850,u)}else{o[c>>3]=a;o[c+8>>3]=l;o[c+16>>3]=t;o[c+24>>3]=n;Vl(A,77741,c);f[s>>2]=f[r>>2];o[s+8>>3]=t;o[s+16>>3]=n;Vl(A,77820,s)}Ml(A,77929)|0;v=b;return}function Bf(A){A=A|0;var e=0,i=0;e=Ep(A)|0;while(1){if(!e)break;kf(e);e=Qp(A,e)|0}i=Ep(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;wf(e);e=BY(A,e)|0}i=Qp(A,i)|0}return}function kf(A){A=A|0;var e=0,i=0;cV(A,122241,304,1)|0;lC(A);Hv(A,f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1);A=A+16|0;f[(f[A>>2]|0)+176>>2]=0;e=Jb(20)|0;i=f[A>>2]|0;f[i+172>>2]=e;f[i+184>>2]=0;i=Jb(20)|0;e=f[A>>2]|0;f[e+180>>2]=i;f[e+200>>2]=0;e=Jb(12)|0;i=f[A>>2]|0;f[i+196>>2]=e;f[i+192>>2]=0;i=Jb(12)|0;e=f[A>>2]|0;f[e+188>>2]=i;f[e+208>>2]=0;e=Jb(12)|0;A=f[A>>2]|0;f[A+204>>2]=e;f[A+216>>2]=1;return}function wf(A){A=A|0;var e=0,i=0,a=0,t=0,l=0;cV(A,122254,176,1)|0;cC(A)|0;t=XI(A,f[42219]|0,1,0)|0;a=A+16|0;f[(f[a>>2]|0)+156>>2]=t;t=TI(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0,f[42213]|0,174185)|0;l=TI(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0,f[42213]|0,174185)|0;e=f[a>>2]|0;i=e+154|0;n[i>>1]=1;n[e+168>>1]=1;if((t|0)==(l|0)&(r[t>>0]|0)!=0){n[i>>1]=1e3;l=e+156|0;f[l>>2]=(f[l>>2]|0)*100}if(_E(A)|0){l=f[a>>2]|0;n[l+154>>1]=0;f[l+156>>2]=0}l=(XI(A,f[42232]|0,0,0)|0)&255;r[(f[a>>2]|0)+152>>0]=l;l=(XI(A,f[42220]|0,1,0)|0)&65535;n[(f[a>>2]|0)+170>>1]=l;return}function hf(A){A=A|0;var e=0,i=0;df(f[(f[A+16>>2]|0)+192>>2]|0);i=Ep(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;pC(e);e=BY(A,e)|0}gf(i);i=Qp(A,i)|0}mf(A);return}function df(A){A=A|0;var e=0,i=0,n=0,a=0;while(1){if(!A)break;n=A+16|0;a=f[(f[n>>2]|0)+164>>2]|0;Zf(A);e=f[n>>2]|0;if((r[e+156>>0]|0)!=1){A=a;continue}i=f[e+180>>2]|0;if(i){HW(i);e=f[n>>2]|0}i=f[e+172>>2]|0;if(i){HW(i);e=f[n>>2]|0}HW(e);HW(A);A=a}return}function gf(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=f[r>>2]|0;i=f[e+172>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+180>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+188>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+196>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+204>>2]|0;if(i){HW(i);e=f[r>>2]|0}yb(f[e+104>>2]|0);yb(f[(f[r>>2]|0)+108>>2]|0);e=f[(f[r>>2]|0)+8>>2]|0;if(e|0)ML[f[(f[e+4>>2]|0)+4>>2]&127](A);sV(A,122241)|0;return}function mf(A){A=A|0;var e=0,i=0,r=0;e=fN(A)|0;while(1){if(!e)break;mf(e);e=aN(e)|0}if(cV(A,122277,0,1)|0){r=A+16|0;e=f[r>>2]|0;i=f[e+184>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+268>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+216>>2]|0;if(i){HW(i);e=f[r>>2]|0}do{if(f[e+196>>2]|0){i=n[e+236>>1]|0;while(1){if((i|0)>(n[e+238>>1]|0))break;HW(f[(f[e+196>>2]|0)+(i<<6)+12>>2]|0);i=i+1|0;e=f[r>>2]|0}i=f[e+196>>2]|0;if((n[e+236>>1]|0)==-1){HW(i+-64|0);break}else{HW(i);break}}}while(0);if((Dp(A)|0)!=(A|0)){yb(f[(f[r>>2]|0)+12>>2]|0);sV(A,122277)|0}}return}function Zf(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=f[r>>2]|0;e=f[i+176>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=f[(f[i+172>>2]|0)+(A<<2)>>2]|0;Pa(e);HW(f[e+16>>2]|0);HW(e);e=A;i=f[r>>2]|0}e=f[i+184>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;e=f[(f[(f[r>>2]|0)+180>>2]|0)+(A<<2)>>2]|0;Pa(e);HW(f[e+16>>2]|0);HW(e);e=A}return}function Gf(A){A=A|0;if(PY(A)|0)If(A);bZ(A);return}function If(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=v;v=v+48|0;a=t+32|0;n=t;e=ho(A,-1,8)|0;i=go(A,0,n)|0;wo(A,2,8,n)|0;i=(i|0)==0;r=(e|0)<0;if(r&i)Cf(A);else{if(i)f[n+16>>2]=3;else e=r?8:e;f[n+8>>2]=e;f[n+20>>2]=0;r=Fc(A,a,0)|0;e=f[a>>2]|0;do{if((e|0)==1){Cf(A);e=0}else{if(f[(f[(f[A+16>>2]|0)+8>>2]|0)+84>>2]|0){Cf(A);e=0;break}f[n+12>>2]=1;i=0;while(1){if((i|0)>=(e|0))break;e=f[r+(i<<2)>>2]|0;Mf(e,A);Cf(e);i=i+1|0;e=f[a>>2]|0}Ef(A);ko(f[a>>2]|0,r,A,n)|0;Qf(A);yf(f[a>>2]|0,r,A);e=0}}while(0);while(1){if((e|0)>=(f[a>>2]|0))break;n=r+(e<<2)|0;HW(f[(f[(f[n>>2]|0)+16>>2]|0)+8>>2]|0);mf(f[n>>2]|0);Lp(A,f[n>>2]|0)|0;e=e+1|0}HW(r)}v=t;return}function Cf(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;s=v;v=v+48|0;o=s+40|0;i=s;l=XI(A,Ky(A,0,77944,0)|0,-1,1)|0;Pv(A,10);e=KE(A,i)|0;pf(A,A);Bf(A);r=(l|0)==1;a=i+32|0;t=(l|0)==2;l=(l|0)==3;c=i+28|0;i=i+24|0;while(1){JM(A,e);if(r){e=3;break}if(f[a>>2]|0){Iy(0,77950,o)|0;f[i>>2]=0;e=0}lt(A,(e|0)!=0&1);if(t){e=7;break}OC(A,e);if(l){e=9;break}u=(f[c>>2]|0)+-1|0;f[c>>2]=u;if(!((u|0)!=0&(f[i>>2]|0)!=0)){e=11;break}}if((e|0)==3)Vf(A,1);else if((e|0)==7)Vf(A,2);else if((e|0)==9)Vf(A,2);else if((e|0)==11){if(n[(f[A+16>>2]|0)+136>>1]&16)Nf(A);YE(A);Pf(A);if((jI(aY(A,78041)|0)|0)<<24>>24)IQ(A)}v=s;return}function Mf(A,e){A=A|0;e=e|0;var i=0,n=0;cV(A,122277,280,1)|0;i=Jb(96)|0;A=f[A+16>>2]|0;f[A+8>>2]=i;e=f[e+16>>2]|0;n=f[e+8>>2]|0;o[i>>3]=+o[n>>3];o[i+24>>3]=+o[n+24>>3];f[A+144>>2]=f[e+144>>2];r[A+115>>0]=r[e+115>>0]|0;f[A+116>>2]=f[e+116>>2];f[A+248>>2]=f[e+248>>2];f[A+252>>2]=f[e+252>>2];f[A+244>>2]=f[e+244>>2];return}function Ef(A){A=A|0;var e=0,i=0,r=0;e=Jb((PY(A)|0)<<4)|0;i=Ep(A)|0;while(1){if(!i)break;r=f[i+16>>2]|0;f[r+132>>2]=e;o[e>>3]=+o[r+16>>3]*.013888888888888888;o[e+8>>3]=+o[r+24>>3]*.013888888888888888;e=e+16|0;i=Qp(A,i)|0}return}function Qf(A){A=A|0;var e=0,i=0,r=0,n=0;r=f[(f[(Ep(A)|0)+16>>2]|0)+132>>2]|0;e=r;i=Ep(A)|0;while(1){if(!i)break;n=f[i+16>>2]|0;f[n+132>>2]=0;o[n+16>>3]=+o[e>>3]*72.0;o[n+24>>3]=+o[e+8>>3]*72.0;e=e+16|0;i=Qp(A,i)|0}HW(r);return}function yf(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;r=0;n=0;while(1){if((r|0)>=(A|0))break;l=(f[(f[(f[e+(r<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+n|0;r=r+1|0;n=l}l=i+16|0;f[(f[l>>2]|0)+180>>2]=n;a=Jb((n<<2)+4|0)|0;f[(f[l>>2]|0)+184>>2]=a;a=0;r=1;while(1){if((a|0)>=(A|0))break;t=(f[e+(a<<2)>>2]|0)+16|0;n=1;while(1){i=f[t>>2]|0;if((n|0)>(f[i+180>>2]|0))break;i=Lc(f[(f[i+184>>2]|0)+(n<<2)>>2]|0)|0;f[(f[(f[l>>2]|0)+184>>2]|0)+(r<<2)>>2]=i;Yf(f[(f[(f[t>>2]|0)+184>>2]|0)+(n<<2)>>2]|0,i);n=n+1|0;r=r+1|0}a=a+1|0}return}function Yf(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;cV(e,122277,280,1)|0;a=e+16|0;e=(f[a>>2]|0)+16|0;n=A+16|0;A=(f[n>>2]|0)+16|0;f[e>>2]=f[A>>2];f[e+4>>2]=f[A+4>>2];f[e+8>>2]=f[A+8>>2];f[e+12>>2]=f[A+12>>2];f[e+16>>2]=f[A+16>>2];f[e+20>>2]=f[A+20>>2];f[e+24>>2]=f[A+24>>2];f[e+28>>2]=f[A+28>>2];A=f[n>>2]|0;e=f[a>>2]|0;r[e+275>>0]=r[A+275>>0]|0;e=e+48|0;A=A+48|0;i=e+64|0;do{f[e>>2]=f[A>>2];e=e+4|0;A=A+4|0}while((e|0)<(i|0));A=f[(f[n>>2]|0)+180>>2]|0;f[(f[a>>2]|0)+180>>2]=A;e=Jb((A<<2)+4|0)|0;f[(f[a>>2]|0)+184>>2]=e;e=1;while(1){i=f[n>>2]|0;if((e|0)>(A|0))break;i=Lc(f[(f[i+184>>2]|0)+(e<<2)>>2]|0)|0;f[(f[(f[a>>2]|0)+184>>2]|0)+(e<<2)>>2]=i;Yf(f[(f[(f[n>>2]|0)+184>>2]|0)+(e<<2)>>2]|0,i);e=e+1|0}n=i+12|0;f[(f[a>>2]|0)+12>>2]=f[n>>2];f[n>>2]=0;return}function pf(A,e){A=A|0;e=e|0;if((Dp(A)|0)!=(A|0))cV(A,122277,280,1)|0;if((A|0)==(e|0))f[(f[(Dp(A)|0)+16>>2]|0)+188>>2]=A;A=fN(A)|0;while(1){if(!A)break;pf(A,e);A=aN(A)|0}return}function Vf(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+1040|0;o=s+8|0;c=s;r=s+16|0;n=Ky(A,1,80018,174185)|0;a=Ky(A,1,78084,174185)|0;t=(e|0)>0;i=(e|0)==1;e=Ep(A)|0;while(1){if(!e)break;if(t?(l=e+16|0,f[c>>2]=f[(f[l>>2]|0)+232>>2],iP(r,122187,c)|0,AY(e,n,r)|0,!i):0){f[o>>2]=f[(f[l>>2]|0)+236>>2];iP(r,122187,o)|0;AY(e,a,r)|0}e=Qp(A,e)|0}v=s;return}function Nf(A){A=A|0;var e=0,i=0,r=0;i=nN(A,79522,0)|0;if(i|0){e=Ep(i)|0;while(1){if(!e)break;r=Qp(i,e)|0;Ta(A,e);Wf(A,e);gf(e);Hp(A,e)|0;e=r}lN(A,i)|0}return}function Wf(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=f[(f[e+16>>2]|0)+232>>2]|0;l=A+16|0;A=f[(f[l>>2]|0)+196>>2]|0;i=f[A+(c<<6)>>2]|0;t=A+(c<<6)+4|0;a=0;r=0;while(1){if((r|0)>=(i|0)){n=7;break}n=f[(f[t>>2]|0)+(r<<2)>>2]|0;r=r+1|0;if((n|0)==(e|0)){n=4;break}else a=n}if((n|0)==4){while(1){if((r|0)>=(i|0))break;n=f[A+(c<<6)+4>>2]|0;f[n+(r+-1<<2)>>2]=f[n+(r<<2)>>2];n=f[(f[l>>2]|0)+196>>2]|0;r=r+1|0;i=f[n+(c<<6)>>2]|0;A=n;n=4}f[A+(c<<6)>>2]=i+-1}else if((n|0)==7?(a|0)!=(e|0):0)BA(78050,78057,248,78067);return}function zf(A){A=A|0;return f[(f[(Dp(A)|0)+16>>2]|0)+188>>2]|0}function Jf(A,e){A=A|0;e=e|0;var i=0;i=r[A+28>>0]|0;if(r[e+28>>0]|0)if(i<<24>>24){i=~~(+o[A>>3]-+o[e>>3]);if(!i)i=~~(+o[A+8>>3]-+o[e+8>>3])}else i=-1;else i=i<<24>>24!=0&1;return i|0}function Pf(A){A=A|0;Rf(A,1);return}function Rf(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0,j=0,O=0,K=0,_=0,q=0.0;_=v;v=v+656|0;L=_+592|0;H=_+552|0;i=_+544|0;T=_+96|0;U=_;K=_+632|0;S=A+16|0;O=n[(f[S>>2]|0)+136>>1]&14;F=O&65535;D=T+16|0;f[D>>2]=_+368;X=U+16|0;f[X>>2]=_+192;do{if(O<<16>>16){x=O<<16>>16==4;do{if(x){Hf(A);if(!(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1))M=9;else{Iy(0,78090,i)|0;M=9}}else if(O<<16>>16==8){Hf(A);if(!(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1)){Lv(A,0);u=0;s=0;c=0;break}else{Lf(A);Lv(A,1);u=0;s=0;c=0;break}}else M=9}while(0);if((M|0)==9){ZQ(A);if(CZ()|0)break;j=Jb(96)|0;J=f[(f[S>>2]|0)+248>>2]|0;f[K+8>>2]=(J|0)/4|0;f[K+12>>2]=J;c=Jb(512)|0;p=K+4|0;f[p>>2]=0;f[K>>2]=0;l=f[S>>2]|0;Q=n[l+236>>1]|0;y=0;P=0;R=c;Y=c;s=c;u=c;b=c;N=0;W=0;A:while(1){if((Q|0)>(n[l+238>>1]|0))break;B=f[l+196>>2]|0;t=f[B+(Q<<6)>>2]|0;V=t+y|0;a=f[B+(Q<<6)+4>>2]|0;i=f[a>>2]|0;if(!i)i=N;else{q=+(N|0);i=f[i+16>>2]|0;I=+o[i+16>>3]-+o[i+88>>3];i=~~(I>q?q:I)}if((t|0)!=0?(z=f[a+(t+-1<<2)>>2]|0,(z|0)!=0):0){I=+(W|0);a=f[z+16>>2]|0;q=+o[a+96>>3]+ +o[a+16>>3];a=~~(q=(t|0))break;c=f[(f[i+(Q<<6)+4>>2]|0)+(G<<2)>>2]|0;Z=c+16|0;i=f[Z>>2]|0;t=f[i+112>>2]|0;if(t){t=t+16|0;l=f[(f[t>>2]|0)+96>>2]|0;if(!l){M=21;break A}h=l+56|0;i=i+16|0;f[h>>2]=f[i>>2];f[h+4>>2]=f[i+4>>2];f[h+8>>2]=f[i+8>>2];f[h+12>>2]=f[i+12>>2];r[(f[(f[t>>2]|0)+96>>2]|0)+81>>0]=1;i=f[Z>>2]|0}if((r[i+156>>0]|0)!=0?(dL[f[17228>>2]&31](c)|0)<<24>>24==0:0){k=d;i=w;l=g;c=m;t=b}else{h=0;k=d;l=g;c=m;M=25}e:do{if((M|0)==25){while(1){M=0;B=f[Z>>2]|0;t=f[(f[B+180>>2]|0)+(h<<2)>>2]|0;if(!t)break;switch(r[(f[t+16>>2]|0)+112>>0]|0){case 6:case 4:{i=k;t=w;break}default:{Ff(t,1,16,64);i=k+1|0;f[w+(k<<2)>>2]=t;if(!(i&127)){a=Hb(a,(k<<2)+516|0)|0;t=a;l=a;c=a;u=a;b=a}else t=w}}h=h+1|0;k=i;w=t;M=25}i=f[B+188>>2]|0;i:do{if(!i)t=b;else{h=0;t=b;while(1){i=f[i+(h<<2)>>2]|0;if(!i)break i;Ff(i,2,0,128);b=k+1|0;f[w+(k<<2)>>2]=i;if(!(b&127)){a=Hb(t,(k<<2)+516|0)|0;i=a;l=a;c=a;u=a;t=a}else i=w;B=f[Z>>2]|0;h=h+1|0;k=b;w=i;i=f[B+188>>2]|0}}}while(0);i=f[B+204>>2]|0;if(!i)i=w;else{if(!(r[B+156>>0]|0)){m=B+96|0;q=+o[m>>3];h=B+240|0;o[m>>3]=+o[h>>3];o[h>>3]=q;h=0;B=w}else{h=0;B=w}while(1){i=f[i+(h<<2)>>2]|0;if(!i){i=B;break e}Ff(i,0,0,128);b=k+1|0;f[B+(k<<2)>>2]=i;if(!(b&127)){a=Hb(u,(k<<2)+516|0)|0;i=a;l=a;c=a;u=a;t=a}else i=B;h=h+1|0;k=b;B=i;i=f[(f[Z>>2]|0)+204>>2]|0}}}}while(0);g=f[S>>2]|0;Z=f[g+196>>2]|0;G=G+1|0;d=k;w=i;k=g;g=l;m=c;b=t;t=f[Z+(Q<<6)>>2]|0;i=Z}Q=Q+1|0;y=V;P=d;R=w;Y=g;l=k;s=m;c=a;N=E;W=C}if((M|0)==21)BA(78158,78171,313,78184);f[K>>2]=N;f[p>>2]=W;nP(Y,P,4,10);f[j+84>>2]=Jb((y<<5)+11520|0)|0;f[K+16>>2]=Jb(Q<<5)|0;A:do{if(O<<16>>16==2){i=(f[S>>2]|0)+192|0;while(1){a=f[i>>2]|0;if(!a)break A;t=a+16|0;i=f[t>>2]|0;if((r[i+156>>0]|0)==1?(f[i+104>>2]|0)!=0:0){Xf(a);i=f[t>>2]|0}i=i+164|0}}}while(0);C=U+48|0;M=U+-48|0;E=T+48|0;Q=T+-48|0;I=+(J|0);G=0;A:while(1){if((G|0)>=(P|0))break;m=R+(G<<2)|0;w=f[m>>2]|0;h=xf(w)|0;d=w+16|0;a=f[d>>2]|0;if(!(r[a+44>>0]|0)){a=(r[a+84>>0]|0)==0?h:w;i=a;a=f[a+16>>2]|0}else i=w;t=i+16|0;if(f[a+164>>2]&32){a=f[D>>2]|0;VH(a|0,f[t>>2]|0,176)|0;u=T;b=i;B=u+48|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));f[D>>2]=a;b=f[i>>2]&3;u=f[T>>2]&3;f[((u|0)==3?T:E)+40>>2]=f[((b|0)==2?i:i+-48|0)+40>>2];f[((u|0)==2?T:Q)+40>>2]=f[((b|0)==3?i:i+48|0)+40>>2];u=a+16|0;b=(f[t>>2]|0)+56|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));u=a+56|0;b=(f[t>>2]|0)+16|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));r[a+112>>0]=1;f[a+116>>2]=i;i=T}k=i+16|0;Z=1;i=G;while(1){g=i+1|0;if((g|0)>=(P|0))break;l=R+(g<<2)|0;i=f[l>>2]|0;if((h|0)!=(xf(i)|0))break;if(!(r[(f[d>>2]|0)+113>>0]|0)){c=i+16|0;a=f[c>>2]|0;if(!(r[a+44>>0]|0)){a=(r[a+84>>0]|0)==0?h:i;i=a;a=f[a+16>>2]|0}t=i+16|0;if(f[a+164>>2]&32){a=f[X>>2]|0;VH(a|0,f[t>>2]|0,176)|0;u=U;b=i;B=u+48|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));f[X>>2]=a;b=f[i>>2]&3;u=f[U>>2]&3;f[((u|0)==3?U:C)+40>>2]=f[((b|0)==2?i:i+-48|0)+40>>2];f[((u|0)==2?U:M)+40>>2]=f[((b|0)==3?i:i+48|0)+40>>2];u=a+16|0;b=(f[t>>2]|0)+56|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));u=a+56|0;b=(f[t>>2]|0)+16|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));r[a+112>>0]=1;f[a+116>>2]=i}t=f[k>>2]|0;i=a+16|0;u=H;b=t+16|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));u=L;b=i;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));if(Jf(H,L)|0)break;i=a+56|0;u=H;b=t+56|0;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));u=L;b=i;B=u+40|0;do{f[u>>2]=f[b>>2];u=u+4|0;b=b+4|0}while((u|0)<(B|0));if(Jf(H,L)|0)break;J=f[d>>2]|0;if((f[J+164>>2]&15|0)==2?(f[J+96>>2]|0)!=(f[(f[c>>2]|0)+96>>2]|0):0)break;if(f[(f[(f[l>>2]|0)+16>>2]|0)+164>>2]&64|0)break}Z=Z+1|0;i=g}if(x){if((Z|0)==1)i=L;else i=Jb(Z<<2)|0;f[i>>2]=xf(f[m>>2]|0)|0;a=1;while(1){if((a|0)>=(Z|0))break;f[i+(a<<2)>>2]=f[m+(a<<2)>>2];a=a+1|0}WZ(A,i,Z,F,17224);if((Z|0)>1)HW(i);G=g;continue}i=f[w>>2]&3;J=f[((i|0)==3?w:w+48|0)+40>>2]|0;i=f[((i|0)==2?w:w+-48|0)+40>>2]|0;a=f[J+16>>2]|0;t=f[a+232>>2]|0;if((J|0)!=(i|0))if((t|0)==(f[(f[i+16>>2]|0)+232>>2]|0)){Tf(A,K,j,R,G,Z,F);G=g;continue}else{Uf(A,K,j,R,G,Z,F);G=g;continue}i=f[S>>2]|0;do{if((t|0)==(n[i+238>>1]|0))if((t|0)>0){i=~~(+o[(f[(f[f[(f[i+196>>2]|0)+(t+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+o[a+24>>3]);break}else{i=~~+o[a+80>>3];break}else if((t|0)==(n[i+236>>1]|0)){i=~~(+o[a+24>>3]-+o[(f[(f[f[(f[i+196>>2]|0)+(t+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{i=f[i+196>>2]|0;q=+o[a+24>>3];J=~~(+o[(f[(f[f[i+(t+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-q);i=~~(q-+o[(f[(f[f[i+(t+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);i=(J|0)<(i|0)?J:i;break}}while(0);rI(j,R,G,Z,I,+((i|0)/2|0|0),17224);i=0;while(1){if((i|0)>=(Z|0)){G=g;continue A}a=f[(f[(f[R+(i+G<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(a|0)BC(A,a);i=i+1|0}}i=(f[S>>2]|0)+192|0;while(1){a=f[i>>2]|0;if(!a)break;t=a+16|0;i=f[t>>2]|0;if((r[i+156>>0]|0)==1?(f[i+104>>2]|0)!=0:0){Xf(a);BC(A,f[(f[t>>2]|0)+104>>2]|0);i=f[t>>2]|0}i=i+164|0}if(!e){u=j;c=j}else{Sf(A);u=j;c=j}}A:do{if((f[42242]|0)!=0|(f[42243]|0)!=0?(f[42248]|0)!=0|(f[42247]|0)!=0:0){l=Ep(A)|0;while(1){if(!l)break A;e:do{if(f[42242]|0){i=kY(A,l)|0;while(1){if(!i)break e;a=i+-48|0;t=(f[i>>2]&3|0)==2?i:a;if(f[(f[t+16>>2]|0)+100>>2]|0){sI(t,1)|0;BC(A,f[(f[((f[i>>2]&3|0)==2?i:a)+16>>2]|0)+100>>2]|0)}i=wY(A,i)|0}}}while(0);e:do{if(f[42243]|0){i=bY(A,l)|0;while(1){if(!i)break e;a=i+16|0;if(f[(f[a>>2]|0)+104>>2]|0?sI(i,0)|0:0)BC(A,f[(f[a>>2]|0)+104>>2]|0);i=BY(A,i)|0}}}while(0);l=Qp(A,l)|0}}}while(0);switch(O&15){case 4:case 8:break;default:{HW(s);HW(f[u+84>>2]|0);HW(c);HW(f[K+16>>2]|0);MZ()}}f[42182]=1;f[42183]=1}}while(0);v=_;return}function Hf(A){A=A|0;var e=0,i=0,r=0.0,n=0;e=Ep(A)|0;while(1){if(!e)break;i=f[e+16>>2]|0;if(f[i+204>>2]|0){n=i+96|0;r=+o[n>>3];i=i+240|0;o[n>>3]=+o[i>>3];o[i>>3]=r}e=Qp(A,e)|0}return}function Lf(A){A=A|0;var e=0,i=0,n=0,a=0;e=(f[A+16>>2]|0)+192|0;A:while(1){n=f[e>>2]|0;if(!n){e=12;break}a=n+16|0;e=f[a>>2]|0;do{if((r[e+156>>0]|0)==1){i=f[e+112>>2]|0;if(!i){i=f[e+104>>2]|0;if(!i)break;Xf(n);e=i}else{i=f[(f[i+16>>2]|0)+96>>2]|0;if(!i){e=6;break A}n=i+56|0;e=e+16|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];r[i+81>>0]=1;e=i}BC(A,e);e=f[a>>2]|0}}while(0);e=e+164|0}if((e|0)==6)BA(78358,78171,234,78377);else if((e|0)==12)return}function Ff(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0;do{if(!e){a=f[A>>2]&3;e=f[((a|0)==3?A:A+48|0)+40>>2]|0;a=f[((a|0)==2?A:A+-48|0)+40>>2]|0;if((e|0)!=(a|0)){e=(f[(f[e+16>>2]|0)+232>>2]|0)==(f[(f[a+16>>2]|0)+232>>2]|0)?2:1;break}e=f[A+16>>2]|0;if(!(r[e+44>>0]|0))e=(r[e+84>>0]|0)==0?8:4;else e=4}}while(0);A:do{if(!i)switch(e|0){case 1:{i=f[A>>2]&3;i=(f[(f[(f[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(f[(f[(f[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break A}case 2:{i=f[A>>2]&3;i=(f[(f[(f[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(f[(f[(f[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break A}default:{i=16;break A}}}while(0);f[(f[A+16>>2]|0)+164>>2]=e|n|i;return}function Df(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0;y=v;v=v+624|0;C=y+584|0;I=y+544|0;h=y+368|0;i=y+192|0;d=y+96|0;m=y;g=d+16|0;f[g>>2]=h;Z=m+16|0;f[Z>>2]=i;Q=f[A>>2]|0;E=f[e>>2]|0;G=Q+16|0;k=f[G>>2]|0;e=f[k+164>>2]|0;n=e&15;M=E+16|0;A=f[M>>2]|0;a=f[A+164>>2]&15;do{if((a|0)==(n|0)){B=xf(Q)|0;w=xf(E)|0;u=f[B>>2]|0;a=u&3;n=f[(f[((a|0)==3?B:B+48|0)+40>>2]|0)+16>>2]|0;a=f[(f[((a|0)==2?B:B+-48|0)+40>>2]|0)+16>>2]|0;t=(f[n+232>>2]|0)-(f[a+232>>2]|0)|0;b=f[w>>2]|0;s=b&3;c=f[(f[((s|0)==3?w:w+48|0)+40>>2]|0)+16>>2]|0;s=f[(f[((s|0)==2?w:w+-48|0)+40>>2]|0)+16>>2]|0;l=(f[c+232>>2]|0)-(f[s+232>>2]|0)|0;t=(t|0)>-1?t:0-t|0;l=(l|0)>-1?l:0-l|0;if((t|0)!=(l|0)){A=t-l|0;break}a=~~(+o[n+16>>3]-+o[a+16>>3]);a=(a|0)>-1?a:0-a|0;n=~~(+o[c+16>>3]-+o[s+16>>3]);n=(n|0)>-1?n:0-n|0;if((a|0)!=(n|0)){A=a-n|0;break}a=u>>>4;n=b>>>4;if((a|0)!=(n|0)){A=a-n|0;break}if(!(r[k+44>>0]|0)){e=(r[k+84>>0]|0)==0?B:Q;a=e;e=f[(f[e+16>>2]|0)+164>>2]|0}else a=Q;n=a+16|0;if(e&32){VH(h|0,f[n>>2]|0,176)|0;t=d;l=a;c=t+48|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));f[g>>2]=h;l=f[a>>2]&3;t=f[d>>2]&3;f[((t|0)==3?d:d+48|0)+40>>2]=f[((l|0)==2?a:a+-48|0)+40>>2];f[((t|0)==2?d:d+-48|0)+40>>2]=f[((l|0)==3?a:a+48|0)+40>>2];t=h+16|0;l=(f[n>>2]|0)+56|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));t=h+56|0;l=(f[n>>2]|0)+16|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));r[h+112>>0]=1;f[h+116>>2]=a;a=d;A=f[M>>2]|0}if(!(r[A+44>>0]|0)){A=(r[A+84>>0]|0)==0?w:E;n=A;A=f[A+16>>2]|0}else n=E;e=n+16|0;if(!(f[A+164>>2]&32))i=A;else{VH(i|0,f[e>>2]|0,176)|0;t=m;l=n;c=t+48|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));f[Z>>2]=i;l=f[n>>2]&3;t=f[m>>2]&3;f[((t|0)==3?m:m+48|0)+40>>2]=f[((l|0)==2?n:n+-48|0)+40>>2];f[((t|0)==2?m:m+-48|0)+40>>2]=f[((l|0)==3?n:n+48|0)+40>>2];t=i+16|0;l=(f[e>>2]|0)+56|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));t=i+56|0;l=(f[e>>2]|0)+16|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));r[i+112>>0]=1;f[i+116>>2]=n}e=f[a+16>>2]|0;A=i+16|0;t=I;l=e+16|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));t=C;l=A;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));A=Jf(I,C)|0;if(!A){A=i+56|0;t=I;l=e+56|0;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));t=C;l=A;c=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));A=Jf(I,C)|0;if(!A){e=f[(f[G>>2]|0)+164>>2]&192;A=f[(f[M>>2]|0)+164>>2]&192;if((e|0)==(A|0)){A=((f[Q>>2]|0)>>>4)-((f[E>>2]|0)>>>4)|0;break}else{A=e-A|0;break}}}}else A=a-n|0}while(0);v=y;return A|0}function Xf(A){A=A|0;var e=0,i=0,n=0,a=0.0,t=0.0;n=A+16|0;e=f[n>>2]|0;if(f[e+176>>2]|0){e=f[e+180>>2]|0;while(1){e=(f[e>>2]|0)+16|0;i=f[e>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}i=f[i+96>>2]|0;a=+o[i+24>>3];t=+o[i+32>>3];i=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=f[n>>2]|0;n=f[(f[e>>2]|0)+96>>2]|0;o[n+56>>3]=(i?t:a)*.5+ +o[A+16>>3];o[n+64>>3]=+o[A+24>>3];r[n+81>>0]=1}return}function xf(A){A=A|0;var e=0,i=0;while(1){e=f[A+16>>2]|0;i=f[e+172>>2]|0;if(!i)break;else A=i}while(1){e=f[e+116>>2]|0;if(!e)break;A=e;e=f[e+16>>2]|0}return A|0}function Tf(A,e,i,n,a,t,l){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;var c=0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0.0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0.0,y=0.0,Y=0.0,p=0.0,V=0.0;E=v;v=v+1712|0;G=E+1664|0;h=E+1488|0;d=E+1392|0;M=E+1696|0;I=E+696|0;C=E;B=d+16|0;f[B>>2]=h;k=f[n+(a<<2)>>2]|0;w=k+16|0;c=f[w>>2]|0;g=r[c+113>>0]|0;if(f[c+164>>2]&32){VH(h|0,c|0,176)|0;c=d;u=k;b=c+48|0;do{f[c>>2]=f[u>>2];c=c+4|0;u=u+4|0}while((c|0)<(b|0));f[B>>2]=h;c=f[d>>2]&3;f[((c|0)==3?d:d+48|0)+40>>2]=f[((f[k>>2]&3|0)==2?k:k+-48|0)+40>>2];f[((c|0)==2?d:d+-48|0)+40>>2]=f[((f[k>>2]&3|0)==3?k:k+48|0)+40>>2];c=h+16|0;u=(f[w>>2]|0)+56|0;b=c+40|0;do{f[c>>2]=f[u>>2];c=c+4|0;u=u+4|0}while((c|0)<(b|0));c=h+56|0;u=(f[w>>2]|0)+16|0;b=c+40|0;do{f[c>>2]=f[u>>2];c=c+4|0;u=u+4|0}while((c|0)<(b|0));r[h+112>>0]=1;f[h+116>>2]=k;k=d}c=1;while(1){if((c|0)>=(t|0)){Z=6;break}if(!(r[(f[(f[n+(c+a<<2)>>2]|0)+16>>2]|0)+113>>0]|0))c=c+1|0;else{Z=7;break}}A:do{if((Z|0)==6)if(!(g<<24>>24)){c=f[k+16>>2]|0;if(f[c+96>>2]|0){wa(A,e,i,k,l);break}if((l|0)==2){M=f[k>>2]&3;ha(f[((M|0)==3?k:k+48|0)+40>>2]|0,f[((M|0)==2?k:k+-48|0)+40>>2]|0,n,a,t,2);break}d=r[c+49>>0]|0;g=r[c+89>>0]|0;if(!(d<<24>>24==1&g<<24>>24!=4)?!(d<<24>>24!=4&g<<24>>24==1):0){B=f[k>>2]&3;b=f[((B|0)==3?k:k+48|0)+40>>2]|0;B=f[((B|0)==2?k:k+-48|0)+40>>2]|0;c=f[b+16>>2]|0;u=f[c+232>>2]|0;if((u|0)>0){g=f[(f[A+16>>2]|0)+196>>2]|0;d=u+~(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;s=+o[(f[(f[f[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+o[g+(d<<6)+16>>3]-+o[c+24>>3]-+o[g+(u<<6)+24>>3]}else s=+(f[(f[A+16>>2]|0)+252>>2]|0);Q=+(t+1|0);m=+(f[e+12>>2]|0)/Q;s=s/Q;ga(A,e,i,b,k,I,1);ga(A,e,i,B,k,C,0);h=I+52|0;d=C+52|0;B=(l|0)==10;k=i+80|0;c=0;while(1){if((c|0)>=(t|0))break A;w=f[n+(c+a<<2)>>2]|0;b=f[h>>2]|0;u=b+-1|0;V=+o[I+56+(u<<5)>>3];p=+o[I+56+(u<<5)+16>>3];Y=+o[I+56+(u<<5)+24>>3];o[16878]=V;o[16879]=Y;c=c+1|0;Q=+(c|0);y=m*Q;o[16880]=p+y;Q=Y+s*Q;o[16881]=Q;o[16882]=V;o[16883]=Q;u=(f[d>>2]|0)+-1|0;V=+o[C+56+(u<<5)+16>>3];o[16884]=V;o[16885]=Q+s;Y=+o[C+56+(u<<5)>>3];p=+o[C+56+(u<<5)+24>>3];o[16888]=V;o[16887]=p;o[16886]=Y-y;o[16889]=Q;u=0;while(1){if((u|0)>=(b|0)){u=0;break}b=I+56+(u<<5)|0;f[G>>2]=f[b>>2];f[G+4>>2]=f[b+4>>2];f[G+8>>2]=f[b+8>>2];f[G+12>>2]=f[b+12>>2];f[G+16>>2]=f[b+16>>2];f[G+20>>2]=f[b+20>>2];f[G+24>>2]=f[b+24>>2];f[G+28>>2]=f[b+28>>2];_G(i,G);u=u+1|0;b=f[h>>2]|0}while(1){if((u|0)==3)break;l=135024+(u<<5)|0;f[G>>2]=f[l>>2];f[G+4>>2]=f[l+4>>2];f[G+8>>2]=f[l+8>>2];f[G+12>>2]=f[l+12>>2];f[G+16>>2]=f[l+16>>2];f[G+20>>2]=f[l+20>>2];f[G+24>>2]=f[l+24>>2];f[G+28>>2]=f[l+28>>2];_G(i,G);u=u+1|0}b=f[d>>2]|0;while(1){u=b+-1|0;if((b|0)<=0)break;b=C+56+(u<<5)|0;f[G>>2]=f[b>>2];f[G+4>>2]=f[b+4>>2];f[G+8>>2]=f[b+8>>2];f[G+12>>2]=f[b+12>>2];f[G+16>>2]=f[b+16>>2];f[G+20>>2]=f[b+20>>2];f[G+24>>2]=f[b+24>>2];f[G+28>>2]=f[b+28>>2];_G(i,G);b=u}if(B)u=EZ(i,M)|0;else u=NZ(i,M)|0;b=f[M>>2]|0;if(!b)break A;OG(w,f[((f[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0,u,b,17224);f[k>>2]=0}}da(A,e,i,n,a,t,k,(l|0)==10&1)}else Z=7}while(0);if((Z|0)==7)ka(A,n,a,t,k,l);v=E;return}function Uf(A,e,i,n,a,t,l){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;var c=0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,x=0,T=0,U=0,S=0,j=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0,iA=0;eA=v;v=v+2576|0;x=eA+2528|0;q=eA+2568|0;c=eA+2352|0;u=eA+2176|0;d=eA+1904|0;K=eA+1808|0;$=eA+1712|0;T=eA+1016|0;U=eA+320|0;S=eA+256|0;O=eA+2564|0;_=eA+2560|0;C=eA+288|0;M=eA+224|0;P=eA+192|0;R=eA+160|0;H=eA+128|0;L=eA+96|0;F=eA+64|0;D=eA+32|0;j=eA;h=d+16|0;f[h>>2]=c;b=K+16|0;f[b>>2]=u;AA=$+16|0;f[AA>>2]=eA+2e3;if(!(f[41920]|0)){f[41920]=Pb(32e3)|0;f[41921]=Pb(32e3)|0;f[41922]=2e3;f[41923]=2e3}g=f[n+(a<<2)>>2]|0;J=f[g>>2]&3;B=g+48|0;k=g+-48|0;J=(f[(f[(f[((J|0)==3?g:B)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((J|0)==2?g:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;w=g+16|0;if((((J|0)>-1?J:0-J|0)|0)<=1){c=f[w>>2]|0;if(!(f[c+164>>2]&32)){J=g;u=0}else{u=f[h>>2]|0;VH(u|0,c|0,176)|0;Z=d;G=g;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));f[h>>2]=u;Z=f[d>>2]&3;f[((Z|0)==3?d:d+48|0)+40>>2]=f[((f[g>>2]&3|0)==2?g:k)+40>>2];f[((Z|0)==2?d:d+-48|0)+40>>2]=f[((f[g>>2]&3|0)==3?g:B)+40>>2];Z=u+16|0;G=(f[w>>2]|0)+56|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));c=f[h>>2]|0;Z=c+56|0;G=(f[w>>2]|0)+16|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));r[c+112>>0]=1;u=0;z=12}}else{VH(c|0,f[w>>2]|0,176)|0;Z=d;G=g;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));Z=d+48|0;G=B;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));f[h>>2]=c;c=f[w>>2]|0;if(!(f[c+164>>2]&32)){VH(u|0,c|0,176)|0;Z=K;G=g;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));f[b>>2]=u;b=f[d>>2]|0;f[((b&3|0)==3?d:d+48|0)+40>>2]=f[((f[g>>2]&3|0)==3?g:B)+40>>2];Z=K+48|0;G=B;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0))}else{u=f[b>>2]|0;VH(u|0,c|0,176)|0;Z=K;G=g;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));f[b>>2]=u;Z=f[K>>2]&3;f[((Z|0)==3?K:K+48|0)+40>>2]=f[((f[g>>2]&3|0)==2?g:k)+40>>2];f[((Z|0)==2?K:K+-48|0)+40>>2]=f[((f[g>>2]&3|0)==3?g:B)+40>>2];Z=u+16|0;G=(f[w>>2]|0)+56|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));c=f[b>>2]|0;Z=c+56|0;G=(f[w>>2]|0)+16|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));r[c+112>>0]=1;f[c+116>>2]=g;b=f[d>>2]|0;f[((b&3|0)==3?d:d+48|0)+40>>2]=f[((f[g>>2]&3|0)==2?g:k)+40>>2];Z=(f[h>>2]|0)+16|0;G=(f[w>>2]|0)+56|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0))}c=xf(g)|0;while(1){u=f[(f[c+16>>2]|0)+172>>2]|0;if(!u)break;else c=u}f[((b&3|0)==2?d:d+-48|0)+40>>2]=f[((f[c>>2]&3|0)==2?c:c+-48|0)+40>>2];c=f[h>>2]|0;r[c+84>>0]=0;r[c+112>>0]=1;u=c+56|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;u=1;z=12}if((z|0)==12){f[c+116>>2]=g;J=d}N=(l|0)==2;if(N?(m=Kf(A,J,f[41920]|0,q)|0,f[_>>2]=m,(m|0)!=0):0)z=63;else z=15;A:do{if((z|0)==15){V=(l|0)==10;f[_>>2]=0;b=f[J>>2]&3;c=f[((b|0)==3?J:J+48|0)+40>>2]|0;b=f[((b|0)==2?J:J+-48|0)+40>>2]|0;f[q>>2]=b;_f(C,A,e,c,0,J);f[T>>2]=f[C>>2];f[T+4>>2]=f[C+4>>2];f[T+8>>2]=f[C+8>>2];f[T+12>>2]=f[C+12>>2];f[T+16>>2]=f[C+16>>2];f[T+20>>2]=f[C+20>>2];f[T+24>>2]=f[C+24>>2];f[T+28>>2]=f[C+28>>2];f[S>>2]=f[C>>2];f[S+4>>2]=f[C+4>>2];f[S+8>>2]=f[C+8>>2];f[S+12>>2]=f[C+12>>2];f[S+16>>2]=f[C+16>>2];f[S+20>>2]=f[C+20>>2];qG(i,J,1,T,qf(c)|0);E=T+52|0;W=(f[E>>2]|0)+-1|0;y=S+24|0;o[y>>3]=+o[T+56+(W<<5)+24>>3];Y=S+8|0;o[Y>>3]=+o[T+56+(W<<5)+8>>3];W=f[c+16>>2]|0;p=A+16|0;s=+o[W+24>>3]-+o[(f[(f[p>>2]|0)+196>>2]|0)+(f[W+232>>2]<<6)+16>>3];f[x>>2]=f[S>>2];f[x+4>>2]=f[S+4>>2];f[x+8>>2]=f[S+8>>2];f[x+12>>2]=f[S+12>>2];f[x+16>>2]=f[S+16>>2];f[x+20>>2]=f[S+20>>2];f[x+24>>2]=f[S+24>>2];f[x+28>>2]=f[S+28>>2];$f(M,x,1,s);f[S>>2]=f[M>>2];f[S+4>>2]=f[M+4>>2];f[S+8>>2]=f[M+8>>2];f[S+12>>2]=f[M+12>>2];f[S+16>>2]=f[M+16>>2];f[S+20>>2]=f[M+20>>2];f[S+24>>2]=f[M+24>>2];f[S+28>>2]=f[M+28>>2];M=S+16|0;if(+o[S>>3]<+o[M>>3]?+o[Y>>3]<+o[y>>3]:0){W=f[E>>2]|0;f[E>>2]=W+1;W=T+56+(W<<5)|0;f[W>>2]=f[S>>2];f[W+4>>2]=f[S+4>>2];f[W+8>>2]=f[S+8>>2];f[W+12>>2]=f[S+12>>2];f[W+16>>2]=f[S+16>>2];f[W+20>>2]=f[S+20>>2];f[W+24>>2]=f[S+24>>2];f[W+28>>2]=f[S+28>>2]}Z=A+60|0;Q=U+52|0;G=i+56|0;I=i+69|0;l=i+16|0;C=i+29|0;W=J;k=0;w=-1;e:while(1){h=c;d=0;c=0;g=W;while(1){B=b;m=b;if((r[(f[B+16>>2]|0)+156>>0]|0)!=1)break e;if((dL[f[17228>>2]&31](B)|0)<<24>>24)break e;b=d|1;iA=135024+(d<<5)|0;Aa(P,e,A,f[(f[h+16>>2]|0)+232>>2]|0);f[iA>>2]=f[P>>2];f[iA+4>>2]=f[P+4>>2];f[iA+8>>2]=f[P+8>>2];f[iA+12>>2]=f[P+12>>2];f[iA+16>>2]=f[P+16>>2];f[iA+20>>2]=f[P+20>>2];f[iA+24>>2]=f[P+24>>2];f[iA+28>>2]=f[P+28>>2];if(!c){k=ea(B)|0;c=(k|0)<((r[(f[(f[Z>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);k=c?k:k+-2|0;w=c?w:1;c=(c^1)&1}if(!((c|0)==0|(w|0)>0))break;iA=135024+(b<<5)|0;_f(R,A,e,B,g,f[f[(f[B+16>>2]|0)+180>>2]>>2]|0);f[iA>>2]=f[R>>2];f[iA+4>>2]=f[R+4>>2];f[iA+8>>2]=f[R+8>>2];f[iA+12>>2]=f[R+12>>2];f[iA+16>>2]=f[R+16>>2];f[iA+20>>2]=f[R+20>>2];f[iA+24>>2]=f[R+24>>2];f[iA+28>>2]=f[R+28>>2];iA=f[f[(f[m+16>>2]|0)+180>>2]>>2]|0;b=f[iA>>2]&3;h=f[((b|0)==3?iA:iA+48|0)+40>>2]|0;b=f[((b|0)==2?iA:iA+-48|0)+40>>2]|0;f[q>>2]=b;d=d+2|0;w=w+-1|0;g=iA}_f(H,A,e,B,g,f[f[(f[B+16>>2]|0)+180>>2]>>2]|0);f[U>>2]=f[H>>2];f[U+4>>2]=f[H+4>>2];f[U+8>>2]=f[H+8>>2];f[U+12>>2]=f[H+12>>2];f[U+16>>2]=f[H+16>>2];f[U+20>>2]=f[H+20>>2];f[U+24>>2]=f[H+24>>2];f[U+28>>2]=f[H+28>>2];eI(i,g,1,U,qf(f[((f[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)|0);iA=U+56+((f[Q>>2]|0)+-1<<5)|0;d=f[m+16>>2]|0;s=+o[(f[(f[p>>2]|0)+196>>2]|0)+(f[d+232>>2]<<6)+24>>3]+ +o[d+24>>3];f[x>>2]=f[iA>>2];f[x+4>>2]=f[iA+4>>2];f[x+8>>2]=f[iA+8>>2];f[x+12>>2]=f[iA+12>>2];f[x+16>>2]=f[iA+16>>2];f[x+20>>2]=f[iA+20>>2];f[x+24>>2]=f[iA+24>>2];f[x+28>>2]=f[iA+28>>2];$f(S,x,4,s);if(+o[S>>3]<+o[M>>3]?+o[Y>>3]<+o[y>>3]:0){iA=f[Q>>2]|0;f[Q>>2]=iA+1;iA=U+56+(iA<<5)|0;f[iA>>2]=f[S>>2];f[iA+4>>2]=f[S+4>>2];f[iA+8>>2]=f[S+8>>2];f[iA+12>>2]=f[S+12>>2];f[iA+16>>2]=f[S+16>>2];f[iA+20>>2]=f[S+20>>2];f[iA+24>>2]=f[S+24>>2];f[iA+28>>2]=f[S+28>>2]}o[G>>3]=1.5707963267948966;r[I>>0]=1;ia(i,W,g,T,U,b);if(!V){c=NZ(i,O)|0;b=f[O>>2]|0;if(N&(b|0)>4){iA=c+16|0;f[iA>>2]=f[c>>2];f[iA+4>>2]=f[c+4>>2];f[iA+8>>2]=f[c+8>>2];f[iA+12>>2]=f[c+12>>2];iA=c+32|0;b=c+(b+-1<<4)|0;f[iA>>2]=f[b>>2];f[iA+4>>2]=f[b+4>>2];f[iA+8>>2]=f[b+8>>2];f[iA+12>>2]=f[b+12>>2];NH(c+48|0,b|0,16)|0;f[O>>2]=4;b=4}else z=33}else{c=EZ(i,O)|0;b=f[O>>2]|0;z=33}if((z|0)==33){z=0;if(!b)break A}g=f[_>>2]|0;B=g+b|0;if((B|0)>(f[41922]|0)){f[41922]=B<<1;d=Hb(f[41920]|0,B<<5)|0;f[41920]=d;b=f[O>>2]|0}else d=f[41920]|0;h=0;B=g;while(1){if((h|0)>=(b|0))break;iA=d+(B<<4)|0;g=c+(h<<4)|0;f[iA>>2]=f[g>>2];f[iA+4>>2]=f[g+4>>2];f[iA+8>>2]=f[g+8>>2];f[iA+12>>2]=f[g+12>>2];h=h+1|0;B=B+1|0}f[_>>2]=B;b=ra(f[f[(f[m+16>>2]|0)+180>>2]>>2]|0,k,d,_)|0;na(W,i);B=f[b>>2]&3;c=f[((B|0)==3?b:b+48|0)+40>>2]|0;B=f[((B|0)==2?b:b+-48|0)+40>>2]|0;f[q>>2]=B;W=c+16|0;_f(L,A,e,c,f[f[(f[W>>2]|0)+172>>2]>>2]|0,b);f[T>>2]=f[L>>2];f[T+4>>2]=f[L+4>>2];f[T+8>>2]=f[L+8>>2];f[T+12>>2]=f[L+12>>2];f[T+16>>2]=f[L+16>>2];f[T+20>>2]=f[L+20>>2];f[T+24>>2]=f[L+24>>2];f[T+28>>2]=f[L+28>>2];qG(i,b,1,T,qf(c)|0);iA=T+56+((f[E>>2]|0)+-1<<5)|0;W=f[W>>2]|0;s=+o[W+24>>3]-+o[(f[(f[p>>2]|0)+196>>2]|0)+(f[W+232>>2]<<6)+16>>3];f[x>>2]=f[iA>>2];f[x+4>>2]=f[iA+4>>2];f[x+8>>2]=f[iA+8>>2];f[x+12>>2]=f[iA+12>>2];f[x+16>>2]=f[iA+16>>2];f[x+20>>2]=f[iA+20>>2];f[x+24>>2]=f[iA+24>>2];f[x+28>>2]=f[iA+28>>2];$f(S,x,1,s);if(+o[S>>3]<+o[M>>3]?+o[Y>>3]<+o[y>>3]:0){iA=f[E>>2]|0;f[E>>2]=iA+1;iA=T+56+(iA<<5)|0;f[iA>>2]=f[S>>2];f[iA+4>>2]=f[S+4>>2];f[iA+8>>2]=f[S+8>>2];f[iA+12>>2]=f[S+12>>2];f[iA+16>>2]=f[S+16>>2];f[iA+20>>2]=f[S+20>>2];f[iA+24>>2]=f[S+24>>2];f[iA+28>>2]=f[S+28>>2]}o[l>>3]=-1.5707963267948966;r[C>>0]=1;W=b;b=B}c=d|1;w=135024+(d<<5)|0;Aa(F,e,A,f[(f[h+16>>2]|0)+232>>2]|0);f[w>>2]=f[F>>2];f[w+4>>2]=f[F+4>>2];f[w+8>>2]=f[F+8>>2];f[w+12>>2]=f[F+12>>2];f[w+16>>2]=f[F+16>>2];f[w+20>>2]=f[F+20>>2];f[w+24>>2]=f[F+24>>2];f[w+28>>2]=f[F+28>>2];_f(D,A,e,B,g,0);f[U>>2]=f[D>>2];f[U+4>>2]=f[D+4>>2];f[U+8>>2]=f[D+8>>2];f[U+12>>2]=f[D+12>>2];f[U+16>>2]=f[D+16>>2];f[U+20>>2]=f[D+20>>2];f[U+24>>2]=f[D+24>>2];f[U+28>>2]=f[D+28>>2];f[S>>2]=f[D>>2];f[S+4>>2]=f[D+4>>2];f[S+8>>2]=f[D+8>>2];f[S+12>>2]=f[D+12>>2];f[S+16>>2]=f[D+16>>2];f[S+20>>2]=f[D+20>>2];f[S+24>>2]=f[D+24>>2];f[S+28>>2]=f[D+28>>2];w=(u|0)!=0;h=g+-48|0;eI(i,w?K:g,1,U,qf(f[((f[g>>2]&3|0)==2?g:h)+40>>2]|0)|0);iA=(f[Q>>2]|0)+-1|0;o[y>>3]=+o[U+56+(iA<<5)+24>>3];o[Y>>3]=+o[U+56+(iA<<5)+8>>3];iA=f[m+16>>2]|0;s=+o[(f[(f[p>>2]|0)+196>>2]|0)+(f[iA+232>>2]<<6)+24>>3]+ +o[iA+24>>3];f[x>>2]=f[S>>2];f[x+4>>2]=f[S+4>>2];f[x+8>>2]=f[S+8>>2];f[x+12>>2]=f[S+12>>2];f[x+16>>2]=f[S+16>>2];f[x+20>>2]=f[S+20>>2];f[x+24>>2]=f[S+24>>2];f[x+28>>2]=f[S+28>>2];$f(j,x,4,s);f[S>>2]=f[j>>2];f[S+4>>2]=f[j+4>>2];f[S+8>>2]=f[j+8>>2];f[S+12>>2]=f[j+12>>2];f[S+16>>2]=f[j+16>>2];f[S+20>>2]=f[j+20>>2];f[S+24>>2]=f[j+24>>2];f[S+28>>2]=f[j+28>>2];if(+o[S>>3]<+o[M>>3]?+o[Y>>3]<+o[y>>3]:0){iA=f[Q>>2]|0;f[Q>>2]=iA+1;iA=U+56+(iA<<5)|0;f[iA>>2]=f[S>>2];f[iA+4>>2]=f[S+4>>2];f[iA+8>>2]=f[S+8>>2];f[iA+12>>2]=f[S+12>>2];f[iA+16>>2]=f[S+16>>2];f[iA+20>>2]=f[S+20>>2];f[iA+24>>2]=f[S+24>>2];f[iA+28>>2]=f[S+28>>2]}ia(i,W,g,T,U,c);if(V)k=EZ(i,O)|0;else k=NZ(i,O)|0;c=f[O>>2]|0;if(!(N&(c|0)>4)){if(!c)break}else{iA=k+16|0;f[iA>>2]=f[k>>2];f[iA+4>>2]=f[k+4>>2];f[iA+8>>2]=f[k+8>>2];f[iA+12>>2]=f[k+12>>2];iA=k+32|0;c=k+(c+-1<<4)|0;f[iA>>2]=f[c>>2];f[iA+4>>2]=f[c+4>>2];f[iA+8>>2]=f[c+8>>2];f[iA+12>>2]=f[c+12>>2];NH(k+48|0,c|0,16)|0;f[O>>2]=4;c=4}b=f[_>>2]|0;u=b+c|0;if((u|0)>(f[41922]|0)){f[41922]=u<<1;B=Hb(f[41920]|0,u<<5)|0;f[41920]=B;c=f[O>>2]|0}else B=f[41920]|0;u=0;while(1){if((u|0)>=(c|0))break;iA=B+(b<<4)|0;O=k+(u<<4)|0;f[iA>>2]=f[O>>2];f[iA+4>>2]=f[O+4>>2];f[iA+8>>2]=f[O+8>>2];f[iA+12>>2]=f[O+12>>2];u=u+1|0;b=b+1|0}f[_>>2]=b;na(W,i);if(w)c=(f[K>>2]&3|0)==2?K:K+-48|0;else c=(f[g>>2]&3|0)==2?g:h;f[q>>2]=f[c+40>>2];m=b;z=63}}while(0);A:do{if((z|0)==63){if((t|0)==1){OG(J,f[q>>2]|0,f[41920]|0,m,17224);break}d=e+12|0;g=m+-1|0;s=+((X(f[d>>2]|0,t+-1|0)|0)/2|0|0);u=f[41920]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=u+(c<<4)|0;o[iA>>3]=+o[iA>>3]-s;c=c+1|0}c=f[41922]|0;if((c|0)>(f[41923]|0)){f[41923]=c;b=Hb(f[41921]|0,c<<4)|0;f[41921]=b;u=f[41920]|0}else b=f[41921]|0;c=0;while(1){if((c|0)>=(m|0))break;iA=b+(c<<4)|0;e=u+(c<<4)|0;f[iA>>2]=f[e>>2];f[iA+4>>2]=f[e+4>>2];f[iA+8>>2]=f[e+8>>2];f[iA+12>>2]=f[e+12>>2];c=c+1|0}OG(J,f[q>>2]|0,b,m,17224);w=$+48|0;h=$+-48|0;k=1;while(1){if((k|0)>=(t|0))break A;b=f[n+(k+a<<2)>>2]|0;B=b+16|0;c=f[B>>2]|0;if(f[c+164>>2]&32){u=f[AA>>2]|0;VH(u|0,c|0,176)|0;Z=$;G=b;I=Z+48|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));f[AA>>2]=u;Z=f[$>>2]&3;f[((Z|0)==3?$:w)+40>>2]=f[((f[b>>2]&3|0)==2?b:b+-48|0)+40>>2];f[((Z|0)==2?$:h)+40>>2]=f[((f[b>>2]&3|0)==3?b:b+48|0)+40>>2];Z=u+16|0;G=(f[B>>2]|0)+56|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));c=f[AA>>2]|0;Z=c+56|0;G=(f[B>>2]|0)+16|0;I=Z+40|0;do{f[Z>>2]=f[G>>2];Z=Z+4|0;G=G+4|0}while((Z|0)<(I|0));r[c+112>>0]=1;f[c+116>>2]=b;b=$}B=f[41920]|0;c=1;while(1){if((c|0)>=(g|0))break;iA=B+(c<<4)|0;o[iA>>3]=+o[iA>>3]+ +(f[d>>2]|0);c=c+1|0}u=f[41921]|0;c=0;while(1){if((c|0)>=(m|0))break;iA=u+(c<<4)|0;q=B+(c<<4)|0;f[iA>>2]=f[q>>2];f[iA+4>>2]=f[q+4>>2];f[iA+8>>2]=f[q+8>>2];f[iA+12>>2]=f[q+12>>2];c=c+1|0}OG(b,f[((f[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,u,m,17224);k=k+1|0}}}while(0);v=eA;return}function Sf(A){A=A|0;var e=0,i=0,r=0;e=Ep(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;if((dL[f[4306]&31](i)|0)<<24>>24?(r=f[(f[i+16>>2]|0)+8>>2]|0,r|0):0)jf(r);i=BY(A,i)|0}e=Qp(A,e)|0}return}function jf(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;n=f[A+4>>2]|0;a=Pb(n*48|0)|0;e=a;i=0;r=(f[A>>2]|0)+((n+-1|0)*48|0)|0;while(1){if((i|0)>=(n|0)){e=0;break}Of(r,e);e=e+48|0;i=i+1|0;r=r+-48|0}while(1){i=f[A>>2]|0;if((e|0)>=(n|0))break;HW(f[i+(e*48|0)>>2]|0);e=e+1|0}HW(i);f[A>>2]=a;return}function Of(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;a=f[A+4>>2]|0;t=Pb(a<<4)|0;i=t;r=0;n=(f[A>>2]|0)+(a+-1<<4)|0;while(1){if((r|0)>=(a|0))break;f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];i=i+16|0;r=r+1|0;n=n+-16|0}f[e>>2]=t;f[e+4>>2]=a;f[e+8>>2]=f[A+12>>2];f[e+12>>2]=f[A+8>>2];t=e+16|0;a=A+32|0;f[t>>2]=f[a>>2];f[t+4>>2]=f[a+4>>2];f[t+8>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];t=e+32|0;a=A+16|0;f[t>>2]=f[a>>2];f[t+4>>2]=f[a+4>>2];f[t+8>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];return}function Kf(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0.0,l=0.0,c=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;G=v;v=v+96|0;k=G+80|0;h=G+64|0;w=G+48|0;g=G+32|0;m=G+16|0;Z=G;s=e;while(1){d=s+16|0;a=f[d>>2]|0;if(!(r[a+112>>0]|0))break;s=f[a+116>>2]|0}a=f[s>>2]&3;b=f[((a|0)==2?s:s+-48|0)+40>>2]|0;a=f[((a|0)==3?s:s+48|0)+40>>2]|0;s=b+16|0;u=a+16|0;I=(f[(f[s>>2]|0)+232>>2]|0)-(f[(f[u>>2]|0)+232>>2]|0)|0;switch(((I|0)>-1?I:0-I|0)|0){case 1:{a=0;break}case 2:{if(!(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1))B=6;else a=0;break}default:B=6}do{if((B|0)==6){if((f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(a|0)){f[n>>2]=b;I=(f[u>>2]|0)+16|0;B=(f[d>>2]|0)+16|0;f[h>>2]=f[I>>2];f[h+4>>2]=f[I+4>>2];f[h+8>>2]=f[I+8>>2];f[h+12>>2]=f[I+12>>2];f[k>>2]=f[B>>2];f[k+4>>2]=f[B+4>>2];f[k+8>>2]=f[B+8>>2];f[k+12>>2]=f[B+12>>2];va(g,h,k);B=(f[s>>2]|0)+16|0;I=(f[d>>2]|0)+56|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];f[k>>2]=f[I>>2];f[k+4>>2]=f[I+4>>2];f[k+8>>2]=f[I+8>>2];f[k+12>>2]=f[I+12>>2];va(m,h,k)}else{f[n>>2]=a;I=(f[s>>2]|0)+16|0;B=(f[d>>2]|0)+56|0;f[h>>2]=f[I>>2];f[h+4>>2]=f[I+4>>2];f[h+8>>2]=f[I+8>>2];f[h+12>>2]=f[I+12>>2];f[k>>2]=f[B>>2];f[k+4>>2]=f[B+4>>2];f[k+8>>2]=f[B+8>>2];f[k+12>>2]=f[B+12>>2];va(g,h,k);B=(f[u>>2]|0)+16|0;I=(f[d>>2]|0)+16|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];f[k>>2]=f[I>>2];f[k+4>>2]=f[I+4>>2];f[k+8>>2]=f[I+8>>2];f[k+12>>2]=f[I+12>>2];va(m,h,k)}a=f[(f[d>>2]|0)+96>>2]|0;if(!a){a=i+16|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[a+12>>2]=f[g+12>>2];a=i+48|0;I=i+32|0;f[I>>2]=f[m>>2];f[I+4>>2]=f[m+4>>2];f[I+8>>2]=f[m+8>>2];f[I+12>>2]=f[m+12>>2];f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];f[a+12>>2]=f[m+12>>2];a=4;break}l=+o[a+24>>3];t=+o[a+32>>3];B=(f[(f[(Fp(b)|0)+16>>2]|0)+116>>2]&1|0)==0;c=B?t:l;I=(f[(f[d>>2]|0)+96>>2]|0)+56|0;f[Z>>2]=f[I>>2];f[Z+4>>2]=f[I+4>>2];f[Z+8>>2]=f[I+8>>2];f[Z+12>>2]=f[I+12>>2];f[w>>2]=f[m>>2];f[w+4>>2]=f[m+4>>2];f[w+8>>2]=f[m+8>>2];f[w+12>>2]=f[m+12>>2];f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[k>>2]=f[I>>2];f[k+4>>2]=f[I+4>>2];f[k+8>>2]=f[I+8>>2];f[k+12>>2]=f[I+12>>2];I=(Ba(w,h,k)|0)==0;t=(B?l:t)*.5;l=+o[Z>>3];if(I){o[Z>>3]=l-t;I=Z+8|0;o[I>>3]=+o[I>>3]+c*.5}else{o[Z>>3]=l+t;I=Z+8|0;o[I>>3]=+o[I>>3]-c*.5}a=i+16|0;f[i>>2]=f[g>>2];f[i+4>>2]=f[g+4>>2];f[i+8>>2]=f[g+8>>2];f[i+12>>2]=f[g+12>>2];f[a>>2]=f[g>>2];f[a+4>>2]=f[g+4>>2];f[a+8>>2]=f[g+8>>2];f[a+12>>2]=f[g+12>>2];a=i+32|0;I=i+48|0;g=i+64|0;f[g>>2]=f[Z>>2];f[g+4>>2]=f[Z+4>>2];f[g+8>>2]=f[Z+8>>2];f[g+12>>2]=f[Z+12>>2];f[I>>2]=f[Z>>2];f[I+4>>2]=f[Z+4>>2];f[I+8>>2]=f[Z+8>>2];f[I+12>>2]=f[Z+12>>2];f[a>>2]=f[Z>>2];f[a+4>>2]=f[Z+4>>2];f[a+8>>2]=f[Z+8>>2];f[a+12>>2]=f[Z+12>>2];a=i+80|0;I=i+96|0;f[I>>2]=f[m>>2];f[I+4>>2]=f[m+4>>2];f[I+8>>2]=f[m+8>>2];f[I+12>>2]=f[m+12>>2];f[a>>2]=f[m>>2];f[a+4>>2]=f[m+4>>2];f[a+8>>2]=f[m+8>>2];f[a+12>>2]=f[m+12>>2];a=7}}while(0);v=G;return a|0}function _f(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0,s=0,u=0.0,b=0,v=0.0,B=0.0,k=0;k=f[n+16>>2]|0;B=+o[k+16>>3];l=B-+o[k+88>>3];u=l+-4.0;s=oa(e,n,a,t,-1)|0;if(!s){b=~~(l+(u>=0.0?-3.5:-4.5));c=f[i>>2]|0;c=(c|0)>(b|0)?b:c}else{c=sa(e,n,s)|0;do{if(!c){b=f[s+16>>2]|0;l=+o[b+240>>3]+ +o[b+16>>3];if(!(r[b+156>>0]|0)){l=+(f[(f[e+16>>2]|0)+248>>2]|0)*.5+l;break}else{l=l+ +(f[i+8>>2]|0);break}}else l=+o[(f[c+16>>2]|0)+32>>3]+ +(f[i+8>>2]|0)}while(0);v=l=0.0?.5:-.5))}v=+(c|0);b=(r[k+156>>0]|0)==1;if(b?(f[k+104>>2]|0)!=0:0)u=B+10.0;else u=B+4.0+ +o[k+96>>3];s=oa(e,n,a,t,1)|0;if(!s){n=~~(u+(u>=0.0?.5:-.5));c=f[i+4>>2]|0;c=(c|0)<(n|0)?n:c}else{c=sa(e,n,s)|0;do{if(!c){n=f[s+16>>2]|0;l=+o[n+16>>3]-+o[n+88>>3];if(!(r[n+156>>0]|0)){l=l-+(f[(f[e+16>>2]|0)+248>>2]|0)*.5;break}else{l=l-+(f[i+8>>2]|0);break}}else l=+o[(f[c+16>>2]|0)+16>>3]-+(f[i+8>>2]|0)}while(0);u=l>u?l:u;c=~~(u+(u>=0.0?.5:-.5))}l=+(c|0);if(b?(f[k+104>>2]|0)!=0:0){l=l-+o[k+96>>3];if(l>3];e=f[(f[e+16>>2]|0)+196>>2]|0;k=f[k+232>>2]|0;u=B-+o[e+(k<<6)+16>>3];B=+o[e+(k<<6)+24>>3]+B;o[A>>3]=v;o[A+8>>3]=u;o[A+16>>3]=l;o[A+24>>3]=B;return}function qf(A){A=A|0;A=f[A+16>>2]|0;if((r[A+156>>0]|0)==1)if((f[A+176>>2]|0)>1)A=1;else A=(f[A+184>>2]|0)>1&1;else A=0;return A|0}function $f(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var n=0,a=0;a=v;v=v+32|0;n=a;switch(i|0){case 1:{ca(n,+o[e>>3],r,+o[e+16>>3],+o[e+8>>3]);break}case 4:{ca(n,+o[e>>3],+o[e+24>>3],+o[e+16>>3],r);break}default:{}}f[A>>2]=f[n>>2];f[A+4>>2]=f[n+4>>2];f[A+8>>2]=f[n+8>>2];f[A+12>>2]=f[n+12>>2];f[A+16>>2]=f[n+16>>2];f[A+20>>2]=f[n+20>>2];f[A+24>>2]=f[n+24>>2];f[A+28>>2]=f[n+28>>2];v=a;return}function Aa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0,b=0,v=0;s=f[e+16>>2]|0;c=s+(r<<5)|0;l=+o[c>>3];u=s+(r<<5)+8|0;a=+o[u>>3];b=s+(r<<5)+16|0;n=+o[b>>3];s=s+(r<<5)+24|0;t=+o[s>>3];if(l==n){i=f[(f[i+16>>2]|0)+196>>2]|0;v=r+1|0;l=+(f[e>>2]|0);a=+o[i+(v<<6)+24>>3]+ +o[(f[(f[f[i+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];n=+(f[e+4>>2]|0);t=+o[(f[(f[f[i+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+o[i+(r<<6)+16>>3];o[c>>3]=l;o[u>>3]=a;o[b>>3]=n;o[s>>3]=t}o[A>>3]=l;o[A+8>>3]=a;o[A+16>>3]=n;o[A+24>>3]=t;return}function ea(A){A=A|0;var e=0,i=0;A=f[A+16>>2]|0;i=A+16|0;e=0;while(1){A=f[f[A+180>>2]>>2]|0;A=f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;if((r[A+156>>0]|0)!=1)break;if((f[A+184>>2]|0)!=1)break;if((f[A+176>>2]|0)!=1)break;if(+o[A+16>>3]!=+o[i>>3])break;e=e+1|0}return e|0}function ia(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0;o=v;v=v+32|0;c=o;t=aa(e,-1)|0;e=aa(e,1)|0;if(!((t|0)!=0?!(uI(t)|0):0))l=3;do{if((l|0)==3){if(e|0?(uI(e)|0)==0:0)break;t=ta(i,-1)|0;e=ta(i,1)|0;if(t|0?(uI(t)|0)==0:0)break;if(e|0?(uI(e)|0)==0:0)break;t=r+52|0;e=0;while(1){if((e|0)>=(f[t>>2]|0))break;i=r+56+(e<<5)|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];f[c+12>>2]=f[i+12>>2];f[c+16>>2]=f[i+16>>2];f[c+20>>2]=f[i+20>>2];f[c+24>>2]=f[i+24>>2];f[c+28>>2]=f[i+28>>2];_G(A,c);e=e+1|0}t=f[A+80>>2]|0;l=a+-3|0;e=0;while(1){if((e|0)>=(a|0))break;r=135024+(e<<5)|0;f[c>>2]=f[r>>2];f[c+4>>2]=f[r+4>>2];f[c+8>>2]=f[r+8>>2];f[c+12>>2]=f[r+12>>2];f[c+16>>2]=f[r+16>>2];f[c+20>>2]=f[r+20>>2];f[c+24>>2]=f[r+24>>2];f[c+28>>2]=f[r+28>>2];_G(A,c);e=e+1|0}i=t+1|0;l=l+i|0;t=f[n+52>>2]|0;while(1){e=t+-1|0;if((t|0)<=0)break;t=n+56+(e<<5)|0;f[c>>2]=f[t>>2];f[c+4>>2]=f[t+4>>2];f[c+8>>2]=f[t+8>>2];f[c+12>>2]=f[t+12>>2];f[c+16>>2]=f[t+16>>2];f[c+20>>2]=f[t+20>>2];f[c+24>>2]=f[t+24>>2];f[c+28>>2]=f[t+28>>2];_G(A,c);t=e}la(A,i,l)}}while(0);v=o;return}function ra(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;n=f[r>>2]|0;while(1){if(!e)break;A=f[f[(f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;e=e+-1|0}f[r>>2]=n+1;a=i+(n<<4)|0;e=i+(n+-1<<4)|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];n=f[r>>2]|0;f[r>>2]=n+1;n=i+(n<<4)|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];n=i+(f[r>>2]<<4)|0;r=(f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16|0;f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];f[n+8>>2]=f[r+8>>2];f[n+12>>2]=f[r+12>>2];return A|0}function na(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0.0,t=0,l=0,c=0,s=0,u=0;u=e+84|0;s=e+80|0;i=0;e=A;A:while(1){l=f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;c=l+16|0;if((r[(f[c>>2]|0)+156>>0]|0)!=1)break;if((dL[f[17228>>2]&31](l)|0)<<24>>24)break;e=f[s>>2]|0;while(1){if((i|0)>=(e|0))break A;if(!(+o[(f[u>>2]|0)+(i<<5)+8>>3]>+o[(f[c>>2]|0)+24>>3]))break;i=i+1|0}e=f[u>>2]|0;A=f[c>>2]|0;do{if(!(+o[e+(i<<5)+24>>3]<+o[A+24>>3])){a=+o[e+(i<<5)>>3];t=~~a;n=+o[e+(i<<5)+16>>3];if(!(f[A+104>>2]|0)){fa(l,t,~~((n+a)*.5),~~n);break}else{fa(l,t,~~n,~~(+o[A+96>>3]+n));break}}}while(0);e=f[f[(f[c>>2]|0)+180>>2]>>2]|0}return}function fa(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=f[A+16>>2]|0;o[A+16>>3]=+(i|0);o[A+88>>3]=+(i-e|0);o[A+96>>3]=+(r-i|0);return}function aa(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;t=f[A>>2]&3;l=f[(f[(f[((t|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;t=((t|0)==2?A:A+-48|0)+40|0;a=0;A=0;while(1){r=f[l+(a<<2)>>2]|0;if(!r)break;n=f[(f[(f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((X(n-(f[(f[(f[t>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=f[r+16>>2]|0;if(!(f[i+8>>2]|0)){i=f[i+116>>2]|0;if(!i)break;if(!(f[(f[i+16>>2]|0)+8>>2]|0))break}if(A|0?(X((f[(f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0,e)|0)<=0:0)break;A=r}}while(0);a=a+1|0}return A|0}function ta(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;t=f[A>>2]&3;l=f[(f[(f[((t|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;t=((t|0)==3?A:A+48|0)+40|0;a=0;A=0;while(1){r=f[l+(a<<2)>>2]|0;if(!r)break;n=f[(f[(f[((f[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do{if((X(n-(f[(f[(f[t>>2]|0)+16>>2]|0)+236>>2]|0)|0,e)|0)>=1){i=f[r+16>>2]|0;if(!(f[i+8>>2]|0)){i=f[i+116>>2]|0;if(!i)break;if(!(f[(f[i+16>>2]|0)+8>>2]|0))break}if(A|0?(X((f[(f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-n|0,e)|0)<=0:0)break;A=r}}while(0);a=a+1|0}return A|0}function la(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0;s=A+84|0;t=e+-1|0;while(1){if((t|0)>(i|0))break;n=f[s>>2]|0;l=n+(t<<5)|0;r=+o[l>>3];if(!(t-e&1)){n=n+(t<<5)+16|0;u=+o[n>>3];a=~~((u+r)*.5);if(r>=u){o[l>>3]=+(a+-8|0);o[n>>3]=+(a+8|0)}}else{n=n+(t<<5)+16|0;u=+o[n>>3];a=~~((u+r)*.5);if(r+16.0>u){o[l>>3]=+(a+-8|0);o[n>>3]=+(a+8|0)}}t=t+1|0}c=(f[A+80>>2]|0)+-1|0;a=0;while(1){if((a|0)>=(c|0))break;t=f[s>>2]|0;n=t+(a<<5)|0;l=a+1|0;A=t+(l<<5)|0;if(!((a|0)<(e|0)|(a|0)>(i|0))?(a-e&1|0)==0:0){r=+o[n>>3]+16.0;n=t+(l<<5)+16|0;if(r>+o[n>>3])o[n>>3]=r;r=+o[t+(a<<5)+16>>3]+-16.0;if(!(r<+o[A>>3])){a=l;continue}o[A>>3]=r;a=l;continue}if(!((a|0)<(i|0)&(l|0)>=(e|0))){a=l;continue}if(l-e&1|0){a=l;continue}r=+o[t+(l<<5)+16>>3];if(+o[n>>3]+16.0>r)o[n>>3]=r+-16.0;n=t+(a<<5)+16|0;r=+o[A>>3];if(!(+o[n>>3]+-16.0>3]=r+16.0;a=l}return}function ca(A,e,i,r,n){A=A|0;e=+e;i=+i;r=+r;n=+n;o[A>>3]=e;o[A+8>>3]=i;o[A+16>>3]=r;o[A+24>>3]=n;return}function oa(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0;o=f[(f[A+16>>2]|0)+196>>2]|0;t=f[e+16>>2]|0;c=f[t+232>>2]|0;l=o+(c<<6)|0;c=o+(c<<6)+4|0;t=f[t+236>>2]|0;A:do{t=t+a|0;if((t|0)<=-1){A=0;break}if((t|0)>=(f[l>>2]|0)){A=0;break}A=f[(f[c>>2]|0)+(t<<2)>>2]|0;o=f[A+16>>2]|0;switch(r[o+156>>0]|0){case 0:break A;case 1:{if(f[o+104>>2]|0)break A;break}default:{}}}while((ba(A,e,i,n)|0)<<24>>24!=0);return A|0}function sa(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;e=f[e+16>>2]|0;if(!(r[e+156>>0]|0)){l=f[e+212>>2]|0;t=l}else{l=f[(f[(f[f[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;a=f[l>>2]&3;t=f[(f[(f[((a|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;l=f[(f[(f[((a|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}e=f[i+16>>2]|0;if(!(r[e+156>>0]|0)){i=f[e+212>>2]|0;i=(i|0)==(A|0)?0:i;return((i|0)==(t|0)|((i|0)==0|(i|0)==(l|0))?0:i)|0}n=f[(f[(f[f[e+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;a=f[n>>2]&3;e=f[(f[(f[((a|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if(!(!((e|0)==(t|0)|((e|0)==0|(e|0)==(l|0)))?(ua(e,i)|0)!=0:0)){e=f[(f[(f[((a|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;e=(e|0)==(A|0)?0:e;if((e|0)==(t|0)|((e|0)==0|(e|0)==(l|0)))e=0;else{i=(ua(e,i)|0)==0;return(i?0:e)|0}}return e|0}function ua(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0;i=f[A+16>>2]|0;A=f[e+16>>2]|0;n=+o[A+16>>3];if((+o[i+16>>3]<=n?n<=+o[i+32>>3]:0)?(r=+o[A+24>>3],+o[i+24>>3]<=r):0)A=r<=+o[i+40>>3]&1;else A=0;return A|0}function ba(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0;l=f[A+16>>2]|0;c=(f[l+236>>2]|0)>(f[(f[e+16>>2]|0)+236>>2]|0);A:do{if((f[l+184>>2]|0)==1){e:do{if(n|0){t=0;A=f[f[l+180>>2]>>2]|0;while(1){if((t|0)>=2)break e;A=f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0;e=f[((f[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0;if((A|0)==(e|0))break e;a=f[A+16>>2]|0;A=f[e+16>>2]|0;if(c^(f[a+236>>2]|0)>(f[A+236>>2]|0)){A=1;break A}if((f[a+184>>2]|0)!=1)break e;if(!(r[a+156>>0]|0))break e;if((f[A+184>>2]|0)!=1)break e;if(!(r[A+156>>0]|0))break e;t=t+1|0;n=f[f[A+180>>2]>>2]|0;A=f[f[a+180>>2]>>2]|0}}}while(0);if(i|0?(f[l+176>>2]|0)==1:0){a=0;e=i;A=f[f[l+172>>2]>>2]|0;while(1){if((a|0)>=2){A=0;break A}A=f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;e=f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((A|0)==(e|0)){A=0;break A}n=f[A+16>>2]|0;A=f[e+16>>2]|0;if(c^(f[n+236>>2]|0)>(f[A+236>>2]|0)){A=1;break A}if((f[n+176>>2]|0)!=1){A=0;break A}if(!(r[n+156>>0]|0)){A=0;break A}if((f[A+176>>2]|0)!=1){A=0;break A}if(!(r[A+156>>0]|0)){A=0;break A}a=a+1|0;e=f[f[A+172>>2]>>2]|0;A=f[f[n+172>>2]>>2]|0}}else A=0}else A=0}while(0);return A|0}function va(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[i+8>>3]+ +o[e+8>>3];o[A>>3]=+o[i>>3]+ +o[e>>3];o[A+8>>3]=r;return}function Ba(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0;r=+o[e+8>>3];n=+o[e>>3];return(~~((+o[i>>3]-n)*(+o[A+8>>3]-r)-(+o[A>>3]-n)*(+o[i+8>>3]-r))|0)>0|0}function ka(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0,g=0,m=0.0,Z=0.0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0;X=v;v=v+256|0;y=X+232|0;Q=X+216|0;F=X+88|0;L=X+80|0;J=X+64|0;P=X+200|0;R=X+184|0;H=X;Y=X+168|0;p=X+152|0;V=X+136|0;N=X+120|0;W=X+104|0;E=f[a>>2]&3;z=f[((E|0)==3?a:a+48|0)+40>>2]|0;E=f[((E|0)==2?a:a+-48|0)+40>>2]|0;do{if((FZ(z)|0)!=2?(FZ(E)|0)!=2:0){a=0;l=0;c=0;while(1){if((c|0)>=(n|0))break;M=f[(f[e+(c+i<<2)>>2]|0)+16>>2]|0;a=a+((f[M+96>>2]|0)!=0&1)|0;if(!((r[M+44>>0]|0)==0?(r[M+84>>0]|0)==0:0))l=1;c=c+1|0}if(!l)if(!a){ha(z,E,e,i,n,t);break}else{Ga(z,E,e,i,n,t,a);break}I=Jb(156)|0;C=Ia(A,I)|0;d=nN(C,78320,1)|0;cV(d,122277,280,1)|0;lY(d,80018,80032)|0;s=+o[(f[E+16>>2]|0)+16>>3];h=+o[(f[z+16>>2]|0)+16>>3];M=A+16|0;k=(f[(f[M>>2]|0)+116>>2]&1|0)==0;w=k?E:z;k=k?z:E;d=Ca(d,k)|0;g=Ca(C,w)|0;a=0;B=0;while(1){if((B|0)>=(n|0))break;l=e+(B+i<<2)|0;while(1){b=f[l>>2]|0;u=b+16|0;l=f[u>>2]|0;if(!(r[l+112>>0]|0))break;else l=l+116|0}if((f[((f[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(k|0))c=Ma(C,d,g,b)|0;else c=Ma(C,g,d,b)|0;l=f[u>>2]|0;f[l+120>>2]=c;if(!a)if((r[l+44>>0]|0)==0?(r[l+84>>0]|0)==0:0){f[(f[c+16>>2]|0)+120>>2]=b;a=c}else a=0;B=B+1|0}if(!a)G=MY(C,d,g,0,1)|0;else G=a;AY(G,f[42219]|0,78324)|0;a=C+16|0;u=f[a>>2]|0;f[u+144>>2]=f[(f[M>>2]|0)+144>>2];f[u+188>>2]=C;Pv(C,t);Bf(C);JM(C,0);lt(C,0);OC(C,0);k=k+16|0;t=f[k>>2]|0;u=f[w+16>>2]|0;w=d+16|0;b=f[w>>2]|0;B=b+16|0;m=+(~~s|0);Z=+(~~((+o[(f[g+16>>2]|0)+16>>3]+ +o[B>>3])*.5)|0);s=+(~~h|0);h=+(~~((+o[t+16>>3]-+o[t+96>>3]+ +o[u+16>>3]+ +o[u+88>>3])*.5)|0);u=b+24|0;a=(f[a>>2]|0)+192|0;while(1){l=f[a>>2]|0;if(!l)break;do{if((l|0)!=(d|0)){a=f[l+16>>2]|0;c=a+24|0;if((l|0)==(g|0)){o[c>>3]=s;o[a+16>>3]=Z;break}else{o[c>>3]=h;break}}else{o[u>>3]=m;o[B>>3]=Z;a=b}}while(0);a=a+164|0}YE(C);Rf(C,0);bZ(C);c=f[k>>2]|0;a=f[w>>2]|0;if(!(f[(f[M>>2]|0)+116>>2]&1)){l=a+16|0;s=+o[c+24>>3]-+o[a+24>>3]}else{l=a+24|0;s=+o[a+16>>3]+ +o[c+24>>3]}o[J>>3]=+o[c+16>>3]-+o[l>>3];o[J+8>>3]=s;t=H+16|0;d=H+32|0;g=H+48|0;w=0;while(1){if((w|0)>=(n|0))break;a=e+(w+i<<2)|0;while(1){l=f[a>>2]|0;k=l+16|0;a=f[k>>2]|0;if(!(r[a+112>>0]|0))break;else a=a+116|0}b=f[a+120>>2]|0;B=b+16|0;a=f[B>>2]|0;if(!((b|0)==(G|0)&(f[a+120>>2]|0)==0)){u=f[f[a+8>>2]>>2]|0;b=u+4|0;l=jG(l,f[b>>2]|0)|0;f[l+8>>2]=f[u+8>>2];a=l+16|0;c=u+16|0;x=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[c>>2];f[Q+4>>2]=f[c+4>>2];f[Q+8>>2]=f[c+8>>2];f[Q+12>>2]=f[c+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(P,Q,y,x);f[a>>2]=f[P>>2];f[a+4>>2]=f[P+4>>2];f[a+8>>2]=f[P+8>>2];f[a+12>>2]=f[P+12>>2];f[l+12>>2]=f[u+12>>2];a=l+32|0;x=u+32|0;c=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[x>>2];f[Q+4>>2]=f[x+4>>2];f[Q+8>>2]=f[x+8>>2];f[Q+12>>2]=f[x+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(R,Q,y,c);f[a>>2]=f[R>>2];f[a+4>>2]=f[R+4>>2];f[a+8>>2]=f[R+8>>2];f[a+12>>2]=f[R+12>>2];a=0;while(1){if((a|0)>=(f[b>>2]|0))break;c=(f[l>>2]|0)+(a<<4)|0;T=(f[u>>2]|0)+(a<<4)|0;x=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[T>>2];f[Q+4>>2]=f[T+4>>2];f[Q+8>>2]=f[T+8>>2];f[Q+12>>2]=f[T+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(Y,Q,y,x);f[c>>2]=f[Y>>2];f[c+4>>2]=f[Y+4>>2];f[c+8>>2]=f[Y+8>>2];f[c+12>>2]=f[Y+12>>2];f[H>>2]=f[Y>>2];f[H+4>>2]=f[Y+4>>2];f[H+8>>2]=f[Y+8>>2];f[H+12>>2]=f[Y+12>>2];c=a+1|0;if((c|0)>=(f[b>>2]|0)){D=48;break}x=(f[l>>2]|0)+(c<<4)|0;c=(f[u>>2]|0)+(c<<4)|0;T=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[c>>2];f[Q+4>>2]=f[c+4>>2];f[Q+8>>2]=f[c+8>>2];f[Q+12>>2]=f[c+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(p,Q,y,T);f[x>>2]=f[p>>2];f[x+4>>2]=f[p+4>>2];f[x+8>>2]=f[p+8>>2];f[x+12>>2]=f[p+12>>2];f[t>>2]=f[p>>2];f[t+4>>2]=f[p+4>>2];f[t+8>>2]=f[p+8>>2];f[t+12>>2]=f[p+12>>2];x=a+2|0;T=(f[l>>2]|0)+(x<<4)|0;x=(f[u>>2]|0)+(x<<4)|0;c=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[x>>2];f[Q+4>>2]=f[x+4>>2];f[Q+8>>2]=f[x+8>>2];f[Q+12>>2]=f[x+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(V,Q,y,c);f[T>>2]=f[V>>2];f[T+4>>2]=f[V+4>>2];f[T+8>>2]=f[V+8>>2];f[T+12>>2]=f[V+12>>2];f[d>>2]=f[V>>2];f[d+4>>2]=f[V+4>>2];f[d+8>>2]=f[V+8>>2];f[d+12>>2]=f[V+12>>2];T=a+3|0;c=(f[u>>2]|0)+(T<<4)|0;x=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[c>>2];f[Q+4>>2]=f[c+4>>2];f[Q+8>>2]=f[c+8>>2];f[Q+12>>2]=f[c+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(N,Q,y,x);f[g>>2]=f[N>>2];f[g+4>>2]=f[N+4>>2];f[g+8>>2]=f[N+8>>2];f[g+12>>2]=f[N+12>>2];ds((f[M>>2]|0)+16|0,H);a=T}if((D|0)==48)D=0;a=f[(f[k>>2]|0)+96>>2]|0;if(a|0){T=a+56|0;B=(f[(f[B>>2]|0)+96>>2]|0)+56|0;x=f[(f[M>>2]|0)+116>>2]&1;f[Q>>2]=f[B>>2];f[Q+4>>2]=f[B+4>>2];f[Q+8>>2]=f[B+8>>2];f[Q+12>>2]=f[B+12>>2];f[y>>2]=f[J>>2];f[y+4>>2]=f[J+4>>2];f[y+8>>2]=f[J+8>>2];f[y+12>>2]=f[J+12>>2];Ea(W,Q,y,x);f[T>>2]=f[W>>2];f[T+4>>2]=f[W+4>>2];f[T+8>>2]=f[W+8>>2];f[T+12>>2]=f[W+12>>2];T=f[(f[k>>2]|0)+96>>2]|0;r[T+81>>0]=1;BC(A,T)}}w=w+1|0}Qa(C,I)}else D=3}while(0);if((D|0)==3?(f[41924]|0)==0:0){f[41924]=1;Iy(0,78197,L)|0;D=Ap(z)|0;x=(FY(A)|0)!=0;T=Ap(E)|0;f[F>>2]=D;f[F+4>>2]=x?122546:122549;f[F+8>>2]=T;Iy(3,78303,F)|0}v=X;return}function wa(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0.0,Q=0.0,y=0.0,Y=0.0;C=v;v=v+1600|0;g=C+1552|0;u=C+1536|0;d=C+840|0;m=C+144|0;Z=C+1584|0;l=C+32|0;h=C+16|0;b=C;k=f[n>>2]&3;B=f[((k|0)==3?n:n+48|0)+40>>2]|0;G=n+-48|0;k=f[((k|0)==2?n:G)+40>>2]|0;w=n+16|0;c=f[w>>2]|0;t=f[c+172>>2]|0;while(1){s=f[(f[t+16>>2]|0)+172>>2]|0;if(!s)break;else t=s}c=(f[c+96>>2]|0)+56|0;t=(f[((f[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)+16|0;s=(f[t>>2]|0)+16|0;f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];c=f[w>>2]|0;r[(f[c+96>>2]|0)+81>>0]=1;if((a|0)!=2){c=f[t>>2]|0;Q=+o[c+16>>3];Y=Q-+o[c+88>>3];Q=+o[c+96>>3]+Q;E=+o[c+24>>3];y=+o[c+80>>3]*.5+E;c=f[(f[A+16>>2]|0)+196>>2]|0;s=f[B+16>>2]|0;l=f[s+232>>2]|0;E=+(~~(+(~~(E-+o[c+(l<<6)+16>>3]-+o[s+24>>3]+ +o[c+(l<<6)+24>>3])|0)*.16666666666666666)|0);E=y-(E<5.0?5.0:E);ga(A,e,i,B,n,d,1);ga(A,e,i,k,n,m,0);l=d+52|0;c=f[l>>2]|0;s=c+-1|0;M=+o[d+56+(s<<5)>>3];o[16878]=M;o[16879]=+o[d+56+(s<<5)+24>>3];o[16880]=Y;o[16881]=E;o[16882]=M;o[16883]=E;s=m+52|0;t=(f[s>>2]|0)+-1|0;M=+o[m+56+(t<<5)+16>>3];o[16884]=M;o[16885]=y;o[16886]=Q;o[16889]=E;o[16887]=+o[m+56+(t<<5)+24>>3];o[16888]=M;t=0;while(1){if((t|0)>=(c|0)){t=0;break}c=d+56+(t<<5)|0;f[g>>2]=f[c>>2];f[g+4>>2]=f[c+4>>2];f[g+8>>2]=f[c+8>>2];f[g+12>>2]=f[c+12>>2];f[g+16>>2]=f[c+16>>2];f[g+20>>2]=f[c+20>>2];f[g+24>>2]=f[c+24>>2];f[g+28>>2]=f[c+28>>2];_G(i,g);t=t+1|0;c=f[l>>2]|0}while(1){if((t|0)==3)break;d=135024+(t<<5)|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];f[g+16>>2]=f[d+16>>2];f[g+20>>2]=f[d+20>>2];f[g+24>>2]=f[d+24>>2];f[g+28>>2]=f[d+28>>2];_G(i,g);t=t+1|0}l=f[s>>2]|0;while(1){t=l+-1|0;if((l|0)<=0)break;l=m+56+(t<<5)|0;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];f[g+16>>2]=f[l+16>>2];f[g+20>>2]=f[l+20>>2];f[g+24>>2]=f[l+24>>2];f[g+28>>2]=f[l+28>>2];_G(i,g);l=t}if((a|0)==10)l=EZ(i,Z)|0;else l=NZ(i,Z)|0;t=f[Z>>2]|0;if(t|0)I=17}else{t=(f[B+16>>2]|0)+16|0;m=c+16|0;f[u>>2]=f[t>>2];f[u+4>>2]=f[t+4>>2];f[u+8>>2]=f[t+8>>2];f[u+12>>2]=f[t+12>>2];f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];va(h,u,g);m=(f[k+16>>2]|0)+16|0;t=(f[w>>2]|0)+56|0;f[u>>2]=f[m>>2];f[u+4>>2]=f[m+4>>2];f[u+8>>2]=f[m+8>>2];f[u+12>>2]=f[m+12>>2];f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[g+12>>2]=f[t+12>>2];va(b,u,g);t=f[(f[w>>2]|0)+96>>2]|0;y=+o[t+56>>3];Y=+o[t+64>>3]-+o[t+32>>3]*.5;t=l+16|0;f[l>>2]=f[h>>2];f[l+4>>2]=f[h+4>>2];f[l+8>>2]=f[h+8>>2];f[l+12>>2]=f[h+12>>2];f[t>>2]=f[h>>2];f[t+4>>2]=f[h+4>>2];f[t+8>>2]=f[h+8>>2];f[t+12>>2]=f[h+12>>2];t=l+32|0;m=l+48|0;I=l+64|0;o[l+64>>3]=y;o[l+72>>3]=Y;f[m>>2]=f[I>>2];f[m+4>>2]=f[I+4>>2];f[m+8>>2]=f[I+8>>2];f[m+12>>2]=f[I+12>>2];f[t>>2]=f[I>>2];f[t+4>>2]=f[I+4>>2];f[t+8>>2]=f[I+8>>2];f[t+12>>2]=f[I+12>>2];t=l+80|0;I=l+96|0;f[I>>2]=f[b>>2];f[I+4>>2]=f[b+4>>2];f[I+8>>2]=f[b+8>>2];f[I+12>>2]=f[b+12>>2];f[t>>2]=f[b>>2];f[t+4>>2]=f[b+4>>2];f[t+8>>2]=f[b+8>>2];f[t+12>>2]=f[b+12>>2];f[Z>>2]=7;t=7;I=17}if((I|0)==17)OG(n,f[((f[n>>2]&3|0)==2?n:G)+40>>2]|0,l,t,17224);v=C;return}function ha(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0.0,M=0.0,E=0.0,Q=0.0,y=0.0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0;H=v;v=v+352|0;G=H+336|0;Z=H+320|0;P=H+128|0;g=H+304|0;I=H+288|0;R=H+112|0;Y=H+96|0;p=H+80|0;V=H+64|0;N=H+48|0;W=H+32|0;z=H+16|0;J=H;A=A+16|0;k=(f[A>>2]|0)+16|0;m=(f[i+(r<<2)>>2]|0)+16|0;h=(f[m>>2]|0)+16|0;f[Z>>2]=f[k>>2];f[Z+4>>2]=f[k+4>>2];f[Z+8>>2]=f[k+8>>2];f[Z+12>>2]=f[k+12>>2];f[G>>2]=f[h>>2];f[G+4>>2]=f[h+4>>2];f[G+8>>2]=f[h+8>>2];f[G+12>>2]=f[h+12>>2];va(g,Z,G);Q=+o[g>>3];y=+o[g+8>>3];g=(f[e+16>>2]|0)+16|0;m=(f[m>>2]|0)+56|0;f[Z>>2]=f[g>>2];f[Z+4>>2]=f[g+4>>2];f[Z+8>>2]=f[g+8>>2];f[Z+12>>2]=f[g+12>>2];f[G>>2]=f[m>>2];f[G+4>>2]=f[m+4>>2];f[G+8>>2]=f[m+8>>2];f[G+12>>2]=f[m+12>>2];va(I,Z,G);M=+o[I>>3];E=+o[I+8>>3];if((n|0)>1){C=+o[(f[A>>2]|0)+80>>3];t=C*.5;C=C/+(n+-1|0)}else{t=0.0;C=0.0}B=(a|8|0)==10;s=P+8|0;k=P+16|0;w=(M+Q*2.0)*.3333333333333333;h=P+32|0;d=(M*2.0+Q)*.3333333333333333;u=P+24|0;g=P+48|0;m=P+64|0;Z=P+80|0;G=P+96|0;I=P+112|0;c=P+128|0;b=P+136|0;t=y-t;e=0;while(1){if((e|0)>=(n|0))break;l=f[i+(e+r<<2)>>2]|0;o[P>>3]=Q;o[s>>3]=y;if(B){Za(R,w,t);f[k>>2]=f[R>>2];f[k+4>>2]=f[R+4>>2];f[k+8>>2]=f[R+8>>2];f[k+12>>2]=f[R+12>>2];Za(Y,d,t);f[h>>2]=f[Y>>2];f[h+4>>2]=f[Y+4>>2];f[h+8>>2]=f[Y+8>>2];f[h+12>>2]=f[Y+12>>2];A=4;a=3}else{o[k>>3]=Q;o[u>>3]=y;Za(p,w,t);f[h>>2]=f[p>>2];f[h+4>>2]=f[p+4>>2];f[h+8>>2]=f[p+8>>2];f[h+12>>2]=f[p+12>>2];Za(V,w,t);f[g>>2]=f[V>>2];f[g+4>>2]=f[V+4>>2];f[g+8>>2]=f[V+8>>2];f[g+12>>2]=f[V+12>>2];Za(N,w,t);f[m>>2]=f[N>>2];f[m+4>>2]=f[N+4>>2];f[m+8>>2]=f[N+8>>2];f[m+12>>2]=f[N+12>>2];Za(W,d,t);f[Z>>2]=f[W>>2];f[Z+4>>2]=f[W+4>>2];f[Z+8>>2]=f[W+8>>2];f[Z+12>>2]=f[W+12>>2];Za(z,d,t);f[G>>2]=f[z>>2];f[G+4>>2]=f[z+4>>2];f[G+8>>2]=f[z+8>>2];f[G+12>>2]=f[z+12>>2];Za(J,d,t);f[I>>2]=f[J>>2];f[I+4>>2]=f[J+4>>2];f[I+8>>2]=f[J+8>>2];f[I+12>>2]=f[J+12>>2];o[c>>3]=M;o[b>>3]=E;A=10;a=9}o[P+(a<<4)>>3]=M;o[P+(a<<4)+8>>3]=E;OG(l,f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,P,A,17224);t=t+C;e=e+1|0}v=H;return}function da(A,e,i,r,a,t,l,c){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;t=t|0;l=l|0;c=c|0;var s=0,u=0.0,b=0,B=0,k=0,w=0,h=0.0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0.0,M=0.0,E=0.0,Q=0.0,y=0.0;G=v;v=v+1440|0;d=G+1392|0;m=G+1424|0;Z=G+696|0;g=G;w=f[l>>2]&3;k=f[((w|0)==3?l:l+48|0)+40>>2]|0;w=f[((w|0)==2?l:l+-48|0)+40>>2]|0;s=f[k+16>>2]|0;b=f[s+232>>2]|0;B=f[A+16>>2]|0;if((b|0)<(n[B+238>>1]|0)){I=f[B+196>>2]|0;B=b+1|0;u=+o[s+24>>3]-+o[I+(b<<6)+32>>3]-+o[(f[(f[f[I+(B<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+o[I+(B<<6)+40>>3]}else u=+(f[B+252>>2]|0);C=+(t+1|0);h=+(f[e+12>>2]|0)/C;u=u/C;ma(A,e,i,k,l,Z,1);ma(A,e,i,w,l,g,0);w=Z+52|0;l=g+52|0;A=(c|0)==0;e=i+80|0;s=0;while(1){if((s|0)>=(t|0))break;k=f[r+(s+a<<2)>>2]|0;B=f[w>>2]|0;b=B+-1|0;y=+o[Z+56+(b<<5)>>3];E=+o[Z+56+(b<<5)+8>>3];Q=+o[Z+56+(b<<5)+16>>3];o[16878]=y;o[16881]=E;s=s+1|0;C=+(s|0);M=h*C;o[16880]=Q+M;C=E-u*C;o[16879]=C;o[16882]=y;o[16885]=C;b=(f[l>>2]|0)+-1|0;y=+o[g+56+(b<<5)+16>>3];o[16884]=y;o[16883]=C-u;E=+o[g+56+(b<<5)>>3];Q=+o[g+56+(b<<5)+8>>3];o[16888]=y;o[16889]=Q;o[16886]=E-M;o[16887]=C;b=0;while(1){if((b|0)>=(B|0)){b=0;break}B=Z+56+(b<<5)|0;f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[d+12>>2]=f[B+12>>2];f[d+16>>2]=f[B+16>>2];f[d+20>>2]=f[B+20>>2];f[d+24>>2]=f[B+24>>2];f[d+28>>2]=f[B+28>>2];_G(i,d);b=b+1|0;B=f[w>>2]|0}while(1){if((b|0)==3)break;I=135024+(b<<5)|0;f[d>>2]=f[I>>2];f[d+4>>2]=f[I+4>>2];f[d+8>>2]=f[I+8>>2];f[d+12>>2]=f[I+12>>2];f[d+16>>2]=f[I+16>>2];f[d+20>>2]=f[I+20>>2];f[d+24>>2]=f[I+24>>2];f[d+28>>2]=f[I+28>>2];_G(i,d);b=b+1|0}B=f[l>>2]|0;while(1){b=B+-1|0;if((B|0)<=0)break;B=g+56+(b<<5)|0;f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[d+12>>2]=f[B+12>>2];f[d+16>>2]=f[B+16>>2];f[d+20>>2]=f[B+20>>2];f[d+24>>2]=f[B+24>>2];f[d+28>>2]=f[B+28>>2];_G(i,d);B=b}if(A)b=NZ(i,m)|0;else b=EZ(i,m)|0;B=f[m>>2]|0;if(!B)break;OG(k,f[((f[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,b,B,17224);f[e>>2]=0}v=G;return}function ga(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0.0;u=v;v=v+128|0;l=u+96|0;c=u+64|0;b=u+32|0;s=u;_f(b,A,e,r,0,n);f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[a+48>>2]=4;if(!(t<<24>>24))eI(i,n,2,a,0);else qG(i,n,2,a,0);e=a+52|0;n=(f[e>>2]|0)+-1|0;b=c+24|0;o[b>>3]=+o[a+56+(n<<5)+24>>3];t=c+8|0;o[t>>3]=+o[a+56+(n<<5)+8>>3];r=f[r+16>>2]|0;B=+o[(f[(f[A+16>>2]|0)+196>>2]|0)+(f[r+232>>2]<<6)+24>>3]+ +o[r+24>>3];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];$f(s,l,4,B);f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];f[c+16>>2]=f[s+16>>2];f[c+20>>2]=f[s+20>>2];f[c+24>>2]=f[s+24>>2];f[c+28>>2]=f[s+28>>2];if(+o[c>>3]<+o[c+16>>3]?+o[t>>3]<+o[b>>3]:0){b=f[e>>2]|0;f[e>>2]=b+1;b=a+56+(b<<5)|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[b+28>>2]=f[c+28>>2]}v=u;return}function ma(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0.0;u=v;v=v+128|0;l=u+96|0;c=u+64|0;b=u+32|0;s=u;_f(b,A,e,r,0,n);f[a>>2]=f[b>>2];f[a+4>>2]=f[b+4>>2];f[a+8>>2]=f[b+8>>2];f[a+12>>2]=f[b+12>>2];f[a+16>>2]=f[b+16>>2];f[a+20>>2]=f[b+20>>2];f[a+24>>2]=f[b+24>>2];f[a+28>>2]=f[b+28>>2];f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[a+48>>2]=1;if(!(t<<24>>24))eI(i,n,2,a,0);else qG(i,n,2,a,0);e=a+52|0;n=(f[e>>2]|0)+-1|0;b=c+24|0;o[b>>3]=+o[a+56+(n<<5)+24>>3];t=c+8|0;o[t>>3]=+o[a+56+(n<<5)+8>>3];r=f[r+16>>2]|0;B=+o[r+24>>3]-+o[(f[(f[A+16>>2]|0)+196>>2]|0)+(f[r+232>>2]<<6)+24>>3];f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];f[l+20>>2]=f[c+20>>2];f[l+24>>2]=f[c+24>>2];f[l+28>>2]=f[c+28>>2];$f(s,l,1,B);f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];f[c+16>>2]=f[s+16>>2];f[c+20>>2]=f[s+20>>2];f[c+24>>2]=f[s+24>>2];f[c+28>>2]=f[s+28>>2];if(+o[c>>3]<+o[c+16>>3]?+o[t>>3]<+o[b>>3]:0){b=f[e>>2]|0;f[e>>2]=b+1;b=a+56+(b<<5)|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];f[b+24>>2]=f[c+24>>2];f[b+28>>2]=f[c+28>>2]}v=u;return}function Za(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function Ga(A,e,i,n,a,t,l){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;var c=0,s=0,u=0,b=0,B=0.0,k=0.0,w=0.0,h=0.0,d=0.0,g=0.0,m=0.0,Z=0.0,G=0.0,I=0,C=0,M=0.0,E=0.0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0,j=0,O=0,K=0,_=0.0;K=v;v=v+288|0;X=K+256|0;D=K+240|0;F=K+224|0;S=K+280|0;j=K+272|0;O=K+32|0;x=K+16|0;T=K;s=K+208|0;u=K+192|0;b=f[i+(n<<2)>>2]|0;U=Jb(a<<2)|0;c=0;while(1){if((c|0)>=(a|0))break;f[U+(c<<2)>>2]=f[i+(c+n<<2)>>2];c=c+1|0}nP(U,a,4,11);i=A+16|0;n=(f[i>>2]|0)+16|0;b=b+16|0;Q=(f[b>>2]|0)+16|0;f[D>>2]=f[n>>2];f[D+4>>2]=f[n+4>>2];f[D+8>>2]=f[n+8>>2];f[D+12>>2]=f[n+12>>2];f[X>>2]=f[Q>>2];f[X+4>>2]=f[Q+4>>2];f[X+8>>2]=f[Q+8>>2];f[X+12>>2]=f[Q+12>>2];va(s,D,X);f[x>>2]=f[s>>2];f[x+4>>2]=f[s+4>>2];f[x+8>>2]=f[s+8>>2];f[x+12>>2]=f[s+12>>2];Q=e+16|0;n=(f[Q>>2]|0)+16|0;b=(f[b>>2]|0)+56|0;f[D>>2]=f[n>>2];f[D+4>>2]=f[n+4>>2];f[D+8>>2]=f[n+8>>2];f[D+12>>2]=f[n+12>>2];f[X>>2]=f[b>>2];f[X+4>>2]=f[b+4>>2];f[X+8>>2]=f[b+8>>2];f[X+12>>2]=f[b+12>>2];va(u,D,X);f[T>>2]=f[u>>2];f[T+4>>2]=f[u+4>>2];f[T+8>>2]=f[u+8>>2];f[T+12>>2]=f[u+12>>2];Z=+o[(f[i>>2]|0)+96>>3]+ +o[x>>3];G=+o[T>>3]-+o[(f[Q>>2]|0)+88>>3];g=G+Z;m=g*.5;Q=f[U>>2]|0;f[O>>2]=f[x>>2];f[O+4>>2]=f[x+4>>2];f[O+8>>2]=f[x+8>>2];f[O+12>>2]=f[x+12>>2];b=O+16|0;f[b>>2]=f[x>>2];f[b+4>>2]=f[x+4>>2];f[b+8>>2]=f[x+8>>2];f[b+12>>2]=f[x+12>>2];i=O+32|0;f[i>>2]=f[T>>2];f[i+4>>2]=f[T+4>>2];f[i+8>>2]=f[T+8>>2];f[i+12>>2]=f[T+12>>2];n=O+48|0;f[n>>2]=f[T>>2];f[n+4>>2]=f[T+4>>2];f[n+8>>2]=f[T+8>>2];f[n+12>>2]=f[T+12>>2];OG(Q,f[((f[Q>>2]&3|0)==2?Q:Q+-48|0)+40>>2]|0,O,4,17224);Q=f[(f[Q+16>>2]|0)+96>>2]|0;o[Q+56>>3]=m;C=x+8|0;w=+o[C>>3];h=+o[Q+32>>3];o[Q+64>>3]=(h+6.0)*.5+w;r[Q+81>>0]=1;w=w+3.0;E=+o[Q+24>>3];M=(g-E)*.5;E=(E+g)*.5;Q=O+24|0;y=O+40|0;Y=O+56|0;p=O+64|0;V=T+8|0;N=O+72|0;W=O+80|0;z=O+88|0;J=O+96|0;P=O+104|0;R=O+112|0;H=O+120|0;L=S+4|0;u=(t|0)==6&1;k=0.0;B=0.0;h=h+w;s=1;while(1){if((s|0)>=(l|0)){I=6;break}e=f[U+(s<<2)>>2]|0;if(!(s&1)){f[O>>2]=f[x>>2];f[O+4>>2]=f[x+4>>2];f[O+8>>2]=f[x+8>>2];f[O+12>>2]=f[x+12>>2];o[b>>3]=M;o[Q>>3]=+o[C>>3];o[i>>3]=M;o[y>>3]=h;o[n>>3]=E;o[Y>>3]=h;o[p>>3]=E;d=+o[V>>3];o[N>>3]=d;_=+o[T>>3];o[W>>3]=_;o[z>>3]=d;o[J>>3]=_;_=h+6.0;o[P>>3]=_;o[R>>3]=+o[x>>3];o[H>>3]=_;h=+o[(f[(f[e+16>>2]|0)+96>>2]|0)+32>>3];d=_+h*.5;h=_+h}else{c=e+16|0;A=f[(f[c>>2]|0)+96>>2]|0;if((s|0)==1){B=+o[A+24>>3];k=(B+g)*.5;B=(g-B)*.5}w=w+-6.0-+o[A+32>>3];f[O>>2]=f[x>>2];f[O+4>>2]=f[x+4>>2];f[O+8>>2]=f[x+8>>2];f[O+12>>2]=f[x+12>>2];o[b>>3]=+o[x>>3];d=w+-6.0;o[Q>>3]=d;o[i>>3]=+o[T>>3];o[y>>3]=d;f[n>>2]=f[T>>2];f[n+4>>2]=f[T+4>>2];f[n+8>>2]=f[T+8>>2];f[n+12>>2]=f[T+12>>2];o[p>>3]=k;o[N>>3]=+o[V>>3];o[W>>3]=k;o[z>>3]=w;o[J>>3]=B;o[P>>3]=w;o[R>>3]=B;o[H>>3]=+o[C>>3];d=+o[(f[(f[c>>2]|0)+96>>2]|0)+32>>3]*.5+w}f[L>>2]=8;f[S>>2]=O;f[F>>2]=f[x>>2];f[F+4>>2]=f[x+4>>2];f[F+8>>2]=f[x+8>>2];f[F+12>>2]=f[x+12>>2];f[D>>2]=f[T>>2];f[D+4>>2]=f[T+4>>2];f[D+8>>2]=f[T+8>>2];f[D+12>>2]=f[T+12>>2];f[X>>2]=f[S>>2];f[X+4>>2]=f[S+4>>2];c=GZ(F,D,X,j,u)|0;A=f[j>>2]|0;if(!A)break;t=f[(f[e+16>>2]|0)+96>>2]|0;o[t+56>>3]=m;o[t+64>>3]=d;r[t+81>>0]=1;OG(e,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17224);s=s+1|0}A:do{if((I|0)==6){m=(G+Z*2.0)*.3333333333333333;g=(G*2.0+Z)*.3333333333333333;while(1){if((s|0)>=(a|0))break;e=f[U+(s<<2)>>2]|0;if(!(s&1)){f[O>>2]=f[x>>2];f[O+4>>2]=f[x+4>>2];f[O+8>>2]=f[x+8>>2];f[O+12>>2]=f[x+12>>2];o[b>>3]=M;o[Q>>3]=+o[C>>3];o[i>>3]=M;o[y>>3]=h;o[n>>3]=E;o[Y>>3]=h;o[p>>3]=E;d=+o[V>>3];o[N>>3]=d;_=+o[T>>3];o[W>>3]=_;o[z>>3]=d;o[J>>3]=_;_=h+6.0;o[P>>3]=_;o[R>>3]=+o[x>>3];h=_;d=B;B=_}else{I=(s|0)==1;d=I?m:B;k=I?g:k;B=w+-6.0;f[O>>2]=f[x>>2];f[O+4>>2]=f[x+4>>2];f[O+8>>2]=f[x+8>>2];f[O+12>>2]=f[x+12>>2];o[b>>3]=+o[x>>3];w=w+-12.0;o[Q>>3]=w;o[i>>3]=+o[T>>3];o[y>>3]=w;f[n>>2]=f[T>>2];f[n+4>>2]=f[T+4>>2];f[n+8>>2]=f[T+8>>2];f[n+12>>2]=f[T+12>>2];o[p>>3]=k;o[N>>3]=+o[V>>3];o[W>>3]=k;o[z>>3]=B;o[J>>3]=d;o[P>>3]=B;o[R>>3]=d;w=B;B=+o[C>>3]}o[H>>3]=B;f[L>>2]=8;f[S>>2]=O;f[F>>2]=f[x>>2];f[F+4>>2]=f[x+4>>2];f[F+8>>2]=f[x+8>>2];f[F+12>>2]=f[x+12>>2];f[D>>2]=f[T>>2];f[D+4>>2]=f[T+4>>2];f[D+8>>2]=f[T+8>>2];f[D+12>>2]=f[T+12>>2];f[X>>2]=f[S>>2];f[X+4>>2]=f[S+4>>2];c=GZ(F,D,X,j,u)|0;A=f[j>>2]|0;if(!A)break A;OG(e,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,c,A,17224);s=s+1|0;B=d}HW(U)}}while(0);v=K;return}function Ia(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0;a=v;v=v+16|0;n=a;l=(FY(A)|0)==0;l=l?17648:17640;r[n>>0]=r[l>>0]|0;r[n+1>>0]=r[l+1>>0]|0;r[n+2>>0]=r[l+2>>0]|0;r[n+3>>0]=r[l+3>>0]|0;n=VY(78335,n,0)|0;cV(n,122277,280,1)|0;Ky(n,0,80018,174185)|0;l=Jb(96)|0;i=f[n+16>>2]|0;f[i+8>>2]=l;t=f[A+16>>2]|0;c=f[t+8>>2]|0;o[l>>3]=+o[c>>3];o[l+24>>3]=+o[c+24>>3];r[i+115>>0]=r[t+115>>0]|0;f[i+116>>2]=f[t+116>>2]&1^1;f[i+248>>2]=f[t+248>>2];f[i+252>>2]=f[t+252>>2];i=eY(Dp(A)|0,1,0)|0;while(1){if(!i)break;Ky(n,1,f[i+8>>2]|0,f[i+12>>2]|0)|0;i=eY(Dp(A)|0,1,i)|0}i=eY(Dp(A)|0,2,0)|0;while(1){if(!i)break;Ky(n,2,f[i+8>>2]|0,f[i+12>>2]|0)|0;i=eY(Dp(A)|0,2,i)|0}if(!(Ky(n,2,96251,0)|0))Ky(n,2,96251,174185)|0;if(!(Ky(n,2,96242,0)|0))Ky(n,2,96242,174185)|0;ya(n,e);v=a;return n|0}function Ca(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=v;v=v+16|0;i=r;A=Pp(A,Ap(e)|0,1)|0;cV(A,122241,304,1)|0;oY(e,A)|0;if((FZ(e)|0)==2){n=e+16|0;e=Pb((nz(f[f[(f[n>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;f[i>>2]=f[f[(f[n>>2]|0)+104>>2]>>2];iP(e,78330,i)|0;lY(A,86240,e)|0}v=r;return A|0}function Ma(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=MY(A,e,i,0,1)|0;cV(i,122254,176,1)|0;oY(r,i)|0;return i|0}function Ea(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0.0;t=v;v=v+32|0;a=t+16|0;n=t;if(r|0){l=+o[e>>3];r=e+8|0;o[e>>3]=+o[r>>3];o[r>>3]=-l}f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];va(A,n,a);v=t;return}function Qa(A,e){A=A|0;e=e|0;f[42234]=f[e>>2];f[42238]=f[e+4>>2];f[42239]=f[e+8>>2];f[42219]=f[e+12>>2];f[42220]=f[e+16>>2];f[42226]=f[e+20>>2];f[42225]=f[e+24>>2];f[42224]=f[e+28>>2];f[42250]=f[e+32>>2];f[42242]=f[e+36>>2];f[42227]=f[e+40>>2];f[42237]=f[e+44>>2];f[42246]=f[e+48>>2];f[42245]=f[e+52>>2];f[42244]=f[e+56>>2];f[42249]=f[e+60>>2];f[42243]=f[e+64>>2];f[42228]=f[e+68>>2];f[42190]=f[e+72>>2];f[42191]=f[e+76>>2];f[42192]=f[e+80>>2];f[42202]=f[e+84>>2];f[42195]=f[e+88>>2];f[42196]=f[e+92>>2];f[42197]=f[e+96>>2];f[42199]=f[e+100>>2];f[42200]=f[e+104>>2];f[42203]=f[e+108>>2];f[42206]=f[e+112>>2];f[42204]=f[e+116>>2];f[42205]=f[e+120>>2];f[42208]=f[e+124>>2];f[42207]=f[e+128>>2];f[42209]=f[e+132>>2];f[42210]=f[e+136>>2];f[42201]=f[e+140>>2];f[42213]=f[e+144>>2];f[42185]=f[e+148>>2];f[42182]=f[e+152>>2];HW(e);hf(A);JY(A)|0;return}function ya(A,e){A=A|0;e=e|0;f[e>>2]=f[42234];f[e+4>>2]=f[42238];f[e+8>>2]=f[42239];f[e+12>>2]=f[42219];f[e+16>>2]=f[42220];f[e+20>>2]=f[42226];f[e+24>>2]=f[42225];f[e+28>>2]=f[42224];f[e+32>>2]=f[42250];f[e+36>>2]=f[42242];f[e+40>>2]=f[42227];f[e+44>>2]=f[42237];f[e+48>>2]=f[42246];f[e+52>>2]=f[42245];f[e+56>>2]=f[42244];f[e+60>>2]=f[42249];f[e+64>>2]=f[42243];f[e+68>>2]=f[42228];f[e+72>>2]=f[42190];f[e+76>>2]=f[42191];f[e+80>>2]=f[42192];f[e+84>>2]=f[42202];f[e+88>>2]=f[42195];f[e+92>>2]=f[42196];f[e+96>>2]=f[42197];f[e+100>>2]=f[42199];f[e+104>>2]=f[42200];f[e+108>>2]=f[42203];f[e+112>>2]=f[42206];f[e+116>>2]=f[42204];f[e+120>>2]=f[42205];f[e+124>>2]=f[42208];f[e+128>>2]=f[42207];f[e+132>>2]=f[42209];f[e+136>>2]=f[42210];f[e+140>>2]=f[42201];f[e+144>>2]=f[42213];f[e+152>>2]=f[42182];f[e+148>>2]=f[42185];f[42234]=0;f[42238]=Ky(A,2,80259,0)|0;f[42239]=Ky(A,2,80268,0)|0;e=Ky(A,2,86614,0)|0;f[42219]=e;if(!e)f[42219]=Ky(A,2,86614,174185)|0;f[42220]=0;f[42226]=0;f[42225]=Ky(A,2,86494,0)|0;f[42224]=Ky(A,2,86485,0)|0;f[42250]=Ky(A,2,86790,0)|0;f[42242]=0;f[42227]=Ky(A,2,86240,0)|0;f[42237]=Ky(A,2,78340,0)|0;f[42246]=0;f[42245]=Ky(A,2,86690,0)|0;f[42244]=Ky(A,2,86676,0)|0;f[42249]=Ky(A,2,86781,0)|0;f[42243]=0;f[42228]=0;f[42190]=Ky(A,1,96049,0)|0;f[42191]=Ky(A,1,96043,0)|0;f[42192]=Ky(A,1,90671,0)|0;f[42202]=0;f[42195]=Ky(A,1,86485,0)|0;f[42196]=Ky(A,1,86494,0)|0;f[42197]=0;f[42199]=Ky(A,1,86240,0)|0;f[42200]=0;f[42203]=0;f[42206]=Ky(A,1,86446,0)|0;f[42204]=Ky(A,1,86529,0)|0;f[42205]=Ky(A,1,86535,0)|0;f[42208]=Ky(A,1,86547,0)|0;f[42207]=Ky(A,1,86385,0)|0;f[42209]=Ky(A,1,86552,0)|0;f[42210]=Ky(A,1,78352,0)|0;f[42201]=0;f[42213]=0;f[42185]=Ky(A,0,86446,0)|0;return}function Ya(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0.0,t=0.0;i=f[(f[(f[A>>2]|0)+16>>2]|0)+96>>2]|0;A=f[(f[(f[e>>2]|0)+16>>2]|0)+96>>2]|0;e=(A|0)!=0;if(i)if(e?(n=+o[i+24>>3],t=+o[i+32>>3],r=+o[A+24>>3],a=+o[A+32>>3],!(n>r)):0)if(!(na)A=-1;else A=t>2]|0)+116>>2]|0;if(!e)break;else A=e}e=f[A>>2]&3;i=f[(f[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;r=f[i+232>>2]|0;A=f[(f[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;e=f[A+232>>2]|0;if((r|0)<=(e|0))if((r|0)<(e|0))A=1;else A=(f[i+236>>2]|0)<(f[A+236>>2]|0)&1;else A=0;return A|0}function Va(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;i=v;v=v+16|0;r=i+8|0;n=i;t=(f[A+16>>2]|0)+180|0;a=(f[e+16>>2]|0)+172|0;f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];e=Na(A,n,e,r)|0;v=i;return e|0}function Na(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;n=f[e+4>>2]|0;A:do{if((n|0)>0?(a=f[r+4>>2]|0,(a|0)>0):0)if((n|0)<(a|0)){n=f[e>>2]|0;r=0;while(1){e=f[n+(r<<2)>>2]|0;if(!e){e=0;break A}if((f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(i|0))break;else r=r+1|0}}else{n=f[r>>2]|0;r=0;while(1){e=f[n+(r<<2)>>2]|0;if(!e){e=0;break A}if((f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(A|0))break;else r=r+1|0}}else e=0}while(0);return e|0}function Wa(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;i=v;v=v+16|0;r=i+8|0;n=i;t=(f[A+16>>2]|0)+188|0;a=(f[e+16>>2]|0)+196|0;f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];e=Na(A,n,e,r)|0;v=i;return e|0}function za(A){A=A|0;var e=0,i=0,r=0,n=0;r=A+48|0;i=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=f[i+180>>2]|0;if(!e)e=Pb((f[i+184>>2]<<2)+8|0)|0;else e=Hb(e,(f[i+184>>2]<<2)+8|0)|0;f[(f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+180>>2]=e;n=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;i=f[n+180>>2]|0;n=n+184|0;e=f[n>>2]|0;f[n>>2]=e+1;f[i+(e<<2)>>2]=A;r=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;f[(f[r+180>>2]|0)+(f[r+184>>2]<<2)>>2]=0;r=A+-48|0;e=f[(f[((f[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=f[e+172>>2]|0;if(!i)e=Pb((f[e+176>>2]<<2)+8|0)|0;else e=Hb(i,(f[e+176>>2]<<2)+8|0)|0;f[(f[(f[((f[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;e=f[(f[((f[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;i=f[e+172>>2]|0;e=e+176|0;n=f[e>>2]|0;f[e>>2]=n+1;f[i+(n<<2)>>2]=A;n=f[(f[((f[A>>2]&3|0)==2?A:r)+40>>2]|0)+16>>2]|0;f[(f[n+172>>2]|0)+(f[n+176>>2]<<2)>>2]=0;return A|0}function Ja(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;r=A+4|0;n=f[r>>2]|0;i=0;while(1){if((i|0)>=(n|0))break;a=f[A>>2]|0;t=a+(i<<2)|0;if((f[t>>2]|0)==(e|0)){l=4;break}else i=i+1|0}if((l|0)==4){l=n+-1|0;f[r>>2]=l;f[t>>2]=f[a+(l<<2)>>2];f[(f[A>>2]|0)+(l<<2)>>2]=0}return}function Pa(A){A=A|0;if(!A)BA(78393,78403,117,78412);else{Ja((f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+180|0,A);Ja((f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+172|0,A);return}}function Ra(A){A=A|0;var e=0,i=0,r=0,n=0;r=A+48|0;i=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=f[i+204>>2]|0;if(!e)e=Pb((f[i+208>>2]<<2)+8|0)|0;else e=Hb(e,(f[i+208>>2]<<2)+8|0)|0;f[(f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0)+204>>2]=e;n=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;e=f[n+204>>2]|0;n=n+208|0;i=f[n>>2]|0;f[n>>2]=i+1;f[e+(i<<2)>>2]=A;r=f[(f[((f[A>>2]&3|0)==3?A:r)+40>>2]|0)+16>>2]|0;f[(f[r+204>>2]|0)+(f[r+208>>2]<<2)>>2]=0;return}function Ha(A){A=A|0;La(A,(f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function La(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;t=e+4|0;r=f[t>>2]|0;n=f[e>>2]|0;i=0;while(1){if((i|0)>=(r|0)){a=4;break}if((f[n+(i<<2)>>2]|0)==(A|0))break;else i=i+1|0}if((a|0)==4){if(!n)i=Pb((r<<2)+8|0)|0;else i=Hb(n,(r<<2)+8|0)|0;f[e>>2]=i;n=f[t>>2]|0;a=n+1|0;f[t>>2]=a;f[i+(n<<2)>>2]=A;f[(f[e>>2]|0)+(a<<2)>>2]=0}return}function Fa(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=Jb(96)|0;a=b+48|0;f[a>>2]=f[a>>2]|3;f[b>>2]=f[b>>2]&-4|2;t=Jb(176)|0;u=b+16|0;f[u>>2]=t;f[((f[b>>2]&3|0)==3?b:a)+40>>2]=A;c=b+-48|0;f[((f[b>>2]&3|0)==2?b:c)+40>>2]=e;r[t+112>>0]=1;if(!i){f[t+156>>2]=1;n[t+154>>1]=1;n[t+168>>1]=1;n[t+170>>1]=1}else{f[b>>2]=f[b>>2]&15|f[i>>2]&-16;f[a>>2]=f[a>>2]&15|f[i>>2]&-16;s=i+16|0;l=f[s>>2]|0;n[t+168>>1]=n[l+168>>1]|0;n[t+154>>1]=n[l+154>>1]|0;f[t+156>>2]=f[l+156>>2];n[t+170>>1]=n[l+170>>1]|0;A=f[((f[b>>2]&3|0)==3?b:a)+40>>2]|0;e=f[i>>2]&3;o=i+48|0;if((A|0)!=(f[((e|0)==3?i:o)+40>>2]|0)){a=i+-48|0;if((A|0)==(f[((e|0)==2?i:a)+40>>2]|0)){t=t+16|0;A=l+56|0;e=t+40|0;do{f[t>>2]=f[A>>2];t=t+4|0;A=A+4|0}while((t|0)<(e|0))}}else{t=t+16|0;A=l+16|0;e=t+40|0;do{f[t>>2]=f[A>>2];t=t+4|0;A=A+4|0}while((t|0)<(e|0));a=i+-48|0}A=f[((f[b>>2]&3|0)==2?b:c)+40>>2]|0;e=f[i>>2]&3;if((A|0)!=(f[((e|0)==2?i:a)+40>>2]|0)){if((A|0)==(f[((e|0)==3?i:o)+40>>2]|0)){t=(f[u>>2]|0)+56|0;A=(f[s>>2]|0)+16|0;e=t+40|0;do{f[t>>2]=f[A>>2];t=t+4|0;A=A+4|0}while((t|0)<(e|0))}}else{t=(f[u>>2]|0)+56|0;A=(f[s>>2]|0)+56|0;e=t+40|0;do{f[t>>2]=f[A>>2];t=t+4|0;A=A+4|0}while((t|0)<(e|0))}A=(f[s>>2]|0)+172|0;if(!(f[A>>2]|0))f[A>>2]=b;f[(f[u>>2]|0)+116>>2]=i}return b|0}function Da(A,e,i){A=A|0;e=e|0;i=i|0;return za(Fa(A,e,i)|0)|0}function Xa(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A=(f[A+16>>2]|0)+192|0;n=f[A>>2]|0;i=f[e+16>>2]|0;f[i+164>>2]=n;r=n;if(n|0)f[(f[r+16>>2]|0)+168>>2]=e;f[A>>2]=e;f[i+168>>2]=0;if((r|0)==(e|0))BA(78429,78403,215,78445);else return}function xa(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;if((A|0)==(e|0))BA(78455,78403,220,78462);n=f[e+16>>2]|0;i=n+164|0;if(f[i>>2]|0)BA(78475,78403,221,78462);r=(f[A+16>>2]|0)+164|0;f[i>>2]=f[r>>2];i=f[r>>2]|0;if(i|0)f[(f[i+16>>2]|0)+168>>2]=e;f[n+168>>2]=A;f[r>>2]=e;return}function Ta(A,e){A=A|0;e=e|0;var i=0,r=0;if(!(Ua(A,e)|0))BA(78494,78403,231,78515);e=f[e+16>>2]|0;i=f[e+164>>2]|0;r=i;e=e+168|0;if(i|0)f[(f[i+16>>2]|0)+168>>2]=f[e>>2];e=f[e>>2]|0;if(!e)f[(f[A+16>>2]|0)+192>>2]=r;else f[(f[e+16>>2]|0)+164>>2]=r;return}function Ua(A,e){A=A|0;e=e|0;A=(f[A+16>>2]|0)+192|0;while(1){A=f[A>>2]|0;if((A|0)==0|(A|0)==(e|0))break;A=(f[A+16>>2]|0)+164|0}return A|0}function Sa(A){A=A|0;var e=0,i=0,n=0,a=0;e=Jb(64)|0;f[e>>2]=f[e>>2]&-4|1;i=e+16|0;f[i>>2]=Jb(304)|0;f[e+24>>2]=Dp(A)|0;a=f[i>>2]|0;r[a+156>>0]=1;o[a+96>>3]=1.0;o[a+88>>3]=1.0;o[a+80>>3]=1.0;f[a+216>>2]=1;f[a+176>>2]=0;a=Jb(20)|0;n=f[i>>2]|0;f[n+172>>2]=a;f[n+184>>2]=0;n=Jb(20)|0;f[(f[i>>2]|0)+180>>2]=n;Xa(A,e);A=(f[A+16>>2]|0)+232|0;f[A>>2]=(f[A>>2]|0)+1;return e|0}function ja(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;a=e+48|0;i=f[(f[((f[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;n=f[i+188>>2]|0;if(!n)i=Pb((f[i+192>>2]<<2)+8|0)|0;else i=Hb(n,(f[i+192>>2]<<2)+8|0)|0;f[(f[(f[((f[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0)+188>>2]=i;t=f[(f[((f[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;n=f[t+188>>2]|0;t=t+192|0;i=f[t>>2]|0;f[t>>2]=i+1;f[n+(i<<2)>>2]=e;a=f[(f[((f[e>>2]&3|0)==3?e:a)+40>>2]|0)+16>>2]|0;f[(f[a+188>>2]|0)+(f[a+192>>2]<<2)>>2]=0;a=e+-48|0;i=f[(f[((f[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;n=f[i+196>>2]|0;if(!n)i=Pb((f[i+200>>2]<<2)+8|0)|0;else i=Hb(n,(f[i+200>>2]<<2)+8|0)|0;f[(f[(f[((f[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0)+196>>2]=i;i=f[(f[((f[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;n=f[i+196>>2]|0;i=i+200|0;t=f[i>>2]|0;f[i>>2]=t+1;f[n+(t<<2)>>2]=e;t=f[(f[((f[e>>2]&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;f[(f[t+196>>2]|0)+(f[t+200>>2]<<2)>>2]=0;r[(f[A+16>>2]|0)+240>>0]=1;r[(f[(zf(A)|0)+16>>2]|0)+240>>0]=1;return}function Oa(A){A=A|0;var e=0,i=0;if(!A)BA(78393,78403,269,78532);e=f[(f[A+16>>2]|0)+116>>2]|0;if(e|0?(i=(f[e+16>>2]|0)+172|0,(f[i>>2]|0)==(A|0)):0)f[i>>2]=0;Ja((f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+188|0,A);Ja((f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+196|0,A);return}function Ka(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=v;v=v+16|0;i=(f[A+16>>2]|0)+172|0;r=f[i>>2]|0;do{if((r|0)!=(e|0))if(!r){f[i>>2]=e;_a(A,e);break}else BA(80440,78403,340,78570);else Iy(0,78549,n)|0}while(0);v=n;return}function _a(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,l=0;i=(f[e+16>>2]|0)+170|0;l=f[A+16>>2]|0;A=n[l+170>>1]|0;if((t[i>>1]|0)<(A&65535))n[i>>1]=A;r=l+168|0;a=l+154|0;i=l+156|0;A=e;while(1){if(!A)break;e=f[A+16>>2]|0;l=e+168|0;n[l>>1]=(t[l>>1]|0)+(t[r>>1]|0);l=e+154|0;n[l>>1]=(t[l>>1]|0)+(t[a>>1]|0);l=e+156|0;f[l>>2]=(f[l>>2]|0)+(f[i>>2]|0);A=f[e+172>>2]|0}return}function qa(A){A=A|0;var e=0,i=0,a=0,t=0;i=A+16|0;e=f[(f[i>>2]|0)+172>>2]|0;A:while(1){if(!e)break;$a(e,A);t=f[e+16>>2]|0;a=f[t+172>>2]|0;if(!(n[t+168>>1]|0))At(e);while(1){if((r[(f[e+16>>2]|0)+112>>0]|0)!=1){e=a;continue A}e=f[(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((r[e+156>>0]|0)!=1){e=a;continue A}if((f[e+184>>2]|0)!=1){e=a;continue A}e=f[f[e+180>>2]>>2]|0;$a(e,A)}}f[(f[i>>2]|0)+172>>2]=0;return}function $a(A,e){A=A|0;e=e|0;var i=0;i=f[e+16>>2]|0;e=f[A+16>>2]|0;A=e+168|0;n[A>>1]=(t[A>>1]|0)-(t[i+168>>1]|0);A=e+154|0;n[A>>1]=(t[A>>1]|0)-(t[i+154>>1]|0);e=e+156|0;f[e>>2]=(f[e>>2]|0)-(f[i+156>>2]|0);return}function At(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;if(!A)BA(78393,78403,128,78583);a=A+48|0;i=0;while(1){e=f[A>>2]|0;r=(f[(f[((e&3|0)==3?A:a)+40>>2]|0)+16>>2]|0)+180|0;n=f[(f[r>>2]|0)+(i<<2)>>2]|0;if(!n)break;if((n|0)==(A|0))Ja(r,A);i=i+1|0}a=A+-48|0;n=0;while(1){i=(f[(f[((e&3|0)==2?A:a)+40>>2]|0)+16>>2]|0)+172|0;r=f[(f[i>>2]|0)+(n<<2)>>2]|0;if(!r)break;if((r|0)==(A|0)){Ja(i,A);e=f[A>>2]|0}n=n+1|0}return}function et(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;B=v;v=v+1040|0;u=B+1032|0;b=B;s=B+8|0;o=A+16|0;A=f[o>>2]|0;c=n[A+236>>1]|0;while(1){if((c|0)>(n[A+238>>1]|0))break;l=f[A+196>>2]|0;t=l+(c<<6)|0;l=l+(c<<6)+4|0;a=0;A=0;while(1){if((a|0)>=(f[t>>2]|0))break;e=f[(f[l>>2]|0)+(a<<2)>>2]|0;i=e+16|0;if(f[(f[i>>2]|0)+112>>2]|0){if(!A){r[u>>0]=r[17644]|0;r[u+1>>0]=r[17645]|0;r[u+2>>0]=r[17646]|0;r[u+3>>0]=r[17647]|0;A=VY(78605,u,0)|0}f[b>>2]=a;iP(s,122187,b)|0;d=Pp(A,s,1)|0;cV(d,78608,24,1)|0;k=f[(f[i>>2]|0)+180>>2]|0;w=f[k>>2]|0;w=f[(f[(f[((f[w>>2]&3|0)==2?w:w+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=f[k+4>>2]|0;k=f[(f[(f[((f[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(w|0)>(k|0);i=f[d+16>>2]|0;f[i+12>>2]=h?k:w;f[i+16>>2]=h?w:k;f[i+20>>2]=e}a=a+1|0}if(A|0){if((PY(A)|0)>1)it(A,t);JY(A)|0}c=c+1|0;A=f[o>>2]|0}v=B;return}function it(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;i=0;t=Ep(A)|0;A:while(1){if(!t)break;l=Qp(A,t)|0;c=t+16|0;a=l;while(1){if(!a){t=l;continue A}n=f[a+16>>2]|0;r=f[c>>2]|0;if((f[n+16>>2]|0)>(f[r+12>>2]|0)){if((f[r+16>>2]|0)<=(f[n+12>>2]|0))MY(A,t,a,0,1)|0}else{MY(A,a,t,0,1)|0;i=1}a=Qp(A,a)|0}}do{if(i|0){t=nN(A,78613,1)|0;c=Jb((PY(A)|0)<<2)|0;l=Jb((PY(A)|0)<<2)|0;n=e+4|0;r=Ep(A)|0;A:while(1){if(!r){i=23;break}if((f[(f[r+16>>2]|0)+8>>2]|0)==0?HY(A,r,1,1)|0:0){e:do{if(rt(A,r,t,l)|0){a=PY(t)|0;if((nt(A,t,c)|0)!=(a|0)){i=17;break A}nP(l,a,4,12);i=0;while(1){if((i|0)>=(a|0))break e;e=l+(i<<2)|0;o=f[c+(i<<2)>>2]|0;f[(f[o+16>>2]|0)+236>>2]=f[e>>2];f[(f[n>>2]|0)+(f[e>>2]<<2)>>2]=o;i=i+1|0}}}while(0);at(t)}r=Qp(A,r)|0}if((i|0)==17)BA(78618,78628,265,78639);else if((i|0)==23){HW(c);break}}}while(0);return}function rt(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;t=f[e+16>>2]|0;f[t+8>>2]=1;t=f[(f[(f[t+20>>2]|0)+16>>2]|0)+236>>2]|0;f[r+((PY(i)|0)<<2)>>2]=t;Vp(i,e,1)|0;t=bY(A,e)|0;n=0;while(1){if(!t)break;c=f[t>>2]&3;a=f[((c|0)==2?t:t+-48|0)+40>>2]|0;l=f[a+16>>2]|0;n=n+((f[(f[(f[l+20>>2]|0)+16>>2]|0)+236>>2]|0)>(f[(f[(f[(f[(f[((c|0)==3?t:t+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(f[l+8>>2]|0))n=(rt(A,a,i,r)|0)+n|0;t=BY(A,t)|0}t=kY(A,e)|0;while(1){if(!t)break;l=f[t>>2]&3;a=f[((l|0)==3?t:t+48|0)+40>>2]|0;c=f[a+16>>2]|0;n=n+((f[(f[(f[(f[(f[((l|0)==2?t:t+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(f[(f[(f[c+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(f[c+8>>2]|0))n=(rt(A,a,i,r)|0)+n|0;t=wY(A,t)|0}return n|0}function nt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;n=0;while(1){r=tt(A,e)|0;if(!r)break;f[i+(n<<2)>>2]=f[(f[r+16>>2]|0)+20>>2];Hp(e,r)|0;r=bY(A,r)|0;while(1){if(!r)break;a=BY(A,r)|0;yY(A,r)|0;r=a}n=n+1|0}return n|0}function ft(A,e){A=A|0;e=e|0;return(f[A>>2]|0)-(f[e>>2]|0)|0}function at(A){A=A|0;var e=0,i=0;e=Ep(A)|0;while(1){if(!e)break;i=Qp(A,e)|0;Hp(A,e)|0;e=i}return}function tt(A,e){A=A|0;e=e|0;var i=0;i=Ep(e)|0;while(1){if(!i){i=0;break}if(!(HY(A,i,1,0)|0))break;i=Qp(e,i)|0}return i|0}function lt(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;ct(A);l=A+16|0;n=0;i=0;while(1){if((n|0)>=(f[(f[l>>2]|0)+220>>2]|0))break;ot(A,n);n=n+1|0;i=(st(A,0,e)|0)+i|0}ut(A);t=1;while(1){n=f[l>>2]|0;a=f[n+180>>2]|0;if((t|0)>(a|0))break;a=(bt(f[(f[n+184>>2]|0)+(t<<2)>>2]|0,e)|0)+i|0;t=t+1|0;i=a}do{if((a|0)>0){n=aY(A,78653)|0;if(n|0?(jI(n)|0)<<24>>24==0:0)break;ZQ(A);r[173897]=1;i=st(A,2,e)|0}}while(0);vt(A,i);return}function ct(A){A=A|0;var e=0;if(0)PI();r[173897]=0;f[41927]=A;e=((RY(zf(A)|0)|0)<<2)+4|0;f[41926]=Jb(e)|0;f[41925]=Jb(e)|0;nl(A);e=A+16|0;if(n[(f[e>>2]|0)+136>>1]&16)fl(A);rQ(A);TQ(A,1);xC(A);mt(A);e=f[e>>2]|0;f[41928]=n[e+236>>1];f[41929]=n[e+238>>1];return}function ot(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;A=f[A+16>>2]|0;f[A+192>>2]=f[(f[A+216>>2]|0)+(e<<2)>>2];A:do{if((e|0)>0){e=n[A+238>>1]|0;i=A+196|0;A=n[A+236>>1]|0;while(1){if((A|0)>(e|0))break A;r=f[i>>2]|0;a=r+(A<<6)+4|0;r=r+(A<<6)|0;f[a>>2]=(f[a>>2]|0)+(f[r>>2]<<2);f[r>>2]=0;A=A+1|0}}}while(0);return}function st(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;b=v;v=v+32|0;u=b;if((e|0)>1){r=Pt(0)|0;Rt(A)}else r=2147483647;s=f[13918]|0;c=e;n=0;e=r;while(1){if((c|0)>=3)break;n=f[42181]|0;if((c|0)==2)if((r|0)>(e|0)){Lt(A);r=e}else r=e;else{r=(n|0)<4?n:4;if((zf(A)|0)==(A|0))Ht(A,c);if(!c)Zt(A);Gt(A);a=Pt(0)|0;if((a|0)>(e|0)){n=r;r=a}else{Rt(A);n=r;r=a;e=a}}a=0;l=0;while(1){if((l|0)>=(n|0))break;if(0){f[u>>2]=c;f[u+4>>2]=l;f[u+8>>2]=a;f[u+12>>2]=r;f[u+16>>2]=e;uP(s,79046,u)|0}t=a+1|0;if((r|0)==0|(a|0)>=(f[41930]|0))break;Ft(A,l);r=Pt(0)|0;if((r|0)>(e|0))a=t;else{Rt(A);a=+o[20878]*+(e|0)>+(r|0)?0:t;e=r}l=l+1|0}if(!r){r=0;break}else c=c+1|0}if((r|0)>(e|0))Lt(A);if((e|0)>0){Dt(A,0);r=Pt(0)|0}else r=e;A:do{if(i|0){e=0;while(1){if((e|0)>=(n|0))break A;Xt(A);e=e+1|0}}}while(0);v=b;return r|0}function ut(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+16|0;u=B;Jt(A);o=A+16|0;e=f[o>>2]|0;s=f[13918]|0;c=n[e+236>>1]|0;while(1){if((c|0)>(n[e+238>>1]|0))break;i=f[e+196>>2]|0;r=f[i+(c<<6)+8>>2]|0;f[i+(c<<6)>>2]=r;a=f[i+(c<<6)+12>>2]|0;f[i+(c<<6)+4>>2]=a;l=0;while(1){if((l|0)>=(r|0))break;t=f[a+(l<<2)>>2]|0;if(!t){b=6;break}f[(f[t+16>>2]|0)+236>>2]=l;l=l+1|0}if((b|0)==6){b=0;if(0){i=Ap(A)|0;e=f[(f[(f[o>>2]|0)+196>>2]|0)+(c<<6)>>2]|0;f[u>>2]=i;f[u+4>>2]=c;f[u+8>>2]=l;f[u+12>>2]=e;uP(s,78996,u)|0;e=f[o>>2]|0;i=f[e+196>>2]|0}f[i+(c<<6)>>2]=l}c=c+1|0}v=B;return}function bt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;kQ(A);mt(A);Zt(A);Gt(A);n=A+16|0;i=st(A,2,e)|0;r=1;while(1){a=f[n>>2]|0;if((r|0)>(f[a+180>>2]|0))break;i=(bt(f[(f[a+184>>2]|0)+(r<<2)>>2]|0,e)|0)+i|0;r=r+1|0}It(A);return i|0}function vt(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0;k=v;v=v+16|0;B=k;i=f[41925]|0;if(i|0){HW(i);f[41925]=0}i=f[41926]|0;if(i|0){HW(i);f[41926]=0}b=A+16|0;i=1;while(1){a=f[b>>2]|0;if((i|0)>(f[a+180>>2]|0))break;Bt(f[(f[a+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0}u=n[a+236>>1]|0;i=a;while(1){if((u|0)>(n[i+238>>1]|0))break;else s=0;while(1){i=f[i+196>>2]|0;if((s|0)>=(f[i+(u<<6)>>2]|0))break;c=(f[(f[i+(u<<6)+4>>2]|0)+(s<<2)>>2]|0)+16|0;i=f[c>>2]|0;f[i+236>>2]=s;i=f[i+188>>2]|0;A:do{if(i|0){a=0;while(1){t=f[i+(a<<2)>>2]|0;if(!t)break A;l=t+16|0;if((r[(f[l>>2]|0)+112>>0]|0)==4){Oa(t);HW(f[l>>2]|0);HW(t);a=a+-1|0;i=f[(f[c>>2]|0)+188>>2]|0}a=a+1|0}}}while(0);s=s+1|0;i=f[b>>2]|0}kt(f[i+(u<<6)+56>>2]|0);u=u+1|0;i=f[b>>2]|0}if(0){b=f[13918]|0;A=Ap(A)|0;w=+RI();f[B>>2]=A;f[B+4>>2]=e;o[B+8>>3]=w;uP(b,78664,B)|0}v=k;return}function Bt(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0;a=A+16|0;e=1;while(1){r=f[a>>2]|0;if((e|0)>(f[r+180>>2]|0))break;Bt(f[(f[r+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}A:do{if(f[r+268>>2]|0){i=n[r+236>>1]|0;e=r;while(1){if((i|0)>(n[e+238>>1]|0))break A;c=f[(f[e+268>>2]|0)+(i<<2)>>2]|0;l=wt(A,c,-1)|0;c=wt(A,c,1)|0;f[(f[(f[a>>2]|0)+268>>2]|0)+(i<<2)>>2]=l;o=f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;l=f[(f[l+16>>2]|0)+236>>2]|0;r=f[a>>2]|0;t=f[r+196>>2]|0;f[t+(i<<6)+4>>2]=o+(l<<2);f[t+(i<<6)>>2]=(f[(f[c+16>>2]|0)+236>>2]|0)+1-l;i=i+1|0;e=r}}}while(0);return}function kt(A){A=A|0;if(A|0){HW(f[A+8>>2]|0);HW(A)}return}function wt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=e;while(1){e=ht(e,i)|0;if(!e)break;if(dt(A,e)|0){r=e;continue}n=(gt(A,e)|0)==0;r=n?r:e}return r|0}function ht(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;if(!A)BA(78703,78628,1023,78705);if((e|0)<0){A=f[A+16>>2]|0;r=f[A+236>>2]|0;if((r|0)>0){A=(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(f[A+232>>2]<<6)+4|0;i=r+-1|0;n=7}else a=0}else{A=f[A+16>>2]|0;r=f[A+236>>2]|0;A=(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(f[A+232>>2]<<6)+4|0;i=r+1|0;n=7}if((n|0)==7){A=f[(f[A>>2]|0)+(i<<2)>>2]|0;if(A)if((X((f[(f[A+16>>2]|0)+236>>2]|0)-r|0,e)|0)>0)a=A;else BA(78714,78628,1029,78705);else a=0}return a|0}function dt(A,e){A=A|0;e=e|0;if(!(r[(f[e+16>>2]|0)+156>>0]|0))A=(_p(A,e)|0)!=0&1;else A=0;return A|0}function gt(A,e){A=A|0;e=e|0;var i=0,n=0;e=f[e+16>>2]|0;if(((r[e+156>>0]|0)==1?(f[e+176>>2]|0)==1:0)?(f[e+184>>2]|0)==1:0){e=f[e+180>>2]|0;while(1){e=f[e>>2]|0;i=f[e+16>>2]|0;if(!(r[i+112>>0]|0))break;else e=i+116|0}if(_p(A,e)|0)e=1;else n=7}else n=7;if((n|0)==7)e=0;return e|0}function mt(A){A=A|0;var e=0,i=0,n=0;n=v;v=v+16|0;i=n;e=f[42185]|0;A:do{if((e|0)!=0|(f[42206]|0)!=0){e=TI(A,e,0)|0;if(e|0){switch(r[e>>0]|0){case 0:break A;case 111:{if(!(oz(e,78916)|0)){pt(A,1);break A}break}case 105:{if(!(oz(e,83705)|0)){pt(A,0);break A}break}default:{}}f[i>>2]=e;Iy(1,78920,i)|0;break}e=fN(A)|0;while(1){if(!e)break;if(!(AE(e)|0))mt(e);e=aN(e)|0}if(f[42206]|0)Vt(A)}}while(0);v=n;return}function Zt(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0;o=A+16|0;e=f[o>>2]|0;c=n[e+236>>1]|0;while(1){if((c|0)>(n[e+238>>1]|0))break;else{i=0;l=0}while(1){a=f[e+196>>2]|0;t=f[a+(c<<6)>>2]|0;if((l|0)>=(t|0))break;a=f[(f[(f[a+(c<<6)+4>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;r[a+158>>0]=0;r[a+157>>0]=0;f[a+284>>2]=l;if((i|0)==0&(f[a+192>>2]|0)>0){i=yt(t,t)|0;e=f[o>>2]|0;f[(f[e+196>>2]|0)+(c<<6)+56>>2]=i;i=1}l=l+1|0}A:do{if(i){l=0;i=t;while(1){if((l|0)>=(i|0))break A;t=f[(f[a+(c<<6)+4>>2]|0)+(l<<2)>>2]|0;if(!(r[(f[t+16>>2]|0)+157>>0]|0)){Yt(A,t);e=f[o>>2]|0;i=f[e+196>>2]|0;a=i;i=f[i+(c<<6)>>2]|0}l=l+1|0}}}while(0);c=c+1|0}return}function Gt(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0;h=A+16|0;e=f[h>>2]|0;if(r[e+240>>0]|0){t=0;w=n[e+236>>1]|0;k=0;l=0;A:while(1){if((w|0)>(n[e+238>>1]|0))break;i=f[e+196>>2]|0;a=f[i+(w<<6)>>2]|0;if(!a){a=k;i=l}else{i=f[i+(w<<6)+4>>2]|0;v=f[(f[(f[i>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;r[(f[(f[i+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!t)B=Pb(e)|0;else B=Hb(l,e)|0;u=0;b=0;while(1){e=f[h>>2]|0;i=f[e+196>>2]|0;a=f[i+(w<<6)>>2]|0;if((a|0)<=(b|0))break;c=f[(f[i+(w<<6)+4>>2]|0)+(((f[e+116>>2]&1|0)==0?a+~b|0:b)<<2)>>2]|0;s=c+16|0;e=0;o=0;while(1){l=f[s>>2]|0;if((e|0)>=(f[l+200>>2]|0)){i=0;a=0;e=l;break}l=o+((Ct(A,f[(f[l+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;o=l}while(1){if((a|0)>=(f[e+192>>2]|0))break;l=i+((Ct(A,f[(f[e+188>>2]|0)+(a<<2)>>2]|0)|0)!=0&1)|0;i=l;a=a+1|0;e=f[s>>2]|0}if(i|o)if((o|0)==0&(r[e+157>>0]|0)==0)e=(Mt(A,c,B+(u<<2)|0,w)|0)+u|0;else e=u;else{f[B+(u<<2)>>2]=c;e=u+1|0}u=e;b=b+1|0}e:do{if(u){i:do{if(!(f[e+116>>2]&1)){i=B;e=B+(u<<2)|0;while(1){e=e+-4|0;if(i>>>0>=e>>>0){a=0;break i}b=f[i>>2]|0;f[i>>2]=f[e>>2];f[e>>2]=b;i=i+4|0}}else a=0}while(0);while(1){e=f[h>>2]|0;l=f[e+196>>2]|0;i=f[l+(w<<6)>>2]|0;if((a|0)>=(i|0)){u=0;a=l;break}b=f[B+(a<<2)>>2]|0;f[(f[l+(w<<6)+4>>2]|0)+(a<<2)>>2]=b;f[(f[b+16>>2]|0)+236>>2]=a+v;a=a+1|0}while(1){if((u|0)>=(i|0))break e;s=(f[(f[a+(w<<6)+4>>2]|0)+(u<<2)>>2]|0)+16|0;l=f[(f[s>>2]|0)+188>>2]|0;if(l){o=0;i=l;while(1){a=f[i+(o<<2)>>2]|0;e=f[h>>2]|0;if(!a)break;c=f[a>>2]&3;l=f[(f[(f[((c|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=f[(f[(f[((c|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(f[e+116>>2]&1))if((l|0)<(c|0))d=36;else e=o;else if((l|0)>(c|0))d=36;else e=o;if((d|0)==36){d=0;if(Ct(A,a)|0){d=37;break A}Oa(a);Et(A,a);e=o+-1|0;i=f[(f[s>>2]|0)+188>>2]|0}o=e+1|0}i=f[e+196>>2]|0;a=i;i=f[i+(w<<6)>>2]|0}u=u+1|0}}}while(0);r[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(w<<6)+49>>0]=0;t=B;a=B;i=B}w=w+1|0;k=a;l=i}if((d|0)==37)BA(78762,78628,1561,78801);if(t|0)HW(k)}return}function It(A){A=A|0;var e=0,i=0;i=A+16|0;A=f[i>>2]|0;A:do{if(f[A+268>>2]|0){e=n[A+236>>1]|0;while(1){if((e|0)>(n[A+238>>1]|0))break A;f[(f[A+268>>2]|0)+(e<<2)>>2]=f[f[(f[A+196>>2]|0)+(e<<6)+4>>2]>>2];e=e+1|0;A=f[i>>2]|0}}}while(0);return}function Ct(A,e){A=A|0;e=e|0;if((f[(f[e+16>>2]|0)+156>>2]|0)!=0?(Qt(A,f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)!=0:0)A=(Qt(A,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)!=0&1;else A=0;return A|0}function Mt(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0;s=e+16|0;a=f[s>>2]|0;r[a+157>>0]=1;A:do{if((f[a+192>>2]|0)>0){t=0;c=0;while(1){l=f[(f[a+188>>2]|0)+(c<<2)>>2]|0;if(!l)break A;if((Ct(A,l)|0)!=0?(o=f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,(r[(f[o+16>>2]|0)+157>>0]|0)==0):0)t=(Mt(A,o,i+(t<<2)|0,n)|0)+t|0;c=c+1|0;a=f[s>>2]|0}}else t=0}while(0);if((f[a+232>>2]|0)==(n|0)){f[i+(t<<2)>>2]=e;return t+1|0}else BA(78814,78628,1490,78830);return 0}function Et(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;l=f[e>>2]&3;c=f[((l|0)==2?e:e+-48|0)+40>>2]|0;n=f[(f[c+16>>2]|0)+188>>2]|0;A:do{if(!n){i=e+48|0;u=15}else{s=e+48|0;a=((l|0)==3?e:s)+40|0;i=0;while(1){t=f[n+(i<<2)>>2]|0;if(!t){i=s;u=15;break A}if((f[((f[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0)==(f[a>>2]|0))break;else i=i+1|0}Ka(e,t);i=(f[e+16>>2]|0)+172|0;if(!(f[i>>2]|0))f[i>>2]=t;i=f[t+16>>2]|0;if((r[i+112>>0]|0)==4?(o=i+116|0,(f[o>>2]|0)==0):0)f[o>>2]=e;i=f[(f[((f[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;n=f[i+204>>2]|0;if(!n)i=Pb((f[i+208>>2]<<2)+8|0)|0;else i=Hb(n,(f[i+208>>2]<<2)+8|0)|0;f[(f[(f[((f[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0)+204>>2]=i;l=f[(f[((f[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;c=f[l+204>>2]|0;l=l+208|0;o=f[l>>2]|0;f[l>>2]=o+1;f[c+(o<<2)>>2]=e;e=f[(f[((f[e>>2]&3|0)==3?e:s)+40>>2]|0)+16>>2]|0;f[(f[e+204>>2]|0)+(f[e+208>>2]<<2)>>2]=0}}while(0);if((u|0)==15){u=Fa(c,f[((l|0)==3?e:i)+40>>2]|0,e)|0;s=f[e+16>>2]|0;e=f[u+16>>2]|0;r[e+112>>0]=(r[s+112>>0]|0)==4?4:3;f[e+96>>2]=f[s+96>>2];ja(A,u)}return}function Qt(A,e){A=A|0;e=e|0;var i=0;i=dt(A,e)|0;return gt(A,e)|0|i|0}function yt(A,e){A=A|0;e=e|0;var i=0;i=Jb(12)|0;f[i>>2]=A;f[i+4>>2]=e;f[i+8>>2]=Jb(X(e,A)|0)|0;return i|0}function Yt(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;v=e+16|0;s=f[v>>2]|0;o=f[(f[(f[A+16>>2]|0)+196>>2]|0)+(f[s+232>>2]<<6)+56>>2]|0;r[s+157>>0]=1;r[s+158>>0]=1;s=(f[(f[(zf(A)|0)+16>>2]|0)+180>>2]|0)>0;i=f[v>>2]|0;n=f[i+188>>2]|0;A:do{if(n){u=o+4|0;b=o+8|0;e=0;e:while(1){c=f[n+(e<<2)>>2]|0;if(!c){B=i;break A}if(s){if((_p(A,f[((f[c>>2]&3|0)==3?c:c+48|0)+40>>2]|0)|0)!=0?(_p(A,f[((f[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)|0)!=0:0)k=7}else k=7;do{if((k|0)==7){k=0;t=c+16|0;if(f[(f[t>>2]|0)+156>>2]|0){i=f[c>>2]&3;a=c+-48|0;w=f[(f[((i|0)==2?c:a)+40>>2]|0)+16>>2]|0;l=f[w+284>>2]|0;n=(l|0)<(f[o>>2]|0);if((r[w+158>>0]|0)==1){if(!n){k=10;break e}i=f[(f[(f[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;n=f[u>>2]|0;if((i|0)>=(n|0)){k=12;break e}r[(f[b>>2]|0)+((X(n,l)|0)+i)>>0]=1;Oa(c);e=e+-1|0;if((r[(f[t>>2]|0)+112>>0]|0)==4)break;Et(A,c);break}else{if(!n){k=16;break e}i=f[(f[(f[((i|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;n=f[u>>2]|0;if((i|0)>=(n|0)){k=18;break e}r[(f[b>>2]|0)+((X(n,i)|0)+l)>>0]=1;i=f[((f[c>>2]&3|0)==2?c:a)+40>>2]|0;if(r[(f[i+16>>2]|0)+157>>0]|0)break;Yt(A,i);break}}}}while(0);n=f[v>>2]|0;e=e+1|0;i=n;n=f[n+188>>2]|0}if((k|0)==10)BA(78840,78628,1251,78872);else if((k|0)==12)BA(78884,78628,1252,78872);else if((k|0)==16)BA(78840,78628,1260,78872);else if((k|0)==18)BA(78884,78628,1261,78872)}else B=i}while(0);r[B+158>>0]=0;return}function pt(A,e){A=A|0;e=e|0;var i=0;i=Ep(A)|0;while(1){if(!i)break;Nt(A,i,e);i=Qp(A,i)|0}return}function Vt(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;a=v;v=v+16|0;n=a;e=Ep(A)|0;while(1){if(!e)break;i=TI(e,f[42206]|0,0)|0;A:do{if(i|0){switch(r[i>>0]|0){case 0:break A;case 111:{if(!(oz(i,78916)|0)){Nt(A,e,1);break A}break}case 105:{if(!(oz(i,83705)|0)){Nt(A,e,0);break A}break}default:{}}t=Ap(e)|0;f[n>>2]=i;f[n+4>>2]=t;Iy(1,78951,n)|0}}while(0);e=Qp(A,e)|0}v=a;return}function Nt(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;c=f[41926]|0;t=e+16|0;n=f[t>>2]|0;A:do{if(!(f[n+212>>2]|0)){l=(i|0)!=0;e:do{if(l){a=0;e=0;i=n;while(1){n=f[(f[i+180>>2]|0)+(a<<2)>>2]|0;if(!n)break e;if(!(Wt(n)|0)){f[c+(e<<2)>>2]=n;e=e+1|0;i=f[t>>2]|0}a=a+1|0}}else{a=0;e=0;i=n;while(1){n=f[(f[i+172>>2]|0)+(a<<2)>>2]|0;if(!n)break e;if(!(Wt(n)|0)){f[c+(e<<2)>>2]=n;e=e+1|0;i=f[t>>2]|0}a=a+1|0}}}while(0);if((e|0)>=2){f[c+(e<<2)>>2]=0;nP(c,e,4,13);t=l?2:3;a=l?-1:1;n=1;while(1){e=f[c+(n<<2)>>2]|0;if(!e)break A;i=f[c+(n+-1<<2)>>2]|0;i=f[((f[i>>2]&3|0)==(t|0)?i:i+(a*48|0)|0)+40>>2]|0;e=f[((f[e>>2]&3|0)==(t|0)?e:e+(a*48|0)|0)+40>>2]|0;if(Wa(i,e)|0)break A;l=Fa(i,e,0)|0;r[(f[l+16>>2]|0)+112>>0]=4;ja(A,l);n=n+1|0}}}}while(0);return}function Wt(A){A=A|0;var e=0;while(1){e=f[(f[A+16>>2]|0)+116>>2]|0;if(!e)break;else A=e}e=f[A>>2]&3;return(f[(f[(f[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(f[(f[(f[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function zt(A,e){A=A|0;e=e|0;return((f[f[A>>2]>>2]|0)>>>4)-((f[f[e>>2]>>2]|0)>>>4)|0}function Jt(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0;r=f[A+16>>2]|0;a=r+220|0;t=f[a>>2]|0;if((t|0)>=2){l=r+216|0;A=0;i=0;while(1){if((i|0)>=(t|0))break;e=f[(f[l>>2]|0)+(i<<2)>>2]|0;if(A|0)f[(f[A+16>>2]|0)+164>>2]=e;c=f[e+16>>2]|0;f[c+168>>2]=A;A=e;e=c;while(1){e=f[e+164>>2]|0;if(!e)break;A=e;e=f[e+16>>2]|0}i=i+1|0}f[a>>2]=1;f[r+192>>2]=f[f[r+216>>2]>>2];n[r+236>>1]=f[41928];n[r+238>>1]=f[41929]}return}function Pt(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0;l=f[41927]|0;c=l+16|0;i=f[c>>2]|0;a=0;t=n[i+236>>1]|0;while(1){if((t|0)>=(n[i+238>>1]|0))break;A=f[i+196>>2]|0;if(!(r[A+(t<<6)+49>>0]|0)){e=il(l,t)|0;A=f[c>>2]|0;i=f[A+196>>2]|0;f[i+(t<<6)+52>>2]=e;r[i+(t<<6)+49>>0]=1}else{e=f[A+(t<<6)+52>>2]|0;A=i}a=e+a|0;t=t+1|0;i=A}return a|0}function Rt(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0;A=f[A+16>>2]|0;a=n[A+238>>1]|0;t=A+196|0;A=n[A+236>>1]|0;while(1){if((A|0)>(a|0))break;r=f[t>>2]|0;i=f[r+(A<<6)>>2]|0;r=r+(A<<6)+4|0;e=0;while(1){if((e|0)>=(i|0))break;l=f[(f[(f[r>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;o[l+16>>3]=+(f[l+236>>2]|0);e=e+1|0}A=A+1|0}return}function Ht(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0;w=v;v=v+16|0;s=w;u=A+16|0;b=HI(f[(f[u>>2]|0)+232>>2]|0)|0;c=f[u>>2]|0;i=c+192|0;a=i;while(1){a=f[a>>2]|0;if(!a)break;a=f[a+16>>2]|0;r[a+157>>0]=0;a=a+164|0}t=n[c+238>>1]|0;l=c+196|0;a=n[c+236>>1]|0;while(1){if((a|0)>(t|0))break;f[(f[l>>2]|0)+(a<<6)>>2]=0;a=a+1|0}l=(e|0)==0;while(1){a=f[i>>2]|0;if(!a)break;t=a+16|0;i=f[t>>2]|0;if((f[f[(l?i+172|0:i+180|0)>>2]>>2]|0)==0?(o=i+157|0,(r[o>>0]|0)==0):0){r[o>>0]=1;FI(b,a);while(1){i=DI(b)|0;if(!i)break;if((r[(f[i+16>>2]|0)+159>>0]|0)==7){mQ(A,i,e,b);continue}else{Al(A,i);el(b,i,e);continue}}i=f[t>>2]|0}i=i+164|0}if(DI(b)|0)Iy(1,79159,s)|0;i=f[u>>2]|0;c=n[i+236>>1]|0;while(1){if((c|0)>(n[i+238>>1]|0))break;r[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(c<<6)+49>>0]=0;if((f[i+116>>2]&1|0)!=0?(B=f[i+196>>2]|0,k=f[B+(c<<6)>>2]|0,(k|0)>0):0){a=f[B+(c<<6)+4>>2]|0;t=k+-1|0;l=(t|0)/2|0;i=0;while(1){if((i|0)>(l|0))break;jt(f[a+(i<<2)>>2]|0,f[a+(t-i<<2)>>2]|0);i=i+1|0}i=f[u>>2]|0}c=c+1|0}if((zf(A)|0)==(A|0)?(Pt(0)|0)>0:0)Dt(A,0);LI(b);v=w;return}function Lt(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,v=0;b=A+16|0;A=f[b>>2]|0;i=n[A+236>>1]|0;e=n[A+238>>1]|0;s=e<<16>>16;u=A+196|0;a=i;while(1){if((a|0)>(s|0))break;c=f[u>>2]|0;l=f[c+(a<<6)>>2]|0;c=c+(a<<6)+4|0;t=0;while(1){if((t|0)>=(l|0))break;v=f[(f[(f[c>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;f[v+236>>2]=~~+o[v+16>>3];t=t+1|0}a=a+1|0}while(1){if((i|0)>(e<<16>>16|0))break;r[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(i<<6)+49>>0]=0;v=f[A+196>>2]|0;nP(f[v+(i<<6)+4>>2]|0,f[v+(i<<6)>>2]|0,4,14);v=f[b>>2]|0;i=i+1|0;e=n[v+238>>1]|0;A=v}return}function Ft(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;a=((e|0)%4|0|0)<2&1;i=f[A+16>>2]|0;if(!(e&1)){e=n[i+236>>1]|0;r=1;i=n[i+238>>1]|0;e=(e<<16>>16<=(n[(f[(f[41927]|0)+16>>2]|0)+236>>1]|0)&1)+(e<<16>>16)|0}else{e=n[i+238>>1]|0;r=-1;i=n[i+236>>1]|0;e=((e<<16>>16>=(n[(f[(f[41927]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(e<<16>>16)|0}i=r+i|0;while(1){if((e|0)==(i|0))break;_t(A,e,a,(Kt(A,e,e-r|0)|0)&255);e=e+r|0}Dt(A,a^1);return}function Dt(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0;o=A+16|0;a=f[o>>2]|0;l=n[a+236>>1]|0;c=n[a+238>>1]|0;t=a+196|0;i=l<<16>>16;while(1){if((i|0)>(c|0)){t=l;break}r[(f[t>>2]|0)+(i<<6)+48>>0]=1;i=i+1|0}while(1){i=0;t=t<<16>>16;while(1){if((t|0)>(n[a+238>>1]|0))break;if(r[(f[a+196>>2]|0)+(t<<6)+48>>0]|0){i=(Ot(A,t,e)|0)+i|0;a=f[o>>2]|0}t=t+1|0}if((i|0)<=0)break;t=n[a+236>>1]|0}return}function Xt(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0;v=A+16|0;e=f[v>>2]|0;b=n[e+238>>1]|0;A:while(1){if((b|0)<(n[e+236>>1]|0)){e=16;break}i=f[e+196>>2]|0;r[i+(b<<6)+48>>0]=0;B=(b|0)>0;k=b+1|0;a=0;e:while(1){s=(f[i+(b<<6)>>2]|0)+-1|0;u=i+(b<<6)+4|0;o=i+(k<<6)|0;while(1){if((a|0)>=(s|0))break e;c=f[u>>2]|0;l=f[c+(a<<2)>>2]|0;a=a+1|0;c=f[c+(a<<2)>>2]|0;if((f[(f[l+16>>2]|0)+236>>2]|0)>=(f[(f[c+16>>2]|0)+236>>2]|0)){e=7;break A}if(xt(A,l,c)|0)continue;if(B){i=Tt(l,c)|0;t=Tt(c,l)|0}else{i=0;t=0}if((f[o>>2]|0)>0){i=(Ut(l,c)|0)+i|0;t=(Ut(c,l)|0)+t|0}if((t|0)<=(i|0))break}St(A,b,l,c);e=f[v>>2]|0;i=f[e+196>>2]|0}b=b+-1|0}if((e|0)==7)BA(79110,78628,721,79136);else if((e|0)==16)return}function xt(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0;c=f[e+16>>2]|0;l=f[c+212>>2]|0;n=f[i+16>>2]|0;a=f[n+212>>2]|0;t=(l|0)!=(a|0);do{if(!(r[173897]|0))if((a|0)==0|((l|0)==0|t^1))o=9;else{if((r[c+159>>0]|0)==7?(r[c+156>>0]|0)==1:0){A=0;break}if((r[n+159>>0]|0)==7?(r[n+156>>0]|0)==1:0){A=0;break}A=1}else if(t)A=1;else o=9}while(0);if((o|0)==9){n=f[A+16>>2]|0;A=f[(f[n+196>>2]|0)+(f[c+232>>2]<<6)+56>>2]|0;if(!A)A=0;else{c=(f[n+116>>2]&1|0)==0;o=X(f[A+4>>2]|0,f[(f[(c?e:i)+16>>2]|0)+284>>2]|0)|0;A=r[(f[A+8>>2]|0)+((f[(f[(c?i:e)+16>>2]|0)+284>>2]|0)+o)>>0]|0}}return A|0}function Tt(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;s=A+16|0;l=f[(f[e+16>>2]|0)+172>>2]|0;e=0;while(1){A=f[l>>2]|0;if(!A)break;t=f[A+16>>2]|0;c=n[t+154>>1]|0;a=f[(f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;t=t+16|0;r=f[(f[s>>2]|0)+172>>2]|0;A=e;while(1){e=f[r>>2]|0;if(!e)break;i=(f[(f[(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0;if((i|0)<=0){if((i|0)==0?(u=f[e+16>>2]|0,+o[u+16>>3]>+o[t>>3]):0){e=u;b=9}}else{e=f[e+16>>2]|0;b=9}if((b|0)==9){b=0;A=(X(n[e+154>>1]|0,c)|0)+A|0}r=r+4|0}l=l+4|0;e=A}return e|0}function Ut(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;s=A+16|0;l=f[(f[e+16>>2]|0)+180>>2]|0;e=0;while(1){A=f[l>>2]|0;if(!A)break;t=f[A+16>>2]|0;c=n[t+154>>1]|0;a=f[(f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;t=t+56|0;r=f[(f[s>>2]|0)+180>>2]|0;A=e;while(1){e=f[r>>2]|0;if(!e)break;i=(f[(f[(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-a|0;if((i|0)<=0){if((i|0)==0?(u=f[e+16>>2]|0,+o[u+56>>3]>+o[t>>3]):0){e=u;b=9}}else{e=f[e+16>>2]|0;b=9}if((b|0)==9){b=0;A=(X(n[e+154>>1]|0,c)|0)+A|0}r=r+4|0}l=l+4|0;e=A}return e|0}function St(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;l=r[(f[i+16>>2]|0)+156>>0]|0;if(l<<24>>24!=(r[(f[n+16>>2]|0)+156>>0]|0)){c=A+16|0;s=f[(f[c>>2]|0)+196>>2]|0;o=f[s+(e<<6)>>2]|0;s=s+(e<<6)+4|0;A=0;a=0;t=0;while(1){if((A|0)>=(o|0))break;v=(r[(f[(f[(f[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;A=A+1|0;a=a+(v&1)|0;t=t+((v^1)&1)|0}l=l<<24>>24==0;t=(a|0)<(t|0)?l?i:n:l?n:i;l=0;A=0;while(1){if((A|0)>=(o|0))break;l=(f[(f[s>>2]|0)+(A<<2)>>2]|0)==(t|0)?A:l;A=A+1|0}v=(r[(f[t+16>>2]|0)+156>>0]|0)==0&1;b=0;a=l;while(1){A=a+-1|0;if((a|0)<=0){u=0;A=l;break}if((r[(f[(f[(f[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0)){u=0;A=l;break}b=b+1|0;a=A}while(1){A=A+1|0;if((A|0)>=(o|0))break;if((r[(f[(f[(f[s>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0))break;u=u+1|0}jt(i,n);c=f[(f[c>>2]|0)+196>>2]|0;o=f[c+(e<<6)>>2]|0;c=c+(e<<6)+4|0;A=0;while(1){if((A|0)>=(o|0)){t=0;a=l;break}l=(f[(f[c>>2]|0)+(A<<2)>>2]|0)==(t|0)?A:l;A=A+1|0}while(1){A=a+-1|0;if((a|0)<=0){a=0;A=l;break}if((r[(f[(f[(f[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0)){a=0;A=l;break}t=t+1|0;a=A}while(1){A=A+1|0;if((A|0)>=(o|0))break;if((r[(f[(f[(f[c>>2]|0)+(A<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(v|0))break;a=a+1|0}e=t-a|0;v=b-u|0;if((((e|0)>-1?e:0-e|0)|0)>(((v|0)>-1?v:0-v|0)|0))jt(i,n)}return}function jt(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;n=f[A+16>>2]|0;r=f[n+232>>2]|0;n=n+236|0;i=f[n>>2]|0;a=e+16|0;t=f[(f[a>>2]|0)+236>>2]|0;f[n>>2]=t;n=(f[41927]|0)+16|0;f[(f[(f[(f[n>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(t<<2)>>2]=A;f[(f[a>>2]|0)+236>>2]=i;f[(f[(f[(f[n>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return}function Ot(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0;k=A+16|0;b=f[(f[k>>2]|0)+196>>2]|0;r[b+(e<<6)+48>>0]=0;w=(e|0)>0;h=e+1|0;v=(i|0)!=0;B=e+-1|0;a=0;l=0;i=b;A:while(1){s=(f[i+(e<<6)>>2]|0)+-1|0;u=i+(e<<6)+4|0;t=i+(h<<6)|0;b=a;while(1){if((b|0)>=(s|0)){i=17;break A}o=f[u>>2]|0;c=f[o+(b<<2)>>2]|0;b=b+1|0;o=f[o+(b<<2)>>2]|0;if((f[(f[c+16>>2]|0)+236>>2]|0)>=(f[(f[o+16>>2]|0)+236>>2]|0)){i=5;break A}if(xt(A,c,o)|0)continue;if(w){i=Tt(c,o)|0;a=Tt(o,c)|0}else{i=0;a=0}if((f[t>>2]|0)>0){i=(Ut(c,o)|0)+i|0;a=(Ut(o,c)|0)+a|0}if((i|0)>(a|0))break;if((i|0)==(a|0)&(v&(i|0)>0)){i=a;break}}jt(c,o);l=i-a+l|0;a=f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0;r[a+(e<<6)+49>>0]=0;t=f[k>>2]|0;i=f[t+196>>2]|0;r[i+(e<<6)+48>>0]=1;if((n[t+236>>1]|0)<(e|0)){r[a+(B<<6)+49>>0]=0;r[i+(B<<6)+48>>0]=1}if((n[t+238>>1]|0)<=(e|0)){a=b;continue}r[a+(h<<6)+49>>0]=0;r[i+(h<<6)+48>>0]=1;a=b}if((i|0)==5)BA(79110,78628,770,79144);else if((i|0)==17)return l|0;return 0}function Kt(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,t=0.0,l=0,c=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;B=f[41925]|0;k=A+16|0;A=f[(f[k>>2]|0)+196>>2]|0;w=f[A+(e<<6)+4>>2]|0;b=(i|0)>(e|0);v=B+4|0;u=0;while(1){i=f[A+(e<<6)>>2]|0;if((u|0)>=(i|0)){A=0;l=0;break}s=(f[w+(u<<2)>>2]|0)+16|0;A=f[s>>2]|0;A:do{if(b){c=f[A+180>>2]|0;A=0;l=0;while(1){i=f[c+(l<<2)>>2]|0;if(!i)break A;r=f[i+16>>2]|0;if((n[r+154>>1]|0)>0){f[B+(A<<2)>>2]=f[(f[(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|a[r+88>>0];A=A+1|0}l=l+1|0}}else{c=f[A+172>>2]|0;l=0;A=0;while(1){i=f[c+(l<<2)>>2]|0;if(!i)break A;r=f[i+16>>2]|0;if((n[r+154>>1]|0)>0){f[B+(A<<2)>>2]=f[(f[(f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|a[r+48>>0];A=A+1|0}l=l+1|0}}}while(0);A:do{switch(A|0){case 0:{t=-1.0;break}case 1:{t=+(f[B>>2]|0);break}case 2:{t=+(((f[v>>2]|0)+(f[B>>2]|0)|0)/2|0|0);break}default:{nP(B,A,4,12);i=(A|0)/2|0;if(A&1|0){t=+(f[B+(i<<2)>>2]|0);break A}l=f[B+(i<<2)>>2]|0;r=(f[B+(A+-1<<2)>>2]|0)-l|0;A=f[B+(i+-1<<2)>>2]|0;i=A-(f[B>>2]|0)|0;if((i|0)==(r|0)){t=+((A+l|0)/2|0|0);break A}else{t=+(((X(i,l)|0)+(X(A,r)|0)|0)/(i+r|0)|0|0);break A}}}}while(0);o[(f[s>>2]|0)+240>>3]=t;u=u+1|0;A=f[(f[k>>2]|0)+196>>2]|0}while(1){if((l|0)>=(i|0))break;r=f[w+(l<<2)>>2]|0;B=f[r+16>>2]|0;if((f[B+184>>2]|0)==0?(f[B+176>>2]|0)==0:0){A=(qt(r)|0|A&255)&255;i=f[(f[(f[k>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}l=l+1|0}return A|0}function _t(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0.0,b=0,v=0,B=0,k=0,w=0,h=0;v=f[(f[A+16>>2]|0)+196>>2]|0;h=f[v+(e<<6)+4>>2]|0;v=f[v+(e<<6)>>2]|0;k=(i|0)!=0;B=(n|i|0)==0;n=0;i=v;v=h+(v<<2)|0;while(1){b=i+-1|0;if((i|0)>0)i=h;else break;A:while(1){e:while(1){if(i>>>0>=v>>>0)break A;while(1){if(i>>>0>=v>>>0)break A;s=f[i>>2]|0;u=+o[(f[s+16>>2]|0)+240>>3];if(!(u<0.0))break;i=i+4|0}c=0;while(1){a=c<<24>>24==0;while(1){i=i+4|0;if(i>>>0>=v>>>0)break A;if(a){a=11;break}t=f[i>>2]|0;if(!(f[(f[t+16>>2]|0)+212>>2]|0)){a=13;break}}if((a|0)==11){t=f[i>>2]|0;l=t}else if((a|0)==13)l=t;if(xt(A,s,l)|0)continue e;a=f[t+16>>2]|0;if(+o[a+240>>3]>=0.0)break;c=(f[a+212>>2]|0)==0?c:1}a=~~u;c=~~+o[(f[t+16>>2]|0)+240>>3];if((a|0)>(c|0)|k&(a|0)==(c|0))break}jt(s,l);n=n+1|0}i=b;v=B?v+-4|0:v}if(n|0?(w=f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0,r[w+(e<<6)+49>>0]=0,(e|0)>0):0)r[w+(e+-1<<6)+49>>0]=0;return}function qt(A){A=A|0;var e=0.0,i=0,r=0,n=0,a=0;a=f[A+16>>2]|0;if((f[a+200>>2]|0)>0){n=f[a+196>>2]|0;A=f[n>>2]|0;A=f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;i=1;while(1){r=f[n+(i<<2)>>2]|0;if(!r)break;r=f[((f[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0;A=(f[(f[r+16>>2]|0)+236>>2]|0)>(f[(f[A+16>>2]|0)+236>>2]|0)?r:A;i=i+1|0}e=+o[(f[A+16>>2]|0)+240>>3];if(!(e>=0.0))A=1;else{o[a+240>>3]=e+1.0;A=0}}else if((f[a+192>>2]|0)>0){r=f[a+188>>2]|0;i=f[r>>2]|0;A=1;i=f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;while(1){n=f[r+(A<<2)>>2]|0;if(!n)break;n=f[((f[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0;A=A+1|0;i=(f[(f[n+16>>2]|0)+236>>2]|0)<(f[(f[i+16>>2]|0)+236>>2]|0)?n:i}e=+o[(f[i+16>>2]|0)+240>>3];if(e>0.0){o[a+240>>3]=e+-1.0;A=0}else A=1}else A=1;return A|0}function $t(A,e){A=A|0;e=e|0;return(f[(f[(f[A>>2]|0)+16>>2]|0)+236>>2]|0)-(f[(f[(f[e>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Al(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+96|0;b=B+64|0;u=B+48|0;t=B+24|0;r=B;c=e+16|0;o=f[(f[c>>2]|0)+232>>2]|0;s=A+16|0;i=f[(f[s>>2]|0)+196>>2]|0;l=f[i+(o<<6)>>2]|0;do{if((f[i+(o<<6)+8>>2]|0)>=1){f[(f[i+(o<<6)+4>>2]|0)+(l<<2)>>2]=e;f[(f[c>>2]|0)+236>>2]=l;A=f[s>>2]|0;r=f[A+196>>2]|0;i=r+(o<<6)|0;a=f[i>>2]|0;f[i>>2]=a+1;if((a|0)>=(f[r+(o<<6)+8>>2]|0))BA(79224,78628,1346,79260);a=f[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(o<<6)+8>>2]|0;if((l|0)>(a|0)){s=Ap(e)|0;u=f[(f[c>>2]|0)+236>>2]|0;b=f[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(o<<6)+8>>2]|0;f[t>>2]=1359;f[t+4>>2]=s;f[t+8>>2]=u;f[t+12>>2]=o;f[t+16>>2]=b;Iy(1,79276,t)|0;break}i=n[A+236>>1]|0;A=n[A+238>>1]|0;if((o|0)<(i|0)|(o|0)>(A<<16>>16|0)){f[u>>2]=1364;f[u+4>>2]=o;f[u+8>>2]=i;f[u+12>>2]=A<<16>>16;Iy(1,79349,u)|0;break}if(((f[r+(o<<6)+4>>2]|0)+(l<<2)|0)>>>0>((f[r+(o<<6)+12>>2]|0)+(a<<2)|0)>>>0){l=Ap(e)|0;u=f[(f[s>>2]|0)+196>>2]|0;s=(f[u+(o<<6)+4>>2]|0)+(f[(f[c>>2]|0)+236>>2]<<2)|0;u=(f[u+(o<<6)+12>>2]|0)+(f[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(o<<6)+8>>2]<<2)|0;f[b>>2]=1370;f[b+4>>2]=o;f[b+8>>2]=l;f[b+12>>2]=s;f[b+16>>2]=o;f[b+20>>2]=o;f[b+24>>2]=u;Iy(1,79410,b)|0}}else{u=Ap(A)|0;b=Ap(e)|0;f[r>>2]=1339;f[r+4>>2]=u;f[r+8>>2]=b;f[r+12>>2]=o;f[r+16>>2]=l;Iy(1,79169,r)|0}}while(0);v=B;return}function el(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;t=e+16|0;A:do{if(!i){a=0;while(1){e=f[t>>2]|0;if((a|0)>=(f[e+184>>2]|0))break A;e=f[(f[e+180>>2]|0)+(a<<2)>>2]|0;i=e+-48|0;n=(f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[n>>0]|0)){r[n>>0]=1;FI(A,f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)}a=a+1|0}}else{a=0;while(1){e=f[t>>2]|0;if((a|0)>=(f[e+176>>2]|0))break A;e=f[(f[e+172>>2]|0)+(a<<2)>>2]|0;i=e+48|0;n=(f[(f[((f[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+157|0;if(!(r[n>>0]|0)){r[n>>0]=1;FI(A,f[((f[e>>2]&3|0)==3?e:i)+40>>2]|0)}a=a+1|0}}}while(0);return}function il(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;m=v;v=v+16|0;g=m;a=A+16|0;i=f[(f[a>>2]|0)+196>>2]|0;h=f[i+(e<<6)+4>>2]|0;d=e+1|0;A=f[(f[(f[(f[41927]|0)+16>>2]|0)+196>>2]|0)+(d<<6)>>2]|0;if((f[41931]|0)>(A|0))k=f[41932]|0;else{A=A+1|0;f[41931]=A;i=f[41932]|0;if(!i)A=Pb(A<<2)|0;else A=Hb(i,A<<2)|0;f[41932]=A;i=f[(f[a>>2]|0)+196>>2]|0;k=A}w=i+(d<<6)|0;A=0;while(1){if((A|0)>=(f[w>>2]|0))break;f[k+(A<<2)>>2]=0;A=A+1|0}B=i+(e<<6)|0;b=0;t=0;A=0;c=k;while(1){o=f[B>>2]|0;if((b|0)>=(o|0))break;u=f[(f[(f[h+(b<<2)>>2]|0)+16>>2]|0)+180>>2]|0;A:do{if((t|0)>0){s=0;while(1){a=f[u+(s<<2)>>2]|0;if(!a)break A;o=a+16|0;l=f[(f[(f[((f[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){a=l+1|0;if((l|0)>=(t|0))break;l=a;A=(X(f[c+(a<<2)>>2]|0,n[(f[o>>2]|0)+154>>1]|0)|0)+A|0}s=s+1|0}}}while(0);l=0;while(1){a=f[u+(l<<2)>>2]|0;if(!a)break;c=f[(f[(f[((f[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=k+(c<<2)|0;f[s>>2]=(f[s>>2]|0)+(n[(f[a+16>>2]|0)+154>>1]|0);t=(c|0)>(t|0)?c:t;l=l+1|0;c=k}b=b+1|0}l=i+(e<<6)+4|0;t=0;while(1){if((t|0)>=(o|0))break;a=f[(f[(f[l>>2]|0)+(t<<2)>>2]|0)+16>>2]|0;if(r[a+145>>0]|0){e=a+180|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];A=(rl(g,1)|0)+A|0}t=t+1|0}l=f[w>>2]|0;t=i+(d<<6)+4|0;a=0;while(1){if((a|0)>=(l|0))break;i=f[(f[(f[t>>2]|0)+(a<<2)>>2]|0)+16>>2]|0;if(r[i+145>>0]|0){d=i+172|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];A=(rl(g,-1)|0)+A|0}a=a+1|0}v=m;return A|0}function rl(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;b=(e|0)<1;s=f[A>>2]|0;e=0;A=0;A:while(1){u=f[s+(e<<2)>>2]|0;if(!u)break;e=e+1|0;if(b){l=u+48|0;c=u+16|0;t=e;while(1){i=f[s+(t<<2)>>2]|0;if(!i)continue A;r=f[i+16>>2]|0;a=f[c>>2]|0;if((+o[r+56>>3]-+o[a+56>>3])*+((f[(f[(f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(f[(f[(f[((f[u>>2]&3|0)==3?u:l)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(X(n[r+154>>1]|0,n[a+154>>1]|0)|0)+A|0;t=t+1|0}}else{l=u+-48|0;c=u+16|0;t=e;while(1){i=f[s+(t<<2)>>2]|0;if(!i)continue A;r=f[i+16>>2]|0;a=f[c>>2]|0;if((+o[r+16>>3]-+o[a+16>>3])*+((f[(f[(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(f[(f[(f[((f[u>>2]&3|0)==2?u:l)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)A=(X(n[r+154>>1]|0,n[a+154>>1]|0)|0)+A|0;t=t+1|0}}}return A|0}function nl(A){A=A|0;var e=0.0,i=0.0;f[41930]=8;f[42181]=24;o[20878]=.995;A=aY(A,79532)|0;if(A|0?(e=+fR(A),e>0.0):0){i=e*+(f[41930]|0);f[41930]=~~(i>1.0?i:1.0);e=e*+(f[42181]|0);f[42181]=~~(e>1.0?e:1.0)}return}function fl(A){A=A|0;var e=0,i=0;i=(n[(f[A+16>>2]|0)+238>>1]|0)+2|0;e=Jb(i<<2)|0;TC(A,e,i,0)|0;HW(e);return}function al(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;a=(A|0)==2;e=(f[42039]|0)+24|0;while(1){e=f[e>>2]|0;if(!e)break;i=e+4|0;n=f[i>>2]|0;if(!((a?(r[n>>0]|0)==(r[83089]|0):0)?!(oz(n,83089)|0):0)){t=Ky(f[f[42039]>>2]|0,A,n,0)|0;f[i>>2]=t;if(!t)f[i>>2]=Ky(f[f[42039]>>2]|0,A,n,174185)|0;f[e>>2]=266;CV(f[42038]|0,n)|0}e=e+12|0}return}function tl(A){A=A|0;ll(f[A>>2]|0);f[A+4>>2]=0;f[A>>2]=0;return}function ll(A){A=A|0;var e=0;while(1){if(!A)break;e=f[A+12>>2]|0;switch(f[A>>2]|0){case 265:{ll(f[A+4>>2]|0);break}case 266:case 267:{CV(f[42038]|0,f[A+8>>2]|0)|0;break}default:{}}Zp(f[42038]|0,A);A=e}return}function cl(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;t=v;v=v+1040|0;n=t;a=t+8|0;i=nz(A)|0;i=i+2+(nz(e)|0)|0;if(i>>>0<1025)r=a;else r=RW(i)|0;f[n>>2]=A;f[n+4>>2]=e;iP(r,83126,n)|0;i=GV(f[42038]|0,r)|0;CV(f[42038]|0,A)|0;CV(f[42038]|0,e)|0;if((r|0)!=(a|0))HW(r);v=t;return i|0}function ol(A,e){A=A|0;e=e|0;return vW(259,A,e)|0}function sl(A){A=A|0;return vW(265,A,0)|0}function ul(A){A=A|0;return vW(262,A,0)|0}function bl(A){A=A|0;var e=0,i=0;e=(f[42039]|0)+24|0;while(1){e=f[e>>2]|0;if(!e)break;if((f[e>>2]|0)==266?(i=f[e+4>>2]|0,i|0):0)AY(A,i,f[e+8>>2]|0)|0;e=e+12|0}return}function vl(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=i+4|0;A:do{if((f[i>>2]|0)==262){i=f[n>>2]|0;n=Ep(i)|0;while(1){if(!n)break A;Bl(A,e,Vp(f[f[42039]>>2]|0,n,0)|0,0,r);n=Qp(i,n)|0}}else while(1){n=f[n>>2]|0;if(!n)break A;i=Vp(f[f[42039]>>2]|0,f[n+4>>2]|0,0)|0;Bl(A,e,i,f[n+8>>2]|0,r);n=n+12|0}}while(0);return}function Bl(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0;i=MY(f[f[42039]>>2]|0,A,i,n,1)|0;if(i|0){a=f[i>>2]&3;n=f[((a|0)==2?i:i+-48|0)+40>>2]|0;A=(n|0)==(A|0)?(f[((a|0)==3?i:i+48|0)+40>>2]|0)!=(n|0):0;kl(i,96242,A?r:e);kl(i,96251,A?e:r);bl(i)}return}function kl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(i|0){r=Ky(f[f[42039]>>2]|0,2,e,0)|0;if(!r)r=Ky(f[f[42039]>>2]|0,2,e,174185)|0;AY(A,r,i)|0}return}function wl(A,e,i){A=A|0;e=e|0;i=i|0;f[42007]=e;f[42038]=A;f[41987]=0;A=i|0?i:17656;f[42041]=A;YV(A,e);_N()|0;A=f[41987]|0;if(!A){eN();A=f[41987]|0}return A|0}function hl(A,e){A=A|0;e=e|0;return wl(0,A,e)|0}function dl(A,e){A=A|0;e=e|0;e=Ol(A,1,e)|0;if(!e)e=999;else{e=f[e+16>>2]|0;f[A+184>>2]=f[e+4>>2];f[A+172>>2]=f[e+12>>2];f[A+176>>2]=f[e>>2];f[A+180>>2]=f[e+16>>2];e=300}return e|0}function gl(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;n=l;cV(e,122277,280,1)|0;a=e+16|0;f[(f[a>>2]|0)+144>>2]=A;if((Dp(e)|0)!=(e|0))f[(f[(Dp(e)|0)+16>>2]|0)+144>>2]=A;r=aY(e,83342)|0;i=A+172|0;if((r|0)!=0?(f[i>>2]=0,(dl(A,r)|0)==999):0){i=Kl(A,1,r)|0;f[n>>2]=r;f[n+4>>2]=i;Iy(1,83869,n)|0;i=-1}else{r=f[i>>2]|0;if(!r)i=-1;else{Uu(1);hb(e,f[f[A+180>>2]>>2]&1);i=f[(f[a>>2]|0)+8>>2]|0;f[(f[(Dp(e)|0)+16>>2]|0)+8>>2]=i;xG();i=f[r>>2]|0;if(i|0?(ML[i&127](e),t=f[r+4>>2]|0,t|0):0)f[(f[a>>2]|0)+148>>2]=t;Uu(0);i=0}}v=l;return i|0}function ml(A,e){A=A|0;e=e|0;var i=0,r=0;if(cV(e,122277,0,1)|0){i=e+16|0;A=f[i>>2]|0;r=f[A+148>>2]|0;if(r){ML[r&127](e);A=f[i>>2]|0;f[A+148>>2]=0}if(f[A+8>>2]|0)Gb(e)}return 0}function Zl(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;c=o+8|0;l=o;e=f[A+76>>2]|0;n=f[A>>2]|0;if((e|0)!=0?(i=f[e>>2]|0,(i|0)!=0):0){ML[i&127](A);a=12}else a=4;do{if((a|0)==4)if((f[A+40>>2]|0)==0?(t=A+36|0,(f[t>>2]|0)==0):0){if(r[n+13>>0]|0)Gl(A);e=A+32|0;i=f[e>>2]|0;if(!i){f[t>>2]=f[13885];a=12;break}n=FP(i,91556)|0;f[t>>2]=n;if(!n){c=f[(f[A+12>>2]|0)+16>>2]|0;t=f[e>>2]|0;e=sz(f[(KW()|0)>>2]|0)|0;f[l>>2]=t;f[l+4>>2]=e;EL[c&31](83132,l);e=1}else a=12}else a=12}while(0);if((a|0)==12)if(!(f[A+152>>2]&1024))e=0;else{EL[f[(f[A+12>>2]|0)+16>>2]&31](83170,c);e=1}v=o;return e|0}function Gl(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;t=v;v=v+112|0;i=t;a=t+4|0;e=f[A+24>>2]|0;if(!e)r[a>>0]=0;else{f[i>>2]=e+1;iP(a,83188,i)|0}i=f[A+20>>2]|0;i=i|0?i:83192;e=nz(i)|0;l=nz(a)|0;n=A+52|0;l=e+1+l+(nz(f[n>>2]|0)|0)|0;e=l+11|0;if((f[42042]|0)>>>0<(l+1|0)>>>0){f[42042]=e;e=FW(f[42043]|0,e)|0;f[42043]=e}else e=f[42043]|0;oJ(e,i)|0;mP(f[42043]|0,a)|0;e=f[42043]|0;e=e+(nz(e)|0)|0;r[e>>0]=46;r[e+1>>0]=0;e=dP(f[n>>2]|0)|0;n=f[42043]|0;while(1){i=gP(e,58)|0;if(!i)break;mP(n,i+1|0)|0;l=f[42043]|0;a=l+(nz(l)|0)|0;r[a>>0]=46;r[a+1>>0]=0;r[i>>0]=0;n=l}mP(n,e)|0;HW(e);f[A+32>>2]=f[42043];v=t;return}function Il(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t+8|0;n=t;if((e|0)!=0&(i|0)!=0){if(f[A+152>>2]&1024|0){EL[f[(f[A+12>>2]|0)+16>>2]&31](83170,n);FA(1)}if((Cl(A,e,i)|0)==(i|0))r=i;else{n=f[(f[A+12>>2]|0)+16>>2]|0;f[a>>2]=i;EL[n&31](83202,a);FA(1)}}else r=0;v=t;return r|0}function Cl(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;u=b;n=f[(f[A>>2]|0)+104>>2]|0;do{if(!n){c=A+40|0;t=f[c>>2]|0;if(!t){i=JP(e,1,i,f[A+36>>2]|0)|0;break}n=A+44|0;l=A+48|0;a=f[l>>2]|0;do{if(((f[n>>2]|0)+-1-a|0)>>>0>>0){a=i+4096+a&-4096;f[n>>2]=a;n=FW(t,a)|0;f[c>>2]=n;if(!n){EL[f[(f[A+12>>2]|0)+16>>2]&31](83227,u);FA(1)}else{o=n;s=f[l>>2]|0;break}}else{o=t;s=a}}while(0);VH(o+s|0,e|0,i|0)|0;u=(f[l>>2]|0)+i|0;f[l>>2]=u;r[(f[c>>2]|0)+u>>0]=0}else i=mL[n&31](A,e,i)|0}while(0);v=b;return i|0}function Ml(A,e){A=A|0;e=e|0;var i=0;i=nz(e)|0;e=(Il(A,e,i)|0)==(i|0);return(e?1:-1)|0}function El(A,e){A=A|0;e=e|0;var i=0,n=0;i=v;v=v+16|0;n=i;r[n>>0]=e;A=(Il(A,n,1)|0)==1;v=i;return(A?e:-1)|0}function Ql(A){A=A|0;var e=0;e=f[A+36>>2]|0;if(((e|0)!=0?(r[A+144>>0]|0)==0:0)?(f[(f[A>>2]|0)+104>>2]|0)==0:0)A=QP(e)|0;else A=0;return A|0}function yl(A){A=A|0;var e=0,i=0;e=f[A+76>>2]|0;if(e|0?(i=f[e+4>>2]|0,i|0):0)ML[i&127](A);Ql(A)|0;return}function Yl(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=f[A+76>>2]|0;if(f[A+152>>2]&1024|0){EL[f[(f[A+12>>2]|0)+16>>2]&31](83254,r);FA(1)}if((i|0)!=0?(e=f[i+8>>2]|0,(e|0)!=0):0)ML[e&127](A);else{Ql(A)|0;pl(A)}v=r;return}function pl(A){A=A|0;var e=0,i=0,n=0;e=A+32|0;if((f[e>>2]|0?(i=A+36|0,n=f[i>>2]|0,(n|0)!=(f[13885]|0)):0)?(r[A+144>>0]|0)==0:0){if(n|0){IP(n)|0;f[i>>2]=0}f[e>>2]=0}return}function Vl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;l=v;v=v+1056|0;n=l;t=l+24|0;a=l+8|0;f[a>>2]=i;r=IJ(t,1024,e,a)|0;if((r|0)>=0){if((r|0)>1023){r=Pb(r+1|0)|0;f[a>>2]=i;n=r;r=rP(r,e,a)|0}else n=t;Il(A,n,r)|0;if((n|0)!=(t|0))HW(n)}else{f[n>>2]=sz(f[(KW()|0)>>2]|0)|0;Iy(1,83271,n)|0}v=l;return}function Nl(A,e){A=A|0;e=+e;var i=0,r=0,n=0;i=v;v=v+16|0;r=i;n=Wl(r,e)|0;Il(A,n,f[r>>2]|0)|0;v=i;return}function Wl(A,e){A=A|0;e=+e;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;if(!(e<-1.0e15))if(!(e>1.0e15)){e=e*1.0e4;n=~~((e<0.0?-.5:.5)+e);if(!n){n=123205;i=1}else{s=(n|0)<0;o=4;l=0;i=173952;n=s?0-n|0:n;while(1){if(!((n|0)!=0|(o|0)>0))break;a=(n|0)%10|0;c=(n|0)/10|0;t=i+-1|0;if((a|0)==0&l<<24>>24==0)n=0;else{r[t>>0]=a|48;n=1;i=t}if((o|0)==1)if(!(n<<24>>24))n=1;else{i=i+-1|0;r[i>>0]=46;n=1}o=o+-1|0;l=n;n=c}if(s){i=i+-1|0;r[i>>0]=45}n=i;i=173952-i|0}}else{n=83286;i=18}else{n=83285;i=19}f[A>>2]=i;return n|0}function zl(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+16|0;r=i;n=Wl(r,+o[e>>3])|0;Il(A,n,f[r>>2]|0)|0;Il(A,87638,1)|0;e=Wl(r,+o[e+8>>3])|0;Il(A,e,f[r>>2]|0)|0;v=i;return}function Jl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;a=v;v=v+16|0;n=a;r=0;while(1){t=e+(r<<4)|0;f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[n+8>>2]=f[t+8>>2];f[n+12>>2]=f[t+12>>2];zl(A,n);r=r+1|0;if((r|0)>=(i|0))break;Il(A,87638,1)|0}v=a;return}function Pl(A,e){A=A|0;e=e|0;var i=0;i=Jb(392)|0;if(i|0){f[i>>2]=19212;f[i+16>>2]=22;f[i+32>>2]=A;f[i+36>>2]=e}return i|0}function Rl(A){A=A|0;var e=0,i=0,r=0,n=0;e=Jb(392)|0;i=e;r=A;n=i+40|0;do{f[i>>2]=f[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));n=e+60|0;r=A+60|0;f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];f[n+8>>2]=f[r+8>>2];f[n+12>>2]=f[r+12>>2];f[n+16>>2]=f[r+16>>2];n=e+80|0;r=A+80|0;f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];f[n+8>>2]=f[r+8>>2];f[n+12>>2]=f[r+12>>2];f[n+16>>2]=f[r+16>>2];return e|0}function Hl(A){A=A|0;Ul(A);HW(A);return}function Ll(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=f[r>>2]|0;if(i){r=f[42044]|0;if(r){i=f[r+4>>2]|0;if(!i){i=Jb(632)|0;f[(f[42044]|0)+4>>2]=i}}}else{i=Jb(632)|0;f[r>>2]=i;f[A+164>>2]=i}f[42044]=i;f[i+32>>2]=e;f[i>>2]=A;return}function Fl(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+160|0;i=f[r>>2]|0;if(i){r=f[42045]|0;if(r){i=f[r+4>>2]|0;if(!i){i=Jb(632)|0;f[(f[42045]|0)+4>>2]=i}}}else{i=Jb(632)|0;f[r>>2]=i;f[A+164>>2]=i}f[42045]=i;f[i+52>>2]=e;f[i>>2]=A;return(Ol(A,3,e)|0)!=0|0}function Dl(A){A=A|0;var e=0;e=f[A+160>>2]|0;f[A+164>>2]=e;return e|0}function Xl(A){A=A|0;var e=0,i=0,r=0;A=A+164|0;e=f[A>>2]|0;i=f[e+4>>2]|0;if(i|0?(r=i+52|0,(f[r>>2]|0)==0):0)f[r>>2]=f[e+52>>2];f[A>>2]=i;return i|0}function xl(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=A+8|0;n=e+10|0;if((f[r>>2]|0)>(e|0))A=f[A>>2]|0;else{f[r>>2]=n;n=Hb(f[A>>2]|0,n<<2)|0;f[A>>2]=n;A=n}f[A+(e<<2)>>2]=i;return}function Tl(A){A=A|0;var e=0;e=f[A>>2]|0;if(e|0)HW(e);f[A>>2]=0;f[A+8>>2]=0;f[A+4>>2]=0;return}function Ul(A){A=A|0;var e=0,i=0,r=0;i=A+160|0;e=f[i>>2]|0;while(1){if(!e)break;r=f[e+4>>2]|0;Tl(e+604|0);Tl(e+592|0);HW(f[e+584>>2]|0);HW(f[e+588>>2]|0);HW(e);e=r}f[42045]=0;f[42044]=0;f[A+192>>2]=0;f[A+164>>2]=0;f[i>>2]=0;f[A+28>>2]=0;return}function Sl(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,o=0,s=0,u=0;u=v;v=v+128|0;o=u+64|0;s=u;$J(o,i,63)|0;l=zz(o,58)|0;if(l|0)r[l>>0]=0;A=A+60+(e<<2)|0;while(1){e=f[A>>2]|0;if(!e){e=A;A=0;break}$J(s,f[e+4>>2]|0,63)|0;e=zz(s,58)|0;if(e|0)r[e>>0]=0;if((oz(o,s)|0)<1){c=9;break}A=f[A>>2]|0}while(1){if((c|0)==9){e=A;A=f[A>>2]|0}if(!A)break;$J(s,f[A+4>>2]|0,63)|0;A=zz(s,58)|0;if(A|0)r[A>>0]=0;if(oz(o,s)|0)break;A=f[e>>2]|0;if((f[A+8>>2]|0)<=(n|0))break;c=9}s=Pb(20)|0;f[s>>2]=f[e>>2];f[e>>2]=s;f[s+4>>2]=i;f[s+8>>2]=n;f[s+12>>2]=a;f[s+16>>2]=t;v=u;return 1}function jl(A,e){A=A|0;e=e|0;e=v;v=v+16|0;Iy(1,83366,e)|0;v=e;return 0}function Ol(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+144|0;w=h;b=h+80|0;B=h+16|0;u=(e+-3|0)>>>0<2?0:e;$J(b,i,63)|0;i=zz(b,58)|0;if(i){n=i+1|0;r[i>>0]=0;i=zz(n,58)|0;if(!i)s=0;else{r[i>>0]=0;s=i+1|0}}else{s=0;n=0}l=(n|0)!=0;c=(s|0)==0;o=(u|0)==(e|0);t=A+60+(e<<2)|0;A:while(1){i=f[t>>2]|0;if(!i){i=0;break}$J(B,f[i+4>>2]|0,63)|0;i=zz(B,58)|0;if(!i)i=0;else{r[i>>0]=0;i=i+1|0}do{if(!(oz(B,b)|0)){a=(i|0)!=0;if(l&a?oz(i,n)|0:0)break;if(!c?oz(s,f[(f[(f[t>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(o|a^1){k=16;break A}if(Ol(A,u,i)|0){k=16;break A}}}while(0);t=f[t>>2]|0}do{if((k|0)==16){i=f[t>>2]|0;if(i){n=i+16|0;if((f[n>>2]|0)==0?(jl(0,0)|0,(f[n>>2]|0)==0):0){i=0;break}if((f[A+8>>2]|0)>0){k=f[13918]|0;b=f[i+4>>2]|0;B=f[(f[i+12>>2]|0)+8>>2]|0;f[w>>2]=f[19224+(e<<2)>>2];f[w+4>>2]=b;f[w+8>>2]=B;uP(k,83397,w)|0}}else i=0}}while(0);f[A+80+(e<<2)>>2]=i;v=h;return i|0}function Kl(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;do{if(!i)i=0;else{if(f[4811]|0){Qy(168184,0,0);f[4811]=0}t=dP(i)|0;i=zz(t,58)|0;if(i){r[i>>0]=0;n=A+60+(e<<2)|0;i=1;a=n;while(1){A=f[a>>2]|0;if(!A)break;e=dP(f[A+4>>2]|0)|0;A=zz(e,58)|0;if(A|0)r[A>>0]=0;if(!((r[t>>0]|0)!=0?(Oz(t,e)|0)!=0:0)){i=f[42047]|0;if(i>>>0>=(f[42048]|0)>>>0){yy(168184,1)|0;i=f[42047]|0}f[42047]=i+1;r[i>>0]=32;py(168184,f[(f[a>>2]|0)+4>>2]|0)|0;i=f[42047]|0;if(i>>>0>=(f[42048]|0)>>>0){yy(168184,1)|0;i=f[42047]|0}f[42047]=i+1;r[i>>0]=58;py(168184,f[(f[(f[a>>2]|0)+12>>2]|0)+8>>2]|0)|0;i=0}HW(e);a=f[a>>2]|0}HW(t);if(i<<24>>24){a=0;l=19}}else{HW(t);a=0;n=A+60+(e<<2)|0;i=1;l=19}if((l|0)==19){while(1){A=f[n>>2]|0;if(!A)break;e=dP(f[A+4>>2]|0)|0;A=zz(e,58)|0;if(A|0)r[A>>0]=0;if(!((a|0)!=0?(Oz(a,e)|0)==0:0)){i=f[42047]|0;if(i>>>0>=(f[42048]|0)>>>0){yy(168184,1)|0;i=f[42047]|0}f[42047]=i+1;r[i>>0]=32;py(168184,e)|0;i=0}a=e;n=f[n>>2]|0;l=19}if(i<<24>>24){i=174185;break}}i=f[42047]|0;if(i>>>0>=(f[42048]|0)>>>0){yy(168184,1)|0;i=f[42047]|0}r[i>>0]=0;i=f[42046]|0;f[42047]=i}}while(0);return i|0}function _l(A){A=A|0;var e=0;if(!A)BA(96030,83414,573,83428);if(!(r[A>>0]|0))BA(96035,83414,574,83428);e=f[42050]|0;if(!e)A=0;else A=mL[f[e>>2]&31](e,A,512)|0;return A|0}function ql(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;c=o+8|0;l=o;if(!A)BA(96091,83414,589,83445);a=A+8|0;i=f[a>>2]|0;if(!i)BA(96094,83414,590,83445);if(!(r[i>>0]|0))BA(96103,83414,591,83445);t=A+20|0;n=f[t>>2]|0;do{if(!n){e=rC(i)|0;if(!e){f[l>>2]=f[a>>2];Iy(0,83469,l)|0;e=0;break}l=FP(e,123632)|0;f[t>>2]=l;if(!l){f[c>>2]=sz(f[(KW()|0)>>2]|0)|0;f[c+4>>2]=e;Iy(0,83494,c)|0;e=0;break}e=f[42051]|0;if((e|0)>49){r[A+17>>0]=1;e=1;break}else{f[42051]=e+1;e=1;break}}else{eR(n,0,0)|0;if(!(f[t>>2]|0))BA(83515,83414,614,83445);else e=1}}while(0);v=o;return e|0}function $l(A){A=A|0;var e=0,i=0;if(r[A+17>>0]|0?(e=A+20|0,i=f[e>>2]|0,i|0):0){IP(i)|0;f[e>>2]=0}return}function Ac(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,a=0.0;if(!e){r=-1;i=-1}else{r=f[e+48>>2]|0;n=+(r|0);if(!r){a=+o[i>>3];n=+o[i+8>>3]}else{o[i+8>>3]=n;o[i>>3]=n;a=n}r=~~(+((f[e+40>>2]|0)*72|0)/a);i=~~(+((f[e+44>>2]|0)*72|0)/n)}f[A>>2]=r;f[A+4>>2]=i;return}function ec(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0.0;s=v;v=v+48|0;n=s+16|0;l=s;c=s+32|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){if((0==0?(a=f[42178]|0,(f[42052]|0)!=(a|0)):0)?(f[42052]=a,t=f[42050]|0,t|0):0){ly(t)|0;f[42050]=0}u=+o[(f[(f[e+16>>2]|0)+8>>2]|0)+24>>3];u=!(u>=1.0)?96.0:u;o[l+8>>3]=u;o[l>>3]=u;e=ic(i)|0;f[n>>2]=f[l>>2];f[n+4>>2]=f[l+4>>2];f[n+8>>2]=f[l+8>>2];f[n+12>>2]=f[l+12>>2];Ac(c,e,n);e=f[c>>2]|0;n=f[c+4>>2]|0}else{e=-1;n=-1}f[A>>2]=e;f[A+4>>2]=n;v=s;return}function ic(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+16|0;r=n;if(!A)BA(96030,83414,638,83521);if(!(f[42050]|0))f[42050]=vy(19248,f[4353]|0)|0;e=_l(A)|0;A:do{if(!e){e=Jb(64)|0;if(!e)e=0;else{i=e+8|0;f[i>>2]=GV(0,A)|0;if(!((ql(e)|0)<<24>>24)){rc(e);e=0;break}if(!(f[e+20>>2]|0))BA(83515,83414,653,83521);do{switch(nc(e)|0){case 0:{A=eG(f[i>>2]|0)|0;f[e+52>>2]=A;if(!A){f[r>>2]=f[i>>2];Iy(0,83538,r)|0;rc(e);e=0;break A}break}case 2:{fc(e);break}case 3:{ac(e);break}case 1:{tc(e);break}case 4:{lc(e);break}case 6:{cc(e);break}case 11:{oc(e);break}case 8:{sc(e);break}case 5:{uc(e);break}case 12:{bc(e);break}default:{}}}while(0);$l(e);r=f[42050]|0;mL[f[r>>2]&31](r,e,1)|0}}else $l(e)}while(0);v=n;return e|0}function rc(A){A=A|0;var e=0;e=f[A+8>>2]|0;if(e|0)CV(0,e)|0;HW(A);return}function nc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+224|0;n=c+200|0;a=c;t=A+20|0;e=f[t>>2]|0;A:do{if((e|0)!=0?(cH(n,1,20,e)|0)==20:0){i=0;while(1){if(i>>>0>=10){l=13;break A}if(!(xJ(n,f[19284+(i<<4)>>2]|0,f[19284+(i<<4)+4>>2]|0)|0))break;i=i+1|0}r=A+28|0;f[r>>2]=f[19284+(i<<4)+12>>2];e=f[19284+(i<<4)+8>>2]|0;A=A+24|0;f[A>>2]=e;switch(i|0){case 7:break;case 8:{if(xJ(n+8|0,83754,4)|0)break A;f[r>>2]=83759;f[A>>2]=11;e=11;break A}default:break A}while(1){if(!(SJ(a,200,f[t>>2]|0)|0)){l=11;break}if(!(xJ(a,83749,4)|0)){l=8;break}}if((l|0)==8){f[r>>2]=86879;f[A>>2]=8;e=8;break}else if((l|0)==11){e=f[A>>2]|0;break}}else l=13}while(0);if((l|0)==13){f[A+28>>2]=83764;f[A+24>>2]=0;e=0}v=c;return e|0}function fc(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+16|0;e=n+4|0;i=n;f[A+48>>2]=0;r=A+20|0;eR(f[r>>2]|0,6,0)|0;if((Zc(f[r>>2]|0,2,e)|0)<<24>>24?(Zc(f[r>>2]|0,2,i)|0)<<24>>24:0){f[A+40>>2]=f[e>>2];f[A+44>>2]=f[i>>2]}v=n;return}function ac(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+16|0;e=n+4|0;i=n;f[A+48>>2]=0;r=A+20|0;eR(f[r>>2]|0,16,0)|0;if((vc(f[r>>2]|0,4,e)|0)<<24>>24?(vc(f[r>>2]|0,4,i)|0)<<24>>24:0){f[A+40>>2]=f[e>>2];f[A+44>>2]=f[i>>2]}v=n;return}function tc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=v;v=v+16|0;e=t+12|0;i=t+8|0;r=t+4|0;n=t;f[A+48>>2]=0;a=A+20|0;eR(f[a>>2]|0,16,0)|0;if((((Zc(f[a>>2]|0,2,e)|0)<<24>>24?(Zc(f[a>>2]|0,2,i)|0)<<24>>24:0)?(Zc(f[a>>2]|0,2,r)|0)<<24>>24:0)?(Zc(f[a>>2]|0,2,n)|0)<<24>>24:0){f[A+40>>2]=f[e>>2]<<16|f[i>>2];f[A+44>>2]=f[r>>2]<<16|f[n>>2]}v=t;return}function lc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+32|0;e=s+16|0;r=s+12|0;n=s+8|0;t=s+4|0;l=s;f[A+48>>2]=0;c=A+20|0;while(1){if(!((vc(f[c>>2]|0,1,e)|0)<<24>>24))break;i=f[e>>2]|0;if((i|0)==255)continue;if(zz(83737,i)|0)continue;if((i|0)==192){o=6;break}a=f[c>>2]|0;if((i|0)==194){o=11;break}if(!((vc(a,2,r)|0)<<24>>24))break;eR(f[c>>2]|0,(f[r>>2]|0)+-2|0,1)|0}if((o|0)==6){if(((vc(f[c>>2]|0,3,l)|0)<<24>>24?(vc(f[c>>2]|0,2,n)|0)<<24>>24:0)?(vc(f[c>>2]|0,2,t)|0)<<24>>24:0){f[A+44>>2]=f[n>>2];f[A+40>>2]=f[t>>2]}}else if((((o|0)==11?(vc(a,3,l)|0)<<24>>24:0)?(vc(f[c>>2]|0,2,n)|0)<<24>>24:0)?(vc(f[c>>2]|0,2,t)|0)<<24>>24:0){f[A+44>>2]=f[n>>2];f[A+40>>2]=f[t>>2]}v=s;return}function cc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+1056|0;c=s;e=s+32|0;r=s+28|0;n=s+24|0;a=s+20|0;t=s+16|0;f[A+48>>2]=72;l=A+20|0;eR(f[l>>2]|0,0,0)|0;while(1){if(!(SJ(e,1024,f[l>>2]|0)|0))break;i=jJ(e,83722)|0;if(!i)continue;f[c>>2]=r;f[c+4>>2]=n;f[c+8>>2]=a;f[c+12>>2]=t;if((XP(i,89345,c)|0)==4){o=5;break}}if((o|0)==5){c=f[r>>2]|0;f[A+32>>2]=c;o=f[n>>2]|0;f[A+36>>2]=o;f[A+40>>2]=(f[a>>2]|0)-c;f[A+44>>2]=(f[t>>2]|0)-o}v=s;return}function oc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;a=v;v=v+16|0;e=a+4|0;i=a;f[A+48>>2]=0;r=A+20|0;eR(f[r>>2]|0,15,0)|0;t=(vH(f[r>>2]|0)|0)==88;n=f[r>>2]|0;if(t){eR(n,24,0)|0;if((Zc(f[r>>2]|0,4,e)|0)<<24>>24?(Zc(f[r>>2]|0,4,i)|0)<<24>>24:0){f[A+40>>2]=f[e>>2];f[A+44>>2]=f[i>>2]}}else{eR(n,26,0)|0;if((Zc(f[r>>2]|0,2,e)|0)<<24>>24?(Zc(f[r>>2]|0,2,i)|0)<<24>>24:0){f[A+40>>2]=f[e>>2];f[A+44>>2]=f[i>>2]}}v=a;return}function sc(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0;p=v;v=v+352|0;Q=p+80|0;E=p+72|0;Y=p+64|0;y=p+56|0;M=p+48|0;e=p+40|0;h=p+32|0;d=p+24|0;g=p+16|0;m=p+8|0;Z=p;G=p+328|0;I=p+128|0;C=p+96|0;if(!(f[42053]|0)){if(wR(168216,83607,1)|0){f[e>>2]=83607;Iy(1,83634,e)|0}f[42053]=168216}s=A+20|0;eR(f[s>>2]|0,0,0)|0;u=C+12|0;b=C+20|0;B=C+8|0;k=C+16|0;w=C+4|0;e=0;a=0;n=0;i=0;A:while(1){if(!(SJ(I,200,f[s>>2]|0)|0))break;if(a<<24>>24==0|e<<24>>24==0){t=I;c=i}else break;e:while(1){l=n;i:while(1){while(1){if(rH(168216,t,4,C,0)|0){n=l;i=c;continue A}r[t+(f[u>>2]|0)>>0]=0;r[t+(f[b>>2]|0)>>0]=0;i=t+(f[B>>2]|0)|0;n=t+(f[k>>2]|0)|0;t=t+((f[w>>2]|0)+1)|0;if(!(oz(i,96043)|0))break;if(!(oz(i,96049)|0))break i;if(oz(i,83681)|0)continue;f[Q>>2]=d;f[Q+4>>2]=g;f[Q+8>>2]=m;f[Q+12>>2]=Z;if((XP(n,83689,Q)|0)==4)break e}f[M>>2]=h;f[M+4>>2]=G;if((XP(n,83671,M)|0)!=2){f[y>>2]=h;if((XP(n,86246,y)|0)==1){i=1;n=mc(+o[h>>3],83678)|0}else{i=a;n=l}}else{i=1;n=mc(+o[h>>3],G)|0}if(!(e<<24>>24)){e=0;a=i;l=n}else{a=i;i=c;continue A}}f[Y>>2]=h;f[Y+4>>2]=G;if((XP(n,83671,Y)|0)!=2){f[E>>2]=h;if((XP(n,86246,E)|0)==1){e=1;i=mc(+o[h>>3],83678)|0}else i=c}else{e=1;i=mc(+o[h>>3],G)|0}if(!(a<<24>>24)){a=0;n=l;c=i}else{n=l;continue A}}e=1;a=1;n=~~(+o[m>>3]+1.0-+o[d>>3])>>>0;i=~~(+o[Z>>3]+1.0-+o[g>>3])>>>0}f[A+48>>2]=0;f[A+40>>2]=n;f[A+44>>2]=i;v=p;return}function uc(A){A=A|0;var e=0,i=0,r=0,n=0.0,a=0.0;i=v;v=v+32|0;e=i;f[A+48>>2]=0;r=A+20|0;eR(f[r>>2]|0,0,0)|0;if(!(Bc(f[r>>2]|0,e)|0)){a=+o[e>>3];f[A+32>>2]=~~a;n=+o[e+8>>3];f[A+36>>2]=~~n;f[A+40>>2]=~~(+o[e+16>>3]-a);f[A+44>>2]=~~(+o[e+24>>3]-n)}v=i;return}function bc(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+16|0;e=n+4|0;i=n;f[A+48>>2]=0;r=A+20|0;eR(f[r>>2]|0,6,0)|0;if((vc(f[r>>2]|0,1,e)|0)<<24>>24?(vc(f[r>>2]|0,1,i)|0)<<24>>24:0){f[A+40>>2]=f[e>>2];f[A+44>>2]=f[i>>2]}v=n;return}function vc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;f[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}n=vH(A)|0;if(GP(A)|0){r=0;break}f[i>>2]=f[i>>2]<<8|n;r=r+1|0}return r|0}function Bc(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;t=v;v=v+1040|0;i=t;r=t+16|0;while(1){if(!(SJ(r,1024,A)|0)){A=1;break}n=jJ(r,83597)|0;if(n|0){a=4;break}}if((a|0)==4){f[i+4>>2]=r;f[i>>2]=n+9;f[i+8>>2]=A;A=kc(i,e)|0}v=t;return A|0}function kc(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;a=v;v=v+1024|0;n=a;wc(A);i=r[f[A>>2]>>0]|0;if(!(i<<24>>24))i=(hc(A)|0)&255;else i=i<<24>>24;if((((i|0)==91?(f[A>>2]=(f[A>>2]|0)+1,dc(A,n),(gc(n,e)|0)==0):0)?(dc(A,n),(gc(n,e+8|0)|0)==0):0)?(dc(A,n),(gc(n,e+16|0)|0)==0):0){dc(A,n);i=(gc(n,e+24|0)|0)!=0&1}else i=1;v=a;return i|0}function wc(A){A=A|0;var e=0;e=f[A>>2]|0;while(1){e=r[e>>0]|0;if(!(e<<24>>24))e=(hc(A)|0)&255;else e=e<<24>>24;if(!((e&255)<<24>>24))break;if(!(Jz(e&255)|0))break;e=(f[A>>2]|0)+1|0;f[A>>2]=e}return}function hc(A){A=A|0;var e=0;e=A+4|0;if(!(SJ(f[e>>2]|0,1024,f[A+8>>2]|0)|0))A=0;else{e=f[e>>2]|0;f[A>>2]=e;A=r[e>>0]|0}return A|0}function dc(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;wc(A);i=0;n=f[A>>2]|0;while(1){n=r[n>>0]|0;if(!(n<<24>>24))a=(hc(A)|0)&255;else a=n<<24>>24;n=a<<24>>24;if(!n)break;if(!((n|0)==46|(n+-48|0)>>>0<10))break;r[e+i>>0]=a;i=i+1|0;n=(f[A>>2]|0)+1|0;f[A>>2]=n;if((i|0)==1023){i=1023;break}}r[e+i>>0]=0;return}function gc(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0;r=v;v=v+16|0;n=r;i=+aR(A,n);if((f[n>>2]|0)==(A|0))A=1;else{o[e>>3]=i;A=0}v=r;return A|0}function mc(A,e){A=+A;e=e|0;var i=0.0;do{if(!(oz(e,83705)|0)){A=A*72.0;i=A;A=A>=0.0?.5:-.5}else{if(!(oz(e,83708)|0)){A=A*.75;i=A;A=A>=0.0?.5:-.5;break}if(!(oz(e,83711)|0)){A=A*12.0;i=A;A=A>=0.0?.5:-.5;break}if(oz(e,83678)|0?oz(e,83714)|0:0)if(!(oz(e,83716)|0)){A=A*28.346456664;i=A;A=A>=0.0?.5:-.5;break}else{e=(oz(e,83719)|0)==0;i=A*2.8346456663999997;return(e?~~(i+(i>=0.0?.5:-.5)):0)|0}i=A>=0.0?.5:-.5}}while(0);return~~(A+i)|0}function Zc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;f[i>>2]=0;r=0;while(1){if(r>>>0>=e>>>0){r=1;break}n=vH(A)|0;if(GP(A)|0){r=0;break}f[i>>2]=f[i>>2]|n<<(r<<3);r=r+1|0}return r|0}function Gc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=f[e+20>>2]|0;if(A|0)IP(A)|0;if(f[e+52>>2]|0?(r=f[e+60>>2]|0,r|0):0)ML[r&127](e);HW(e);return}function Ic(){var A=0;Ky(0,1,86240,90527)|0;A=Pl(0,1)|0;mw(A,0);return A|0}function Cc(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0.0,u=0.0,b=0.0,B=0.0;c=v;v=v+304|0;l=c+24|0;t=c+8|0;n=c;a=c+40|0;if((dl(A,i)|0)!=999)if((gl(A,e)|0)==-1)A=-1;else{A=f[e+16>>2]|0;i=A+16|0;if(!(r[(f[A+8>>2]|0)+81>>0]|0)){B=+o[i>>3];b=+o[A+24>>3];u=+o[A+32>>3];s=+o[A+40>>3];f[l>>2]=~~(B+(B>=0.0?.5:-.5));f[l+4>>2]=~~(b+(b>=0.0?.5:-.5));f[l+8>>2]=~~(u+(u>=0.0?.5:-.5));f[l+12>>2]=~~(s+(s>=0.0?.5:-.5));iP(a,83918,l)|0}else{s=+o[A+24>>3];u=+o[i>>3];b=+o[A+40>>3];B=+o[A+32>>3];f[t>>2]=~~(s+(s>=0.0?.5:-.5));f[t+4>>2]=~~(u+(u>=0.0?.5:-.5));f[t+8>>2]=~~(b+(b>=0.0?.5:-.5));f[t+12>>2]=~~(B+(B>=0.0?.5:-.5));iP(a,83918,t)|0}cY(e,87705,a,174185)|0;A=0}else{A=Kl(A,1,i)|0;f[n>>2]=i;f[n+4>>2]=A;Iy(1,83869,n)|0;A=-1}v=c;return A|0}function Mc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;a=l;n=f[e+60>>2]|0;Fl(A,i)|0;e=f[A+164>>2]|0;f[e+56>>2]=nk(e,f[e+52>>2]|0)|0;if((cV(n,122277,0,1)|0)!=0?(f[(f[n+16>>2]|0)+8>>2]|0)!=0:0)t=5;else if(!(f[e+152>>2]&67108864)){Ey(83930,a);e=-1}else t=5;if((t|0)==5){f[e+36>>2]=r;if(!r){t=e+152|0;f[t>>2]=f[t>>2]|134217728}t=Su(A,n)|0;ak(e);Ul(A);e=t}v=l;return e|0}function Ec(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;a=l;n=f[e+60>>2]|0;Fl(A,i)|0;e=f[A+164>>2]|0;f[e+56>>2]=nk(e,f[e+52>>2]|0)|0;if((cV(n,122277,0,1)|0)!=0?(f[(f[n+16>>2]|0)+8>>2]|0)!=0:0)t=5;else if(!(f[e+152>>2]&67108864)){Ey(83930,a);e=-1}else t=5;if((t|0)==5){Ll(A,r);t=Su(A,n)|0;ak(e);Yl(e);Ul(A);e=t}v=l;return e|0}function Qc(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+16|0;t=s+8|0;a=s;e=f[e+60>>2]|0;Fl(A,i)|0;c=f[A+164>>2]|0;f[c+56>>2]=nk(c,f[c+52>>2]|0)|0;if((cV(e,122277,0,1)|0)!=0?(f[(f[e+16>>2]|0)+8>>2]|0)!=0:0)o=5;else if(!(f[c+152>>2]&67108864)){Ey(83930,a);e=-1}else o=5;do{if((o|0)==5){if(r|0?(l=RW(4096)|0,f[r>>2]=l,l|0):0){a=c+40|0;f[a>>2]=l;f[c+44>>2]=4096;i=c+48|0;f[i>>2]=0;e=Su(A,e)|0;ak(c);if(!e){f[r>>2]=f[a>>2];f[n>>2]=f[i>>2]}Ul(A);break}Iy(1,83951,t)|0;e=-1}}while(0);v=s;return e|0}function yc(A,e){A=A|0;e=e|0;dw(A,0,e);return}function Yc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;if(!((A|0)!=0?(Rc(A)|0)!=0:0))A=84007;r=nz(A)|0;if((r|0)>=104){i=Pb(r+25|0)|0;if(!i)i=0;else n=6}else n=6;if((n|0)==6){oJ(i,A)|0;f[e>>2]=r}return i|0}function pc(A,e){A=A|0;e=e|0;Vp(e,A,1)|0;return}function Vc(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f[e>>2]=i;f[e+4>>2]=i+4096;f[e+12>>2]=0;f[e+8>>2]=0;f[A>>2]=e;f[A+4>>2]=e;f[A+8>>2]=i;f[A+12>>2]=r;f[A+16>>2]=n;return}function Nc(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0;Jc(r,e);l=r+12|0;c=r+16|0;e=0;A:while(1){o=Pc(r)|0;if(!o)break;e=e+1|0;n=f[l>>2]|0;if(n|0)EL[n&31](o,i);t=hY(A,o)|0;while(1){if(!t)continue A;a=f[t>>2]&3;n=f[((a|0)==3?t:t+48|0)+40>>2]|0;if((n|0)==(o|0))n=f[((a|0)==2?t:t+-48|0)+40>>2]|0;if(!(gL[f[c>>2]&63](n,-1)|0))Jc(r,n);t=dY(A,t,o)|0}}return e|0}function Wc(A){A=A|0;var e=0;A=f[(f[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=f[A+12>>2]|0;zc(A);A=e}return}function zc(A){A=A|0;HW(f[A>>2]|0);HW(A);return}function Jc(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;c=o+8|0;n=o;a=A+8|0;l=A+4|0;i=f[l>>2]|0;if((f[a>>2]|0)==(f[i+4>>2]|0)){i=f[i+12>>2]|0;do{if(!i){r=Pb(16)|0;if(!r){Iy(1,83988,n)|0;OA(168248,1)}f[r+8>>2]=f[l>>2];f[r+12>>2]=0;i=Pb(4e6)|0;f[r>>2]=i;if(!i){Iy(1,83988,c)|0;OA(168248,1)}else{f[r+4>>2]=i+4e6;f[(f[l>>2]|0)+12>>2]=r;t=r;break}}else t=i}while(0);f[l>>2]=t;f[a>>2]=f[t>>2]}gL[f[A+16>>2]&63](e,1)|0;c=f[a>>2]|0;f[a>>2]=c+4;f[c>>2]=e;v=o;return}function Pc(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;n=A+8|0;e=f[n>>2]|0;i=A+4|0;r=f[i>>2]|0;if((e|0)==(f[r>>2]|0))if((r|0)==(f[A>>2]|0))e=0;else{e=f[r+8>>2]|0;f[i>>2]=e;e=f[e+4>>2]|0;f[n>>2]=e;a=4}else a=4;if((a|0)==4){e=e+-4|0;f[n>>2]=e;e=f[e>>2]|0}return e|0}function Rc(A){A=A|0;var e=0;A:while(1){e=A;A=A+1|0;e=r[e>>0]|0;switch(e<<24>>24){case 95:continue A;case 0:{A=1;break A}default:{}}if(!(Sz(e&255)|0)){A=0;break}}return A|0}function Hc(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=0;n=Ep(A)|0;while(1){if(!n)break;r=bY(e,n)|0;while(1){if(!r)break;if(Vp(A,f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,0)|0){YY(A,r,1)|0;i=i+1|0}r=BY(e,r)|0}n=Qp(A,n)|0}return i|0}function Lc(A){A=A|0;A=tV(A,84012,0)|0;if(!A)BA(84017,84020,529,84029);else return f[A+8>>2]|0;return 0}function Fc(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0;g=v;v=v+4320|0;h=g+24|0;w=g+8|0;k=g;d=g+4184|0;B=g+4160|0;n=g+40|0;if(PY(A)|0){vV(A,0,84038,-12,0);vV(A,1,84050,16,0);b=Yc(i,n,d)|0;o=Dc(A)|0;s=Pb((PY(o)|0)<<2)|0;Vc(B,g+4144|0,g+48|0,23,22);t=Ep(o)|0;u=B+16|0;l=b+(f[n>>2]|0)|0;c=f[13918]|0;i=0;while(1){if(!t)break;if(!(gL[f[u>>2]&63](t,-1)|0)){f[k>>2]=i;iP(l,84952,k)|0;m=nN(o,b,1)|0;Z=nN(A,b,1)|0;cV(Z,84038,12,0)|0;r[(tV(Z,84038,0)|0)+8>>0]=1;n=Nc(o,t,m,B)|0;xc(m,Z);a=Tc(Z)|0;Uc(A,Z);f[s+(i<<2)>>2]=Z;Lp(o,m)|0;if(0){f[w>>2]=i;f[w+4>>2]=n;f[w+8>>2]=a;uP(c,84062,w)|0}i=i+1|0}t=Qp(o,t)|0}if(0){w=PY(A)|0;m=RY(A)|0;Z=Ap(A)|0;f[h>>2]=w;f[h+4>>2]=m;f[h+8>>2]=i;f[h+12>>2]=Z;uP(c,84092,h)|0}JY(o)|0;BV(A,0,84038);BV(A,1,84050);Wc(B);n=Hb(s,i<<2)|0;if((b|0)!=(d|0))HW(b)}else{n=0;i=0}f[e>>2]=i;v=g;return n|0}function Dc(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;r[t>>0]=r[17652]|0;r[t+1>>0]=r[17653]|0;r[t+2>>0]=r[17654]|0;r[t+3>>0]=r[17655]|0;t=VY(84139,t,0)|0;Oc(t,A);e=Ep(A)|0;while(1){if(!e)break;if(!(f[(tV(e,84050,0)|0)+12>>2]|0)){a=Pp(t,Ap(e)|0,1)|0;cV(a,84050,16,1)|0;f[(f[a+16>>2]|0)+12>>2]=e;f[(tV(e,84050,0)|0)+12>>2]=a}e=Qp(A,e)|0}i=Ep(A)|0;while(1){if(!i)break;n=f[(tV(i,84050,0)|0)+12>>2]|0;e=bY(A,i)|0;while(1){if(!e)break;a=f[(tV(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,84050,0)|0)+12>>2]|0;do{if((a|0)!=(n|0))if(a>>>0>n>>>0){MY(t,n,a,0,1)|0;break}else{MY(t,a,n,0,1)|0;break}}while(0);e=BY(A,e)|0}i=Qp(A,i)|0}v=l;return t|0}function Xc(A,e){A=A|0;e=e|0;var i=0;A=(f[A+16>>2]|0)+8|0;i=r[A>>0]|0;if((e|0)>=0)r[A>>0]=e;return i|0}function xc(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=Ep(A)|0;while(1){if(!r)break;n=f[(f[r+16>>2]|0)+12>>2]|0;A:do{if((f[n>>2]&3|0)==1)Vp(e,n,1)|0;else{i=Ep(n)|0;while(1){if(!i)break A;Vp(e,i,1)|0;i=Qp(n,i)|0}}}while(0);r=Qp(A,r)|0}return}function Tc(A){A=A|0;return Hc(A,f[A+60>>2]|0)|0}function Uc(A,e){A=A|0;e=e|0;Sc(A,e,0);return}function Sc(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0,a=0;a=(i|0)==0;A=fN(A)|0;while(1){if(!A)break;if((r[(tV(A,84038,0)|0)+8>>0]|0)==0?(f=jc(A,e,i)|0,f|0):0){if(a)n=(Wz(Ap(A)|0,93039,7)|0)==0;else n=1;Sc(A,f,n&1)}A=aN(A)|0}return}function jc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=0;a=Ep(A)|0;while(1){if(!a)break;n=Pp(e,Ap(a)|0,0)|0;if(n){if(!r)r=nN(e,Ap(A)|0,1)|0;Vp(r,n,1)|0}a=Qp(A,a)|0}if((i|0)!=0&(r|0)==0)r=nN(e,Ap(A)|0,1)|0;if(r|0?(Hc(r,A)|0,oY(A,r)|0,(Wz(Ap(r)|0,93039,7)|0)==0):0)f[(cV(r,84012,12,0)|0)+8>>2]=A;return r|0}function Oc(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;t=v;v=v+16|0;a=t;i=fN(e)|0;r=f[13918]|0;while(1){if(!i)break;A:do{if(!(Wz(Ap(i)|0,93039,7)|0)){n=Pp(A,Ap(i)|0,1)|0;cV(n,84050,16,1)|0;f[(f[n+16>>2]|0)+12>>2]=i;e=Ep(i)|0;while(1){if(!e)break A;if(f[(tV(e,84050,0)|0)+12>>2]|0){o=Ap(e)|0;c=Ap(i)|0;l=Ap(f[(tV(e,84050,0)|0)+12>>2]|0)|0;f[a>>2]=o;f[a+4>>2]=c;f[a+8>>2]=l;uP(r,84142,a)|0}f[(tV(e,84050,0)|0)+12>>2]=n;e=Qp(i,e)|0}}else Oc(A,i)}while(0);i=aN(i)|0}v=t;return}function Kc(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,f=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0.0;b=+o[A>>3];l=~~(b+(b>=0.0?.5:-.5));b=+o[A+8>>3];A=~~(b+(b>=0.0?.5:-.5));b=+o[e>>3];a=~~(b+(b>=0.0?.5:-.5));b=+o[e+8>>3];f=~~(b+(b>=0.0?.5:-.5));s=a-l|0;t=((s|0)>-1?s:0-s|0)<<1;s=s>>31|1;u=f-A|0;c=((u|0)>-1?u:0-u|0)<<1;u=u>>31|1;A:do{if((t|0)>(c|0)){n=0-t|0;r=c-(t>>1)|0;e=l;while(1){Dm(i,e,A);if((e|0)==(a|0))break A;l=(r|0)>-1;r=r+c+(l?n:0)|0;e=e+s|0;A=(l?u:0)+A|0}}else{n=0-c|0;r=l;e=t-(c>>1)|0;while(1){Dm(i,r,A);if((A|0)==(f|0))break A;c=(e|0)>-1;r=(c?s:0)+r|0;e=e+t+(c?n:0)|0;A=A+u|0}}}while(0);return}function _c(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+16|0;o=u;c=u+4|0;do{if((A|0)<1)i=0;else{n=r+16|0;if((f[n>>2]|0)>>>0<4){i=qc(A,e,i,r)|0;break}s=Pb(A<<5)|0;i=0;while(1){if((i|0)==(A|0))break;a=f[e+(i<<2)>>2]|0;wC(a);t=s+(i<<5)|0;a=(f[a+16>>2]|0)+16|0;f[t>>2]=f[a>>2];f[t+4>>2]=f[a+4>>2];f[t+8>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];f[t+16>>2]=f[a+16>>2];f[t+20>>2]=f[a+20>>2];f[t+24>>2]=f[a+24>>2];f[t+28>>2]=f[a+28>>2];i=i+1|0}if((f[n>>2]|0)==4){t=r+28|0;A:do{if(f[t>>2]&2|0){n=r+24|0;f[n>>2]=Jb(A<<2)|0;i=0;while(1){if((i|0)==(A|0))break A;a=aY(f[e+(i<<2)>>2]|0,84209)|0;if(a|0?(f[o>>2]=c,a=(XP(a,122187,o)|0)>0,l=f[c>>2]|0,a&(l|0)>-1):0)f[(f[n>>2]|0)+(i<<2)>>2]=l;i=i+1|0}}}while(0);i=$c(A,s,r)|0;if(f[t>>2]&2)HW(f[r+24>>2]|0)}else i=0;HW(s)}}while(0);v=u;return i|0}function qc(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0.0,W=0.0,z=0.0,J=0.0;V=v;v=v+144|0;E=V+136|0;M=V+64|0;p=V+48|0;m=V+40|0;g=V;d=V+120|0;G=V+104|0;Q=V+96|0;y=f[n+20>>2]|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;A:do{if((A|0)>=1){b=(y|0)==0;Y=f[13918]|0;B=d+4|0;k=d+8|0;w=d+12|0;I=G+4|0;Z=G+8|0;C=G+12|0;u=0;a=0;while(1){if((u|0)==(A|0))break;h=f[e+(u<<2)>>2]|0;wC(h);if(!b?(r[y+u>>0]|0)!=0:0){s=f[h+16>>2]|0;N=+o[s+16>>3];t=~~(N+(N>=0.0?.5:-.5));f[d>>2]=t;N=+o[s+24>>3];l=~~(N+(N>=0.0?.5:-.5));f[B>>2]=l;N=+o[s+32>>3];c=~~(N+(N>=0.0?.5:-.5));f[k>>2]=c;N=+o[s+40>>3];s=~~(N+(N>=0.0?.5:-.5));f[w>>2]=s;if(!a){f[G>>2]=f[d>>2];f[G+4>>2]=f[d+4>>2];f[G+8>>2]=f[d+8>>2];f[G+12>>2]=f[d+12>>2]}else{f[G>>2]=f[((f[G>>2]|0)>(t|0)?d:G)>>2];f[I>>2]=f[((f[I>>2]|0)>(l|0)?d:G)+4>>2];f[Z>>2]=f[((f[Z>>2]|0)<(c|0)?d:G)+8>>2];f[C>>2]=f[((f[C>>2]|0)<(s|0)?d:G)+12>>2]}a=a+1|0}if(0>2){s=Ap(h)|0;h=f[h+16>>2]|0;J=+o[h+16>>3];z=+o[h+24>>3];W=+o[h+32>>3];N=+o[h+40>>3];f[g>>2]=s;o[g+8>>3]=J;o[g+16>>3]=z;o[g+24>>3]=W;o[g+32>>3]=N;uP(Y,84276,g)|0}u=u+1|0}k=Pb(A<<5)|0;a=0;while(1){if((a|0)==(A|0))break;g=k+(a<<5)|0;d=(f[(f[e+(a<<2)>>2]|0)+16>>2]|0)+16|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];f[g+16>>2]=f[d+16>>2];f[g+20>>2]=f[d+20>>2];f[g+24>>2]=f[d+24>>2];f[g+28>>2]=f[d+28>>2];a=a+1|0}b=n+8|0;B=io(A,k,f[b>>2]|0)|0;if(0){f[m>>2]=B;uP(Y,84304,m)|0}if((B|0)>=1){u=(y|0)!=0;if(u){t=((f[Z>>2]|0)+(f[G>>2]|0)|0)/2|0;a=((f[C>>2]|0)+(f[I>>2]|0)|0)/2|0}else{t=0;a=0}f[Q+4>>2]=a;f[Q>>2]=t;s=Jb(A<<4)|0;c=n+16|0;a=0;while(1){if((a|0)>=(A|0))break;t=f[e+(a<<2)>>2]|0;l=s+(a<<4)|0;f[s+(a<<4)+12>>2]=a;if((f[c>>2]|0)==3){G=(f[t+16>>2]|0)+16|0;I=f[b>>2]|0;C=Ap(t)|0;f[M>>2]=f[G>>2];f[M+4>>2]=f[G+4>>2];f[M+8>>2]=f[G+8>>2];f[M+12>>2]=f[G+12>>2];f[M+16>>2]=f[G+16>>2];f[M+20>>2]=f[G+20>>2];f[M+24>>2]=f[G+24>>2];f[M+28>>2]=f[G+28>>2];f[E>>2]=f[Q>>2];f[E+4>>2]=f[Q+4>>2];ro(M,l,B,I,E,C)}else{f[E>>2]=f[Q>>2];f[E+4>>2]=f[Q+4>>2];no(i,t,l,B,n,E)}a=a+1|0}l=Jb(A<<2)|0;a=0;while(1){if((a|0)>=(A|0))break;f[l+(a<<2)>>2]=s+(a<<4);a=a+1|0}nP(l,A,4,23);c=Jm()|0;a=Jb(A<<3)|0;e:do{if(u){t=0;while(1){if((t|0)>=(A|0)){t=0;break}if(r[y+t>>0]|0){i=f[l+(t<<2)>>2]|0;n=a+(f[i+12>>2]<<3)|0;f[E>>2]=f[Q>>2];f[E+4>>2]=f[Q+4>>2];ao(i,c,n,E)}t=t+1|0}while(1){if((t|0)>=(A|0))break e;if(!(r[y+t>>0]|0)){Q=f[l+(t<<2)>>2]|0;to(t,Q,c,a+(f[Q+12>>2]<<3)|0,B,f[b>>2]|0,k)}t=t+1|0}}else{t=0;while(1){if((t|0)>=(A|0))break e;y=f[l+(t<<2)>>2]|0;to(t,y,c,a+(f[y+12>>2]<<3)|0,B,f[b>>2]|0,k);t=t+1|0}}}while(0);HW(l);t=0;while(1){if((t|0)>=(A|0))break;HW(f[s+(t<<4)+4>>2]|0);t=t+1|0}HW(s);Hm(c);HW(k);if(0>1){t=0;while(1){if((t|0)>=(A|0))break A;Q=f[a+(t<<3)>>2]|0;y=f[a+(t<<3)+4>>2]|0;f[p>>2]=t;f[p+4>>2]=Q;f[p+8>>2]=y;uP(Y,84320,p)|0;t=t+1|0}}}else a=0}else a=0}while(0);v=V;return a|0}function $c(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0.0,l=0,c=0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0;C=v;v=v+16|0;a=C;G=Jb(A<<3)|0;n=f[i+4>>2]|0;I=i+28|0;r=(n|0)>0;do{if(!(f[I>>2]&1))if(r){c=1;Z=(A+-1+n|0)/(n|0)|0;break}else{n=~~+D(+ +p(+ +(A|0)));c=1;Z=(A+-1+n|0)/(n|0)|0;break}else if(r){c=0;Z=n;n=(A+-1+n|0)/(n|0)|0;break}else{n=~~+D(+ +p(+ +(A|0)));c=0;Z=n;n=(A+-1+n|0)/(n|0)|0;break}}while(0);if(0){m=f[13918]|0;f[a>>2]=c|0?84215:84225;f[a+4>>2]=Z;f[a+8>>2]=n;uP(m,84238,a)|0}d=Jb((n<<3)+8|0)|0;g=Jb((Z<<3)+8|0)|0;m=Jb(A*24|0)|0;l=i+8|0;r=0;a=m;while(1){if((r|0)>=(A|0))break;B=+o[e+(r<<5)+8>>3];b=+o[e+(r<<5)+24>>3];k=+((f[l>>2]|0)>>>0);o[a>>3]=+o[e+(r<<5)+16>>3]-+o[e+(r<<5)>>3]+k;o[a+8>>3]=b-B+k;f[a+16>>2]=r;r=r+1|0;a=a+24|0}h=Jb(A<<2)|0;r=0;while(1){if((r|0)>=(A|0))break;f[h+(r<<2)>>2]=m+(r*24|0);r=r+1|0}r=f[i+24>>2]|0;if(!r){if(!(f[I>>2]&64))nP(h,A,4,25)}else{f[42101]=r;nP(h,A,4,24)}w=(c|0)==0;r=0;a=0;l=0;while(1){if((l|0)>=(A|0)){t=0.0;r=0;break}c=f[h+(l<<2)>>2]|0;i=d+(a<<3)|0;k=+o[i>>3];B=+o[c>>3];o[i>>3]=k>B?k:B;i=g+(r<<3)|0;B=+o[i>>3];k=+o[c+8>>3];o[i>>3]=B>k?B:k;if(w){r=r+1|0;i=(r|0)==(Z|0);r=i?0:r;a=a+(i&1)|0}else{a=a+1|0;i=(a|0)==(n|0);r=r+(i&1)|0;a=i?0:a}l=l+1|0}while(1){if((r|0)>(n|0)){t=0.0;r=Z;break}i=d+(r<<3)|0;k=+o[i>>3];o[i>>3]=t;t=k+t;r=r+1|0}while(1){if((r|0)<=0)break;i=r+-1|0;k=+o[g+(i<<3)>>3];o[g+(r<<3)>>3]=t;t=k+t;r=i}o[g>>3]=t;r=0;a=0;i=0;while(1){if((i|0)>=(A|0))break;c=f[(f[h+(i<<2)>>2]|0)+16>>2]|0;t=+o[e+(c<<5)>>3];s=-t;B=+o[e+(c<<5)+8>>3];k=-B;u=+o[e+(c<<5)+16>>3];b=+o[e+(c<<5)+24>>3];l=f[I>>2]|0;do{if(!(l&4))if(!(l&8)){t=(s-u+ +o[d+(a<<3)>>3]+ +o[d+(a+1<<3)>>3])*.5;break}else{t=t-u+ +o[d+(a+1<<3)>>3];break}else t=+o[d+(a<<3)>>3]}while(0);f[G+(c<<3)>>2]=~~t;do{if(!(l&16))if(!(l&32)){t=(k-b+ +o[g+(r<<3)>>3]+ +o[g+(r+1<<3)>>3])*.5;break}else{t=+o[g+(r+1<<3)>>3];break}else t=B-b+ +o[g+(r<<3)>>3]}while(0);f[G+(c<<3)+4>>2]=~~t;if(w){r=r+1|0;c=(r|0)==(Z|0);r=c?0:r;a=a+(c&1)|0}else{a=a+1|0;c=(a|0)==(n|0);r=r+(c&1)|0;a=c?0:a}i=i+1|0}HW(m);HW(h);HW(d);HW(g);v=C;return G|0}function Ao(A,e){A=A|0;e=e|0;var i=0;i=f[42101]|0;A=f[i+(f[(f[A>>2]|0)+16>>2]<<2)>>2]|0;e=f[i+(f[(f[e>>2]|0)+16>>2]<<2)>>2]|0;return((A|0)>(e|0)?1:((A|0)<(e|0))<<31>>31)|0}function eo(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=f[A>>2]|0;e=f[e>>2]|0;r=+o[A>>3]+ +o[A+8>>3];i=+o[e>>3]+ +o[e+8>>3];return(ri)<<31>>31)|0}function io(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0.0,b=0.0,B=0,k=0,w=0,h=0;h=v;v=v+96|0;k=h+80|0;w=h+48|0;B=h+8|0;s=h;c=(A*100|0)+-1|0;r=+(i<<1|0);u=0.0;b=0.0;i=0;while(1){if((i|0)>=(A|0))break;l=+o[e+(i<<5)+16>>3]-+o[e+(i<<5)>>3]+r;t=+o[e+(i<<5)+24>>3]-+o[e+(i<<5)+8>>3]+r;u=u-l-t;b=b-t*l;i=i+1|0}t=+(c|0);l=u*u-t*4.0*b;if(!(l<0.0)){r=+p(+l);a=t*2.0;n=(r-u)/a;a=(-u-r)/a;i=~~n;i=(i|0)==0?1:i;if(0>2){s=f[13918]|0;JP(84463,27,1,s)|0;o[B>>3]=t;o[B+8>>3]=u;o[B+16>>3]=b;o[B+24>>3]=l;o[B+32>>3]=r;uP(s,84491,B)|0;f[w>>2]=i;o[w+8>>3]=n;f[w+16>>2]=~~a;o[w+24>>3]=a;uP(s,84517,w)|0;o[k>>3]=(n*t+u)*n+b;o[k+8>>3]=(a*t+u)*a+b;uP(s,84539,k)|0}}else{o[s>>3]=l;Iy(1,84436,s)|0;i=-1}v=h;return i|0}function ro(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0.0,Z=0.0;g=v;v=v+32|0;d=g+16|0;h=g;B=+o[A>>3];k=+o[A+8>>3];u=+o[A+16>>3];b=+o[A+24>>3];w=Jm()|0;l=f[n>>2]|0;A=l-r|0;c=f[n+4>>2]|0;t=c-r|0;l=r-~~(B+(B>=0.0?.5:-.5))+l+~~(u+(u>=0.0?.5:-.5))|0;c=r-~~(k+(k>=0.0?.5:-.5))+c+~~(b+(b>=0.0?.5:-.5))|0;if((A|0)>-1)n=(A|0)/(i|0)|0;else n=((A+1|0)/(i|0)|0)+-1|0;if((t|0)>-1)s=(t|0)/(i|0)|0;else s=((t+1|0)/(i|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(i|0)|0;else l=((l+1|0)/(i|0)|0)+-1|0;if((c|0)>-1)t=(c|0)/(i|0)|0;else t=((c+1|0)/(i|0)|0)+-1|0;while(1){if((n|0)>(l|0))break;else A=s;while(1){if((A|0)>(t|0))break;Dm(w,n,A);A=A+1|0}n=n+1|0}c=e+4|0;f[c>>2]=Um(w)|0;l=Tm(w)|0;s=e+8|0;f[s>>2]=l;Z=+(r<<1|0);m=+(i|0);t=~~+D(+((u+Z-B)/m));A=~~+D(+((b+Z-k)/m));f[e>>2]=A+t;A:do{if(0>2){n=f[13918]|0;f[h>>2]=a;f[h+4>>2]=l;f[h+8>>2]=t;f[h+12>>2]=A;uP(n,84395,h)|0;A=0;while(1){if((A|0)>=(f[s>>2]|0))break A;a=f[c>>2]|0;h=f[a+(A<<3)+4>>2]|0;f[d>>2]=f[a+(A<<3)>>2];f[d+4>>2]=h;uP(n,84422,d)|0;A=A+1|0}}}while(0);Hm(w);v=g;return}function no(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0.0,X=0.0;L=v;v=v+128|0;p=L+112|0;Y=L+104|0;H=L+16|0;R=L;N=L+64|0;W=L+56|0;C=L+40|0;M=L+96|0;I=L+88|0;m=L+24|0;Z=L+80|0;G=L+72|0;J=f[n+8>>2]|0;V=f[n+12>>2]|0;Q=(A|0)==0?e:A;P=Jm()|0;z=e+16|0;E=f[z>>2]|0;d=+o[E+16>>3];y=(f[a>>2]|0)-~~(d+(d>=0.0?.5:-.5))|0;d=+o[E+24>>3];E=(f[a+4>>2]|0)-~~(d+(d>=0.0?.5:-.5))|0;A:do{if((f[n+16>>2]|0)==1){m=Pb((PY(e)|0)<<2)|0;A=0;a=Ep(e)|0;while(1){if(!a)break;G=a+16|0;f[m+(A<<2)>>2]=f[(f[G>>2]|0)+112>>2];f[(f[G>>2]|0)+112>>2]=0;A=A+1|0;a=Qp(e,a)|0}b=y-J|0;B=E-J|0;k=y+J|0;w=E+J|0;u=1;while(1){A=f[z>>2]|0;if((u|0)>(f[A+180>>2]|0))break;s=f[(f[A+184>>2]|0)+(u<<2)>>2]|0;t=f[s+16>>2]|0;d=+o[t+16>>3];A=~~(d+(d>=0.0?.5:-.5));d=+o[t+24>>3];a=~~(d+(d>=0.0?.5:-.5));d=+o[t+32>>3];n=~~(d+(d>=0.0?.5:-.5));d=+o[t+40>>3];t=~~(d+(d>=0.0?.5:-.5));e:do{if((n|0)>(A|0)&(t|0)>(a|0)){A=b+A|0;l=B+a|0;n=k+n|0;c=w+t|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)l=(l|0)/(r|0)|0;else l=((l+1|0)/(r|0)|0)+-1|0;if((n|0)>-1)t=(n|0)/(r|0)|0;else t=((n+1|0)/(r|0)|0)+-1|0;if((c|0)>-1)n=(c|0)/(r|0)|0;else n=((c+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(t|0))break;else A=l;while(1){if((A|0)>(n|0))break;Dm(P,a,A);A=A+1|0}a=a+1|0}A=Ep(s)|0;while(1){if(!A)break e;f[(f[A+16>>2]|0)+212>>2]=s;A=Qp(s,A)|0}}}while(0);u=u+1|0}w=C+8|0;h=N+4|0;d=+(J|0);g=W+4|0;k=M+4|0;B=I+4|0;b=Ep(e)|0;while(1){if(!b)break;AC(C,b);X=+o[C>>3];F=+o[w>>3];s=y+~~(X+(X>=0.0?.5:-.5))|0;f[N>>2]=s;u=E+~~(F+(F>=0.0?.5:-.5))|0;f[h>>2]=u;a=b+16|0;A=f[a>>2]|0;e:do{if(!(f[A+212>>2]|0)){f[W>>2]=~~((+o[A+96>>3]+ +o[A+88>>3])*.5+d);f[g>>2]=~~(+o[A+80>>3]*.5+d);f[Y>>2]=f[N>>2];f[Y+4>>2]=f[N+4>>2];f[p>>2]=f[W>>2];f[p+4>>2]=f[W+4>>2];co(M,Y,p);A=f[M>>2]|0;n=f[k>>2]|0;f[Y>>2]=f[N>>2];f[Y+4>>2]=f[N+4>>2];f[p>>2]=f[W>>2];f[p+4>>2]=f[W+4>>2];oo(I,Y,p);t=f[I>>2]|0;l=f[B>>2]|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((n|0)>-1)c=(n|0)/(r|0)|0;else c=((n+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)n=(l|0)/(r|0)|0;else n=((l+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(t|0))break;else A=c;while(1){if((A|0)>(n|0))break;Dm(P,a,A);A=A+1|0}a=a+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;f[N>>2]=A;if((u|0)>-1)A=(u|0)/(r|0)|0;else A=((u+1|0)/(r|0)|0)+-1|0;f[h>>2]=A;A=bY(Q,b)|0;while(1){if(!A)break e;f[p>>2]=f[N>>2];f[p+4>>2]=f[N+4>>2];so(A,p,P,y,E,r,V);A=BY(Q,A)|0}}else{if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;f[N>>2]=A;if((u|0)>-1)A=(u|0)/(r|0)|0;else A=((u+1|0)/(r|0)|0)+-1|0;f[h>>2]=A;A=bY(Q,b)|0;while(1){if(!A)break e;if((f[(f[a>>2]|0)+212>>2]|0)!=(f[(f[(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){f[p>>2]=f[N>>2];f[p+4>>2]=f[N+4>>2];so(A,p,P,y,E,r,V)}A=BY(Q,A)|0}}}while(0);b=Qp(e,b)|0}A=0;a=Ep(e)|0;while(1){if(!a)break;f[(f[a+16>>2]|0)+112>>2]=f[m+(A<<2)>>2];A=A+1|0;a=Qp(e,a)|0}HW(m)}else{w=m+8|0;h=N+4|0;d=+(J|0);g=W+4|0;k=Z+4|0;B=G+4|0;b=Ep(e)|0;while(1){if(!b)break A;AC(m,b);F=+o[m>>3];X=+o[w>>3];s=y+~~(F+(F>=0.0?.5:-.5))|0;f[N>>2]=s;u=E+~~(X+(X>=0.0?.5:-.5))|0;f[h>>2]=u;A=f[b+16>>2]|0;f[W>>2]=~~((+o[A+96>>3]+ +o[A+88>>3])*.5+d);f[g>>2]=~~(+o[A+80>>3]*.5+d);f[Y>>2]=f[N>>2];f[Y+4>>2]=f[N+4>>2];f[p>>2]=f[W>>2];f[p+4>>2]=f[W+4>>2];co(Z,Y,p);A=f[Z>>2]|0;n=f[k>>2]|0;f[Y>>2]=f[N>>2];f[Y+4>>2]=f[N+4>>2];f[p>>2]=f[W>>2];f[p+4>>2]=f[W+4>>2];oo(G,Y,p);t=f[G>>2]|0;l=f[B>>2]|0;if((A|0)>-1)a=(A|0)/(r|0)|0;else a=((A+1|0)/(r|0)|0)+-1|0;if((n|0)>-1)c=(n|0)/(r|0)|0;else c=((n+1|0)/(r|0)|0)+-1|0;if((t|0)>-1)t=(t|0)/(r|0)|0;else t=((t+1|0)/(r|0)|0)+-1|0;if((l|0)>-1)n=(l|0)/(r|0)|0;else n=((l+1|0)/(r|0)|0)+-1|0;while(1){if((a|0)>(t|0))break;else A=c;while(1){if((A|0)>(n|0))break;Dm(P,a,A);A=A+1|0}a=a+1|0}if((s|0)>-1)A=(s|0)/(r|0)|0;else A=((s+1|0)/(r|0)|0)+-1|0;f[N>>2]=A;if((u|0)>-1)A=(u|0)/(r|0)|0;else A=((u+1|0)/(r|0)|0)+-1|0;f[h>>2]=A;A=bY(Q,b)|0;while(1){if(!A)break;f[p>>2]=f[N>>2];f[p+4>>2]=f[N+4>>2];so(A,p,P,y,E,r,V);A=BY(Q,A)|0}b=Qp(e,b)|0}}}while(0);t=i+4|0;f[t>>2]=Um(P)|0;l=i+8|0;f[l>>2]=Tm(P)|0;a=f[z>>2]|0;F=+(J<<1|0);X=+(r|0);A=~~+D(+((+o[a+32>>3]+F-+o[a+16>>3])/X));a=~~+D(+((+o[a+40>>3]+F-+o[a+24>>3])/X));f[i>>2]=a+A;A:do{if(0>2){n=f[13918]|0;i=Ap(e)|0;e=f[l>>2]|0;f[R>>2]=i;f[R+4>>2]=e;f[R+8>>2]=A;f[R+12>>2]=a;uP(n,84395,R)|0;A=0;while(1){if((A|0)>=(f[l>>2]|0))break A;e=f[t>>2]|0;R=f[e+(A<<3)+4>>2]|0;f[H>>2]=f[e+(A<<3)>>2];f[H+4>>2]=R;uP(n,84422,H)|0;A=A+1|0}}}while(0);Hm(P);v=L;return}function fo(A,e){A=A|0;e=e|0;return(f[f[e>>2]>>2]|0)-(f[f[A>>2]>>2]|0)|0}function ao(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0;c=v;v=v+32|0;t=c+16|0;l=c;o=f[A+4>>2]|0;a=f[A+8>>2]|0;f[i>>2]=0-(f[r>>2]|0);n=i+4|0;f[n>>2]=0-(f[r+4>>2]|0);A=0;r=o;while(1){if((A|0)>=(a|0))break;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];Lm(e,t);A=A+1|0;r=r+8|0}if(0>1){o=f[13918]|0;e=f[i>>2]|0;i=f[n>>2]|0;f[l>>2]=a;f[l+4>>2]=e;f[l+8>>2]=i;uP(o,84369,l)|0}v=c;return}function to(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0.0,u=0.0,b=0.0,v=0.0,B=0.0,k=0.0;c=f[e+12>>2]|0;s=+o[t+(c<<5)>>3];u=+o[t+(c<<5)+8>>3];b=+o[t+(c<<5)+16>>3];v=+o[t+(c<<5)+24>>3];if(!((A|0)==0?(k=+(a<<1|0),B=+(n|0),(lo((~~+D(+((k-s+b)/B))|0)/-2|0,(~~+D(+((k-u+v)/B))|0)/-2|0,e,i,r,n,t)|0)!=0):0))l=3;A:do{if((l|0)==3?(lo(0,0,e,i,r,n,t)|0)==0:0)if((~~+D(+(b-s))|0)<(~~+D(+(v-u))|0)){c=1;while(1){l=0-c|0;A=0;while(1){if((A|0)<=(l|0)){a=l;break}if(lo(l,A,e,i,r,n,t)|0)break A;A=A+-1|0}while(1){if((a|0)>=(c|0))break;if(lo(a,A,e,i,r,n,t)|0)break A;a=a+1|0}while(1){if((A|0)>=(c|0))break;if(lo(a,A,e,i,r,n,t)|0)break A;A=A+1|0}while(1){if((a|0)<=(l|0))break;if(lo(a,A,e,i,r,n,t)|0)break A;a=a+-1|0}while(1){if((A|0)<=0)break;if(!(lo(a,A,e,i,r,n,t)|0))A=A+-1|0;else break A}c=c+1|0}}else{c=1;while(1){l=0-c|0;A=0;while(1){if((A|0)>=(c|0)){a=l;break}if(lo(A,l,e,i,r,n,t)|0)break A;A=A+1|0}while(1){if((a|0)>=(c|0))break;if(lo(A,a,e,i,r,n,t)|0)break A;a=a+1|0}while(1){if((A|0)<=(l|0))break;if(lo(A,a,e,i,r,n,t)|0)break A;A=A+-1|0}while(1){if((a|0)<=(l|0))break;if(lo(A,a,e,i,r,n,t)|0)break A;a=a+-1|0}while(1){if((A|0)>=0)break;if(!(lo(A,a,e,i,r,n,t)|0))A=A+1|0;else break A}c=c+1|0}}}while(0);return}function lo(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0.0,G=0.0;d=v;v=v+48|0;w=d+32|0;h=d+8|0;k=d;s=i+4|0;b=f[i+8>>2]|0;B=k+4|0;l=f[s>>2]|0;c=0;while(1){if((c|0)>=(b|0)){u=5;break}m=l;g=f[m+4>>2]|0;f[k>>2]=(f[m>>2]|0)+A;f[B>>2]=g+e;f[w>>2]=f[k>>2];f[w+4>>2]=f[k+4>>2];if(Xm(r,w)|0){l=0;break}l=l+8|0;c=c+1|0}if((u|0)==5){i=f[i+12>>2]|0;G=+o[t+(i<<5)>>3];Z=+o[t+(i<<5)+8>>3];f[n>>2]=(X(a,A)|0)-~~(G+(G>=0.0?.5:-.5));i=n+4|0;f[i>>2]=(X(a,e)|0)-~~(Z+(Z>=0.0?.5:-.5));l=f[s>>2]|0;c=0;while(1){if((c|0)>=(b|0))break;g=l;m=f[g+4>>2]|0;f[k>>2]=(f[g>>2]|0)+A;f[B>>2]=m+e;f[w>>2]=f[k>>2];f[w+4>>2]=f[k+4>>2];Lm(r,w);l=l+8|0;c=c+1|0}if(0>1){l=f[13918]|0;g=f[n>>2]|0;m=f[i>>2]|0;f[h>>2]=b;f[h+4>>2]=A;f[h+8>>2]=e;f[h+12>>2]=g;f[h+16>>2]=m;uP(l,84335,h)|0;l=1}else l=1}v=d;return l|0}function co(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(f[e+4>>2]|0)-(f[i+4>>2]|0)|0;f[A>>2]=(f[e>>2]|0)-(f[i>>2]|0);f[A+4>>2]=r;return}function oo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(f[i+4>>2]|0)+(f[e+4>>2]|0)|0;f[A>>2]=(f[i>>2]|0)+(f[e>>2]|0);f[A+4>>2]=r;return}function so(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0.0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0;M=v;v=v+112|0;G=M+96|0;Z=M+80|0;w=M+48|0;h=M+32|0;I=M+16|0;C=M;u=M+64|0;o[I>>3]=+(f[e>>2]|0);d=I+8|0;o[d>>3]=+(f[e+4>>2]|0);A:do{if((t|0)!=0?(g=A+16|0,s=f[(f[g>>2]|0)+8>>2]|0,(s|0)!=0):0){k=+(r|0);B=+(n|0);b=1.0/+(a|0);u=C+8|0;t=0;while(1){if((t|0)>=(f[s+4>>2]|0))break A;n=f[s>>2]|0;A=f[n+(t*48|0)>>2]|0;e=f[n+(t*48|0)+4>>2]|0;a=f[n+(t*48|0)+8>>2]|0;r=f[n+(t*48|0)+12>>2]|0;s=n+(t*48|0)+16|0;f[w>>2]=f[s>>2];f[w+4>>2]=f[s+4>>2];f[w+8>>2]=f[s+8>>2];f[w+12>>2]=f[s+12>>2];n=n+(t*48|0)+32|0;f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];if(!a){f[I>>2]=f[A>>2];f[I+4>>2]=f[A+4>>2];f[I+8>>2]=f[A+8>>2];f[I+12>>2]=f[A+12>>2];s=A+16|0;f[C>>2]=f[s>>2];f[C+4>>2]=f[s+4>>2];f[C+8>>2]=f[s+8>>2];f[C+12>>2]=f[s+12>>2];s=2}else{f[I>>2]=f[w>>2];f[I+4>>2]=f[w+4>>2];f[I+8>>2]=f[w+8>>2];f[I+12>>2]=f[w+12>>2];f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];f[C+8>>2]=f[A+8>>2];f[C+12>>2]=f[A+12>>2];s=1}l=+o[I>>3]+k;o[I>>3]=l;c=+o[d>>3]+B;o[d>>3]=c;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;o[I>>3]=l;if(!(c>=0.0))l=(c+1.0)*b+-1.0;else l=c*b;o[d>>3]=l;l=+o[C>>3]+k;o[C>>3]=l;c=+o[u>>3]+B;o[u>>3]=c;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;o[C>>3]=l;if(!(c>=0.0))l=(c+1.0)*b+-1.0;else l=c*b;o[u>>3]=l;f[Z>>2]=f[I>>2];f[Z+4>>2]=f[I+4>>2];f[Z+8>>2]=f[I+8>>2];f[Z+12>>2]=f[I+12>>2];f[G>>2]=f[C>>2];f[G+4>>2]=f[C+4>>2];f[G+8>>2]=f[C+8>>2];f[G+12>>2]=f[C+12>>2];Kc(Z,G,i);while(1){if((s|0)>=(e|0))break;f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];a=A+(s<<4)|0;f[C>>2]=f[a>>2];f[C+4>>2]=f[a+4>>2];f[C+8>>2]=f[a+8>>2];f[C+12>>2]=f[a+12>>2];l=+o[C>>3]+k;o[C>>3]=l;c=+o[u>>3]+B;o[u>>3]=c;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;o[C>>3]=l;if(!(c>=0.0))l=(c+1.0)*b+-1.0;else l=c*b;o[u>>3]=l;f[Z>>2]=f[I>>2];f[Z+4>>2]=f[I+4>>2];f[Z+8>>2]=f[I+8>>2];f[Z+12>>2]=f[I+12>>2];f[G>>2]=f[C>>2];f[G+4>>2]=f[C+4>>2];f[G+8>>2]=f[C+8>>2];f[G+12>>2]=f[C+12>>2];Kc(Z,G,i);s=s+1|0}if(r|0){f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];f[C>>2]=f[h>>2];f[C+4>>2]=f[h+4>>2];f[C+8>>2]=f[h+8>>2];f[C+12>>2]=f[h+12>>2];l=+o[C>>3]+k;o[C>>3]=l;c=+o[u>>3]+B;o[u>>3]=c;if(!(l>=0.0))l=(l+1.0)*b+-1.0;else l=l*b;o[C>>3]=l;if(!(c>=0.0))l=(c+1.0)*b+-1.0;else l=c*b;o[u>>3]=l;f[Z>>2]=f[I>>2];f[Z+4>>2]=f[I+4>>2];f[Z+8>>2]=f[I+8>>2];f[Z+12>>2]=f[I+12>>2];f[G>>2]=f[C>>2];f[G+4>>2]=f[C+4>>2];f[G+8>>2]=f[C+8>>2];f[G+12>>2]=f[C+12>>2];Kc(Z,G,i)}t=t+1|0;s=f[(f[g>>2]|0)+8>>2]|0}}else m=4}while(0);if((m|0)==4){AC(u,f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0);f[C>>2]=f[u>>2];f[C+4>>2]=f[u+4>>2];f[C+8>>2]=f[u+8>>2];f[C+12>>2]=f[u+12>>2];l=+o[C>>3]+ +(r|0);o[C>>3]=l;s=C+8|0;c=+o[s>>3]+ +(n|0);o[s>>3]=c;if(!(l>=0.0))l=(l+1.0)/+(a|0)+-1.0;else l=l/+(a|0);o[C>>3]=l;if(!(c>=0.0))l=(c+1.0)/+(a|0)+-1.0;else l=c/+(a|0);o[s>>3]=l;f[Z>>2]=f[I>>2];f[Z+4>>2]=f[I+4>>2];f[Z+8>>2]=f[I+8>>2];f[Z+12>>2]=f[I+12>>2];f[G>>2]=f[C>>2];f[G+4>>2]=f[C+4>>2];f[G+8>>2]=f[C+8>>2];f[G+12>>2]=f[C+12>>2];Kc(Z,G,i)}v=M;return}function uo(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0,v=0.0,B=0.0,k=0,w=0,h=0,d=0;A:do{if((A|0)<1)n=0-A|0;else{h=(r|0)==0;k=(n|0)==0;l=0;while(1){if((l|0)==(A|0)){n=0;break A}w=f[e+(l<<2)>>2]|0;a=h?w:r;c=f[i+(l<<3)>>2]|0;s=f[i+(l<<3)+4>>2]|0;u=+(c|0);b=u*.013888888888888888;v=+(s|0);B=v*.013888888888888888;t=Ep(w)|0;while(1){if(!t)break;n=f[t+16>>2]|0;d=f[n+132>>2]|0;o[d>>3]=+o[d>>3]+b;d=d+8|0;o[d>>3]=+o[d>>3]+B;d=n+16|0;o[d>>3]=+o[d>>3]+u;d=n+24|0;o[d>>3]=+o[d>>3]+v;n=f[n+108>>2]|0;if(n|0){d=n+56|0;o[d>>3]=+o[d>>3]+u;d=n+64|0;o[d>>3]=+o[d>>3]+v}e:do{if(!k){n=bY(a,t)|0;while(1){if(!n)break e;bo(n,c,s);n=BY(a,n)|0}}}while(0);t=Qp(w,t)|0}vo(w,c,s);l=l+1|0}}}while(0);return n|0}function bo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0.0,c=0,s=0.0,u=0,b=0;r=f[A+16>>2]|0;A=f[r+96>>2]|0;if(A|0){u=A+56|0;o[u>>3]=+o[u>>3]+ +(e|0);u=A+64|0;o[u>>3]=+o[u>>3]+ +(i|0)}A=f[r+108>>2]|0;if(A|0){u=A+56|0;o[u>>3]=+o[u>>3]+ +(e|0);u=A+64|0;o[u>>3]=+o[u>>3]+ +(i|0)}A=f[r+100>>2]|0;if(A|0){u=A+56|0;o[u>>3]=+o[u>>3]+ +(e|0);u=A+64|0;o[u>>3]=+o[u>>3]+ +(i|0)}A=f[r+104>>2]|0;if(A|0){u=A+56|0;o[u>>3]=+o[u>>3]+ +(e|0);u=A+64|0;o[u>>3]=+o[u>>3]+ +(i|0)}u=f[r+8>>2]|0;A:do{if(u|0){s=+(e|0);l=+(i|0);e=f[u+4>>2]|0;A=0;while(1){if((A|0)>=(e|0))break A;c=f[u>>2]|0;i=f[c+(A*48|0)>>2]|0;n=f[c+(A*48|0)+4>>2]|0;a=f[c+(A*48|0)+8>>2]|0;t=f[c+(A*48|0)+12>>2]|0;r=0;while(1){if((r|0)>=(n|0))break;b=i+(r<<4)|0;o[b>>3]=+o[b>>3]+s;b=i+(r<<4)+8|0;o[b>>3]=+o[b>>3]+l;r=r+1|0}if(a|0){b=c+(A*48|0)+16|0;o[b>>3]=+o[b>>3]+s;b=c+(A*48|0)+24|0;o[b>>3]=+o[b>>3]+l}if(t|0){b=c+(A*48|0)+32|0;o[b>>3]=+o[b>>3]+s;b=c+(A*48|0)+40|0;o[b>>3]=+o[b>>3]+l}A=A+1|0}}}while(0);return}function vo(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0.0,l=0,c=0.0,s=0.0,u=0,b=0.0,v=0;l=A+16|0;A=f[l>>2]|0;v=A+16|0;u=A+24|0;n=A+32|0;A=A+40|0;a=+(e|0);s=+o[n>>3]+a;t=+(i|0);b=+o[u>>3]+t;c=+o[A>>3]+t;o[v>>3]=+o[v>>3]+a;o[u>>3]=b;o[n>>3]=s;o[A>>3]=c;A=f[l>>2]|0;n=f[A+12>>2]|0;if((n|0)!=0?(r[n+81>>0]|0)!=0:0){v=n+56|0;o[v>>3]=+o[v>>3]+a;n=n+64|0;o[n>>3]=+o[n>>3]+t;n=1}else n=1;while(1){if((n|0)>(f[A+180>>2]|0))break;vo(f[(f[A+184>>2]|0)+(n<<2)>>2]|0,e,i);n=n+1|0;A=f[l>>2]|0}return}function Bo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=_c(A,e,i,r)|0;if(!n)A=1;else{A=uo(A,e,n,i,f[r+12>>2]|0)|0;HW(n)}return A|0}function ko(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0;B=v;v=v+32|0;b=B;u=Bo(A,e,i,r)|0;if(!u){wC(i);s=(f[i+16>>2]|0)+16|0;f[b>>2]=f[s>>2];f[b+4>>2]=f[s+4>>2];f[b+8>>2]=f[s+8>>2];f[b+12>>2]=f[s+12>>2];f[b+16>>2]=f[s+16>>2];f[b+20>>2]=f[s+20>>2];f[b+24>>2]=f[s+24>>2];f[b+28>>2]=f[s+28>>2];n=b+8|0;a=b+16|0;t=b+24|0;r=0;while(1){if((r|0)>=(A|0))break;c=f[(f[e+(r<<2)>>2]|0)+16>>2]|0;l=f[c+180>>2]|0;c=c+184|0;i=1;while(1){if((i|0)>(l|0))break;w=(f[(f[(f[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16|0;o[b>>3]=+o[(+o[b>>3]<+o[w>>3]?b:w)>>3];w=f[(f[(f[c>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;k=w+16|0;o[n>>3]=+o[(+o[n>>3]<+o[w+24>>3]?b:k)+8>>3];o[a>>3]=+o[(+o[a>>3]>+o[w+32>>3]?b:k)+16>>3];o[t>>3]=+o[(+o[t>>3]>+o[w+40>>3]?b:k)+24>>3];i=i+1|0}r=r+1|0}f[s>>2]=f[b>>2];f[s+4>>2]=f[b+4>>2];f[s+8>>2]=f[b+8>>2];f[s+12>>2]=f[b+12>>2];f[s+16>>2]=f[b+16>>2];f[s+20>>2]=f[b+20>>2];f[s+24>>2]=f[b+24>>2];f[s+28>>2]=f[b+28>>2]}v=B;return u|0}function wo(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;a=v;v=v+16|0;n=a;if(!r)BA(84553,84559,1400,84566);i=ho(A,i,i)|0;f[r+8>>2]=i;if(0){t=f[13918]|0;f[n>>2]=i;uP(t,84578,n)|0}f[r+12>>2]=0;f[r+20>>2]=0;go(A,e,r)|0;v=a;return f[r+16>>2]|0}function ho(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;n=l+4|0;a=aY(A,84708)|0;A:do{if(a){f[t>>2]=n;t=(XP(a,122187,t)|0)==1;A=f[n>>2]|0;if(t&(A|0)>-1)e=A;else{switch(r[a>>0]|0){case 84:case 116:break;default:break A}e=i}}}while(0);v=l;return e|0}function go(A,e,i){A=A|0;e=e|0;i=i|0;return mo(aY(A,84591)|0,e,i)|0}function mo(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0.0;g=v;v=v+64|0;w=g+40|0;k=g+32|0;d=g+24|0;h=g+16|0;s=g+8|0;l=g;a=g+48|0;t=g+44|0;if(!i)BA(84553,84559,1292,84600);b=i+28|0;f[b>>2]=0;B=i+16|0;f[B>>2]=e;u=i+4|0;f[u>>2]=0;f[i+24>>2]=0;A:do{if(A|0?(n=r[A>>0]|0,n<<24>>24):0)switch(n<<24>>24|0){case 97:if(!(Wz(A,84618,5)|0)){f[B>>2]=4;s=Zo(A+5|0,i)|0;f[l>>2]=t;s=(XP(s,122187,l)|0)>0;e=f[t>>2]|0;if(!(s&(e|0)>0))break A;f[u>>2]=e;break A}else{if(Wz(A,84624,6)|0)break A;f[B>>2]=5;f[s>>2]=a;s=(XP(A+5|0,84631,s)|0)>0;m=+c[a>>2];c[i>>2]=s&m>0.0?m:1.0;break A}case 99:{if(n<<24>>24!=99)break A;if(oz(A,93039)|0)break A;f[B>>2]=1;break A}case 103:{if(n<<24>>24!=103)break A;if(oz(A,96286)|0)break A;f[B>>2]=3;break A}case 110:{if(n<<24>>24!=110)break A;if(oz(A,96273)|0)break A;f[B>>2]=2;break A}default:break A}}while(0);if(0){e=f[13918]|0;JP(84634,11,1,e)|0;f[h>>2]=Go(f[B>>2]|0)|0;uP(e,84646,h)|0;if((f[B>>2]|0)==5){o[d>>3]=+c[i>>2];uP(e,84659,d)|0}f[k>>2]=f[u>>2];uP(e,84672,k)|0;f[w>>2]=f[b>>2];uP(e,84685,w)|0}v=g;return f[B>>2]|0}function Zo(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;A:do{if((r[A>>0]|0)==95){n=e+28|0;i=1;while(1){A=A+1|0;e:while(1){if(!i)break A;e=r[A>>0]|0;if(!(e<<24>>24))break A;switch(e<<24>>24|0){case 99:{a=10;break e}case 105:{a=9;break e}case 117:{a=11;break e}case 116:{a=12;break e}case 98:{e=32;break e}case 108:{a=7;break e}case 114:{a=8;break e}default:i=0}}if((a|0)==7){a=0;e=4}else if((a|0)==8){a=0;e=8}else if((a|0)==9){a=0;e=64}else if((a|0)==10){a=0;e=1}else if((a|0)==11){a=0;e=2}else if((a|0)==12){a=0;e=16}f[n>>2]=f[n>>2]|e}}}while(0);return A|0}function Go(A){A=A|0;switch(A|0){case 1:{A=93039;break}case 2:{A=96273;break}case 3:{A=96286;break}case 4:{A=84618;break}case 5:{A=84624;break}default:A=84698}return A|0}function Io(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+96|0;o=u;s=u+80|0;do{if(A){if(!r){r=LW(1,20)|0;f[r+4>>2]=i>>>0>80?i:80}i=f[r>>2]|0;c=f[r+4>>2]|0;if(!i){t=100;i=A;l=LW(100,c)|0}else{t=i+100|0;l=FW(f[r+8>>2]|0,X(t,c)|0)|0;WH(l+(X(c,i)|0)|0,0,c*100|0)|0;i=A}while(1){i=Co(o,i,e,s)|0;if(!i)break;A=f[r>>2]|0;n=t<<1;a=X(t,c)|0;if((A|0)==(t|0)){l=FW(l,X(n,c)|0)|0;WH(l+a|0,0,a|0)|0;A=f[r>>2]|0}else n=t;A=l+(X(A,c)|0)|0;a=o;t=A+80|0;do{f[A>>2]=f[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(t|0));f[r>>2]=(f[r>>2]|0)+1;t=n}if(f[s>>2]|0){s=r+16|0;f[s>>2]=f[s>>2]|1}i=f[r>>2]|0;if(!i){HW(l);HW(r);r=0;break}else{f[r+8>>2]=FW(l,X(i,c)|0)|0;break}}}while(0);v=u;return r|0}function Co(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0;c=v;v=v+80|0;t=c+64|0;l=c;f[n>>2]=0;do{a=r[e>>0]|0;e=e+1|0}while((Jz(a)|0)!=0);A:do{switch(a|0){case 69:{f[A>>2]=0;e=Mo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i>>2];break}case 101:{f[A>>2]=1;e=Mo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i>>2];break}case 80:{f[A>>2]=2;e=Eo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+4>>2];break}case 112:{f[A>>2]=3;e=Eo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+4>>2];break}case 98:{f[A>>2]=4;e=Eo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+8>>2];break}case 66:{f[A>>2]=5;e=Eo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+8>>2];break}case 99:{e=Qo(e,t)|0;if(!e){f[n>>2]=1;e=0;break A}a=yo(f[t>>2]|0,l)|0;f[t>>2]=a;if(!a){f[n>>2]=1;e=0;break A}if(!(f[l>>2]|0)){f[A>>2]=9;f[A+8>>2]=f[l+8>>2];if(!i)break A;f[A+72>>2]=f[i+24>>2];break A}else{f[A>>2]=14;n=A+8|0;a=l;t=n+64|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));if(!i)break A;f[A+72>>2]=f[i+40>>2];break A}}case 67:{e=Qo(e,t)|0;if(!e){f[n>>2]=1;e=0;break A}a=yo(f[t>>2]|0,l)|0;f[t>>2]=a;if(!a){f[n>>2]=1;e=0;break A}if(!(f[l>>2]|0)){f[A>>2]=8;f[A+8>>2]=f[l+8>>2];if(!i)break A;f[A+72>>2]=f[i+20>>2];break A}else{f[A>>2]=13;n=A+8|0;a=l;t=n+64|0;do{f[n>>2]=f[a>>2];n=n+4|0;a=a+4|0}while((n|0)<(t|0));if(!i)break A;f[A+72>>2]=f[i+40>>2];break A}}case 76:{f[A>>2]=6;e=Eo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+12>>2];break}case 84:{f[A>>2]=7;e=Yo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=Yo(e,A+16|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=po(e,A+24|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=Yo(e,A+32|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=Qo(e,A+40|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+16>>2];break}case 70:{f[A>>2]=10;e=Yo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=Qo(e,A+16|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+28>>2];break}case 83:{f[A>>2]=11;e=Qo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+32>>2];break}case 73:{f[A>>2]=12;e=Mo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}e=Qo(e,A+40|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+36>>2];break}case 116:{f[A>>2]=15;e=Vo(e,A+8|0)|0;if(!e){f[n>>2]=1;e=0;break A}if(i)f[A+72>>2]=f[i+44>>2];break}case 0:{e=0;break}default:{f[n>>2]=1;e=0}}}while(0);v=c;return e|0}function Mo(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;t=v;v=v+16|0;r=t;o[e>>3]=+aR(A,r);n=f[r>>2]|0;if(((n|0)!=(A|0)?(o[e+8>>3]=+aR(n,r),a=f[r>>2]|0,(n|0)!=(a|0)):0)?(o[e+16>>3]=+aR(a,r),i=f[r>>2]|0,(a|0)!=(i|0)):0){o[e+24>>3]=+aR(i,r);A=f[r>>2]|0;A=(i|0)==(A|0)?0:A}else A=0;v=t;return A|0}function Eo(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;l=c+4|0;a=c;A=No(A,l)|0;do{if(A){i=f[l>>2]|0;t=LW(i,24)|0;f[e>>2]=i;r=t;n=0;while(1){if((n|0)>=(i|0)){i=9;break}o[r>>3]=+aR(A,a);i=f[a>>2]|0;if((A|0)==(i|0)){i=5;break}o[r+8>>3]=+aR(i,a);A=f[a>>2]|0;if((i|0)==(A|0)){i=7;break}o[r+16>>3]=0.0;r=r+24|0;i=f[e>>2]|0;n=n+1|0}if((i|0)==5){f[l>>2]=n;HW(t);A=0;break}else if((i|0)==7){f[l>>2]=n;HW(t);A=0;break}else if((i|0)==9){f[l>>2]=n;f[e+4>>2]=t;break}}else A=0}while(0);v=c;return A|0}function Qo(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;l=c;A=No(A,l)|0;n=f[l>>2]|0;do{if(!((A|0)==0|(n|0)<1)){while(1){t=r[A>>0]|0;i=t<<24>>24==0;if(i^t<<24>>24!=45)A=A+1|0;else break}if(!i){t=LW(n+1|0,1)|0;a=t;i=n;while(1){A=A+1|0;if((i|0)<=0){i=9;break}i=r[A>>0]|0;if(!(i<<24>>24)){i=8;break}r[a>>0]=i;i=(f[l>>2]|0)+-1|0;f[l>>2]=i;a=a+1|0}if((i|0)==8){HW(t);A=0;break}else if((i|0)==9){r[a>>0]=0;f[e>>2]=t;break}}else A=0}else A=0}while(0);v=c;return A|0}function yo(A,e){A=A|0;e=e|0;var i=0;i=r[A>>0]|0;switch(i|0){case 91:{A=Wo(A+1|0,e)|0;break}case 40:{A=zo(A+1|0,e)|0;break}case 47:case 35:{f[e>>2]=0;f[e+8>>2]=A;break}default:if(!(Sz(i)|0))A=0;else{f[e>>2]=0;f[e+8>>2]=A}}return A|0}function Yo(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0;n=v;v=v+16|0;i=n;r=+aR(A,i);i=f[i>>2]|0;if((i|0)==(A|0))i=0;else o[e>>3]=r;v=n;return i|0}function po(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;A=No(A,r)|0;r=f[r>>2]|0;f[e>>2]=(r|0)<0?0:r|0?2:1;v=i;return A|0}function Vo(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[e>>2]=Pz(A,r,10)|0;e=f[r>>2]|0;v=i;return((e|0)==(A|0)?0:e)|0}function No(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[e>>2]=vP(A,r,10)|0;e=f[r>>2]|0;v=i;return((e|0)==(A|0)?0:e)|0}function Wo(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,s=0,u=0,b=0;b=v;v=v+16|0;s=b;f[e>>2]=1;u=e+8|0;a=Yo(A,u)|0;do{if(((((a|0)!=0?(t=Yo(a,e+16|0)|0,(t|0)!=0):0)?(r=Yo(t,e+24|0)|0,(r|0)!=0):0)?(n=Yo(r,e+32|0)|0,(n|0)!=0):0)?(l=e+40|0,i=No(n,l)|0,(i|0)!=0):0){e=f[l>>2]|0;n=LW(e,8)|0;r=0;while(1){if((r|0)>=(e|0)){i=13;break}i=Yo(i,s)|0;if(!i){i=9;break}c[n+(r<<3)>>2]=+o[s>>3];i=Qo(i,n+(r<<3)+4|0)|0;if(!i){i=12;break}r=r+1|0;e=f[l>>2]|0}if((i|0)==9){HW(n);A=0;break}else if((i|0)==12){HW(n);A=0;break}else if((i|0)==13){f[u+36>>2]=n;break}}else A=0}while(0);v=b;return A|0}function zo(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,s=0,u=0,b=0,B=0;B=v;v=v+16|0;u=B;f[e>>2]=2;l=Yo(A,e+8|0)|0;do{if(((((((l|0)!=0?(s=Yo(l,e+16|0)|0,(s|0)!=0):0)?(r=Yo(s,e+24|0)|0,(r|0)!=0):0)?(n=Yo(r,e+32|0)|0,(n|0)!=0):0)?(a=Yo(n,e+40|0)|0,(a|0)!=0):0)?(t=Yo(a,e+48|0)|0,(t|0)!=0):0)?(b=e+56|0,i=No(t,b)|0,(i|0)!=0):0){r=f[b>>2]|0;a=LW(r,8)|0;n=0;while(1){if((n|0)>=(r|0)){i=15;break}i=Yo(i,u)|0;if(!i){i=11;break}c[a+(n<<3)>>2]=+o[u>>3];i=Qo(i,a+(n<<3)+4|0)|0;if(!i){i=14;break}n=n+1|0;r=f[b>>2]|0}if((i|0)==11){HW(a);A=0;break}else if((i|0)==14){HW(a);A=0;break}else if((i|0)==15){f[e+60>>2]=a;break}}else A=0}while(0);v=B;return A|0}function Jo(A,e,i){A=A|0;e=e|0;i=i|0;return Io(A,e,i,0)|0}function Po(A){A=A|0;return Jo(A,0,0)|0}function Ro(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;r=f[A+12>>2]|0;if(A|0){n=f[A+8>>2]|0;a=A+4|0;t=(r|0)==0;e=0;while(1){if((e|0)>=(f[A>>2]|0))break;i=n+(X(f[a>>2]|0,e)|0)|0;if(!t)ML[r&127](i);Ho(i);e=e+1|0}HW(n);HW(A)}return}function Ho(A){A=A|0;switch(f[A>>2]|0){case 3:case 2:{HW(f[A+8+4>>2]|0);break}case 5:case 4:{HW(f[A+8+4>>2]|0);break}case 6:{HW(f[A+8+4>>2]|0);break}case 7:{HW(f[A+40>>2]|0);break}case 9:case 8:{HW(f[A+8>>2]|0);break}case 14:case 13:{Lo(A+8|0);break}case 10:{HW(f[A+16>>2]|0);break}case 11:{HW(f[A+8>>2]|0);break}case 12:{HW(f[A+40>>2]|0);break}default:{}}return}function Lo(A){A=A|0;var e=0,i=0,r=0;switch(f[A>>2]|0){case 1:{r=A+40|0;e=A+8+36|0;A=0;while(1){i=f[e>>2]|0;if((A|0)>=(f[r>>2]|0))break;HW(f[i+(A<<3)+4>>2]|0);A=A+1|0}HW(i);break}case 2:{r=A+56|0;i=A+60|0;A=0;while(1){e=f[i>>2]|0;if((A|0)>=(f[r>>2]|0))break;HW(f[e+(A<<3)+4>>2]|0);A=A+1|0}HW(e);break}default:{}}return}function Fo(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;o=b+4|0;u=b;f[e>>2]=0;f[i>>2]=(FY(Fp(A)|0)|0)!=0&1;n=f[42229]|0;A:do{if(n|0?(t=tY(A,n)|0,l=r[t>>0]|0,l<<24>>24):0){n=19444;while(1){a=f[n>>2]|0;if(!a)break A;if(l<<24>>24==(r[a>>0]|0)?(oz(t,a)|0)==0:0)break;n=n+12|0}f[e>>2]=f[n+4>>2];f[i>>2]=f[n+8>>2]}}while(0);n=f[42240]|0;if((n|0?(f[i>>2]|0)==1:0)?(c=tY(A,n)|0,r[c>>0]|0):0)Do(c,i);n=f[42241]|0;if((n|0?(f[e>>2]|0)==1:0)?(s=tY(A,n)|0,r[s>>0]|0):0)Do(s,e);if(r[(f[A+16>>2]|0)+153>>0]|0){c=A+-48|0;l=Fp(f[((f[A>>2]&3|0)==2?A:c)+40>>2]|0)|0;s=f[A>>2]&3;Fo(MY(l,f[((s|0)==2?A:c)+40>>2]|0,f[((s|0)==3?A:A+48|0)+40>>2]|0,0,0)|0,o,u);f[i>>2]=f[o>>2]|f[i>>2];f[e>>2]=f[u>>2]|f[e>>2]}v=b;return}function Do(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;s=b;o=b+4|0;c=0;i=0;A:while(1){f[e>>2]=i;a=(c|0)<4;t=(c|0)==3;l=(c|0)==0;while(1){if(!(a&(r[A>>0]|0)!=0))break A;f[o>>2]=0;n=Xo(A,o)|0;i=f[o>>2]|0;if(!i){u=5;break A}A=(i|0)==8;if(!(t&A)){if(!(l&A))break;if(r[n>>0]|0)break}f[o>>2]=0;A=n}i=f[e>>2]|i<<(c<<3);c=c+1|0;A=n}if((u|0)==5){f[s>>2]=A;Iy(0,84713,s)|0}v=b;return}function Xo(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=v;v=v+16|0;r=n;f[r>>2]=0;i=xo(A,19504,r)|0;if((i|0)==(A|0)){while(1){i=xo(A,19520,r)|0;if((A|0)==(i|0))break;else A=i}i=xo(A,19568,r)|0}A=f[r>>2]|0;if((A|0)!=0&(A&15|0)==0){A=A|1;f[r>>2]=A}f[e>>2]=f[e>>2]|A;v=n;return i|0}function xo(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;while(1){r=f[e>>2]|0;if(!r)break;n=nz(r)|0;if(!(Wz(A,r,n)|0)){a=4;break}e=e+8|0}if((a|0)==4){f[i>>2]=f[i>>2]|f[e+4>>2];A=A+n|0}return A|0}function To(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,a=0,t=0;a=0;i=0.0;while(1){if((a|0)==4)break;n=e>>(a<<3)&15;r=1336;while(1){if(!(f[r+16>>2]|0))break;if((n|0)==(f[r>>2]|0)){t=6;break}r=r+24|0}if((t|0)==6){t=0;i=+o[r+8>>3]+i}a=a+1|0}return+(i*10.0*+xI(A,f[42233]|0,1.0,0.0))}function Uo(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0.0,l=0.0,c=0.0,s=0,u=0.0,b=0,B=0;B=v;v=v+96|0;s=B+80|0;b=B;c=n>4.0?n*.0875:.35;t=+o[i+8>>3];u=t*c;l=+o[i>>3];c=l*c;r=+o[e>>3];l=r+l;o[s>>3]=l;n=+o[e+8>>3];t=t+n;o[s+8>>3]=t;i=b+64|0;if(!(a&32)){f[i>>2]=f[s>>2];f[i+4>>2]=f[s+4>>2];f[i+8>>2]=f[s+8>>2];f[i+12>>2]=f[s+12>>2];f[b>>2]=f[s>>2];f[b+4>>2]=f[s+4>>2];f[b+8>>2]=f[s+8>>2];f[b+12>>2]=f[s+12>>2];s=b+32|0;f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];f[s+12>>2]=f[e+12>>2];n=t;r=l}else{f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];e=b+32|0;f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[e+12>>2]=f[s+12>>2]}o[b+16>>3]=r+u;o[b+24>>3]=n-c;o[b+48>>3]=r-u;o[b+56>>3]=n+c;do{if(!(a&64))if(!(a&128)){Jk(A,b+16|0,3,a>>>4&1^1);break}else{Jk(A,b+32|0,3,a>>>4&1^1);break}else Jk(A,b,3,a>>>4&1^1)}while(0);v=B;return}function So(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0.0,l=0.0,c=0.0,s=0.0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0.0,d=0.0,g=0.0,m=0.0,Z=0,G=0,I=0;G=v;v=v+160|0;u=G+144|0;Z=G;k=r*4.0;I=(a&32|0)==0;k=!(k1.0)|I?0.0:(n+-1.0)*.05/r;g=+o[i+8>>3];w=-g;m=k*w;d=+o[i>>3];k=d*k;w=h*w;h=d*h;B=+o[e>>3];r=B+d;o[u>>3]=r;b=+o[e+8>>3];n=g+b;o[u+8>>3]=n;d=d*.5+B;g=g*.5+b;i=Z+128|0;if(I){f[i>>2]=f[u>>2];f[i+4>>2]=f[u+4>>2];f[i+8>>2]=f[u+8>>2];f[i+12>>2]=f[u+12>>2];f[Z>>2]=f[u>>2];f[Z+4>>2]=f[u+4>>2];f[Z+8>>2]=f[u+8>>2];f[Z+12>>2]=f[u+12>>2];I=Z+64|0;f[I>>2]=f[e>>2];f[I+4>>2]=f[e+4>>2];f[I+8>>2]=f[e+8>>2];f[I+12>>2]=f[e+12>>2];t=b;l=B;c=b;s=B;n=b;r=B}else{f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];f[Z>>2]=f[e>>2];f[Z+4>>2]=f[e+4>>2];f[Z+8>>2]=f[e+8>>2];f[Z+12>>2]=f[e+12>>2];I=Z+64|0;f[I>>2]=f[u>>2];f[I+4>>2]=f[u+4>>2];f[I+8>>2]=f[u+8>>2];f[I+12>>2]=f[u+12>>2];t=n+h;l=r+w;c=n-h;s=r-w}o[Z+16>>3]=r-m;o[Z+24>>3]=n-k;o[Z+32>>3]=d-w;o[Z+40>>3]=g-h;o[Z+48>>3]=s;o[Z+56>>3]=c;o[Z+80>>3]=l;o[Z+88>>3]=t;o[Z+96>>3]=d+w;o[Z+104>>3]=g+h;o[Z+112>>3]=r+m;o[Z+120>>3]=n+k;do{if(!(a&64))if(!(a&128)){Jk(A,Z,9,1);break}else{Jk(A,Z+48|0,6,1);break}else Jk(A,Z,6,1)}while(0);v=G;return}function jo(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0.0,l=0.0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0.0;k=v;v=v+64|0;B=k;d=+o[i+8>>3];h=+o[i>>3];c=+o[e>>3];r=c+h;s=+o[e+8>>3];n=s+d;t=c+h*.2;l=s+d*.2;c=c+h*.6;s=s+d*.6;o[B>>3]=t-d;o[B+8>>3]=l+h;u=B+16|0;o[u>>3]=t+d;b=B+24|0;o[b>>3]=l-h;o[B+32>>3]=c+d;o[B+40>>3]=s-h;o[B+48>>3]=c-d;o[B+56>>3]=s+h;if(!(a&64)){if(a&128|0){i=2;a=1;w=3}}else{i=3;a=0;w=3}if((w|0)==3){o[B+(a<<4)>>3]=t;o[B+(a<<4)+8>>3]=l;o[B+(i<<4)>>3]=c;o[B+(i<<4)+8>>3]=s}Jk(A,B,4,1);f[B>>2]=f[e>>2];f[B+4>>2]=f[e+4>>2];f[B+8>>2]=f[e+8>>2];f[B+12>>2]=f[e+12>>2];o[u>>3]=r;o[b>>3]=n;Hk(A,B,2);v=k;return}function Oo(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0.0,w=0.0,h=0.0,d=0.0;b=v;v=v+64|0;u=b;l=+o[i+8>>3];w=l*-.4;t=+o[i>>3];k=t*.4;d=+o[e>>3];r=d+t*.8;h=+o[e+8>>3];n=h+l*.8;t=d+t;l=h+l;o[u>>3]=d+w;c=u+8|0;o[c>>3]=h+k;i=u+16|0;o[i>>3]=d-w;s=u+24|0;o[s>>3]=h-k;o[u+32>>3]=r-w;o[u+40>>3]=n-k;o[u+48>>3]=r+w;o[u+56>>3]=n+k;if(!(a&64)){if(a&128|0){f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];i=2;B=5}}else{f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];i=3;B=5}if((B|0)==5){o[u+(i<<4)>>3]=r;o[u+(i<<4)+8>>3]=n}Jk(A,u,4,a>>>4&1^1);o[u>>3]=r;o[c>>3]=n;o[u+16>>3]=t;o[s>>3]=l;Hk(A,u,2);v=b;return}function Ko(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0,l=0,c=0.0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0;l=v;v=v+80|0;t=l;u=+o[i+8>>3];c=u*-.3333333333333333;B=+o[i>>3];n=B*.3333333333333333;k=+o[e>>3];s=k+B*.5;b=+o[e+8>>3];r=b+u*.5;i=t+64|0;o[t+64>>3]=k+B;o[t+72>>3]=b+u;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];f[t+12>>2]=f[i+12>>2];o[t+16>>3]=s+c;o[t+24>>3]=r+n;i=t+32|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o[t+48>>3]=s-c;o[t+56>>3]=r-n;do{if(!(a&64)){i=a>>>4&1^1;if(!(a&128)){Jk(A,t,4,i);break}else{Jk(A,t,3,i);break}}else Jk(A,i,3,a>>>4&1^1)}while(0);v=l;return}function _o(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=+r;n=+n;f=f|0;var a=0,t=0,l=0.0,c=0.0,s=0.0;a=v;v=v+32|0;t=a;c=+o[i>>3];n=+o[i+8>>3];r=+p(+(n*n+c*c))*.5;s=+o[e>>3];c=c*.5;o[t>>3]=s+c-r;l=+o[e+8>>3];n=n*.5;o[t+8>>3]=l-r+n;o[t+16>>3]=s+r+c;o[t+24>>3]=l+r+n;zk(A,t,2,f>>>4&1^1);v=a;return}function qo(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0.0,B=0.0,k=0,w=0,h=0,d=0;d=v;v=v+112|0;k=d+48|0;w=d+16|0;h=d;u=n>4.0?n*.125:.5;B=+o[e>>3];b=+o[i>>3];t=+o[e+8>>3];s=+o[i+8>>3];r=s*u;n=b*u;f[w>>2]=f[e>>2];f[w+4>>2]=f[e+4>>2];f[w+8>>2]=f[e+8>>2];f[w+12>>2]=f[e+12>>2];o[w+16>>3]=b+B;o[w+24>>3]=s+t;o[k>>3]=u*(b-s)+B;l=u*(s+b);c=l+t;o[k+8>>3]=c;o[k+48>>3]=l+B;t=u*(s-b)+t;o[k+56>>3]=t;b=r*-.95;s=b+n+B;u=n*1.3333333333333333;if(!(a&32)){r=r*1.3333333333333333;l=n*-.33333333333333326;t=t-r;n=c-r;r=s-u}else{r=r*1.3333333333333333;l=n*2.333333333333333;t=t+r;n=c+r;r=s+u}o[k+16>>3]=r;o[k+24>>3]=n;o[k+32>>3]=l-b+B;o[k+40>>3]=t;Hk(A,w,2);if(!(a&64)){if(a&128|0)eC(h,k,3,.5,k,0)}else eC(h,k,3,.5,0,k);Rk(A,k,4,0,0,0);v=d;return}function $o(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=+n;a=a|0;var t=0;a=v;v=v+32|0;t=a;r=+o[i>>3]+ +o[e>>3];n=+o[i+8>>3]+ +o[e+8>>3];f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];o[t+16>>3]=r;o[t+24>>3]=n;Hk(A,t,2);v=a;return}function As(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0.0,l=0,c=0,s=0,u=0,b=0.0,B=0.0,k=0,w=0,h=0;u=v;v=v+80|0;l=u+72|0;c=u+8|0;s=u;t=+To(A,a);t=t*t;o[s>>3]=t;f[n+12>>2]=a;a=n+32|0;A=r+3|0;n=e+(A<<4)|0;f[a>>2]=f[n>>2];f[a+4>>2]=f[n+4>>2];f[a+8>>2]=f[n+8>>2];f[a+12>>2]=f[n+12>>2];if((r|0)>(i|0)?(b=+o[e+(r<<4)>>3]-+o[n>>3],B=+o[e+(r<<4)+8>>3]-+o[e+(A<<4)+8>>3],B*B+b*b>2]=f[w>>2];f[h+4>>2]=f[w+4>>2];f[h+8>>2]=f[w+8>>2];f[h+12>>2]=f[w+12>>2];k=c+32|0;A=e+(r+1<<4)|0;f[k>>2]=f[A>>2];f[k+4>>2]=f[A+4>>2];f[k+8>>2]=f[A+8>>2];f[k+12>>2]=f[A+12>>2];n=c+16|0;i=e+(r+2<<4)|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];f[c>>2]=f[a>>2];f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];f[l>>2]=c;f[l+4>>2]=s;TG(l,26,c,1);f[w>>2]=f[h>>2];f[w+4>>2]=f[h+4>>2];f[w+8>>2]=f[h+8>>2];f[w+12>>2]=f[h+12>>2];f[A>>2]=f[k>>2];f[A+4>>2]=f[k+4>>2];f[A+8>>2]=f[k+8>>2];f[A+12>>2]=f[k+12>>2];f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2];s=e+(r+3<<4)|0;f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[s+12>>2]=f[c+12>>2];v=u;return r|0}function es(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0;n=f[A>>2]|0;i=+o[e>>3]-+o[n>>3];r=+o[e+8>>3]-+o[n+8>>3];return r*r+i*i<=+o[f[A+4>>2]>>3]|0}function is(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0.0,c=0,s=0,u=0,b=0,B=0.0,k=0.0,w=0,h=0;b=v;v=v+80|0;c=b+72|0;s=b+8|0;u=b;l=+To(A,a);l=l*l;o[u>>3]=l;f[n+8>>2]=a;n=n+16|0;A=e+(i<<4)|0;f[n>>2]=f[A>>2];f[n+4>>2]=f[A+4>>2];f[n+8>>2]=f[A+8>>2];f[n+12>>2]=f[A+12>>2];if(!((r|0)>(i|0)?(t=i+3|0,B=+o[A>>3]-+o[e+(t<<4)>>3],k=+o[e+(i<<4)+8>>3]-+o[e+(t<<4)+8>>3],k*k+B*B>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];a=s+16|0;i=e+(t+2<<4)|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];w=s+32|0;A=e+(t+1<<4)|0;f[w>>2]=f[A>>2];f[w+4>>2]=f[A+4>>2];f[w+8>>2]=f[A+8>>2];f[w+12>>2]=f[A+12>>2];h=s+48|0;f[h>>2]=f[n>>2];f[h+4>>2]=f[n+4>>2];f[h+8>>2]=f[n+8>>2];f[h+12>>2]=f[n+12>>2];f[c>>2]=h;f[c+4>>2]=u;TG(c,26,s,0);u=e+(t<<4)|0;f[u>>2]=f[h>>2];f[u+4>>2]=f[h+4>>2];f[u+8>>2]=f[h+8>>2];f[u+12>>2]=f[h+12>>2];f[A>>2]=f[w>>2];f[A+4>>2]=f[w+4>>2];f[A+8>>2]=f[w+8>>2];f[A+12>>2]=f[w+12>>2];f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[r>>2]=f[s>>2];f[r+4>>2]=f[s+4>>2];f[r+8>>2]=f[s+8>>2];f[r+12>>2]=f[s+12>>2];v=b;return t|0}function rs(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0.0,s=0,u=0.0,b=0.0,v=0.0,B=0.0,k=0.0,w=0,h=0.0,d=0.0,g=0,m=0,Z=0;g=(a|0)!=0;s=(t|0)!=0;if(!((r|0)==(i|0)&(g&s))){if(s){l=+To(A,t);c=+o[e+(r<<4)>>3];B=+o[e+(r<<4)+8>>3];s=r+3|0;w=e+(s<<4)|0;b=+o[w>>3];s=e+(s<<4)+8|0;v=+o[s>>3];d=c-b;h=B-v;d=+p(+(h*h+d*d))*.9;l=l>=d?d:l;if(B==v){u=(c>3]=c;o[e+(Z<<4)+8>>3]=B;r=e+(r+2<<4)|0;o[w>>3]=u;o[s>>3]=l;f[r>>2]=f[w>>2];f[r+4>>2]=f[w+4>>2];f[r+8>>2]=f[w+8>>2];f[r+12>>2]=f[w+12>>2];f[n+12>>2]=t;o[n+32>>3]=b;o[n+40>>3]=v}if(g){u=+To(A,a);s=e+(i<<4)|0;c=+o[s>>3];l=+o[e+(i<<4)+8>>3];Z=i+3|0;v=+o[e+(Z<<4)>>3];B=+o[e+(Z<<4)+8>>3];d=c-v;h=l-B;d=+p(+(h*h+d*d))*.9;u=u>=d?d:u;if(l==B){b=(c>3]=b;o[e+(Z<<4)+8>>3]=u;f[s>>2]=f[m>>2];f[s+4>>2]=f[m+4>>2];f[s+8>>2]=f[m+8>>2];f[s+12>>2]=f[m+12>>2];m=i+2|0;o[e+(m<<4)>>3]=v;o[e+(m<<4)+8>>3]=B;m=16}}else{w=e+(r<<4)|0;h=+o[w>>3];d=+o[e+(r<<4)+8>>3];s=r+3|0;g=e+(s<<4)|0;c=+o[g>>3];s=e+(s<<4)+8|0;l=+o[s>>3];u=+To(A,a);k=+To(A,t);b=h-c;B=d-l;b=+p(+(B*B+b*b));Z=!(k+u>=b);b=b*.3333333333333333;u=Z?u:b;b=Z?k:b;if(d==l){Z=h>3]=k;o[e+(Z<<4)+8>>3]=v;f[w>>2]=f[m>>2];f[w+4>>2]=f[m+4>>2];f[w+8>>2]=f[m+8>>2];f[w+12>>2]=f[m+12>>2];m=e+(r+2<<4)|0;o[g>>3]=B;o[s>>3]=u;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];f[n+12>>2]=t;o[n+32>>3]=h;o[n+40>>3]=d;m=16}if((m|0)==16){f[n+8>>2]=a;o[n+16>>3]=c;o[n+24>>3]=l}return}function ns(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=+r;n=n|0;var f=0.0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0.0,v=0.0;b=+o[e>>3];c=+o[i>>3]-b;v=+o[e+8>>3];s=+o[i+8>>3]-v;l=r*10.0/(+p(+(c*c+s*s))+.0001);c=l*((c>=0.0?.0001:-.0001)+c);l=((s>=0.0?.0001:-.0001)+s)*l;s=c*.5;u=l*.5;t=b-u;f=v-s;b=u+b;s=v+s;v=t+c;u=f+l;c=b+c;l=s+l;a=v>c?v:c;a=b>a?b:a;r=u>l?u:l;r=s>r?s:r;c=v>3]=t>3]=f>3]=t>a?t:a;o[A+24>>3]=f>r?f:r;return}function fs(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;a=+a;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0.0,d=0.0;k=v;v=v+48|0;s=k+32|0;c=k+16|0;B=k;u=(f[A+16>>2]|0)+12|0;b=f[u>>2]|0;f[u>>2]=e;Wk(A,f[(f[A>>2]|0)+336>>2]|0);Xk(A,a);d=+o[r>>3]-+o[i>>3];e=r+8|0;h=+o[e>>3]-+o[i+8>>3];w=10.0/(+p(+(d*d+h*h))+.0001);o[r>>3]=w*((d>=0.0?.0001:-.0001)+d);o[e>>3]=((h>=0.0?.0001:-.0001)+h)*w;e=0;while(1){if((e|0)>=4)break;l=t>>(e<<3)&255;if(!l)break;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];f[c+12>>2]=f[i+12>>2];f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];as(B,A,c,s,n,a,l);f[i>>2]=f[B>>2];f[i+4>>2]=f[B+4>>2];f[i+8>>2]=f[B+8>>2];f[i+12>>2]=f[B+12>>2];e=e+1|0}f[u>>2]=b;v=k;return}function as(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;a=+a;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0;k=v;v=v+32|0;s=k+16|0;c=k;u=t&15;l=1336;while(1){b=f[l>>2]|0;if(!b)break;if((u|0)==(b|0)){B=4;break}l=l+24|0}if((B|0)==4){w=+o[l+8>>3]*n;o[r>>3]=w*+o[r>>3];b=r+8|0;o[b>>3]=w*+o[b>>3];B=f[l+16>>2]|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];f[c+12>>2]=f[i+12>>2];f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];yL[B&15](e,c,s,n,a,t);o[i>>3]=+o[r>>3]+ +o[i>>3];B=i+8|0;o[B>>3]=+o[b>>3]+ +o[B>>3]}f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];v=k;return}function ts(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;a=l+8|0;n=l;e=aY(A,84815)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;t=5}else{e=aY(A,84827)|0;if((e|0)!=0?(r[e>>0]|0)!=0:0){i=e;t=5}else e=0}if((t|0)==5){e=Jo(i,0,120)|0;if(!e){f[n>>2]=Ap(A)|0;Iy(0,84834,n)|0;f[a>>2]=i;Iy(3,84887,a)|0}}v=l;return e|0}function ls(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;a=v;v=v+16|0;n=Jb(304)|0;if(!n)Iy(1,84895,a)|0;r=A+16|0;A=f[r>>2]|0;f[n>>2]=A;f[r>>2]=n;if(!A){f[n+144>>2]=3;f[n+148>>2]=0;o[n+152>>3]=1.0}else{e=n+16|0;i=A+16|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));e=n+56|0;i=A+56|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0));f[n+144>>2]=f[A+144>>2];f[n+148>>2]=f[A+148>>2];o[n+152>>3]=+o[A+152>>3];f[n+136>>2]=f[A+136>>2];e=n+96|0;i=A+96|0;r=e+40|0;do{f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(r|0))}v=a;return n|0}function cs(A){A=A|0;var e=0;A=A+16|0;e=f[A>>2]|0;if(!e)BA(84921,84925,117,84932);else{HW(f[e+212>>2]|0);HW(f[e+208>>2]|0);HW(f[e+216>>2]|0);HW(f[e+220>>2]|0);HW(f[e+224>>2]|0);HW(f[e+228>>2]|0);HW(f[e+232>>2]|0);HW(f[e+236>>2]|0);HW(f[e+240>>2]|0);HW(f[e+244>>2]|0);HW(f[e+248>>2]|0);HW(f[e+252>>2]|0);HW(f[e+256>>2]|0);HW(f[e+272>>2]|0);HW(f[e+284>>2]|0);HW(f[e+280>>2]|0);f[A>>2]=f[e>>2];HW(e);return}}function os(A,e,i,a,t,l,c){A=A|0;e=e|0;i=i|0;a=a|0;t=t|0;l=l|0;c=c|0;var o=0,s=0;s=f[A+16>>2]|0;o=f[A+152>>2]|0;if((e|0)!=0&(o&32768|0)!=0)f[s+192>>2]=e;if(((o&65536|0)!=0?(f[s+212>>2]=pb(l,c)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){f[s+208>>2]=pb(i,c)|0;A=1}else A=0;do{if(o&4194304){if(a|0?r[a>>0]|0:0){f[s+228>>2]=pb(a,c)|0;A=s+260|0;n[A>>1]=n[A>>1]|1;A=1;break}e=f[s+192>>2]|0;if(e){f[s+228>>2]=dP(e)|0;A=1}}}while(0);if((t|0)!=0&(o&8388608|0)!=0?(r[t>>0]|0)!=0:0){f[s+244>>2]=pb(t,c)|0;A=1}return A|0}function ss(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;c=v;v=v+80|0;l=c;t=c+8|0;a=f[(f[A>>2]|0)+168>>2]|0;n=f[(f[(f[a+16>>2]|0)+8>>2]|0)+92>>2]|0;us(A,i);A=aY(e,86799)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0){py(i,A)|0;n=i+4|0;A=f[n>>2]|0;if(A>>>0>=(f[i+8>>2]|0)>>>0){yy(i,1)|0;A=f[n>>2]|0}r[A>>0]=0;A=f[i>>2]|0;f[n>>2]=A}else{if((a|0)!=(e|0)&(n|0)!=0){py(i,n)|0;n=i+4|0;A=f[n>>2]|0;if(A>>>0>=(f[i+8>>2]|0)>>>0){yy(i,1)|0;A=f[n>>2]|0}f[n>>2]=A+1;r[A>>0]=95}switch(qp(e)|0){case 0:{n=(a|0)==(e|0)?96286:84946;A=(f[e>>2]|0)>>>4;break}case 1:{n=96273;A=(f[e>>2]|0)>>>4;break}case 2:{n=96237;A=(f[e>>2]|0)>>>4;break}default:{n=0;A=0}}py(i,n)|0;f[l>>2]=A;iP(t,84952,l)|0;py(i,t)|0;n=i+4|0;A=f[n>>2]|0;if(A>>>0>=(f[i+8>>2]|0)>>>0){yy(i,1)|0;A=f[n>>2]|0}r[A>>0]=0;A=f[i>>2]|0;f[n>>2]=A}v=c;return A|0}function us(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;l=v;v=v+144|0;t=l;a=l+8|0;i=f[A+160>>2]|0;if((i|0)>1?f[A+152>>2]&64|0:0){py(e,f[(f[(f[A>>2]|0)+308>>2]|0)+(i<<2)>>2]|0)|0;n=e+4|0;i=f[n>>2]|0;if(i>>>0>=(f[e+8>>2]|0)>>>0){yy(e,1)|0;i=f[n>>2]|0}f[n>>2]=i+1;r[i>>0]=95}n=f[A+196>>2]|0;i=f[A+200>>2]|0;if((n|0)>0|(i|0)>0){f[t>>2]=n;f[t+4>>2]=i;iP(a,84956,t)|0;py(e,a)|0}v=l;return}function bs(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0.0,t=0,l=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0.0,h=0;h=v;v=v+48|0;B=h+16|0;n=h+32|0;k=h;w=+o[(f[A+16>>2]|0)+152>>3];b=vs(i,0,n)|0;if((b+-1|0)>>>0>=2){r=+o[e+16>>3];l=(r+ +o[e>>3])*.5;o[k>>3]=l;a=+o[e+24>>3];s=(a+ +o[e+8>>3])*.5;o[k+8>>3]=s;l=r-l;s=a-s;u=w>.5;if(u)Xk(A,.5);t=f[n>>2]|0;a=0.0;n=f[t+8>>2]|0;while(1){i=f[n>>2]|0;if(!i)break;e=n+4|0;if(+c[e>>2]==0.0)r=a;else{Vk(A,i);if(!(f[n+12>>2]|0))r=6.283185307179586;else r=+c[e>>2]*6.283185307179586+a;f[B>>2]=f[k>>2];f[B+4>>2]=f[k+4>>2];f[B+8>>2]=f[k+8>>2];f[B+12>>2]=f[k+12>>2];e=eh(B,l,s,a,r)|0;Rk(A,f[e>>2]|0,f[e+4>>2]|0,0,0,1);JW(e)}a=r;n=n+12|0}if(u)Xk(A,w);Bs(t)}v=h;return b|0}function vs(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0.0,o=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0;w=v;v=v+16|0;b=w+8|0;u=w;k=Jb(12)|0;t=dP(A)|0;A:do{if(!e){e=1;n=t;while(1){switch(r[n>>0]|0){case 0:break A;case 58:{e=e+1|0;break}default:{}}n=n+1|0}}}while(0);f[k+4>>2]=t;B=Jb((e*12|0)+12|0)|0;f[k+8>>2]=B;s=1.0;a=0;e=0;n=t;while(1){n=kP(n,93017)|0;if(!n){n=20;break}l=+ks(n);if(!(l>=0.0)){n=17;break}o=l-s;if(o>0.0)if((f[4920]|0)!=0?!(o<1.0e-05&o>-1.0e-05):0){f[u>>2]=A;Iy(0,84967,u)|0;f[4920]=0;l=s;e=3}else l=s;o=s-l;if(l>0.0)r[B+(a*12|0)+8>>0]=1;if(r[n>>0]|0)f[B+(a*12|0)>>2]=n;n=a+1|0;c[B+(a*12|0)+4>>2]=l;if(o<1.0e-05&o>-1.0e-05){a=n;n=30;break}else{s=o;a=n;n=0}}A:do{if((n|0)==17){if(!(f[4920]|0))e=1;else{f[b>>2]=A;Iy(1,85002,b)|0;f[4920]=0;e=2}Bs(k)}else if((n|0)==20)if(s>0.0){n=0;t=0;while(1){if((n|0)>=(a|0))break;b=t+(+c[B+(n*12|0)+4>>2]==0.0&1)|0;n=n+1|0;t=b}if((t|0)<=0){n=B+((a+-1|0)*12|0)+4|0;c[n>>2]=s+ +c[n>>2];n=30;break}l=s/+(t|0);n=0;while(1){if((n|0)>=(a|0)){n=30;break A}t=B+(n*12|0)+4|0;if(+c[t>>2]==0.0)c[t>>2]=l;n=n+1|0}}else n=30}while(0);if((n|0)==30){while(1){n=a+-1|0;if((a|0)<=0)break;if(+c[B+(n*12|0)+4>>2]>0.0)break;else a=n}f[B+(a*12|0)>>2]=0;f[k>>2]=a;f[i>>2]=k}v=w;return e|0}function Bs(A){A=A|0;HW(f[A+4>>2]|0);HW(f[A+8>>2]|0);HW(A);return}function ks(A){A=A|0;var e=0.0,i=0,n=0,a=0;n=v;v=v+16|0;i=n;A=zz(A,59)|0;if(!A)e=0.0;else{a=A+1|0;r[A>>0]=0;e=+aR(a,i);e=(e>=0.0?(f[i>>2]|0)!=(a|0):0)?e:-1.0}v=n;return+e}function ws(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0,t=0,l=0,s=0.0,u=0.0,b=0,B=0,k=0,w=0,h=0.0,d=0;d=v;v=v+80|0;a=d+64|0;w=d;h=+o[(f[A+16>>2]|0)+152>>3];k=vs(i,0,a)|0;if((k+-1|0)>>>0>=2){if(!r){f[w>>2]=f[e>>2];f[w+4>>2]=f[e+4>>2];f[w+8>>2]=f[e+8>>2];f[w+12>>2]=f[e+12>>2];B=w+16|0;b=e+16|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2];B=w+32|0;b=e+32|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2];B=w+48|0;b=e+48|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2]}else{B=e+32|0;f[w>>2]=f[B>>2];f[w+4>>2]=f[B+4>>2];f[w+8>>2]=f[B+8>>2];f[w+12>>2]=f[B+12>>2];B=w+16|0;b=e+48|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2];B=w+32|0;f[B>>2]=f[e>>2];f[B+4>>2]=f[e+4>>2];f[B+8>>2]=f[e+8>>2];f[B+12>>2]=f[e+12>>2];B=w+48|0;b=e+16|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2]}l=w+16|0;s=+o[l>>3];n=+o[w>>3];u=s-n;b=w+32|0;o[b>>3]=n;o[l>>3]=n;B=h>.5;if(B)Xk(A,.5);a=f[a>>2]|0;t=w+48|0;r=f[a+8>>2]|0;while(1){i=f[r>>2]|0;if(!i)break;e=r+4|0;if(!(+c[e>>2]==0.0)){Vk(A,i);if(!(f[r+12>>2]|0))n=s;else n=u*+c[e>>2]+ +o[w>>3];o[b>>3]=n;o[l>>3]=n;Jk(A,w,4,1);n=+o[l>>3];o[t>>3]=n;o[w>>3]=n}r=r+12|0}if(B)Xk(A,h);Bs(a)}v=d;return k|0}function hs(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;i=f[A+16>>2]|0;r=f[A+152>>2]|0;if(r&4259840|0){n=r&131072;a=n>>>16^2;f[i+264>>2]=a;t=i+268|0;f[t>>2]=a+2;a=i+272|0;HW(f[a>>2]|0);i=Jb(f[t>>2]<<4)|0;f[a>>2]=i;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];a=i+16|0;e=e+16|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];if(!(r&8192))lk(A,i,i,2)|0;if(!n)ub(i)}return}function ds(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,f=0,a=0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0,B=0,k=0;k=v;v=v+144|0;i=k+80|0;n=k+16|0;f=k;c=+o[e>>3];b=A+16|0;s=+o[b>>3];if(!(((((((((!(c>s)?(u=+o[A>>3],!(c>3],t=+o[A+24>>3],!(r>t)):0)?(l=+o[A+8>>3],!(r>3],!(c>s|c>3],!(c>t|c>3],!(c>s|c>3],!(c>t|c>3],!(c>s|c>3],!(u>t|u>3];if(!(r>+o[b>>3])){if(r<+o[A>>3]){i=A;B=16}}else{i=b;B=16}if((B|0)==16){B=0;o[i>>3]=r}r=+o[e+(n<<4)+8>>3];if(!(r>+o[f>>3])){if(r<+o[a>>3]){i=A;B=19}}else{i=b;B=19}if((B|0)==19){B=0;o[i+8>>3]=r}n=n+1|0}}}while(0);v=k;return}function gs(A){A=A|0;var e=0,i=0,r=0,n=0,a=0.0,t=0,l=0;e=v;v=v+48|0;i=e+32|0;r=e+16|0;n=e;l=A+48|0;t=A+16|0;f[n>>2]=f[A>>2];f[n+4>>2]=f[A+4>>2];f[n+8>>2]=f[A+8>>2];f[n+12>>2]=f[A+12>>2];f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];f[r+12>>2]=f[l+12>>2];f[i>>2]=f[t>>2];f[i+4>>2]=f[t+4>>2];f[i+8>>2]=f[t+8>>2];f[i+12>>2]=f[t+12>>2];a=+wb(n,r,i);t=A+32|0;f[n>>2]=f[A>>2];f[n+4>>2]=f[A+4>>2];f[n+8>>2]=f[A+8>>2];f[n+12>>2]=f[A+12>>2];f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];f[r+12>>2]=f[l+12>>2];f[i>>2]=f[t>>2];f[i+4>>2]=f[t+4>>2];f[i+8>>2]=f[t+8>>2];f[i+12>>2]=f[t+12>>2];A=a<4.0&+wb(n,r,i)<4.0&1;v=e;return A|0}function ms(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0.0;s=v;v=v+16|0;c=s;l=f[A+152>>2]|0;u=+o[A+432>>3];t=+o[A+352>>3]*.013888888888888888;n=t*u;o[A+488>>3]=n;a=+o[A+440>>3];t=t*a;o[A+496>>3]=t;o[A+520>>3]=u*.013888888888888888;i=A+528|0;o[i>>3]=a*.013888888888888888;if(l&4096|f[42184]|0)o[i>>3]=a*-.013888888888888888;i=(f[A+360>>2]|0)==0;u=+((f[A+448>>2]|0)>>>0);a=+((f[A+452>>2]|0)>>>0);o[A+368>>3]=(i?u:a)/n;o[A+376>>3]=(i?a:u)/t;Lk(A,TI(e,Ky(e,0,86595,0)|0,174185)|0);f[A+160>>2]=0;Zs(A,e);if(l&2|0)Gs(A,e);i=Ep(e)|0;while(1){if(!i)break;r[(f[i+16>>2]|0)+116>>0]=0;i=Qp(e,i)|0}Is(A,c);while(1){if(!((Cs(A)|0)<<24>>24))break;if((Ms(A)|0)>1)bk(A);Es(A);while(1){if(!((Qs(A)|0)<<24>>24))break;ys(A,e);Ys(A)}if((Ms(A)|0)>1)vk(A);ps(A,c)}Vs(A);v=s;return}function Zs(A,e){A=A|0;e=e|0;var i=0;i=ls(A)|0;f[i+4>>2]=0;f[i+8>>2]=e;f[i+12>>2]=0;pu(A,f[(f[e+16>>2]|0)+12>>2]|0,e);ck(A,e);return}function Gs(A,e){A=A|0;e=e|0;var i=0,n=0,f=0,a=0;Vk(A,119592);i=aY(e,85423)|0;if(i|0?r[i>>0]|0:0)Vk(A,i);i=aY(e,86503)|0;if(i|0?r[i>>0]|0:0)Yk(A,i);Xu(A,e);a=Ep(e)|0;while(1){if(!a)break;i=aY(a,122540)|0;if(i|0?r[i>>0]|0:0)Yk(A,i);i=aY(a,122531)|0;if(i|0?r[i>>0]|0:0)Vk(A,i);i=aY(a,86469)|0;do{if(i|0?r[i>>0]|0:0){if(!(zz(i,58)|0)){Yk(A,i);break}n=dP(i)|0;i=n;while(1){i=kP(i,93017)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}Yk(A,i);i=0}HW(n)}}while(0);i=aY(a,86503)|0;if(i|0?r[i>>0]|0:0)Yk(A,i);f=bY(e,a)|0;while(1){if(!f)break;i=aY(f,122540)|0;do{if(i|0?r[i>>0]|0:0){if(!(zz(i,58)|0)){Yk(A,i);break}n=dP(i)|0;i=n;while(1){i=kP(i,93017)|0;if(!i)break;if(!(r[i>>0]|0)){i=0;continue}Yk(A,i);i=0}HW(n)}}while(0);i=aY(f,86503)|0;if(i|0?r[i>>0]|0:0)Yk(A,i);f=BY(e,f)|0}a=Qp(e,a)|0}return}function Is(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;r=l+8|0;a=l;t=f[A>>2]|0;i=f[t+312>>2]|0;n=A+156|0;f[n>>2]=i;t=f[t+316>>2]|0;if(!t)if((i|0)>1?(f[A+152>>2]&64|0)==0:0){f[r>>2]=f[A+52>>2];Iy(0,85598,r)|0;f[n>>2]=1;r=1;i=0}else{r=1;i=0}else{i=t+4|0;if((f[t>>2]|0)>1?(f[A+152>>2]&64|0)==0:0){f[a>>2]=f[A+52>>2];Iy(0,85598,a)|0;f[t+8>>2]=(f[n>>2]|0)+1}r=f[i>>2]|0;i=t+8|0}f[A+160>>2]=r;f[e>>2]=i;v=l;return}function Cs(A){A=A|0;return(f[A+160>>2]|0)<=(f[A+156>>2]|0)|0}function Ms(A){A=A|0;var e=0;e=f[(f[A>>2]|0)+316>>2]|0;return f[((e|0)==0?A+156|0:e)>>2]|0}function Es(A){A=A|0;var e=0,i=0;i=A+172|0;e=f[i+4>>2]|0;A=A+196|0;f[A>>2]=f[i>>2];f[A+4>>2]=e;return}function Qs(A){A=A|0;var e=0,i=0;i=f[A+196>>2]|0;if(((i|0)>-1?(i|0)<(f[A+164>>2]|0):0)?(e=f[A+200>>2]|0,(e|0)>-1):0)A=(e|0)<(f[A+168>>2]|0)&1;else A=0;return A|0}function ys(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+176|0;o=B;i=B+48|0;s=B+32|0;u=f[A+16>>2]|0;b=f[A+152>>2]|0;if((f[A+160>>2]|0)<=1?(f[A+196>>2]|0)<=0:0)t=0;else{Qy(s,128,i);a=u+212|0;t=f[a>>2]|0;us(A,s);py(s,t)|0;l=s+4|0;i=f[l>>2]|0;if(i>>>0>=(f[s+8>>2]|0)>>>0){yy(s,1)|0;i=f[l>>2]|0}r[i>>0]=0;i=f[s>>2]|0;f[l>>2]=i;f[a>>2]=i}Ah(aY(e,85048)|0);Ws(A);sk(A);Yk(A,122106);Vk(A,119592);do{if(b&4259840|0){if((f[u+208>>2]|0)==0?(n[u+260>>1]&1)==0:0)break;if(b&655360){l=b&131072;f[u+264>>2]=l>>>16^2;i=Jb((l>>>12^32)+32|0)|0;a=A+288|0;f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];a=i+16|0;k=A+304|0;f[a>>2]=f[k>>2];f[a+4>>2]=f[k+4>>2];f[a+8>>2]=f[k+8>>2];f[a+12>>2]=f[k+12>>2];if(!l){ub(i);a=4}else a=2}else{i=0;a=0}if(!(b&8192))lk(A,i,i,a)|0;f[u+272>>2]=i;f[u+268>>2]=a}}while(0);if(b&32768|0?(c=f[(f[e+16>>2]|0)+12>>2]|0,c|0):0)f[u+192>>2]=f[c>>2];a=(b&4|0)!=0;do{if(!a){i=u+208|0;if((f[i>>2]|0)==0?(n[u+260>>1]&1)==0:0)break;k=A+256|0;f[o>>2]=f[k>>2];f[o+4>>2]=f[k+4>>2];f[o+8>>2]=f[k+8>>2];f[o+12>>2]=f[k+12>>2];f[o+16>>2]=f[k+16>>2];f[o+20>>2]=f[k+20>>2];f[o+24>>2]=f[k+24>>2];f[o+28>>2]=f[k+28>>2];hs(A,o);Ck(A,f[i>>2]|0,f[u+228>>2]|0,f[u+244>>2]|0,f[u+212>>2]|0)}}while(0);zs(A,e);i=f[(f[e+16>>2]|0)+12>>2]|0;if(i|0)Yb(A,4,i);do{if(!a){if((f[u+208>>2]|0)==0?(n[u+260>>1]&1)==0:0)break;Mk(A)}}while(0);Js(A,e,b);uk(A);if(t|0){Vy(s);f[u+212>>2]=t}v=B;return}function Ys(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;t=v;v=v+32|0;i=t+24|0;e=t+16|0;c=t+8|0;n=t;a=A+196|0;l=A+188|0;f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];Ns(c,e,i);l=f[c+4>>2]|0;r=a;f[r>>2]=f[c>>2];f[r+4>>2]=l;if(!((Qs(A)|0)<<24>>24)){r=A+180|0;if(!(f[A+184>>2]|0))f[A+200>>2]=f[A+176>>2];else f[a>>2]=f[A+172>>2];f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];Ns(n,e,i);l=f[n+4>>2]|0;c=a;f[c>>2]=f[n>>2];f[c+4>>2]=l}v=t;return}function ps(A,e){A=A|0;e=e|0;var i=0;i=f[e>>2]|0;if(!i){i=A+160|0;f[i>>2]=(f[i>>2]|0)+1}else{f[A+160>>2]=f[i>>2];f[e>>2]=i+4}return}function Vs(A){A=A|0;ok(A);cs(A);return}function Ns(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(f[i+4>>2]|0)+(f[e+4>>2]|0)|0;f[A>>2]=(f[i>>2]|0)+(f[e>>2]|0);f[A+4>>2]=r;return}function Ws(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0,a=0.0,t=0,l=0,c=0,s=0,u=0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0.0;d=v;v=v+48|0;u=d+32|0;n=d+24|0;l=d+8|0;c=d+16|0;s=d;w=A+196|0;k=f[w>>2]|0;w=f[w+4>>2]|0;B=n;f[B>>2]=k;f[B+4>>2]=w;B=A+164|0;t=f[B>>2]|0;B=f[B+4>>2]|0;h=l;f[h>>2]=t;f[h+4>>2]=B;h=A+360|0;if(!(f[h>>2]|0)){c=k;l=w}else{f[u>>2]=f[n>>2];f[u+4>>2]=f[n+4>>2];Du(c,u);w=c;c=f[w>>2]|0;w=f[w+4>>2]|0;B=n;f[B>>2]=c;f[B+4>>2]=w;f[u>>2]=f[l>>2];f[u+4>>2]=f[l+4>>2];Du(s,u);B=s;t=f[B>>2]|0;B=f[B+4>>2]|0;f[l>>2]=t;f[l+4>>2]=B;l=w}i=+o[A+320>>3];a=i*+(c|0)-+o[A+240>>3];o[A+288>>3]=a;r=+o[A+328>>3];b=r*+(l|0)-+o[A+248>>3];o[A+296>>3]=b;o[A+304>>3]=i+a;o[A+312>>3]=r+b;n=A+472|0;if(!(f[(f[A+12>>2]|0)+28>>2]|0)){w=A+456|0;f[n>>2]=f[w>>2];f[n+4>>2]=f[w+4>>2];f[n+8>>2]=f[w+8>>2];f[n+12>>2]=f[w+12>>2]}else{k=A+456|0;f[n>>2]=f[((f[n>>2]|0)<(f[k>>2]|0)?n:k)>>2];w=A+476|0;f[w>>2]=f[((f[w>>2]|0)<(f[A+460>>2]|0)?n:k)+4>>2];w=A+480|0;f[w>>2]=f[((f[w>>2]|0)>(f[A+464>>2]|0)?n:k)+8>>2];w=A+484|0;f[w>>2]=f[((f[w>>2]|0)>(f[A+468>>2]|0)?n:k)+12>>2]}s=f[A+152>>2]|0;e=+o[A+336>>3];if(!(s&128)){e=(+(c|0)-+(t|0)*.5)*i+e;o[A+256>>3]=e;a=(+(l|0)-+(B|0)*.5)*r+ +o[A+344>>3];b=a;i=i+e;a=a+r}else{i=+o[A+368>>3]*.5;r=e-i;o[A+256>>3]=r;a=+o[A+344>>3];g=+o[A+376>>3]*.5;b=a-g;i=i+e;a=g+a;e=r}o[A+264>>3]=b;o[A+272>>3]=i;o[A+280>>3]=a;if(!(f[h>>2]|0)){r=+o[A+352>>3];o[A+504>>3]=+o[A+384>>3]/r-e;if(!(s&4096|f[42184])){i=+o[A+392>>3]/r;e=b}else{i=-a;e=+o[A+392>>3]/r}o[A+512>>3]=i-e}else{n=A+384|0;r=+o[A+352>>3];o[A+512>>3]=-a-+o[A+392>>3]/r;if(!(s&4096|f[42184]))i=+o[n>>3]/r;else{i=-i;e=+o[n>>3]/r}o[A+504>>3]=i-e}v=d;return}function zs(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0,t=0,l=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+48|0;k=h;b=h+40|0;B=h+36|0;w=h+32|0;i=aY(e,85423)|0;if(!i){l=1;i=121990}else{t=(r[i>>0]|0)==0;l=t&1;i=t?121990:i}a=f[A+152>>2]|0;t=(r[i>>0]|0)==116;if(!(a&256))if(t){s=(oz(i,122171)|0)==0;o=s?121990:i;s=s?1:l;u=8}else{o=i;s=l;u=8}else if(!(t?!(oz(i,122171)|0):0)){o=i;s=l;u=8}if((u|0)==8?!((s|0)!=0&(a&33554432|0)!=0):0)if(!((Ru(o,b,B)|0)<<24>>24)){Vk(A,o);Yk(A,122171);w=A+256|0;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2];f[k+12>>2]=f[w+12>>2];f[k+16>>2]=f[w+16>>2];f[k+20>>2]=f[w+20>>2];f[k+24>>2]=f[w+24>>2];f[k+28>>2]=f[w+28>>2];Pk(A,k,1)}else{f[w>>2]=0;t=f[b>>2]|0;Vk(A,t);Yk(A,122171);Pu(e,w)|0;i=f[b+4>>2]|0;a=XI(e,f[42188]|0,0,0)|0;n=+c[B>>2];if(!i)Nk(A,122106,a,n);else Nk(A,i,a,n);w=(f[w>>2]|0)>>>1&1|2;B=A+256|0;f[k>>2]=f[B>>2];f[k+4>>2]=f[B+4>>2];f[k+8>>2]=f[B+8>>2];f[k+12>>2]=f[B+12>>2];f[k+16>>2]=f[B+16>>2];f[k+20>>2]=f[B+20>>2];f[k+24>>2]=f[B+24>>2];f[k+28>>2]=f[B+28>>2];Pk(A,k,w);HW(t)}i=f[(f[(f[e+16>>2]|0)+8>>2]|0)+88>>2]|0;if(i|0)Lu(A,i);v=h;return}function Js(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=(f[A>>2]|0)+28|0;f[a>>2]=(f[a>>2]|0)+1;a=(i&4|0)!=0;if(!a)Ps(A,e,i);A:do{if(!(i&1)){if(i&16|0){dk(A);n=Ep(e)|0;while(1){if(!n)break;r=bY(e,n)|0;while(1){if(!r)break;Hs(A,r);r=BY(e,r)|0}n=Qp(e,n)|0}gk(A);wk(A);r=Ep(e)|0;while(1){if(!r)break;Rs(A,r);r=Qp(e,r)|0}hk(A);break}if(!(i&8)){n=Ep(e)|0;while(1){if(!n)break A;Rs(A,n);r=bY(e,n)|0;while(1){if(!r)break;Rs(A,f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0);Hs(A,r);r=BY(e,r)|0}n=Qp(e,n)|0}}wk(A);r=Ep(e)|0;while(1){if(!r)break;if((Ls(e,r)|0)<<24>>24)Rs(A,r);r=Qp(e,r)|0}hk(A);dk(A);n=Ep(e)|0;while(1){if(!n)break;r=bY(e,n)|0;while(1){if(!r)break;if((Fs(e,r)|0)<<24>>24)Hs(A,r);r=BY(e,r)|0}n=Qp(e,n)|0}gk(A)}else{wk(A);r=Ep(e)|0;while(1){if(!r)break;Rs(A,r);r=Qp(e,r)|0}hk(A);dk(A);n=Ep(e)|0;while(1){if(!n)break;r=bY(e,n)|0;while(1){if(!r)break;Hs(A,r);r=BY(e,r)|0}n=Qp(e,n)|0}gk(A)}}while(0);if(a)Ps(A,e,i);return}function Ps(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,s=0,u=0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0;F=v;v=v+128|0;Z=F+72|0;H=F+64|0;N=F+112|0;W=F;z=F+104|0;J=e+16|0;P=(i&4|0)!=0;R=A+16|0;G=W+32|0;I=W+16|0;M=W+8|0;E=W+24|0;Q=W+48|0;y=W+40|0;Y=W+56|0;p=(i&8|0)==0;V=z+4|0;m=1;while(1){t=f[J>>2]|0;if((m|0)>(f[t+180>>2]|0))break;g=f[(f[t+184>>2]|0)+(m<<2)>>2]|0;if((zu(A,g)|0)<<24>>24){if(P)Ps(A,g,i);Ju(A,g);w=f[R>>2]|0;h=w+208|0;if(!(f[h>>2]|0))d=(n[w+260>>1]&1)!=0;else d=1;Ah(aY(g,85048)|0);if(!(P|d^1)){k=(f[g+16>>2]|0)+16|0;f[Z>>2]=f[k>>2];f[Z+4>>2]=f[k+4>>2];f[Z+8>>2]=f[k+8>>2];f[Z+12>>2]=f[k+12>>2];f[Z+16>>2]=f[k+16>>2];f[Z+20>>2]=f[k+20>>2];f[Z+24>>2]=f[k+24>>2];f[Z+28>>2]=f[k+28>>2];hs(A,Z);Ck(A,f[h>>2]|0,f[w+228>>2]|0,f[w+244>>2]|0,f[w+212>>2]|0)}f[N>>2]=0;t=Pu(g,N)|0;if(!t)B=0;else{Wk(A,t);B=f[N>>2]&1}k=g+16|0;t=a[(f[k>>2]|0)+112>>0]|0;do{if(!(t&1)){if(t&2|0){t=UI(g,0,91300)|0;l=UI(g,0,91308)|0;L=29;break}if(t&8|0){t=UI(g,0,91316)|0;l=UI(g,0,91324)|0;L=29;break}if(t&4|0){t=UI(g,0,91332)|0;l=UI(g,0,91340)|0;L=29;break}t=aY(g,122540)|0;if(!t)l=0;else l=(r[t>>0]|0)==0?0:t;t=aY(g,122531)|0;if(!t)t=l;else t=(r[t>>0]|0)==0?l:t;s=aY(g,86469)|0;if(s)l=(r[s>>0]|0)==0?l:s;if(!((B|0)!=0&(l|0)!=0)){s=aY(g,85423)|0;if(s|0?r[s>>0]|0:0){l=s;L=29;break}t=(t|0)==0?122106:t;u=(l|0)==0?119592:l;f[z>>2]=0;if(!B)l=0;else L=31}else L=29}else{t=UI(g,0,91284)|0;l=UI(g,0,91292)|0;L=29}}while(0);if((L|0)==29){f[z>>2]=0;t=(t|0)==0?122106:t;u=(l|0)==0?119592:l;L=31}if((L|0)==31){L=0;if(!((Ru(u,z,Z)|0)<<24>>24)){Vk(A,u);l=1}else{Vk(A,f[z>>2]|0);l=f[V>>2]|0;s=XI(g,f[42188]|0,0,0)|0;b=+c[Z>>2];if(!l)Nk(A,122106,s,b);else Nk(A,l,s,b);l=(f[N>>2]|0)>>>1&1|2}}s=f[42187]|0;if((s|0?(C=tY(g,s)|0,C|0):0)?r[C>>0]|0:0)Xk(A,+xI(g,f[42187]|0,1.0,0.0));B=f[N>>2]|0;do{if(B&4){s=XI(g,f[42186]|0,1,0)|0;if(s|l|0){u=f[k>>2]|0;D=u+16|0;f[W>>2]=f[D>>2];f[W+4>>2]=f[D+4>>2];f[W+8>>2]=f[D+8>>2];f[W+12>>2]=f[D+12>>2];u=u+32|0;f[G>>2]=f[u>>2];f[G+4>>2]=f[u+4>>2];f[G+8>>2]=f[u+8>>2];f[G+12>>2]=f[u+12>>2];o[I>>3]=+o[G>>3];o[E>>3]=+o[M>>3];o[Q>>3]=+o[W>>3];o[Y>>3]=+o[y>>3];if(!s)Yk(A,122171);else Yk(A,t);RZ(A,W,4,B,l)}}else{if(!(B&64)){if(XI(g,f[42186]|0,1,0)|0){Yk(A,t);D=(f[k>>2]|0)+16|0;f[Z>>2]=f[D>>2];f[Z+4>>2]=f[D+4>>2];f[Z+8>>2]=f[D+8>>2];f[Z+12>>2]=f[D+12>>2];f[Z+16>>2]=f[D+16>>2];f[Z+20>>2]=f[D+20>>2];f[Z+24>>2]=f[D+24>>2];f[Z+28>>2]=f[D+28>>2];Pk(A,Z,l);break}if(!l)break;Yk(A,122171);D=(f[k>>2]|0)+16|0;f[Z>>2]=f[D>>2];f[Z+4>>2]=f[D+4>>2];f[Z+8>>2]=f[D+8>>2];f[Z+12>>2]=f[D+12>>2];f[Z+16>>2]=f[D+16>>2];f[Z+20>>2]=f[D+20>>2];f[Z+24>>2]=f[D+24>>2];f[Z+28>>2]=f[D+28>>2];Pk(A,Z,l);break}D=f[k>>2]|0;B=D+16|0;f[W>>2]=f[B>>2];f[W+4>>2]=f[B+4>>2];f[W+8>>2]=f[B+8>>2];f[W+12>>2]=f[B+12>>2];D=D+32|0;f[G>>2]=f[D>>2];f[G+4>>2]=f[D+4>>2];f[G+8>>2]=f[D+8>>2];f[G+12>>2]=f[D+12>>2];o[I>>3]=+o[G>>3];o[E>>3]=+o[M>>3];o[Q>>3]=+o[W>>3];o[Y>>3]=+o[y>>3];if(!(XI(g,f[42186]|0,1,0)|0))Yk(A,122171);else Yk(A,t);if((ws(A,W,u,0)|0)>1){f[H>>2]=Ap(g)|0;Iy(3,85431,H)|0}D=(f[k>>2]|0)+16|0;f[Z>>2]=f[D>>2];f[Z+4>>2]=f[D+4>>2];f[Z+8>>2]=f[D+8>>2];f[Z+12>>2]=f[D+12>>2];f[Z+16>>2]=f[D+16>>2];f[Z+20>>2]=f[D+20>>2];f[Z+24>>2]=f[D+24>>2];f[Z+28>>2]=f[D+28>>2];Pk(A,Z,0)}}while(0);HW(f[z>>2]|0);t=f[(f[k>>2]|0)+12>>2]|0;if(t|0)Yb(A,5,t);if(d){if(P){D=(f[k>>2]|0)+16|0;f[Z>>2]=f[D>>2];f[Z+4>>2]=f[D+4>>2];f[Z+8>>2]=f[D+8>>2];f[Z+12>>2]=f[D+12>>2];f[Z+16>>2]=f[D+16>>2];f[Z+20>>2]=f[D+20>>2];f[Z+24>>2]=f[D+24>>2];f[Z+28>>2]=f[D+28>>2];hs(A,Z);Ck(A,f[h>>2]|0,f[w+228>>2]|0,f[w+244>>2]|0,f[w+212>>2]|0)}Mk(A)}A:do{if(!p){l=Ep(g)|0;while(1){if(!l)break A;Rs(A,l);t=bY(g,l)|0;while(1){if(!t)break;Hs(A,t);t=BY(g,t)|0}l=Qp(g,l)|0}}}while(0);Hu(A,e);if(!P)Ps(A,g,i)}m=m+1|0}v=F;return}function Rs(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;c=v;v=v+32|0;i=c;t=f[A>>2]|0;l=e+16|0;A:do{if(((f[(f[l>>2]|0)+8>>2]|0?(Eu(A,Fp(e)|0,e)|0)<<24>>24:0)?(o=A+256|0,f[i>>2]=f[o>>2],f[i+4>>2]=f[o+4>>2],f[i+8>>2]=f[o+8>>2],f[i+12>>2]=f[o+12>>2],f[i+16>>2]=f[o+16>>2],f[i+20>>2]=f[o+20>>2],f[i+24>>2]=f[o+24>>2],f[i+28>>2]=f[o+28>>2],(Qu(e,i)|0)<<24>>24):0)?(n=(f[l>>2]|0)+116|0,a=f[t+28>>2]|0,(a|0)!=(r[n>>0]|0)):0){r[n>>0]=a;Lk(A,Ap(e)|0);i=TI(e,f[42214]|0,174185)|0;if(r[i>>0]|0)Lk(A,i);i=TI(e,f[42202]|0,174185)|0;e:do{if(r[i>>0]|0){xs(i)|0;i=168408;while(1){n=i;i=i+4|0;n=f[n>>2]|0;if(!n)break e;if((r[n>>0]|0)!=105)continue;if(!(oz(n,119127)|0))break A}}}while(0);yu(A,e);EL[f[(f[(f[(f[l>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](A,e);i=f[(f[l>>2]|0)+108>>2]|0;if(i|0?r[i+81>>0]|0:0)Yb(A,10,i);Yu(A)}}while(0);v=c;return}function Hs(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;t=v;v=v+32|0;a=t;i=A+256|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];f[a+24>>2]=f[i+24>>2];f[a+28>>2]=f[i+28>>2];A:do{if((Ds(e,a)|0)<<24>>24?(n=e+-48|0,(Xs(A,e)|0)<<24>>24):0){l=e+48|0;i=nz(Ap(f[((f[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0;i=RW(i+3+(nz(Ap(f[((f[e>>2]&3|0)==2?e:n)+40>>2]|0)|0)|0)|0)|0;oJ(i,Ap(f[((f[e>>2]&3|0)==3?e:l)+40>>2]|0)|0)|0;l=(FY(Fp(f[((f[e>>2]&3|0)==2?e:n)+40>>2]|0)|0)|0)==0;a=i+(nz(i)|0)|0;if(l){r[a>>0]=r[122549]|0;r[a+1>>0]=r[122550]|0;r[a+2>>0]=r[122551]|0}else{r[a>>0]=r[122546]|0;r[a+1>>0]=r[122547]|0;r[a+2>>0]=r[122548]|0}mP(i,Ap(f[((f[e>>2]&3|0)==2?e:n)+40>>2]|0)|0)|0;Lk(A,i);HW(i);i=TI(e,f[42236]|0,174185)|0;if(r[i>>0]|0)Lk(A,i);i=TI(e,f[42230]|0,174185)|0;e:do{if(!(r[i>>0]|0))i=0;else{xs(i)|0;i=168408;while(1){n=i;i=i+4|0;n=f[n>>2]|0;if(!n){i=168408;break e}if((r[n>>0]|0)!=105)continue;if(!(oz(n,119127)|0))break A}}}while(0);Ts(A,e,i);Us(A,e,i);Ss(A)}}while(0);v=t;return}function Ls(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=f[i>>2]|0;if((A|0)>(f[r+180>>2]|0)){A=1;break}if(!(_p(f[(f[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function Fs(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;A=1;while(1){r=f[i>>2]|0;if((A|0)>(f[r+180>>2]|0)){A=1;break}if(!(_p(f[(f[r+184>>2]|0)+(A<<2)>>2]|0,e)|0))A=A+1|0;else{A=0;break}}return A|0}function Ds(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+64|0;l=c+32|0;n=c;a=A+16|0;A=f[a>>2]|0;i=f[A+8>>2]|0;if((i|0)!=0?(i=i+8|0,f[n>>2]=f[i>>2],f[n+4>>2]=f[i+4>>2],f[n+8>>2]=f[i+8>>2],f[n+12>>2]=f[i+12>>2],f[n+16>>2]=f[i+16>>2],f[n+20>>2]=f[i+20>>2],f[n+24>>2]=f[i+24>>2],f[n+28>>2]=f[i+28>>2],f[l>>2]=f[e>>2],f[l+4>>2]=f[e+4>>2],f[l+8>>2]=f[e+8>>2],f[l+12>>2]=f[e+12>>2],f[l+16>>2]=f[e+16>>2],f[l+20>>2]=f[e+20>>2],f[l+24>>2]=f[e+24>>2],f[l+28>>2]=f[e+28>>2],(Mu(n,l)|0)!=0):0)A=1;else t=3;do{if((t|0)==3){i=f[A+96>>2]|0;if(i){f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];f[l+16>>2]=f[e+16>>2];f[l+20>>2]=f[e+20>>2];f[l+24>>2]=f[e+24>>2];f[l+28>>2]=f[e+28>>2];if((DC(i,l)|0)<<24>>24){A=1;break}A=f[a>>2]|0}A=f[A+108>>2]|0;if((A|0?r[A+81>>0]|0:0)?(f[l>>2]=f[e>>2],f[l+4>>2]=f[e+4>>2],f[l+8>>2]=f[e+8>>2],f[l+12>>2]=f[e+12>>2],f[l+16>>2]=f[e+16>>2],f[l+20>>2]=f[e+20>>2],f[l+24>>2]=f[e+24>>2],f[l+28>>2]=f[e+28>>2],(DC(A,l)|0)<<24>>24):0){A=1;break}A=0}}while(0);v=c;return A|0}function Xs(A,e){A=A|0;e=e|0;var i=0,n=0;A:do{if((f[A+156>>2]|0)>=2?(i=TI(e,f[42235]|0,174185)|0,(Zu(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=0;while(1){if((i|0)>=2){i=0;break A}n=(i|0)==1;n=TI(f[((f[e>>2]&3|0)==((n?2:3)|0)?e:e+((n?-1:1)*48|0)|0)+40>>2]|0,f[42212]|0,174185)|0;if(!(r[n>>0]|0)){i=1;break A}if(!((Zu(A,n)|0)<<24>>24))i=i+1|0;else{i=1;break}}}else i=0;else i=1}while(0);return i|0}function xs(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+192|0;b=B+24|0;u=B+16|0;s=B+8|0;o=B;a=B+48|0;c=B+32|0;if(r[85305]|0){Qy(168672,128,173952);r[85305]=0}Qy(c,128,B+56|0);f[a>>2]=A;t=c+4|0;l=c+8|0;e=0;i=0;A:while(1){n=e;e:while(1)switch(gu(a,c)|0){case 0:{e=21;break A}case 40:if(!(n<<24>>24)){n=1;continue e}else{e=7;break A}case 41:if(!(n<<24>>24)){e=9;break A}else{n=0;continue e}default:break e}if(!(n<<24>>24)){if((i|0)==63){e=12;break}e=f[42169]|0;if(e>>>0>=(f[42170]|0)>>>0){yy(168672,1)|0;e=f[42169]|0}f[42169]=e+1;r[e>>0]=0;f[168408+(i<<2)>>2]=f[42169];i=i+1|0}e=f[t>>2]|0;if(e>>>0>=(f[l>>2]|0)>>>0){yy(c,1)|0;e=f[t>>2]|0}r[e>>0]=0;e=f[c>>2]|0;f[t>>2]=e;py(168672,e)|0;e=f[42169]|0;if(e>>>0>=(f[42170]|0)>>>0){yy(168672,1)|0;e=f[42169]|0}f[42169]=e+1;r[e>>0]=0;e=n}do{if((e|0)==7){f[o>>2]=A;Iy(1,85306,o)|0;f[42102]=0;Vy(c)}else if((e|0)==9){f[s>>2]=A;Iy(1,85340,s)|0;f[42102]=0;Vy(c)}else if((e|0)==12){f[u>>2]=A;Iy(0,85368,u)|0;f[42165]=0;Vy(c)}else if((e|0)==21){if(n<<24>>24){f[b>>2]=A;Iy(1,85391,b)|0;f[42102]=0;Vy(c);break}f[168408+(i<<2)>>2]=0;Vy(c);e=f[42169]|0;if(e>>>0>=(f[42170]|0)>>>0){yy(168672,1)|0;e=f[42169]|0}r[e>>0]=0;f[42169]=f[42168]}}while(0);v=B;return 168408}function Ts(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,c=0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0;M=v;v=v+160|0;I=M+24|0;Z=M+20|0;m=M+16|0;b=M;B=M+32|0;G=f[A+152>>2]|0;f[I>>2]=0;f[Z>>2]=0;f[m>>2]=0;C=ls(A)|0;f[C+4>>2]=3;f[C+8>>2]=e;f[C+12>>2]=9;d=e+16|0;u=f[(f[d>>2]|0)+96>>2]|0;if((u|0?(r[u+82>>0]|0)==0:0)?(OI(aY(e,85121)|0,0)|0)<<24>>24:0){u=C+260|0;n[u>>1]=n[u>>1]|512}if(i|0?f[(f[d>>2]|0)+8>>2]|0:0)Wk(A,i);i=f[42251]|0;if((i|0?(a=tY(e,i)|0,a|0):0)?r[a>>0]|0:0)Xk(A,+xI(e,f[42251]|0,1.0,0.0));do{if(G&16777216|0){i=e+48|0;if((t[(f[(Fp(f[((f[e>>2]&3|0)==3?e:i)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){s=+o[(f[(f[(f[((f[e>>2]&3|0)==3?e:i)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;o[C+176>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);s=+o[(f[(f[(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;o[C+184>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);break}else{u=C+176|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;break}}}while(0);if(G&32768|0){u=f[d>>2]|0;i=f[u+96>>2]|0;if(!i)i=f[C+192>>2]|0;else{i=f[i>>2]|0;f[C+192>>2]=i}a=C+196|0;f[a>>2]=i;c=C+204|0;f[c>>2]=i;l=C+200|0;f[l>>2]=i;i=f[u+108>>2]|0;if(i|0)f[a>>2]=f[i>>2];i=f[u+104>>2]|0;if(i|0)f[l>>2]=f[i>>2];i=f[u+100>>2]|0;if(i|0)f[c>>2]=f[i>>2]}if(!(G&65536))l=0;else{Qy(b,128,B);f[C+212>>2]=pb(ss(A,e,b)|0,e)|0;Vy(b);i=aY(e,96264)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=31;else{i=aY(e,96269)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=31;else a=0}if((k|0)==31)a=pb(i,e)|0;i=aY(e,85134)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=36;else k=34;do{if((k|0)==34){i=aY(e,85143)|0;if(i|0?r[i>>0]|0:0){k=36;break}if(a|0){i=dP(a)|0;k=39}}}while(0);if((k|0)==36){i=pb(i,e)|0;k=39}if((k|0)==39)f[C+208>>2]=i;i=aY(e,85151)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=44;else k=42;do{if((k|0)==42){i=aY(e,85161)|0;if(i|0?r[i>>0]|0:0){k=44;break}if(a|0){i=dP(a)|0;k=47}}}while(0);if((k|0)==44){i=pb(i,e)|0;k=47}if((k|0)==47)f[C+216>>2]=i;i=aY(e,85170)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=52;else k=50;do{if((k|0)==50){i=aY(e,85179)|0;if(i|0?r[i>>0]|0:0){k=52;break}if(a|0)f[C+220>>2]=dP(a)|0}}while(0);if((k|0)==52){f[C+220>>2]=pb(i,e)|0;k=C+260|0;n[k>>1]=n[k>>1]|128}i=aY(e,85187)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=59;else k=57;do{if((k|0)==57){i=aY(e,85196)|0;if(i|0?r[i>>0]|0:0){k=59;break}if(a|0)f[C+224>>2]=dP(a)|0}}while(0);if((k|0)==59){f[C+224>>2]=pb(i,e)|0;k=C+260|0;n[k>>1]=n[k>>1]|256}l=a}do{if(G&8388608){i=aY(e,85204)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)a=pb(i,e)|0;else a=0;i=aY(e,85211)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){k=C+260|0;n[k>>1]=n[k>>1]|64;i=pb(i,e)|0;k=72}else k=70;if((k|0)==70?a|0:0){i=dP(a)|0;k=72}if((k|0)==72)f[C+244>>2]=i;i=aY(e,85222)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){i=pb(i,e)|0;k=78}else k=76;if((k|0)==76?a|0:0){i=dP(a)|0;k=78}if((k|0)==78)f[C+248>>2]=i;i=aY(e,85234)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){f[C+252>>2]=pb(i,e)|0;B=C+260|0;n[B>>1]=n[B>>1]|16}else k=82;if((k|0)==82?a|0:0)f[C+252>>2]=dP(a)|0;i=aY(e,85245)|0;if(i|0?r[i>>0]|0:0){k=C+260|0;n[k>>1]=n[k>>1]|32;f[C+256>>2]=pb(i,e)|0;break}if(a)f[C+256>>2]=dP(a)|0;else a=0}else a=0}while(0);do{if(G&4194304|0){i=aY(e,96229)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)k=94;else k=92;do{if((k|0)==92){i=aY(e,85256)|0;if(i|0?r[i>>0]|0:0){k=94;break}i=f[C+192>>2]|0;if(i|0)f[C+228>>2]=dP(i)|0}}while(0);if((k|0)==94){B=uu(i,e)|0;f[C+228>>2]=pb(B,e)|0;HW(B);B=C+260|0;n[B>>1]=n[B>>1]|1}i=aY(e,85268)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){B=uu(i,e)|0;f[C+232>>2]=pb(B,e)|0;HW(B);B=C+260|0;n[B>>1]=n[B>>1]|8}else k=100;if((k|0)==100?(w=f[C+192>>2]|0,w|0):0)f[C+232>>2]=dP(w)|0;i=aY(e,85281)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){w=uu(i,e)|0;f[C+236>>2]=pb(w,e)|0;HW(w);w=C+260|0;n[w>>1]=n[w>>1]|2}else k=105;if((k|0)==105?(h=f[C+200>>2]|0,h|0):0)f[C+236>>2]=dP(h)|0;i=aY(e,85293)|0;if(i|0?r[i>>0]|0:0){h=uu(i,e)|0;f[C+240>>2]=pb(h,e)|0;HW(h);h=C+260|0;n[h>>1]=n[h>>1]|4;break}i=f[C+204>>2]|0;if(i|0)f[C+240>>2]=dP(i)|0}}while(0);HW(l);HW(a);do{if(G&4259840|0?(g=f[(f[d>>2]|0)+8>>2]|0,g|0):0){if(!(f[C+208>>2]|0)){if((G&524288|0)==0|(f[C+228>>2]|0)==0)break}else if(!(G&524288))break;s=+o[(f[A+16>>2]|0)+152>>3]*.5;s=s>2.0?s:2.0;a=f[g+4>>2]|0;i=0;while(1){if((i|0)>=(a|0))break;bu(I,Z,m,(f[g>>2]|0)+(i*48|0)|0,s);i=i+1|0}l=f[m>>2]|0;f[C+276>>2]=l;c=f[Z>>2]|0;f[C+280>>2]=c;if(!(G&8192)){i=0;a=0;while(1){if((a|0)>=(l|0))break;i=(f[c+(a<<2)>>2]|0)+i|0;a=a+1|0}I=f[I>>2]|0;lk(A,I,I,i)|0;i=I}else i=f[I>>2]|0;f[C+284>>2]=i;f[C+264>>2]=2;f[C+272>>2]=i;f[C+268>>2]=f[c>>2]}}while(0);Gk(A,e);i=f[C+208>>2]|0;if(!((i|0)==0?!(n[C+260>>1]&1):0))Ck(A,i,f[C+228>>2]|0,f[C+244>>2]|0,f[C+212>>2]|0);v=M;return}function Us(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0.0,H=0.0,L=0,F=0,D=0,X=0,x=0;F=v;v=v+240|0;P=F+224|0;J=F+208|0;G=F+128|0;Z=F+112|0;L=F+64|0;Q=F+48|0;y=F+32|0;Y=F+16|0;p=F;V=F+192|0;N=F+176|0;I=F+160|0;E=F+144|0;f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;R=+o[(f[A+16>>2]|0)+152>>3];Ah(aY(e,85048)|0);z=e+16|0;A:do{if(f[(f[z>>2]|0)+8>>2]|0){H=+xI(e,f[42233]|0,1.0,0.0);c=TI(e,f[42221]|0,174185)|0;m=(i|0)!=0;e:do{if(m){n=i;while(1){t=n;n=n+4|0;t=f[t>>2]|0;if(!t){b=0;break e}if((r[t>>0]|0)!=116)continue;if(!(oz(t,95939)|0)){b=1;break}}}else b=0}while(0);l=c;k=0;t=0;e:while(1){switch(r[l>>0]|0){case 0:break e;case 58:{n=k+1|0;break}case 59:{n=k;t=t+1|0;break}default:n=k}l=l+1|0;k=n}u=(k|0)!=0;if((t|0)!=0&u)if(!(Au(A,e,i,c,k+1|0,H,R)|0))break;else s=122106;else s=c;n=a[(f[z>>2]|0)+115>>0]|0;if(!(n&1))if(!(n&2))if(!(n&8))if(!(n&4)){t=s;l=UI(e,f[42222]|0,s)|0}else{l=91340;n=91332;c=168892;t=168892;B=18}else{l=91324;n=91316;c=168892;t=168892;B=18}else{l=91308;n=91300;c=168892;t=168892;B=18}else{l=91292;n=91284;c=168892;t=168892;B=18}if((B|0)==18){t=f[t>>2]|0;t=UI(e,t,eu(s,n)|0)|0;n=UI(e,f[c>>2]|0,l)|0;if((t|0)==(s|0)){t=s;l=n}else{Yk(A,t);l=n}}if((l|0)!=(s|0))Vk(A,l);if(b<<24>>24){t=(r[t>>0]|0)==0?122106:t;n=(r[l>>0]|0)==0?122106:l;Yk(A,122171);Vk(A,t);g=L;w=f[f[(f[z>>2]|0)+8>>2]>>2]|0;h=g+48|0;do{f[g>>2]=f[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(h|0));z=wI(L,iu(e)|0,R,0,0)|0;Jk(A,f[z+8>>2]|0,f[z>>2]|0,1);ru(z);Yk(A,t);if((n|0)!=(t|0))Vk(A,n);n=f[L+8>>2]|0;if(n|0){W=L+16|0;z=f[L>>2]|0;f[J>>2]=f[W>>2];f[J+4>>2]=f[W+4>>2];f[J+8>>2]=f[W+8>>2];f[J+12>>2]=f[W+12>>2];f[P>>2]=f[z>>2];f[P+4>>2]=f[z+4>>2];f[P+8>>2]=f[z+8>>2];f[P+12>>2]=f[z+12>>2];fs(A,2,J,P,H,R,n)}n=f[L+12>>2]|0;if(!n)break;z=L+32|0;L=(f[L>>2]|0)+((f[L+4>>2]|0)+-1<<4)|0;f[J>>2]=f[z>>2];f[J+4>>2]=f[z+4>>2];f[J+8>>2]=f[z+8>>2];f[J+12>>2]=f[z+12>>2];f[P>>2]=f[L>>2];f[P+4>>2]=f[L+4>>2];f[P+8>>2]=f[L+8>>2];f[P+12>>2]=f[L+12>>2];fs(A,3,J,P,H,R,n);break}n=f[z>>2]|0;if(!u){do{if(!(r[n+115>>0]&3)){if(r[t>>0]|0){Yk(A,t);Vk(A,l);break}Yk(A,122106);if(!(r[l>>0]|0)){Vk(A,122106);break}else{Vk(A,l);break}}}while(0);c=A+152|0;s=L+4|0;u=L+8|0;b=L+12|0;B=L+32|0;k=L+16|0;l=0;while(1){n=f[(f[z>>2]|0)+8>>2]|0;if((l|0)>=(f[n+4>>2]|0))break A;g=L;w=(f[n>>2]|0)+(l*48|0)|0;h=g+48|0;do{f[g>>2]=f[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(h|0));n=f[L>>2]|0;t=f[s>>2]|0;do{if(!(f[c>>2]&16384)){Rk(A,n,t,0,0,0);n=f[u>>2]|0;if(n|0){W=f[L>>2]|0;f[J>>2]=f[k>>2];f[J+4>>2]=f[k+4>>2];f[J+8>>2]=f[k+8>>2];f[J+12>>2]=f[k+12>>2];f[P>>2]=f[W>>2];f[P+4>>2]=f[W+4>>2];f[P+8>>2]=f[W+8>>2];f[P+12>>2]=f[W+12>>2];fs(A,2,J,P,H,R,n)}n=f[b>>2]|0;if(n|0){W=(f[L>>2]|0)+((f[s>>2]|0)+-1<<4)|0;f[J>>2]=f[B>>2];f[J+4>>2]=f[B+4>>2];f[J+8>>2]=f[B+8>>2];f[J+12>>2]=f[B+12>>2];f[P>>2]=f[W>>2];f[P+4>>2]=f[W+4>>2];f[P+8>>2]=f[W+8>>2];f[P+12>>2]=f[W+12>>2];fs(A,3,J,P,H,R,n)}if((f[(f[(f[z>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(f[u>>2]|0)){if(!(m&(f[b>>2]|0)!=0))break}else if(!m)break;Wk(A,i)}}else Rk(A,n,t,f[u>>2]|0,f[b>>2]|0,0)}while(0);l=l+1|0}}W=f[(f[n+8>>2]|0)+4>>2]|0;M=W*48|0;C=RW(M)|0;M=RW(M)|0;d=+(k+2|0)*.5;m=L+4|0;B=Q+8|0;k=y+8|0;e=Y+8|0;i=p+8|0;b=0;while(1){if((b|0)>=(W|0))break;g=L;w=(f[f[(f[z>>2]|0)+8>>2]>>2]|0)+(b*48|0)|0;h=g+48|0;do{f[g>>2]=f[w>>2];g=g+4|0;w=w+4|0}while((g|0)<(h|0));n=f[m>>2]|0;f[C+(b*48|0)+4>>2]=n;f[M+(b*48|0)+4>>2]=n;u=n<<4;s=RW(u)|0;f[C+(b*48|0)>>2]=s;u=RW(u)|0;f[M+(b*48|0)>>2]=u;c=f[L>>2]|0;f[p>>2]=f[c>>2];f[p+4>>2]=f[c+4>>2];f[p+8>>2]=f[c+8>>2];f[p+12>>2]=f[c+12>>2];c=0;while(1){if((c|0)>=(n+-1|0))break;f[Q>>2]=f[p>>2];f[Q+4>>2]=f[p+4>>2];f[Q+8>>2]=f[p+8>>2];f[Q+12>>2]=f[p+12>>2];n=c+1|0;l=(f[L>>2]|0)+(n<<4)|0;f[y>>2]=f[l>>2];f[y+4>>2]=f[l+4>>2];f[y+8>>2]=f[l+8>>2];f[y+12>>2]=f[l+12>>2];l=s+(c<<4)|0;if(!c){f[J>>2]=f[Q>>2];f[J+4>>2]=f[Q+4>>2];f[J+8>>2]=f[Q+8>>2];f[J+12>>2]=f[Q+12>>2];f[P>>2]=f[y>>2];f[P+4>>2]=f[y+4>>2];f[P+8>>2]=f[y+8>>2];f[P+12>>2]=f[y+12>>2];nu(V,J,P);f[l>>2]=f[V>>2];f[l+4>>2]=f[V+4>>2];f[l+8>>2]=f[V+8>>2];f[l+12>>2]=f[V+12>>2]}else{f[J>>2]=f[Y>>2];f[J+4>>2]=f[Y+4>>2];f[J+8>>2]=f[Y+8>>2];f[J+12>>2]=f[Y+12>>2];f[P>>2]=f[y>>2];f[P+4>>2]=f[y+4>>2];f[P+8>>2]=f[y+8>>2];f[P+12>>2]=f[y+12>>2];nu(N,J,P);f[l>>2]=f[N>>2];f[l+4>>2]=f[N+4>>2];f[l+8>>2]=f[N+8>>2];f[l+12>>2]=f[N+12>>2]}X=f[L>>2]|0;h=c+2|0;x=X+(h<<4)|0;f[Y>>2]=f[x>>2];f[Y+4>>2]=f[x+4>>2];f[Y+8>>2]=f[x+8>>2];f[Y+12>>2]=f[x+12>>2];g=c+3|0;X=X+(g<<4)|0;f[p>>2]=f[X>>2];f[p+4>>2]=f[X+4>>2];f[p+8>>2]=f[X+8>>2];f[p+12>>2]=f[X+12>>2];D=s+(n<<4)|0;w=s+(h<<4)|0;f[Z>>2]=f[Q>>2];f[Z+4>>2]=f[Q+4>>2];f[Z+8>>2]=f[Q+8>>2];f[Z+12>>2]=f[Q+12>>2];f[G>>2]=f[y>>2];f[G+4>>2]=f[y+4>>2];f[G+8>>2]=f[y+8>>2];f[G+12>>2]=f[y+12>>2];f[J>>2]=f[x>>2];f[J+4>>2]=f[x+4>>2];f[J+8>>2]=f[x+8>>2];f[J+12>>2]=f[x+12>>2];f[P>>2]=f[X>>2];f[P+4>>2]=f[X+4>>2];f[P+8>>2]=f[X+8>>2];f[P+12>>2]=f[X+12>>2];fu(I,Z,G,J,P);f[w>>2]=f[I>>2];f[w+4>>2]=f[I+4>>2];f[w+8>>2]=f[I+8>>2];f[w+12>>2]=f[I+12>>2];f[D>>2]=f[I>>2];f[D+4>>2]=f[I+4>>2];f[D+8>>2]=f[I+8>>2];f[D+12>>2]=f[I+12>>2];o[u+(c<<4)>>3]=+o[Q>>3]-+o[l>>3]*d;o[u+(c<<4)+8>>3]=+o[B>>3]-+o[s+(c<<4)+8>>3]*d;o[u+(n<<4)>>3]=+o[y>>3]-+o[D>>3]*d;o[u+(n<<4)+8>>3]=+o[k>>3]-+o[s+(n<<4)+8>>3]*d;o[u+(h<<4)>>3]=+o[Y>>3]-+o[w>>3]*d;o[u+(h<<4)+8>>3]=+o[e>>3]-+o[s+(h<<4)+8>>3]*d;c=g;n=f[m>>2]|0}x=s+(c<<4)|0;f[J>>2]=f[Y>>2];f[J+4>>2]=f[Y+4>>2];f[J+8>>2]=f[Y+8>>2];f[J+12>>2]=f[Y+12>>2];f[P>>2]=f[p>>2];f[P+4>>2]=f[p+4>>2];f[P+8>>2]=f[p+8>>2];f[P+12>>2]=f[p+12>>2];nu(E,J,P);f[x>>2]=f[E>>2];f[x+4>>2]=f[E+4>>2];f[x+8>>2]=f[E+8>>2];f[x+12>>2]=f[E+12>>2];o[u+(c<<4)>>3]=+o[p>>3]-+o[x>>3]*d;o[u+(c<<4)+8>>3]=+o[i>>3]-+o[s+(c<<4)+8>>3]*d;b=b+1|0}h=dP(t)|0;i=0;w=t;n=t;l=t;t=h;while(1){t=kP(t,93017)|0;if(!t)break;e=(r[t>>0]|0)==0?122106:t;if((e|0)!=(l|0))if(!(r[(f[z>>2]|0)+115>>0]&3)){Yk(A,e);Vk(A,e);l=e}else l=e;s=(i|0)==0;u=i>>>0<2;t=0;while(1){if((t|0)>=(W|0))break;b=f[M+(t*48|0)>>2]|0;B=f[C+(t*48|0)>>2]|0;k=f[M+(t*48|0)+4>>2]|0;c=0;while(1){if((c|0)>=(k|0))break;x=b+(c<<4)|0;o[x>>3]=+o[x>>3]+ +o[B+(c<<4)>>3];x=b+(c<<4)+8|0;o[x>>3]=+o[x>>3]+ +o[B+(c<<4)+8>>3];c=c+1|0}Rk(A,b,k,0,0,0);t=t+1|0}i=i+1|0;w=s?e:w;n=u?e:n;t=0}t=f[L+8>>2]|0;if(!t)t=0;else{if(n){if(!(r[(f[z>>2]|0)+115>>0]&3)){Yk(A,n);Vk(A,n)}}else n=0;X=L+16|0;x=f[L>>2]|0;f[J>>2]=f[X>>2];f[J+4>>2]=f[X+4>>2];f[J+8>>2]=f[X+8>>2];f[J+12>>2]=f[X+12>>2];f[P>>2]=f[x>>2];f[P+4>>2]=f[x+4>>2];f[P+8>>2]=f[x+8>>2];f[P+12>>2]=f[x+12>>2];fs(A,2,J,P,H,R,t);t=n}l=L+12|0;n=f[l>>2]|0;if(n|0){if((t|0)!=(w|0)?(r[(f[z>>2]|0)+115>>0]&3)==0:0){Yk(A,w);Vk(A,w);n=f[l>>2]|0}X=L+32|0;x=(f[L>>2]|0)+((f[m>>2]|0)+-1<<4)|0;f[J>>2]=f[X>>2];f[J+4>>2]=f[X+4>>2];f[J+8>>2]=f[X+8>>2];f[J+12>>2]=f[X+12>>2];f[P>>2]=f[x>>2];f[P+4>>2]=f[x+4>>2];f[P+8>>2]=f[x+8>>2];f[P+12>>2]=f[x+12>>2];fs(A,3,J,P,H,R,n)}HW(h);n=0;while(1){if((n|0)>=(W|0))break;HW(f[C+(n*48|0)>>2]|0);HW(f[M+(n*48|0)>>2]|0);n=n+1|0}HW(C);HW(M)}}while(0);v=F;return}function Ss(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;G=v;v=v+64|0;w=G+48|0;g=G+32|0;d=G+16|0;h=G;Z=f[A+16>>2]|0;m=f[Z+8>>2]|0;k=Z+208|0;if(!((f[k>>2]|0)==0?!(n[Z+260>>1]&1):0))e=3;A:do{if((e|0)==3?(Mk(A),B=Z+276|0,i=f[B>>2]|0,i|0):0){t=Z+280|0;e=f[t>>2]|0;l=Z+268|0;c=Z+284|0;o=Z+272|0;s=Z+228|0;u=Z+244|0;b=Z+212|0;r=f[e>>2]|0;a=1;while(1){if((a|0)>=(i|0))break A;f[l>>2]=f[e+(a<<2)>>2];f[o>>2]=(f[c>>2]|0)+(r<<4);Ck(A,f[k>>2]|0,f[s>>2]|0,f[u>>2]|0,f[b>>2]|0);Mk(A);I=f[t>>2]|0;r=(f[I+(a<<2)>>2]|0)+r|0;a=a+1|0;i=f[B>>2]|0;e=I}}}while(0);f[Z+268>>2]=0;f[Z+272>>2]=0;k=m+16|0;e=f[k>>2]|0;i=f[e+8>>2]|0;if(!i)r=Z+260|0;else{B=f[i>>2]|0;e=f[B>>2]|0;I=f[B+8>>2]|0;b=B+16|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];f[d+12>>2]=f[b+12>>2];B=B+32|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2];if(!I){f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2]}else{f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2]}r=Z+260|0;B=n[r>>1]|0;b=f[Z+220>>2]|0;f[w>>2]=f[g>>2];f[w+4>>2]=f[g+4>>2];f[w+8>>2]=f[g+8>>2];f[w+12>>2]=f[g+12>>2];js(A,w,(B<<8&65535)<<16>>16>>15&255,b,(B<<14&65535)<<16>>16>>15&255);B=f[(f[k>>2]|0)+8>>2]|0;b=f[B>>2]|0;B=(f[B+4>>2]|0)+-1|0;e=f[b+(B*48|0)>>2]|0;i=f[b+(B*48|0)+4>>2]|0;I=f[b+(B*48|0)+12>>2]|0;u=b+(B*48|0)+16|0;f[d>>2]=f[u>>2];f[d+4>>2]=f[u+4>>2];f[d+8>>2]=f[u+8>>2];f[d+12>>2]=f[u+12>>2];d=b+(B*48|0)+32|0;f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];f[h+12>>2]=f[d+12>>2];if(!I){I=e+(i+-1<<4)|0;f[g>>2]=f[I>>2];f[g+4>>2]=f[I+4>>2];f[g+8>>2]=f[I+8>>2];f[g+12>>2]=f[I+12>>2]}else{f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[g+8>>2]=f[h+8>>2];f[g+12>>2]=f[h+12>>2]}e=n[r>>1]|0;I=f[Z+224>>2]|0;f[w>>2]=f[g>>2];f[w+4>>2]=f[g+4>>2];f[w+8>>2]=f[g+8>>2];f[w+12>>2]=f[g+12>>2];js(A,w,(e<<7&65535)<<16>>16>>15&255,I,(e<<13&65535)<<16>>16>>15&255);e=f[k>>2]|0}i=f[e+96>>2]|0;a=(n[r>>1]<<12&65535)<<16>>16>>15<<16>>16;s=Z+216|0;t=f[s>>2]|0;u=Z+232|0;l=f[u>>2]|0;b=Z+248|0;c=f[b>>2]|0;B=Z+212|0;o=f[B>>2]|0;if(!((jI(TI(m,f[42231]|0,122100)|0)|0)<<24>>24))e=0;else e=f[(f[k>>2]|0)+8>>2]|0;Os(A,i,11,a,t,l,c,o,e);c=f[(f[k>>2]|0)+108>>2]|0;o=(n[r>>1]<<12&65535)<<16>>16>>15<<16>>16;l=f[s>>2]|0;t=f[u>>2]|0;i=f[b>>2]|0;a=f[B>>2]|0;if(!((jI(TI(m,f[42231]|0,122100)|0)|0)<<24>>24))e=0;else e=f[(f[k>>2]|0)+8>>2]|0;Os(A,c,11,o,l,t,i,a,e);Os(A,f[(f[k>>2]|0)+100>>2]|0,7,(n[r>>1]<<13&65535)<<16>>16>>15<<16>>16,f[Z+224>>2]|0,f[Z+240>>2]|0,f[Z+256>>2]|0,f[B>>2]|0,0);Os(A,f[(f[k>>2]|0)+104>>2]|0,6,(n[r>>1]<<14&65535)<<16>>16>>15<<16>>16,f[Z+220>>2]|0,f[Z+236>>2]|0,f[Z+252>>2]|0,f[B>>2]|0,0);Ik(A);cs(A);v=G;return}function js(A,e,i,r,a){A=A|0;e=e|0;i=i|0;r=r|0;a=a|0;var t=0,l=0,c=0;c=v;v=v+16|0;t=c;l=f[A+16>>2]|0;if(!(i<<24>>24))r=f[l+208>>2]|0;if(!(a<<24>>24==0?(r|0)==0?(n[l+260>>1]&1)==0:0:0)){f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];$s(A,t)}v=c;return}function Os(A,e,i,n,a,t,l,c,o){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;c=c|0;o=o|0;var s=0,u=0,b=0,B=0,k=0,w=0;w=v;v=v+16|0;b=w;k=f[A+152>>2]|0;if(e|0?r[e+81>>0]|0:0){if(!c)u=0;else{u=Jb((nz(c)|0)+11|0)|0;switch(i|0){case 11:{s=86240;break}case 7:{s=86656;break}case 6:{s=86666;break}default:BA(123205,84925,2730,85060)}f[b>>2]=c;f[b+4>>2]=s;iP(u,85076,b)|0}b=A+16|0;c=(f[b>>2]|0)+12|0;B=f[c>>2]|0;f[c>>2]=i;c=(n|0)!=0|(a|0)!=0;s=(k&4|0)==0;if(c&s){Ks(A,e);Ck(A,a,t,l,u)}Yb(A,i,e);if(o|0)_s(A,e,o);if(c){if(!s){Ks(A,e);Ck(A,a,t,l,u)}Mk(A)}HW(u);f[(f[b>>2]|0)+12>>2]=B}v=w;return}function Ks(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;i=f[A+16>>2]|0;r=f[A+152>>2]|0;if(r&4259840|0){n=r&131072;t=n>>>16^2;f[i+264>>2]=t;l=i+268|0;f[l>>2]=t+2;t=i+272|0;HW(f[t>>2]|0);i=Jb(f[l>>2]<<4)|0;f[t>>2]=i;t=e+56|0;l=e+24|0;o[i>>3]=+o[t>>3]-+o[l>>3]*.5;a=e+64|0;e=e+32|0;o[i+8>>3]=+o[a>>3]-+o[e>>3]*.5;o[i+16>>3]=+o[l>>3]*.5+ +o[t>>3];o[i+24>>3]=+o[e>>3]*.5+ +o[a>>3];if(!(r&8192))lk(A,i,i,2)|0;if(!n)ub(i)}return}function _s(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0.0;b=v;v=v+96|0;a=b+80|0;t=b+32|0;l=b+16|0;c=b;n=f[e>>2]|0;while(1){s=r[n>>0]|0;if(!(s<<24>>24))break;if(!(Jz(s&255)|0)){u=4;break}else n=n+1|0}if((u|0)==4){B=+o[e+24>>3];s=e+56|0;qs(t,+o[s>>3]+B*.5,+o[e+64>>3]-+o[e+32>>3]*.5);u=t+16|0;qs(l,+o[t>>3]-B,+o[t+8>>3]);f[u>>2]=f[l>>2];f[u+4>>2]=f[l+4>>2];f[u+8>>2]=f[l+8>>2];f[u+12>>2]=f[l+12>>2];u=t+32|0;f[a>>2]=f[s>>2];f[a+4>>2]=f[s+4>>2];f[a+8>>2]=f[s+8>>2];f[a+12>>2]=f[s+12>>2];tC(c,i,a);f[u>>2]=f[c>>2];f[u+4>>2]=f[c+4>>2];f[u+8>>2]=f[c+8>>2];f[u+12>>2]=f[c+12>>2];Wk(A,f[(f[A>>2]|0)+336>>2]|0);Yk(A,f[e+8>>2]|0);Hk(A,t,3)}v=b;return}function qs(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function $s(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0.0,t=0.0,l=0,c=0;i=f[A+16>>2]|0;r=f[A+152>>2]|0;if(r&4259840|0){n=r&131072;l=n>>>16^2;f[i+264>>2]=l;c=i+268|0;f[c>>2]=l+2;l=i+272|0;HW(f[l>>2]|0);i=Jb(f[c>>2]<<4)|0;f[l>>2]=i;t=+o[e>>3];o[i>>3]=t+-3.0;a=+o[e+8>>3];o[i+8>>3]=a+-3.0;o[i+16>>3]=t+3.0;o[i+24>>3]=a+3.0;if(!(r&8192))lk(A,i,i,2)|0;if(!n)ub(i)}return}function Au(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=+a;t=+t;var l=0,o=0,s=0.0,u=0.0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0;z=v;v=v+256|0;y=z+224|0;Q=z+208|0;l=z+192|0;p=z+144|0;V=z+96|0;N=z+48|0;Y=z;o=z+240|0;r=vs(r,n,o)|0;if((r|0)>1){C=e+48|0;M=Fp(f[((f[e>>2]&3|0)==3?e:C)+40>>2]|0)|0;C=Ap(f[((f[e>>2]&3|0)==3?e:C)+40>>2]|0)|0;M=(FY(M)|0)!=0;E=Ap(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;f[l>>2]=C;f[l+4>>2]=M?85095:85100;f[l+8>>2]=E;Iy(3,85105,l)|0;if((r|0)==2)r=1;else W=4}else if((r|0)==1)r=1;else W=4;if((W|0)==4){E=e+16|0;w=f[o>>2]|0;h=w+8|0;d=N+4|0;g=p+8|0;m=p+12|0;Z=(i|0)!=0;k=(i|0)==0;G=p+32|0;I=p+4|0;C=p+16|0;M=Y+4|0;r=0;B=0;while(1){n=f[(f[E>>2]|0)+8>>2]|0;if((B|0)>=(f[n+4>>2]|0))break;l=p;n=(f[n>>2]|0)+(B*48|0)|0;e=l+48|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(e|0));e=1;s=1.0;b=f[h>>2]|0;A:while(1){n=f[b>>2]|0;if(!n)break;o=b+4|0;u=+c[o>>2];do{if(u<1.0e-05&u>-1.0e-05)n=e;else{Yk(A,n);u=+c[o>>2];s=s-u;r=f[b>>2]|0;if(e|0){ou(p,u,N,Y);o=f[N>>2]|0;Rk(A,o,f[d>>2]|0,0,0,0);HW(o);if(s<1.0e-05&s>-1.0e-05){W=11;break A}else{n=0;break}}if(s<1.0e-05&s>-1.0e-05){W=13;break A}l=V;n=Y;e=l+48|0;do{f[l>>2]=f[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(e|0));u=+c[o>>2];ou(V,u/(s+u),N,Y);HW(f[V>>2]|0);n=f[N>>2]|0;Rk(A,n,f[d>>2]|0,0,0,0);HW(n);n=0}}while(0);e=n;b=b+12|0}if((W|0)==11){W=0;HW(f[Y>>2]|0)}else if((W|0)==13){W=0;b=f[Y>>2]|0;Rk(A,b,f[M>>2]|0,0,0,0);HW(b)}if(f[g>>2]|0){Yk(A,f[f[h>>2]>>2]|0);Vk(A,f[f[h>>2]>>2]|0);o=f[p>>2]|0;b=f[g>>2]|0;f[Q>>2]=f[C>>2];f[Q+4>>2]=f[C+4>>2];f[Q+8>>2]=f[C+8>>2];f[Q+12>>2]=f[C+12>>2];f[y>>2]=f[o>>2];f[y+4>>2]=f[o+4>>2];f[y+8>>2]=f[o+8>>2];f[y+12>>2]=f[o+12>>2];fs(A,2,Q,y,a,t,b)}if(f[m>>2]|0){Yk(A,r);Vk(A,r);o=(f[p>>2]|0)+((f[I>>2]|0)+-1<<4)|0;b=f[m>>2]|0;f[Q>>2]=f[G>>2];f[Q+4>>2]=f[G+4>>2];f[Q+8>>2]=f[G+8>>2];f[Q+12>>2]=f[G+12>>2];f[y>>2]=f[o>>2];f[y+4>>2]=f[o+4>>2];f[y+8>>2]=f[o+8>>2];f[y+12>>2]=f[o+12>>2];fs(A,3,Q,y,a,t,b)}do{if((f[(f[(f[E>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(f[g>>2]|0)){if(!(Z&(f[m>>2]|0)!=0))break}else if(k)break;Wk(A,i)}}while(0);B=B+1|0}Bs(w);r=0}v=z;return r|0}function eu(A,e){A=A|0;e=e|0;var i=0,n=0;i=1;A:while(1){switch(r[A>>0]|0){case 0:break A;case 58:{i=i+1|0;break}default:{}}A=A+1|0}n=X((nz(e)|0)+1|0,i)|0;A=n+10|0;if((f[42166]|0)<(n|0)){f[42166]=A;A=FW(f[42167]|0,A)|0;f[42167]=A}else A=f[42167]|0;oJ(A,e)|0;while(1){i=i+-1|0;A=f[42167]|0;if(!i)break;n=A+(nz(A)|0)|0;r[n>>0]=58;r[n+1>>0]=0;mP(A,e)|0}return A|0}function iu(A){A=A|0;var e=0,i=0;e=f[42229]|0;A:do{if(!e)i=7;else{e=tY(A,e)|0;switch(r[e>>0]|0){case 110:if(!(oz(e,120501)|0)){e=1;break A}else{i=7;break A}case 102:if(!(oz(e,85082)|0)){e=2;break A}else{i=7;break A}case 98:{if(!(oz(e,85090)|0)){e=3;break A}if(!(oz(e,96056)|0)){e=4;break A}else{i=7;break A}}default:{i=7;break A}}}}while(0);if((i|0)==7){e=(FY(Fp(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0)!=0;e=e?2:1}return e|0}function ru(A){A=A|0;if(A|0){HW(f[A+8>>2]|0);HW(A)}return}function nu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0;n=+o[e>>3]-+o[i>>3];f=+o[e+8>>3]-+o[i+8>>3];r=2.0/+p(+(n*n+.0001+f*f));o[A>>3]=r*f;o[A+8>>3]=-(n*r);return}function fu(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var f=0.0,a=0.0,t=0.0,l=0.0;a=+o[i>>3]-+o[r>>3];t=+o[i+8>>3]-+o[r+8>>3];f=+p(+(t*t+a*a));if(f<.0001){l=+o[e>>3]-+o[n>>3];f=+o[e+8>>3]-+o[n+8>>3];t=f;a=l;f=+p(+(l*l+.0001+f*f))}l=2.0/f;o[A>>3]=t*l;o[A+8>>3]=-(l*a);return}function au(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(1.0-A/e))}function tu(A,e,i){A=+A;e=+e;i=+i;return+(i*.5)}function lu(A,e,i){A=+A;e=+e;i=+i;return+(i*.5*(A/e))}function cu(A,e,i){A=+A;e=+e;i=+i;e=A/e;return+((!(e<=.5)?1.0-e:e)*i)}function ou(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var n=0.0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0.0,w=0,h=0;B=v;v=v+16|0;b=B;u=f[A+4>>2]|0;l=(u+-1|0)/3|0;if((u+-4|0)>>>0<3){f[i+4>>2]=4;f[i>>2]=Jb(64)|0;f[r+4>>2]=4;u=Jb(64)|0;f[r>>2]=u;eC(b,f[A>>2]|0,3,e,f[i>>2]|0,u)}else{u=Jb(l<<3)|0;a=0;t=f[A>>2]|0;n=0.0;while(1){if((a|0)>=(l|0))break;k=+su(t);o[u+(a<<3)>>3]=k;a=a+1|0;t=t+48|0;n=k+n}e=n*e;s=0;n=0.0;while(1){if((l|0)<=(s|0))break;n=+o[u+(s<<3)>>3]+n;if(n>=e)break;s=s+1|0}c=s*3|0;a=c+4|0;t=i+4|0;f[t>>2]=a;f[i>>2]=Jb(a<<4)|0;a=((l-s|0)*3|0)+1|0;l=r+4|0;f[l>>2]=a;f[r>>2]=Jb(a<<4)|0;a=0;while(1){if((a|0)>=(f[t>>2]|0))break;w=(f[i>>2]|0)+(a<<4)|0;h=(f[A>>2]|0)+(a<<4)|0;f[w>>2]=f[h>>2];f[w+4>>2]=f[h+4>>2];f[w+8>>2]=f[h+8>>2];f[w+12>>2]=f[h+12>>2];a=a+1|0}a=a+-4|0;t=0;while(1){if((t|0)>=(f[l>>2]|0))break;h=(f[r>>2]|0)+(t<<4)|0;w=(f[A>>2]|0)+(a<<4)|0;f[h>>2]=f[w>>2];f[h+4>>2]=f[w+4>>2];f[h+8>>2]=f[w+8>>2];f[h+12>>2]=f[w+12>>2];a=a+1|0;t=t+1|0}k=+o[u+(s<<3)>>3];eC(b,(f[A>>2]|0)+(c<<4)|0,3,(e-n+k)/k,(f[i>>2]|0)+(c<<4)|0,f[r>>2]|0);HW(u)}v=B;return}function su(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0.0,f=0.0;n=+o[A+16>>3];r=+o[A>>3]-n;f=+o[A+24>>3];e=+o[A+8>>3]-f;r=+p(+(e*e+r*r));e=+o[A+32>>3];n=n-e;i=+o[A+40>>3];f=f-i;r=+p(+(f*f+n*n))+r;e=e-+o[A+48>>3];i=i-+o[A+56>>3];return+(r+ +p(+(i*i+e*e)))}function uu(A,e){A=A|0;e=e|0;e=Dp(e)|0;if((r[(f[e+16>>2]|0)+115>>0]|0)==1)e=RC(A)|0;else e=zC(A,e)|0;return du(e)|0}function bu(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;k=v;v=v+1664|0;s=k+1600|0;u=k+800|0;b=k;B=Pb(24)|0;f[B+16>>2]=1;c=((f[r+4>>2]|0)+-1|0)/3|0;t=0;l=B;while(1){if((t|0)>=(c|0))break;o=t*3|0;a=0;while(1){if((a|0)==4)break;w=s+(a<<4)|0;h=(f[r>>2]|0)+(a+o<<4)|0;f[w>>2]=f[h>>2];f[w+4>>2]=f[h+4>>2];f[w+8>>2]=f[h+8>>2];f[w+12>>2]=f[h+12>>2];a=a+1|0}t=t+1|0;l=vu(s,l)|0}a=0;t=0;l=B;while(1){if(!l){t=B;a=B;break}c=f[l+16>>2]|0;o=u+(a<<4)|0;r=b+(a<<4)|0;Bu(t,l,c,o,r,n);a=a+1|0;if(!((a|0)==50|(c|0)==0)){t=l;l=c;continue}ku(A,e,i,a,u,b);f[u>>2]=f[o>>2];f[u+4>>2]=f[o+4>>2];f[u+8>>2]=f[o+8>>2];f[u+12>>2]=f[o+12>>2];f[b>>2]=f[r>>2];f[b+4>>2]=f[r+4>>2];f[b+8>>2]=f[r+8>>2];f[b+12>>2]=f[r+12>>2];t=l;a=1;l=c}while(1){if(!t)break;h=f[t+16>>2]|0;HW(a);t=h;a=h}v=k;return}function vu(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+144|0;n=a+128|0;i=a+64|0;r=a;if(!(gs(A)|0)){eC(n,A,3,.5,i,r);i=vu(r,vu(i,e)|0)|0}else{i=e+16|0;if((f[i>>2]|0)==1){f[i>>2]=0;f[e>>2]=f[A>>2];f[e+4>>2]=f[A+4>>2];f[e+8>>2]=f[A+8>>2];f[e+12>>2]=f[A+12>>2]}i=A+48|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];i=hu(n,e)|0}v=a;return i|0}function Bu(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=+a;var t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0.0;w=v;v=v+96|0;u=w+80|0;s=w+64|0;c=w+48|0;b=w+32|0;B=w+16|0;k=w;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];do{if(A){f[B>>2]=f[A>>2];f[B+4>>2]=f[A+4>>2];f[B+8>>2]=f[A+8>>2];f[B+12>>2]=f[A+12>>2];if(!i){t=+o[b>>3];o[k>>3]=t*2.0-+o[B>>3];l=+o[b+8>>3];o[k+8>>3]=l*2.0-+o[B+8>>3];break}else{f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];f[k+12>>2]=f[i+12>>2];t=+o[b>>3];l=+o[b+8>>3];break}}else{f[k>>2]=f[i>>2];f[k+4>>2]=f[i+4>>2];f[k+8>>2]=f[i+8>>2];f[k+12>>2]=f[i+12>>2];t=+o[b>>3];o[B>>3]=t*2.0-+o[k>>3];l=+o[b+8>>3];o[B+8>>3]=l*2.0-+o[k+8>>3]}}while(0);f[c>>2]=f[B>>2];f[c+4>>2]=f[B+4>>2];f[c+8>>2]=f[B+8>>2];f[c+12>>2]=f[B+12>>2];f[s>>2]=f[b>>2];f[s+4>>2]=f[b+4>>2];f[s+8>>2]=f[b+8>>2];f[s+12>>2]=f[b+12>>2];f[u>>2]=f[k>>2];f[u+4>>2]=f[k+4>>2];f[u+8>>2]=f[k+8>>2];f[u+12>>2]=f[k+12>>2];d=+wu(c,s,u);h=+N(+d)*a;a=+W(+d)*a;o[r>>3]=t+h;o[r+8>>3]=l+a;o[n>>3]=t-h;o[n+8>>3]=l-a;v=w;return}function ku(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0;l=r<<1;c=f[i>>2]|0;t=0;o=0;while(1){if((t|0)>=(c|0))break;s=(f[(f[e>>2]|0)+(t<<2)>>2]|0)+o|0;t=t+1|0;o=s}s=c+1|0;f[i>>2]=s;s=Hb(f[e>>2]|0,s<<2)|0;f[e>>2]=s;f[s+(t<<2)>>2]=l;f[A>>2]=Hb(f[A>>2]|0,o+l<<4)|0;e=l+-1+o|0;t=0;while(1){if((t|0)>=(r|0))break;s=(f[A>>2]|0)+(t+o<<4)|0;c=n+(t<<4)|0;f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[s+12>>2]=f[c+12>>2];s=(f[A>>2]|0)+(e-t<<4)|0;c=a+(t<<4)|0;f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[s+12>>2]=f[c+12>>2];t=t+1|0}return}function wu(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0;f=+o[e+8>>3];r=+o[e>>3];n=+H(+(+o[i+8>>3]-f),+(+o[i>>3]-r));r=+H(+(+o[A+8>>3]-f),+(+o[A>>3]-r));n=n-r;return+((n>0.0?n+-6.283185307179586:n)*.5+r)}function hu(A,e){A=A|0;e=e|0;var i=0;i=Pb(24)|0;f[i+16>>2]=0;f[i>>2]=f[A>>2];f[i+4>>2]=f[A+4>>2];f[i+8>>2]=f[A+8>>2];f[i+12>>2]=f[A+12>>2];f[e+16>>2]=i;return i|0}function du(A){A=A|0;var e=0,i=0,n=0,f=0,a=0;e=A;f=A;A:while(1){n=0;while(1){i=e;e=e+1|0;i=r[i>>0]|0;if(!(i<<24>>24))break A;if(n<<24>>24){a=5;break}if(i<<24>>24!=92)break;else n=1}e:do{if((a|0)==5){a=0;switch(i<<24>>24|0){case 114:{i=13;break e}case 108:case 110:{i=10;break e}default:break e}}}while(0);r[f>>0]=i;f=f+1|0}r[f>>0]=0;return A|0}function gu(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;i=f[A>>2]|0;while(1){a=r[i>>0]|0;if(!(a<<24>>24)){n=0;break}n=a<<24>>24;if(!(a<<24>>24==44|(Jz(n)|0)!=0)){t=5;break}i=i+1|0}A:do{if((t|0)==5){switch(n|0){case 0:{n=0;break A}case 41:case 40:{i=i+1|0;break A}default:{}}t=e+4|0;l=e+8|0;while(1){if((mu(a<<24>>24)|0)<<24>>24){n=1;break A}n=f[t>>2]|0;if(n>>>0>=(f[l>>2]|0)>>>0){yy(e,1)|0;n=f[t>>2]|0}f[t>>2]=n+1;r[n>>0]=a;n=i+1|0;i=n;a=r[n>>0]|0}}}while(0);f[A>>2]=i;return n|0}function mu(A){A=A|0;switch(A|0){case 0:case 44:case 41:case 40:{A=1;break}default:A=0}return A|0}function Zu(A,e){A=A|0;e=e|0;return Gu(f[A>>2]|0,f[A+160>>2]|0,f[A+156>>2]|0,e)|0}function Gu(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+160|0;o=b+20|0;s=b+16|0;u=b;f[o>>2]=0;f[s>>2]=0;Qy(u,128,b+24|0);py(u,n)|0;a=u+4|0;n=f[a>>2]|0;if(n>>>0>=(f[u+8>>2]|0)>>>0){yy(u,1)|0;n=f[a>>2]|0}r[n>>0]=0;t=f[u>>2]|0;f[a>>2]=t;l=A+300|0;c=A+296|0;n=0;a=t;A:while(1){if(n){n=1;break}n=hP(a,f[l>>2]|0,o)|0;if(!n){n=0;break}a=hP(n,f[c>>2]|0,s)|0;t=(a|0)!=0;if(t)n=hP(0,f[c>>2]|0,s)|0;else n=0;switch(((n|0)!=0&1)+(t&1)&3){case 2:{a=Iu(A,a,0)|0;n=Iu(A,n,i)|0;t=(a|0)>(n|0);n=(n&a|0)>-1&(((t?a:n)|0)>=(e|0)&((t?n:a)|0)<=(e|0));a=0;continue A}case 1:{n=(Iu(A,a,e)|0)==(e|0);a=0;continue A}default:{n=0;a=0;continue A}}}Vy(u);v=b;return n|0}function Iu(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;t=r[e>>0]|0;if(!(t<<24>>24==97?(oz(e,85419)|0)==0:0))n=3;A:do{if((n|0)==3){if((Cu(e)|0)<<24>>24){i=nR(e)|0;break}a=f[A+308>>2]|0;if(!a)i=-1;else{A=f[A+312>>2]|0;i=1;while(1){if((i|0)>(A|0)){i=-1;break A}n=f[a+(i<<2)>>2]|0;if(t<<24>>24==(r[n>>0]|0)?(oz(e,n)|0)==0:0)break A;i=i+1|0}}}}while(0);return i|0}function Cu(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=1;break}if(((e&255)+-48|0)>>>0<10)A=A+1|0;else{A=0;break}}return A|0}function Mu(A,e){A=A|0;e=e|0;if((+o[A+16>>3]>=+o[e>>3]?+o[e+16>>3]>=+o[A>>3]:0)?+o[A+24>>3]>=+o[e+8>>3]:0)A=+o[e+24>>3]>=+o[A+8>>3]&1;else A=0;return A|0}function Eu(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0;A:do{if((f[A+156>>2]|0)>=2?(n=TI(i,f[42212]|0,174185)|0,(Zu(A,n)|0)<<24>>24==0):0)if(!(r[n>>0]|0))if(!(hY(e,i)|0))n=1;else{n=hY(e,i)|0;while(1){if(!n){n=0;break A}a=TI(n,f[42235]|0,174185)|0;if(!(r[a>>0]|0)){n=1;break A}if((Zu(A,a)|0)<<24>>24){n=1;break A}n=dY(e,n,i)|0}}else n=0;else n=1}while(0);return n|0}function Qu(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+64|0;r=i+32|0;n=i;A=(f[A+16>>2]|0)+48|0;f[n>>2]=f[A>>2];f[n+4>>2]=f[A+4>>2];f[n+8>>2]=f[A+8>>2];f[n+12>>2]=f[A+12>>2];f[n+16>>2]=f[A+16>>2];f[n+20>>2]=f[A+20>>2];f[n+24>>2]=f[A+24>>2];f[n+28>>2]=f[A+28>>2];f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];f[r+16>>2]=f[e+16>>2];f[r+20>>2]=f[e+20>>2];f[r+24>>2]=f[e+24>>2];f[r+28>>2]=f[e+28>>2];e=(Mu(n,r)|0)&255;v=i;return e|0}function yu(A,e){A=A|0;e=e|0;var i=0.0,r=0,a=0,l=0,c=0,s=0,u=0,b=0,v=0,B=0,k=0.0,w=0,h=0,d=0,g=0.0,m=0.0;w=f[A+152>>2]|0;h=ls(A)|0;f[h+4>>2]=2;f[h+8>>2]=e;f[h+12>>2]=8;if(w&16777216|0){if((t[(f[(Fp(e)|0)+16>>2]|0)+178>>1]|0)>2){i=+o[(f[(f[e+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0)}else i=0.0;o[h+168>>3]=i}c=e+16|0;pu(A,f[(f[c>>2]|0)+104>>2]|0,e);do{if(w&4259840|0){if((f[h+208>>2]|0)==0?(n[h+260>>1]&1)==0:0)break;B=FZ(e)|0;s=f[c>>2]|0;i=+o[s+16>>3];k=+o[s+24>>3];s=Vu(e)|0;A:do{if((B|2|0)==3){b=f[(f[c>>2]|0)+12>>2]|0;if(!((Nu(b)|0)<<24>>24))r=0;else r=(f[b+4>>2]|s|0)!=0;if(!((w&524288|0)==0|((b|0)==0|r))){a=b+8|0;v=f[a>>2]|0;v=(v|0)<3?1:v;l=b+4|0;u=f[l>>2]|0;u=(u|0)>1?u:1;B=f[b+44>>2]|0;r=aY(e,87739)|0;if(!r)r=0;else r=nR(r)|0;r=(r+-4|0)>>>0>56?20:r;if(!(f[l>>2]|s)){f[h+264>>2]=0;a=Jb(32)|0;r=f[c>>2]|0;m=+o[r+88>>3];o[a>>3]=i-m;g=+o[r+80>>3]*.5;o[a+8>>3]=k-g;o[a+16>>3]=m+i;o[a+24>>3]=g+k;r=2;break}a=f[a>>2]|0;if(((a|0)<3?+o[b+32>>3]==0.0:0)?+o[b+24>>3]==0.0:0){a=h+264|0;if(f[b>>2]|0){f[a>>2]=1;a=Jb(32)|0;o[a>>3]=i;o[a+8>>3]=k;r=(u<<1)+-1|0;o[a+16>>3]=+o[B+(r<<4)>>3]+i;o[a+24>>3]=+o[B+(r<<4)+8>>3]+k;r=2;break}f[a>>2]=2;a=(u<<1)+-1|0;a=Wu(+o[B+(a<<4)>>3],+o[B+(a<<4)+8>>3],r)|0;l=0;while(1){if((l|0)>=(r|0))break A;B=a+(l<<4)|0;o[B>>3]=+o[B>>3]+i;B=a+(l<<4)+8|0;o[B>>3]=+o[B>>3]+k;l=l+1|0}}u=X(a,u+-1|0)|0;f[h+264>>2]=2;if((a|0)<(r|0)){a=Jb(v<<4)|0;r=0;while(1){if((r|0)>=(v|0)){r=v;break A}b=r+u|0;o[a+(r<<4)>>3]=+o[B+(b<<4)>>3]+i;o[a+(r<<4)+8>>3]=+o[B+(b<<4)+8>>3]+k;r=r+1|0}}else{s=(a|0)/(r|0)|0;a=Jb(r<<4)|0;l=0;c=0;while(1){if((l|0)>=(r|0))break A;v=c+u|0;o[a+(l<<4)>>3]=+o[B+(v<<4)>>3]+i;o[a+(l<<4)+8>>3]=+o[B+(v<<4)+8>>3]+k;l=l+1|0;c=c+s|0}}}else d=31}else d=31}while(0);if((d|0)==31){f[h+264>>2]=0;a=Jb(32)|0;r=f[c>>2]|0;o[a>>3]=i-+o[r+88>>3];m=+o[r+80>>3]*.5;o[a+8>>3]=k-m;o[a+16>>3]=+o[r+96>>3]+i;o[a+24>>3]=m+k;r=2}if(!(w&8192))lk(A,a,a,r)|0;f[h+272>>2]=a;f[h+268>>2]=r}}while(0);Ah(aY(e,85048)|0);mk(A,e);return}function Yu(A){A=A|0;Zk(A);cs(A);return}function pu(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+144|0;c=s;n=aY(i,96264)|0;l=aY(i,96229)|0;o=aY(i,85204)|0;Qy(c,128,s+16|0);if(!e)t=0;else t=f[e>>2]|0;if(!((n|0)!=0?(r[n>>0]|0)!=0:0))n=aY(i,96269)|0;a=ss(A,i,c)|0;if(!l)e=0;else e=uu(l,i)|0;os(A,t,n,e,o,a,i)|0;HW(e);Vy(c);v=s;return}function Vu(A){A=A|0;var e=0,i=0;A=UI(A,f[42202]|0,174185)|0;A:do{if(!(r[A>>0]|0))A=0;else{xs(A)|0;A=0;e=168408;while(1){i=f[e>>2]|0;if(!i)break A;i=(oz(i,95923)|0)==0;A=i?1:A;e=e+4|0}}}while(0);return A|0}function Nu(A){A=A|0;var e=0.0;if(((f[A+8>>2]|0)==4?(e=+o[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+o[A+24>>3]==0.0:0)A=+o[A+32>>3]==0.0&1;else A=0;return A|0}function Wu(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,n=0,f=0.0,a=0;f=6.283185307179586/+(i|0);a=Jb(i<<4)|0;r=0.0;n=0;while(1){if((n|0)>=(i|0))break;o[a+(n<<4)>>3]=+N(+r)*A;o[a+(n<<4)+8>>3]=+W(+r)*e;r=r+f;n=n+1|0}return a|0}function zu(A,e){A=A|0;e=e|0;var i=0;A:do{if((f[A+156>>2]|0)>=2?(i=TI(e,Ky(e,0,86583,0)|0,174185)|0,(Zu(A,i)|0)<<24>>24==0):0)if(!(r[i>>0]|0)){i=Ep(e)|0;while(1){if(!i){i=0;break A}if((Eu(A,e,i)|0)<<24>>24){i=1;break A}i=Qp(e,i)|0}}else i=0;else i=1}while(0);return i|0}function Ju(A,e){A=A|0;e=e|0;var i=0;i=ls(A)|0;f[i+4>>2]=1;f[i+8>>2]=e;f[i+12>>2]=1;pu(A,f[(f[e+16>>2]|0)+12>>2]|0,e);Bk(A,e);return}function Pu(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;A=aY(A,86479)|0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){xs(A)|0;i=168408;A=0;while(1){while(1){n=f[i>>2]|0;if(!n){i=168408;break A}if(!(oz(n,95923)|0)){a=10;break}if(!(oz(n,91378)|0)){n=i;a=12;break}if(!(oz(n,91385)|0)){n=i;a=14;break}if(!(oz(n,91360)|0)){n=i;a=16;break}i=i+4|0}if((a|0)==10){i=i+4|0;A=A|1;continue}else if((a|0)==12){while(1){t=n;n=n+4|0;a=f[n>>2]|0;f[t>>2]=a;if(!a)break;else a=12}A=A|3;continue}else if((a|0)==14){while(1){a=n;n=n+4|0;t=f[n>>2]|0;f[a>>2]=t;if(!t)break;else a=14}A=A|64;continue}else if((a|0)==16){while(1){a=n;n=n+4|0;t=f[n>>2]|0;f[a>>2]=t;if(!t)break;else a=16}A=A|4;continue}}}else{i=0;A=0}}while(0);f[e>>2]=A;return i|0}function Ru(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,o=0,s=0;o=v;v=v+16|0;t=o;l=o+4|0;f[l>>2]=0;s=(vs(A,0,l)|0)==0;l=f[l>>2]|0;if((s?(n=f[l>>2]|0,(n|0)>=2):0)?(a=l+8|0,(f[f[a>>2]>>2]|0)!=0):0){if((n|0)>2)Iy(0,85446,t)|0;s=Pb((nz(A)|0)+1|0)|0;f[e>>2]=s;oJ(s,f[f[a>>2]>>2]|0)|0;if(!(f[(f[a>>2]|0)+12>>2]|0))f[e+4>>2]=0;else{s=f[e>>2]|0;s=s+((nz(s)|0)+1)|0;f[e+4>>2]=s;oJ(s,f[(f[a>>2]|0)+12>>2]|0)|0}A=f[a>>2]|0;do{if(!(r[A+8>>0]|0))if(!(r[A+20>>0]|0)){c[i>>2]=0.0;break}else{c[i>>2]=1.0-+c[A+16>>2];break}else f[i>>2]=f[A+4>>2]}while(0);Bs(l);A=1}else{f[e>>2]=0;Bs(l);A=0}v=o;return A|0}function Hu(A,e){A=A|0;e=e|0;kk(A,e);cs(A);return}function Lu(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0.0,s=0.0,u=0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0;G=v;v=v+96|0;B=G+48|0;h=G+16|0;Z=G+8|0;m=G;d=G+80|0;f[d>>2]=1e3;n=Pb(16e3)|0;g=A+256|0;r=1;t=1;a=0;k=0;w=f[e+8>>2]|0;while(1){if((k|0)>=(f[e>>2]|0))break;i=f[w>>2]|0;A:do{switch(i|0){case 1:case 0:{u=w+80|0;f[h>>2]=f[u>>2];f[h+4>>2]=f[u+4>>2];f[h+8>>2]=f[u+8>>2];f[h+12>>2]=f[u+12>>2];f[h+16>>2]=f[u+16>>2];f[h+20>>2]=f[u+20>>2];f[h+24>>2]=f[u+24>>2];f[h+28>>2]=f[u+28>>2];f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[g+16>>2];f[B+20>>2]=f[g+20>>2];f[B+24>>2]=f[g+24>>2];f[B+28>>2]=f[g+28>>2];if(!(Mu(h,B)|0))i=t;else{C=w+8|0;M=w+24|0;o[n>>3]=+o[C>>3]-+o[M>>3];u=w+16|0;I=w+32|0;o[n+8>>3]=+o[u>>3]-+o[I>>3];o[n+16>>3]=+o[M>>3]+ +o[C>>3];o[n+24>>3]=+o[I>>3]+ +o[u>>3];zk(A,n,2,(i|0)==0?t:0);i=t}break}case 3:case 2:{M=w+80|0;f[h>>2]=f[M>>2];f[h+4>>2]=f[M+4>>2];f[h+8>>2]=f[M+8>>2];f[h+12>>2]=f[M+12>>2];f[h+16>>2]=f[M+16>>2];f[h+20>>2]=f[M+20>>2];f[h+24>>2]=f[M+24>>2];f[h+28>>2]=f[M+28>>2];f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[g+16>>2];f[B+20>>2]=f[g+20>>2];f[B+24>>2]=f[g+24>>2];f[B+28>>2]=f[g+28>>2];if(!(Mu(h,B)|0))i=t;else{i=w+8|0;n=Fu(n,d,f[i+4>>2]|0,f[i>>2]|0)|0;Jk(A,n,f[i>>2]|0,(f[w>>2]|0)==2?t:0);i=t}break}case 5:case 4:{M=w+80|0;f[h>>2]=f[M>>2];f[h+4>>2]=f[M+4>>2];f[h+8>>2]=f[M+8>>2];f[h+12>>2]=f[M+12>>2];f[h+16>>2]=f[M+16>>2];f[h+20>>2]=f[M+20>>2];f[h+24>>2]=f[M+24>>2];f[h+28>>2]=f[M+28>>2];f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[g+16>>2];f[B+20>>2]=f[g+20>>2];f[B+24>>2]=f[g+24>>2];f[B+28>>2]=f[g+28>>2];if(!(Mu(h,B)|0))i=t;else{i=w+8|0;n=Fu(n,d,f[i+4>>2]|0,f[i>>2]|0)|0;Rk(A,n,f[i>>2]|0,0,0,(f[w>>2]|0)==4?t&255:0);i=t}break}case 6:{M=w+80|0;f[h>>2]=f[M>>2];f[h+4>>2]=f[M+4>>2];f[h+8>>2]=f[M+8>>2];f[h+12>>2]=f[M+12>>2];f[h+16>>2]=f[M+16>>2];f[h+20>>2]=f[M+20>>2];f[h+24>>2]=f[M+24>>2];f[h+28>>2]=f[M+28>>2];f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[g+16>>2];f[B+20>>2]=f[g+20>>2];f[B+24>>2]=f[g+24>>2];f[B+28>>2]=f[g+28>>2];if(!(Mu(h,B)|0))i=t;else{i=w+8|0;n=Fu(n,d,f[i+4>>2]|0,f[i>>2]|0)|0;Hk(A,n,f[i>>2]|0);i=t}break}case 7:{M=w+80|0;f[h>>2]=f[M>>2];f[h+4>>2]=f[M+4>>2];f[h+8>>2]=f[M+8>>2];f[h+12>>2]=f[M+12>>2];f[h+16>>2]=f[M+16>>2];f[h+20>>2]=f[M+20>>2];f[h+24>>2]=f[M+24>>2];f[h+28>>2]=f[M+28>>2];f[B>>2]=f[g>>2];f[B+4>>2]=f[g+4>>2];f[B+8>>2]=f[g+8>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[g+16>>2];f[B+20>>2]=f[g+20>>2];f[B+24>>2]=f[g+24>>2];f[B+28>>2]=f[g+28>>2];if(!(Mu(h,B)|0))i=t;else{o[n>>3]=+o[w+8>>3];o[n+8>>3]=+o[w+16>>3];i=f[w+112>>2]|0;f[B>>2]=f[n>>2];f[B+4>>2]=f[n+4>>2];f[B+8>>2]=f[n+8>>2];f[B+12>>2]=f[n+12>>2];yk(A,B,i);i=t}break}case 8:{Vk(A,f[w+8>>2]|0);i=1;break}case 9:{Yk(A,f[w+8>>2]|0);i=1;break}case 13:{if((f[w+8>>2]|0)!=2){i=w+16|0;C=f[i+36>>2]|0;M=f[C+12>>2]|0;b=+c[C+8>>2];i=~~(+H(+(+o[w+40>>3]-+o[w+24>>3]),+(+o[w+32>>3]-+o[i>>3]))*57.29577951308232);Vk(A,f[C+4>>2]|0);Nk(A,M,i,b);i=2;break A}M=f[w+68>>2]|0;t=f[M+4>>2]|0;u=f[M+12>>2]|0;b=+c[M+8>>2];l=+o[w+40>>3];s=+o[w+16>>3];if(l==s?+o[w+48>>3]==+o[w+24>>3]:0)i=0;else i=~~(+J(+((s-l)/+o[w+32>>3]))*57.29577951308232);Vk(A,t);Nk(A,u,i,b);i=3;break}case 14:{Iy(0,85512,m)|0;i=t;break}case 12:{if(!r){r=0;i=t}else{Iy(0,85552,Z)|0;r=0;i=t}break}case 11:{xs(f[w+8>>2]|0)|0;Wk(A,168408);a=168408;i=t;break}default:i=t}}while(0);t=i;k=k+1|0;w=w+120|0}if(a|0)Wk(A,f[(f[A>>2]|0)+336>>2]|0);HW(n);v=G;return}function Fu(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;a=f[e>>2]|0;n=a<<1;n=(n|0)>(r|0)?n:r;if((a|0)<(r|0)){A=Hb(A,n<<4)|0;f[e>>2]=n}e=0;while(1){if((e|0)>=(r|0))break;o[A+(e<<4)>>3]=+o[i+(e*24|0)>>3];o[A+(e<<4)+8>>3]=+o[i+(e*24|0)+8>>3];e=e+1|0}return A|0}function Du(A,e){A=A|0;e=e|0;var i=0;i=f[e>>2]|0;f[A>>2]=f[e+4>>2];f[A+4>>2]=i;return}function Xu(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;a=e+16|0;n=1;while(1){e=f[a>>2]|0;if((n|0)>(f[e+180>>2]|0))break;i=f[(f[e+184>>2]|0)+(n<<2)>>2]|0;Xu(A,i);e=aY(i,122540)|0;if(e|0?r[e>>0]|0:0)Yk(A,e);e=aY(i,122531)|0;if(e|0?r[e>>0]|0:0)Yk(A,e);e=aY(i,85423)|0;if(e|0?r[e>>0]|0:0)Yk(A,e);e=aY(i,86469)|0;if(e|0?r[e>>0]|0:0)Vk(A,e);e=aY(i,86503)|0;if(e|0?r[e>>0]|0:0)Yk(A,e);n=n+1|0}return}function xu(A){A=A|0;var e=0,i=0,r=0;e=f[42172]|0;if(!e){e=vy(19684,f[4345]|0)|0;f[42172]=e}if(!(mL[f[e>>2]&31](e,A,4)|0)){i=f[42172]|0;r=f[i>>2]|0;e=dP(A)|0;mL[r&31](i,e,1)|0;e=1}else e=0;return e|0}function Tu(A,e,i){A=A|0;e=e|0;i=i|0;HW(e);return}function Uu(A){A=A|0;var e=0;e=f[42173]|0;if(!A){if((e|0)>0?(e=e+-1|0,f[42173]=e,(e|0)==0):0){DJ(1,f[42174]|0)|0;HW(f[42174]|0)}}else{f[42173]=e+1;if(!e){f[42174]=dP(DJ(1,0)|0)|0;DJ(1,134865)|0}}return}function Su(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0.0;g=v;v=v+96|0;w=g+72|0;k=g+56|0;B=g+48|0;d=g+32|0;h=g+24|0;r=g+8|0;i=g;if(0)PI();do{if((cV(e,122277,0,1)|0)!=0?(b=e+16|0,(f[(f[b>>2]|0)+8>>2]|0)!=0):0){ju(e);Ou(A,e);Ku(A,e);Uu(1);l=A+56|0;c=A+184|0;s=A+192|0;u=A+28|0;t=Dl(A)|0;A:while(1){if(!t){a=33;break}i=f[l>>2]|0;if(!i){f[t+20>>2]=0;i=0}else{f[t+20>>2]=f[i+8>>2];i=f[i+12>>2]|0}f[t+24>>2]=i;f[t+12>>2]=A;f[t+28>>2]=f[c>>2];f[t+620>>2]=24748;f[t+624>>2]=14;if(!(f[(f[b>>2]|0)+8>>2]|0)){a=13;break}r=t+52|0;a=nk(t,f[r>>2]|0)|0;f[t+56>>2]=a;switch(a|0){case 999:{a=16;break A}case 21:{i=1;break}case 24:{i=520;break}default:i=_u(e)|0}n=t+152|0;f[n>>2]=f[n>>2]|i;i=f[s>>2]|0;do{if(!i)a=24;else{if(f[i+152>>2]&32|0?(oz(f[r>>2]|0,f[i+52>>2]|0)|0)==0:0){i=f[42175]|0;if(!i){a=27;break}f[i+8>>2]=t;f[t+36>>2]=f[i+36>>2];a=29;break}ak(i);f[s>>2]=0;f[u>>2]=0;a=24}}while(0);if((a|0)==24){f[42175]=0;a=27}if((a|0)==27?(a=0,(fk(t)|0)==0):0){f[s>>2]=t;a=29}if((a|0)==29){f[t+8>>2]=0;f[t+104>>2]=24860;qu(t);$u(t);Ab(t,e);eb(t,e);ib(t,e);if(!(f[n>>2]&128))ms(t,e);f[42175]=t}t=Xl(A)|0}if((a|0)==13){Iy(1,85710,h)|0;Uu(0);if(!0){i=-1;break}i=f[13918]|0;h=Ap(e)|0;m=+RI();f[d>>2]=h;o[d+8>>3]=m;uP(i,85681,d)|0;i=-1;break}else if((a|0)==16){f[B>>2]=f[r>>2];Iy(1,85731,B)|0;Uu(0);if(!0){i=-1;break}i=f[13918]|0;d=Ap(e)|0;m=+RI();f[k>>2]=d;o[k+8>>3]=m;uP(i,85681,k)|0;i=-1;break}else if((a|0)==33){Uu(0);if(!0){i=0;break}i=f[13918]|0;d=Ap(e)|0;m=+RI();f[w>>2]=d;o[w+8>>3]=m;uP(i,85681,w)|0;i=0;break}}else a=5}while(0);if((a|0)==5){Iy(1,85633,i)|0;if(!0)i=-1;else{i=f[13918]|0;d=Ap(e)|0;m=+RI();f[r>>2]=d;o[r+8>>3]=m;uP(i,85681,r)|0;i=-1}}v=g;return i|0}function ju(A){A=A|0;var e=0;e=Ep(A)|0;while(1){if(!e)break;tb(A,e);e=Qp(A,e)|0}return}function Ou(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0.0;b=v;v=v+32|0;c=b+24|0;n=b+16|0;l=b+8|0;u=b;f[A+168>>2]=e;a=A+293|0;r[a>>0]=0;i=aY(e,90530)|0;if(i|0?(f[n>>2]=l,f[n+4>>2]=u,t=XP(i,90537,n)|0,(t|0)>0):0){B=+o[l>>3]*72.0;i=A+208|0;o[i>>3]=B;o[A+200>>3]=B;if((t|0)!=1)o[i>>3]=+o[u>>3]*72.0;r[a>>0]=1}n=A+292|0;r[n>>0]=0;i=aY(e,86133)|0;if(i|0?(f[c>>2]=l,f[c+4>>2]=u,s=XP(i,90537,c)|0,(s|0)>0):0){B=+o[l>>3]*72.0;i=A+224|0;o[i>>3]=B;o[A+216>>3]=B;if((s|0)!=1)o[i>>3]=+o[u>>3]*72.0;r[n>>0]=1}i=A+294|0;r[i>>0]=0;n=A+232|0;a=e+16|0;u=(f[(f[a>>2]|0)+8>>2]|0)+48|0;f[n>>2]=f[u>>2];f[n+4>>2]=f[u+4>>2];f[n+8>>2]=f[u+8>>2];f[n+12>>2]=f[u+12>>2];n=f[(f[a>>2]|0)+8>>2]|0;if(+o[n+48>>3]>.001?+o[n+56>>3]>.001:0)r[i>>0]=1;f[A+288>>2]=r[n+81>>0]|0?90:0;i=A+196|0;f[i>>2]=86137;n=aY(e,86140)|0;if(n|0?r[n>>0]|0:0)f[i>>2]=n;u=A+256|0;s=(f[a>>2]|0)+16|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];f[u+12>>2]=f[s+12>>2];f[u+16>>2]=f[s+16>>2];f[u+20>>2]=f[s+20>>2];f[u+24>>2]=f[s+24>>2];f[u+28>>2]=f[s+28>>2];f[42186]=Ky(e,0,86535,0)|0;f[42187]=Ky(e,0,86520,0)|0;f[A+320>>2]=UI(0,f[42196]|0,93027)|0;o[A+328>>3]=+xI(0,f[42195]|0,14.0,1.0);f[A+336>>2]=19720;f[A+188>>2]=Ap(e)|0;v=b;return}function Ku(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;i=A+304|0;n=f[i>>2]|0;if(n|0){HW(n);f[i>>2]=0}n=A+308|0;i=f[n>>2]|0;if(i|0){HW(i);f[n>>2]=0}a=A+316|0;i=f[a>>2]|0;if(i|0){HW(i);f[a>>2]=0}i=aY(e,85884)|0;if(i){f[A+312>>2]=fb(A,e,i)|0;i=aY(e,85891)|0;if(i|0?r[i>>0]|0:0)f[a>>2]=ab(A,i)|0}else{f[n>>2]=0;f[A+312>>2]=1}return}function _u(A){A=A|0;A=aY(A,85852)|0;A:do{if(!A)A=0;else switch(r[A>>0]|0){case 110:{if(!(oz(A+1|0,85864)|0))A=1;else{A=0;break A}break}case 101:{if(!(oz(A+1|0,85874)|0))A=16;else{A=0;break A}break}default:{A=0;break A}}}while(0);return A|0}function qu(A){A=A|0;var e=0.0,i=0;i=f[A>>2]|0;if(!(r[i+292>>0]|0)){if((f[A+56>>2]|0)==300)e=+o[(f[A+68>>2]|0)+8>>3];else e=4.0;o[A+248>>3]=e;o[A+240>>3]=e}else{A=A+240|0;i=i+216|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2]}return}function $u(A){A=A|0;var e=0;e=f[A>>2]|0;A:do{if(!(r[e+293>>0]|0))switch(f[A+56>>2]|0){case 300:{e=A+416|0;A=(f[A+84>>2]|0)+8|0;f[e>>2]=f[A>>2];f[e+4>>2]=f[A+4>>2];f[e+8>>2]=f[A+8>>2];f[e+12>>2]=f[A+12>>2];break A}case 30:case 21:case 22:case 4:case 3:case 2:{o[A+424>>3]=36.0;o[A+416>>3]=36.0;break A}default:{e=A+416|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;break A}}else{A=A+416|0;e=e+200|0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2]}}while(0);return}function Ab(A,e){A=A|0;e=e|0;var i=0.0,n=0;n=f[(f[A>>2]|0)+192>>2]|0;i=+o[(f[(f[e+16>>2]|0)+8>>2]|0)+24>>3];do{if(!(i!=0.0)){if(n|0?r[n+128>>0]|0:0){A=A+432|0;n=n+112|0;f[A>>2]=f[n>>2];f[A+4>>2]=f[n+4>>2];f[A+8>>2]=f[n+8>>2];f[A+12>>2]=f[n+12>>2];break}e=A+432|0;if((f[A+56>>2]|0)==300){A=(f[A+84>>2]|0)+40|0;f[e>>2]=f[A>>2];f[e+4>>2]=f[A+4>>2];f[e+8>>2]=f[A+8>>2];f[e+12>>2]=f[A+12>>2];break}else{o[A+440>>3]=96.0;o[e>>3]=96.0;break}}else{o[A+440>>3]=i;o[A+432>>3]=i}}while(0);return}function eb(A,e){A=A|0;e=e|0;var i=0.0,n=0.0,a=0,t=0.0,l=0.0,c=0.0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0;M=v;v=v+112|0;d=M+80|0;g=M+56|0;h=M+40|0;m=M+32|0;Z=M+24|0;G=M+16|0;I=M+8|0;C=M;s=f[A>>2]|0;b=+o[s+272>>3];k=+o[s+280>>3];B=+o[s+256>>3];w=+o[s+264>>3];n=+o[A+240>>3];i=B-n;o[A+208>>3]=i;t=+o[A+248>>3];l=w-t;o[A+216>>3]=l;n=n+b;o[A+224>>3]=n;t=t+k;o[A+232>>3]=t;i=n-i;l=t-l;o[G>>3]=1.0;a=f[(f[e+16>>2]|0)+8>>2]|0;t=+o[a+64>>3];do{if(t>.001?(c=+o[a+72>>3],c>.001):0){i=i==0.0?t:i;n=l==0.0?c:l;if(!(tn&(t>i&(r[a+80>>0]|0)!=0)):0){c=i;l=n;t=1.0;break}u=t/i>3]=t;c=i;l=n}else{c=i;t=1.0}}while(0);n=(B+b)*.5;o[I>>3]=n;i=(w+k)*.5;o[C>>3]=i;f[A+360>>2]=f[s+288>>2];c=t*c;o[m>>3]=c;l=t*l;o[Z>>3]=l;a=aY(e,85783)|0;if(a){s=RW((nz(a)|0)+1|0)|0;u=RW((nz(a)|0)+1|0)|0;f[h>>2]=m;f[h+4>>2]=Z;f[h+8>>2]=G;f[h+12>>2]=s;do{if((XP(a,85792,h)|0)==4){a=Pp(f[e+60>>2]|0,s,0)|0;if(a|0){g=f[a+16>>2]|0;o[I>>3]=+o[g+16>>3];o[C>>3]=+o[g+24>>3]}}else{f[g>>2]=m;f[g+4>>2]=Z;f[g+8>>2]=G;f[g+12>>2]=s;f[g+16>>2]=u;if((XP(a,85812,g)|0)!=4){f[d>>2]=m;f[d+4>>2]=Z;f[d+8>>2]=G;f[d+12>>2]=I;f[d+16>>2]=C;XP(a,85832,d)|0;break}a=Pp(f[e+60>>2]|0,s,0)|0;if(a|0){g=f[a+16>>2]|0;o[I>>3]=+o[g+16>>3];o[C>>3]=+o[g+24>>3]}}}while(0);HW(s);HW(u);c=+o[m>>3];l=+o[Z>>3];t=+o[G>>3];n=+o[I>>3];i=+o[C>>3]}o[A+368>>3]=c;o[A+376>>3]=l;o[A+352>>3]=t;o[A+336>>3]=n;o[A+344>>3]=i;v=M;return}function ib(A,e){A=A|0;e=e|0;var i=0,n=0,a=0.0,t=0.0,l=0,c=0.0,s=0.0,u=0.0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0.0,L=0.0,F=0.0;R=v;v=v+224|0;z=R+200|0;C=R+168|0;Y=R+144|0;W=R+120|0;p=R+96|0;V=R+64|0;i=R+184|0;m=R+176|0;Z=R+160|0;I=R+136|0;G=R+112|0;M=R+80|0;E=R+48|0;Q=R+32|0;y=R+16|0;J=R+8|0;P=R;g=f[A>>2]|0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;N=A+368|0;f[W>>2]=f[N>>2];f[W+4>>2]=f[N+4>>2];f[W+8>>2]=f[N+8>>2];f[W+12>>2]=f[N+12>>2];N=A+360|0;if(f[N>>2]|0){f[z>>2]=f[W>>2];f[z+4>>2]=f[W+4>>2];f[z+8>>2]=f[W+8>>2];f[z+12>>2]=f[W+12>>2];rb(i,z);f[W>>2]=f[i>>2];f[W+4>>2]=f[i+4>>2];f[W+8>>2]=f[i+8>>2];f[W+12>>2]=f[i+12>>2]}d=A+416|0;f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2];f[p+12>>2]=f[d+12>>2];if((r[g+294>>0]|0)!=0?(f[A+152>>2]&32|0)!=0:0){t=+o[g+232>>3]-+o[p>>3]*2.0;o[Y>>3]=t;c=+o[g+240>>3]-+o[p+8>>3]*2.0;B=Y+8|0;o[B>>3]=c;if(!(t<.0001)){b=+o[W>>3];i=~~(b/t);n=A+164|0;f[n>>2]=i;if(b-t*+(i|0)>.0001){i=i+1|0;f[n>>2]=i}}else{f[A+164>>2]=1;i=1}if(!(c<.0001)){a=+o[W+8>>3];n=~~(a/c);l=A+168|0;f[l>>2]=n;if(a-c*+(n|0)>.0001){n=n+1|0;f[l>>2]=n}}else{f[A+168>>2]=1;n=1;a=+o[W+8>>3]}f[A+204>>2]=X(n,i)|0;b=+o[(+o[W>>3]>3];o[W>>3]=b;i=B;n=W;s=+o[(a>3];a=b;l=21}else{if(f[A+68>>2]|0){i=f[A+84>>2]|0;t=+o[i+24>>3]-+o[p>>3]*2.0;t=t<0.0?0.0:t;o[Y>>3]=t;b=+o[i+32>>3]-+o[p+8>>3]*2.0;i=Y+8|0;o[i>>3]=b;if(b<0.0){n=Y;l=17}else i=Y}else{o[Y+8>>3]=0.0;n=Y;i=Y;l=17}if((l|0)==17){o[i>>3]=0.0;i=n;t=+o[n>>3]}f[A+204>>2]=1;f[A+168>>2]=1;f[A+164>>2]=1;a=+o[W>>3];if(t>3]=a;t=a}i=Y+8|0;c=+o[i>>3];s=+o[W+8>>3];if(c>3]=s;w=i;s=+o[i>>3]}u=+o[p>>3];h=A+432|0;c=+o[h>>3]*.013888888888888888*(u*2.0+t);f[A+448>>2]=~~(c+(c>=0.0?.5:-.5));k=p+8|0;c=+o[k>>3];d=A+440|0;b=+o[d>>3]*.013888888888888888*(c*2.0+s);f[A+452>>2]=~~(b+(b>=0.0?.5:-.5));l=A+188|0;B=A+180|0;i=A+172|0;n=g+196|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;nb(m,A,r[f[n>>2]>>0]|0);g=m;m=f[g+4>>2]|0;i=B;f[i>>2]=f[g>>2];f[i+4>>2]=m;nb(Z,A,r[(f[n>>2]|0)+1>>0]|0);i=Z;Z=f[i>>2]|0;i=f[i+4>>2]|0;m=l;f[m>>2]=Z;f[m+4>>2]=i;Z=(f[B>>2]|0)+Z|0;if(!((((Z|0)>-1?Z:0-Z|0)|0)==1?(Z=(f[A+184>>2]|0)+i|0,(((Z|0)>-1?Z:0-Z|0)|0)==1):0)){nb(I,A,66);m=I;I=f[m+4>>2]|0;Z=B;f[Z>>2]=f[m>>2];f[Z+4>>2]=I;nb(G,A,76);Z=G;G=f[Z+4>>2]|0;I=l;f[I>>2]=f[Z>>2];f[I+4>>2]=G;f[C>>2]=f[n>>2];Iy(0,85763,C)|0}if(r[(f[(f[e+16>>2]|0)+8>>2]|0)+82>>0]|0){if(t>a){s=(t-a)*.5;o[V>>3]=s}else s=0.0;t=+o[w>>3];b=+o[W+8>>3];if(t>b){t=(t-b)*.5;o[V+8>>3]=t}else t=0.0}else{t=0.0;s=0.0}if(!(f[N>>2]|0))l=1;else{f[z>>2]=f[W>>2];f[z+4>>2]=f[W+4>>2];f[z+8>>2]=f[W+8>>2];f[z+12>>2]=f[W+12>>2];rb(M,z);f[W>>2]=f[M>>2];f[W+4>>2]=f[M+4>>2];f[W+8>>2]=f[M+8>>2];f[W+12>>2]=f[M+12>>2];f[z>>2]=f[Y>>2];f[z+4>>2]=f[Y+4>>2];f[z+8>>2]=f[Y+8>>2];f[z+12>>2]=f[Y+12>>2];rb(E,z);f[Y>>2]=f[E>>2];f[Y+4>>2]=f[E+4>>2];f[Y+8>>2]=f[E+8>>2];f[Y+12>>2]=f[E+12>>2];f[z>>2]=f[p>>2];f[z+4>>2]=f[p+4>>2];f[z+8>>2]=f[p+8>>2];f[z+12>>2]=f[p+12>>2];rb(Q,z);f[p>>2]=f[Q>>2];f[p+4>>2]=f[Q+4>>2];f[p+8>>2]=f[Q+8>>2];f[p+12>>2]=f[Q+12>>2];f[z>>2]=f[V>>2];f[z+4>>2]=f[V+4>>2];f[z+8>>2]=f[V+8>>2];f[z+12>>2]=f[V+12>>2];rb(y,z);f[V>>2]=f[y>>2];f[V+4>>2]=f[y+4>>2];f[V+8>>2]=f[y+8>>2];f[V+12>>2]=f[y+12>>2];u=+o[p>>3];s=+o[V>>3];c=+o[k>>3];t=+o[V+8>>3];a=+o[W>>3];l=(f[N>>2]|0)==0}b=s+u;o[A+384>>3]=b;L=t+c;o[A+392>>3]=L;H=s+u+a;o[A+400>>3]=H;F=+o[W+8>>3];u=t+c+F;o[A+408>>3]=u;s=+o[A+352>>3];o[A+320>>3]=a/s;o[A+328>>3]=F/s;s=+o[h>>3];b=b*.013888888888888888*s;n=A+456|0;f[n>>2]=~~(b+(b>=0.0?.5:-.5));b=+o[d>>3];c=L*.013888888888888888*b;f[A+460>>2]=~~(c+(c>=0.0?.5:-.5));s=H*.013888888888888888*s;i=A+464|0;f[i>>2]=~~(s+(s>=0.0?.5:-.5));b=u*.013888888888888888*b;f[A+468>>2]=~~(b+(b>=0.0?.5:-.5));if(!l){f[z>>2]=f[n>>2];f[z+4>>2]=f[n+4>>2];Du(J,z);W=J;J=f[W+4>>2]|0;A=n;f[A>>2]=f[W>>2];f[A+4>>2]=J;f[z>>2]=f[i>>2];f[z+4>>2]=f[i+4>>2];Du(P,z);A=P;J=f[A+4>>2]|0;P=i;f[P>>2]=f[A>>2];f[P+4>>2]=J}v=R;return}function rb(A,e){A=A|0;e=e|0;var i=0.0;i=+o[e>>3];o[A>>3]=+o[e+8>>3];o[A+8>>3]=i;return}function nb(A,e,i){A=A|0;e=e|0;i=i|0;i=(i<<24>>24)+-66|0;switch(i>>>1|i<<31|0){case 9:{f[e+176>>2]=(f[e+168>>2]|0)+-1;e=0;i=-1;break}case 0:{e=0;i=1;break}case 5:{e=1;i=0;break}case 8:{f[e+172>>2]=(f[e+164>>2]|0)+-1;e=-1;i=0;break}default:{e=0;i=0}}f[A>>2]=e;f[A+4>>2]=i;return}function fb(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;a=c;n=aY(e,86004)|0;l=A+296|0;f[l>>2]=(n|0)==0?86013:n;e=aY(e,86017)|0;n=A+300|0;e=(e|0)==0?86030:e;f[n>>2]=e;e=ZP(f[l>>2]|0,e)|0;if(e|0){f[a>>2]=r[e>>0];Iy(0,86032,a)|0;f[n>>2]=174185}e=dP(i)|0;f[A+304>>2]=e;t=A+308|0;n=0;A=0;while(1){i=kP(e,f[l>>2]|0)|0;if(!i)break;a=A+1|0;if((A|0)<(n|0))e=f[t>>2]|0;else{n=n+128|0;e=f[t>>2]|0;if(!e)e=Pb(n<<2)|0;else e=Hb(e,n<<2)|0;f[t>>2]=e}f[e+(a<<2)>>2]=i;A=a;e=0}if(A|0){l=Hb(f[t>>2]|0,(A<<2)+8|0)|0;f[t>>2]=l;f[l>>2]=0;f[(f[t>>2]|0)+(A+1<<2)>>2]=0}v=c;return A|0}function ab(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;c=o;l=A+312|0;i=Pb((f[l>>2]<<2)+8|0)|0;r=0;t=1;while(1){a=f[l>>2]|0;if((t|0)>(a|0))break;n=r+1|0;if((Gu(A,t,a,e)|0)<<24>>24){f[i+(n<<2)>>2]=t;r=n}t=t+1|0}if(!r){f[c>>2]=e;Iy(0,85903,c)|0;HW(i);i=0}else{f[i>>2]=r;f[i+(r+1<<2)>>2]=(f[l>>2]|0)+1}v=o;return i|0}function tb(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0.0;i=f[e+16>>2]|0;a=+o[i+16>>3];o[i+48>>3]=a-+o[i+88>>3];r=+o[i+24>>3];n=+o[i+80>>3]*.5;o[i+56>>3]=r-n;o[i+64>>3]=+o[i+96>>3]+a;o[i+72>>3]=n+r;e=bY(A,e)|0;while(1){if(!e)break;lb(e);e=BY(A,e)|0}return}function lb(A){A=A|0;A=f[(f[A+16>>2]|0)+8>>2]|0;if(A|0)cb(A);return}function cb(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0;Q=v;v=v+240|0;m=Q+192|0;g=Q+176|0;Z=Q+64|0;G=Q+32|0;I=Q;C=Q+144|0;M=Q+112|0;E=A+4|0;if((f[E>>2]|0)<=0)BA(86171,84925,3994,86185);e=f[A>>2]|0;i=Z;r=e;n=i+48|0;do{f[i>>2]=f[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));i=m;r=e;n=i+48|0;do{f[i>>2]=f[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));ob(G,m);t=G+8|0;l=I+8|0;c=G+16|0;s=I+16|0;u=G+24|0;b=I+24|0;B=Z+8|0;k=Z+12|0;w=Z+32|0;h=Z+4|0;d=Z+16|0;a=0;while(1){if((a|0)>=(f[E>>2]|0))break;if((a|0)>0){e=(f[A>>2]|0)+(a*48|0)|0;i=Z;r=e;n=i+48|0;do{f[i>>2]=f[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));i=m;r=e;n=i+48|0;do{f[i>>2]=f[r>>2];i=i+4|0;r=r+4|0}while((i|0)<(n|0));ob(I,m);o[G>>3]=+o[(+o[G>>3]<+o[I>>3]?G:I)>>3];o[t>>3]=+o[(+o[t>>3]<+o[l>>3]?G:I)+8>>3];o[c>>3]=+o[(+o[c>>3]>+o[s>>3]?G:I)+16>>3];o[u>>3]=+o[(+o[u>>3]>+o[b>>3]?G:I)+24>>3]}e=f[B>>2]|0;if(e|0){n=f[Z>>2]|0;f[g>>2]=f[d>>2];f[g+4>>2]=f[d+4>>2];f[g+8>>2]=f[d+8>>2];f[g+12>>2]=f[d+12>>2];f[m>>2]=f[n>>2];f[m+4>>2]=f[n+4>>2];f[m+8>>2]=f[n+8>>2];f[m+12>>2]=f[n+12>>2];ns(C,g,m,1.0,e);f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];f[I+16>>2]=f[C+16>>2];f[I+20>>2]=f[C+20>>2];f[I+24>>2]=f[C+24>>2];f[I+28>>2]=f[C+28>>2];o[G>>3]=+o[(+o[G>>3]<+o[I>>3]?G:I)>>3];o[t>>3]=+o[(+o[t>>3]<+o[l>>3]?G:I)+8>>3];o[c>>3]=+o[(+o[c>>3]>+o[s>>3]?G:I)+16>>3];o[u>>3]=+o[(+o[u>>3]>+o[b>>3]?G:I)+24>>3]}e=f[k>>2]|0;if(e|0){n=(f[Z>>2]|0)+((f[h>>2]|0)+-1<<4)|0;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[g+12>>2]=f[w+12>>2];f[m>>2]=f[n>>2];f[m+4>>2]=f[n+4>>2];f[m+8>>2]=f[n+8>>2];f[m+12>>2]=f[n+12>>2];ns(M,g,m,1.0,e);f[I>>2]=f[M>>2];f[I+4>>2]=f[M+4>>2];f[I+8>>2]=f[M+8>>2];f[I+12>>2]=f[M+12>>2];f[I+16>>2]=f[M+16>>2];f[I+20>>2]=f[M+20>>2];f[I+24>>2]=f[M+24>>2];f[I+28>>2]=f[M+28>>2];o[G>>3]=+o[(+o[G>>3]<+o[I>>3]?G:I)>>3];o[t>>3]=+o[(+o[t>>3]<+o[l>>3]?G:I)+8>>3];o[c>>3]=+o[(+o[c>>3]>+o[s>>3]?G:I)+16>>3];o[u>>3]=+o[(+o[u>>3]>+o[b>>3]?G:I)+24>>3]}a=a+1|0}E=A+8|0;f[E>>2]=f[G>>2];f[E+4>>2]=f[G+4>>2];f[E+8>>2]=f[G+8>>2];f[E+12>>2]=f[G+12>>2];f[E+16>>2]=f[G+16>>2];f[E+20>>2]=f[G+20>>2];f[E+24>>2]=f[G+24>>2];f[E+28>>2]=f[G+28>>2];v=Q;return}function ob(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0.0,d=0;u=v;v=v+48|0;t=u+32|0;l=u;c=f[e+4>>2]|0;if((c|0)<=0)BA(86201,84925,3968,86213);if(((c>>>0)%3|0|0)!=1)BA(86223,84925,3969,86213);s=l+16|0;i=f[e>>2]|0;f[s>>2]=f[i>>2];f[s+4>>2]=f[i+4>>2];f[s+8>>2]=f[i+8>>2];f[s+12>>2]=f[i+12>>2];f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];f[l+8>>2]=f[i+8>>2];f[l+12>>2]=f[i+12>>2];r=t+8|0;n=l+8|0;a=l+24|0;e=1;while(1){if((e|0)>=(c|0))break;B=+o[i+(e<<4)+8>>3];d=e+1|0;b=+o[i+(d<<4)+8>>3];w=(+o[i+(d<<4)>>3]+ +o[i+(e<<4)>>3])*.5;o[t>>3]=w;B=(b+B)*.5;o[r>>3]=B;b=+o[(+o[l>>3]>3];o[l>>3]=b;h=+o[(+o[n>>3]>3];o[n>>3]=h;w=+o[(+o[s>>3]>w?s:t)>>3];o[s>>3]=w;B=+o[(+o[a>>3]>B?s:t)+8>>3];o[a>>3]=B;d=i+(e+2<<4)|0;f[t>>2]=f[d>>2];f[t+4>>2]=f[d+4>>2];f[t+8>>2]=f[d+8>>2];f[t+12>>2]=f[d+12>>2];k=+o[t>>3];o[l>>3]=+o[(b>3];b=+o[r>>3];o[n>>3]=+o[(h>3];o[s>>3]=+o[(w>k?s:t)>>3];o[a>>3]=+o[(B>b?s:t)+8>>3];e=e+3|0}f[A>>2]=f[l>>2];f[A+4>>2]=f[l+4>>2];f[A+8>>2]=f[l+8>>2];f[A+12>>2]=f[l+12>>2];f[A+16>>2]=f[l+16>>2];f[A+20>>2]=f[l+20>>2];f[A+24>>2]=f[l+24>>2];f[A+28>>2]=f[l+28>>2];v=u;return}function sb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,f=0.0,a=0.0,t=0,l=0.0,c=0,s=0,u=0.0,b=0.0,v=0.0,B=0.0,k=0.0,w=0.0;k=+o[A>>3];w=+o[i>>3];c=!(k>=w);if((!c?k<=+o[i+16>>3]:0)?(n=+o[A+8>>3],n>=+o[i+8>>3]):0)t=n<=+o[i+24>>3];else t=0;n=+o[e>>3];if((n>=w?n<=+o[i+16>>3]:0)?(f=+o[e+8>>3],f>=+o[i+8>>3]):0){r=f<=+o[i+24>>3];if(!(t^r))if(t&r)r=1;else s=11;else r=0}else if(t)r=0;else s=11;A:do{if((s|0)==11){B=+o[A+8>>3];do{if(k==n){w=+o[i+8>>3];if(!(c|B>=w^+o[e+8>>3]>=w^1)?k<=+o[i+16>>3]:0){r=0;break A}}else{l=+o[e+8>>3];if(B==l){if(!(k>=w^n>=w))break;if(!(B>=+o[i+8>>3]))break;if(!(B<=+o[i+24>>3]))break;else{r=0;break A}}v=(l-B)/(n-k);s=k>3];if(!(!(w>=a)|!(w<=n)|!(f>=u))?f<=+o[i+24>>3]:0){r=0;break A}b=+o[i+16>>3];f=(b-w)*v+f;if(f>=u?!(!(b<=n)|(b>=a?!(f<=+o[i+24>>3]):1)):0){r=0;break A}s=B=w?!(!(u<=f)|(!(u>=a)|!(n<=b))):0){r=0;break A}B=+o[i+24>>3];k=(B-u)/v+n;if(k>=w?!(!(B<=f)|(!(B>=a)|!(k<=b))):0){r=0;break A}}}while(0);r=-1}}while(0);return r|0}function ub(A){A=A|0;var e=0,i=0.0;e=A+16|0;i=+o[e>>3];o[A+32>>3]=i;o[A+48>>3]=i;o[A+40>>3]=+o[A+24>>3];o[A+56>>3]=+o[A+8>>3];o[e>>3]=+o[A>>3];return}function bb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,a=0.0,t=0.0;if((f[42176]|0)!=(i|0)){pz(+(i|0)*.15915494309189535,167112,167120);f[42176]=i}a=+o[e>>3];r=+o[20890];n=+o[e+8>>3];t=+o[20889];o[A>>3]=r*a-t*n;o[A+8>>3]=t*a+n*r;return}function vb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0.0,t=0,l=0,c=0;c=v;v=v+16|0;n=c;r=+o[e>>3];t=e+8|0;a=+o[t>>3];A:do{switch(i|0){case 0:{l=11;break}case 90:{o[e>>3]=a;r=-r;l=10;break}case 180:{r=-a;l=10;break}case 270:{o[e>>3]=a;l=10;break}default:{if((i|0)<0){f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];Bb(A,n,0-i|0);break A}if((i|0)>360){f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];vb(A,n,(i>>>0)%360|0);break A}else{f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];bb(A,n,i);break A}}}}while(0);if((l|0)==10){o[t>>3]=r;l=11}if((l|0)==11){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2]}v=c;return}function Bb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0.0,t=0,l=0,c=0;c=v;v=v+16|0;n=c;r=+o[e>>3];t=e+8|0;a=+o[t>>3];A:do{switch(i|0){case 0:{l=11;break}case 90:{o[e>>3]=-a;l=10;break}case 180:{r=-a;l=10;break}case 270:{o[e>>3]=a;l=10;break}default:{if((i|0)<0){f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];vb(A,n,0-i|0);break A}if((i|0)>360){f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];Bb(A,n,(i>>>0)%360|0);break A}else{f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];bb(A,n,360-i|0);break A}}}}while(0);if((l|0)==10){o[t>>3]=r;l=11}if((l|0)==11){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2]}v=c;return}function kb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0,a=0.0;a=+o[i>>3];r=+o[i+8>>3];f=r+ +o[e>>3];n=a+ +o[e+24>>3];r=r+ +o[e+16>>3];o[A>>3]=a+ +o[e+8>>3];o[A+8>>3]=f;o[A+16>>3]=n;o[A+24>>3]=r;return}function wb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0,a=0.0;f=+o[A>>3];r=+o[e>>3]-f;a=+o[A+8>>3];n=+o[e+8>>3]-a;f=(+o[i+8>>3]-a)*r-(+o[i>>3]-f)*n;f=f*f;return+(f<1.0e-10?0.0:f/(n*n+r*r))}function hb(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+16|0;a=u+8|0;t=u;i=Jb(96)|0;s=A+16|0;f[(f[s>>2]|0)+8>>2]=i;i=aY(A,86250)|0;if(!i){i=DA(86259)|0;if(i|0)c=3}else c=3;if((c|0)==3)KA(86271,i|0,1)|0;i=(db(A)|0)&255;r[(f[s>>2]|0)+115>>0]=i;if(0==0?(i=aY(A,86282)|0,f[42178]=i,(i|0)==0):0)f[42178]=f[42177];n=+xI(A,Ky(A,0,86292,0)|0,0.0,0.0);o[f[(f[s>>2]|0)+8>>2]>>3]=n;i=aY(A,86300)|0;A:do{if(!i)i=0;else{switch(r[i>>0]|0){case 76:{if(!(oz(i,86308)|0)){i=1;break A}break}case 66:{if(!(oz(i,86311)|0)){i=2;break A}break}case 82:{i=(oz(i,86314)|0)==0;i=i?3:0;break A}default:{i=0;break A}}i=0}}while(0);f[(f[s>>2]|0)+116>>2]=i<<2|(e<<24>>24==0?0:i);n=+xI(A,Ky(A,0,86317,0)|0,.25,.02);o[t>>3]=n;n=n*72.0;f[(f[s>>2]|0)+248>>2]=~~(n+(n>=0.0?.5:-.5));i=TI(A,Ky(A,0,86325,0)|0,0)|0;if(i){f[a>>2]=t;if(XP(i,86246,a)|0){n=+o[t>>3];if(n<.02){o[t>>3]=.02;n=.02}}else{o[t>>3]=.5;n=.5}if(jJ(i,86333)|0)r[(f[s>>2]|0)+276>>0]=1}else{o[t>>3]=.5;n=.5}n=n*72.0;f[(f[s>>2]|0)+252>>2]=~~(n+(n>=0.0?.5:-.5));t=(XI(A,Ky(A,0,86341,0)|0,0,0)|0)&255;r[(f[s>>2]|0)+243>>0]=t;t=aC(TI(A,Ky(A,0,86351,0)|0,0)|0,19732,19748)|0;f[(f[s>>2]|0)+244>>2]=t;gb(A);t=mb(A,86361,(f[(f[s>>2]|0)+8>>2]|0)+64|0)|0;i=f[(f[s>>2]|0)+8>>2]|0;r[i+80>>0]=t;mb(A,86366,i+48|0)|0;i=jI(aY(A,86371)|0)|0;r[(f[(f[s>>2]|0)+8>>2]|0)+82>>0]=i;i=aY(A,86378)|0;do{if(!i){i=aY(A,86385)|0;if(i|0){i=(r[i>>0]|32)<<24>>24==108&1;c=27;break}i=aY(A,86397)|0;if(i|0){i=jI(i)|0;c=27}}else{i=(nR(i)|0)==90&1;c=27}}while(0);if((c|0)==27)r[(f[(f[s>>2]|0)+8>>2]|0)+81>>0]=i;f[42180]=aC(aY(A,86407)|0,19764,19780)|0;r[174080]=jI(aY(A,86419)|0)|0;f[42182]=0;f[42183]=0;o[(f[(f[s>>2]|0)+8>>2]|0)+24>>3]=0.0;i=aY(A,86431)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0)c=32;else c=30;if(((c|0)==30?(l=aY(A,86435)|0,l|0):0)?r[l>>0]|0:0){i=l;c=32}if((c|0)==32){n=+fR(i);o[(f[(f[s>>2]|0)+8>>2]|0)+24>>3]=n}Zb(A);f[42185]=Ky(A,0,86446,0)|0;f[42188]=Ky(A,0,86455,0)|0;f[42189]=Ky(A,0,90530,0)|0;f[42190]=Ky(A,1,96049,0)|0;f[42191]=Ky(A,1,96043,0)|0;f[42192]=Ky(A,1,90671,0)|0;f[42193]=Ky(A,1,122540,0)|0;f[42194]=Ky(A,1,86469,0)|0;f[42202]=Ky(A,1,86479,0)|0;f[42195]=Ky(A,1,86485,0)|0;f[42196]=Ky(A,1,86494,0)|0;f[42197]=Ky(A,1,86503,0)|0;c=Ky(A,1,86240,0)|0;f[42199]=c;if(!c)f[42199]=Ky(A,1,86240,90527)|0;f[42200]=Ky(A,1,86513,0)|0;f[42203]=Ky(A,1,86341,0)|0;f[42217]=Ky(A,1,86520,0)|0;f[42206]=Ky(A,1,86446,0)|0;f[42198]=Ky(A,1,90530,0)|0;f[42204]=Ky(A,1,86529,0)|0;f[42205]=Ky(A,1,86535,0)|0;f[42208]=Ky(A,1,86547,0)|0;f[42207]=Ky(A,1,86385,0)|0;f[42209]=Ky(A,1,86552,0)|0;f[42210]=Ky(A,1,86563,0)|0;f[42211]=Ky(A,1,122089,0)|0;f[42201]=Ky(A,1,86573,0)|0;f[42212]=Ky(A,1,86583,0)|0;f[42213]=Ky(A,1,86589,0)|0;f[42214]=Ky(A,1,86595,0)|0;f[42215]=Ky(A,1,86603,0)|0;f[42216]=Ky(A,1,86612,0)|0;f[42218]=Ky(A,1,86455,0)|0;f[42219]=Ky(A,2,86614,0)|0;f[42221]=Ky(A,2,122540,0)|0;f[42222]=Ky(A,2,86469,0)|0;f[42224]=Ky(A,2,86485,0)|0;f[42225]=Ky(A,2,86494,0)|0;f[42226]=Ky(A,2,86503,0)|0;f[42227]=Ky(A,2,86240,0)|0;f[42228]=Ky(A,2,86513,0)|0;f[42237]=Ky(A,2,86621,0)|0;f[42229]=Ky(A,2,86632,0)|0;f[42240]=Ky(A,2,86636,0)|0;f[42241]=Ky(A,2,86646,0)|0;f[42242]=Ky(A,2,86656,0)|0;f[42243]=Ky(A,2,86666,0)|0;f[42244]=Ky(A,2,86676,0)|0;f[42245]=Ky(A,2,86690,0)|0;f[42246]=Ky(A,2,86704,0)|0;f[42247]=Ky(A,2,86719,0)|0;f[42248]=Ky(A,2,86733,0)|0;f[42220]=Ky(A,2,86744,0)|0;f[42232]=Ky(A,2,86341,0)|0;f[42230]=Ky(A,2,86479,0)|0;f[42231]=Ky(A,2,86751,0)|0;f[42233]=Ky(A,2,86760,0)|0;f[42234]=Ky(A,2,86770,0)|0;f[42235]=Ky(A,2,86583,0)|0;f[42236]=Ky(A,2,86595,0)|0;f[42249]=Ky(A,2,86781,0)|0;f[42250]=Ky(A,2,86790,0)|0;f[42251]=Ky(A,2,86520,0)|0;i=ts(A)|0;f[(f[(f[s>>2]|0)+8>>2]|0)+88>>2]=i;i=aY(A,86799)|0;if(i|0?r[i>>0]|0:0){A=pb(i,A)|0;f[(f[(f[s>>2]|0)+8>>2]|0)+92>>2]=A}v=u;return}function db(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;A=UI(A,Ky(A,0,86883,0)|0,86891)|0;if(((((((Oz(A,86897)|0)!=0?(Oz(A,86905)|0)!=0:0)?(Oz(A,86912)|0)!=0:0)?(Oz(A,86915)|0)!=0:0)?(Oz(A,86926)|0)!=0:0)?(Oz(A,86937)|0)!=0:0)?(Oz(A,86947)|0)!=0:0)if((Oz(A,86958)|0)!=0?(Oz(A,86964)|0)!=0:0)if((Oz(A,86891)|0)!=0?(Oz(A,86969)|0)!=0:0){f[e>>2]=A;Iy(0,86974,e)|0;A=0}else A=0;else A=2;else A=1;v=i;return A|0}function gb(A){A=A|0;var e=0.0,i=0,n=0;i=aY(A,86841)|0;A:do{if(i|0?(n=r[i>>0]|0,n<<24>>24):0)switch(n<<24>>24|0){case 97:{if(n<<24>>24!=97)break A;if(oz(i,86847)|0)break A;f[(f[(f[A+16>>2]|0)+8>>2]|0)+84>>2]=4;break A}case 99:{if(n<<24>>24!=99)break A;if(oz(i,86852)|0)break A;f[(f[(f[A+16>>2]|0)+8>>2]|0)+84>>2]=3;break A}case 101:{if(n<<24>>24!=101)break A;if(oz(i,86861)|0)break A;f[(f[(f[A+16>>2]|0)+8>>2]|0)+84>>2]=5;break A}case 102:{if(n<<24>>24!=102)break A;if(oz(i,86868)|0)break A;f[(f[(f[A+16>>2]|0)+8>>2]|0)+84>>2]=2;break A}default:{e=+fR(i);if(!(e>0.0))break A;A=f[(f[A+16>>2]|0)+8>>2]|0;f[A+84>>2]=1;o[A+16>>3]=e;break A}}}while(0);return}function mb(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0.0,t=0,l=0,c=0,s=0,u=0,b=0;b=v;v=v+48|0;s=b+32|0;t=b+16|0;c=b+8|0;l=b;u=b+40|0;r[u>>0]=0;A=aY(A,e)|0;do{if(A){f[t>>2]=c;f[t+4>>2]=l;f[t+8>>2]=u;t=(XP(A,86825,t)|0)>1;a=+o[c>>3];n=+o[l>>3];if(t&a>0.0&n>0.0){a=a*72.0;o[i>>3]=+(~~(a+(a>=0.0?.5:-.5))|0);a=n*72.0;o[i+8>>3]=+(~~(a+(a>=0.0?.5:-.5))|0);A=(r[u>>0]|0)==33;break}r[u>>0]=0;f[s>>2]=c;f[s+4>>2]=u;s=(XP(A,86835,s)|0)>0;n=+o[c>>3];if(s&n>0.0){a=n*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);o[i>>3]=a;o[i+8>>3]=a;A=(r[u>>0]|0)==33}else A=0}else A=0}while(0);v=b;return A&1|0}function Zb(A){A=A|0;var e=0,i=0,n=0.0,a=0.0,t=0;e=aY(A,86240)|0;do{if(e|0?r[e>>0]|0:0){i=(f[(f[A+60>>2]|0)+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|8;i=(MV(e)|0)!=0;a=+xI(A,Ky(A,0,86485,0)|0,14.0,1.0);t=UI(A,Ky(A,0,86494,0)|0,93027)|0;e=Mb(A,e,i?2:0,a,t,UI(A,Ky(A,0,86503,0)|0,122106)|0)|0;t=A+16|0;f[(f[t>>2]|0)+12>>2]=e;e=aY(A,90662)|0;i=(e|0)!=0;do{if((Dp(A)|0)==(A|0)){if(i?(r[e>>0]|0)==116:0){e=1;break}e=0}else{if(i?(r[e>>0]|0)==98:0){e=0;break}e=1}}while(0);i=aY(A,86802)|0;A:do{if(i)switch(r[i>>0]|0){case 108:{e=e|2;break A}case 114:{e=e|4;break A}default:break A}}while(0);r[(f[t>>2]|0)+275>>0]=e;if((Dp(A)|0)!=(A|0)){e=f[(f[t>>2]|0)+12>>2]|0;n=+o[e+24>>3]+16.0;a=+o[e+32>>3]+8.0;A=(f[(f[(Dp(A)|0)+16>>2]|0)+116>>2]&1|0)==0;e=f[t>>2]|0;i=r[e+275>>0]<<1&2;if(A){A=i&255;o[e+48+(A<<4)>>3]=n;o[e+48+(A<<4)+8>>3]=a;break}else{A=(i^3)&255;o[e+48+(A<<4)>>3]=a;o[e+48+(A<<4)+8>>3]=n;break}}}}while(0);return}function Gb(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;i=f[r>>2]|0;e=f[i+8>>2]|0;do{if(!e)e=i;else{i=f[e+88>>2]|0;if(i){Ro(i);i=f[r>>2]|0;e=f[i+8>>2]|0;if(!e){e=i;break}}HW(f[e+92>>2]|0);e=f[r>>2]|0}}while(0);HW(f[e+8>>2]|0);r=f[r>>2]|0;f[r+8>>2]=0;yb(f[r+12>>2]|0);BV(A,0,122277);return}function Ib(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;n=f[e>>2]|0;s=e+24|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;if(r[n>>0]|0){l=Pb((nz(n)|0)+1|0)|0;r[l>>0]=0;c=e+12|0;i=l;A:while(1){e:while(1){t=n+1|0;a=r[n>>0]|0;if(!(a<<24>>24))break A;if(!(a<<24>>24==-1|((a&255)<161|(f[c>>2]|0)!=2))){r[i>>0]=a;t=r[t>>0]|0;a=i+2|0;r[i+1>>0]=t;if(!(t<<24>>24)){i=a;break A}else{i=a;n=n+2|0;continue}}switch(a<<24>>24){case 92:break e;case 10:{o=12;break e}default:{}}r[i>>0]=a;i=i+1|0;n=t}if((o|0)==12){o=0;n=i+1|0;r[i>>0]=0;Cb(A,e,l,110);i=n;l=n;n=t;continue}a=r[t>>0]|0;switch(a<<24>>24|0){case 114:case 108:case 110:{a=i+1|0;r[i>>0]=0;Cb(A,e,l,r[t>>0]|0);i=a;break}default:{r[i>>0]=a;i=i+1|0;a=l}}l=a;n=(r[t>>0]|0)==0?t:n+2|0}if((l|0)!=(i|0)){r[i>>0]=0;Cb(A,e,l,110)}e=e+40|0;f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[e+12>>2]=f[s+12>>2]}return}function Cb(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+32|0;k=h+16|0;B=h;w=e+76|0;c=n[w>>1]|0;b=e+72|0;s=f[b>>2]|0;if(!s)u=Jb((c*56|0)+112|0)|0;else u=Rb(s,c+2|0,56,c+1|0)|0;f[b>>2]=u;c=n[w>>1]|0;s=u+(c*56|0)|0;f[s>>2]=i;r[u+(c*56|0)+48>>0]=a;if((i|0)!=0?(r[i>>0]|0)!=0:0){f[41782]=f[e+4>>2];o[20893]=+o[e+16>>3];a=f[A+144>>2]|0;f[u+(c*56|0)+4>>2]=mL[f[a>>2]&31](a,167128,1)|0;yI(B,A,s);l=+o[B>>3];o[k>>3]=l;t=+o[B+8>>3]}else{o[k>>3]=0.0;t=+(~~(+o[e+16>>3]*1.2)|0);o[u+(c*56|0)+40>>3]=t;l=0.0}n[w>>1]=(n[w>>1]|0)+1<<16>>16;w=e+24|0;o[w>>3]=+o[(+o[w>>3]>l?w:k)>>3];w=e+32|0;o[w>>3]=+o[w>>3]+t;v=h;return}function Mb(A,e,i,n,t,l){A=A|0;e=e|0;i=i|0;n=+n;t=t|0;l=l|0;var c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+32|0;w=g+16|0;k=g+8|0;B=g;d=Jb(88)|0;switch(qp(A)|0){case 0:{s=0;h=f[A+60>>2]|0;u=A;b=0;break}case 1:{s=0;h=Dp(Fp(A)|0)|0;u=0;b=A;break}case 2:{s=A;h=Dp(Fp(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)|0;u=0;b=0;break}default:{s=0;h=0;u=0;b=0}}f[d+4>>2]=t;f[d+8>>2]=l;o[d+16>>3]=n;c=h+16|0;l=d+12|0;f[l>>2]=a[(f[c>>2]|0)+115>>0];A:do{if(i&4){f[d>>2]=dP(e)|0;if(i&2|0)r[d+82>>0]=1}else switch(i|0){case 2:{f[d>>2]=dP(e)|0;r[d+82>>0]=1;if(!(jh(A,d)|0))break A;switch(qp(A)|0){case 0:{f[B>>2]=Ap(u)|0;Iy(3,87017,B)|0;break A}case 1:{f[k>>2]=Ap(b)|0;Iy(3,87039,k)|0;break A}case 2:{B=Ap(f[((f[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;k=(FY(h)|0)!=0;h=Ap(f[((f[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0)|0;f[w>>2]=B;f[w+4>>2]=k?122546:122549;f[w+8>>2]=h;Iy(3,87060,w)|0;break A}default:break A}}case 0:{t=Eb(e,A,0)|0;f[d>>2]=t;if((f[l>>2]|0)==1)t=RC(t)|0;else t=zC(t,h)|0;HW(f[d>>2]|0);f[d>>2]=t;Ib(f[(f[c>>2]|0)+144>>2]|0,d);break A}default:BA(87087,87103,166,87112)}}while(0);v=g;return d|0}function Eb(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;switch(qp(e)|0){case 0:{l=Ap(e)|0;a=nz(l)|0;n=f[(f[e+16>>2]|0)+12>>2]|0;if(n){n=f[n>>2]|0;if(!A){m=0;d=2;g=2;h=2;t=2;I=87135;u=87132;c=90527;v=174185;k=174185;B=0;w=0;b=2;Z=n;G=87129}else{m=0;d=2;g=2;h=2;t=2;I=87135;u=87132;c=90527;v=174185;k=174185;B=0;w=0;b=nz(n)|0;Z=n;G=87129}}else{m=0;d=2;g=2;h=2;t=2;I=87135;u=87132;c=90527;v=174185;k=174185;B=0;w=0;b=2;Z=87123;G=87129}break}case 1:{l=Ap(Fp(e)|0)|0;a=nz(l)|0;c=Ap(e)|0;t=nz(c)|0;n=f[(f[e+16>>2]|0)+104>>2]|0;if(n){n=f[n>>2]|0;if(!A){m=0;d=2;g=2;h=2;I=87135;u=87132;v=174185;k=174185;B=0;w=0;b=2;Z=n;G=87129}else{m=0;d=2;g=2;h=2;I=87135;u=87132;v=174185;k=174185;B=0;w=0;b=nz(n)|0;Z=n;G=87129}}else{m=0;d=2;g=2;h=2;I=87135;u=87132;v=174185;k=174185;B=0;w=0;b=2;Z=87123;G=87129}break}case 2:{t=e+48|0;l=Ap(Dp(Fp(f[((f[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0)|0;a=nz(l)|0;s=Ap(f[((f[e>>2]&3|0)==3?e:t)+40>>2]|0)|0;o=nz(s)|0;n=e+16|0;k=f[(f[n>>2]|0)+52>>2]|0;if(!k)w=0;else w=nz(k)|0;u=Ap(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;n=f[n>>2]|0;v=f[n+92>>2]|0;if(!v)B=0;else B=nz(v)|0;c=nz(u)|0;n=f[n+96>>2]|0;if(n){n=f[n>>2]|0;if(!A)b=2;else b=nz(n)|0}else{b=2;n=87123}G=(FY(Dp(Fp(f[((f[e>>2]&3|0)==3?e:t)+40>>2]|0)|0)|0)|0)==0;m=1;d=o;g=c;h=o+2+(w|0?w+1|0:0)+c+(B|0?B+1|0:0)|0;t=2;I=s;c=90527;Z=n;G=G?122549:122546;break}default:{m=0;d=2;g=2;h=2;t=2;a=2;I=87135;u=87132;c=90527;l=87126;v=174185;k=174185;B=0;w=0;b=2;Z=87123;G=87129}}i=(i|0)==0;s=0;n=A;A:while(1){e=n+1|0;e:do{switch(r[n>>0]|0){case 0:break A;case 92:{n=n+2|0;switch(r[e>>0]|0){case 78:{o=t;break e}case 71:{o=a;break e}case 69:{o=h;break e}case 72:{o=g;break e}case 84:{o=d;break e}case 76:{o=b;break e}case 92:{if(!i){o=1;break e}break}default:{}}o=2;break}default:{o=1;n=e}}}while(0);s=s+o|0}h=Pb(s+1|0)|0;b=(m|0)==0;s=(w|0)==0;e=(B|0)==0;n=h;a=A;A:while(1){o=a+1|0;t=r[a>>0]|0;switch(t<<24>>24){case 0:break A;case 92:break;default:{r[n>>0]=t;n=n+1|0;a=o;continue A}}t=a+2|0;a=r[o>>0]|0;switch(a<<24>>24|0){case 71:{a=l;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}a=a+1|0;n=n+1|0}}case 78:{a=c;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}a=a+1|0;n=n+1|0}}case 69:{if(b){a=t;continue A}else a=I;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24))break;a=a+1|0;n=n+1|0}if(s)a=G;else{r[n>>0]=58;a=k;while(1){n=n+1|0;A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=G;break}else a=a+1|0}}while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=u;break}a=a+1|0;n=n+1|0}while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24))break;a=a+1|0;n=n+1|0}if(e){a=t;continue A}r[n>>0]=58;a=v;while(1){n=n+1|0;A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}else a=a+1|0}}case 84:{a=I;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}a=a+1|0;n=n+1|0}}case 72:{a=u;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}n=n+1|0;a=a+1|0}}case 76:{a=Z;while(1){A=r[a>>0]|0;r[n>>0]=A;if(!(A<<24>>24)){a=t;continue A}n=n+1|0;a=a+1|0}}case 92:{if(!i){r[n>>0]=92;n=n+1|0;a=t;continue A}break}default:{}}r[n>>0]=92;r[n+1>>0]=a;n=n+2|0;a=t}r[n>>0]=0;return h|0}function Qb(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;if(A|0){i=A;r=0;while(1){if((r|0)>=(e|0))break;if(!r)HW(f[i>>2]|0);a=f[i+8>>2]|0;if(a|0?(n=f[i+12>>2]|0,n|0):0)ML[n&127](a);i=i+56|0;r=r+1|0}HW(A)}return}function yb(A){A=A|0;var e=0;if(A|0){HW(f[A>>2]|0);e=A+72|0;if(r[A+82>>0]|0){e=f[e>>2]|0;if(e|0)Nh(e,1)}else Qb(f[e>>2]|0,n[A+76>>1]|0);HW(A)}return}function Yb(A,e,i){A=A|0;e=e|0;i=i|0;var a=0.0,t=0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+32|0;k=g+16|0;w=g;c=f[A+16>>2]|0;h=c+12|0;d=f[h>>2]|0;f[h>>2]=e;if(!(r[i+82>>0]|0)){B=i+76|0;if((n[B>>1]|0)>=1){Ek(A,0);Yk(A,f[i+8>>2]|0);switch(r[i+80>>0]|0){case 116:{l=+o[i+64>>3];a=+o[i+48>>3]*.5+l;break}case 98:{l=+o[i+64>>3];a=+o[i+48>>3]*-.5+l+ +o[i+32>>3];break}default:{l=+o[i+64>>3];a=+o[i+32>>3]*.5+l}}a=a-+o[i+16>>3];b=w+8|0;o[b>>3]=a;if(n[c+260>>1]&512)o[b>>3]=a-l;s=i+72|0;u=i+56|0;t=i+40|0;e=0;while(1){if((e|0)>=(n[B>>1]|0))break;c=f[s>>2]|0;switch(r[c+(e*56|0)+48>>0]|0){case 108:{a=+o[u>>3]-+o[t>>3]*.5;break}case 114:{a=+o[t>>3]*.5+ +o[u>>3];break}default:a=+o[u>>3]}o[w>>3]=a;f[k>>2]=f[w>>2];f[k+4>>2]=f[w+4>>2];f[k+8>>2]=f[w+8>>2];f[k+12>>2]=f[w+12>>2];yk(A,k,c+(e*56|0)|0);o[b>>3]=+o[b>>3]-+o[(f[s>>2]|0)+(e*56|0)+40>>3];e=e+1|0}Qk(A);t=18}}else{uh(A,f[i+72>>2]|0,i);t=18}if((t|0)==18)f[h>>2]=d;v=g;return}function pb(A,e){A=A|0;e=e|0;return Eb(A,e,1)|0}function Vb(A){A=A|0;return Nb(A,0)|0}function Nb(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;i=f[42252]|0;if(!i){f[42253]=64;i=Pb(64)|0;f[42252]=i}c=e<<24>>24==0;l=0;n=0;t=A;while(1){if(!t)break;e=r[t>>0]|0;if(!(e<<24>>24))break;A=f[42253]|0;if((l|0)>(A+-8|0)){i=A<<1;f[42253]=i;i=Hb(f[42252]|0,i)|0;f[42252]=i;i=i+l|0;e=r[t>>0]|0}A:do{switch(e<<24>>24){case 38:{if(c?(Wb(t)|0)!=0:0)o=18;else{n=5;e=87164}break}case 60:{n=4;e=87187;break}case 62:{n=4;e=87170;break}case 45:{n=5;e=87181;break}default:{if((n|0)!=0&e<<24>>24==32)if((r[n>>0]|0)==32){n=6;e=87157;break A}else{o=18;break A}switch(e<<24>>24){case 34:{n=6;e=87150;break A}case 39:{n=5;e=87175;break A}case 10:if(c){o=18;break A}else{n=5;e=87144;break A}default:{o=18;break A}}}}}while(0);if((o|0)==18){o=0;e=c|e<<24>>24!=13;n=e?1:5;e=e?t:87138}a=i+n|0;A=n;while(1){if(!A)break;r[i>>0]=r[e>>0]|0;A=A+-1|0;e=e+1|0;i=i+1|0}A=t;l=n+l|0;i=a;t=t+1|0;n=A}r[i>>0]=0;return f[42252]|0}function Wb(A){A=A|0;var e=0,i=0;i=A+1|0;e=r[i>>0]|0;A:do{if(e<<24>>24==35){i=A+2|0;e=r[i>>0]|0;switch(e<<24>>24){case 88:case 120:break;default:{A=i;while(1){i=A+1|0;if((e+-48&255)>=10)break A;A=i;e=r[i>>0]|0}}}i=A+3|0;while(1){e=r[i>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break A}i=i+1|0}}else while(1){A=i+1|0;if(((e&-33)+-65&255)>=26)break A;i=A;e=r[A>>0]|0}}while(0);return e<<24>>24==59|0}function zb(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0;e=f[42254]|0;if(!e){f[42255]=64;e=Pb(64)|0;f[42254]=e;l=0}else l=0;while(1){if(!A)break;i=r[A>>0]|0;if(!(i<<24>>24))break;n=f[42255]|0;if((l|0)>(n+-8|0)){e=n<<1;f[42255]=e;e=Hb(f[42254]|0,e)|0;f[42254]=e;e=e+l|0;i=r[A>>0]|0}switch(i<<24>>24){case 38:{if(!(Wb(A)|0)){a=5;i=87164}else c=12;break}case 60:{a=4;i=87187;break}case 62:{a=4;i=87170;break}case 34:{a=6;i=87150;break}case 39:{a=5;i=87175;break}default:c=12}if((c|0)==12){c=0;a=1;i=A}t=e+a|0;n=a;while(1){if(!n)break;r[e>>0]=r[i>>0]|0;n=n+-1|0;i=i+1|0;e=e+1|0}l=a+l|0;e=t;A=A+1|0}r[e>>0]=0;return f[42254]|0}function Jb(A){A=A|0;var e=0;if(!A)A=0;else{e=Pb(A)|0;WH(e|0,0,A|0)|0;A=e}return A|0}function Pb(A){A=A|0;if(A){A=RW(A)|0;if(!A){JP(96532,14,1,f[13918]|0)|0;A=0}}else A=0;return A|0}function Rb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=FW(A,X(i,e)|0)|0;if(!((e|0)!=0&(A|0)==0)){if(e>>>0>r>>>0)WH(A+(X(r,i)|0)|0,0,X(e-r|0,i)|0)|0}else JP(96532,14,1,f[13918]|0)|0;return A|0}function Hb(A,e){A=A|0;e=e|0;A=FW(A,e)|0;if((e|0)!=0&(A|0)==0)JP(96532,14,1,f[13918]|0)|0;return A|0}function Lb(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0,u=0,b=0,B=0,k=0,d=0,g=0;g=v;v=v+80|0;B=g+40|0;b=g+32|0;u=g+24|0;s=g;k=4;d=RW(40)|0;f[d>>2]=0;n=g+68|0;a=g+64|0;if(0){w=0;oA(57,A|0,n|0,a|0);t=w;w=0;if((t|0)!=0&(h|0)!=0){l=pH(f[t>>2]|0,d|0,k|0)|0;if(!l)OA(t|0,h|0);Q=h}else l=-1;if((l|0)!=1){l=f[13918]|0;t=f[n>>2]|0;n=f[a>>2]|0;w=0;f[s>>2]=87236;f[s+4>>2]=t;f[s+8>>2]=n;f[s+12>>2]=i;f[s+16>>2]=e;rA(13,l|0,87192,s|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)!=1){w=0;tA(1);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)!=1)l=6;else{n=Q;l=15}}else{n=Q;l=15}}else{n=Q;l=15}}else l=6;do{if((l|0)==6){w=0;n=eA(20,A|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){t=pH(f[a>>2]|0,d|0,k|0)|0;if(!t)OA(a|0,h|0);Q=h}else t=-1;if((t|0)!=1){if(!n){w=0;tA(2);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;break}}if((i|0)<1){w=0;tA(3);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;break}n=0;break}else{f[42256]=(r|0)>-1?r:30;d=YH(169028,1,d|0,k|0)|0;k=Q;w=0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;break}n=0;l=15;break}}else{n=Q;l=15}}}while(0);A:do{if((l|0)==15){e:while(1){if(n|0){n=2;break A}w=0;tA(4);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue}A=f[13918]|0;s=0;while(1){w=0;l=AA(1)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}if(!l)break;w=0;n=eA(21,l|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){t=pH(f[a>>2]|0,d|0,k|0)|0;if(!t)OA(a|0,h|0);Q=h}else t=-1;if((t|0)==1){n=Q;l=15;continue e}w=0;cA(24,l|0,n|0);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}s=s+1|0;do{if(((s|0)%100|0|0)==0&0!=0){n=(s|0)%1e3|0;if((n|0)==100){w=0;iA(27,87236,A|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}w=0;f[u>>2]=s;rA(13,A|0,87254,u|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}break}w=0;f[b>>2]=s;rA(13,A|0,87254,b|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){t=pH(f[a>>2]|0,d|0,k|0)|0;if(!t)OA(a|0,h|0);Q=h}else t=-1;if((t|0)==1){n=Q;l=15;continue e}if(!n){w=0;iA(28,10,A|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}}}}while(0);if((s|0)>=(i|0))break}switch(e|0){case 1:{w=0;tA(5);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}break}case 2:{w=0;tA(6);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}break}default:{w=0;tA(7);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}w=0;tA(3);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue e}}}if(!0){n=0;break A}if((s|0)>99){w=0;iA(28,10,A|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15;continue}}n=f[42296]|0;a=f[42297]|0;w=0;c=+q(1);t=w;w=0;if((t|0)!=0&(h|0)!=0){l=pH(f[t>>2]|0,d|0,k|0)|0;if(!l)OA(t|0,h|0);Q=h}else l=-1;if((l|0)==1){n=Q;l=15;continue}w=0;f[B>>2]=87236;f[B+4>>2]=n;f[B+8>>2]=a;f[B+12>>2]=s;o[B+16>>3]=c;rA(13,A|0,87258,B|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,d|0,k|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){n=Q;l=15}else break}n=0}}while(0);HW(d|0);v=g;return n|0}function Fb(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;A=(f[A+16>>2]|0)+192|0;r=0;t=0;while(1){A=f[A>>2]|0;if(!A)break;a=f[A+16>>2]|0;n=f[a+180>>2]|0;A=0;while(1){if(!(f[n+(A<<2)>>2]|0))break;A=A+1|0;r=r+1|0}A=a+164|0;t=t+1|0}f[e>>2]=t;f[i>>2]=r;return}function Db(A){A=A|0;var e=0,i=0,n=0,a=0,l=0,c=0,o=0,s=0;f[42299]=A;f[42306]=0;f[42297]=0;f[42296]=0;l=A+16|0;A=(f[l>>2]|0)+192|0;a=0;i=0;while(1){A=f[A>>2]|0;if(!A)break;n=f[A+16>>2]|0;r[n+157>>0]=0;a=a+1|0;f[42296]=a;e=f[n+180>>2]|0;A=0;while(1){if(!(f[e+(A<<2)>>2]|0))break;o=i+1|0;f[42297]=o;A=A+1|0;i=o}A=n+164|0}A=f[42307]|0;if(!A)A=Pb(a<<2)|0;else A=Hb(A,a<<2)|0;f[42307]=A;f[42308]=0;A=f[42301]|0;if(!A)A=Pb(f[42296]<<2)|0;else A=Hb(A,f[42296]<<2)|0;f[42301]=A;f[42300]=0;e=1;A=(f[l>>2]|0)+192|0;while(1){A=f[A>>2]|0;if(!A)break;o=A+16|0;l=f[o>>2]|0;c=l+292|0;f[c>>2]=0;l=f[l+172>>2]|0;a=e;n=0;A=0;while(1){e=f[l+(n<<2)>>2]|0;if(!e)break;i=A+1|0;f[c>>2]=i;A=f[e+16>>2]|0;f[A+160>>2]=0;f[A+164>>2]=-1;if(!a)A=0;else{s=f[e>>2]&3;A=((f[(f[(f[((s|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((s|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(t[A+170>>1]|0|0)?0:a}a=A;n=n+1|0;A=i}A=Jb((n<<2)+4|0)|0;e=f[o>>2]|0;f[e+264>>2]=A;f[e+268>>2]=0;e=f[e+180>>2]|0;A=0;do{s=A;A=A+1|0}while((f[e+(s<<2)>>2]|0)!=0);e=Jb(A<<2)|0;A=f[o>>2]|0;f[A+272>>2]=e;f[A+276>>2]=0;e=a;A=A+164|0}return e|0}function Xb(){var A=0,e=0,i=0,r=0,n=0,a=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;u=b+8|0;o=b;s=HI(f[42296]|0)|0;A=(f[(f[42299]|0)+16>>2]|0)+192|0;while(1){e=f[A>>2]|0;if(!e){c=0;break}i=e+16|0;A=f[i>>2]|0;if(!(f[A+292>>2]|0)){FI(s,e);A=f[i>>2]|0}A=A+164|0}while(1){A=DI(s)|0;if(!A)break;l=A+16|0;A=f[l>>2]|0;r=A+232|0;f[r>>2]=0;i=f[A+172>>2]|0;e=0;a=0;while(1){n=f[i+(e<<2)>>2]|0;if(!n){r=0;break}n=(f[(f[(f[((f[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(t[(f[n+16>>2]|0)+170>>1]|0)|0;n=(a|0)>(n|0)?a:n;f[r>>2]=n;e=e+1|0;a=n}while(1){e=f[(f[A+180>>2]|0)+(r<<2)>>2]|0;if(!e)break;i=e+-48|0;n=(f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+292|0;a=f[n>>2]|0;f[n>>2]=a+-1;if((a|0)<2){FI(s,f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0);A=f[l>>2]|0}r=r+1|0}c=c+1|0}A:do{if((c|0)!=(f[42296]|0)){Iy(1,87590,o)|0;A=(f[(f[42299]|0)+16>>2]|0)+192|0;while(1){e=f[A>>2]|0;if(!e)break A;i=e+16|0;A=f[i>>2]|0;if(f[A+292>>2]|0){o=Ap(e)|0;A=f[(f[i>>2]|0)+292>>2]|0;f[u>>2]=o;f[u+4>>2]=A;Iy(3,87612,u)|0;A=f[i>>2]|0}A=A+164|0}}}while(0);LI(s);v=b;return}function xb(){var A=0,e=0,i=0;A=(f[(f[42299]|0)+16>>2]|0)+192|0;while(1){A=f[A>>2]|0;if(!A)break;i=A+16|0;A=f[i>>2]|0;e=f[A+264>>2]|0;if(e){HW(e);A=f[i>>2]|0}e=f[A+272>>2]|0;if(e){HW(e);A=f[i>>2]|0}r[A+157>>0]=0;A=A+164|0}return}function Tb(){var A=0,e=0,i=0,r=0,n=0;A=(f[(f[42299]|0)+16>>2]|0)+192|0;while(1){A=f[A>>2]|0;if(!A)break;A=f[A+16>>2]|0;f[A+280>>2]=0;A=A+164|0}n=Jb(f[42296]<<2)|0;r=0;A=(f[(f[42299]|0)+16>>2]|0)+192|0;while(1){e=f[A>>2]|0;if(!e)break;i=e+16|0;A=f[i>>2]|0;if(!(f[A+280>>2]|0)){f[n+(r<<2)>>2]=nv(e)|0;e=r+1|0;A=f[i>>2]|0}else e=r;r=e;A=A+164|0}A=fv(n,r)|0;while(1){if((av(A)|0)<=1)break;ov(A,f[(cv(lv(tv(A)|0)|0)|0)+8>>2]|0)}HW(A);A=0;while(1){if((A|0)>=(r|0))break;HW(f[n+(A<<2)>>2]|0);A=A+1|0}HW(n);if((f[42300]|0)==((f[42296]|0)+-1|0)){sv();return}else BA(87335,87365,523,87370)}function Ub(){var A=0,e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;l=f[42306]|0;n=f[42300]|0;c=f[42301]|0;o=f[42256]|0;e=0;A=0;a=l;while(1){if((a|0)>=(n|0)){t=8;break}r=f[c+(a<<2)>>2]|0;i=f[(f[r+16>>2]|0)+160>>2]|0;if((i|0)<0){if(!A)A=r;else A=(f[(f[A+16>>2]|0)+160>>2]|0)>(i|0)?r:A;e=e+1|0;if((e|0)>=(o|0))break}r=a+1|0;f[42306]=r;a=r}if((t|0)==8)if((l|0)>0){n=0;while(1){if((n|0)>=(l|0))break;i=f[c+(n<<2)>>2]|0;r=f[(f[i+16>>2]|0)+160>>2]|0;if((r|0)<0){if(!A)A=i;else A=(f[(f[A+16>>2]|0)+160>>2]|0)>(r|0)?i:A;e=e+1|0;if((e|0)>=(o|0))break}n=n+1|0}f[42306]=n}return A|0}function Sb(A){A=A|0;var e=0,i=0;e=f[A>>2]&3;i=f[((e|0)==3?A:A+48|0)+40>>2]|0;A=f[((e|0)==2?A:A+-48|0)+40>>2]|0;e=(f[(f[i+16>>2]|0)+288>>2]|0)<(f[(f[A+16>>2]|0)+288>>2]|0);A=e?i:A;f[42302]=0;f[42303]=2147483647;i=f[A+16>>2]|0;f[42304]=f[i+284>>2];f[42305]=f[i+288>>2];if(e)rv(A);else iv(A);return f[42302]|0}function jb(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;u=b;n=f[e>>2]&3;s=e+-48|0;c=e+48|0;o=e+16|0;n=(f[(f[(f[((n|0)==2?e:s)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((n|0)==3?e:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[o>>2]|0)+170>>1]|0)|0;do{if((n|0)>0){i=f[A>>2]&3;a=f[((i|0)==3?A:A+48|0)+40>>2]|0;l=f[a+16>>2]|0;if(((f[l+276>>2]|0)+(f[l+268>>2]|0)|0)==1){qb(a,n);break}i=f[((i|0)==2?A:A+-48|0)+40>>2]|0;r=f[i+16>>2]|0;if(((f[r+276>>2]|0)+(f[r+268>>2]|0)|0)==1){qb(i,0-n|0);break}if((f[l+288>>2]|0)<(f[r+288>>2]|0)){qb(a,n);break}else{qb(i,0-n|0);break}}}while(0);i=A+16|0;r=f[(f[i>>2]|0)+160>>2]|0;n=f[e>>2]&3;n=$b(f[((n|0)==3?e:c)+40>>2]|0,f[((n|0)==2?e:s)+40>>2]|0,r,1)|0;l=f[e>>2]&3;if(($b(f[((l|0)==2?e:s)+40>>2]|0,f[((l|0)==3?e:c)+40>>2]|0,r,0)|0)==(n|0)){f[(f[o>>2]|0)+160>>2]=0-r;f[(f[i>>2]|0)+160>>2]=0;Av(A,e);u=f[n+16>>2]|0;ev(n,f[u+280>>2]|0,f[u+284>>2]|0)|0;v=b;return}else{Iy(1,87296,u)|0;OA(169028,1)}}function Ob(){var A=0,e=0,i=0,n=0,a=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;_b();u=Jb((f[42298]<<2)+4|0)|0;e=f[42298]|0;A=0;while(1){if((A|0)>(e|0))break;f[u+(A<<2)>>2]=0;A=A+1|0}A=(f[(f[42299]|0)+16>>2]|0)+192|0;e=A;while(1){e=f[e>>2]|0;if(!e)break;e=f[e+16>>2]|0;if(!(r[e+156>>0]|0)){s=u+(f[e+232>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+1}e=e+164|0}while(1){A=f[A>>2]|0;if(!A)break;s=A+16|0;A=f[s>>2]|0;if(!(r[A+156>>0]|0)){a=f[42298]|0;i=f[A+172>>2]|0;o=0;c=0;e=0;while(1){n=f[i+(e<<2)>>2]|0;if(!n)break;b=f[n+16>>2]|0;l=(f[(f[(f[((f[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(t[b+170>>1]|0)|0;o=(f[b+156>>2]|0)+o|0;c=(c|0)>(l|0)?c:l;e=e+1|0}n=f[A+180>>2]|0;l=0;e=0;while(1){i=f[n+(e<<2)>>2]|0;if(!i)break;v=f[i+16>>2]|0;b=(f[(f[(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[v+170>>1]|0)|0;l=(f[v+156>>2]|0)+l|0;a=(a|0)<(b|0)?a:b;e=e+1|0}e=(c|0)>0?c:0;if((o|0)==(l|0)){n=e;i=e;while(1){e=i+1|0;if((i|0)>=(a|0))break;n=(f[u+(e<<2)>>2]|0)<(f[u+(n<<2)>>2]|0)?e:n;i=e}v=A+232|0;b=u+(f[v>>2]<<2)|0;f[b>>2]=(f[b>>2]|0)+-1;b=u+(n<<2)|0;f[b>>2]=(f[b>>2]|0)+1;f[v>>2]=n}e=f[A+264>>2]|0;if(e){HW(e);A=f[s>>2]|0}e=f[A+272>>2]|0;if(e){HW(e);A=f[s>>2]|0}r[A+157>>0]=0}A=A+164|0}HW(u);return}function Kb(){var A=0,e=0,i=0,r=0,n=0,a=0;e=0;while(1){if((e|0)>=(f[42300]|0))break;A=f[(f[42301]|0)+(e<<2)>>2]|0;do{if(((f[(f[A+16>>2]|0)+160>>2]|0)==0?(i=Sb(A)|0,i|0):0)?(r=f[i>>2]&3,r=(f[(f[(f[((r|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((r|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[i+16>>2]|0)+170>>1]|0)|0,(r|0)>=2):0){a=f[A>>2]&3;n=f[((a|0)==3?A:A+48|0)+40>>2]|0;A=f[((a|0)==2?A:A+-48|0)+40>>2]|0;if((f[(f[n+16>>2]|0)+288>>2]|0)<(f[(f[A+16>>2]|0)+288>>2]|0)){qb(n,r>>>1);break}else{qb(A,(r|0)/-2|0);break}}}while(0);e=e+1|0}xb();return}function _b(){var A=0,e=0,i=0,n=0,a=0,t=0,l=0,c=0;l=v;v=v+16|0;t=l;f[t>>2]=0;f[t>>2]=2147483647;f[42298]=-2147483647;A=(f[(f[42299]|0)+16>>2]|0)+192|0;i=A;a=2147483647;n=-2147483647;while(1){e=f[i>>2]|0;if(!e)break;i=f[e+16>>2]|0;if(!(r[i+156>>0]|0)){c=f[i+232>>2]|0;e=(a|0)<(c|0)?a:c;f[t>>2]=e;n=(n|0)>(c|0)?n:c;f[42298]=n}else e=a;i=i+164|0;a=e}if(a|0){while(1){A=f[A>>2]|0;if(!A)break;A=f[A+16>>2]|0;c=A+232|0;f[c>>2]=(f[c>>2]|0)-a;A=A+164|0}f[42298]=n-a;f[t>>2]=0}v=l;return}function qb(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;A=f[n>>2]|0;r=A+232|0;f[r>>2]=(f[r>>2]|0)-e;r=0;while(1){i=f[(f[A+272>>2]|0)+(r<<2)>>2]|0;if(!i){r=0;break}if((i|0)!=(f[A+280>>2]|0)){qb(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,e);A=f[n>>2]|0}r=r+1|0}while(1){i=f[(f[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(f[A+280>>2]|0)){qb(f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,e);A=f[n>>2]|0}r=r+1|0}return}function $b(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;a=(r|0)==0&1;t=0-i|0;n=f[(f[e+16>>2]|0)+288>>2]|0;e=A;while(1){A=f[e+16>>2]|0;if((f[A+284>>2]|0)<=(n|0)?(n|0)<=(f[A+288>>2]|0):0)break;A=f[A+280>>2]|0;l=A+48|0;c=(f[A+16>>2]|0)+160|0;f[c>>2]=(((e|0)==(f[((f[A>>2]&3|0)==3?A:l)+40>>2]|0)?r:a)|0?i:t)+(f[c>>2]|0);c=f[A>>2]&3;l=f[((c|0)==3?A:l)+40>>2]|0;A=f[((c|0)==2?A:A+-48|0)+40>>2]|0;e=(f[(f[l+16>>2]|0)+288>>2]|0)>(f[(f[A+16>>2]|0)+288>>2]|0)?l:A}return e|0}function Av(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;l=A+16|0;r=(f[l>>2]|0)+164|0;f[(f[e+16>>2]|0)+164>>2]=f[r>>2];f[(f[42301]|0)+(f[r>>2]<<2)>>2]=e;f[(f[l>>2]|0)+164>>2]=-1;l=(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;r=f[l>>2]|0;a=r+276|0;n=f[a>>2]|0;c=n+-1|0;f[a>>2]=c;a=r+272|0;t=0;while(1){if((t|0)>=(n|0)){o=3;break}i=f[a>>2]|0;if((f[i+(t<<2)>>2]|0)==(A|0))break;t=t+1|0}if((o|0)==3)i=f[r+272>>2]|0;f[i+(t<<2)>>2]=f[i+(c<<2)>>2];f[(f[(f[l>>2]|0)+272>>2]|0)+(c<<2)>>2]=0;l=(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)+16|0;r=f[l>>2]|0;a=r+268|0;n=f[a>>2]|0;c=n+-1|0;f[a>>2]=c;a=r+264|0;t=0;while(1){if((t|0)>=(n|0)){o=8;break}i=f[a>>2]|0;if((f[i+(t<<2)>>2]|0)==(A|0))break;t=t+1|0}if((o|0)==8)i=f[r+264>>2]|0;f[i+(t<<2)>>2]=f[i+(c<<2)>>2];f[(f[(f[l>>2]|0)+264>>2]|0)+(c<<2)>>2]=0;o=(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16|0;A=f[o>>2]|0;c=f[A+272>>2]|0;A=A+276|0;l=f[A>>2]|0;f[A>>2]=l+1;f[c+(l<<2)>>2]=e;o=f[o>>2]|0;f[(f[o+272>>2]|0)+(f[o+276>>2]<<2)>>2]=0;o=(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16|0;l=f[o>>2]|0;c=f[l+264>>2]|0;l=l+268|0;A=f[l>>2]|0;f[l>>2]=A+1;f[c+(A<<2)>>2]=e;o=f[o>>2]|0;f[(f[o+264>>2]|0)+(f[o+268>>2]<<2)>>2]=0;return}function ev(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=A+16|0;A=f[a>>2]|0;f[A+280>>2]=e;f[A+284>>2]=i;n=0;while(1){r=f[(f[A+272>>2]|0)+(n<<2)>>2]|0;if(!r){n=0;break}if((r|0)!=(e|0)){i=ev(f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r,i)|0;A=f[a>>2]|0}n=n+1|0}while(1){r=f[(f[A+264>>2]|0)+(n<<2)>>2]|0;if(!r)break;if((r|0)!=(e|0)){i=ev(f[((f[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,r,i)|0;A=f[a>>2]|0}n=n+1|0}f[A+288>>2]=i;return i+1|0}function iv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,l=0,c=0;l=A+16|0;n=0;while(1){A=f[l>>2]|0;i=f[(f[A+180>>2]|0)+(n<<2)>>2]|0;if(!i){i=0;break}r=f[i+16>>2]|0;if((f[r+164>>2]|0)<0){A=f[i>>2]&3;e=f[(f[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0;c=f[e+288>>2]|0;if((f[42304]|0)>(c|0)|(c|0)>(f[42305]|0)?(a=(f[e+232>>2]|0)-(f[(f[(f[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[r+170>>1]|0)|0,(a|0)<(f[42303]|0)|(f[42302]|0)==0):0){f[42302]=i;f[42303]=a}}else{e=f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0;if((f[(f[e+16>>2]|0)+288>>2]|0)<(f[A+288>>2]|0))iv(e)}n=n+1|0}while(1){e=f[(f[A+264>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(f[42303]|0)>0))break;e=f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((f[(f[e+16>>2]|0)+288>>2]|0)<(f[A+288>>2]|0)){iv(e);A=f[l>>2]|0}i=i+1|0}return}function rv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,l=0,c=0;l=A+16|0;n=0;while(1){A=f[l>>2]|0;i=f[(f[A+172>>2]|0)+(n<<2)>>2]|0;if(!i){i=0;break}r=f[i+16>>2]|0;if((f[r+164>>2]|0)<0){A=f[i>>2]&3;e=f[(f[((A|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0;c=f[e+288>>2]|0;if((f[42304]|0)>(c|0)|(c|0)>(f[42305]|0)?(a=(f[(f[(f[((A|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[e+232>>2]|0)-(t[r+170>>1]|0)|0,(a|0)<(f[42303]|0)|(f[42302]|0)==0):0){f[42302]=i;f[42303]=a}}else{e=f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0;if((f[(f[e+16>>2]|0)+288>>2]|0)<(f[A+288>>2]|0))rv(e)}n=n+1|0}while(1){e=f[(f[A+272>>2]|0)+(i<<2)>>2]|0;if(!((e|0)!=0&(f[42303]|0)>0))break;e=f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((f[(f[e+16>>2]|0)+288>>2]|0)<(f[A+288>>2]|0)){rv(e);A=f[l>>2]|0}i=i+1|0}return}function nv(A){A=A|0;var e=0;e=Jb(16)|0;f[e>>2]=A;f[e+4>>2]=gv(A,e)|0;f[e+12>>2]=e;return e|0}function fv(A,e){A=A|0;e=e|0;var i=0,r=0;r=Jb(8)|0;f[r>>2]=A;f[r+4>>2]=e;i=0;while(1){if((i|0)>=(e|0))break;f[(f[A+(i<<2)>>2]|0)+8>>2]=i;i=i+1|0}i=(e|0)/2|0;while(1){if((i|0)<=-1)break;ov(r,i);i=i+-1|0}return r|0}function av(A){A=A|0;return f[A+4>>2]|0}function tv(A){A=A|0;var e=0,i=0,r=0,n=0;n=f[A>>2]|0;e=f[n>>2]|0;f[e+8>>2]=-1;i=A+4|0;r=(f[i>>2]|0)+-1|0;f[n>>2]=f[n+(r<<2)>>2];n=f[A>>2]|0;f[(f[n>>2]|0)+8>>2]=0;f[n+(r<<2)>>2]=e;f[i>>2]=r;ov(A,0);return e|0}function lv(A){A=A|0;return dv(f[A>>2]|0,0,0)|0}function cv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,l=0;e=A+16|0;if((f[(f[e>>2]|0)+164>>2]|0)>-1)BA(87384,87365,463,87398);n=A+48|0;i=Bv(f[((f[A>>2]&3|0)==3?A:n)+40>>2]|0)|0;l=A+-48|0;r=Bv(f[((f[A>>2]&3|0)==2?A:l)+40>>2]|0)|0;a=f[A>>2]&3;e=(f[(f[(f[((a|0)==2?A:l)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((a|0)==3?A:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[e>>2]|0)+170>>1]|0)|0;if((f[i+8>>2]|0)==-1)kv(f[i>>2]|0,0,e);else kv(f[r>>2]|0,0,0-e|0);wv(A);return hv(i,r)|0}function ov(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;t=f[A>>2]|0;a=f[A+4>>2]|0;while(1){A=e<<1;n=A+2|0;A=A|1;if(!((A|0)<(a|0)?(f[(f[t+(A<<2)>>2]|0)+4>>2]|0)<(f[(f[t+(e<<2)>>2]|0)+4>>2]|0):0))A=e;if((n|0)>=(a|0))break;i=t+(n<<2)|0;r=f[i>>2]|0;if((n|0)==(e|0)?1:(f[r+4>>2]|0)>=(f[(f[t+(A<<2)>>2]|0)+4>>2]|0))break;l=t+(e<<2)|0;A=f[l>>2]|0;f[l>>2]=r;f[i>>2]=A;f[(f[l>>2]|0)+8>>2]=e;f[A+8>>2]=n;e=n}return}function sv(){ev(f[(f[(f[42299]|0)+16>>2]|0)+192>>2]|0,0,1)|0;uv(f[(f[(f[42299]|0)+16>>2]|0)+192>>2]|0,0);return}function uv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+16|0;i=0;while(1){A=f[n>>2]|0;r=f[(f[A+272>>2]|0)+(i<<2)>>2]|0;if(!r){r=0;break}if((r|0)!=(e|0))uv(f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,r);i=i+1|0}while(1){i=f[(f[A+264>>2]|0)+(r<<2)>>2]|0;if(!i)break;if((i|0)!=(e|0)){uv(f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0,i);A=f[n>>2]|0}r=r+1|0}if(e|0)bv(e);return}function bv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0;e=f[A>>2]&3;i=f[((e|0)==3?A:A+48|0)+40>>2]|0;r=f[i+16>>2]|0;if((f[r+280>>2]|0)==(A|0))l=1;else{r=f[((e|0)==2?A:A+-48|0)+40>>2]|0;l=-1;i=r;r=f[r+16>>2]|0}a=f[r+180>>2]|0;e=0;n=0;while(1){t=f[a+(n<<2)>>2]|0;if(!t)break;e=(vv(t,i,l)|0)+e|0;n=n+1|0}a=f[r+172>>2]|0;r=0;while(1){n=f[a+(r<<2)>>2]|0;if(!n)break;e=(vv(n,i,l)|0)+e|0;r=r+1|0}f[(f[A+16>>2]|0)+160>>2]=e;return}function vv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;t=f[A>>2]&3;l=(t|0)==3?A:A+48|0;r=f[l+40>>2]|0;if((r|0)==(e|0))r=f[((t|0)==2?A:A+-48|0)+40>>2]|0;a=f[e+16>>2]|0;n=f[(f[r+16>>2]|0)+288>>2]|0;if((f[a+284>>2]|0)<=(n|0)?(n|0)<=(f[a+288>>2]|0):0){n=f[A+16>>2]|0;if((f[n+164>>2]|0)>-1)r=f[n+160>>2]|0;else r=0;a=1;r=r-(f[n+156>>2]|0)|0}else{a=0;r=f[(f[A+16>>2]|0)+156>>2]|0}l=(f[((i|0)>0?(t|0)==2?A:A+-48|0:l)+40>>2]|0)==(e|0)?1:-1;return(((a?l:0-l|0)|0)<0?0-r|0:r)|0}function Bv(A){A=A|0;var e=0,i=0;A=f[(f[A+16>>2]|0)+280>>2]|0;while(1){e=A+12|0;i=f[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=f[i+12>>2]|0;if(!A){A=i;continue}f[e>>2]=A}return A|0}function kv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;t=A+16|0;r=f[t>>2]|0;a=r+232|0;f[a>>2]=(f[a>>2]|0)+i;a=0;while(1){n=f[(f[r+264>>2]|0)+(a<<2)>>2]|0;if(!n){a=0;break}n=f[((f[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0;if((n|0)!=(e|0)){kv(n,A,i);r=f[t>>2]|0}a=a+1|0}while(1){n=f[(f[r+272>>2]|0)+(a<<2)>>2]|0;if(!n)break;n=f[((f[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0;if((n|0)!=(e|0)){kv(n,A,i);r=f[t>>2]|0}a=a+1|0}return}function wv(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;t=v;v=v+32|0;e=(f[A+16>>2]|0)+164|0;if((f[e>>2]|0)>-1){Iy(1,87487,t)|0;OA(169028,1)}a=f[42300]|0;f[e>>2]=a;e=f[42301]|0;f[42300]=a+1;f[e+(a<<2)>>2]=A;e=f[A>>2]|0;a=A+48|0;i=f[((e&3|0)==3?A:a)+40>>2]|0;if(!(r[(f[i+16>>2]|0)+157>>0]|0)){n=f[42307]|0;e=f[42308]|0;f[42308]=e+1;f[n+(e<<2)>>2]=i;e=f[A>>2]|0}n=A+-48|0;i=f[((e&3|0)==2?A:n)+40>>2]|0;if(!(r[(f[i+16>>2]|0)+157>>0]|0)){l=f[42307]|0;e=f[42308]|0;f[42308]=e+1;f[l+(e<<2)>>2]=i;e=f[A>>2]|0}l=(f[((e&3|0)==3?A:a)+40>>2]|0)+16|0;e=f[l>>2]|0;r[e+157>>0]=1;i=f[e+272>>2]|0;e=e+276|0;a=f[e>>2]|0;f[e>>2]=a+1;f[i+(a<<2)>>2]=A;a=f[l>>2]|0;f[(f[a+272>>2]|0)+(f[a+276>>2]<<2)>>2]=0;l=f[l>>2]|0;if(!(f[(f[l+180>>2]|0)+((f[l+276>>2]|0)+-1<<2)>>2]|0)){Iy(1,87521,t+8|0)|0;OA(169028,1)}l=(f[((f[A>>2]&3|0)==2?A:n)+40>>2]|0)+16|0;i=f[l>>2]|0;r[i+157>>0]=1;n=f[i+264>>2]|0;i=i+268|0;a=f[i>>2]|0;f[i>>2]=a+1;f[n+(a<<2)>>2]=A;A=f[l>>2]|0;f[(f[A+264>>2]|0)+(f[A+268>>2]<<2)>>2]=0;l=f[l>>2]|0;if(!(f[(f[l+172>>2]|0)+((f[l+268>>2]|0)+-1<<2)>>2]|0)){Iy(1,87556,t+16|0)|0;OA(169028,1)}else{v=t;return}}function hv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;while(1){a=A+12|0;i=f[a>>2]|0;if((i|0)==0|(i|0)==(A|0))break;else A=i}while(1){n=e+12|0;i=f[n>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else e=i}if((A|0)!=(e|0)){r=f[A+8>>2]|0;i=f[e+8>>2]|0;do{if((r|0)>-1)if((i|0)==-1)t=A;else c=10;else if((i|0)>-1)if((r|0)==-1){t=e;break}else{c=10;break}else BA(87410,87365,327,87457)}while(0);if((c|0)==10)t=(f[e+4>>2]|0)<(f[A+4>>2]|0)?A:e;f[n>>2]=t;f[a>>2]=t;f[t+4>>2]=(f[e+4>>2]|0)+(f[A+4>>2]|0);if((f[t+8>>2]|0)>-1)l=t;else BA(87468,87365,335,87457)}else l=A;return l|0}function dv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,l=0,c=0,o=0,s=0,u=0;s=Bv(A)|0;if(i){o=f[i>>2]&3;if(((f[(f[(f[((o|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((o|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(t[(f[i+16>>2]|0)+170>>1]|0|0))r=3}else{i=0;r=3}A:do{if((r|0)==3){o=A+16|0;c=0;while(1){r=f[o>>2]|0;l=f[(f[r+180>>2]|0)+(c<<2)>>2]|0;if(!l){c=0;break}r=l+16|0;n=l+-48|0;a=f[((f[l>>2]&3|0)==2?l:n)+40>>2]|0;do{if((f[(f[r>>2]|0)+164>>2]|0)>-1){if((a|0)!=(e|0))i=dv(a,A,i)|0}else if((Bv(a)|0)!=(s|0)){if(i|0?(u=f[l>>2]&3,a=f[i>>2]&3,((f[(f[(f[((u|0)==2?l:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((u|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[r>>2]|0)+170>>1]|0)|0)>=((f[(f[(f[((a|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((a|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=l}}while(0);c=c+1|0}while(1){r=f[(f[r+172>>2]|0)+(c<<2)>>2]|0;if(!r)break A;n=r+16|0;a=r+48|0;l=f[((f[r>>2]&3|0)==3?r:a)+40>>2]|0;do{if((f[(f[n>>2]|0)+164>>2]|0)>-1){if((l|0)!=(e|0))i=dv(l,A,i)|0}else if((Bv(l)|0)!=(s|0)){if(i|0?(l=f[r>>2]&3,u=f[i>>2]&3,((f[(f[(f[((l|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((l|0)==3?r:a)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[n>>2]|0)+170>>1]|0)|0)>=((f[(f[(f[((u|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((u|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(t[(f[i+16>>2]|0)+170>>1]|0)|0)):0)break;i=r}}while(0);c=c+1|0;r=f[o>>2]|0}}}while(0);return i|0}function gv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;s=A+16|0;i=f[s>>2]|0;f[i+280>>2]=e;A=1;a=0;while(1){n=f[(f[i+172>>2]|0)+(a<<2)>>2]|0;if(!n){a=0;break}r=f[n+16>>2]|0;if(((f[r+164>>2]|0)<=-1?(l=f[n>>2]&3,c=n+48|0,o=f[(f[((l|0)==3?n:c)+40>>2]|0)+16>>2]|0,(f[o+280>>2]|0)==0):0)?((f[(f[(f[((l|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[o+232>>2]|0)|0)==(t[r+170>>1]|0|0):0){wv(n);A=(gv(f[((f[n>>2]&3|0)==3?n:c)+40>>2]|0,e)|0)+A|0;i=f[s>>2]|0}a=a+1|0}while(1){r=f[(f[i+180>>2]|0)+(a<<2)>>2]|0;if(!r)break;n=f[r+16>>2]|0;if(((f[n+164>>2]|0)<=-1?(u=f[r>>2]&3,b=r+-48|0,v=f[(f[((u|0)==2?r:b)+40>>2]|0)+16>>2]|0,(f[v+280>>2]|0)==0):0)?((f[v+232>>2]|0)-(f[(f[(f[((u|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(t[n+170>>1]|0|0):0){wv(r);A=(gv(f[((f[r>>2]&3|0)==2?r:b)+40>>2]|0,e)|0)+A|0;i=f[s>>2]|0}a=a+1|0}return A|0}function mv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=aY(A,87620)|0;if(!r)r=30;else r=nR(r)|0;return Lb(A,e,i,r)|0}function Zv(A){A=+A;return+((f[42184]|0)==0?A:+o[20895]-A)}function Gv(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0.0,g=0;w=v;v=v+16|0;k=w;f[42309]=f[(f[(f[e+64>>2]|0)+8>>2]|0)+4>>2];Iv(e);t=f[e+16>>2]|0;d=+o[t+32>>3];h=+o[t+40>>3];Cv(i,87631,+o[A+352>>3]);Cv(i,87638,d*.013888888888888888);Cv(i,87638,h*.013888888888888888);Mv(i);t=Ep(e)|0;while(1){if(!t)break;a=t+16|0;if(!(r[(f[a>>2]|0)+118>>0]|0)){Ev(i,87640,hN(Ap(t)|0)|0);B=(f[a>>2]|0)+16|0;f[k>>2]=f[B>>2];f[k+4>>2]=f[B+4>>2];f[k+8>>2]=f[B+8>>2];f[k+12>>2]=f[B+12>>2];Qv(i,k);if(!(r[(f[(f[a>>2]|0)+104>>2]|0)+82>>0]|0)){A=Fp(t)|0;A=yv(A,f[f[(f[a>>2]|0)+104>>2]>>2]|0)|0}else A=hN(tY(t,f[42199]|0)|0)|0;Cv(i,87638,+o[(f[a>>2]|0)+32>>3]);Cv(i,87638,+o[(f[a>>2]|0)+40>>3]);Ev(i,87638,A);Ev(i,87638,UI(t,f[42202]|0,95889)|0);Ev(i,87638,f[f[(f[a>>2]|0)+8>>2]>>2]|0);Ev(i,87638,UI(t,f[42193]|0,122106)|0);A=UI(t,f[42194]|0,174185)|0;if(!(r[A>>0]|0))A=UI(t,f[42193]|0,119592)|0;Ev(i,87638,A);Mv(i)}t=Qp(e,t)|0}b=n<<24>>24==0;u=Ep(e)|0;while(1){if(!u)break;s=bY(e,u)|0;while(1){if(!s)break;if(b){n=174185;l=174185}else{l=aY(s,96242)|0;n=aY(s,96251)|0;n=n|0?n:174185;l=l|0?l:174185}B=s+16|0;A=f[B>>2]|0;c=f[A+8>>2]|0;A:do{if(c){t=f[c+4>>2]|0;A=0;a=0;while(1){if((A|0)>=(t|0))break;g=(f[(f[c>>2]|0)+(A*48|0)+4>>2]|0)+a|0;A=A+1|0;a=g}Ev(i,0,96237);Yv(i,f[((f[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0,l);Yv(i,f[((f[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,n);pv(i,a);n=0;while(1){A=f[B>>2]|0;a=f[A+8>>2]|0;if((n|0)>=(f[a+4>>2]|0))break A;t=f[a>>2]|0;a=f[t+(n*48|0)>>2]|0;t=f[t+(n*48|0)+4>>2]|0;A=0;while(1){if((A|0)>=(t|0))break;g=a+(A<<4)|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];Qv(i,k);A=A+1|0}n=n+1|0}}}while(0);if(f[A+96>>2]|0){g=Fp(f[((f[s>>2]&3|0)==3?s:s+48|0)+40>>2]|0)|0;Ev(i,87638,yv(g,f[f[(f[B>>2]|0)+96>>2]>>2]|0)|0);g=(f[(f[B>>2]|0)+96>>2]|0)+56|0;f[k>>2]=f[g>>2];f[k+4>>2]=f[g+4>>2];f[k+8>>2]=f[g+8>>2];f[k+12>>2]=f[g+12>>2];Qv(i,k)}Ev(i,87638,UI(s,f[42230]|0,95889)|0);Ev(i,87638,UI(s,f[42221]|0,122106)|0);Mv(i);s=BY(e,s)|0}u=Qp(e,u)|0}Vv(87646,i);v=w;return}function Iv(A){A=A|0;var e=0.0;if(f[42184]|0){A=f[A+16>>2]|0;e=+o[A+24>>3]+ +o[A+40>>3];o[20895]=e;o[20896]=e*.013888888888888888}return}function Cv(A,e,i){A=A|0;e=e|0;i=+i;var r=0,n=0,f=0;f=v;v=v+1040|0;n=f;r=f+8|0;if(e|0)Vv(e,A);o[n>>3]=i;iP(r,87652,n)|0;Vv(r,A);v=f;return}function Mv(A){A=A|0;r[174081]=10;gL[f[42309]&63](A,174081)|0;return}function Ev(A,e,i){A=A|0;e=e|0;i=i|0;if(e|0)Vv(e,A);Vv(i,A);return}function Qv(A,e){A=A|0;e=e|0;var i=0.0;Cv(A,87638,+o[e>>3]*.013888888888888888);if(!(f[42184]|0))i=+o[e+8>>3];else i=+o[20895]-+o[e+8>>3];Cv(A,87638,i*.013888888888888888);return}function yv(A,e){A=A|0;e=e|0;var i=0;i=GV(A,e)|0;e=hN(i)|0;CV(A,i)|0;return e|0}function Yv(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;if(!(r[(f[e+16>>2]|0)+118>>0]|0))e=hN(Ap(e)|0)|0;else{n=Fp(e)|0;e=yv(n,(zz(Ap(e)|0,58)|0)+1|0)|0}Ev(A,87638,e);if(i|0?r[i>>0]|0:0)Ev(A,93017,hN(i)|0);return}function pv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+1040|0;n=i;r=i+8|0;Vv(87638,A);f[n>>2]=e;iP(r,122187,n)|0;Vv(r,A);v=i;return}function Vv(A,e){A=A|0;e=e|0;gL[f[42309]&63](e,A)|0;return}function Nv(A,e){A=A|0;e=e|0;if((+o[A+16>>3]>=+o[e>>3]?+o[e+16>>3]>=+o[A>>3]:0)?+o[A+24>>3]>=+o[e+8>>3]:0)A=+o[e+24>>3]>=+o[A+8>>3]&1;else A=0;return A|0}function Wv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+96|0;o=u+64|0;c=u+48|0;l=u+32|0;n=u+16|0;a=u;s=A+4|0;i=f[s>>2]|0;if(!i)BA(94759,92694,1637,94767);r=f[A>>2]|0;f[a>>2]=f[r>>2];f[a+4>>2]=f[r+4>>2];f[a+8>>2]=f[r+8>>2];f[a+12>>2]=f[r+12>>2];r=1;while(1){if((r|0)>=(i|0)){t=7;break}i=(f[A>>2]|0)+(r<<4)|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];f[l>>2]=f[i>>2];f[l+4>>2]=f[i+4>>2];f[l+8>>2]=f[i+8>>2];f[l+12>>2]=f[i+12>>2];f[c>>2]=f[a>>2];f[c+4>>2]=f[a+4>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=f[a+12>>2];f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[o+24>>2]=f[e+24>>2];f[o+28>>2]=f[e+28>>2];if((sb(l,c,o)|0)!=-1){i=1;break}f[a>>2]=f[n>>2];f[a+4>>2]=f[n+4>>2];f[a+8>>2]=f[n+8>>2];f[a+12>>2]=f[n+12>>2];r=r+1|0;i=f[s>>2]|0}do{if((t|0)==7){i=f[A+8>>2]|0;if(i|0?(a=A+16|0,t=f[A>>2]|0,f[l>>2]=f[a>>2],f[l+4>>2]=f[a+4>>2],f[l+8>>2]=f[a+8>>2],f[l+12>>2]=f[a+12>>2],f[c>>2]=f[t>>2],f[c+4>>2]=f[t+4>>2],f[c+8>>2]=f[t+8>>2],f[c+12>>2]=f[t+12>>2],f[o>>2]=f[e>>2],f[o+4>>2]=f[e+4>>2],f[o+8>>2]=f[e+8>>2],f[o+12>>2]=f[e+12>>2],f[o+16>>2]=f[e+16>>2],f[o+20>>2]=f[e+20>>2],f[o+24>>2]=f[e+24>>2],f[o+28>>2]=f[e+28>>2],(zv(l,c,i,o)|0)<<24>>24):0){i=1;break}i=f[A+12>>2]|0;if(i|0?(t=A+32|0,s=(f[A>>2]|0)+((f[s>>2]|0)+-1<<4)|0,f[l>>2]=f[t>>2],f[l+4>>2]=f[t+4>>2],f[l+8>>2]=f[t+8>>2],f[l+12>>2]=f[t+12>>2],f[c>>2]=f[s>>2],f[c+4>>2]=f[s+4>>2],f[c+8>>2]=f[s+8>>2],f[c+12>>2]=f[s+12>>2],f[o>>2]=f[e>>2],f[o+4>>2]=f[e+4>>2],f[o+8>>2]=f[e+8>>2],f[o+12>>2]=f[e+12>>2],f[o+16>>2]=f[e+16>>2],f[o+20>>2]=f[e+20>>2],f[o+24>>2]=f[e+24>>2],f[o+28>>2]=f[e+28>>2],(zv(l,c,i,o)|0)<<24>>24):0){i=1;break}i=0}}while(0);v=u;return i|0}function zv(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0.0;s=v;v=v+160|0;a=s+144|0;n=s+128|0;u=s+96|0;t=s+64|0;l=s+32|0;c=s;b=+o[r+16>>3];f[n>>2]=f[A>>2];f[n+4>>2]=f[A+4>>2];f[n+8>>2]=f[A+8>>2];f[n+12>>2]=f[A+12>>2];f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];ns(u,n,a,1.0,i);if(((b>=+o[u>>3]?(f[n>>2]=f[A>>2],f[n+4>>2]=f[A+4>>2],f[n+8>>2]=f[A+8>>2],f[n+12>>2]=f[A+12>>2],f[a>>2]=f[e>>2],f[a+4>>2]=f[e+4>>2],f[a+8>>2]=f[e+8>>2],f[a+12>>2]=f[e+12>>2],ns(t,n,a,1.0,i),+o[t+16>>3]>=+o[r>>3]):0)?(b=+o[r+24>>3],f[n>>2]=f[A>>2],f[n+4>>2]=f[A+4>>2],f[n+8>>2]=f[A+8>>2],f[n+12>>2]=f[A+12>>2],f[a>>2]=f[e>>2],f[a+4>>2]=f[e+4>>2],f[a+8>>2]=f[e+8>>2],f[a+12>>2]=f[e+12>>2],ns(l,n,a,1.0,i),b>=+o[l+8>>3]):0)?(f[n>>2]=f[A>>2],f[n+4>>2]=f[A+4>>2],f[n+8>>2]=f[A+8>>2],f[n+12>>2]=f[A+12>>2],f[a>>2]=f[e>>2],f[a+4>>2]=f[e+4>>2],f[a+8>>2]=f[e+8>>2],f[a+12>>2]=f[e+12>>2],ns(c,n,a,1.0,i),+o[c+24>>3]>=+o[r+8>>3]):0)n=1;else n=0;v=s;return n|0}function Jv(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;a=v;v=v+16|0;n=a;A:do{if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0){do{switch(i<<24>>24|0){case 48:{e=2;break A}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{e=10;break A}case 67:case 99:{i=A+1|0;if(!(Oz(i,94782)|0)){e=4;break A}if(!(Oz(i,94788)|0)){e=12;break A}break}case 70:case 102:{if(!(Oz(A+1|0,94796)|0)){e=2;break A}break}case 76:case 108:{if(!(Oz(A+1|0,94801)|0)){e=2;break A}break}case 78:case 110:{i=A+1|0;if(!(Oz(i,94805)|0)){e=0;break A}if(!(Oz(i,94809)|0)){e=2;break A}break}case 79:case 111:{if(!(Oz(A+1|0,94811)|0)){e=8;break A}break}case 80:case 112:{if(!(Oz(A+1|0,94816)|0)){e=6;break A}break}case 83:case 115:{if(!(Oz(A+1|0,94824)|0)){e=10;break A}break}case 84:case 116:{if(!(Oz(A+1|0,94830)|0)){e=10;break A}break}case 89:case 121:{if(!(Oz(A+1|0,94834)|0)){e=10;break A}break}default:{}}}while(0);f[n>>2]=A;Iy(0,94837,n)|0}}while(0);v=a;return e|0}function Pv(A,e){A=A|0;e=e|0;var i=0;i=aY(A,94878)|0;if(i)if(!(r[i>>0]|0))e=0;else e=Jv(i,e)|0;A=(f[A+16>>2]|0)+136|0;n[A>>1]=e|t[A>>1];return}function Rv(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=+r;n=n|0;var f=0.0,a=0.0,t=0.0,l=0.0,c=0.0,s=0,u=0,b=0.0,B=0,k=0.0,w=0,h=0.0,d=0,g=0,m=0,Z=0;m=v;v=v+32|0;B=m+16|0;w=m;d=n&1;g=n&2;A:do{if((i|0)==2){h=+o[A+16>>3];f=+o[A>>3];l=+o[A+24>>3];t=+o[A+8>>3];f=f-(h-f);o[B>>3]=f;o[w>>3]=h;t=t-(l-t);o[B+8>>3]=t;o[w+8>>3]=l}else{a=+o[A>>3];o[w>>3]=a;o[B>>3]=a;l=+o[A+8>>3];s=w+8|0;o[s>>3]=l;u=B+8|0;o[u>>3]=l;n=0;f=a;t=l;while(1){if((n|0)>=(i|0)){h=a;break A}Z=A+(n<<4)|0;k=+o[Z>>3];c=+o[(k>3];o[B>>3]=c;h=+o[A+(n<<4)+8>>3];b=+o[(h>3];o[u>>3]=b;k=+o[(k>a?Z:w)>>3];o[w>>3]=k;h=+o[(h>l?Z:w)+8>>3];o[s>>3]=h;n=n+1|0;f=c;t=b;a=k;l=h}}}while(0);a=(h-f)*.5;k=a+f;b=(l-t)*.5;c=b+t;if(!d){f=l-c;l=r;t=+W(+l);l=+N(+l);if(!g){a=t*f-c;f=-c-b*t}else{f=t*f;a=c-f;f=f+c}o[e+8>>3]=a;o[e+24>>3]=f;r=l*(h-k);o[e>>3]=k-r;o[e+16>>3]=r+k}else{r=+p(+(b*b+a*a));o[e+8>>3]=g|0?c:-c;o[e>>3]=k;o[e+16>>3]=r*.25;o[e+24>>3]=r}v=m;return}function Hv(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0;r=A+16|0;n=f[r>>2]|0;if(!(e<<24>>24)){i=+o[n+32>>3]*36.0;o[n+88>>3]=i;A=n+40|0}else{i=+o[n+40>>3]*36.0;o[n+88>>3]=i;A=n+32|0}o[n+96>>3]=i;o[(f[r>>2]|0)+80>>3]=+o[A>>3]*72.0;return}function Lv(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0;I=v;v=v+16|0;c=I+8|0;G=4;Z=RW(40)|0;f[Z>>2]=0;k=I;w=0;i=eA(22,A|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;A:do{if((a|0)!=1){w=0;m=eA(23,i<<3|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){i=pH(f[n>>2]|0,Z|0,G|0)|0;if(!i)OA(n|0,h|0);Q=h}else i=-1;if((i|0)!=1){if(!(r[174080]|0))d=0;else{w=0;i=AA(2)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){u=0;o=0;s=0;c=0;l=0;e=m;t=m;i=Q;a=0;g=74;break}d=i}w=0;i=iA(31,A|0,94886)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)!=1){f[42367]=0;e:do{if(i|0?(l=r[i>>0]|0,l<<24>>24):0){t=i;n=l;a=0;while(1){l=t+1|0;if(!(n<<24>>24))break e;switch(n<<24>>24|0){case 99:{i=8;g=16;break}case 105:{i=18;g=16;break}case 109:{i=1;g=16;break}case 114:{i=4;g=16;break}case 115:{i=2;g=16;break}default:i=a}if((g|0)==16){g=0;i=a|i;f[42367]=i}t=l;n=r[l>>0]|0;a=i}}}while(0);if(e|0){w=0;rA(11,0,94890,c|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){u=0;o=d;s=0;c=0;l=0;e=m;t=m;i=Q;a=0;g=74;break}}w=0;B=iA(32,A|0,0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){s=f[B+16>>2]|0;if(f[42367]&2|0){w=0;cA(25,f[13918]|0,s|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){u=0;o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break}}w=0;a=eA(24,A|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){u=0;while(1){if(!a)break;w=0;i=iA(33,A|0,a|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){t=pH(f[n>>2]|0,Z|0,G|0)|0;if(!t)OA(n|0,h|0);Q=h}else t=-1;if((t|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}l=u;while(1){if(!i)break;if(!((f[42179]|0)==2?(f[(f[i+16>>2]|0)+8>>2]|0)!=0:0))g=32;e:do{if((g|0)==32){g=0;do{if(r[174080]|0){o=f[i>>2]&3;c=(f[f[((o|0)==3?i:i+48|0)+40>>2]>>2]|0)>>>4;o=(f[f[((o|0)==2?i:i+-48|0)+40>>2]>>2]|0)>>>4;if(c>>>0>o>>>0){w=0;n=rA(15,d|0,o|0,c|0)|0;t=w;w=0;if((t|0)!=0&(h|0)!=0){e=pH(f[t>>2]|0,Z|0,G|0)|0;if(!e)OA(t|0,h|0);Q=h}else e=-1;if((e|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}if(n|0)break e;w=0;oA(59,d|0,o|0,c|0);n=w;w=0;if((n|0)!=0&(h|0)!=0){t=pH(f[n>>2]|0,Z|0,G|0)|0;if(!t)OA(n|0,h|0);Q=h}else t=-1;if((t|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}break}else{w=0;n=rA(15,d|0,c|0,o|0)|0;t=w;w=0;if((t|0)!=0&(h|0)!=0){e=pH(f[t>>2]|0,Z|0,G|0)|0;if(!e)OA(t|0,h|0);Q=h}else e=-1;if((e|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}if(n|0)break e;w=0;oA(59,d|0,c|0,o|0);n=w;w=0;if((n|0)!=0&(h|0)!=0){t=pH(f[n>>2]|0,Z|0,G|0)|0;if(!t)OA(n|0,h|0);Q=h}else t=-1;if((t|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}break}}}while(0);f[m+(l<<3)+4>>2]=i;w=0;e=eA(25,i|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){t=pH(f[n>>2]|0,Z|0,G|0)|0;if(!t)OA(n|0,h|0);Q=h}else t=-1;if((t|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}f[m+(l<<3)>>2]=e;l=l+1|0}}while(0);w=0;i=iA(34,A|0,i|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){t=pH(f[n>>2]|0,Z|0,G|0)|0;if(!t)OA(n|0,h|0);Q=h}else t=-1;if((t|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}}w=0;a=iA(35,A|0,a|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74;break A}u=l}w=0;c=eA(26,u<<3|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){w=0;uA(25,m|0,u|0,8,36);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){a=f[s>>2]|0;w=0;lA(87,a+2|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){l=f[s+16>>2]|0;e=l+(a*40|0)|0;l=l+((a+1|0)*40|0)|0;b=f[13918]|0;t=0;while(1){if((t|0)>=(u|0))break;if((t|0)>0?f[42367]&16|0:0){w=0;cA(25,b|0,s|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}}i=f[m+(t<<3)+4>>2]|0;o=f[i>>2]&3;a=f[(f[(f[((o|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;i=f[(f[(f[((o|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((a|0)==(i|0)){w=0;uA(26,s|0,a|0,l|0,e|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}}else{w=0;oA(60,s|0,i|0,l|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}w=0;oA(60,s|0,a|0,e|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}}w=0;i=rA(16,s|0,l|0,e|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}if(i|0){o=d;s=c;l=B;e=m;t=m;break A}i=c+(t<<3)|0;w=0;uA(27,k|0,s|0,e|0,l|0);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}a=k;o=f[a+4>>2]|0;f[i>>2]=f[a>>2];f[i+4>>2]=o;w=0;lA(88,s|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74;break A}t=t+1|0}w=0;tA(8);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){w=0;i=eA(27,B|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)!=1){f[B+20>>2]=i;w=0;i=eA(28,B|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)!=1){f[B+24>>2]=i;w=0;oA(61,u|0,c|0,B|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){Z=YH(169472,1,Z|0,G|0)|0;G=Q;w=0;i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)!=1){o=d;s=c;l=B;e=m;t=m;i=0;a=b;g=74}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=b;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=0;g=74}}else{o=d;s=c;l=B;e=m;t=m;i=Q;a=0;g=74}}else{o=d;s=0;l=B;e=m;t=m;i=Q;a=0;g=74}}else{u=0;o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74}}else{u=0;o=d;s=0;c=0;l=B;e=m;t=m;i=Q;a=0;g=74}}else{u=0;o=d;s=0;c=0;l=0;e=m;t=m;i=Q;a=0;g=74}}else{u=0;o=0;s=0;c=0;l=0;e=0;t=m;i=Q;a=0;g=74}}else{u=0;o=0;s=0;c=0;l=0;e=0;t=0;i=Q;a=0;g=74}}while(0);A:while(1){if((g|0)==74){g=0;if(i|0){b=a;continue}w=0;lA(89,l|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){C=a;n=t;b=e;B=l;k=c;d=s;m=o;g=u;i=Q;a=C;t=n;e=b;l=B;c=k;s=d;o=m;u=g;g=74;continue}if(f[42367]&4|0){w=0;bA(7,a|0,l|0,u|0,s|0,e|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){n=a;b=t;B=e;k=l;d=c;m=s;C=o;g=u;i=Q;a=n;t=b;e=B;l=k;c=d;s=m;o=C;u=g;g=74;continue}}w=0;vA(10,A|0,l|0,u|0,s|0,e|0,0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){n=a;b=t;B=e;k=l;d=c;m=s;C=o;g=u;i=Q;a=n;t=b;e=B;l=k;c=d;s=m;o=C;u=g;g=74;continue}b=a}if(!(r[174080]|0))i=0;else{w=0;lA(90,o|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){i=Q;a=b;g=74;continue}i=0}while(1){if((i|0)>=(u|0))break;w=0;lA(91,f[s+(i<<3)+4>>2]|0);n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,Z|0,G|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){i=Q;a=b;g=74;continue A}i=i+1|0}w=0;lA(91,c|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){i=Q;a=b;g=74;continue}w=0;lA(92,l|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){i=Q;a=b;g=74;continue}w=0;lA(91,t|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){n=pH(f[i>>2]|0,Z|0,G|0)|0;if(!n)OA(i|0,h|0);Q=h}else n=-1;if((n|0)==1){i=Q;a=b;g=74}else break}HW(Z|0);v=I;return}function Fv(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0;k=v;v=v+64|0;B=k+32|0;b=k+16|0;l=k;c=k+48|0;zP(95757,A)|0;zP(95768,A)|0;s=e+16|0;u=l+8|0;t=c+4|0;a=0;while(1){if((a|0)>=(f[e>>2]|0))break;i=f[s>>2]|0;r=f[i+(a*40|0)+20>>2]|0;n=f[i+(a*40|0)+24>>2]|0;if((r|0)==(n|0)){WB(l,r);i=~~+o[l>>3];r=~~+o[u>>3]}else{JB(c,(f[r>>2]&1|0)==0?r:n,i+(a*40|0)|0);i=f[c>>2]|0;r=f[t>>2]|0}f[b>>2]=a;f[b+4>>2]=i;f[b+8>>2]=r;uP(A,95788,b)|0;a=a+1|0}n=e+4|0;r=e+20|0;i=0;while(1){if((i|0)>=(f[n>>2]|0))break;b=f[r>>2]|0;e=f[b+(i*24|0)+16>>2]|0;w=+o[b+(i*24|0)>>3];f[B>>2]=f[b+(i*24|0)+12>>2];f[B+4>>2]=e;o[B+8>>3]=w;uP(A,95808,B)|0;i=i+1|0}zP(95830,A)|0;v=k;return}function Dv(A){A=A|0;var e=0.0,i=0.0,r=0,n=0;n=f[A>>2]&3;r=f[(f[((n|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0;A=f[(f[((n|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0;e=+o[r+16>>3]-+o[A+16>>3];i=+o[r+24>>3]-+o[A+24>>3];return~~(i*i+e*e)|0}function Xv(A,e){A=A|0;e=e|0;return(f[A>>2]|0)-(f[e>>2]|0)|0}function xv(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+32|0;c=u;WB(u+16|0,e);o=e+32|0;s=e+36|0;a=0;while(1){if((a|0)>=(f[o>>2]|0))break;t=f[(f[s>>2]|0)+(a<<2)>>2]|0;do{if(!(r[t+36>>0]|0)){l=f[t+20>>2]|0;if((l|0)==(e|0)){VB(c,t,f[t+24>>2]|0);$B(A,n,t,0.0)|0;break}else{VB(c,t,l);$B(A,i,t,0.0)|0;break}}}while(0);a=a+1|0}f[A>>2]=(f[A>>2]|0)+2;v=u;return}function Tv(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+32|0;t=o;WB(o+16|0,e);l=e+32|0;c=e+36|0;n=0;while(1){if((n|0)>=(f[l>>2]|0))break;a=f[(f[c>>2]|0)+(n<<2)>>2]|0;r=f[a+20>>2]|0;if((r|0)==(e|0))r=f[a+24>>2]|0;VB(t,a,r);$B(A,i,a,0.0)|0;n=n+1|0}f[A>>2]=(f[A>>2]|0)+1;f[i+24>>2]=e;f[i+20>>2]=e;v=o;return}function Uv(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0.0,s=0.0,u=0,b=0.0,B=0.0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0.0,G=0.0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0;N=v;v=v+128|0;Q=N+64|0;u=N+48|0;y=N+32|0;Y=N+16|0;p=N;a=0;t=i;while(1){if(!t)break;a=a+1|0;t=f[t+8>>2]|0}E=Jb((a*56|0)+-112|0)|0;f[Q+52>>2]=0;f[Q+48>>2]=0;M=i+8|0;i=f[M>>2]|0;t=f[i+8>>2]|0;a=f[i+20>>2]|0;if(f[a>>2]&1)a=f[i+24>>2]|0;VB(u,i,a);l=i;k=i;B=0.0;b=+o[u>>3];C=0;s=0.0;G=+o[u+8>>3];while(1){I=t+8|0;if(!(f[I>>2]|0))break;m=NB(l,t)|0;Gd(e,m,f[k+12>>2]|0);d=k+36|0;g=t+36|0;if((r[d>>0]|0)==(r[g>>0]|0))if((f[I>>2]|0)==(n|0)){VB(Y,t,m);i=Y;V=12}else{l=k;i=C;c=G}else{WB(y,m);i=y;V=12}if((V|0)==12){V=0;Z=+o[i>>3];c=+o[i+8>>3];i=r[d>>0]|0;h=i<<24>>24==0;w=(k|0)==(f[M>>2]|0);if(h){if(!(r[g>>0]|0))i=0;else i=(f[t+20>>2]|0)==(m|0)?4:2;u=m+48|0;k=a+48|0;l=a+40|0;a=w?0:B>b?4:2}else{if(i<<24>>24==(r[g>>0]|0))i=0;else i=(f[t+20>>2]|0)==(m|0)?1:3;u=m+40|0;k=a+40|0;l=a+48|0;a=w?0:s>G?1:3}zB(Q,h&1,+o[l>>3],+o[k>>3],+o[u>>3],a,i);k=C+1|0;a=E+(C*56|0)|0;i=Q;l=a+56|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(l|0));if((r[d>>0]|0)!=(r[g>>0]|0)?(f[I>>2]|0)==(n|0):0){VB(p,t,m);u=(r[g>>0]|0)==0;i=m+40|0;a=m+48|0;B=+o[(u?a:i)>>3];zB(Q,u&1,+o[(u?i:a)>>3],B,B,u?b>Z?4:2:G>c?1:3,0);u=C+2|0;a=E+(k*56|0)|0;i=Q;l=a+56|0;do{f[a>>2]=f[i>>2];a=a+4|0;i=i+4|0}while((a|0)<(l|0));a=m;l=t;B=b;b=Z;i=u;s=G}else{a=m;l=t;B=b;b=Z;i=k;s=G}}m=t;t=f[I>>2]|0;k=l;C=i;G=c;l=m}t=FW(E,C*56|0)|0;i=C+-1|0;a=0;while(1){if((a|0)>=(C|0))break;if((a|0)>0)f[t+(a*56|0)+48>>2]=t+((a+-1|0)*56|0);if((a|0)<(i|0)){V=a+1|0;f[t+(a*56|0)+52>>2]=t+(V*56|0);a=V;continue}else{a=a+1|0;continue}}f[A>>2]=C;f[A+4>>2]=t;v=N;return}function Sv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;l=vy(24676,f[4345]|0)|0;c=A+8|0;t=0;while(1){if((t|0)>=(f[A>>2]|0))break;e=(f[c>>2]|0)+(t*72|0)|0;if(!(f[e>>2]&4)){while(1){i=f[(f[e+36>>2]|0)+8>>2]|0;if(!i)break;i=f[i+20>>2]|0;if(!i)break;if(!(f[i>>2]&1))e=i;else break}a=Jb(40)|0;f[a+36>>2]=e;o[a+8>>3]=+o[e+40>>3];n=e;i=f[e>>2]|0;while(1){f[n>>2]=i|4;i=f[f[n+36>>2]>>2]|0;if(!i)break;r=f[i+24>>2]|0;if(!r)break;i=f[r>>2]|0;if(i&1|0)break;else n=r}o[a+16>>3]=+o[n+56>>3];EB(l,a,+o[e+48>>3])}t=t+1|0}return l|0}function jv(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;l=vy(24676,f[4345]|0)|0;c=A+8|0;t=0;while(1){if((t|0)>=(f[A>>2]|0))break;e=(f[c>>2]|0)+(t*72|0)|0;if(!(f[e>>2]&2)){while(1){i=f[(f[e+36>>2]|0)+12>>2]|0;if(!i)break;i=f[i+20>>2]|0;if(!i)break;if(!(f[i>>2]&1))e=i;else break}a=Jb(40)|0;f[a+36>>2]=e;o[a+8>>3]=+o[e+48>>3];n=e;i=f[e>>2]|0;while(1){f[n>>2]=i|2;i=f[(f[n+36>>2]|0)+4>>2]|0;if(!i)break;r=f[i+24>>2]|0;if(!r)break;i=f[r>>2]|0;if(i&1|0)break;else n=r}o[a+16>>3]=+o[n+64>>3];EB(l,a,+o[e+40>>3])}t=t+1|0}return l|0}function Ov(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0;c=i+20|0;l=i+24|0;i=0;while(1){if((i|0)>=(A|0))break;a=f[e+(i<<3)>>2]|0;t=f[e+(i<<3)+4>>2]|0;n=0;while(1){if((n|0)>=(a|0))break;o=t+(n*56|0)|0;MB(nB(f[((r[o>>0]|0)==0?c:l)>>2]|0,o)|0,o);n=n+1|0}i=i+1|0}return}function Kv(A){A=A|0;var e=0,i=0;i=A+20|0;aB(f[i>>2]|0);e=A+24|0;aB(f[e>>2]|0);tB(f[i>>2]|0);tB(f[e>>2]|0);lB(f[i>>2]|0,A);lB(f[e>>2]|0,A);cB(f[i>>2]|0);cB(f[e>>2]|0);return}function _v(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0.0,Q=0.0,y=0,Y=0.0;C=v;v=v+224|0;u=C+176|0;s=C+208|0;G=C+160|0;I=C+128|0;c=C+96|0;d=C+64|0;g=C;b=C+32|0;m=g+8|0;o[m>>3]=1797693134862315708145274.0e284;o[g>>3]=1797693134862315708145274.0e284;Z=g+24|0;o[Z>>3]=-1797693134862315708145274.0e284;B=g+16|0;o[B>>3]=-1797693134862315708145274.0e284;zP(95005,A)|0;f[u>>2]=10;f[u+4>>2]=10;uP(A,95411,u)|0;zP(123076,A)|0;t=e+4|0;l=e+12|0;k=d+8|0;w=d+16|0;h=d+24|0;a=0;while(1){if((a|0)>=(f[t>>2]|0))break;y=(f[l>>2]|0)+(a*72|0)+40|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];f[d+16>>2]=f[y+16>>2];f[d+20>>2]=f[y+20>>2];f[d+24>>2]=f[y+24>>2];f[d+28>>2]=f[y+28>>2];Q=+o[k>>3];E=+o[w>>3];M=+o[h>>3];o[c>>3]=+o[d>>3];o[c+8>>3]=Q;o[c+16>>3]=E;o[c+24>>3]=M;uP(A,123095,c)|0;a=a+1|0}a=0;while(1){if((a|0)>=(i|0))break;y=f[n+(a<<3)+4>>2]|0;c=r+(a<<3)|0;f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[u+12>>2]=f[g+12>>2];f[u+16>>2]=f[g+16>>2];f[u+20>>2]=f[g+20>>2];f[u+24>>2]=f[g+24>>2];f[u+28>>2]=f[g+28>>2];fB(b,A,y,s,e,u);f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[g+12>>2]=f[b+12>>2];f[g+16>>2]=f[b+16>>2];f[g+20>>2]=f[b+20>>2];f[g+24>>2]=f[b+24>>2];f[g+28>>2]=f[b+28>>2];a=a+1|0}zP(95428,A)|0;t=e+8|0;a=0;while(1){if((a|0)>=(f[e>>2]|0))break;y=(f[t>>2]|0)+(a*72|0)+40|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];f[d+16>>2]=f[y+16>>2];f[d+20>>2]=f[y+20>>2];f[d+24>>2]=f[y+24>>2];f[d+28>>2]=f[y+28>>2];Y=+o[d>>3];M=+o[k>>3];E=+o[w>>3];Q=+o[h>>3];o[I>>3]=Y;o[I+8>>3]=M;o[I+16>>3]=E;o[I+24>>3]=Q;uP(A,123132,I)|0;o[g>>3]=+o[(+o[g>>3]>3];o[m>>3]=+o[(+o[m>>3]>3];o[B>>3]=+o[(+o[B>>3]>E?g:d)+16>>3];o[Z>>3]=+o[(+o[Z>>3]>Q?g:d)+24>>3];a=a+1|0}m=~~(+o[m>>3]+10.0);I=~~(+o[B>>3]+10.0);y=~~(+o[Z>>3]+10.0);f[G>>2]=~~(+o[g>>3]+10.0);f[G+4>>2]=m;f[G+8>>2]=I;f[G+12>>2]=y;uP(A,95453,G)|0;v=C;return}function qv(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0;H=v;v=v+112|0;p=H+88|0;Y=H+72|0;R=H+32|0;W=H+16|0;z=H;J=H+56|0;P=H+40|0;V=f[13918]|0;Z=(t|0)==0;G=z+8|0;I=W+8|0;m=0;s=0;u=0;b=0;B=0;t=0;while(1){if((m|0)>=(i|0))break;C=f[a+(m<<3)+4>>2]|0;M=C+48|0;g=(f[(f[((f[C>>2]&3|0)==3?C:M)+40>>2]|0)+16>>2]|0)+16|0;E=C+16|0;Q=(f[E>>2]|0)+16|0;f[Y>>2]=f[g>>2];f[Y+4>>2]=f[g+4>>2];f[Y+8>>2]=f[g+8>>2];f[Y+12>>2]=f[g+12>>2];f[p>>2]=f[Q>>2];f[p+4>>2]=f[Q+4>>2];f[p+8>>2]=f[Q+8>>2];f[p+12>>2]=f[Q+12>>2];$v(J,Y,p);f[W>>2]=f[J>>2];f[W+4>>2]=f[J+4>>2];f[W+8>>2]=f[J+8>>2];f[W+12>>2]=f[J+12>>2];Q=C+-48|0;g=(f[(f[((f[C>>2]&3|0)==2?C:Q)+40>>2]|0)+16>>2]|0)+16|0;d=(f[E>>2]|0)+56|0;f[Y>>2]=f[g>>2];f[Y+4>>2]=f[g+4>>2];f[Y+8>>2]=f[g+8>>2];f[Y+12>>2]=f[g+12>>2];f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2];f[p+12>>2]=f[d+12>>2];$v(P,Y,p);f[z>>2]=f[P>>2];f[z+4>>2]=f[P+4>>2];f[z+8>>2]=f[P+8>>2];f[z+12>>2]=f[P+12>>2];d=f[n+(m<<3)>>2]|0;g=f[n+(m<<3)+4>>2]|0;h=d*3|0;y=h+1|0;if((h|0)>=(u|0)){if(s|0)HW(t);B=Pb(y<<4)|0;s=B;u=y;b=B;t=B}if(!(r[g>>0]|0)){c=+(eB(g,e)|0);l=+o[W>>3]}else{l=+AB(g,e);c=+o[I>>3]}w=s+16|0;o[s+16>>3]=l;o[s+24>>3]=c;f[B>>2]=f[w>>2];f[B+4>>2]=f[w+4>>2];f[B+8>>2]=f[w+8>>2];f[B+12>>2]=f[w+12>>2];w=1;k=g;h=2;while(1){if((w|0)>=(d|0))break;k=g+(w*56|0)|0;if(!(r[k>>0]|0))c=+(eB(k,e)|0);else l=+AB(k,e);L=s+(h+2<<4)|0;D=s+(h+1<<4)|0;F=s+(h<<4)|0;o[F>>3]=l;o[s+(h<<4)+8>>3]=c;f[D>>2]=f[F>>2];f[D+4>>2]=f[F+4>>2];f[D+8>>2]=f[F+8>>2];f[D+12>>2]=f[F+12>>2];f[L>>2]=f[F>>2];f[L+4>>2]=f[F+4>>2];f[L+8>>2]=f[F+8>>2];f[L+12>>2]=f[F+12>>2];w=w+1|0;h=h+3|0}if(!(r[k>>0]|0)){c=+(eB(k,e)|0);l=+o[z>>3]}else{l=+AB(k,e);c=+o[G>>3]}D=s+(h<<4)|0;L=h+1|0;F=s+(L<<4)|0;o[F>>3]=l;o[s+(L<<4)+8>>3]=c;f[D>>2]=f[F>>2];f[D+4>>2]=f[F+4>>2];f[D+8>>2]=f[F+8>>2];f[D+12>>2]=f[F+12>>2];if(0>1){F=Ap(f[((f[C>>2]&3|0)==3?C:M)+40>>2]|0)|0;D=Ap(f[((f[C>>2]&3|0)==2?C:Q)+40>>2]|0)|0;f[R>>2]=F;f[R+4>>2]=D;uP(V,94964,R)|0}OG(C,f[((f[C>>2]&3|0)==2?C:Q)+40>>2]|0,s,y,24664);if((!Z?(N=f[(f[E>>2]|0)+96>>2]|0,N|0):0)?(r[N+81>>0]|0)==0:0){f[Y>>2]=f[W>>2];f[Y+4>>2]=f[W+4>>2];f[Y+8>>2]=f[W+8>>2];f[Y+12>>2]=f[W+12>>2];f[p>>2]=f[z>>2];f[p+4>>2]=f[z+4>>2];f[p+8>>2]=f[z+8>>2];f[p+12>>2]=f[z+12>>2];kI(A,C,Y,p)}m=m+1|0}HW(b);v=H;return}function $v(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;o[e>>3]=+o[e>>3]+ +o[i>>3];r=e+8|0;o[r>>3]=+o[r>>3]+ +o[i+8>>3];f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function AB(A,e){A=A|0;e=e|0;var i=0.0,r=0;e=nB(f[e+24>>2]|0,A)|0;r=f[e+36>>2]|0;i=+o[r+40>>3];return+((+o[r+56>>3]-i)*(+(f[A+44>>2]|0)/+((f[e+24>>2]|0)+1|0))+i)}function eB(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=nB(f[e+20>>2]|0,A)|0;e=f[r+36>>2]|0;i=+o[e+48>>3];return~~((1.0-+(f[A+44>>2]|0)/+((f[r+24>>2]|0)+1|0))*(+o[e+64>>3]-i)+i)|0}function iB(A){A=A|0;return 0}function rB(A){A=A|0;return 0}function nB(A,e){A=A|0;e=e|0;A=mL[f[A>>2]&31](A,e+8|0,512)|0;if(!A)BA(94977,94983,423,94991);A=f[A+16>>2]|0;A=mL[f[A>>2]&31](A,e+16|0,512)|0;if(!A)BA(95002,94983,425,94991);else return A|0;return 0}function fB(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0,c=0.0,s=0,u=0,b=0,B=0.0,k=0.0,w=0.0,h=0.0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0.0,Q=0.0,y=0.0;C=v;v=v+32|0;I=C+16|0;g=C+8|0;s=C;l=f[(f[(f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;d=f[n+4>>2]|0;if(!(r[d>>0]|0)){c=+o[l+56>>3];h=+o[l+40>>3];l=eB(d,a)|0;c=(h+c)*.5}else{c=+o[l+64>>3];h=+o[l+48>>3];l=~~((h+c)*.5);c=+AB(d,a)}M=~~c;B=+o[t>>3];w=+(M|0);B=B>3]=B;m=t+8|0;k=+o[m>>3];h=+(l|0);k=k>3]=k;Z=t+16|0;c=+o[Z>>3];w=c>w?c:w;o[Z>>3]=w;G=t+24|0;c=+o[G>>3];h=c>h?c:h;o[G>>3]=h;f[s>>2]=M;f[s+4>>2]=l;uP(e,95504,s)|0;b=f[n>>2]|0;s=d;u=1;n=M;while(1){if((u|0)>=(b|0))break;s=d+(u*56|0)|0;if(!(r[s>>0]|0))l=eB(s,a)|0;else n=~~+AB(s,a);E=+(n|0);y=B>3]=y;c=+(l|0);Q=k>3]=Q;E=w>E?w:E;o[Z>>3]=E;c=h>c?h:c;o[G>>3]=c;f[g>>2]=n;f[g+4>>2]=l;uP(e,95526,g)|0;u=u+1|0;B=y;k=Q;w=E;h=c}l=f[(f[(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(r[s>>0]|0)){c=+o[l+56>>3];y=+o[l+40>>3];l=eB(s,a)|0;c=(y+c)*.5}else{c=+o[l+64>>3];y=+o[l+48>>3];l=~~((y+c)*.5);c=+AB(s,a)}M=~~c;Q=+(M|0);o[t>>3]=B>3]=k>3]=w>Q?w:Q;o[G>>3]=h>y?h:y;f[I>>2]=M;f[I+4>>2]=l;uP(e,95540,I)|0;f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];f[A+12>>2]=f[t+12>>2];f[A+16>>2]=f[t+16>>2];f[A+20>>2]=f[t+20>>2];f[A+24>>2]=f[t+24>>2];f[A+28>>2]=f[t+28>>2];v=C;return}function aB(A){A=A|0;var e=0;A=uy(A)|0;while(1){if(!A)break;e=uy(f[A+16>>2]|0)|0;while(1){if(!e)break;f[e+32>>2]=PB(f[e+24>>2]|0)|0;e=f[e>>2]|0}A=f[A>>2]|0}return}function tB(A){A=A|0;var e=0;A=uy(A)|0;while(1){if(!A)break;e=uy(f[A+16>>2]|0)|0;while(1){if(!e)break;if(f[e+24>>2]|0)CB(e);e=f[e>>2]|0}A=f[A>>2]|0}return}function lB(A,e){A=A|0;e=e|0;var i=0;i=uy(A)|0;while(1){if(!i)break;A=uy(f[i+16>>2]|0)|0;while(1){if(!A)break;bB(A,e);A=f[A>>2]|0}i=f[i>>2]|0}return}function cB(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;r=uy(A)|0;while(1){if(!r)break;t=r+8|0;n=uy(f[r+16>>2]|0)|0;while(1){if(!n)break;A=n+24|0;A:do{if(f[A>>2]|0){if(f[42367]&8|0)oB(n,~~+o[t>>3]);a=n+32|0;DB(f[a>>2]|0);e=f[A>>2]|0;i=n+28|0;A=0;while(1){if((A|0)>=(e|0))break A;f[(f[(f[i>>2]|0)+(A<<2)>>2]|0)+44>>2]=(f[(f[(f[a>>2]|0)+4>>2]|0)+(A*12|0)+4>>2]|0)+1;A=A+1|0}}}while(0);n=f[n>>2]|0}r=f[r>>2]|0}return}function oB(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0.0,s=0.0;l=v;v=v+32|0;i=l;a=A+24|0;A:do{if((f[a>>2]|0)>=2){t=f[13918]|0;s=+o[A+8>>3];c=+o[A+16>>3];f[i>>2]=e;o[i+8>>3]=s;o[i+16>>3]=c;uP(t,95561,i)|0;n=A+32|0;A=A+28|0;e=0;while(1){if((e|0)>=(f[a>>2]|0))break A;r=f[(f[(f[n>>2]|0)+4>>2]|0)+(e*12|0)+8>>2]|0;e:do{if(ky(r)|0){sB(t,f[(f[A>>2]|0)+(e<<2)>>2]|0);zP(95581,t)|0;i=mL[f[r>>2]&31](r,0,128)|0;while(1){if(!i)break e;zP(95586,t)|0;sB(t,f[(f[A>>2]|0)+(f[i>>2]<<2)>>2]|0);zP(134901,t)|0;i=mL[f[r>>2]&31](r,i,8)|0}}}while(0);e=e+1|0}}}while(0);v=l;return}function sB(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0.0,c=0.0,s=0.0;a=v;v=v+80|0;n=a+40|0;i=a;if(!(r[e>>0]|0)){s=+o[e+16>>3];l=+o[e+8>>3];c=+o[e+24>>3];t=uB(f[e+32>>2]|0)|0;i=uB(f[e+36>>2]|0)|0;o[n>>3]=s;o[n+8>>3]=l;o[n+16>>3]=c;o[n+24>>3]=l;f[n+32>>2]=t;f[n+36>>2]=i;uP(A,95592,n)|0}else{c=+o[e+8>>3];l=+o[e+16>>3];s=+o[e+24>>3];n=uB(f[e+32>>2]|0)|0;t=uB(f[e+36>>2]|0)|0;o[i>>3]=c;o[i+8>>3]=l;o[i+16>>3]=c;o[i+24>>3]=s;f[i+32>>2]=n;f[i+36>>2]=t;uP(A,95592,i)|0}v=a;return}function uB(A){A=A|0;switch(A|0){case 0:{A=95643;break}case 1:{A=95638;break}case 2:{A=95631;break}case 3:{A=95624;break}case 4:{A=95616;break}default:A=0}return A|0}function bB(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0;Z=v;v=v+16|0;w=Z+8|0;d=Z;g=f[A+32>>2]|0;m=f[A+28>>2]|0;B=A+24|0;s=w+4|0;u=d+4|0;l=0;A=f[B>>2]|0;A:while(1){k=l+1|0;if((k|0)>=(A|0))break;b=m+(l<<2)|0;c=k;while(1){if((c|0)>=(A|0)){l=k;continue A}e:do{if(((FB(g,l,c)|0)==0?(FB(g,c,l)|0)==0:0)?(h=m+(c<<2)|0,vB(f[b>>2]|0,f[h>>2]|0)|0):0){n=f[b>>2]|0;A=f[n+48>>2]|0;t=f[h>>2]|0;i=f[t+48>>2]|0;r=(i|0)==0;if(A)if(r)A=1;else A=+o[A+8>>3]!=+o[i+8>>3];else A=r^1;a=A&1;BB(w,n,t,0,a);A=f[w>>2]|0;t=f[s>>2]|0;n=a^1;BB(d,f[b>>2]|0,f[h>>2]|0,1,n);i=f[d>>2]|0;r=f[u>>2]|0;switch(t|0){case-1:{kB(f[h>>2]|0,f[b>>2]|0,a,0,A,e);kB(f[h>>2]|0,f[b>>2]|0,n,1,i,e);if((r|0)!=1)break e;wB(f[b>>2]|0,f[h>>2]|0,n,e);break e}case 0:switch(r|0){case-1:{kB(f[h>>2]|0,f[b>>2]|0,a,0,A,e);kB(f[h>>2]|0,f[b>>2]|0,n,1,i,e);break e}case 0:{kB(f[b>>2]|0,f[h>>2]|0,0,a,A,e);kB(f[b>>2]|0,f[h>>2]|0,1,n,i,e);break e}case 1:{kB(f[b>>2]|0,f[h>>2]|0,0,a,A,e);kB(f[b>>2]|0,f[h>>2]|0,1,n,i,e);break e}default:break e}case 1:{kB(f[b>>2]|0,f[h>>2]|0,0,a,A,e);kB(f[b>>2]|0,f[h>>2]|0,1,n,i,e);if((r|0)!=-1)break e;wB(f[b>>2]|0,f[h>>2]|0,n,e);break e}default:break e}}}while(0);c=c+1|0;A=f[B>>2]|0}}v=Z;return}function vB(A,e){A=A|0;e=e|0;if(!(+o[A+8>>3]==+o[e+8>>3]))BA(95714,94983,843,95745);if((+o[A+16>>3]==+o[e+16>>3]?+o[A+24>>3]==+o[e+24>>3]:0)?(f[A+32>>2]|0)==(f[e+32>>2]|0):0)A=(f[A+36>>2]|0)==(f[e+36>>2]|0)&1;else A=0;return A|0}function BB(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0;a=0;while(1){e=hB(e,r)|0;if(!e){t=0;break}i=hB(i,n)|0;if(!i){l=6;break}if(!(vB(e,i)|0)){l=7;break}a=a+1|0}if((l|0)==6)BA(123205,94983,871,95663);else if((l|0)==7)t=gB(e,dB(e,i)|0,a+1|0,1-r|0)|0;f[A>>2]=a;f[A+4>>2]=t;return}function kB(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,v=0,B=0;v=t+20|0;b=t+24|0;t=nB(f[((r[A>>0]|0)==0?v:b)>>2]|0,A)|0;HB(f[t+32>>2]|0,f[A+40>>2]|0,f[e+40>>2]|0);c=1;while(1){if((c|0)>(a|0))break;s=hB(A,i)|0;u=hB(e,n)|0;do{if(!(r[A>>0]|0)){l=nB(f[b>>2]|0,s)|0;if(+o[s+8>>3]==+o[A+16>>3]){B=(f[A+32>>2]|0)==1;t=(FB(f[t+32>>2]|0,f[A+40>>2]|0,f[e+40>>2]|0)|0)!=0;A=f[l+32>>2]|0;if(B)if(t){HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else{HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else if(t){HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else{HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}}else{B=(f[A+36>>2]|0)==1;t=(FB(f[t+32>>2]|0,f[A+40>>2]|0,f[e+40>>2]|0)|0)!=0;A=f[l+32>>2]|0;if(B)if(t){HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else{HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else if(t){HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else{HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}}}else{l=nB(f[v>>2]|0,s)|0;if(+o[s+8>>3]==+o[A+16>>3]){B=(f[A+32>>2]|0)==2;t=(FB(f[t+32>>2]|0,f[A+40>>2]|0,f[e+40>>2]|0)|0)!=0;A=f[l+32>>2]|0;if(B)if(t){HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else{HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else if(t){HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else{HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}}else{B=(f[A+36>>2]|0)==2;t=(FB(f[t+32>>2]|0,f[A+40>>2]|0,f[e+40>>2]|0)|0)!=0;A=f[l+32>>2]|0;if(B)if(t){HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}else{HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else if(t){HB(A,f[s+40>>2]|0,f[u+40>>2]|0);t=l;break}else{HB(A,f[u+40>>2]|0,f[s+40>>2]|0);t=l;break}}}}while(0);A=s;e=u;c=c+1|0}return}function wB(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0;while(1){if(!(vB(A,e)|0))break;a=hB(A,1)|0;e=hB(e,i)|0;A=a}a=f[(nB(f[((r[A>>0]|0)==0?n+20|0:n+24|0)>>2]|0,A)|0)+32>>2]|0;LB(a,f[A+40>>2]|0,f[e+40>>2]|0);return}function hB(A,e){A=A|0;e=e|0;if(!A)BA(95650,94983,798,95654);else return f[((e|0)==0?A+48|0:A+52|0)>>2]|0;return 0}function dB(A,e){A=A|0;e=e|0;var i=0,n=0,f=0;f=v;v=v+16|0;n=f;i=r[A>>0]|0;if(i<<24>>24==(r[e>>0]|0)?!(+o[A+8>>3]!=+o[e+8>>3]):0){if(!(i<<24>>24))A=mB(A,e,3,1)|0;else A=mB(A,e,4,2)|0;v=f;return A|0}Iy(1,95676,n)|0;OA(169472,1);return 0}function gB(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0;l=1;while(1){if((l|0)>(i|0))break;t=hB(A,n)|0;a=+o[t+8>>3]==+o[A+16>>3];do{if(!(r[A>>0]|0))if(a){a=(f[A+32>>2]|0)==1;break}else{a=(f[A+36>>2]|0)==3;break}else if(a){a=(f[A+32>>2]|0)==4;break}else{a=(f[A+36>>2]|0)==2;break}}while(0);A=t;l=l+1|0;e=a?0-e|0:e}return e|0}function mB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0.0,t=0.0,l=0.0,c=0.0,s=0,u=0,b=0,v=0;l=+o[A+24>>3];c=+o[e+16>>3];do{if(!(l>3],t=+o[e+24>>3],!(a>t)):0){if(c>2]|0;return((i|0)==(f[e+32>>2]|0)?0:(i|0)==(r|0)?1:-1)|0}else{i=f[A+32>>2]|0;e=(i|0)==(f[e+36>>2]|0)?0:(i|0)==(r|0)?1:-1;break}if(!(l==t))if(l>2]|0)==(i|0);i=IB(f[e+32>>2]|0,f[A+32>>2]|0,i,r)|0;return(v?i:0-i|0)|0}else{v=(f[e+36>>2]|0)==(r|0);e=IB(f[A+32>>2]|0,f[e+32>>2]|0,i,r)|0;e=v?e:0-e|0;break}v=f[A+32>>2]|0;b=f[e+32>>2]|0;if((v|0)==(b|0)){e=f[e+36>>2]|0;if((f[A+36>>2]|0)==(e|0)){e=0;break}}else e=f[e+36>>2]|0;u=(b|0)==(i|0);if((b|0)==(e|0)){if(u){e=1;break}if((b|0)==(r|0)){e=-1;break}if((v|0)!=(i|0)?(f[A+36>>2]|0)!=(i|0):0){e=1;break}if((v|0)!=(r|0)?(f[A+36>>2]|0)!=(r|0):0){e=-1;break}e=0;break}n=(e|0)==(r|0);if(u&n){e=(f[A+36>>2]|0)==(r|0);if((v|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}s=(e|0)==(i|0);if((b|0)==(r|0)&s){e=(v|0)==(r|0);if((f[A+36>>2]|0)==(i|0)){if(!e){e=-1;break}}else if(e){e=1;break}e=0;break}if(!b){if(s){e=GB(v,f[A+36>>2]|0,i)|0;break}if(n){e=0-(GB(v,f[A+36>>2]|0,r)|0)|0;break}}n=f[A+36>>2]|0;if(u&(e|0)==0){e=GB(n,v,i)|0;break}else{e=0-(GB(n,v,r)|0)|0;break}}else e=0}while(0);return e|0}function ZB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0.0,l=0.0;t=+o[A+24>>3];l=+o[e+24>>3];do{if(t>2]|0;if((A|0)==(i|0)?(f[e+32>>2]|0)==(r|0):0){A=-1;break}if((A|0)==(r|0)?(f[e+32>>2]|0)==(i|0):0){A=1;break}A=0}else{n=f[e+32>>2]|0;a=(n|0)==(r|0);if(t==l)if(a){A=IB(f[A+36>>2]|0,f[e+36>>2]|0,i,r)|0;break}else{A=0-(IB(f[e+36>>2]|0,f[A+36>>2]|0,i,r)|0)|0;break}if(a?(f[e+36>>2]|0)==(r|0):0){A=-1;break}if((n|0)==(i|0)?(f[e+36>>2]|0)==(i|0):0){A=1;break}A=0}}while(0);return A|0}function GB(A,e,i){A=A|0;e=e|0;i=i|0;return((A|0)==(i|0)?((e|0)==(i|0))<<31>>31:1)|0}function IB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((A|0)==(r|0)){e=(A|0)==0;if(e)return 0;else e=e&1}return((A|0)!=0|(e|0)!=(i|0))<<31>>31|0}function CB(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;a=f[A+28>>2]|0;t=f[A+24>>2]|0;i=f[A+32>>2]|0;A=0;A:while(1){r=A+1|0;if((r|0)>=(t|0))break;n=a+(A<<2)|0;e=r;while(1){if((e|0)==(t|0)){A=r;continue A}switch(dB(f[n>>2]|0,f[a+(e<<2)>>2]|0)|0){case 1:{HB(i,A,e);break}case-1:{HB(i,e,A);break}default:{}}e=e+1|0}}return}function MB(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+24|0;r=f[n>>2]|0;i=r+1|0;f[n>>2]=i;f[e+40>>2]=r;r=A+28|0;A=f[r>>2]|0;if(!A)A=Pb(i<<2)|0;else A=Hb(A,i<<2)|0;f[r>>2]=A;f[A+((f[n>>2]|0)+-1<<2)>>2]=e;return}function EB(A,e,i){A=A|0;e=e|0;i=+i;var r=0,n=0,a=0;a=v;v=v+16|0;n=a;o[n>>3]=i;r=mL[f[A>>2]&31](A,n,512)|0;if(!r){r=Jb(24)|0;o[r+8>>3]=+o[n>>3];f[r+16>>2]=vy(24712,f[4345]|0)|0;mL[f[A>>2]&31](A,r,1)|0}n=f[r+16>>2]|0;mL[f[n>>2]&31](n,e,1)|0;v=a;return}function QB(A,e,i){A=A|0;e=e|0;i=i|0;RB(f[e+32>>2]|0);HW(f[e+28>>2]|0);HW(e);return}function yB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,f=0.0;n=+o[e>>3];f=+o[i>>3];if(!(n>f))if(n>3]>=+o[i+8>>3])<<31>>31;else A=0;else A=!(+o[e+8>>3]<=+o[i+8>>3])&1;return A|0}function YB(A,e,i){A=A|0;e=e|0;i=i|0;ly(f[e+16>>2]|0)|0;HW(e);return}function pB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,f=0.0;f=+o[e>>3];n=+o[i>>3];return(f>n?1:(f>31)|0}function VB(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0.0,t=0,l=0;t=(r[e+36>>0]|0)!=0;l=i+40|0;do{if((f[e+24>>2]|0)==(i|0)){n=+o[l>>3];if(t){a=(+o[i+64>>3]+ +o[i+48>>3])*.5;break}else{a=+o[i+48>>3];n=(+o[i+56>>3]+n)*.5;break}}else if(t){a=(+o[i+64>>3]+ +o[i+48>>3])*.5;n=+o[i+56>>3];break}else{a=+o[i+64>>3];n=(+o[i+56>>3]+ +o[l>>3])*.5;break}}while(0);o[A>>3]=n;o[A+8>>3]=a;return}function NB(A,e){A=A|0;e=e|0;var i=0;i=f[A+20>>2]|0;if((i|0)!=(f[e+20>>2]|0)?(i|0)!=(f[e+24>>2]|0):0)i=f[A+24>>2]|0;return i|0}function WB(A,e){A=A|0;e=e|0;var i=0.0;i=(+o[e+64>>3]+ +o[e+48>>3])*.5;o[A>>3]=(+o[e+56>>3]+ +o[e+40>>3])*.5;o[A+8>>3]=i;return}function zB(A,e,i,n,a,t,l){A=A|0;e=e|0;i=+i;n=+n;a=+a;t=t|0;l=l|0;var c=0,s=0;r[A>>0]=e;o[A+8>>3]=i;if(n>3]=n;o[A+16>>3]=i;f[A+36>>2]=e;f[A+32>>2]=s;r[A+1>>0]=c;return}function JB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=f[e+36>>2]|0;do{if((f[r+4>>2]|0)!=(i|0)){if((f[r+12>>2]|0)==(i|0)){r=~~((+o[e+56>>3]+ +o[e+40>>3])*.5);i=~~+o[e+48>>3];break}if((f[r+8>>2]|0)==(i|0)){r=~~+o[e+40>>3];i=~~((+o[e+64>>3]+ +o[e+48>>3])*.5);break}if((f[r>>2]|0)==(i|0)){r=~~+o[e+56>>3];i=~~((+o[e+64>>3]+ +o[e+48>>3])*.5)}else{r=0;i=0}}else{r=~~((+o[e+56>>3]+ +o[e+40>>3])*.5);i=~~+o[e+64>>3]}}while(0);f[A>>2]=r;f[A+4>>2]=i;return}function PB(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;i=Jb(8)|0;f[i>>2]=A;r=i+4|0;f[r>>2]=Jb(A*12|0)|0;e=0;while(1){if((e|0)>=(A|0))break;a=ld()|0;n=f[r>>2]|0;f[n+(e*12|0)+8>>2]=a;f[n+(e*12|0)>>2]=0;e=e+1|0}return i|0}function RB(A){A=A|0;var e=0,i=0,r=0;i=A+4|0;e=0;while(1){r=f[i>>2]|0;if((e|0)>=(f[A>>2]|0))break;ly(f[r+(e*12|0)+8>>2]|0)|0;e=e+1|0}HW(r);HW(A);return}function HB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=f[(f[A+4>>2]|0)+(e*12|0)+8>>2]|0;mL[f[i>>2]&31](i,n,1)|0;v=r;return}function LB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=v;v=v+16|0;n=r;f[n>>2]=i;A=A+4|0;a=f[(f[A>>2]|0)+(e*12|0)+8>>2]|0;mL[f[a>>2]&31](a,n,2)|0;f[n>>2]=e;i=f[(f[A>>2]|0)+(i*12|0)+8>>2]|0;mL[f[i>>2]&31](i,n,2)|0;v=r;return}function FB(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=f[(f[A+4>>2]|0)+(e*12|0)+8>>2]|0;i=(mL[f[i>>2]&31](i,n,512)|0)!=0&1;v=r;return i|0}function DB(A){A=A|0;var e=0,i=0,r=0,n=0;e=f[A>>2]|0;switch(e|0){case 0:break;case 1:{f[(f[A+4>>2]|0)+4>>2]=0;break}default:{r=XB(e)|0;n=A+4|0;i=0;e=0;while(1){if((i|0)>=(f[A>>2]|0)){e=0;break}if(!(f[(f[n>>2]|0)+(i*12|0)>>2]|0))e=xB(A,i,e,r)|0;i=i+1|0}while(1){i=TB(r)|0;if((i|0)<=-1)break;f[(f[n>>2]|0)+(i*12|0)+4>>2]=e;e=e+1|0}UB(r)}}return}function XB(A){A=A|0;var e=0;e=Jb(8)|0;f[e+4>>2]=Jb(A<<2)|0;f[e>>2]=-1;return e|0}function xB(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;l=A+4|0;a=f[l>>2]|0;c=a+(e*12|0)|0;f[c>>2]=1;a=f[a+(e*12|0)+8>>2]|0;t=a+4|0;i=i+1|0;a=uy(a)|0;while(1){if(!a)break;n=f[(f[t>>2]|0)+8>>2]|0;if((n|0)<0)n=f[a+8>>2]|0;else n=a+(0-n)|0;n=f[n>>2]|0;if(!(f[(f[l>>2]|0)+(n*12|0)>>2]|0))i=xB(A,n,i,r)|0;a=f[a>>2]|0}f[c>>2]=2;SB(r,e);return i+1|0}function TB(A){A=A|0;var e=0,i=0;e=f[A>>2]|0;if((e|0)==-1)A=-1;else{i=f[(f[A+4>>2]|0)+(e<<2)>>2]|0;f[A>>2]=e+-1;A=i}return A|0}function UB(A){A=A|0;HW(f[A+4>>2]|0);HW(A);return}function SB(A,e){A=A|0;e=e|0;var i=0;i=(f[A>>2]|0)+1|0;f[A>>2]=i;f[(f[A+4>>2]|0)+(i<<2)>>2]=e;return}function jB(A){A=A|0;var e=0,i=0,r=0;i=f[A>>2]|0;f[A+8>>2]=i;f[A+12>>2]=f[A+4>>2];e=A+16|0;A=0;while(1){if((A|0)>=(i|0))break;r=f[e>>2]|0;n[r+(A*40|0)+18>>1]=n[r+(A*40|0)+16>>1]|0;A=A+1|0}return}function OB(A){A=A|0;var e=0,i=0,r=0;e=f[A+8>>2]|0;f[A>>2]=e;f[A+4>>2]=f[A+12>>2];i=A+16|0;A=0;while(1){if((A|0)>=(e|0))break;r=f[i>>2]|0;n[r+(A*40|0)+16>>1]=n[r+(A*40|0)+18>>1]|0;A=A+1|0}e=e+2|0;while(1){if((A|0)>=(e|0))break;n[(f[i>>2]|0)+(A*40|0)+16>>1]=0;A=A+1|0}return}function KB(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=Jb(((f[A>>2]|0)*6|0)+(e<<1)<<2)|0;f[A+20>>2]=Jb((((f[A>>2]|0)*3|0)+e|0)*24|0)|0;r=f[A>>2]|0;n=A+16|0;A=0;while(1){if((A|0)>=(r|0))break;f[(f[n>>2]|0)+(A*40|0)+28>>2]=i;i=i+24|0;A=A+1|0}r=r+2|0;while(1){if((A|0)>=(r|0))break;f[(f[n>>2]|0)+(A*40|0)+28>>2]=i;i=i+(e<<2)|0;A=A+1|0}return}function _B(A){A=A|0;var e=0;e=Jb(24)|0;f[e>>2]=0;f[e+16>>2]=Jb(A*40|0)|0;return e|0}function qB(A){A=A|0;var e=0,i=0;i=f[A+16>>2]|0;e=f[A>>2]|0;f[i+(e*40|0)+32>>2]=e;f[A>>2]=e+1;return i+(e*40|0)|0}function $B(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var n=0,a=0;a=A+4|0;n=f[a>>2]|0;f[a>>2]=n+1;a=f[A+20>>2]|0;A=a+(n*24|0)|0;f[a+(n*24|0)+12>>2]=f[e+32>>2];f[a+(n*24|0)+16>>2]=f[i+32>>2];o[A>>3]=r;f[a+(n*24|0)+8>>2]=0;Ak(e,n);Ak(i,n);return A|0}function Ak(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+16|0;r=n[i>>1]|0;f[(f[A+28>>2]|0)+(r<<16>>16<<2)>>2]=e;n[i>>1]=r+1<<16>>16;return}function ek(A){A=A|0;var e=0;e=A+16|0;HW(f[(f[e>>2]|0)+28>>2]|0);HW(f[e>>2]|0);HW(f[A+20>>2]|0);HW(A);return}function ik(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;a=f[A>>2]|0;t=A+16|0;r=0;while(1){if((r|0)>=(a|0))break;f[(f[t>>2]|0)+(r*40|0)>>2]=-2147483648;r=r+1|0}kd();A:do{if(!(dd(e)|0)){f[e+8>>2]=0;f[e>>2]=0;e=A+20|0;e:while(1){a=md()|0;if(!a){r=0;break A}f[a>>2]=0-(f[a>>2]|0);if((a|0)==(i|0)){r=0;break A}t=a+16|0;l=a+28|0;r=0;while(1){if((r|0)>=(n[t>>1]|0))continue e;c=(f[e>>2]|0)+((f[(f[l>>2]|0)+(r<<2)>>2]|0)*24|0)|0;s=rk(A,c,a)|0;u=f[s>>2]|0;do{if((u|0)<0){b=~~-(+o[c>>3]+ +(f[a>>2]|0));if((u|0)==-2147483648){f[s>>2]=b;if(dd(s)|0){r=1;break A}f[s+8>>2]=a;f[s+12>>2]=c;break}else{if((u|0)>=(b|0))break;Zd(s,b);f[s+8>>2]=a;f[s+12>>2]=c;break}}}while(0);r=r+1|0}}}else r=1}while(0);return r|0}function rk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=f[e+12>>2]|0;if((r|0)==(f[i+32>>2]|0))r=f[e+16>>2]|0;return(f[A+16>>2]|0)+(r*40|0)|0}function nk(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;a=f[A>>2]|0;Ol(a,3,e)|0;e=f[a+92>>2]|0;do{if(e){i=f[e+16>>2]|0;t=f[i+12>>2]|0;f[A+76>>2]=t;r=f[i+16>>2]|0;f[A+84>>2]=r;n=A+80|0;f[n>>2]=f[i>>2];f[A+88>>2]=f[e+4>>2];i=A+152|0;r=f[i>>2]|f[r>>2];f[i>>2]=r;e=f[a+80>>2]|0;if(!e){f[A+60>>2]=0;e=999;break}else{a=f[e+16>>2]|0;f[A+60>>2]=f[a+12>>2];l=f[a+16>>2]|0;f[A+68>>2]=l;f[A+72>>2]=f[e+4>>2];f[i>>2]=r|f[l>>2];f[A+64>>2]=f[((t|0)==0?n:a)>>2];e=300;break}}else e=999}while(0);return e|0}function fk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(!(Zl(A)|0))if((e|0)!=0?(i=f[e>>2]|0,(i|0)!=0):0){ML[i&127](A);A=0}else A=0;else A=1;return A|0}function ak(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+4>>2]|0,i|0):0)ML[i&127](A);f[(f[A>>2]|0)+24>>2]=0;Yl(A);return}function tk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,a=0.0,t=0.0;r=+o[e+504>>3];n=+o[e+512>>3];t=+o[e+352>>3];if(!(f[e+360>>2]|0)){a=+o[i>>3]+r;i=i+8|0;r=n}else a=-(n+ +o[i+8>>3]);n=+o[e+528>>3]*t*(+o[i>>3]+r);o[A>>3]=+o[e+520>>3]*t*a;o[A+8>>3]=n;return}function lk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0.0,l=0.0,c=0.0;n=+o[A+504>>3];a=+o[A+512>>3];t=+o[A+352>>3];l=+o[A+520>>3]*t;t=+o[A+528>>3]*t;A:do{if(!(f[A+360>>2]|0)){A=0;while(1){if((A|0)>=(r|0))break A;o[i+(A<<4)>>3]=(+o[e+(A<<4)>>3]+n)*l;o[i+(A<<4)+8>>3]=(+o[e+(A<<4)+8>>3]+a)*t;A=A+1|0}}else{A=0;while(1){if((A|0)>=(r|0))break A;c=-(l*(+o[e+(A<<4)+8>>3]+a));o[i+(A<<4)+8>>3]=(+o[e+(A<<4)>>3]+n)*t;o[i+(A<<4)>>3]=c;A=A+1|0}}}while(0);return i|0}function ck(A,e){A=A|0;e=e|0;var i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+8>>2]|0,i|0):0)ML[i&127](A);return}function ok(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+12>>2]|0,i|0):0)ML[i&127](A);yl(A);return}function sk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+24>>2]|0,i|0):0)ML[i&127](A);return}function uk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+28>>2]|0,i|0):0)ML[i&127](A);return}function bk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+16>>2]|0,i|0):0){e=f[A+160>>2]|0;YL[i&31](A,f[(f[(f[A>>2]|0)+308>>2]|0)+(e<<2)>>2]|0,e,f[A+156>>2]|0)}return}function vk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+20>>2]|0,i|0):0)ML[i&127](A);return}function Bk(A,e){A=A|0;e=e|0;var i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+32>>2]|0,i|0):0)ML[i&127](A);return}function kk(A,e){A=A|0;e=e|0;var i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+36>>2]|0,i|0):0)ML[i&127](A);return}function wk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+40>>2]|0,i|0):0)ML[i&127](A);return}function hk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+44>>2]|0,i|0):0)ML[i&127](A);return}function dk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+48>>2]|0,i|0):0)ML[i&127](A);return}function gk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+52>>2]|0,i|0):0)ML[i&127](A);return}function mk(A,e){A=A|0;e=e|0;var i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+56>>2]|0,i|0):0)ML[i&127](A);return}function Zk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+60>>2]|0,i|0):0)ML[i&127](A);return}function Gk(A,e){A=A|0;e=e|0;var i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+64>>2]|0,i|0):0)ML[i&127](A);return}function Ik(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+68>>2]|0,i|0):0)ML[i&127](A);return}function Ck(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0;a=f[A+60>>2]|0;if(a|0?(t=f[a+72>>2]|0,t|0):0)pL[t&7](A,e,i,r,n);return}function Mk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+76>>2]|0,i|0):0)ML[i&127](A);return}function Ek(A,e){A=A|0;e=e|0;var i=0,r=0;i=f[A+60>>2]|0;if(i|0?(r=f[i+80>>2]|0,r|0):0)EL[r&31](A,e);return}function Qk(A){A=A|0;var e=0,i=0;e=f[A+60>>2]|0;if(e|0?(i=f[e+84>>2]|0,i|0):0)ML[i&127](A);return}function yk(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0;o=v;v=v+48|0;n=o+32|0;t=o;l=o+16|0;c=f[A+60>>2]|0;s=f[i>>2]|0;do{if(s|0?r[s>>0]|0:0){s=f[A+16>>2]|0;if(s|0?(f[s+144>>2]|0)==0:0)break;if(!(f[A+152>>2]&8192)){f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];tk(l,A,n);f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];f[t+12>>2]=f[l+12>>2]}else{f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2]}if(c|0?(a=f[c+88>>2]|0,a|0):0){f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[n+8>>2]=f[t+8>>2];f[n+12>>2]=f[t+12>>2];QL[a&127](A,n,i)}}}while(0);v=o;return}function Yk(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;n=f[A+60>>2]|0;a=(f[A+16>>2]|0)+16|0;l=zz(e,58)|0;t=(l|0)!=0;if(t)r[l>>0]=0;if(n|0?(pk(f[A+68>>2]|0,e,a),i=f[n+92>>2]|0,i|0):0)EL[i&31](A,a);if(t)r[l>>0]=58;return}function pk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+32|0;a=o+16|0;c=o+8|0;l=o;f[i>>2]=e;f[i+32>>2]=5;r=Uw(e)|0;n=f[A+16>>2]|0;if(!((n|0)!=0?(lR(r,n,f[A+20>>2]|0,4,37)|0)!=0:0))t=3;A:do{if((t|0)==3){switch(Sw(e,i,f[A+24>>2]|0)|0){case 0:break A;case 1:break;default:{Iy(1,95868,a)|0;break A}}A=Pb((nz(e)|0)+16|0)|0;f[l>>2]=e;iP(A,95833,l)|0;if(xu(A)|0){f[c>>2]=e;Iy(0,95842,c)|0}HW(A)}}while(0);v=o;return}function Vk(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;n=f[A+60>>2]|0;a=(f[A+16>>2]|0)+56|0;l=zz(e,58)|0;t=(l|0)!=0;if(t)r[l>>0]=0;if(n|0?(pk(f[A+68>>2]|0,e,a),i=f[n+92>>2]|0,i|0):0)EL[i&31](A,a);if(t)r[l>>0]=58;return}function Nk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=+r;var n=0,a=0,t=0,l=0;a=f[A+60>>2]|0;t=A+16|0;l=(f[t>>2]|0)+96|0;if(a|0?(pk(f[A+68>>2]|0,e,l),n=f[a+92>>2]|0,n|0):0)EL[n&31](A,l);l=f[t>>2]|0;f[l+136>>2]=i;c[l+140>>2]=r;return}function Wk(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,s=0;s=v;v=v+16|0;c=s;l=f[A+60>>2]|0;A=f[A+16>>2]|0;f[A+160>>2]=e;A:do{if((e|0)!=0&(l|0)!=0){l=A+144|0;t=A+152|0;a=A+148|0;A=e;e:while(1){n=A+4|0;A=f[A>>2]|0;if(!A)break A;i:do{switch(r[A>>0]|0){case 115:{if(!(oz(A,95889)|0)){f[l>>2]=3;A=n;continue e}if(!(oz(A,95910)|0)){i=115;while(1){e=A+1|0;if(!(i<<24>>24))break;A=e;i=r[e>>0]|0}o[t>>3]=+fR(e);A=n;continue e}break}case 100:{if(!(oz(A,122119)|0)){f[l>>2]=1;A=n;continue e}if(!(oz(A,122112)|0)){f[l>>2]=2;A=n;continue e}break}case 105:{if(oz(A,119127)|0?oz(A,95895)|0:0)break i;f[l>>2]=0;A=n;continue e}case 98:{if(!(oz(A,95905)|0)){o[t>>3]=2.0;A=n;continue e}break}case 102:{if(!(oz(A,95923)|0)){f[a>>2]=1;A=n;continue e}break}case 117:{if(!(oz(A,95930)|0)){f[a>>2]=0;A=n;continue e}break}case 116:{if(!(oz(A,95939)|0)){A=n;continue e}break}default:{}}}while(0);f[c>>2]=A;Iy(0,95947,c)|0;A=n}}}while(0);v=s;return}function zk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+32|0;a=l;i=f[A+60>>2]|0;if((i|0?(t=i+96|0,n=f[t>>2]|0,n|0):0)?f[(f[A+16>>2]|0)+144>>2]|0:0){i=e+16|0;o[a>>3]=(+o[i>>3]+ +o[e>>3])*.5;o[a+8>>3]=(+o[e+24>>3]+ +o[e+8>>3])*.5;e=a+16|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];if(!(f[A+152>>2]&8192)){lk(A,a,a,2)|0;n=f[t>>2]|0}QL[n&127](A,a,r)}v=l;return}function Jk(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+48|0;s=b;n=f[A+60>>2]|0;if((n|0?(u=n+100|0,f[u>>2]|0):0)?(o=A+16|0,c=f[o>>2]|0,f[c+144>>2]|0):0){if(!(r&4)){n=r;a=0}else{n=r&-5;r=c+16|0;a=s;t=r;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0));a=r;t=c+56|0;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0));a=1}if(!(f[A+152>>2]&8192)){r=i+10|0;if((f[42407]|0)<(i|0)){f[42407]=r;r=Hb(f[42408]|0,r<<4)|0;f[42408]=r}else r=f[42408]|0;lk(A,e,r,i)|0;YL[f[u>>2]&31](A,r,i,n)}else YL[f[u>>2]&31](A,e,i,n);if(a|0){a=(f[o>>2]|0)+16|0;t=s;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0))}}v=b;return}function Pk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=v;v=v+64|0;n=r;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];a=n+32|0;e=e+16|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];o[n+16>>3]=+o[n>>3];o[n+24>>3]=+o[n+40>>3];o[n+48>>3]=+o[a>>3];o[n+56>>3]=+o[n+8>>3];Jk(A,n,4,i);v=r;return}function Rk(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0;l=f[A+60>>2]|0;do{if((l|0?(c=l+104|0,t=f[c>>2]|0,t|0):0)?f[(f[A+16>>2]|0)+144>>2]|0:0){if(f[A+152>>2]&8192|0){VL[t&15](A,e,i,r,n,a&255);break}t=i+10|0;if((f[42407]|0)<(i|0)){f[42407]=t;t=Hb(f[42408]|0,t<<4)|0;f[42408]=t}else t=f[42408]|0;lk(A,e,t,i)|0;VL[f[c>>2]&15](A,t,i,r,n,a&255)}}while(0);return}function Hk(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=f[A+60>>2]|0;do{if((r|0?(a=r+108|0,n=f[a>>2]|0,n|0):0)?f[(f[A+16>>2]|0)+144>>2]|0:0){if(f[A+152>>2]&8192|0){QL[n&127](A,e,i);break}r=i+10|0;if((f[42407]|0)<(i|0)){f[42407]=r;r=Hb(f[42408]|0,r<<4)|0;f[42408]=r}else r=f[42408]|0;lk(A,e,r,i)|0;QL[f[a>>2]&127](A,r,i)}}while(0);return}function Lk(A,e){A=A|0;e=e|0;var i=0,n=0;i=f[A+60>>2]|0;if((e|0?!((i|0)==0|(r[e>>0]|0)==0):0)?(n=f[i+112>>2]|0,n|0):0)EL[n&31](A,e);return}function Fk(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0.0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0,d=0.0,g=0.0,m=0.0,Z=0.0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0;p=v;v=v+112|0;E=p+64|0;Y=p;u=p+96|0;G=p+48|0;I=p+32|0;Q=f[A+60>>2]|0;if(!A)BA(96061,96e3,691,96011);if(!e)BA(96030,96e3,692,96011);if(!(r[e>>0]|0))BA(96035,96e3,693,96011);y=_l(e)|0;if(!y){if((Q|0)!=0&(eG(e)|0)!=0?(s=f[Q+116>>2]|0,s|0):0)pL[s&7](A,e,i,n,a&255)}else{h=A+432|0;f[E>>2]=f[h>>2];f[E+4>>2]=f[h+4>>2];f[E+8>>2]=f[h+8>>2];f[E+12>>2]=f[h+12>>2];Ac(u,y,E);h=f[u>>2]|0;s=f[u+4>>2]|0;if(!((h|0)<1&(s|0)<1)){u=Y+16|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];f[Y>>2]=f[i>>2];f[Y+4>>2]=f[i+4>>2];f[Y+8>>2]=f[i+8>>2];f[Y+12>>2]=f[i+12>>2];C=Y+8|0;M=Y+24|0;e=1;while(1){if((e|0)>=(n|0))break;V=i+(e<<4)|0;m=+o[V>>3];o[Y>>3]=+o[(+o[Y>>3]>3];Z=+o[i+(e<<4)+8>>3];o[C>>3]=+o[(+o[C>>3]>3];o[u>>3]=+o[(+o[u>>3]>m?u:V)>>3];o[M>>3]=+o[(+o[M>>3]>Z?u:V)+8>>3];e=e+1|0}c=+o[u>>3];l=+o[Y>>3];d=c-l;g=+o[M>>3];m=+o[C>>3];Z=g-m;b=+(s|0);B=+(h|0);k=d/B;w=Z/b;A:do{switch(Dk(t)|0){case 1:if(k>3]=l;c=c-d;o[u>>3]=c}if(b>3]=m+Z;o[M>>3]=g-Z}if(!(f[A+152>>2]&8192)){f[E>>2]=f[Y>>2];f[E+4>>2]=f[Y+4>>2];f[E+8>>2]=f[Y+8>>2];f[E+12>>2]=f[Y+12>>2];tk(G,A,E);f[Y>>2]=f[G>>2];f[Y+4>>2]=f[G+4>>2];f[Y+8>>2]=f[G+8>>2];f[Y+12>>2]=f[G+12>>2];f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];f[E+8>>2]=f[u+8>>2];f[E+12>>2]=f[u+12>>2];tk(I,A,E);f[u>>2]=f[I>>2];f[u+4>>2]=f[I+4>>2];f[u+8>>2]=f[I+8>>2];f[u+12>>2]=f[I+12>>2];c=+o[u>>3];l=+o[Y>>3]}if(l>c){o[Y>>3]=c;o[u>>3]=l}l=+o[C>>3];c=+o[M>>3];if(l>c){o[C>>3]=c;o[M>>3]=l}if(Q|0){V=f[A+72>>2]|0;f[E>>2]=f[Y>>2];f[E+4>>2]=f[Y+4>>2];f[E+8>>2]=f[Y+8>>2];f[E+12>>2]=f[Y+12>>2];f[E+16>>2]=f[Y+16>>2];f[E+20>>2]=f[Y+20>>2];f[E+24>>2]=f[Y+24>>2];f[E+28>>2]=f[Y+28>>2];xk(A,y,E,a,V)}}}v=p;return}function Dk(A){A=A|0;if(r[A>>0]|0)if(Oz(A,96043)|0)if(Oz(A,96049)|0)if(!(Oz(A,96056)|0))A=4;else A=(jI(A)|0)<<24>>24!=0&1;else A=3;else A=2;else A=0;return A|0}function Xk(A,e){A=A|0;e=+e;if(f[A+60>>2]|0)o[(f[A+16>>2]|0)+152>>3]=e;return}function xk(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+176|0;o=u+8|0;c=u;t=u+40|0;if(!A)BA(96061,96065,52,96079);if(!e)BA(96091,96065,53,96079);l=f[e+8>>2]|0;if(!l)BA(96094,96065,54,96079);if(!(r[l>>0]|0))BA(96103,96065,55,96079);oJ(t,f[e+28>>2]|0)|0;l=t+(nz(t)|0)|0;r[l>>0]=58;r[l+1>>0]=0;mP(t,a)|0;if((Tk(A,t)|0)==999){f[c>>2]=t;Iy(0,96115,c)|0}a=f[A+92>>2]|0;if(a|0?(s=f[a>>2]|0,s|0):0){f[o>>2]=f[i>>2];f[o+4>>2]=f[i+4>>2];f[o+8>>2]=f[i+8>>2];f[o+12>>2]=f[i+12>>2];f[o+16>>2]=f[i+16>>2];f[o+20>>2]=f[i+20>>2];f[o+24>>2]=f[i+24>>2];f[o+28>>2]=f[i+28>>2];YL[s&31](A,e,o,n)}v=u;return}function Tk(A,e){A=A|0;e=e|0;e=Ol(f[A>>2]|0,4,e)|0;if(!e)e=999;else{e=f[e+16>>2]|0;f[A+92>>2]=f[e+12>>2];f[A+96>>2]=f[e>>2];e=300}return e|0}function Uk(A){A=A|0;return 1}function Sk(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;o[e>>3]=+o[e>>3]+10.0/+o[A+352>>3];r[A+537>>0]=1;return 0}function jk(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+336|0;o[e>>3]=+o[e>>3]-10.0/+o[A+352>>3];r[A+537>>0]=1;return 0}function Ok(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;o[e>>3]=+o[e>>3]-10.0/+o[A+352>>3];r[A+537>>0]=1;return 0}function Kk(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+344|0;o[e>>3]=+o[e>>3]+10.0/+o[A+352>>3];r[A+537>>0]=1;return 0}function _k(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;o[e>>3]=+o[e>>3]*1.1;r[A+537>>0]=1;return 0}function qk(A){A=A|0;var e=0;r[A+536>>0]=0;e=A+352|0;o[e>>3]=+o[e>>3]*.9090909090909091;r[A+537>>0]=1;return 0}function $k(A){A=A|0;var e=0,i=0,n=0,a=0.0,t=0.0;i=A+536|0;e=(r[i>>0]|0)==0;r[i>>0]=e&1;if(e){e=f[A+448>>2]|0;i=f[A+452>>2]|0;t=+(e>>>0);a=+(i>>>0);n=t/+(e|0)>3]=(n?t:a)/+((n?e:i)|0);i=A+336|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;r[A+537>>0]=1}return 0}function Aw(A){A=A|0;var e=0,i=0;e=f[(f[A>>2]|0)+168>>2]|0;i=A+580|0;if(!(f[i>>2]|0)){f[i>>2]=e;i=(f[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]|2;kw(A,e)}ms(A,e);r[A+540>>0]=1;return}function ew(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0.0,l=0,c=0;c=v;v=v+16|0;n=c;switch(e|0){case 1:{f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];cw(A,n);Bw(A);r[A+538>>0]=1;r[A+541>>0]=1;l=13;break}case 2:{r[A+538>>0]=1;r[A+541>>0]=2;l=13;break}case 3:{f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];cw(A,n);r[A+538>>0]=1;r[A+541>>0]=3;l=13;break}case 4:{r[A+536>>0]=0;if(!(f[A+360>>2]|0)){n=A+352|0;t=+o[n>>3];e=A+336|0;o[e>>3]=(+o[i>>3]-+((f[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+o[A+520>>3]*t)+ +o[e>>3];a=+o[i+8>>3]-+((f[A+452>>2]|0)>>>0)*.5;e=A+528|0}else{n=A+352|0;t=+o[n>>3];e=A+336|0;o[e>>3]=+o[e>>3]-(+o[i+8>>3]-+((f[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+o[A+528>>3]*t);a=+o[i>>3]-+((f[A+448>>2]|0)>>>0)*.5;e=A+520|0}l=A+344|0;o[l>>3]=a*.10000000000000009/(+o[e>>3]*t)+ +o[l>>3];o[n>>3]=t*1.1;l=13;break}case 5:{r[A+536>>0]=0;l=A+352|0;t=+o[l>>3]*.9090909090909091;o[l>>3]=t;if(!(f[A+360>>2]|0)){n=A+336|0;o[n>>3]=+o[n>>3]-(+o[i>>3]-+((f[A+448>>2]|0)>>>0)*.5)*.10000000000000009/(+o[A+520>>3]*t);a=+o[i+8>>3]-+((f[A+452>>2]|0)>>>0)*.5;n=A+528|0}else{n=A+336|0;o[n>>3]=(+o[i+8>>3]-+((f[A+452>>2]|0)>>>0)*.5)*.10000000000000009/(+o[A+528>>3]*t)+ +o[n>>3];a=+o[i>>3]-+((f[A+448>>2]|0)>>>0)*.5;n=A+520|0}l=A+344|0;o[l>>3]=+o[l>>3]-a*.10000000000000009/(+o[n>>3]*t);l=13;break}default:{}}if((l|0)==13)r[A+537>>0]=1;A=A+560|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];v=c;return}function iw(A,e,i){A=A|0;e=e|0;i=i|0;r[A+538>>0]=0;r[A+541>>0]=0;return}function rw(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0.0,t=0,l=0.0,c=0;c=v;v=v+16|0;i=c;t=A+560|0;l=(+o[e>>3]-+o[t>>3])/+o[A+520>>3];a=(+o[e+8>>3]-+o[A+568>>3])/+o[A+528>>3];if(!(+Y(+l)<.0001&+Y(+a)<.0001)){switch(r[A+541>>0]|0){case 0:{f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];cw(A,i);break}case 2:{n=+o[A+352>>3];if(!(f[A+360>>2]|0)){i=A+336|0;o[i>>3]=+o[i>>3]-l/n;i=A+344|0;o[i>>3]=+o[i>>3]-a/n}else{i=A+336|0;o[i>>3]=+o[i>>3]-a/n;i=A+344|0;o[i>>3]=+o[i>>3]+l/n}r[A+537>>0]=1;break}default:{}}f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2]}v=c;return}function nw(A,e,i){A=A|0;e=e|0;i=i|0;return}function fw(A){A=A|0;return}function aw(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;c=f[A>>2]|0;if(e){e=FP(e,123632)|0;if(e|0){l=hl(e,0)|0;IP(e)|0;n=5}}else{l=hl(f[13853]|0,0)|0;n=5}if((n|0)==5?l|0:0){a=c+168|0;e=f[a>>2]|0;if(e|0){n=f[c+172>>2]|0;if((n|0)!=0?(t=f[n+4>>2]|0,(t|0)!=0):0){ML[t&127](e);e=f[a>>2]|0}Gb(e);JY(f[a>>2]|0)|0}vV(l,0,122277,280,1);vV(l,1,122241,304,1);vV(l,2,122254,176,1);f[a>>2]=l;f[(f[l+16>>2]|0)+144>>2]=c;if((Cc(c,l,i)|0)!=-1){f[A+580>>2]=0;f[A+576>>2]=0;r[A+537>>0]=1}}return}function tw(A,e){A=A|0;e=e|0;A=f[A>>2]|0;Cc(A,f[A+168>>2]|0,e)|0;return}function lw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;a=f[A>>2]|0;n=a+160|0;r=f[n>>2]|0;if((r|0)!=0?(f[a+164>>2]|0)==0:0){l=a+192|0;t=f[l>>2]|0;f[n>>2]=0;f[l>>2]=0;n=t}else{n=0;r=0}Ec(a,f[a+168>>2]|0,e,i)|0;if(r|0){l=f[A>>2]|0;f[l+160>>2]=r;f[l+192>>2]=n}return}function cw(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0.0,l=0.0,c=0.0,s=0;n=v;v=v+80|0;i=n+48|0;a=n;s=n+32|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];ow(s,A,i);c=+o[s>>3];l=+o[s+8>>3];t=1.0/+o[A+352>>3];o[a+16>>3]=t+c;o[a+24>>3]=t+l;o[a>>3]=c-t;o[a+8>>3]=l-t;e=f[(f[A>>2]|0)+168>>2]|0;f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];f[i+20>>2]=f[a+20>>2];f[i+24>>2]=f[a+24>>2];f[i+28>>2]=f[a+28>>2];e=sw(e,i)|0;i=A+576|0;if((e|0)!=(f[i>>2]|0)){uw(A);f[i>>2]=e;bw(A);r[A+537>>0]=1}v=n;return}function ow(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,a=0.0,t=0;if(!(f[e+360>>2]|0)){r=+o[e+352>>3];n=+o[i+8>>3];a=r;t=e+528|0;r=+o[i>>3]/(+o[e+520>>3]*r)-+o[e+504>>3]}else{r=+o[e+352>>3];n=-+o[i>>3];a=r;t=e+520|0;r=+o[i+8>>3]/(+o[e+528>>3]*r)-+o[e+504>>3]}a=n/(+o[t>>3]*a)-+o[e+512>>3];o[A>>3]=r;o[A+8>>3]=a;return}function sw(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+32|0;n=a;r=Ep(A)|0;A:while(1){if(!r){r=9;break}i=bY(A,r)|0;while(1){if(!i)break;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[n+16>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];if((XC(i,n)|0)<<24>>24){r=6;break A}i=BY(A,i)|0}r=Qp(A,r)|0}do{if((r|0)!=6)if((r|0)==9){i=yp(A)|0;while(1){if(!i)break;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[n+16>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];if((LC(i,n)|0)<<24>>24){r=12;break}i=Yp(A,i)|0}if((r|0)==12)break;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[n+16>>2]=f[e+16>>2];f[n+20>>2]=f[e+20>>2];f[n+24>>2]=f[e+24>>2];f[n+28>>2]=f[e+28>>2];i=vw(A,n)|0;if(!i){i=A;break}else break}}while(0);v=a;return i|0}function uw(A){A=A|0;var e=0;e=f[A+576>>2]|0;A:do{if(e|0)switch(qp(e)|0){case 0:{e=(f[e+16>>2]|0)+112|0;r[e>>0]=r[e>>0]&-2;break A}case 1:{e=(f[e+16>>2]|0)+117|0;r[e>>0]=r[e>>0]&-2;break A}case 2:{e=(f[e+16>>2]|0)+115|0;r[e>>0]=r[e>>0]&-2;break A}default:break A}}while(0);f[A+584>>2]=0;return}function bw(A){A=A|0;var e=0,i=0;i=A+584|0;e=f[i>>2]|0;if(e|0){HW(e);f[i>>2]=0}e=f[A+576>>2]|0;A:do{if(e|0)switch(qp(e)|0){case 0:{A=(f[e+16>>2]|0)+112|0;r[A>>0]=r[A>>0]|1;A=Ky(e,0,96229,0)|0;if(!A)break A;f[i>>2]=pb(tY(e,A)|0,e)|0;break A}case 1:{A=(f[e+16>>2]|0)+117|0;r[A>>0]=r[A>>0]|1;A=Ky(Fp(e)|0,1,96229,0)|0;if(!A)break A;f[i>>2]=pb(tY(e,A)|0,e)|0;break A}case 2:{A=(f[e+16>>2]|0)+115|0;r[A>>0]=r[A>>0]|1;A=Ky(Fp(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0,2,96229,0)|0;if(!A)break A;f[i>>2]=pb(tY(e,A)|0,e)|0;break A}default:break A}}while(0);return}function vw(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0;s=v;v=v+32|0;r=s;a=f[A+16>>2]|0;t=f[a+180>>2]|0;l=a+184|0;i=1;while(1){if((i|0)>(t|0)){c=4;break}n=f[(f[l>>2]|0)+(i<<2)>>2]|0;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];f[r+16>>2]=f[e+16>>2];f[r+20>>2]=f[e+20>>2];f[r+24>>2]=f[e+24>>2];f[r+28>>2]=f[e+28>>2];n=vw(n,r)|0;if(!n)i=i+1|0;else{A=n;break}}do{if((c|0)==4){b=+o[a+24>>3];u=+o[a+40>>3];if(((+o[e+16>>3]>=+o[a+16>>3]?+o[a+32>>3]>=+o[e>>3]:0)?+o[e+24>>3]>=b:0)?u>=+o[e+8>>3]:0)break;A=0}}while(0);v=s;return A|0}function Bw(A){A=A|0;var e=0,i=0,n=0;n=A+580|0;e=f[n>>2]|0;A:do{if(e|0)switch(qp(e)|0){case 0:{i=(f[e+16>>2]|0)+112|0;r[i>>0]=r[i>>0]&-7|4;break A}case 1:{i=(f[e+16>>2]|0)+117|0;r[i>>0]=r[i>>0]&-7|4;break A}case 2:{i=(f[e+16>>2]|0)+115|0;r[i>>0]=r[i>>0]&-7|4;break A}default:break A}}while(0);e=A+588|0;i=f[e>>2]|0;if(i|0){HW(i);f[e>>2]=0}e=f[A+576>>2]|0;f[n>>2]=e;A:do{if(e|0)switch(qp(e)|0){case 0:{n=(f[e+16>>2]|0)+112|0;r[n>>0]=r[n>>0]|2;kw(A,e);break A}case 1:{n=(f[e+16>>2]|0)+117|0;r[n>>0]=r[n>>0]|2;ww(A,e);break A}case 2:{n=(f[e+16>>2]|0)+115|0;r[n>>0]=r[n>>0]|2;hw(A,e);break A}default:break A}}while(0);return}function kw(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;i=A+592|0;do{if((Dp(e)|0)==(e|0))if(!(FY(e)|0)){xl(i,0,96286);break}else{xl(i,0,96278);break}else xl(i,0,96292)}while(0);xl(i,1,Ap(e)|0);f[A+596>>2]=2;n=A+604|0;i=0;r=2;while(1){i=eY(e,0,i)|0;if(!i)break;xl(n,r,f[i+8>>2]|0);xl(n,r+1|0,tY(e,i)|0);xl(n,r+2|0,0);r=r+3|0}f[A+608>>2]=r;i=Ky(e,0,96264,0)|0;if(!i){i=Ky(e,0,96269,0)|0;if(i|0)a=11}else a=11;if((a|0)==11)f[A+588>>2]=pb(tY(e,i)|0,e)|0;return}function ww(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;n=A+592|0;xl(n,0,96273);xl(n,1,Ap(e)|0);f[A+596>>2]=2;n=A+604|0;a=Dp(Fp(e)|0)|0;r=2;i=0;while(1){i=eY(a,1,i)|0;if(!i)break;xl(n,r,f[i+8>>2]|0);xl(n,r|1,tY(e,i)|0);r=r+2|0}f[A+608>>2]=r;i=Ky(Fp(e)|0,1,96264,0)|0;if(!i){i=Ky(Fp(e)|0,1,96269,0)|0;if(i|0)t=6}else t=6;if((t|0)==6)f[A+588>>2]=pb(tY(e,i)|0,e)|0;return}function hw(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;t=A+592|0;xl(t,0,96237);o=e+48|0;xl(t,1,Ap(f[((f[e>>2]&3|0)==3?e:o)+40>>2]|0)|0);o=(FY(Fp(f[((f[e>>2]&3|0)==3?e:o)+40>>2]|0)|0)|0)!=0;xl(t,3,o?122546:122549);o=e+-48|0;xl(t,4,Ap(f[((f[e>>2]&3|0)==2?e:o)+40>>2]|0)|0);f[A+596>>2]=7;l=A+604|0;c=Dp(Fp(f[((f[e>>2]&3|0)==2?e:o)+40>>2]|0)|0)|0;a=7;i=0;A:while(1){while(1){i=eY(c,2,i)|0;if(!i)break A;r=i+8|0;n=f[r>>2]|0;if(!(oz(n,96242)|0)){s=5;break}if(!(oz(n,96251)|0)){s=7;break}if(oz(n,96260)|0)break;xl(t,6,tY(e,i)|0)}if((s|0)==5){s=0;xl(t,2,tY(e,i)|0)}else if((s|0)==7){s=0;xl(t,5,tY(e,i)|0)}xl(l,a,f[r>>2]|0);xl(l,a+1|0,tY(e,i)|0);a=a+2|0}f[A+608>>2]=a;i=Ky(Fp(f[((f[e>>2]&3|0)==2?e:o)+40>>2]|0)|0,2,96264,0)|0;if(!i){i=Ky(Fp(f[((f[e>>2]&3|0)==2?e:o)+40>>2]|0)|0,2,96269,0)|0;if(i|0)s=13}else s=13;if((s|0)==13)f[A+588>>2]=pb(tY(e,i)|0,e)|0;return}function dw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=gw(A,e,f[i>>2]|0)|0;i=f[i+4>>2]|0;while(1){n=f[i+4>>2]|0;if(!n)break;e=0;while(1){r=f[n+(e*20|0)+4>>2]|0;if(!r)break;Sl(A,f[i>>2]|0,r,f[n+(e*20|0)+8>>2]|0,a,n+(e*20|0)|0)|0;e=e+1|0}i=i+8|0}return}function gw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Pb(12)|0;if(!e)e=0;else e=dP(e)|0;f[r+4>>2]=e;f[r+8>>2]=dP(i)|0;i=A+100|0;f[r>>2]=f[i>>2];f[i>>2]=r;return r|0}function mw(A,e){A=A|0;e=e|0;Zw(A);r[A+44>>0]=0;Gw(A)|0;NI(A)|0;return}function Zw(A){A=A|0;var e=0,i=0;e=f[A+32>>2]|0;A:do{if(e|0)while(1){i=f[e>>2]|0;if(!i)break A;if((r[i>>0]|0)==103?jJ(i,96301)|0:0)dw(A,0,f[e+4>>2]|0);e=e+8|0}}while(0);return}function Gw(A){A=A|0;var e=0;e=Ol(A,2,96314)|0;if(!e)A=999;else{f[A+148>>2]=f[(f[e+16>>2]|0)+12>>2];A=300}return A|0}function Iw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A=f[A+148>>2]|0;if((A|0)!=0?(r=f[A>>2]|0,(r|0)!=0):0)A=gL[r&63](e,i)|0;else A=0;return A|0}function Cw(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return(f[e>>2]|0)-(f[i>>2]|0)|0}function Mw(A){A=A|0;var e=0.0,i=0.0;A=f[A+16>>2]|0;i=+o[A+16>>3];e=+o[A+24>>3];return(Ew(~~(i>e?i:e)>>>0)|0)+1|0}function Ew(A){A=A|0;var e=0,i=0;if(!A)A=-1;else{i=A>>>0>65535;A=i?A>>>16:A;i=i?16:0;e=A>>>0>255;A=e?A>>>8:A;i=e?i|8:i;e=A>>>0>15;A=e?A>>>4:A;i=e?i|4:i;e=A>>>0>3;A=(e?i|2:i)+((e?A>>>2:A)>>>0>1&1)|0}return A|0}function Qw(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0;w=v;v=v+32|0;k=w;B=yw(A,e,i,n,a)|0;i=Yw(B)|0;if((i|0)>=0){u=k+16|0;b=k+24|0;s=k+8|0;c=a+32|0;i=0;a=0;while(1){if((a|0)>=(e|0))break;n=A+(a*40|0)+32|0;do{if(f[n>>2]|0){pw(k,B,A+(a*40|0)|0);t=+o[u>>3];l=+o[b>>3];if(!(f[k>>2]|0)){r[(f[n>>2]|0)+36>>0]=1;break}if(+o[s>>3]==0.0){n=f[n>>2]|0;o[n+16>>3]=t;o[n+24>>3]=l;r[n+36>>0]=1;break}if((r[c>>0]|0)==1){n=f[n>>2]|0;o[n+16>>3]=t;o[n+24>>3]=l;r[n+36>>0]=1}else i=1}}while(0);a=a+1|0}Vw(B)}v=w;return i|0}function yw(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0;a=Jb(28)|0;c=vy(24896,f[4348]|0)|0;t=a+20|0;f[t>>2]=c;do{if(c){c=ug()|0;f[a+24>>2]=c;if(!c){JP(96532,14,1,f[13918]|0)|0;l=6;break}else{f[a>>2]=A;f[a+4>>2]=e;f[a+8>>2]=i;f[a+12>>2]=r;f[a+16>>2]=n;break}}else{JP(96532,14,1,f[13918]|0)|0;l=6}}while(0);if((l|0)==6){A=f[t>>2]|0;if(A|0)ly(A)|0;A=f[a+24>>2]|0;if(A|0)vg(A)|0;HW(a);a=0}return a|0}function Yw(A){A=A|0;var e=0;e=Fw(A)|0;if((e|0)>=0){Dw(A);Xw(A);e=ly(f[A+20>>2]|0)|0}return e|0}function pw(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0,t=0.0,l=0,c=0.0,s=0,u=0,b=0,B=0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0.0,P=0,R=0;R=v;v=v+464|0;z=R+416|0;P=R+400|0;V=R+384|0;s=R+352|0;u=R+320|0;b=R+288|0;B=R+256|0;w=R+224|0;h=R+192|0;d=R+160|0;g=R+128|0;m=R+96|0;G=R+64|0;I=R+32|0;N=R;C=f[i+32>>2]|0;r=+o[C>>3];Q=i+16|0;M=(r*2.0+ +o[Q>>3])*.125;y=C+8|0;W=i+24|0;t=+o[W>>3];J=(+o[y>>3]*2.0+t)*.5;if(!C)BA(96325,96335,445,96345);n=z;a=n+36|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));E=C+16|0;o[E>>3]=+o[i>>3]-r;Y=i+8|0;p=C+24|0;o[p>>3]=t+ +o[Y>>3];Nw(s,e,i,z);l=f[s>>2]|0;n=f[s+4>>2]|0;r=+o[s+8>>3];s=s+16|0;f[P>>2]=f[s>>2];f[P+4>>2]=f[s+4>>2];f[P+8>>2]=f[s+8>>2];f[P+12>>2]=f[s+12>>2];A:do{if(!l){f[A>>2]=0;f[A+4>>2]=n;o[A+8>>3]=r;A=A+16|0;f[A>>2]=f[P>>2];f[A+4>>2]=f[P+4>>2];f[A+8>>2]=f[P+8>>2];f[A+12>>2]=f[P+12>>2]}else{o[p>>3]=+o[Y>>3];Nw(u,e,i,z);a=f[u>>2]|0;s=f[u+4>>2]|0;t=+o[u+8>>3];u=u+16|0;f[V>>2]=f[u>>2];f[V+4>>2]=f[u+4>>2];f[V+8>>2]=f[u+8>>2];f[V+12>>2]=f[u+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=s;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];n=s;r=t}else a=l;o[p>>3]=+o[Y>>3]-+o[y>>3];Nw(b,e,i,z);s=f[b>>2]|0;l=f[b+4>>2]|0;t=+o[b+8>>3];b=b+16|0;f[V>>2]=f[b>>2];f[V+4>>2]=f[b+4>>2];f[V+8>>2]=f[b+8>>2];f[V+12>>2]=f[b+12>>2];if(!s){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];n=l;r=t}else s=a;o[E>>3]=+o[i>>3];o[p>>3]=+o[W>>3]+ +o[Y>>3];Nw(B,e,i,z);a=f[B>>2]|0;l=f[B+4>>2]|0;t=+o[B+8>>3];B=B+16|0;f[V>>2]=f[B>>2];f[V+4>>2]=f[B+4>>2];f[V+8>>2]=f[B+8>>2];f[V+12>>2]=f[B+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=a;n=l;r=t}o[p>>3]=+o[Y>>3]-+o[y>>3];Nw(w,e,i,z);a=f[w>>2]|0;l=f[w+4>>2]|0;t=+o[w+8>>3];w=w+16|0;f[V>>2]=f[w>>2];f[V+4>>2]=f[w+4>>2];f[V+8>>2]=f[w+8>>2];f[V+12>>2]=f[w+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=a;n=l;r=t}o[E>>3]=+o[Q>>3]+ +o[i>>3];o[p>>3]=+o[W>>3]+ +o[Y>>3];Nw(h,e,i,z);a=f[h>>2]|0;l=f[h+4>>2]|0;t=+o[h+8>>3];h=h+16|0;f[V>>2]=f[h>>2];f[V+4>>2]=f[h+4>>2];f[V+8>>2]=f[h+8>>2];f[V+12>>2]=f[h+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=a;n=l;r=t}o[p>>3]=+o[Y>>3];Nw(d,e,i,z);a=f[d>>2]|0;l=f[d+4>>2]|0;t=+o[d+8>>3];d=d+16|0;f[V>>2]=f[d>>2];f[V+4>>2]=f[d+4>>2];f[V+8>>2]=f[d+8>>2];f[V+12>>2]=f[d+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=a;n=l;r=t}o[p>>3]=+o[Y>>3]-+o[y>>3];Nw(g,e,i,z);a=f[g>>2]|0;l=f[g+4>>2]|0;t=+o[g+8>>3];g=g+16|0;f[V>>2]=f[g>>2];f[V+4>>2]=f[g+4>>2];f[V+8>>2]=f[g+8>>2];f[V+12>>2]=f[g+12>>2];if(!a){f[A>>2]=0;f[A+4>>2]=l;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break}if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];n=l;r=t}else a=s;l=(f[z+28>>2]|0)==0;do{if(!(f[z+24>>2]|0))if(l){if(f[z+32>>2]|0){Z=38;break}if(!((f[z+12>>2]|0)==0&(f[z>>2]|0)==0))Z=38}else Z=46;else if(l)Z=38;else Z=46}while(0);e:do{if((Z|0)==38)if(!(f[z+32>>2]|0)){o[E>>3]=+o[i>>3]-+o[C>>3];B=m+4|0;w=m+8|0;h=m+16|0;s=p;l=Y;t=+o[W>>3];i:while(1){while(1){o[s>>3]=+o[l>>3]+t;if(!(+o[E>>3]<=+o[Q>>3]+ +o[i>>3])){Z=46;break e}Nw(m,e,i,z);u=f[m>>2]|0;b=f[B>>2]|0;c=+o[w>>3];f[V>>2]=f[h>>2];f[V+4>>2]=f[h+4>>2];f[V+8>>2]=f[h+8>>2];f[V+12>>2]=f[h+12>>2];if(!u)break i;if(c>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=E;l=E;t=M;a=u;n=b;r=c}f[A>>2]=0;f[A+4>>2]=b;o[A+8>>3]=c;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break A}else Z=46}while(0);e:do{if((Z|0)==46)if((f[z+12>>2]|0)==0&(f[z>>2]|0)==0){o[E>>3]=+o[i>>3]-+o[C>>3];c=+o[Y>>3];u=G+4|0;b=G+8|0;B=G+16|0;t=c;c=+o[W>>3]+c;while(1){o[p>>3]=c;if(!(c>=t-+o[y>>3]))break e;Nw(G,e,i,z);l=f[G>>2]|0;s=f[u>>2]|0;t=+o[b>>3];f[V>>2]=f[B>>2];f[V+4>>2]=f[B+4>>2];f[V+8>>2]=f[B+8>>2];f[V+12>>2]=f[B+12>>2];if(!l)break;if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];a=l;n=s;r=t}t=+o[Y>>3];c=+o[p>>3]-J}f[A>>2]=0;f[A+4>>2]=s;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break A}}while(0);t=+o[i>>3];c=+o[Q>>3]+t;o[E>>3]=c;k=+o[y>>3];o[p>>3]=+o[Y>>3]-k;l=f[z+4>>2]|0;do{if(!(f[z+8>>2]|0)){s=f[z>>2]|0;if(!((l|0)==0&(s|0)==0)){Z=59;break}if(f[z+20>>2]|0){l=0;s=0;Z=59;break}if(f[z+32>>2]|0){l=0;s=0;Z=59}}else{s=f[z>>2]|0;Z=59}}while(0);e:do{if((Z|0)==59){i:do{if((l|0)==0&(s|0)==0){o[E>>3]=c;B=I+4|0;w=I+8|0;h=I+16|0;s=p;l=Y;t=k;r:while(1){while(1){o[s>>3]=+o[l>>3]-t;t=+o[i>>3];if(!(+o[E>>3]>=t-+o[C>>3]))break i;Nw(I,e,i,z);u=f[I>>2]|0;b=f[B>>2]|0;c=+o[w>>3];f[V>>2]=f[h>>2];f[V+4>>2]=f[h+4>>2];f[V+8>>2]=f[h+8>>2];f[V+12>>2]=f[h+12>>2];if(!u)break r;if(c>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];s=E;l=E;t=M;a=u;n=b;r=c}f[A>>2]=0;f[A+4>>2]=b;o[A+8>>3]=c;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break A}}while(0);if(f[z+20>>2]|0)break;if(f[z+32>>2]|0)break;o[E>>3]=+o[Q>>3]+t;t=+o[Y>>3];u=N+4|0;b=N+8|0;B=N+16|0;c=t;t=t-+o[y>>3];while(1){o[p>>3]=t;if(!(t<=+o[W>>3]+c))break e;Nw(N,e,i,z);l=f[N>>2]|0;s=f[u>>2]|0;t=+o[b>>3];f[V>>2]=f[B>>2];f[V+4>>2]=f[B+4>>2];f[V+8>>2]=f[B+8>>2];f[V+12>>2]=f[B+12>>2];if(!l)break;if(t>2]=f[V>>2];f[P+4>>2]=f[V+4>>2];f[P+8>>2]=f[V+8>>2];f[P+12>>2]=f[V+12>>2];a=l;n=s;r=t}c=+o[Y>>3];t=+o[p>>3]+J}f[A>>2]=0;f[A+4>>2]=s;o[A+8>>3]=t;A=A+16|0;f[A>>2]=f[V>>2];f[A+4>>2]=f[V+4>>2];f[A+8>>2]=f[V+8>>2];f[A+12>>2]=f[V+12>>2];break A}}while(0);f[A>>2]=a;f[A+4>>2]=n;o[A+8>>3]=r;A=A+16|0;f[A>>2]=f[P>>2];f[A+4>>2]=f[P+4>>2];f[A+8>>2]=f[P+8>>2];f[A+12>>2]=f[P+12>>2]}}while(0);v=R;return}function Vw(A){A=A|0;vg(f[A+24>>2]|0)|0;HW(A);return}function Nw(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0.0,l=0,c=0,s=0,u=0.0,b=0,B=0,k=0,w=0.0,h=0,d=0;d=v;v=v+48|0;k=d+32|0;h=d+16|0;B=d;a=f[i+32>>2]|0;if(!a)BA(96325,96335,382,96354);b=a+16|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2];b=e+4|0;s=0;a=0;while(1){if((s|0)>=(f[b>>2]|0))break;l=f[e>>2]|0;c=l+(s*40|0)|0;do{if((c|0)!=(i|0)){if(+o[l+(s*40|0)+16>>3]>0.0?+o[l+(s*40|0)+24>>3]>0.0:0)break;a=a+((Ww(i,c)|0)!=0&1)|0}}while(0);s=s+1|0}zw(i,k);s=f[e+24>>2]|0;s=kg(s,f[s>>2]|0,k)|0;if(!s){f[A>>2]=a;o[A+8>>3]=0.0;h=A+16|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2]}else{c=s;t=0.0;while(1){if(!c)break;l=f[(f[c+4>>2]|0)+16>>2]|0;if((l|0)!=(i|0)){Jw(l,h);u=+Pw(k,h);if(u>0.0){a=a+1|0;t=+Rw(i,l,k,u,n)+t}e=f[l+32>>2]|0;if(((e|0)!=0?(r[e+36>>0]|0)!=0:0)?(zw(l,h),w=+Pw(k,h),w>0.0):0){a=a+1|0;t=+Hw(i,l,k,w,n)+t}}c=f[c>>2]|0}sg(s);f[A>>2]=a;o[A+8>>3]=t;h=A+16|0;f[h>>2]=f[B>>2];f[h+4>>2]=f[B+4>>2];f[h+8>>2]=f[B+8>>2];f[h+12>>2]=f[B+12>>2]}v=d;return}function Ww(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0.0,a=0.0;A=f[A+32>>2]|0;if(+o[e+16>>3]==0.0?+o[e+24>>3]==0.0:0){if((((A|0)!=0?(i=+o[e>>3],r=+o[A+16>>3],i>r):0)?i<+o[A>>3]+r:0)?(n=+o[e+8>>3],a=+o[A+24>>3],n>a):0)A=n<+o[A+8>>3]+a&1;else A=0;return A|0}BA(96391,96335,219,96428);return 0}function zw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;A=f[A+32>>2]|0;r=+o[A+16>>3];f[e>>2]=~~r;i=+o[A+24>>3];f[e+4>>2]=~~i;f[e+8>>2]=~~(+o[A>>3]+r);f[e+12>>2]=~~(+o[A+8>>3]+i);return}function Jw(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+o[A>>3];f[e>>2]=~~r;i=+o[A+8>>3];f[e+4>>2]=~~i;f[e+8>>2]=~~(+o[A+16>>3]+r);f[e+12>>2]=~~(+o[A+24>>3]+i);return}function Pw(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;l=f[A+8>>2]|0;c=f[e>>2]|0;if((((l|0)>=(c|0)?(o=f[A>>2]|0,s=f[e+8>>2]|0,(o|0)<=(s|0)):0)?(r=f[A+12>>2]|0,n=f[e+4>>2]|0,(r|0)>=(n|0)):0)?(a=f[A+4>>2]|0,t=f[e+12>>2]|0,(a|0)<=(t|0)):0)i=(+(f[((r|0)<(t|0)?A:e)+12>>2]|0)-+(f[((a|0)>(n|0)?A:e)+4>>2]|0))*(+(f[((l|0)<(s|0)?A:e)+8>>2]|0)-+(f[((o|0)>(c|0)?A:e)>>2]|0));else i=0.0;return+i}function Rw(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=+r;n=n|0;var a=0.0,t=0.0,l=0,c=0;c=v;v=v+16|0;l=c;A=Lw(A,e)|0;n=n+(((A|0)<0?5:A)<<2)|0;A=f[n>>2]|0;if(!A){f[n>>2]=e;a=r}else{Jw(A,l);a=+Pw(i,l);a=a>r?a:0.0;A=f[n>>2]|0;if((f[A+32>>2]|0)!=0?(zw(A,l),t=+Pw(i,l),t>r):0)a=t>a?t:a;if(!(a>0.0)){f[n>>2]=e;a=r}}v=c;return+a}function Hw(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=+r;n=n|0;var a=0.0,t=0.0,l=0,c=0;c=v;v=v+16|0;l=c;A=Lw(A,e)|0;n=n+(((A|0)<0?5:A)<<2)|0;A=f[n>>2]|0;if(!A){f[n>>2]=e;a=r}else{Jw(A,l);a=+Pw(i,l);a=a>r?a:0.0;A=f[n>>2]|0;if((f[A+32>>2]|0)!=0?(zw(A,l),t=+Pw(i,l),t>r):0)a=t>a?t:a;if(!(a>0.0)){f[n>>2]=e;a=r}}v=c;return+a}function Lw(A,e){A=A|0;e=e|0;var i=0,n=0,a=0.0,t=0.0,l=0.0,c=0.0;i=f[A+32>>2]|0;n=f[e+32>>2]|0;if((i|0)==(n|0))BA(96370,96335,276,96380);do{if((r[i+36>>0]|0)!=0?(r[n+36>>0]|0)!=0:0){l=+o[A>>3];if(l==0.0?+o[A+8>>3]==0.0:0){i=-1;break}c=+o[e>>3];t=+o[e+8>>3];if(!(c==0.0&t==0.0)){a=+o[A+8>>3];if(tl?2:1;break}i=ca){if(i){i=6;break}i=c>l?8:7;break}if(!i)if(c>l)i=5;else i=-1;else i=3}else i=-1}else i=-1}while(0);return i|0}function Fw(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;o=v;v=v+32|0;i=o+24|0;r=o+16|0;n=o;a=Mw(A)|0;t=A+4|0;l=r+4|0;c=A+20|0;e=0;while(1){if((e|0)>=(f[t>>2]|0)){e=0;break}s=Jb(32)|0;b=(f[A>>2]|0)+(e*40|0)|0;u=s+12|0;f[s+28>>2]=b;xw(n,b);f[u>>2]=f[n>>2];f[u+4>>2]=f[n+4>>2];f[u+8>>2]=f[n+8>>2];f[u+12>>2]=f[n+12>>2];u=f[u>>2]|0;f[r>>2]=(((f[s+20>>2]|0)-u|0)/2|0)+u;u=f[s+16>>2]|0;f[l>>2]=(((f[s+24>>2]|0)-u|0)/2|0)+u;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[s+8>>2]=Tw(i,a)|0;u=f[c>>2]|0;if(!(mL[f[u>>2]&31](u,s,1)|0)){e=-1;break}else e=e+1|0}v=o;return e|0}function Dw(A){A=A|0;var e=0,i=0,r=0;i=A+20|0;r=f[i>>2]|0;e=A+24|0;A=mL[f[r>>2]&31](r,0,128)|0;while(1){if(!A)break;r=f[e>>2]|0;wg(r,A+12|0,f[A+28>>2]|0,r,0)|0;r=f[i>>2]|0;A=mL[f[r>>2]&31](r,A,8)|0}return}function Xw(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;r=A+20|0;n=ky(f[r>>2]|0)|0;i=0;while(1){if(!(ky(f[r>>2]|0)|0))break;a=f[r>>2]|0;A=f[(f[a+8>>2]|0)+4>>2]|0;if(!A){t=8;break}e=f[(f[a+4>>2]|0)+8>>2]|0;if((e|0)<0)A=f[A+8>>2]|0;else A=A+(0-e)|0;if(!A){t=8;break}mL[f[a>>2]&31](a,A,4096)|0;HW(A);i=i+1|0}if((t|0)==8)BA(96441,96335,616,96444);if((n|0)==(i|0))return;else BA(96456,96335,623,96444)}function xw(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0.0,t=0,l=0,c=0,s=0.0;i=f[e+32>>2]|0;if(!i){r=0.0;n=0.0}else{r=+o[i>>3];n=+o[i+8>>3]}s=+o[e>>3];c=~~+y(+(s-r));a=+o[e+8>>3];l=~~+y(+(a-n));t=~~+D(+(s+r+ +o[e+16>>3]));if((t|0)==2147483647)BA(96468,96335,264,96495);i=~~+D(+(a+n+ +o[e+24>>3]));if((i|0)==2147483647)BA(96505,96335,266,96495);else{f[A>>2]=c;f[A+4>>2]=l;f[A+8>>2]=t;f[A+12>>2]=i;return}}function Tw(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;n=0;r=f[A>>2]|0;i=f[A+4>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;l=r>>>A&1;e=i>>>A&1;a=e+-1|0;t=a&(r^i);a=a&0-l;n=l<<1|n<<2|l^e;e=A;r=t^r^a;i=t^i^a}return n|0}function Uw(A){A=A|0;var e=0,i=0,n=0,a=0;e=nz(A)|0;if(e>>>0>=(f[42409]|0)>>>0){e=e+11|0;f[42409]=e;e=Hb(f[42410]|0,e)|0;f[42410]=e;if(!e)e=0;else i=4}else{e=f[42410]|0;i=4}if((i|0)==4){a=e;while(1){i=r[A>>0]|0;if(!(i<<24>>24))break;n=i&255;if(_z(n)|0)i=(Kz(n)|0)&255;r[a>>0]=i;a=a+1|0;A=A+1|0}r[a>>0]=0}return e|0}function Sw(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,t=0,l=0.0,c=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0.0;p=v;v=v+144|0;h=p+96|0;B=p+80|0;m=p+124|0;d=p+72|0;Z=p+64|0;G=p+56|0;Q=p+48|0;y=p+40|0;Y=p+32|0;I=p+24|0;C=p+16|0;M=p+8|0;E=p;t=p+120|0;s=p+116|0;u=p+112|0;b=p+108|0;f[e+32>>2]=i;w=A;while(1)if((r[w>>0]|0)==32)w=w+1|0;else break;f[b>>2]=255;A=r[w>>0]|0;A:do{if(A<<24>>24==35){f[B>>2]=t;f[B+4>>2]=s;f[B+8>>2]=u;f[B+12>>2]=b;if((XP(w,96547,B)|0)<=2){A=r[w>>0]|0;k=12;break}switch(i|0){case 0:{V=+((f[t>>2]|0)>>>0)*.00392156862745098;o[Q>>3]=V;n=+((f[s>>2]|0)>>>0)*.00392156862745098;o[y>>3]=n;l=+((f[u>>2]|0)>>>0)*.00392156862745098;o[Y>>3]=l;c=+((f[b>>2]|0)>>>0)*.00392156862745098;jw(V,n,l,d,Z,G);o[e>>3]=+o[d>>3];o[e+8>>3]=+o[Z>>3];o[e+16>>3]=+o[G>>3];o[e+24>>3]=c;A=0;break A}case 1:{r[e>>0]=f[t>>2];r[e+1>>0]=f[s>>2];r[e+2>>0]=f[u>>2];r[e+3>>0]=f[b>>2];A=0;break A}case 3:{l=+((f[t>>2]|0)>>>0)*.00392156862745098;o[Q>>3]=l;c=+((f[s>>2]|0)>>>0)*.00392156862745098;o[y>>3]=c;V=+((f[u>>2]|0)>>>0)*.00392156862745098;o[Y>>3]=V;Ow(l,c,V,I,C,M,E);r[e>>0]=~~+o[I>>3]*255;r[e+1>>0]=~~+o[C>>3]*255;r[e+2>>0]=~~+o[M>>3]*255;r[e+3>>0]=~~+o[E>>3]*255;A=0;break A}case 2:{f[e>>2]=(((f[t>>2]|0)*65535|0)>>>0)/255|0;f[e+4>>2]=(((f[s>>2]|0)*65535|0)>>>0)/255|0;f[e+8>>2]=(((f[u>>2]|0)*65535|0)>>>0)/255|0;f[e+12>>2]=(((f[b>>2]|0)*65535|0)>>>0)/255|0;A=0;break A}case 4:{o[e>>3]=+((f[t>>2]|0)>>>0)*.00392156862745098;o[e+8>>3]=+((f[s>>2]|0)>>>0)*.00392156862745098;o[e+16>>3]=+((f[u>>2]|0)>>>0)*.00392156862745098;o[e+24>>3]=+((f[b>>2]|0)>>>0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}else k=12}while(0);A:do{if((k|0)==12){if(!(A<<24>>24!=46?((A&255)+-48|0)>>>0>=10:0)){A=nz(w)|0;if(A>>>0>=(f[42411]|0)>>>0){A=A+11|0;f[42411]=A;A=Hb(f[42412]|0,A)|0;f[42412]=A;if(!A){A=-1;break}}else A=f[42412]|0;s=A;t=w;e:while(1){u=t+1|0;t=r[t>>0]|0;switch(t<<24>>24){case 0:break e;case 44:{t=32;break}default:{}}r[s>>0]=t;s=s+1|0;t=u}r[s>>0]=0;f[h>>2]=d;f[h+4>>2]=Z;f[h+8>>2]=G;if((XP(A,96561,h)|0)==3){c=+o[d>>3];c=c<1.0?c:1.0;c=c>0.0?c:0.0;o[d>>3]=c;l=+o[Z>>3];l=l<1.0?l:1.0;l=l>0.0?l:0.0;o[Z>>3]=l;n=+o[G>>3];n=n<1.0?n:1.0;n=n>0.0?n:0.0;o[G>>3]=n;switch(i|0){case 0:{o[e>>3]=c;o[e+8>>3]=l;o[e+16>>3]=n;o[e+24>>3]=1.0;A=0;break A}case 1:{Kw(c,l,n,Q,y,Y);r[e>>0]=~~(+o[Q>>3]*255.0);r[e+1>>0]=~~(+o[y>>3]*255.0);r[e+2>>0]=~~(+o[Y>>3]*255.0);r[e+3>>0]=-1;A=0;break A}case 3:{Kw(c,l,n,Q,y,Y);Ow(+o[Q>>3],+o[y>>3],+o[Y>>3],I,C,M,E);r[e>>0]=~~+o[I>>3]*255;r[e+1>>0]=~~+o[C>>3]*255;r[e+2>>0]=~~+o[M>>3]*255;r[e+3>>0]=~~+o[E>>3]*255;A=0;break A}case 2:{Kw(c,l,n,Q,y,Y);f[e>>2]=~~(+o[Q>>3]*65535.0);f[e+4>>2]=~~(+o[y>>3]*65535.0);f[e+8>>2]=~~(+o[Y>>3]*65535.0);f[e+12>>2]=65535;A=0;break A}case 4:{Kw(c,l,n,Q,y,Y);o[e>>3]=+o[Q>>3];o[e+8>>3]=+o[y>>3];o[e+16>>3]=+o[Y>>3];o[e+24>>3]=1.0;A=0;break A}default:{A=0;break A}}}}t=_w(w)|0;f[m>>2]=t;if(!t)A=-1;else{A=f[42413]|0;if(!(((A|0)!=0?(g=f[A>>2]|0,(r[g>>0]|0)==(r[t>>0]|0)):0)?(oz(g,t)|0)==0:0)){A=lR(m,24932,2491,12,38)|0;f[42413]=A;if(!A)switch(i|0){case 0:{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o[e+24>>3]=1.0;A=1;break A}case 1:{r[e+2>>0]=0;r[e+1>>0]=0;r[e>>0]=0;r[e+3>>0]=-1;A=1;break A}case 3:{f[e>>2]=0;A=1;break A}case 2:{f[e+8>>2]=0;f[e+4>>2]=0;f[e>>2]=0;f[e+12>>2]=65535;A=1;break A}case 4:{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o[e+24>>3]=1.0;A=1;break A}default:{A=1;break A}}}switch(i|0){case 0:{o[e>>3]=+(a[A+4>>0]|0)*.00392156862745098;o[e+8>>3]=+(a[A+5>>0]|0)*.00392156862745098;o[e+16>>3]=+(a[A+6>>0]|0)*.00392156862745098;o[e+24>>3]=+(a[A+10>>0]|0)*.00392156862745098;A=0;break A}case 1:{r[e>>0]=r[A+7>>0]|0;r[e+1>>0]=r[A+8>>0]|0;r[e+2>>0]=r[A+9>>0]|0;r[e+3>>0]=r[A+10>>0]|0;A=0;break A}case 3:{l=+(a[A+7>>0]|0)*.00392156862745098;o[Q>>3]=l;c=+(a[A+8>>0]|0)*.00392156862745098;o[y>>3]=c;V=+(a[A+9>>0]|0)*.00392156862745098;o[Y>>3]=V;Ow(l,c,V,I,C,M,E);r[e>>0]=~~+o[I>>3]*255;r[e+1>>0]=~~+o[C>>3]*255;r[e+2>>0]=~~+o[M>>3]*255;r[e+3>>0]=~~+o[E>>3]*255;A=0;break A}case 2:{f[e>>2]=(a[A+7>>0]|0)*257;f[e+4>>2]=(a[A+8>>0]|0)*257;f[e+8>>2]=(a[A+9>>0]|0)*257;f[e+12>>2]=(a[A+10>>0]|0)*257;A=0;break A}case 4:{o[e>>3]=+(a[A+7>>0]|0)*.00392156862745098;o[e+8>>3]=+(a[A+8>>0]|0)*.00392156862745098;o[e+16>>3]=+(a[A+9>>0]|0)*.00392156862745098;o[e+24>>3]=+(a[A+10>>0]|0)*.00392156862745098;A=0;break A}default:{A=0;break A}}}}}while(0);v=p;return A|0}function jw(A,e,i,r,n,f){A=+A;e=+e;i=+i;r=r|0;n=n|0;f=f|0;var a=0.0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0;t=ei?e:i;u=uA?A:t);a=t/u;if(u>0.0)if(a>0.0){l=(u-A)/t;c=(u-e)/t;s=(u-i)/t;do{if(!(u==A)){if(u==e){A=l+2.0-s;break}if(u==i)A=c+4.0-l;else A=0.0}else A=(e-i)/t}while(0);A=A*60.0;if(A<0.0)A=A+360.0}else A=0.0;else{a=0.0;A=0.0}o[r>>3]=A*.002777777777777778;o[f>>3]=u;o[n>>3]=a;return}function Ow(A,e,i,r,n,f,a){A=+A;e=+e;i=+i;r=r|0;n=n|0;f=f|0;a=a|0;o[r>>3]=1.0-A;o[n>>3]=1.0-e;o[f>>3]=1.0-i;e=+o[r>>3];i=+o[n>>3];i=e>3]=i;e=+o[f>>3];i=e>3]=i;o[r>>3]=+o[r>>3]-i;o[n>>3]=+o[n>>3]-+o[a>>3];o[f>>3]=+o[f>>3]-+o[a>>3];return}function Kw(A,e,i,r,n,f){A=+A;e=+e;i=+i;r=r|0;n=n|0;f=f|0;var a=0.0,t=0.0,l=0.0,c=0,s=0;A:do{if(!(e<=0.0)){t=!(A>=1.0)?A*6.0:0.0;s=~~t;t=t-+(s|0);A=(1.0-e)*i;l=(1.0-t*e)*i;e=(1.0-(1.0-t)*e)*i;switch(s|0){case 0:{a=A;t=e;A=i;c=8;break A}case 1:{a=A;t=i;A=l;c=8;break A}case 2:{a=e;t=i;c=8;break A}case 3:{a=i;t=l;c=8;break A}case 4:{a=i;t=A;A=e;c=8;break A}case 5:{a=l;t=A;A=i;c=8;break A}default:break A}}else{a=i;t=i;A=i;c=8}}while(0);if((c|0)==8){o[r>>3]=A;o[n>>3]=t;o[f>>3]=a}return}function _w(A){A=A|0;var e=0,i=0;e=r[A>>0]|0;if(((e<<24>>24!=98?(i=A+1|0,!(e<<24>>24==119|(Wz(i,122058,4)|0)==0)):0)?!(e<<24>>24==108|(Wz(i,122063,4)|0)==0):0)?(Wz(i,122068,8)|0)!=0:0){do{if(e<<24>>24==47){e=zz(i,47)|0;if(!e)A=i;else{if((r[i>>0]|0)!=47){i=(iJ(122077,i,4)|0)==0;A=i?e+1|0:A;break}e=f[42414]|0;if((e|0?r[e>>0]|0:0)?iJ(122077,e,3)|0:0){A=$w(e,A+2|0)|0;break}A=A+2|0}}else{e=f[42414]|0;if(((e|0)!=0?(r[e>>0]|0)!=0:0)?(iJ(122077,e,3)|0)!=0:0)A=$w(e,A)|0}}while(0);A=Uw(A)|0}return A|0}function qw(A,e){A=A|0;e=e|0;return Oz(f[A>>2]|0,f[e>>2]|0)|0}function $w(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;n=v;v=v+16|0;r=n;a=nz(A)|0;a=(nz(e)|0)+a|0;i=a+13|0;if((a+3|0)>>>0<(f[42415]|0)>>>0)i=f[42416]|0;else{f[42415]=i;i=Hb(f[42416]|0,i)|0;f[42416]=i}f[r>>2]=A;f[r+4>>2]=e;iP(i,122082,r)|0;v=n;return f[42416]|0}function Ah(A){A=A|0;f[42414]=A;return}function eh(A,e,i,r,n){A=A|0;e=+e;i=+i;r=+r;n=+n;var f=0,a=0;f=v;v=v+208|0;a=f;ih(a,+o[A>>3],+o[A+8>>3],e,i,r,n);A=rh(a)|0;v=f;return A|0}function ih(A,e,i,r,n,f,a){A=A|0;e=+e;i=+i;r=+r;n=+n;f=+f;a=+a;var t=0,l=0;o[A>>3]=e;o[A+8>>3]=i;l=A+16|0;o[l>>3]=r;t=A+24|0;o[t>>3]=n;o[A+32>>3]=0.0;i=+H(+(+W(+f)/n),+(+N(+f)/r));o[A+56>>3]=i;n=+H(+(+W(+a)/n),+(+N(+a)/r));o[A+40>>3]=1.0;o[A+48>>3]=0.0;n=n-+y(+((n-i)*.15915494309189535))*6.283185307179586;o[A+64>>3]=a-f>3.141592653589793&n-i<3.141592653589793?n+6.283185307179586:n;ch(A);oh(A);sh(A);a=+o[l>>3];a=(a-+o[t>>3])/a;o[A+168>>3]=a;o[A+176>>3]=(2.0-a)*a;a=1.0-a;o[A+184>>3]=a;o[A+192>>3]=a*a;return}function rh(A){A=A|0;var e=0,i=0.0,r=0,n=0.0,f=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0.0,v=0.0,B=0,k=0,w=0.0,h=0.0,d=0.0,g=0.0,m=0.0,Z=0.0,G=0.0,I=0.0,C=0.0;k=Jb(8)|0;f=+o[A+56>>3];n=+o[A+64>>3]-f;B=1;e=0;while(1){v=n/+(B|0);if(!(e<<24>>24==0&(B|0)<1024))break;A:do{if(!(v<=1.5707963267948966))e=0;else{i=f;r=0;e=1;while(1){if(!(e<<24>>24!=0&(r|0)<(B|0)))break A;b=i+v;e=+nh(A,i,b)<=1.0e-05&1;i=b;r=r+1|0}}}while(0);B=B<<1}t=+N(+f);g=+W(+f);r=A+16|0;h=+o[r>>3];m=h*t;l=A+24|0;i=+o[l>>3];a=i*g;t=i*t;i=+o[A>>3];c=A+40|0;d=+o[c>>3];s=A+48|0;w=+o[s>>3];n=d*m+i-w*a;u=A+8|0;b=+o[u>>3];a=w*m+d*a+b;h=-(g*h);fh(k,i,b);ah(k,n,a);b=+z(+(v*.5));b=+W(+v)*.3333333333333333*(+p(+(b*b*3.0+4.0))+-1.0);i=f;f=a;a=w*h+d*t;t=d*h-w*t;e=0;while(1){if((e|0)>=(B|0))break;w=i+v;g=+N(+w);m=+W(+w);G=+o[r>>3];C=G*g;Z=+o[l>>3];d=Z*m;g=Z*g;Z=+o[c>>3];I=+o[s>>3];h=Z*C+ +o[A>>3]-I*d;d=I*C+Z*d+ +o[u>>3];G=-(m*G);m=Z*G-I*g;g=I*G+Z*g;th(k,n+t*b,f+a*b,h-m*b,d-g*b,h,d);i=w;n=h;f=d;a=g;t=m;e=e+1|0}lh(k);return k|0}function nh(A,e,i){A=A|0;e=+e;i=+i;var r=0.0,n=0.0,f=0.0,a=0.0,t=0.0;r=i+e;t=+o[A+16>>3];n=+o[A+24>>3]/t;a=+N(+r);f=+N(+(r*2.0));r=+N(+(r*3.0));A=n<.25?10328:10584;return+(((n*.001+4.98)*n+.207)/(n+.0067)*t*+L(+(((+o[A+32>>3]*n+ +o[A+40>>3])*n+ +o[A+48>>3])/(+o[A+56>>3]+n)*a+((+o[A>>3]*n+ +o[A+8>>3])*n+ +o[A+16>>3])/(+o[A+24>>3]+n)+((+o[A+64>>3]*n+ +o[A+72>>3])*n+ +o[A+80>>3])/(+o[A+88>>3]+n)*f+((+o[A+96>>3]*n+ +o[A+104>>3])*n+ +o[A+112>>3])/(+o[A+120>>3]+n)*r+(((+o[A+160>>3]*n+ +o[A+168>>3])*n+ +o[A+176>>3])/(+o[A+184>>3]+n)*a+((+o[A+128>>3]*n+ +o[A+136>>3])*n+ +o[A+144>>3])/(+o[A+152>>3]+n)+((+o[A+192>>3]*n+ +o[A+200>>3])*n+ +o[A+208>>3])/(+o[A+216>>3]+n)*f+((+o[A+224>>3]*n+ +o[A+232>>3])*n+ +o[A+240>>3])/(+o[A+248>>3]+n)*r)*(i-e))))}function fh(A,e,i){A=A|0;e=+e;i=+i;var r=0;f[42417]=100;r=Jb(1600)|0;f[A>>2]=r;o[r>>3]=e;o[r+8>>3]=i;f[A+4>>2]=1;return}function ah(A,e,i){A=A|0;e=+e;i=+i;var r=0,n=0;n=f[A>>2]|0;r=(f[A+4>>2]|0)+-1|0;th(A,+o[n+(r<<4)>>3],+o[n+(r<<4)+8>>3],e,i,e,i);return}function th(A,e,i,r,n,a,t){A=A|0;e=+e;i=+i;r=+r;n=+n;a=+a;t=+t;var l=0,c=0,s=0,u=0;s=A+4|0;l=f[s>>2]|0;c=f[42417]|0;if((l+3|0)<(c|0))A=f[A>>2]|0;else{f[42417]=c<<1;l=FW(f[A>>2]|0,c<<5)|0;f[A>>2]=l;A=l;l=f[s>>2]|0}o[A+(l<<4)>>3]=e;u=l+1|0;o[A+(l<<4)+8>>3]=i;o[A+(u<<4)>>3]=r;c=l+2|0;o[A+(u<<4)+8>>3]=n;o[A+(c<<4)>>3]=a;f[s>>2]=l+3;o[A+(c<<4)+8>>3]=t;return}function lh(A){A=A|0;var e=0;e=f[A>>2]|0;ah(A,+o[e>>3],+o[e+8>>3]);f[A>>2]=FW(f[A>>2]|0,f[A+4>>2]<<4)|0;f[42417]=0;return}function ch(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0.0;r=+o[A+16>>3];e=+o[A+24>>3];e=+p(+(r*r-e*e));r=e*+o[A+40>>3];e=e*+o[A+48>>3];n=+o[A>>3];o[A+104>>3]=n-r;i=+o[A+8>>3];o[A+112>>3]=i-e;o[A+120>>3]=n+r;o[A+128>>3]=i+e;return}function oh(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0.0,f=0.0,a=0.0,t=0.0,l=0.0;r=+o[A+16>>3];t=+o[A+56>>3];l=+N(+t)*r;e=+o[A+24>>3];t=+W(+t)*e;a=+o[A+64>>3];r=+N(+a)*r;e=+W(+a)*e;a=+o[A>>3];i=+o[A+40>>3];n=+o[A+48>>3];o[A+72>>3]=i*l+a-n*t;f=+o[A+8>>3];o[A+80>>3]=n*l+f+i*t;o[A+88>>3]=a+i*r-n*e;o[A+96>>3]=f+n*r+i*e;return}function sh(A){A=A|0;var e=0.0,i=0.0,r=0.0,n=0.0,f=0.0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0;c=+o[A+24>>3];s=+o[A+16>>3];n=c/s;u=+o[A+48>>3];b=+Y(+u)<.1;l=+o[A+40>>3];do{if(b){e=u/l;i=+R(+(e*n));r=-i;if(l<0.0){e=+R(+(e/n));n=r;r=3.141592653589793-i;i=4.71238898038469-e;e=1.5707963267948966-e;break}else{e=+R(+(e/n));n=-3.141592653589793-i;i=1.5707963267948966-e;e=-1.5707963267948966-e;break}}else{e=l/u;i=+R(+(e/n));r=i+1.5707963267948966;if(u<0.0){e=+R(+(e*n));n=i+-1.5707963267948966;i=e+3.141592653589793;break}else{e=+R(+(e*n));n=r;r=i+4.71238898038469;i=e;e=e+-3.141592653589793;break}}}while(0);a=+o[A+56>>3];n=n-+y(+((n-a)*.15915494309189535))*6.283185307179586;e=e-+y(+((e-a)*.15915494309189535))*6.283185307179586;f=r-+y(+((r-a)*.15915494309189535))*6.283185307179586;a=i-+y(+((i-a)*.15915494309189535))*6.283185307179586;t=+o[A+64>>3];if(!(n<=t)){n=+o[A+72>>3];i=+o[A+88>>3];i=n>3]-c*+W(+n)*u;o[A+136>>3]=i;if(!(e<=t)){n=+o[A+80>>3];r=+o[A+96>>3];r=n>3]+ +W(+e)*c*l;o[A+144>>3]=r;if(!(f<=t)){f=+o[A+72>>3];e=+o[A+88>>3];e=f>e?f:e}else e=+N(+f)*s*l+ +o[A>>3]-c*+W(+f)*u;o[A+152>>3]=e-i;if(!(a<=t)){u=+o[A+80>>3];e=+o[A+96>>3];e=u>e?u:e}else e=+N(+a)*s*u+ +o[A+8>>3]+ +W(+a)*c*l;o[A+160>>3]=e-r;return}function uh(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0.0,t=0,l=0,c=0.0,s=0,u=0;u=v;v=v+80|0;s=u;bh(A);c=+o[i+56>>3];a=+o[i+64>>3];switch(r[i+80>>0]|0){case 116:{a=(+o[i+48>>3]-+vh(e))*.5+a;n=4;break}case 98:{a=a-(+o[i+48>>3]-+vh(e))*.5;n=4;break}default:{}}if((n|0)==4)a=a+-1.0;o[s>>3]=c;o[s+8>>3]=a;f[s+20>>2]=f[i+8>>2];f[s+16>>2]=f[i+4>>2];o[s+32>>3]=+o[i+16>>3];l=A+16|0;n=aY(f[(f[l>>2]|0)+8>>2]|0,122089)|0;i=s+56|0;f[i>>2]=n;t=s+60|0;f[t>>2]=f[(f[l>>2]|0)+212>>2];l=s+64|0;r[l>>0]=0;if(!((n|0)!=0?(r[n>>0]|0)!=0:0))f[i>>2]=122100;if((r[e+4>>0]|0)==1){i=f[e>>2]|0;Wk(A,f[(f[A>>2]|0)+336>>2]|0);n=f[i+24>>2]|0;if(!n)Yk(A,122106);else Yk(A,n);kh(A,i,s);if(r[l>>0]|0)HW(f[t>>2]|0)}else Bh(A,f[e>>2]|0,s);wh(A);v=u;return}function bh(A){A=A|0;var e=0,i=0,r=0;e=ls(A)|0;i=f[e>>2]|0;A=f[i+4>>2]|0;f[e+4>>2]=A;f[e+12>>2]=f[i+12>>2];switch(A|0){case 2:{A=i+8|0;r=6;break}case 0:{A=i+8|0;r=6;break}case 1:{A=i+8|0;r=6;break}case 3:{A=i+8|0;r=6;break}default:{}}if((r|0)==6)f[e+8>>2]=f[A>>2];f[e+208>>2]=f[i+208>>2];f[e+228>>2]=f[i+228>>2];f[e+244>>2]=f[i+244>>2];r=e+260|0;n[r>>1]=n[r>>1]&-2|n[i+260>>1]&1;return}function vh(A){A=A|0;var e=0.0,i=0,n=0;switch(r[A+4>>0]|0){case 1:{i=f[A>>2]|0;A=i+72|0;i=i+56|0;n=5;break}case 3:{i=f[A>>2]|0;A=i+24|0;i=i+8|0;n=5;break}case 2:{i=f[A>>2]|0;A=i+32|0;i=i+16|0;n=5;break}default:e=0.0}if((n|0)==5)e=+o[A>>3]-+o[i>>3];return+e}function Bh(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0.0,B=0.0,k=0,w=0,h=0;u=v;v=v+96|0;l=u+64|0;t=u+32|0;a=u+16|0;c=u;s=n[e+4>>1]|0;if(s<<16>>16>=1){w=e+8|0;B=+o[e+24>>3];b=+o[w>>3];o[c>>3]=(b+B)*.5+ +o[i>>3];o[c+8>>3]=(+o[e+16>>3]+ +o[e+32>>3])*.5+ +o[i+8>>3];k=f[e>>2]|0;h=i+16|0;i=r[e+6>>0]|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[t>>2]=f[h>>2];f[t+4>>2]=f[h+4>>2];f[t+8>>2]=f[h+8>>2];f[t+12>>2]=f[h+12>>2];f[t+16>>2]=f[h+16>>2];f[t+20>>2]=f[h+20>>2];f[t+24>>2]=f[h+24>>2];f[t+28>>2]=f[h+28>>2];f[l>>2]=f[w>>2];f[l+4>>2]=f[w+4>>2];f[l+8>>2]=f[w+8>>2];f[l+12>>2]=f[w+12>>2];f[l+16>>2]=f[w+16>>2];f[l+20>>2]=f[w+20>>2];f[l+24>>2]=f[w+24>>2];f[l+28>>2]=f[w+28>>2];yh(A,s<<16>>16,k,a,(B-b)*.5,t,l,i)}v=u;return}function kh(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,c=0,s=0.0,u=0.0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;I=v;v=v+176|0;d=I+96|0;m=I+64|0;Z=I+136|0;B=I;k=I+128|0;w=e+48|0;f[m>>2]=f[w>>2];f[m+4>>2]=f[w+4>>2];f[m+8>>2]=f[w+8>>2];f[m+12>>2]=f[w+12>>2];f[m+16>>2]=f[w+16>>2];f[m+20>>2]=f[w+20>>2];f[m+24>>2]=f[w+24>>2];f[m+28>>2]=f[w+28>>2];s=+o[i>>3];u=+o[i+8>>3];w=e+84|0;t=f[w>>2]|0;if(!(f[e>>2]|0))G=(f[e+8>>2]|0)!=0;else G=1;g=e+108|0;l=f[g>>2]|0;if(l|0)hh(i,l,167296);o[m>>3]=+o[m>>3]+s;h=m+16|0;o[h>>3]=+o[h>>3]+s;h=m+8|0;o[h>>3]=+o[h>>3]+u;h=m+24|0;o[h>>3]=+o[h>>3]+u;if(G?(f[A+152>>2]&4|0)==0:0){f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[d+12>>2]=f[m+12>>2];f[d+16>>2]=f[m+16>>2];f[d+20>>2]=f[m+20>>2];f[d+24>>2]=f[m+24>>2];f[d+28>>2]=f[m+28>>2];h=dh(A,i,e,d,Z)|0}else h=0;b=e+42|0;l=n[b>>1]|0;if(!(l&32)){c=f[e+20>>2]|0;if(c){l=gh(A,c,f[e+28>>2]|0,l&65535,k)|0;if(!(n[b>>1]&4)){f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[d+12>>2]=f[m+12>>2];f[d+16>>2]=f[m+16>>2];f[d+20>>2]=f[m+20>>2];f[d+24>>2]=f[m+24>>2];f[d+28>>2]=f[m+28>>2];Pk(A,d,l)}else{b=a[e+33>>0]|0;f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[d+12>>2]=f[m+12>>2];f[d+16>>2]=f[m+16>>2];f[d+20>>2]=f[m+20>>2];f[d+24>>2]=f[m+24>>2];f[d+28>>2]=f[m+28>>2];RZ(A,mh(B,d,b)|0,4,4,l)}HW(f[k>>2]|0)}while(1){l=f[t>>2]|0;if(!l)break;Zh(A,l,i);t=t+4|0}t=f[w>>2]|0;Xk(A,1.0);l=e+24|0;while(1){c=t+4|0;t=f[t>>2]|0;if(!t)break;if(!(r[t+100>>0]|0)){t=c;continue}Gh(A,t,i,f[l>>2]|0,f[c>>2]|0);t=c}if(r[e+33>>0]|0){f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[d+12>>2]=f[m+12>>2];f[d+16>>2]=f[m+16>>2];f[d+20>>2]=f[m+20>>2];f[d+24>>2]=f[m+24>>2];f[d+28>>2]=f[m+28>>2];Ih(A,e,d)}}if(h|0)Ch(A,Z);if((G?f[A+152>>2]&4|0:0)?(f[d>>2]=f[m>>2],f[d+4>>2]=f[m+4>>2],f[d+8>>2]=f[m+8>>2],f[d+12>>2]=f[m+12>>2],f[d+16>>2]=f[m+16>>2],f[d+20>>2]=f[m+20>>2],f[d+24>>2]=f[m+24>>2],f[d+28>>2]=f[m+28>>2],dh(A,i,e,d,Z)|0):0)Ch(A,Z);if(f[g>>2]|0)Mh(i,167296);v=I;return}function wh(A){A=A|0;var e=0;e=f[A+16>>2]|0;f[e+208>>2]=0;f[e+228>>2]=0;f[e+244>>2]=0;f[e+212>>2]=0;cs(A);return}function hh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0,t=0;t=A+16|0;n=f[t>>2]|0;if(n|0){if(!(f[e>>2]|0)){n=0;a=i}else{f[i>>2]=n;n=f[e>>2]|0;a=t}f[a>>2]=n}n=f[A+20>>2]|0;if(n|0){a=e+4|0;if(!(f[a>>2]|0)){n=0;a=i}else{f[i+4>>2]=n;n=f[a>>2]|0;a=t}f[a+4>>2]=n}r=+o[A+32>>3];if(r>=0.0){n=e+16|0;if(!(+o[n>>3]>=0.0))r=-1.0;else{o[i+16>>3]=r;r=+o[n>>3];i=t}o[i+16>>3]=r}return}function dh(A,e,i,a,t){A=A|0;e=e|0;i=i|0;a=a|0;t=t|0;var l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+224|0;u=g+8|0;o=g;d=g+40|0;c=g+184|0;l=g+56|0;s=f[A+16>>2]|0;b=s+208|0;f[t>>2]=f[b>>2];B=s+228|0;f[t+4>>2]=f[B>>2];k=s+244|0;f[t+8>>2]=f[k>>2];w=s+212|0;f[t+12>>2]=f[w>>2];h=s+260|0;r[t+16>>0]=(n[h>>1]<<15&65535)<<16>>16>>15;t=f[i+16>>2]|0;if((t|0)!=0?(r[t>>0]|0)!=0:0)l=0;else{Qy(d,128,l);l=e+60|0;t=f[l>>2]|0;if(!t){t=dP(ss(A,f[s+8>>2]|0,d)|0)|0;f[l>>2]=t;r[e+64>>0]=1}py(d,t)|0;l=f[42418]|0;f[42418]=l+1;f[o>>2]=l;iP(c,122183,o)|0;py(d,c)|0;l=d+4|0;t=f[l>>2]|0;if(t>>>0>=(f[d+8>>2]|0)>>>0){yy(d,1)|0;t=f[l>>2]|0}r[t>>0]=0;t=f[d>>2]|0;f[l>>2]=t;l=1}t=os(A,0,f[i>>2]|0,f[i+12>>2]|0,f[i+8>>2]|0,t,f[s+8>>2]|0)|0;if(l)Vy(d);do{if(t|0){if((f[b>>2]|0)==0?(n[h>>1]&1)==0:0)break;f[u>>2]=f[a>>2];f[u+4>>2]=f[a+4>>2];f[u+8>>2]=f[a+8>>2];f[u+12>>2]=f[a+12>>2];f[u+16>>2]=f[a+16>>2];f[u+20>>2]=f[a+20>>2];f[u+24>>2]=f[a+24>>2];f[u+28>>2]=f[a+28>>2];hs(A,u);Ck(A,f[b>>2]|0,f[B>>2]|0,f[k>>2]|0,f[w>>2]|0)}}while(0);v=g;return t|0}function gh(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0.0,t=0,l=0;l=v;v=v+16|0;t=l;if(!((Ru(e,n,t)|0)<<24>>24)){Vk(A,e);e=1}else{Vk(A,f[n>>2]|0);e=f[n+4>>2]|0;a=+c[t>>2];if(!e)Nk(A,122106,i,a);else Nk(A,e,i,a);e=r>>>1&1|2}Yk(A,122171);v=l;return e|0}function mh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,a=0.0,t=0.0,l=0.0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];r=A+32|0;e=e+16|0;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];if((i|0)>1){l=+(i|0)*.5;t=+o[A>>3]+l;o[A>>3]=t;i=A+8|0;a=+o[i>>3]+l;o[i>>3]=a;n=+o[r>>3]-l;o[r>>3]=n;r=A+40|0;l=+o[r>>3]-l;o[r>>3]=l}else{n=+o[r>>3];a=+o[A+8>>3];t=+o[A>>3];l=+o[A+40>>3]}o[A+16>>3]=n;o[A+24>>3]=a;o[A+48>>3]=t;o[A+56>>3]=l;return A|0}function Zh(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0.0,c=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;m=v;v=v+176|0;w=m+96|0;h=m+136|0;d=m+64|0;B=m;k=m+128|0;g=e+48|0;f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];f[d+12>>2]=f[g+12>>2];f[d+16>>2]=f[g+16>>2];f[d+20>>2]=f[g+20>>2];f[d+24>>2]=f[g+24>>2];f[d+28>>2]=f[g+28>>2];l=+o[i>>3];c=+o[i+8>>3];if(!(f[e>>2]|0))g=(f[e+8>>2]|0)!=0;else g=1;o[d>>3]=+o[d>>3]+l;b=d+16|0;o[b>>3]=+o[b>>3]+l;b=d+8|0;o[b>>3]=+o[b>>3]+c;b=d+24|0;o[b>>3]=+o[b>>3]+c;if(g?(f[A+152>>2]&4|0)==0:0){f[w>>2]=f[d>>2];f[w+4>>2]=f[d+4>>2];f[w+8>>2]=f[d+8>>2];f[w+12>>2]=f[d+12>>2];f[w+16>>2]=f[d+16>>2];f[w+20>>2]=f[d+20>>2];f[w+24>>2]=f[d+24>>2];f[w+28>>2]=f[d+28>>2];b=dh(A,i,e,w,h)|0}else b=0;u=e+42|0;t=n[u>>1]|0;A:do{if(!(t&32)){s=f[e+20>>2]|0;if(s|0){t=gh(A,s,f[e+28>>2]|0,t&65535,k)|0;if(!(n[u>>1]&4)){f[w>>2]=f[d>>2];f[w+4>>2]=f[d+4>>2];f[w+8>>2]=f[d+8>>2];f[w+12>>2]=f[d+12>>2];f[w+16>>2]=f[d+16>>2];f[w+20>>2]=f[d+20>>2];f[w+24>>2]=f[d+24>>2];f[w+28>>2]=f[d+28>>2];Pk(A,w,t)}else{u=a[e+33>>0]|0;f[w>>2]=f[d>>2];f[w+4>>2]=f[d+4>>2];f[w+8>>2]=f[d+8>>2];f[w+12>>2]=f[d+12>>2];f[w+16>>2]=f[d+16>>2];f[w+20>>2]=f[d+20>>2];f[w+24>>2]=f[d+24>>2];f[w+28>>2]=f[d+28>>2];RZ(A,mh(B,w,u)|0,4,4,t)}HW(f[k>>2]|0)}if(r[e+33>>0]|0){f[w>>2]=f[d>>2];f[w+4>>2]=f[d+4>>2];f[w+8>>2]=f[d+8>>2];f[w+12>>2]=f[d+12>>2];f[w+16>>2]=f[d+16>>2];f[w+20>>2]=f[d+20>>2];f[w+24>>2]=f[d+24>>2];f[w+28>>2]=f[d+28>>2];Ih(A,e,w)}t=e+88|0;switch(r[e+92>>0]|0){case 1:{kh(A,f[t>>2]|0,i);break A}case 3:{Qh(A,f[t>>2]|0,i);break A}default:{Bh(A,f[t>>2]|0,i);break A}}}}while(0);if(b|0)Ch(A,h);if((g?f[A+152>>2]&4|0:0)?(f[w>>2]=f[d>>2],f[w+4>>2]=f[d+4>>2],f[w+8>>2]=f[d+8>>2],f[w+12>>2]=f[d+12>>2],f[w+16>>2]=f[d+16>>2],f[w+20>>2]=f[d+20>>2],f[w+24>>2]=f[d+24>>2],f[w+28>>2]=f[d+28>>2],dh(A,i,e,w,h)|0):0)Ch(A,h);v=m;return}function Gh(A,e,i,l,c){A=A|0;e=e|0;i=i|0;l=l|0;c=c|0;var s=0.0,u=0,b=0.0,B=0.0,k=0,w=0.0,h=0.0,d=0.0,g=0.0,m=0,Z=0,G=0.0,I=0,C=0,M=0,E=0,Q=0;M=v;v=v+32|0;I=M+16|0;C=M;w=+o[i>>3];G=+o[i+8>>3];k=(l|0)==0?122106:l;Vk(A,k);Yk(A,k);d=+o[e+48>>3];b=+o[e+56>>3];g=+o[e+64>>3];B=+o[e+72>>3];h=d+w;w=g+w;G=b+G;k=e+100|0;i=r[k>>0]|0;if((i&1)!=0?(u=f[e+96>>2]|0,((t[e+80>>1]|0)+(t[e+84>>1]|0)|0)<(f[u+104>>2]|0)):0){i=n[e+86>>1]|0;do{if(i<<16>>16)if(((t[e+82>>1]|0)+(i&65535)|0)==(f[u+100>>2]|0)){E=r[u+32>>0]|0;Q=(E<<24>>24)/2|0;l=(Q<<24>>24)+(a[u+33>>0]|0)|0;i=l;l=l&255;s=G-+(Q<<24>>24);u=E;break}else{u=r[u+32>>0]|0;i=0;l=((u<<24>>24)/2|0)<<24>>24;s=G;break}else{Q=r[u+32>>0]|0;l=((Q<<24>>24)/2|0)<<24>>24;i=l+(a[u+33>>0]|0)|0;s=G;u=Q}}while(0);o[C+8>>3]=s-+(l|0);o[C>>3]=w+ +(((u<<24>>24)/2|0)<<24>>24);f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];Eh(A,I,0.0,B-b+ +(i&255|0)+ +(u<<24>>24));i=r[k>>0]|0}if(i&2?(m=n[e+86>>1]|0,Z=f[e+96>>2]|0,((t[e+82>>1]|0)+(m&65535)|0)<(f[Z+100>>2]|0)):0){i=n[e+84>>1]|0;do{if(!(i<<16>>16)){i=r[Z+32>>0]|0;Q=(i<<24>>24)/2|0;u=(Q<<24>>24)+(a[Z+33>>0]|0)|0;l=u&255;u=u&255;s=+(Q<<24>>24);o[C>>3]=h-s-+(u|0);if((f[Z+104>>2]|0)==(t[e+80>>1]|0)){l=u<<1&255;break}if((c|0)!=0?(n[c+86>>1]|0)!=m<<16>>16:0)l=~~(+(l&255)-g+ +o[Z+64>>3]-s)&255}else{if(((t[e+80>>1]|0)+(i&65535)|0)==(f[Z+104>>2]|0)){i=r[Z+32>>0]|0;Q=(i<<24>>24)/2|0;l=(Q&255)+(a[Z+33>>0]|0)&255;o[C>>3]=h-+(Q<<24>>24);break}i=r[Z+32>>0]|0;s=+(((i<<24>>24)/2|0)<<24>>24);o[C>>3]=h-s;if((c|0)!=0?(n[c+86>>1]|0)!=m<<16>>16:0)l=~~(+o[Z+64>>3]-g-s)&255;else l=0}}while(0);o[C+8>>3]=G-+(((i<<24>>24)/2|0)<<24>>24);f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];Eh(A,I,g-d+ +(l&255)+ +(i<<24>>24),0.0)}v=M;return}function Ih(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0.0;B=v;v=v+160|0;b=B+112|0;u=B;l=B+144|0;s=f[e+24>>2]|0;Yk(A,(s|0)==0?122106:s);s=e+42|0;t=n[s>>1]|0;if(!(t&384))Wk(A,f[(f[A>>2]|0)+336>>2]|0);else{f[l+4>>2]=0;f[l>>2]=0;t=t&65535;if(!(t&256)){if(t&128|0){t=122112;c=4}}else{t=122119;c=4}if((c|0)==4)f[l>>2]=t;Wk(A,l)}c=e+33|0;Xk(A,+(a[c>>0]|0));A:do{if(!(n[s>>1]&4)){t=n[e+36>>1]&15360;if(!(t<<16>>16)){t=r[c>>0]|0;if((t&255)>1){k=+(t&255)*.5;o[i>>3]=+o[i>>3]+k;u=i+8|0;o[u>>3]=+o[u>>3]+k;u=i+16|0;o[u>>3]=+o[u>>3]-k;u=i+24|0;o[u>>3]=+o[u>>3]-k}f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];f[b+16>>2]=f[i+16>>2];f[b+20>>2]=f[i+20>>2];f[b+24>>2]=f[i+24>>2];f[b+28>>2]=f[i+28>>2];Pk(A,b,0);break}l=u+16|0;s=a[c>>0]|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];f[b+16>>2]=f[i+16>>2];f[b+20>>2]=f[i+20>>2];f[b+24>>2]=f[i+24>>2];f[b+28>>2]=f[i+28>>2];mh(l,b,s)|0;do{switch(((t&65535)+-1024|0)>>>10&4194303|0){case 7:{Hk(A,l,2);break A}case 3:{Hk(A,u+32|0,2);break A}case 1:{Hk(A,u+48|0,2);break A}case 0:{i=u+64|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];Hk(A,u,2);break A}case 11:{Hk(A,l,3);break A}case 5:{Hk(A,u+32|0,3);break A}case 2:{i=u+80|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];f[i+8>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];Hk(A,u+48|0,3);break A}case 8:{i=u+64|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];Hk(A,u,3);break A}case 13:{Hk(A,l,4);break A}case 6:{i=u+80|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];f[i+8>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];Hk(A,u+32|0,4);break A}case 10:{i=u+80|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];f[i+8>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];i=u+96|0;b=u+32|0;f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[i+12>>2]=f[b+12>>2];Hk(A,u+48|0,4);break A}case 12:{i=u+64|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];Hk(A,u,4);break A}case 9:{Hk(A,l,2);Hk(A,u+48|0,2);break A}case 4:{i=u+64|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];Hk(A,u,2);Hk(A,u+32|0,2);break A}default:break A}}while(0)}else{s=a[c>>0]|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];f[b+16>>2]=f[i+16>>2];f[b+20>>2]=f[i+20>>2];f[b+24>>2]=f[i+24>>2];f[b+28>>2]=f[i+28>>2];RZ(A,mh(u,b,s)|0,4,4,0)}}while(0);v=B;return}function Ch(A,e){A=A|0;e=e|0;var i=0,a=0,t=0;t=f[A+16>>2]|0;i=t+208|0;if((f[i>>2]|0)==0?(n[t+260>>1]&1)==0:0)A=0;else{Mk(A);A=f[i>>2]|0}if((A|0)!=(f[e>>2]|0)){HW(A);f[i>>2]=f[e>>2]}A=t+228|0;i=f[A>>2]|0;a=e+4|0;if((i|0)!=(f[a>>2]|0)){HW(i);f[A>>2]=f[a>>2]}A=t+244|0;i=f[A>>2]|0;a=e+8|0;if((i|0)!=(f[a>>2]|0)){HW(i);f[A>>2]=f[a>>2]}A=t+212|0;i=f[A>>2]|0;a=e+12|0;if((i|0)!=(f[a>>2]|0)){HW(i);f[A>>2]=f[a>>2]}t=t+260|0;n[t>>1]=n[t>>1]&-2|r[e+16>>0]&1;return}function Mh(A,e){A=A|0;e=e|0;var i=0.0,r=0;r=f[e>>2]|0;if(r|0)f[A+16>>2]=r;r=f[e+4>>2]|0;if(r|0)f[A+20>>2]=r;i=+o[e+16>>3];if(i>=0.0)o[A+32>>3]=i;return}function Eh(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var n=0,a=0,t=0;n=v;v=v+64|0;a=n+32|0;t=n;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];o[t+16>>3]=+o[e>>3]+i;o[t+24>>3]=+o[e+8>>3]+r;f[a>>2]=f[t>>2];f[a+4>>2]=f[t+4>>2];f[a+8>>2]=f[t+8>>2];f[a+12>>2]=f[t+12>>2];f[a+16>>2]=f[t+16>>2];f[a+20>>2]=f[t+20>>2];f[a+24>>2]=f[t+24>>2];f[a+28>>2]=f[t+28>>2];Pk(A,a,1);v=n;return}function Qh(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0.0,c=0.0,s=0.0,u=0.0;t=v;v=v+64|0;a=t;c=+o[i>>3];u=c+ +o[e>>3];s=+o[i+8>>3];l=s+ +o[e+8>>3];c=c+ +o[e+16>>3];s=s+ +o[e+24>>3];o[a>>3]=c;o[a+8>>3]=s;o[a+32>>3]=u;o[a+40>>3]=l;o[a+16>>3]=u;o[a+24>>3]=s;o[a+48>>3]=c;o[a+56>>3]=l;n=f[e+36>>2]|0;if(!n)n=f[i+56>>2]|0;i=f[e+32>>2]|0;if(!i)BA(122126,122134,623,122146);if(!(r[i>>0]|0))BA(122160,122134,624,122146);else{Fk(A,i,a,4,1,n);v=t;return}}function yh(A,e,i,a,t,l,c,s){A=A|0;e=e|0;i=i|0;a=a|0;t=+t;l=l|0;c=c|0;s=s|0;var u=0.0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0.0,z=0,J=0,P=0,R=0.0,H=0.0,L=0,F=0,D=0,X=0;X=v;v=v+128|0;J=X+104|0;L=X+48|0;F=X+16|0;P=X;z=P;f[z>>2]=0;f[z+4>>2]=0;R=+o[a>>3];H=R-t;W=R+t;z=P+8|0;o[z>>3]=(+o[c+24>>3]-+o[c+8>>3])*.5+ +o[a+8>>3];Ek(A,1);y=F+16|0;Y=F+4|0;p=F+24|0;V=L+4|0;N=L+16|0;h=(s|0)==0;d=L+24|0;g=L+8|0;m=L+32|0;Z=L+40|0;G=L+48|0;I=l+16|0;C=l+4|0;M=F+8|0;k=0;while(1){if((k|0)>=(e|0))break;switch(r[i+(k*24|0)+6>>0]|0){case 108:{t=H;break}case 114:{t=W-+o[i+(k*24|0)+8>>3];break}default:t=R-+o[i+(k*24|0)+8>>3]*.5}o[a>>3]=t;E=i+(k*24|0)+16|0;o[z>>3]=+o[z>>3]-+o[E>>3];Q=i+(k*24|0)+4|0;B=f[i+(k*24|0)>>2]|0;w=0;while(1){if((w|0)>=(n[Q>>1]|0))break;b=B+4|0;s=f[b>>2]|0;if(s){o[y>>3]=+o[(+o[s+16>>3]>0.0?s:l)+16>>3];f[F>>2]=f[((f[s>>2]|0)==0?l:s)>>2];c=f[((f[s+4>>2]|0)==0?l:s)+4>>2]|0;f[Y>>2]=c;s=f[s+24>>2]&127;if(!s)D=12;else s=f[p>>2]&-128|s}else{o[y>>3]=+o[I>>3];f[F>>2]=f[l>>2];c=f[C>>2]|0;f[Y>>2]=c;D=12}if((D|0)==12){D=0;s=f[p>>2]&-128}f[p>>2]=s;Yk(A,c);f[L>>2]=f[B>>2];f[V>>2]=F;o[N>>3]=+o[B+16>>3];if(h)u=1.0;else u=+o[B+24>>3];o[d>>3]=u;f[M>>2]=f[(f[b>>2]|0)+8>>2];f[g>>2]=f[B+8>>2];b=B+32|0;o[m>>3]=+o[b>>3];o[Z>>3]=+o[E>>3];r[G>>0]=108;o[P>>3]=t;f[J>>2]=f[P>>2];f[J+4>>2]=f[P+4>>2];f[J+8>>2]=f[P+8>>2];f[J+12>>2]=f[P+12>>2];yk(A,J,L);u=+o[b>>3]+t;o[a>>3]=u;B=B+56|0;w=w+1|0;t=u}k=k+1|0}Qk(A);v=X;return}function Yh(A){A=A|0;HW(f[A>>2]|0);HW(f[A+4>>2]|0);HW(f[A+8>>2]|0);HW(f[A+16>>2]|0);HW(f[A+12>>2]|0);HW(f[A+20>>2]|0);HW(f[A+24>>2]|0);return}function ph(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0;if(A|0){c=A+4|0;i=0;a=f[A>>2]|0;while(1){if((i|0)>=(n[c>>1]|0))break;o=a+4|0;e=0;r=f[a>>2]|0;while(1){if((e|0)>=(n[o>>1]|0))break;HW(f[r>>2]|0);t=f[r+8>>2]|0;if(t|0?(l=f[r+12>>2]|0,l|0):0)ML[l&127](t);e=e+1|0;r=r+56|0}i=i+1|0;a=a+24|0}e=f[A>>2]|0;if(e|0)HW(e);HW(A)}return}function Vh(A){A=A|0;HW(f[A+32>>2]|0);HW(A);return}function Nh(A,e){A=A|0;e=e|0;switch(r[A+4>>0]|0){case 1:{Wh(f[A>>2]|0);break}case 3:{Vh(f[A>>2]|0);break}default:ph(f[A>>2]|0)}if(e|0)HW(A);return}function Wh(A){A=A|0;var e=0,i=0,r=0;r=A+84|0;if((f[A+100>>2]|0)==-1)ly(f[r>>2]|0)|0;else{e=f[r>>2]|0;HW(f[A+92>>2]|0);HW(f[A+96>>2]|0);while(1){i=f[e>>2]|0;if(!i)break;zh(i);e=e+4|0}HW(f[r>>2]|0)}Yh(A);HW(A);return}function zh(A){A=A|0;Nh(A+88|0,0);Yh(A);HW(A);return}function Jh(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;A=f[(f[(f[A+16>>2]|0)+104>>2]|0)+72>>2]|0;if((r[A+4>>0]|0)!=2?(n=Ph(f[A>>2]|0,e)|0,(n|0)!=0):0){f[i>>2]=a[n+35>>0];A=n+48|0}else A=0;return A|0}function Ph(A,e){A=A|0;e=e|0;var i=0,r=0;i=f[A+4>>2]|0;if(!((i|0)!=0?(Oz(i,e)|0)==0:0))r=3;A:do{if((r|0)==3){i=f[A+84>>2]|0;while(1){A=f[i>>2]|0;if(!A){A=0;break A}A=Rh(A,e)|0;if(!A)i=i+4|0;else break}}}while(0);return A|0}function Rh(A,e){A=A|0;e=e|0;var i=0;i=f[A+4>>2]|0;if(!((i|0)!=0?(Oz(i,e)|0)==0:0))if((r[A+92>>0]|0)==1)A=Ph(f[A+88>>2]|0,e)|0;else A=0;return A|0}function Hh(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;return 0}function Lh(A){A=A|0;var e=0.0,i=0,a=0,l=0,c=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;B=A+92|0;f[B>>2]=Jb((f[A+100>>2]<<2)+4|0)|0;b=Jb((f[A+104>>2]<<2)+4|0)|0;f[A+96>>2]=b;v=A+32|0;u=f[A+84>>2]|0;while(1){s=f[u>>2]|0;if(!s)break;A=n[s+82>>1]|0;e=+o[s+72>>3];if(A<<16>>16==1)a=~~e;else{a=~~((e-+(X((r[v>>0]|0)+-1|0,(A&65535)+-1|0)|0))/+(A&65535));a=(a|0)>1?a:1}l=n[s+80>>1]|0;e=+o[s+64>>3];if(l<<16>>16==1)c=~~e;else{c=~~((e-+(X((r[v>>0]|0)+-1|0,(l&65535)+-1|0)|0))/+(l&65535));c=(c|0)>1?c:1}k=t[s+86>>1]|0;i=(A&65535)+k|0;A=k;while(1){if((A|0)>=(i|0))break;k=(f[B>>2]|0)+(A<<2)|0;w=f[k>>2]|0;f[k>>2]=(w|0)>(a|0)?w:a;A=A+1|0}A=t[s+84>>1]|0;i=(l&65535)+A|0;while(1){if((A|0)>=(i|0))break;w=b+(A<<2)|0;k=f[w>>2]|0;f[w>>2]=(k|0)>(c|0)?k:c;A=A+1|0}u=u+4|0}return}function Fh(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if(A>>>0<21)A=f[54824+(A<<2)>>2]|0;else{f[e>>2]=A;iP(174085,122187,e)|0;A=174085}v=i;return A|0}function Dh(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,l=0,c=0,s=0,u=0,b=0,v=0;c=A+104|0;s=A+100|0;l=i+16|0;r=0;n=0;while(1){if((r|0)>(f[c>>2]|0))break;a=Pp(i,Fh(r)|0,1)|0;cV(a,122241,304,1)|0;u=a+16|0;f[(f[u>>2]|0)+176>>2]=0;v=Jb((f[s>>2]<<2)+4|0)|0;b=f[u>>2]|0;f[b+172>>2]=v;f[b+184>>2]=0;b=Jb((f[s>>2]<<2)+4|0)|0;f[(f[u>>2]|0)+180>>2]=b;if(!n)f[(f[l>>2]|0)+192>>2]=a;else f[(f[n+16>>2]|0)+164>>2]=a;r=r+1|0;n=a}l=e+16|0;r=0;n=0;while(1){if((r|0)>(f[s>>2]|0))break;a=Pp(e,Fh(r)|0,1)|0;cV(a,122241,304,1)|0;v=a+16|0;f[(f[v>>2]|0)+176>>2]=0;u=Jb((f[c>>2]<<2)+4|0)|0;b=f[v>>2]|0;f[b+172>>2]=u;f[b+184>>2]=0;b=Jb((f[c>>2]<<2)+4|0)|0;f[(f[v>>2]|0)+180>>2]=b;if(!n)f[(f[l>>2]|0)+192>>2]=a;else f[(f[n+16>>2]|0)+164>>2]=a;r=r+1|0;n=a}r=f[A+84>>2]|0;while(1){n=f[r>>2]|0;if(!n)break;v=n+84|0;b=Pp(i,Fh(t[v>>1]|0)|0,0)|0;v=Pp(i,Fh((t[n+80>>1]|0)+(t[v>>1]|0)|0)|0,0)|0;Xh(i,b,v,~~+o[n+64>>3]);v=n+86|0;b=Pp(e,Fh(t[v>>1]|0)|0,0)|0;v=Pp(e,Fh((t[n+82>>1]|0)+(t[v>>1]|0)|0)|0,0)|0;Xh(e,b,v,~~+o[n+72>>3]);r=r+4|0}xh(i);xh(e);return}function Xh(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0;a=MY(A,e,i,0,0)|0;if(!a){l=MY(A,e,i,0,1)|0;cV(l,122254,176,1)|0;n[(f[l+16>>2]|0)+170>>1]=r;e=e+16|0;A=f[e>>2]|0;a=f[A+180>>2]|0;if(!a)A=Pb((f[A+184>>2]<<2)+8|0)|0;else A=Hb(a,(f[A+184>>2]<<2)+8|0)|0;r=f[e>>2]|0;f[r+180>>2]=A;r=r+184|0;a=f[r>>2]|0;f[r>>2]=a+1;f[A+(a<<2)>>2]=l;e=f[e>>2]|0;f[(f[e+180>>2]|0)+(f[e+184>>2]<<2)>>2]=0;e=i+16|0;A=f[e>>2]|0;a=f[A+172>>2]|0;if(!a)A=Pb((f[A+176>>2]<<2)+8|0)|0;else A=Hb(a,(f[A+176>>2]<<2)+8|0)|0;r=f[e>>2]|0;f[r+172>>2]=A;r=r+176|0;i=f[r>>2]|0;f[r>>2]=i+1;f[A+(i<<2)>>2]=l;l=f[e>>2]|0;f[(f[l+172>>2]|0)+(f[l+176>>2]<<2)>>2]=0}else{l=(f[a+16>>2]|0)+170|0;i=t[l>>1]|0;n[l>>1]=(i|0)>(r|0)?i:r}return}function xh(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0;e=f[(f[A+16>>2]|0)+192>>2]|0;while(1){r=e+16|0;t=f[(f[r>>2]|0)+164>>2]|0;if(!t)break;if(MY(A,e,t,0,0)|0){e=t;continue}a=MY(A,e,t,0,1)|0;cV(a,122254,176,1)|0;n[(f[a+16>>2]|0)+170>>1]=0;e=f[r>>2]|0;i=f[e+180>>2]|0;if(!i)e=Pb((f[e+184>>2]<<2)+8|0)|0;else e=Hb(i,(f[e+184>>2]<<2)+8|0)|0;l=f[r>>2]|0;f[l+180>>2]=e;l=l+184|0;i=f[l>>2]|0;f[l>>2]=i+1;f[e+(i<<2)>>2]=a;r=f[r>>2]|0;f[(f[r+180>>2]|0)+(f[r+184>>2]<<2)>>2]=0;r=t+16|0;e=f[r>>2]|0;i=f[e+172>>2]|0;if(!i)e=Pb((f[e+176>>2]<<2)+8|0)|0;else e=Hb(i,(f[e+176>>2]<<2)+8|0)|0;i=f[r>>2]|0;f[i+172>>2]=e;i=i+176|0;l=f[i>>2]|0;f[i>>2]=l+1;f[e+(l<<2)>>2]=a;e=f[r>>2]|0;f[(f[e+172>>2]|0)+(f[e+176>>2]<<2)>>2]=0;e=t}return}function Th(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;a=A+92|0;r=0;n=0;e=f[(f[(f[e+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=f[e+164>>2]|0;if(!e)break;e=f[e+16>>2]|0;t=e+232|0;f[(f[a>>2]|0)+(n<<2)>>2]=(f[t>>2]|0)-r;r=f[t>>2]|0;n=n+1|0}A=A+96|0;r=0;n=0;e=f[(f[(f[i+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){e=f[e+164>>2]|0;if(!e)break;e=f[e+16>>2]|0;t=e+232|0;f[(f[A>>2]|0)+(n<<2)>>2]=(f[t>>2]|0)-r;r=f[t>>2]|0;n=n+1|0}return}function Uh(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t+4|0;e=t;f[e>>2]=f[4411];i=f[A+100>>2]|0;if((i|0)!=1?(n=A+104|0,(f[n>>2]|0)!=1):0){f[A+92>>2]=Jb((i<<2)+4|0)|0;f[A+96>>2]=Jb((f[n>>2]<<2)+4|0)|0;r[a>>0]=r[e>>0]|0;r[a+1>>0]=r[e+1>>0]|0;r[a+2>>0]=r[e+2>>0]|0;r[a+3>>0]=r[e+3>>0]|0;n=VY(122267,a,0)|0;r[a>>0]=r[e>>0]|0;r[a+1>>0]=r[e+1>>0]|0;r[a+2>>0]=r[e+2>>0]|0;r[a+3>>0]=r[e+3>>0]|0;a=VY(122272,a,0)|0;cV(n,122277,280,1)|0;cV(a,122277,280,1)|0;Dh(A,n,a);mv(n,2,2147483647)|0;mv(a,2,2147483647)|0;Th(A,n,a);Sh(n,a)}else Lh(A);v=t;return}function Sh(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=(f[e+16>>2]|0)+192|0;while(1){i=f[i>>2]|0;if(!i)break;n=i+16|0;i=f[n>>2]|0;r=f[i+172>>2]|0;if(r){HW(r);i=f[n>>2]|0}r=f[i+180>>2]|0;if(r){HW(r);i=f[n>>2]|0}i=i+164|0}JY(A)|0;JY(e)|0;return}function jh(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0.0,w=0.0;B=v;v=v+272|0;u=B+104|0;b=B+136|0;l=B+72|0;c=B;a=B+144|0;f[c+48>>2]=A;switch(qp(A)|0){case 0:{i=f[A+60>>2]|0;break}case 1:{i=Fp(A)|0;break}case 2:{i=Fp(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;break}default:{}}t=c+52|0;f[t>>2]=i;s=f[i+60>>2]|0;o[c+32>>3]=+o[e+16>>3];f[c+16>>2]=f[e+4>>2];f[c+20>>2]=f[e+8>>2];f[c+40>>2]=0;n=nm(f[e>>2]|0,b,c)|0;if(!n){Qy(u,128,a);r[e+82>>0]=0;i=dP(Oh(A,u)|0)|0;f[e>>2]=i;if((f[e+12>>2]|0)==1)i=RC(i)|0;else i=zC(i,f[t>>2]|0)|0;HW(f[e>>2]|0);f[e>>2]=i;Ib(f[(f[s+16>>2]|0)+144>>2]|0,e);Vy(u);i=f[b>>2]|0}else{i=n+4|0;if((r[i>>0]|0)==1){if((f[(f[n>>2]|0)+24>>2]|0)==0?Kh(A)|0:0){t=dP(Kh(A)|0)|0;f[(f[n>>2]|0)+24>>2]=t}s=_h(s,f[n>>2]|0,0,c)|0;f[b>>2]=f[b>>2]|s;s=f[n>>2]|0;w=+o[s+64>>3]*.5;k=+o[s+72>>3]*.5;qh(l,-w,-k,w,k);s=f[n>>2]|0;f[u>>2]=f[l>>2];f[u+4>>2]=f[l+4>>2];f[u+8>>2]=f[l+8>>2];f[u+12>>2]=f[l+12>>2];f[u+16>>2]=f[l+16>>2];f[u+20>>2]=f[l+20>>2];f[u+24>>2]=f[l+24>>2];f[u+28>>2]=f[l+28>>2];$h(s,u,15)}else{Ad(f[(f[s+16>>2]|0)+144>>2]|0,f[n>>2]|0,c);u=f[n>>2]|0;k=+o[u+24>>3]*.5;w=+o[u+32>>3]*.5;qh(l,-k,-w,k,w);u=(f[n>>2]|0)+8|0;f[u>>2]=f[l>>2];f[u+4>>2]=f[l+4>>2];f[u+8>>2]=f[l+8>>2];f[u+12>>2]=f[l+12>>2];f[u+16>>2]=f[l+16>>2];f[u+20>>2]=f[l+20>>2];f[u+24>>2]=f[l+24>>2];f[u+28>>2]=f[l+28>>2]}o[e+24>>3]=+o[l+16>>3]-+o[l>>3];o[e+32>>3]=+o[l+24>>3]-+o[l+8>>3];f[e+72>>2]=n;if((r[i>>0]|0)==1){HW(f[e>>2]|0);f[e>>2]=dP(122290)|0}i=f[b>>2]|0}v=B;return i|0}function Oh(A,e){A=A|0;e=e|0;var i=0;A:do{switch(qp(A)|0){case 0:{py(e,Ap(A)|0)|0;break}case 1:{py(e,Ap(A)|0)|0;break}case 2:{py(e,Ap(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)|0;i=A+-48|0;py(e,Ap(f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0;if(!(FY(Fp(f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0)|0)|0)){py(e,122549)|0;break A}else{py(e,122546)|0;break A}}default:{}}}while(0);i=e+4|0;A=f[i>>2]|0;if(A>>>0>=(f[e+8>>2]|0)>>>0){yy(e,1)|0;A=f[i>>2]|0}r[A>>0]=0;e=f[e>>2]|0;f[i>>2]=e;return e|0}function Kh(A){A=A|0;var e=0,i=0;e=aY(A,122531)|0;if(!((e|0)!=0?(r[e>>0]|0)!=0:0))i=3;do{if((i|0)==3){e=aY(A,122540)|0;if(e|0?r[e>>0]|0:0)break;e=0}}while(0);return e|0}function _h(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0;Z=v;v=v+16|0;g=Z+8|0;d=Z;m=e+108|0;c=f[m>>2]|0;if(c|0)hh(l,c,167328);f[e+80>>2]=i;c=nd(A,e,l)|0;w=e+36|0;A=n[w>>1]|0;if(!(A&128))r[e+32>>0]=2;i=e+33|0;if(!(A&32))r[i>>0]=1;Uh(e);u=f[e+104>>2]|0;B=r[e+32>>0]|0;A=X(u+1|0,B)|0;b=a[i>>0]<<1;k=f[e+100>>2]|0;B=X(k+1|0,B)|0;s=e+96|0;A=b+A|0;i=0;while(1){if((i|0)>=(u|0))break;A=(f[(f[s>>2]|0)+(i<<2)>>2]|0)+A|0;i=i+1|0}u=e+92|0;i=B+b|0;s=0;while(1){if((s|0)>=(k|0))break;i=(f[(f[u>>2]|0)+(s<<2)>>2]|0)+i|0;s=s+1|0}u=e+38|0;do{if(n[w>>1]&1){w=n[u>>1]|0;s=w&65535;if(w<<16>>16?(h=n[e+40>>1]|0,h<<16>>16):0){if(!((A|0)>(s|0)|(i|0)>(h&65535|0))){i=0;A=0;break}Iy(0,122331,d)|0;c=1;i=0;A=0;break}Iy(0,122365,g)|0;c=1}}while(0);g=t[u>>1]|0;o[e+64>>3]=+(((A|0)>(g|0)?A:g)|0);g=t[e+40>>1]|0;o[e+72>>3]=+(((i|0)>(g|0)?i:g)|0);if(f[m>>2]|0)Mh(l,167328);v=Z;return c|0}function qh(A,e,i,r,n){A=A|0;e=+e;i=+i;r=+r;n=+n;o[A>>3]=e;o[A+8>>3]=i;o[A+16>>3]=r;o[A+24>>3]=n;return}function $h(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,c=0,s=0.0,u=0.0,b=0,B=0,k=0.0,w=0.0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0.0,J=0;W=v;v=v+64|0;V=W+32|0;N=W;Y=f[A+84>>2]|0;c=f[A+80>>2]|0;if((c|0?(t=f[c+24>>2]|0,t|0):0)?(l=A+24|0,(f[l>>2]|0)==0):0)f[l>>2]=dP(t)|0;p=A+48|0;t=e+16|0;u=+o[t>>3];s=+o[e>>3];c=~~(u-s-+(~~+o[A+64>>3]|0));if((c|0)<=-1)BA(122298,122134,1761,122308);b=e+24|0;I=+o[b>>3];B=e+8|0;k=+o[B>>3];w=+(~~+o[A+72>>3]|0);h=~~(I-k-w);if((h|0)<=-1)BA(122321,122134,1764,122308);d=n[A+36>>1]|0;l=d&65535;A:do{if(l&1){e:do{if((c|0)>0)switch(l&6){case 4:{o[t>>3]=s+w;break e}case 2:{z=+(c|0);o[t>>3]=u+z;s=s+z;o[e>>3]=s;break e}default:{z=+(c>>>1|0);s=s+z;o[e>>3]=s;o[t>>3]=u-z;break e}}}while(0);if((h|0)>0)switch(d&24){case 16:{I=k+w;o[b>>3]=I;h=0;t=0;break A}case 8:{z=+(h|0);I=I+z;o[b>>3]=I;o[B>>3]=k+z;h=0;t=0;break A}default:{z=+(h>>>1|0);o[B>>3]=k+z;I=I-z;o[b>>3]=I;h=0;t=0;break A}}else{h=0;t=0}}else t=c}while(0);u=+(a[A+33>>0]|0);Q=A+32|0;g=r[Q>>0]|0;k=+(g<<24>>24);y=A+104|0;c=f[y>>2]|0;d=(t|0)/(c|0)|0;b=t-(X(d,c)|0)|0;b=~~(((b|0)>-1?.5:-.5)+ +(b|0));E=A+96|0;B=g<<24>>24;t=~~(s+u+k);l=0;while(1){if((l|0)>(c|0))break;M=(f[E>>2]|0)+(l<<2)|0;c=f[M>>2]|0;f[M>>2]=t;t=t+d+((l|0)<(b|0)&1)+c+B|0;l=l+1|0;c=f[y>>2]|0}M=A+100|0;c=f[M>>2]|0;d=(h|0)/(c|0)|0;B=h-(X(d,c)|0)|0;B=~~(((B|0)>-1?.5:-.5)+ +(B|0));C=A+92|0;b=g<<24>>24;t=~~(I-u-k);l=0;while(1){if((l|0)>(c|0))break;G=(f[C>>2]|0)+(l<<2)|0;c=f[G>>2]|0;f[G>>2]=t;t=t-d+(((l|0)<(B|0))<<31>>31)-c-b|0;l=l+1|0;c=f[M>>2]|0}g=(i|0)==0;m=N+16|0;Z=N+24|0;G=N+8|0;t=Y;while(1){b=f[t>>2]|0;if(!b)break;c=n[b+84>>1]|0;if(g){l=0;B=n[b+80>>1]|0;h=n[b+86>>1]|0;d=n[b+82>>1]|0}else{l=c<<16>>16==0?8:0;h=n[b+86>>1]|0;l=h<<16>>16==0?l|4:l;B=n[b+80>>1]|0;d=n[b+82>>1]|0;l=(((B&65535)+(c&65535)|0)==(f[y>>2]|0)?l|2:l)|((d&65535)+(h&65535)|0)==(f[M>>2]|0)}J=f[E>>2]|0;c=c&65535;o[N>>3]=+(f[J+(c<<2)>>2]|0);Y=r[Q>>0]|0;o[m>>3]=+((f[J+((B&65535)+c<<2)>>2]|0)-Y|0);B=f[C>>2]|0;o[Z>>3]=+(f[B+((h&65535)<<2)>>2]|0);o[G>>3]=+((f[B+((d&65535)+(h&65535)<<2)>>2]|0)+Y|0);f[V>>2]=f[N>>2];f[V+4>>2]=f[N+4>>2];f[V+8>>2]=f[N+8>>2];f[V+12>>2]=f[N+12>>2];f[V+16>>2]=f[N+16>>2];f[V+20>>2]=f[N+20>>2];f[V+24>>2]=f[N+24>>2];f[V+28>>2]=f[N+28>>2];ed(b,V,l&i);t=t+4|0}r[A+35>>0]=i;f[p>>2]=f[e>>2];f[p+4>>2]=f[e+4>>2];f[p+8>>2]=f[e+8>>2];f[p+12>>2]=f[e+12>>2];f[p+16>>2]=f[e+16>>2];f[p+20>>2]=f[e+20>>2];f[p+24>>2]=f[e+24>>2];f[p+28>>2]=f[e+28>>2];v=W;return}function Ad(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,t=0,l=0.0,c=0.0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0,h=0.0,d=0.0,g=0.0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0.0,D=0.0,X=0.0;L=v;v=v+112|0;N=L+48|0;W=L+16|0;z=L;f[W>>2]=0;f[W+4>>2]=0;f[W+8>>2]=0;f[W+12>>2]=0;f[W+16>>2]=0;f[W+20>>2]=0;f[W+24>>2]=0;f[W+28>>2]=0;J=e+4|0;P=i+16|0;R=i+32|0;H=W+16|0;w=n[J>>1]|0;u=w<<16>>16;a=0;l=-1.0;s=0;while(1){if((s|0)>=(u|0)){a=1;break}t=f[e>>2]|0;if((n[t+(s*24|0)+4>>1]|0)>1){a=0;break}t=f[(f[t+(s*24|0)>>2]|0)+4>>2]|0;if(!t){c=+o[R>>3];o[H>>3]=c;t=P}else{if(f[t+24>>2]&127|0){a=0;break}c=+o[(+o[t+16>>3]>0.0?t:P)+16>>3];o[H>>3]=c;t=(f[t>>2]|0)==0?P:t}t=f[t>>2]|0;f[W>>2]=t;if(!(l==-1.0)){if(c!=l){a=0;break}}else l=c;if(a){if(oz(t,a)|0){a=0;break}}else a=t;s=s+1|0}r[e+6>>0]=a;Y=i+48|0;p=i+20|0;V=W+4|0;Z=i+40|0;G=W+24|0;I=A+144|0;C=N+4|0;m=z+8|0;M=N+16|0;E=N+24|0;Q=N+8|0;y=N+12|0;i=(a|0)==0;l=0.0;h=0.0;d=0.0;g=0.0;u=0;a=w;while(1){if((u|0)>=(a<<16>>16|0))break;c=0.0;k=0.0;s=0;B=0.0;l=0.0;t=f[e>>2]|0;while(1){if((s|0)>=(n[t+(u*24|0)+4>>1]|0))break;f[N>>2]=pb(f[(f[t+(u*24|0)>>2]|0)+(s*56|0)>>2]|0,f[Y>>2]|0)|0;t=(f[e>>2]|0)+(u*24|0)|0;a=f[(f[t>>2]|0)+(s*56|0)+4>>2]|0;if(!a){o[H>>3]=+o[R>>3];f[W>>2]=f[P>>2];f[V>>2]=f[p>>2];f[G>>2]=f[G>>2]&-128|f[Z>>2]&127}else{a=f[a+24>>2]&127;if(!a)a=f[Z>>2]&127;f[G>>2]=f[G>>2]&-128|a;w=f[(f[t>>2]|0)+(s*56|0)+4>>2]|0;o[H>>3]=+o[(+o[w+16>>3]>0.0?w:P)+16>>3];f[W>>2]=f[((f[w>>2]|0)==0?P:w)>>2];f[V>>2]=f[((f[w+4>>2]|0)==0?P:w)+4>>2]}t=f[I>>2]|0;f[C>>2]=mL[f[t>>2]&31](t,W,1)|0;yI(z,A,N);D=+o[z>>3];b=+o[m>>3];HW(f[(f[(f[e>>2]|0)+(u*24|0)>>2]|0)+(s*56|0)>>2]|0);t=f[e>>2]|0;w=f[t+(u*24|0)>>2]|0;f[w+(s*56|0)>>2]=f[N>>2];o[w+(s*56|0)+32>>3]=D;o[w+(s*56|0)+16>>3]=+o[M>>3];o[w+(s*56|0)+24>>3]=+o[E>>3];f[w+(s*56|0)+4>>2]=f[C>>2];f[w+(s*56|0)+8>>2]=f[Q>>2];f[w+(s*56|0)+12>>2]=f[y>>2];F=+o[H>>3];X=+o[E>>3];c=X>c?X:c;k=D+k;s=s+1|0;B=F>B?F:B;l=b>l?b:l}o[t+(u*24|0)+8>>3]=k;a=(u|0)==0;do{if(i)if(a){b=B;c=B-c;a=t;break}else{b=B;c=d-g+B-c;a=t+(u*24|0)|0;break}else{b=l;c=a?B:l;a=t+(u*24|0)|0}}while(0);o[a+16>>3]=c;h=k>h?k:h;d=b+d;g=+o[t+(u*24|0)+16>>3]+g;u=u+1|0;a=n[J>>1]|0}o[e+24>>3]=h;o[e+32>>3]=a<<16>>16==1?l:d;v=L;return}function ed(A,e,i){A=A|0;e=e|0;i=i|0;var t=0,l=0,c=0.0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0.0,M=0.0;I=v;v=v+64|0;m=I+32|0;G=I;l=A+24|0;if((f[l>>2]|0)==0?(t=f[(f[A+96>>2]|0)+24>>2]|0,t|0):0)f[l>>2]=dP(t)|0;d=A+36|0;Z=n[d>>1]|0;t=Z&65535;A:do{if(t&1){c=+o[A+64>>3];k=+o[A+72>>3];l=e+16|0;s=+o[l>>3];b=+o[e>>3];u=s-b-c;e:do{if(u>0.0)switch(t&6){case 4:{s=b+c;o[l>>3]=s;c=b;break e}case 2:{s=u+s;o[l>>3]=s;c=b+u;o[e>>3]=c;break e}default:{B=u*.5;c=B+b;o[e>>3]=c;s=s-B;o[l>>3]=s;break e}}else c=b}while(0);t=e+24|0;B=+o[t>>3];l=e+8|0;u=+o[l>>3];b=B-u-k;if(b>0.0)switch(Z&24){case 16:{b=u+k;o[t>>3]=b;break A}case 8:{k=b+B;o[t>>3]=k;u=u+b;o[l>>3]=u;b=k;break A}default:{b=b*.5;u=b+u;o[l>>3]=u;b=B-b;o[t>>3]=b;break A}}else b=B}else{c=+o[e>>3];u=+o[e+8>>3];s=+o[e+16>>3];b=+o[e+24>>3]}}while(0);h=A+48|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];f[h+24>>2]=f[e+24>>2];f[h+28>>2]=f[e+28>>2];r[A+35>>0]=i;M=+(a[A+33>>0]|0);C=+(a[A+34>>0]|0);B=c+M+C;o[G>>3]=B;k=u+M+C;h=G+8|0;o[h>>3]=k;u=s-M-C;e=G+16|0;o[e>>3]=u;b=b-M-C;w=G+24|0;o[w>>3]=b;l=A+88|0;switch(r[A+92>>0]|0){case 1:{Z=f[l>>2]|0;f[m>>2]=f[G>>2];f[m+4>>2]=f[G+4>>2];f[m+8>>2]=f[G+8>>2];f[m+12>>2]=f[G+12>>2];f[m+16>>2]=f[G+16>>2];f[m+20>>2]=f[G+20>>2];f[m+24>>2]=f[G+24>>2];f[m+28>>2]=f[G+28>>2];$h(Z,m,i);break}case 3:{t=f[l>>2]|0;c=+o[t+24>>3];s=u-B-+o[t+16>>3];A:do{if(s>0.0)switch(Z&6){case 4:{o[e>>3]=u-s;break A}case 2:{o[G>>3]=s+B;break A}default:break A}}while(0);c=b-k-c;A:do{if(c>0.0)switch(Z&24){case 16:{o[w>>3]=b-c;break A}case 8:{o[h>>3]=c+k;break A}default:break A}}while(0);f[m>>2]=f[G>>2];f[m+4>>2]=f[G+4>>2];f[m+8>>2]=f[G+8>>2];f[m+12>>2]=f[G+12>>2];f[m+16>>2]=f[G+16>>2];f[m+20>>2]=f[G+20>>2];f[m+24>>2]=f[G+24>>2];f[m+28>>2]=f[G+28>>2];id(t,m);break}default:{t=f[l>>2]|0;c=+o[t+32>>3];s=u-B-+o[t+24>>3];A:do{if(s>0.0?(g=Z&6,g<<16>>16!=6):0)switch(g&7){case 4:{o[e>>3]=u-s;break A}case 2:{o[G>>3]=s+B;break A}default:{M=s*.5;o[G>>3]=M+B;o[e>>3]=u-M;break A}}}while(0);c=b-k-c;A:do{if(c>0.0)switch(Z&24){case 16:{o[w>>3]=b-c;break A}case 8:{o[h>>3]=c+k;break A}default:{M=c*.5;o[h>>3]=M+k;o[w>>3]=b-M;break A}}}while(0);Z=t+8|0;f[Z>>2]=f[G>>2];f[Z+4>>2]=f[G+4>>2];f[Z+8>>2]=f[G+8>>2];f[Z+12>>2]=f[G+12>>2];f[Z+16>>2]=f[G+16>>2];f[Z+20>>2]=f[G+20>>2];f[Z+24>>2]=f[G+24>>2];f[Z+28>>2]=f[G+28>>2];G=n[d>>1]&768;rd(f[l>>2]|0,(G&1023)==512?108:(G&1023)==256?114:110)}}v=I;return}function id(A,e){A=A|0;e=e|0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];f[A+16>>2]=f[e+16>>2];f[A+20>>2]=f[e+20>>2];f[A+24>>2]=f[e+24>>2];f[A+28>>2]=f[e+28>>2];return}function rd(A,e){A=A|0;e=e|0;var i=0,a=0,t=0;a=n[A+4>>1]|0;i=0;while(1){if((i|0)>=(a|0))break;t=(f[A>>2]|0)+(i*24|0)+6|0;if(!(r[t>>0]|0))r[t>>0]=e;i=i+1|0}return}function nd(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;s=e+84|0;d=f[s>>2]|0;g=Jm()|0;m=ld()|0;l=0;a=0;o=uy(d)|0;while(1){if(!o)break;c=uy(f[o+8>>2]|0)|0;while(1){if(!c)break;c=f[c>>2]|0;l=l+1|0}a=a+1|0;if(r[o+12>>0]|0)ud(m,a);o=f[o>>2]|0}a=Jb((l<<2)+4|0)|0;f[s>>2]=a;l=0;c=0;o=0;k=0;w=uy(d)|0;while(1){if(!w)break;h=k&65535;B=0;v=uy(f[w+8>>2]|0)|0;while(1){if(!v)break;b=f[v+8>>2]|0;f[a>>2]=b;o=fd(A,b,e,i)|0|o;s=ad(g,k,B,b)|0;n[b+86>>1]=h;n[b+84>>1]=s;s=s+(t[b+80>>1]|0)|0;u=k+(t[b+82>>1]|0)|0;if(bd(m,u)|0){B=b+100|0;r[B>>0]=r[B>>0]|2}B=s;a=a+4|0;v=f[v>>2]|0;l=(s|0)>(l|0)?s:l;c=(u|0)>(c|0)?u:c}k=k+1|0;w=f[w>>2]|0}f[e+100>>2]=c;f[e+104>>2]=l;ly(d)|0;ly(m)|0;Hm(g);return o|0}function fd(A,e,i,l){A=A|0;e=e|0;i=i|0;l=l|0;var c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0.0;g=v;v=v+16|0;d=g+8|0;h=g;f[e+96>>2]=i;k=e+36|0;b=n[k>>1]|0;if(!(b&64)){if(!(n[i+36>>1]&64))u=2;else u=r[i+34>>0]|0;r[e+34>>0]=u}if(!(b&32)){u=r[i+88>>0]|0;if(u<<24>>24<=-1)if(!(n[i+36>>1]&32))u=1;else u=r[i+33>>0]|0;r[e+33>>0]=u}u=e+88|0;B=e+92|0;switch(r[B>>0]|0){case 1:{b=_h(A,f[u>>2]|0,e,l)|0;i=f[u>>2]|0;u=b;b=i+64|0;i=i+72|0;break}case 3:{b=td(f[u>>2]|0,l)|0;i=f[u>>2]|0;u=b;b=i+16|0;i=i+24|0;break}default:{Ad(f[(f[A+16>>2]|0)+144>>2]|0,f[u>>2]|0,l);i=f[u>>2]|0;u=0;b=i+24|0;i=i+32|0}}c=+((a[e+33>>0]|0)+(a[e+34>>0]|0)<<1|0);s=+o[b>>3]+c;c=+o[i>>3]+c;i=e+38|0;do{if(n[k>>1]&1){b=n[i>>1]|0;if(b<<16>>16?(w=n[e+40>>1]|0,w<<16>>16):0){if(!(s>+(b&65535)|c>+(w&65535))){s=0.0;c=0.0;break}if((r[B>>0]|0)==3){s=0.0;c=0.0;break}Iy(0,122416,h)|0;u=1;s=0.0;c=0.0;break}Iy(0,122449,d)|0;u=1}}while(0);m=+(t[i>>1]|0);o[e+64>>3]=s>m?s:m;s=+(t[e+40>>1]|0);o[e+72>>3]=c>s?c:s;v=g;return u|0}function ad(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,f=0,a=0,l=0,c=0;c=r+80|0;l=(t[c>>1]|0)+-1|0;a=0;A:while(1){n=i;while(1){if(a)break A;f=l+n|0;while(1){if((f|0)<(n|0)){i=n;a=1;continue A}if(xm(A,f,e)|0)break;f=f+-1|0}n=f+1|0}}a=r+82|0;n=i;while(1){if((n|0)<(i+(t[c>>1]|0)|0))f=e;else break;while(1){if((f|0)>=((t[a>>1]|0)+e|0))break;Dm(A,n,f);f=f+1|0}n=n+1|0}return i|0}function td(A,e){A=A|0;e=e|0;var i=0.0,n=0.0,a=0,t=0,l=0,c=0,s=0;s=v;v=v+16|0;l=s;t=s+8|0;e=e+52|0;a=A+32|0;ec(t,f[e>>2]|0,f[a>>2]|0);c=f[t>>2]|0;t=f[t+4>>2]|0;if((t&c|0)==-1){f[l>>2]=f[a>>2];Iy(1,122499,l)|0;e=1;n=0.0;i=0.0}else{r[(f[(f[e>>2]|0)+16>>2]|0)+114>>0]=1;e=0;n=+(t|0);i=+(c|0)}f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0;o[A+16>>3]=i;o[A+24>>3]=n;v=s;return e|0}function ld(){return vy(54908,f[4345]|0)|0}function cd(A,e,i){A=A|0;e=e|0;i=i|0;i=Jb(12)|0;f[i>>2]=f[e>>2];return i|0}function od(A,e,i){A=A|0;e=e|0;i=i|0;HW(e);return}function sd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=f[e>>2]|0;r=f[i>>2]|0;return((e|0)>(r|0)?1:((e|0)<(r|0))<<31>>31)|0}function ud(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;mL[f[A>>2]&31](A,r,1)|0;v=i;return}function bd(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;e=(mL[f[A>>2]&31](A,r,512)|0)!=0&1;v=i;return e|0}function vd(A){A=A|0;var e=0;if(!(f[42419]|0)){e=Jb((A<<2)+4|0)|0;f[42419]=e;f[e>>2]=169680;f[42430]=A}f[42431]=0;return}function Bd(){HW(f[42419]|0);f[42419]=0;f[42431]=0;return}function kd(){f[42431]=0;return}function wd(){var A=0,e=0,i=0;e=f[42431]|0;i=f[42419]|0;A=1;while(1){if((A|0)>(e|0)){A=5;break}if((f[(f[i+(A<<2)>>2]|0)+4>>2]|0)==(A|0))A=A+1|0;else{A=4;break}}if((A|0)==4)BA(123205,122552,59,122558);else if((A|0)==5)return}function hd(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;n=f[42419]|0;a=f[n+(A<<2)>>2]|0;t=f[a>>2]|0;while(1){e=(A|0)/2|0;i=f[n+(e<<2)>>2]|0;r=n+(A<<2)|0;if((f[i>>2]|0)>=(t|0))break;f[r>>2]=i;f[i+4>>2]=A;A=e}f[r>>2]=a;f[a+4>>2]=A;return}function dd(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=f[42431]|0;if((e|0)==(f[42430]|0)){Iy(1,122566,i)|0;A=1}else{e=e+1|0;f[42431]=e;f[(f[42419]|0)+(e<<2)>>2]=A;hd(e);wd();A=0}v=i;return A|0}function gd(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;r=f[42419]|0;n=f[r+(A<<2)>>2]|0;a=f[n>>2]|0;t=f[42431]|0;l=(t|0)/2|0;while(1){if((A|0)>(l|0))break;i=A<<1;e=f[r+(i<<2)>>2]|0;if((i|0)<(t|0)){s=i|1;c=f[r+(s<<2)>>2]|0;o=(f[e>>2]|0)<(f[c>>2]|0);i=o?s:i;e=o?c:e}if((a|0)>=(f[e>>2]|0))break;f[r+(A<<2)>>2]=e;f[e+4>>2]=A;A=i}f[r+(A<<2)>>2]=n;f[n+4>>2]=A;return}function md(){var A=0,e=0,i=0,r=0;e=f[42431]|0;if(!e)A=0;else{r=f[42419]|0;i=r+4|0;A=f[i>>2]|0;f[i>>2]=f[r+(e<<2)>>2];e=e+-1|0;f[42431]=e;if(e|0)gd(1);wd()}return A|0}function Zd(A,e){A=A|0;e=e|0;f[A>>2]=e;hd(f[A+4>>2]|0);wd();return}function Gd(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,v=0;u=A+16|0;l=f[u>>2]|0;l=(r[l+((f[i+12>>2]|0)*40|0)+36>>0]|0)!=(r[l+((f[i+16>>2]|0)*40|0)+36>>0]|0);c=~~((+o[e+64>>3]+-3.0-+o[e+48>>3])*.5);s=~~((+o[e+56>>3]+-3.0-+o[e+40>>3])*.5);a=(c|0)<(s|0)?c:s;b=e+4|0;n=0;while(1){A=f[b>>2]|0;if((n|0)>=(A|0)){a=n;break}t=f[e+8+(n<<2)>>2]|0;v=f[u>>2]|0;if((r[v+((f[t+12>>2]|0)*40|0)+36>>0]|0)==(r[v+((f[t+16>>2]|0)*40|0)+36>>0]|0)){a=n;break}Id(t,a);n=n+1|0}while(1){if((a|0)>=(A|0))break;n=f[e+8+(a<<2)>>2]|0;if(l|(n|0)==(i|0)){Id(n,r[(f[u>>2]|0)+((f[n+12>>2]|0)*40|0)+36>>0]|0?c:s);A=f[b>>2]|0}a=a+1|0}return}function Id(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+8|0;r=f[i>>2]|0;f[i>>2]=r+1;if((r|0)>=(e|0)){f[i>>2]=0;o[A>>3]=+o[A>>3]+16384.0}return}function Cd(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0,C=0.0,M=0.0,E=0.0,Q=0,y=0,Y=0.0;G=v;v=v+112|0;g=G+64|0;d=G+96|0;s=G+32|0;m=G;Z=Jb(28)|0;e=PY(A)|0;h=Z+4|0;f[h>>2]=e;e=Jb(e*72|0)|0;w=Z+12|0;f[w>>2]=e;r=m+8|0;o[r>>3]=1797693134862315708145274.0e284;o[m>>3]=1797693134862315708145274.0e284;n=m+24|0;o[n>>3]=-1797693134862315708145274.0e284;a=m+16|0;o[a>>3]=-1797693134862315708145274.0e284;t=s+16|0;l=s+8|0;c=s+24|0;i=Ep(A)|0;u=1797693134862315708145274.0e284;b=1797693134862315708145274.0e284;B=-1797693134862315708145274.0e284;k=-1797693134862315708145274.0e284;while(1){if(!i)break;Q=i+16|0;y=f[Q>>2]|0;C=(+o[y+96>>3]+ +o[y+88>>3])*.5;C=C<1.0?1.0:C;I=+o[y+80>>3]*.5;I=I<1.0?1.0:I;Y=+o[y+16>>3];E=Y-C;o[s>>3]=E;C=Y+C;o[t>>3]=C;Y=+o[y+24>>3];M=Y-I;o[l>>3]=M;I=Y+I;o[c>>3]=I;E=+o[(u>3];o[m>>3]=E;M=+o[(b>3];o[r>>3]=M;C=+o[(B>C?m:s)+16>>3];o[a>>3]=C;I=+o[(k>I?m:s)+24>>3];o[n>>3]=I;y=e+40|0;f[y>>2]=f[s>>2];f[y+4>>2]=f[s+4>>2];f[y+8>>2]=f[s+8>>2];f[y+12>>2]=f[s+12>>2];f[y+16>>2]=f[s+16>>2];f[y+20>>2]=f[s+20>>2];f[y+24>>2]=f[s+24>>2];f[y+28>>2]=f[s+28>>2];f[e>>2]=f[e>>2]|1;f[(f[Q>>2]|0)+112>>2]=e;e=e+72|0;i=Qp(A,i)|0;u=E;b=M;B=C;k=I}o[m>>3]=u+-36.0;o[r>>3]=b+-36.0;o[a>>3]=B+36.0;o[n>>3]=k+36.0;y=f[w>>2]|0;n=f[h>>2]|0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];f[g+16>>2]=f[m+16>>2];f[g+20>>2]=f[m+20>>2];f[g+24>>2]=f[m+24>>2];f[g+28>>2]=f[m+28>>2];n=zd(y,n,d,g)|0;if(f[42367]&1|0){w=f[w>>2]|0;Q=f[h>>2]|0;y=f[d>>2]|0;f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];f[g+16>>2]=f[m+16>>2];f[g+20>>2]=f[m+20>>2];f[g+24>>2]=f[m+24>>2];f[g+28>>2]=f[m+28>>2];Md(w,Q,g,n,y)}r=Z+8|0;f[r>>2]=Jb((f[d>>2]|0)*72|0)|0;f[Z>>2]=f[d>>2];i=f[d>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;y=(f[r>>2]|0)+(e*72|0)+40|0;Q=n+(e<<5)|0;f[y>>2]=f[Q>>2];f[y+4>>2]=f[Q+4>>2];f[y+8>>2]=f[Q+8>>2];f[y+12>>2]=f[Q+12>>2];f[y+16>>2]=f[Q+16>>2];f[y+20>>2]=f[Q+20>>2];f[y+24>>2]=f[Q+24>>2];f[y+28>>2]=f[Q+28>>2];e=e+1|0}HW(n);f[g>>2]=f[m>>2];f[g+4>>2]=f[m+4>>2];f[g+8>>2]=f[m+8>>2];f[g+12>>2]=f[m+12>>2];f[g+16>>2]=f[m+16>>2];f[g+20>>2]=f[m+20>>2];f[g+24>>2]=f[m+24>>2];f[g+28>>2]=f[m+28>>2];f[Z+16>>2]=Ed(Z,g)|0;v=G;return Z|0}function Md(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0.0,t=0,l=0,c=0.0,s=0.0,u=0.0,b=0,B=0,k=0,w=0,h=0,d=0.0,g=0.0,m=0.0;k=v;v=v+128|0;B=k+96|0;b=k+64|0;l=k+32|0;w=k+16|0;h=k;s=+o[i+16>>3];u=+o[i>>3];c=+o[i+24>>3];a=+o[i+8>>3];t=f[13918]|0;zP(122581,t)|0;f[h>>2]=10;f[h+4>>2]=10;f[h+8>>2]=~~(s+10.0-u);f[h+12>>2]=~~(c+10.0-a);uP(t,123011,h)|0;o[w>>3]=10.0-u;o[w+8>>3]=10.0-a;uP(t,123059,w)|0;zP(123076,t)|0;i=0;while(1){if((i|0)>=(e|0))break;m=+o[A+(i*72|0)+48>>3];g=+o[A+(i*72|0)+56>>3];d=+o[A+(i*72|0)+64>>3];o[l>>3]=+o[A+(i*72|0)+40>>3];o[l+8>>3]=m;o[l+16>>3]=g;o[l+24>>3]=d;uP(t,123095,l)|0;i=i+1|0}zP(123113,t)|0;i=0;while(1){if((i|0)>=(n|0))break;d=+o[r+(i<<5)+8>>3];g=+o[r+(i<<5)+16>>3];m=+o[r+(i<<5)+24>>3];o[b>>3]=+o[r+(i<<5)>>3];o[b+8>>3]=d;o[b+16>>3]=g;o[b+24>>3]=m;uP(t,123132,b)|0;i=i+1|0}zP(123150,t)|0;o[B>>3]=u;o[B+8>>3]=a;o[B+16>>3]=s;o[B+24>>3]=c;uP(t,123132,B)|0;zP(122897,t)|0;v=k;return}function Ed(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0;M=v;v=v+32|0;d=M+16|0;c=M;Z=f[A>>2]|0;I=_B(Z<<2|2)|0;C=vy(54944,f[4345]|0)|0;m=vy(54980,f[4345]|0)|0;Z=Jb(Z<<7)|0;n=Jb(f[A>>2]<<4)|0;G=A+8|0;a=e+16|0;t=c+8|0;l=e+24|0;s=e+8|0;i=0;while(1){if((i|0)>=(f[A>>2]|0))break;u=f[G>>2]|0;b=u+(i*72|0)|0;f[u+(i*72|0)+32>>2]=4;B=u+(i*72|0)+36|0;f[B>>2]=n+(i<<2<<2);k=u+(i*72|0)+40|0;r=+o[u+(i*72|0)+56>>3];if(r<+o[a>>3]){o[c>>3]=r;o[t>>3]=+o[u+(i*72|0)+48>>3];f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];h=Qd(I,C,d,Z,1)|0;f[h+20>>2]=b;f[f[B>>2]>>2]=h}r=+o[u+(i*72|0)+64>>3];if(r<+o[l>>3]){o[c>>3]=+o[k>>3];o[t>>3]=r;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];h=Qd(I,m,d,Z,0)|0;f[h+20>>2]=b;f[(f[B>>2]|0)+4>>2]=h}if(+o[k>>3]>+o[e>>3]){f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[d+12>>2]=f[k+12>>2];h=Qd(I,C,d,Z,1)|0;f[h+24>>2]=b;f[(f[B>>2]|0)+8>>2]=h}if(+o[u+(i*72|0)+48>>3]>+o[s>>3]){f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[d+12>>2]=f[k+12>>2];h=Qd(I,m,d,Z,0)|0;f[h+24>>2]=b;f[(f[B>>2]|0)+12>>2]=h}i=i+1|0}b=Jb(f[I>>2]<<2)|0;w=A+4|0;h=A+12|0;B=d+8|0;s=0;k=0;u=0;while(1){i=f[w>>2]|0;if((u|0)>=(i|0)){e=0;break}a=f[h>>2]|0;t=a+(u*72|0)|0;l=a+(u*72|0)+36|0;f[l>>2]=b+(s<<2);e=a+(u*72|0)+40|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=a+(u*72|0)+56|0;c=a+(u*72|0)+32|0;i=mL[f[m>>2]&31](m,d,512)|0;while(1){if(!i)break;if(!(+o[i+8>>3]<+o[e>>3]))break;Q=f[i>>2]|0;E=f[l>>2]|0;n=f[c>>2]|0;f[c>>2]=n+1;f[E+(n<<2)>>2]=Q;f[(f[i>>2]|0)+24>>2]=t;i=mL[f[m>>2]&31](m,i,8)|0}n=a+(u*72|0)+64|0;i=mL[f[C>>2]&31](C,d,512)|0;while(1){if(!i){g=20;break}r=+o[n>>3];if(!(+o[i+16>>3]>2]|0;E=f[l>>2]|0;Q=f[c>>2]|0;f[c>>2]=Q+1;f[E+(Q<<2)>>2]=e;f[(f[i>>2]|0)+24>>2]=t;i=mL[f[C>>2]&31](C,i,8)|0}if((g|0)==20){g=0;r=+o[n>>3]}o[B>>3]=r;e=a+(u*72|0)+56|0;i=mL[f[m>>2]&31](m,d,512)|0;while(1){if(!i){g=25;break}r=+o[e>>3];if(!(+o[i+8>>3]>2]|0;E=f[l>>2]|0;Q=f[c>>2]|0;f[c>>2]=Q+1;f[E+(Q<<2)>>2]=y;f[(f[i>>2]|0)+20>>2]=t;i=mL[f[m>>2]&31](m,i,8)|0}if((g|0)==25){g=0;r=+o[e>>3]}o[d>>3]=r;o[B>>3]=+o[a+(u*72|0)+48>>3];i=mL[f[C>>2]&31](C,d,512)|0;while(1){if(!i)break;if(!(+o[i+16>>3]<+o[n>>3]))break;E=f[i>>2]|0;Q=f[l>>2]|0;y=f[c>>2]|0;f[c>>2]=y+1;f[Q+(y<<2)>>2]=E;f[(f[i>>2]|0)+20>>2]=t;i=mL[f[C>>2]&31](C,i,8)|0}y=f[c>>2]|0;s=y+s|0;k=(y|0)>(k|0)?y:k;u=u+1|0}while(1){if((e|0)>=(i|0))break;yd((f[h>>2]|0)+(e*72|0)|0);e=e+1|0;i=f[w>>2]|0}i=f[I>>2]|0;y=f[I+16>>2]|0;f[y+(i*40|0)+32>>2]=i;i=i+1|0;f[y+(i*40|0)+32>>2]=i;KB(I,k);i=0;while(1){if((i|0)>=(f[A>>2]|0))break;Yd((f[G>>2]|0)+(i*72|0)|0,I);i=i+1|0}ly(C)|0;ly(m)|0;HW(Z);pd(I);jB(I);v=M;return I|0}function Qd(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0;t=mL[f[e>>2]&31](e,i,512)|0;do{if(!t){A=qB(A)|0;if(!n)BA(122994,122942,291,123001);else{t=f[A+32>>2]|0;l=n+(t<<5)|0;n=n+(t<<5)+8|0;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];f[l>>2]=A;r[A+36>>0]=a;mL[f[e>>2]&31](e,l,1)|0;break}}else l=t}while(0);return f[l>>2]|0}function yd(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;A:do{if((+o[A+64>>3]+-3.0-+o[A+48>>3])*.5<2.0){t=f[A+32>>2]|0;l=A+36|0;a=0;while(1){if((a|0)>=(t|0))break A;e=f[(f[l>>2]|0)+(a<<2)>>2]|0;e:do{if(r[e+36>>0]|0){n=f[e+20>>2]|0;if((n|0)==(A|0)){i=f[e+24>>2]|0;e=i;i=f[i>>2]|0;do{f[e>>2]=i|8;e=f[f[e+36>>2]>>2]|0;if(!e)break e;e=f[e+24>>2]|0;i=f[e>>2]|0}while(!(i&1|0))}else{i=n;e=f[n>>2]|0;do{f[i>>2]=e|8;e=f[(f[i+36>>2]|0)+8>>2]|0;if(!e)break e;i=f[e+20>>2]|0;e=f[i>>2]|0}while(!(e&1|0))}}}while(0);a=a+1|0}}}while(0);A:do{if((+o[A+56>>3]+-3.0-+o[A+40>>3])*.5<2.0){t=f[A+32>>2]|0;l=A+36|0;a=0;while(1){if((a|0)>=(t|0))break A;e=f[(f[l>>2]|0)+(a<<2)>>2]|0;e:do{if(!(r[e+36>>0]|0)){n=f[e+20>>2]|0;if((n|0)==(A|0)){i=f[e+24>>2]|0;e=i;i=f[i>>2]|0;do{f[e>>2]=i|16;e=f[(f[e+36>>2]|0)+4>>2]|0;if(!e)break e;e=f[e+24>>2]|0;i=f[e>>2]|0}while(!(i&1|0))}else{i=n;e=f[n>>2]|0;do{f[i>>2]=e|16;e=f[(f[i+36>>2]|0)+12>>2]|0;if(!e)break e;i=f[e+20>>2]|0;e=f[i>>2]|0}while(!(e&1|0))}}}while(0);a=a+1|0}}}while(0);return}function Yd(A,e){A=A|0;e=e|0;var i=0,r=0,n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0,v=0,B=0.0,k=0;a=+o[A+56>>3]-+o[A+40>>3];t=+o[A+64>>3]-+o[A+48>>3];n=(t+a)*.5+500.0;if((t+-3.0)*.5<2.0){s=(f[A>>2]&8|0)==0;n=s?16384.0:n;B=s?16384.0:a}else B=a;if((a+-3.0)*.5<2.0){s=(f[A>>2]&16|0)==0;t=s?16384.0:t;n=s?16384.0:n}s=A+36|0;i=f[s>>2]|0;r=f[i+8>>2]|0;if((r|0)!=0?(l=f[i+4>>2]|0,(l|0)!=0):0){l=$B(e,r,l,n)|0;r=A+4|0;i=f[r>>2]|0;f[r>>2]=i+1;f[A+8+(i<<2)>>2]=l;i=f[s>>2]|0}r=f[i+4>>2]|0;if((r|0)!=0?(c=f[i>>2]|0,(c|0)!=0):0){c=$B(e,r,c,n)|0;l=A+4|0;i=f[l>>2]|0;f[l>>2]=i+1;f[A+8+(i<<2)>>2]=c;i=f[s>>2]|0}r=f[i+8>>2]|0;if((r|0)!=0?(u=f[i+12>>2]|0,(u|0)!=0):0){u=$B(e,r,u,n)|0;c=A+4|0;i=f[c>>2]|0;f[c>>2]=i+1;f[A+8+(i<<2)>>2]=u;i=f[s>>2]|0}r=f[i+12>>2]|0;if((r|0)!=0?(b=f[i>>2]|0,(b|0)!=0):0){b=$B(e,r,b,n)|0;u=A+4|0;i=f[u>>2]|0;f[u>>2]=i+1;f[A+8+(i<<2)>>2]=b;i=f[s>>2]|0}r=f[i+4>>2]|0;if((r|0)!=0?(v=f[i+12>>2]|0,(v|0)!=0):0){v=$B(e,r,v,t)|0;b=A+4|0;i=f[b>>2]|0;f[b>>2]=i+1;f[A+8+(i<<2)>>2]=v;i=f[s>>2]|0}r=f[i+8>>2]|0;if(r|0?(k=f[i>>2]|0,k|0):0){e=$B(e,r,k,B)|0;v=A+4|0;k=f[v>>2]|0;f[v>>2]=k+1;f[A+8+(k<<2)>>2]=e}return}function pd(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;l=c+8|0;t=c;n=A+16|0;a=f[13918]|0;r=0;while(1){if((r|0)>=(f[A>>2]|0)){e=10;break}e=f[n>>2]|0;i=e+(r*40|0)+20|0;if((f[i>>2]|0)==0?(f[t>>2]=r,uP(a,122907,t)|0,(f[i>>2]|0)==0):0){e=5;break}e=e+(r*40|0)+24|0;if((f[e>>2]|0)==0?(f[l>>2]=r,uP(a,122959,l)|0,(f[e>>2]|0)==0):0){e=8;break}r=r+1|0}if((e|0)==5)BA(122929,122942,311,122949);else if((e|0)==8)BA(122981,122942,313,122949);else if((e|0)==10){v=c;return}}function Vd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,f=0.0;n=+o[e+8>>3];f=+o[i+8>>3];if(!(n>f))if(!(n>3];n=+o[i>>3];if(f>n)A=1;else A=(f>31}else A=-1;else A=1;return A|0}function Nd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,f=0.0;n=+o[e>>3];f=+o[i>>3];if(!(n>f))if(!(n>3];n=+o[i+8>>3];if(f>n)A=1;else A=(f>31}else A=-1;else A=1;return A|0}function Wd(A){A=A|0;var e=0,i=0;i=A+8|0;HW(f[(f[i>>2]|0)+36>>2]|0);e=A+12|0;HW(f[(f[e>>2]|0)+36>>2]|0);HW(f[i>>2]|0);HW(f[e>>2]|0);ek(f[A+16>>2]|0);ly(f[A+20>>2]|0)|0;ly(f[A+24>>2]|0)|0;HW(A);return}function zd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+32|0;t=B;l=e<<2;n=l+4|0;l=l+5|0;b=Pb(l*56|0)|0;l=Jb(l<<2)|0;a=n*5|1;c=Pb(a*72|0)|0;s=a<<5;o=Jb(s)|0;s=Jb(s)|0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];f[t+8>>2]=f[r+8>>2];f[t+12>>2]=f[r+12>>2];f[t+16>>2]=f[r+16>>2];f[t+20>>2]=f[r+20>>2];f[t+24>>2]=f[r+24>>2];f[t+28>>2]=f[r+28>>2];Jd(A,e,t,b,0);sR(173);Pd(n,l);Sd(n,b,l,a,c)|0;u=Rd(n,b,c,0,o)|0;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];f[t+8>>2]=f[r+8>>2];f[t+12>>2]=f[r+12>>2];f[t+16>>2]=f[r+16>>2];f[t+20>>2]=f[r+20>>2];f[t+24>>2]=f[r+24>>2];f[t+28>>2]=f[r+28>>2];Jd(A,e,t,b,1);Pd(n,l);Sd(n,b,l,a,c)|0;n=Rd(n,b,c,1,s)|0;a=Jb(X(u<<5,n)|0)|0;e=0;A=0;while(1){if((e|0)>=(n|0))break;t=s+(e<<5)|0;r=0;while(1){if((r|0)>=(u|0))break;k=A+((Hd(a+(A<<5)|0,t,o+(r<<5)|0)|0)!=0&1)|0;r=r+1|0;A=k}e=e+1|0}k=Hb(a,A<<5)|0;HW(b);HW(l);HW(c);HW(o);HW(s);f[i>>2]=A;v=B;return k|0}function Jd(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0;c=v;v=v+96|0;t=c+64|0;l=c;f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];f[t+12>>2]=f[i+12>>2];f[t+16>>2]=f[i+16>>2];f[t+20>>2]=f[i+20>>2];f[t+24>>2]=f[i+24>>2];f[t+28>>2]=f[i+28>>2];Td(t,n,1,l);i=Ud(r,1,l)|0;a=0;while(1){if((a|0)>=(e|0))break;o=A+(a*72|0)+40|0;f[t>>2]=f[o>>2];f[t+4>>2]=f[o+4>>2];f[t+8>>2]=f[o+8>>2];f[t+12>>2]=f[o+12>>2];f[t+16>>2]=f[o+16>>2];f[t+20>>2]=f[o+20>>2];f[t+24>>2]=f[o+24>>2];f[t+28>>2]=f[o+28>>2];Td(t,n,0,l);i=Ud(r,i,l)|0;a=a+1|0}v=c;return}function Pd(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;i=0;while(1){if((i|0)>(A|0))break;f[e+(i<<2)>>2]=i;i=i+1|0}a=A+1|0;i=1;while(1){if((i|0)>(A|0))break;t=~~(+bR()*+(a-i|0)+ +(i|0));r=e+(i<<2)|0;n=e+(t<<2)|0;if((i|0)!=(t|0)){t=f[r>>2]|0;f[r>>2]=f[n>>2];f[n>>2]=t}i=i+1|0}return}function Rd(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;a=A*5|0;c=a+1|0;s=Jb(c<<2)|0;f[42432]=Jb(c<<4)|0;f[42433]=Jb((A*56|0)+56|0)|0;c=Jb(A<<2)|0;f[42434]=c;o=0;while(1){if((o|0)>(a|0))break;if(Ld(i+(o*72|0)|0,e)|0)break;o=o+1|0}t=f[42432]|0;l=f[42433]|0;a=1;while(1){if((a|0)>(A|0))break;f[t+(a<<4)+8>>2]=f[e+(a*56|0)+48>>2];u=e+(a*56|0)+44|0;f[t+(a<<4)+4>>2]=f[u>>2];f[t+(a<<4)>>2]=a;b=l+(a*56|0)|0;v=e+(a*56|0)|0;f[b>>2]=f[v>>2];f[b+4>>2]=f[v+4>>2];f[b+8>>2]=f[v+8>>2];f[b+12>>2]=f[v+12>>2];f[l+(a*56|0)+16>>2]=f[u>>2];f[l+(a*56|0)+32>>2]=a;f[l+(a*56|0)+48>>2]=1;a=a+1|0}f[42435]=A;f[42436]=0;f[c>>2]=1;a=f[i+(o*72|0)+40>>2]|0;if((a|0)<=0){a=f[i+(o*72|0)+48>>2]|0;if((a|0)>0)a=Fd(s,n,0,e,i,0,o,a,r,2)|0;else a=0}else a=Fd(s,n,0,e,i,0,o,a,r,1)|0;HW(s);HW(f[42432]|0);HW(f[42433]|0);HW(f[42434]|0);return a|0}function Hd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0,a=0.0;a=+o[(+o[e>>3]>+o[i>>3]?e:i)>>3];f=+o[(+o[e+16>>3]<+o[i+16>>3]?e:i)+16>>3];o[A+16>>3]=f;o[A>>3]=a;n=+o[(+o[e+8>>3]>+o[i+8>>3]?e:i)+8>>3];r=+o[(+o[e+24>>3]<+o[i+24>>3]?e:i)+24>>3];o[A+24>>3]=r;o[A+8>>3]=n;return!(a>=f)&!(n>=r)&1|0}function Ld(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0;n=f[A+4>>2]|0;do{if((f[A+68>>2]|0)!=2?!((n|0)<1|(f[A>>2]|0)<1):0){if(!((f[A+40>>2]|0)<1?(f[A+44>>2]|0)<1:0)){if((f[A+48>>2]|0)>=1){A=0;break}if((f[A+52>>2]|0)>=1){A=0;break}}i=+o[e+(n*56|0)+24>>3];r=+o[e+(n*56|0)+8>>3];if(!(i>r+1.0e-07))if(i>3]>+o[e+(n*56|0)>>3]&1;else A=1}else A=0}while(0);return A|0}function Fd(A,e,i,r,n,a,t,l,c,s){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;l=l|0;c=c|0;s=s|0;var u=0,b=0,v=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,p=0,V=0,N=0,W=0.0,z=0,J=0.0,P=0,R=0,H=0,L=0,F=0;Q=(c|0)==0;E=t;A:while(1){I=n+(E*72|0)|0;if((E|0)<1)break;t=A+(E<<2)|0;if(f[t>>2]|0)break;f[t>>2]=1;m=n+(E*72|0)+8|0;d=n+(E*72|0)+16|0;B=+o[d>>3];Z=n+(E*72|0)+24|0;G=n+(E*72|0)+32|0;v=+o[G>>3];if((B>v?(M=f[I>>2]|0,W=+o[r+(M*56|0)>>3],W==+o[r+(M*56|0)+16>>3]):0)?(M=f[n+(E*72|0)+4>>2]|0,J=+o[r+(M*56|0)>>3],J==+o[r+(M*56|0)+16>>3]):0){t=e+(i<<5)|0;if(Q){o[t>>3]=W;k=B;B=J}else{o[t>>3]=v;k=-W;v=-J}o[e+(i<<5)+8>>3]=v;o[e+(i<<5)+16>>3]=B;o[e+(i<<5)+24>>3]=k;i=i+1|0}t=n+(E*72|0)+40|0;C=f[t>>2]|0;do{if((C|0)<1?(P=n+(E*72|0)+44|0,(f[P>>2]|0)<1):0){t=n+(E*72|0)+48|0;b=n+(E*72|0)+52|0;if((f[t>>2]|0)>0?(R=f[b>>2]|0,(R|0)>0):0){u=f[n+(R*72|0)>>2]|0;s=f[I>>2]|0;if((R|0)==(l|0)){s=Dd(a,s,u)|0;i=Fd(A,e,i,r,n,a,f[b>>2]|0,E,c,1)|0;a=s;s=1;break}else{s=Dd(a,u,s)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,1)|0;a=s;t=b;s=1;break}}i=Fd(A,e,i,r,n,a,C,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[P>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,1)|0;t=b;s=1}else F=19}while(0);do{if((F|0)==19){F=0;M=n+(E*72|0)+48|0;w=f[M>>2]|0;if((w|0)<1?(H=n+(E*72|0)+52|0,(f[H>>2]|0)<1):0){b=n+(E*72|0)+44|0;if((C|0)>0?(L=f[b>>2]|0,(L|0)>0):0){u=f[n+(E*72|0)+4>>2]|0;s=f[n+(C*72|0)+4>>2]|0;if((L|0)==(l|0)){s=Dd(a,s,u)|0;i=Fd(A,e,i,r,n,a,f[b>>2]|0,E,c,2)|0;a=s;s=2;break}else{s=Dd(a,u,s)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;a=s;t=b;s=2;break}}i=Fd(A,e,i,r,n,a,C,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[b>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;t=H;s=1;break}g=n+(E*72|0)+44|0;h=f[g>>2]|0;u=(h|0)>0;if((C|0)>0){if(u){if((w|0)>0?(y=n+(E*72|0)+52|0,p=f[y>>2]|0,(p|0)>0):0){b=f[n+(p*72|0)>>2]|0;u=f[n+(C*72|0)+4>>2]|0;if(!((s|0)==2&(p|0)==(l|0))?!((s|0)==1&(h|0)==(l|0)):0){s=Dd(a,b,u)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[g>>2]|0,E,c,2)|0;a=s;t=y;s=1;break}s=Dd(a,u,b)|0;i=Fd(A,e,i,r,n,a,f[g>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[y>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[t>>2]|0,E,c,2)|0;a=s;t=M;s=1;break}u=f[I>>2]|0;if(+Y(+(+o[G>>3]-+o[r+(u*56|0)+24>>3]))<=1.0e-07?+Y(+(+o[Z>>3]-+o[r+(u*56|0)+16>>3]))<=1.0e-07:0){b=f[n+(C*72|0)+4>>2]|0;u=f[r+(u*56|0)+44>>2]|0;if((s|0)==1&(C|0)==(l|0)){s=Dd(a,u,b)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[g>>2]|0,E,c,2)|0;a=s;t=n+(E*72|0)+52|0;s=1;break}else{s=Dd(a,b,u)|0;i=Fd(A,e,i,r,n,a,f[g>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;a=s;s=2;break}}b=f[n+(E*72|0)+4>>2]|0;u=f[n+(C*72|0)+4>>2]|0;if((s|0)==1&(h|0)==(l|0)){s=Dd(a,u,b)|0;i=Fd(A,e,i,r,n,a,f[g>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[M>>2]|0,E,c,1)|0;a=s;s=2;break}else{s=Dd(a,b,u)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;a=s;t=g;s=2;break}}}else if(!u)break A;if((w|0)>0?(V=n+(E*72|0)+52|0,N=f[V>>2]|0,(N|0)>0):0){b=f[I>>2]|0;if(+Y(+(+o[d>>3]-+o[r+(b*56|0)+8>>3]))<=1.0e-07?+Y(+(+o[m>>3]-+o[r+(b*56|0)>>3]))<=1.0e-07:0){u=f[n+(N*72|0)>>2]|0;if((s|0)==2&(w|0)==(l|0)){s=Dd(a,u,b)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;a=s;t=V;s=1;break}else{s=Dd(a,b,u)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[V>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;a=s;t=M;s=1;break}}u=f[n+(N*72|0)>>2]|0;b=f[r+((f[n+(E*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((s|0)==2&(N|0)==(l|0)){s=Dd(a,b,u)|0;i=Fd(A,e,i,r,n,a,f[V>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[t>>2]|0,E,c,2)|0;a=s;t=M;s=1;break}else{s=Dd(a,u,b)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;a=s;t=V;s=1;break}}v=+o[d>>3];b=f[I>>2]|0;if(((+Y(+(v-+o[r+(b*56|0)+8>>3]))<=1.0e-07?+Y(+(+o[m>>3]-+o[r+(b*56|0)>>3]))<=1.0e-07:0)?(z=f[n+(E*72|0)+4>>2]|0,+Y(+(+o[G>>3]-+o[r+(z*56|0)+8>>3]))<=1.0e-07):0)?+Y(+(+o[Z>>3]-+o[r+(z*56|0)>>3]))<=1.0e-07:0)if((s|0)==1){s=Dd(a,b,z)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;a=s;t=M;s=1;break}else{s=Dd(a,z,b)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[t>>2]|0,E,c,2)|0;a=s;t=n+(E*72|0)+44|0;s=2;break}l=f[n+(E*72|0)+4>>2]|0;if(((+Y(+(v-+o[r+(l*56|0)+24>>3]))<=1.0e-07?+Y(+(+o[m>>3]-+o[r+(l*56|0)+16>>3]))<=1.0e-07:0)?+Y(+(+o[G>>3]-+o[r+(b*56|0)+24>>3]))<=1.0e-07:0)?+Y(+(+o[Z>>3]-+o[r+(b*56|0)+16>>3]))<=1.0e-07:0){u=f[r+(l*56|0)+44>>2]|0;l=f[r+(b*56|0)+44>>2]|0;if((s|0)==1){s=Dd(a,l,u)|0;i=Fd(A,e,i,r,n,a,f[t>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;i=Fd(A,e,i,r,n,s,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;a=s;t=M;s=1;break}else{s=Dd(a,u,l)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+52>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,s,f[t>>2]|0,E,c,2)|0;a=s;t=n+(E*72|0)+44|0;s=2;break}}i=Fd(A,e,i,r,n,a,C,E,c,2)|0;i=Fd(A,e,i,r,n,a,f[M>>2]|0,E,c,1)|0;i=Fd(A,e,i,r,n,a,f[n+(E*72|0)+44>>2]|0,E,c,2)|0;t=n+(E*72|0)+52|0;s=1}}while(0);l=E;E=f[t>>2]|0}return i|0}function Dd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0;n=v;v=v+16|0;w=n+4|0;l=n;r=(f[42436]|0)+1|0;f[42436]=r;s=f[42433]|0;Xd(e,i,w,l);w=f[w>>2]|0;t=f[s+(e*56|0)+32+(w<<2)>>2]|0;l=f[s+(i*56|0)+32+(f[l>>2]<<2)>>2]|0;u=f[42435]|0;a=u+1|0;u=u+2|0;f[42435]=u;k=f[42432]|0;f[k+(a<<4)>>2]=e;f[k+(u<<4)>>2]=i;b=k+(t<<4)+4|0;B=k+(a<<4)+4|0;f[B>>2]=f[b>>2];f[k+(f[b>>2]<<4)+8>>2]=a;f[k+(a<<4)+8>>2]=u;f[k+(u<<4)+4>>2]=a;c=k+(l<<4)+8|0;f[k+(u<<4)+8>>2]=f[c>>2];f[k+(f[c>>2]<<4)+4>>2]=u;f[b>>2]=l;f[c>>2]=t;c=s+(e*56|0)+48|0;b=f[c>>2]|0;l=s+(i*56|0)+48|0;o=f[l>>2]|0;f[s+(e*56|0)+16+(w<<2)>>2]=i;f[s+(e*56|0)+32+(b<<2)>>2]=a;f[s+(e*56|0)+16+(b<<2)>>2]=f[k+(f[B>>2]<<4)>>2];f[s+(i*56|0)+32+(o<<2)>>2]=u;f[s+(i*56|0)+16+(o<<2)>>2]=e;f[c>>2]=(f[c>>2]|0)+1;f[l>>2]=(f[l>>2]|0)+1;i=f[42434]|0;f[i+(A<<2)>>2]=t;f[i+(r<<2)>>2]=a;v=n;return r|0}function Xd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0.0,t=0,l=0,c=0.0,o=0.0,s=0,u=0,b=0;s=f[42433]|0;u=s+(A*56|0)|0;b=s+(e*56|0)|0;n=0;a=-4.0;l=0;while(1){if((l|0)==4)break;t=f[s+(A*56|0)+16+(l<<2)>>2]|0;if((t|0)>=1?(c=+xd(u,s+(t*56|0)|0,b),c>a):0){n=l;a=c}l=l+1|0}f[i>>2]=n;n=0;l=0;a=-4.0;while(1){if((l|0)==4)break;t=f[s+(e*56|0)+16+(l<<2)>>2]|0;if((t|0)>=1?(o=+xd(b,s+(t*56|0)|0,u),o>a):0){n=l;a=o}l=l+1|0}f[r>>2]=n;return}function xd(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0,a=0.0,t=0.0;a=+o[A>>3];t=+o[e>>3]-a;r=+o[A+8>>3];f=+o[e+8>>3]-r;a=+o[i>>3]-a;r=+o[i+8>>3]-r;n=r*f+a*t;if(!(r*t-a*f>=0.0))r=-n/(+p(+(r*r+a*a))*+p(+(f*f+t*t)))+-2.0;else r=n/(+p(+(r*r+a*a))*+p(+(f*f+t*t)));return+r}function Td(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0.0;f[r>>2]=f[A>>2];f[r+4>>2]=f[A+4>>2];f[r+8>>2]=f[A+8>>2];f[r+12>>2]=f[A+12>>2];t=r+32|0;l=A+16|0;f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];f[t+12>>2]=f[l+12>>2];if(!i){n=A+8|0;a=l;t=A+24|0;i=A}else{n=A+24|0;a=A;t=A+8|0;i=l}c=+o[a>>3];s=+o[t>>3];o[r+16>>3]=+o[i>>3];o[r+24>>3]=s;o[r+48>>3]=c;o[r+56>>3]=+o[n>>3];A:do{if(e|0){i=0;while(1){if((i|0)==4)break A;l=r+(i<<4)+8|0;s=+o[l>>3];e=r+(i<<4)|0;o[l>>3]=+o[e>>3];o[e>>3]=-s;i=i+1|0}}}while(0);return}function Ud(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;t=e+3|0;l=e+1|0;c=e+2|0;o=A+(e*56|0)+44|0;s=A+(t*56|0)+44|0;r=0;n=e;while(1){if((n|0)>(t|0))break;do{if((n|0)!=(e|0))if((n|0)==(t|0)){f[s>>2]=e;a=c;break}else{f[A+(n*56|0)+44>>2]=n+1;a=n+-1|0;break}else{f[o>>2]=l;a=t}}while(0);f[A+(n*56|0)+48>>2]=a;f[A+(n*56|0)+32>>2]=0;b=A+(n*56|0)|0;u=i+(r<<4)|0;f[b>>2]=f[u>>2];f[b+4>>2]=f[u+4>>2];f[b+8>>2]=f[u+8>>2];f[b+12>>2]=f[u+12>>2];NH(A+(a*56|0)+16|0,u|0,16)|0;r=r+1|0;n=n+1|0}return e+4|0}function Sd(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0;f[42437]=r<<1;f[42438]=r;o=Jb(r*80|0)|0;f[42439]=1;f[42440]=1;WH(n|0,0,r*72|0)|0;a=jd(f[i+4>>2]|0,e,n,o)|0;r=1;while(1){if((r|0)>(A|0))break;f[e+(r*56|0)+40>>2]=a;f[e+(r*56|0)+36>>2]=a;r=r+1|0}c=Od(A)|0;a=2;l=1;while(1){if((l|0)>(c|0))break;r=Kd(A,l+-1|0)|0;t=Kd(A,l)|0;while(1){if((r|0)>=(t|0)){r=1;break}_d(f[i+(a<<2)>>2]|0,e,n,o);r=r+1|0;a=a+1|0}while(1){if((r|0)>(A|0))break;qd(r,e,n,o);r=r+1|0}l=l+1|0}r=Kd(A,c)|0;while(1){if((r|0)>=(A|0))break;_d(f[i+(a<<2)>>2]|0,e,n,o);a=a+1|0;r=r+1|0}HW(o);return f[42439]|0}function jd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0;n=rg()|0;f[r+(n*40|0)>>2]=2;h=r+(n*40|0)+8|0;c=e+(A*56|0)|0;s=e+(A*56|0)+16|0;tg(h,c,s);b=rg()|0;f[r+(n*40|0)+36>>2]=b;f[r+(b*40|0)>>2]=3;f[r+(b*40|0)+28>>2]=n;l=rg()|0;f[r+(n*40|0)+32>>2]=l;f[r+(l*40|0)>>2]=2;w=r+(l*40|0)+8|0;lg(w,c,s);f[r+(l*40|0)+28>>2]=n;s=rg()|0;f[r+(l*40|0)+32>>2]=s;f[r+(s*40|0)>>2]=3;f[r+(s*40|0)+28>>2]=l;c=rg()|0;f[r+(l*40|0)+36>>2]=c;f[r+(c*40|0)>>2]=1;f[r+(c*40|0)+4>>2]=A;f[r+(c*40|0)+28>>2]=l;l=rg()|0;f[r+(c*40|0)+32>>2]=l;f[r+(l*40|0)>>2]=3;f[r+(l*40|0)+28>>2]=c;a=rg()|0;f[r+(c*40|0)+36>>2]=a;f[r+(a*40|0)>>2]=3;f[r+(a*40|0)+28>>2]=c;c=ig(i)|0;t=ig(i)|0;u=ig(i)|0;v=ig(i)|0;B=i+(c*72|0)+8|0;k=i+(t*72|0)+8|0;d=i+(v*72|0)+24|0;f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];f[d+8>>2]=f[h+8>>2];f[d+12>>2]=f[h+12>>2];NH(k|0,h|0,16)|0;f[B>>2]=f[k>>2];f[B+4>>2]=f[k+4>>2];f[B+8>>2]=f[k+8>>2];f[B+12>>2]=f[k+12>>2];B=i+(c*72|0)+24|0;k=i+(t*72|0)+24|0;h=i+(u*72|0)+8|0;f[h>>2]=f[w>>2];f[h+4>>2]=f[w+4>>2];f[h+8>>2]=f[w+8>>2];f[h+12>>2]=f[w+12>>2];NH(k|0,w|0,16)|0;f[B>>2]=f[k>>2];f[B+4>>2]=f[k+4>>2];f[B+8>>2]=f[k+8>>2];f[B+12>>2]=f[k+12>>2];o[i+(v*72|0)+16>>3]=1073741824.0;o[i+(v*72|0)+8>>3]=1073741824.0;o[i+(u*72|0)+32>>3]=-1073741824.0;o[i+(u*72|0)+24>>3]=-1073741824.0;f[i+(t*72|0)>>2]=A;f[i+(c*72|0)+4>>2]=A;f[i+(t*72|0)+40>>2]=v;f[i+(c*72|0)+40>>2]=v;f[i+(t*72|0)+48>>2]=u;f[i+(c*72|0)+48>>2]=u;f[i+(u*72|0)+40>>2]=c;f[i+(v*72|0)+48>>2]=c;f[i+(u*72|0)+44>>2]=t;f[i+(v*72|0)+52>>2]=t;f[i+(c*72|0)+56>>2]=l;f[i+(t*72|0)+56>>2]=a;f[i+(u*72|0)+56>>2]=s;f[i+(v*72|0)+56>>2]=b;f[i+(t*72|0)+68>>2]=1;f[i+(c*72|0)+68>>2]=1;f[i+(v*72|0)+68>>2]=1;f[i+(u*72|0)+68>>2]=1;f[r+(b*40|0)+24>>2]=v;f[r+(s*40|0)+24>>2]=u;f[r+(l*40|0)+24>>2]=c;f[r+(a*40|0)+24>>2]=t;f[e+(A*56|0)+32>>2]=1;return n|0}function Od(A){A=A|0;var e=0.0;e=+(A|0);A=0;while(1){if(!(e>=1.0))break;e=+Bz(e);A=A+1|0}return A+-1|0}function Kd(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+(A|0);i=r;A=0;while(1){if((A|0)>=(e|0))break;i=+Bz(i);A=A+1|0}return~~+D(+(r/i))|0}function _d(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0,j=0,O=0;j=v;v=v+96|0;x=j+32|0;n=j+16|0;T=j;h=x;c=e+(A*56|0)|0;w=h+56|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(w|0));U=x+16|0;S=x+24|0;t=+o[S>>3];N=x+8|0;l=+o[N>>3];do{if(!(t>l+1.0e-07)){if(!(t>3]>+o[x>>3]:0){V=4;break}V=(eg(A,e,1)|0)==0;n=f[x+36>>2]|0;if(V){u=0;V=7}else{n=$d(x,U,n,e,r)|0;V=20}}else V=4}while(0);if((V|0)==4){f[n>>2]=f[x>>2];f[n+4>>2]=f[x+4>>2];f[n+8>>2]=f[x+8>>2];f[n+12>>2]=f[x+12>>2];f[x>>2]=f[U>>2];f[x+4>>2]=f[U+4>>2];f[x+8>>2]=f[U+8>>2];f[x+12>>2]=f[U+12>>2];f[U>>2]=f[n>>2];f[U+4>>2]=f[n+4>>2];f[U+8>>2]=f[n+8>>2];f[U+12>>2]=f[n+12>>2];y=x+36|0;p=f[y>>2]|0;V=x+40|0;n=f[V>>2]|0;f[y>>2]=n;f[V>>2]=p;if(!(eg(A,e,2)|0)){u=1;V=7}else{n=$d(x,U,n,e,r)|0;V=19}}if((V|0)==7){s=$d(x,U,n,e,r)|0;n=ig(i)|0;f[i+(n*72|0)+68>>2]=1;h=i+(n*72|0)|0;c=i+(s*72|0)|0;w=h+72|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(w|0));k=+o[N>>3];o[i+(n*72|0)+16>>3]=k;o[i+(s*72|0)+32>>3]=k;k=+o[x>>3];o[i+(n*72|0)+8>>3]=k;o[i+(s*72|0)+24>>3]=k;f[i+(s*72|0)+48>>2]=n;f[i+(s*72|0)+52>>2]=0;f[i+(n*72|0)+40>>2]=s;f[i+(n*72|0)+44>>2]=0;a=f[i+(n*72|0)+48>>2]|0;if((a|0)>0){c=i+(a*72|0)+40|0;if((f[c>>2]|0)==(s|0))f[c>>2]=n;a=i+(a*72|0)+44|0;if((f[a>>2]|0)==(s|0))f[a>>2]=n}a=f[i+(n*72|0)+52>>2]|0;if((a|0)>0){c=i+(a*72|0)+40|0;if((f[c>>2]|0)==(s|0))f[c>>2]=n;a=i+(a*72|0)+44|0;if((f[a>>2]|0)==(s|0))f[a>>2]=n}y=rg()|0;V=rg()|0;p=i+(s*72|0)+56|0;Q=f[p>>2]|0;f[r+(Q*40|0)>>2]=2;E=r+(Q*40|0)+8|0;f[E>>2]=f[x>>2];f[E+4>>2]=f[x+4>>2];f[E+8>>2]=f[x+8>>2];f[E+12>>2]=f[x+12>>2];f[r+(Q*40|0)+4>>2]=A;f[r+(Q*40|0)+32>>2]=V;f[r+(Q*40|0)+36>>2]=y;f[r+(y*40|0)>>2]=3;f[r+(y*40|0)+24>>2]=s;f[r+(y*40|0)+28>>2]=Q;f[r+(V*40|0)>>2]=3;f[r+(V*40|0)+24>>2]=n;f[r+(V*40|0)+28>>2]=Q;f[p>>2]=y;f[i+(n*72|0)+56>>2]=V;if(u)V=19;else V=20}if((V|0)==19)if(!(eg(A,e,1)|0)){a=1;V=21}else{a=1;V=32}else if((V|0)==20)if(!(eg(A,e,2)|0)){a=0;V=21}else{a=0;V=32}if((V|0)==21){b=$d(U,x,f[x+40>>2]|0,e,r)|0;u=ig(i)|0;f[i+(u*72|0)+68>>2]=1;h=i+(u*72|0)|0;c=i+(b*72|0)|0;w=h+72|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(w|0));k=+o[S>>3];o[i+(u*72|0)+16>>3]=k;o[i+(b*72|0)+32>>3]=k;k=+o[U>>3];o[i+(u*72|0)+8>>3]=k;o[i+(b*72|0)+24>>3]=k;f[i+(b*72|0)+48>>2]=u;f[i+(b*72|0)+52>>2]=0;f[i+(u*72|0)+40>>2]=b;f[i+(u*72|0)+44>>2]=0;c=f[i+(u*72|0)+48>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((f[s>>2]|0)==(b|0))f[s>>2]=u;c=i+(c*72|0)+44|0;if((f[c>>2]|0)==(b|0))f[c>>2]=u}c=f[i+(u*72|0)+52>>2]|0;if((c|0)>0){s=i+(c*72|0)+40|0;if((f[s>>2]|0)==(b|0))f[s>>2]=u;c=i+(c*72|0)+44|0;if((f[c>>2]|0)==(b|0))f[c>>2]=u}Q=rg()|0;p=rg()|0;y=i+(b*72|0)+56|0;E=f[y>>2]|0;f[r+(E*40|0)>>2]=2;M=r+(E*40|0)+8|0;f[M>>2]=f[U>>2];f[M+4>>2]=f[U+4>>2];f[M+8>>2]=f[U+8>>2];f[M+12>>2]=f[U+12>>2];f[r+(E*40|0)+4>>2]=A;f[r+(E*40|0)+32>>2]=p;f[r+(E*40|0)+36>>2]=Q;f[r+(Q*40|0)>>2]=3;f[r+(Q*40|0)+24>>2]=b;f[r+(Q*40|0)+28>>2]=E;f[r+(p*40|0)>>2]=3;f[r+(p*40|0)+24>>2]=u;f[r+(p*40|0)+28>>2]=E;f[y>>2]=Q;f[i+(u*72|0)+56>>2]=p;p=n;n=0}else if((V|0)==32){p=n;b=$d(U,x,f[x+40>>2]|0,e,r)|0;n=1}A:do{if((p|0)>0){Q=i+(b*72|0)+24|0;y=i+(b*72|0)+32|0;E=(n|0)!=0;I=a?e+(A*56|0)+48|0:e+(A*56|0)+44|0;C=T+8|0;a=0;n=0;G=p;e:while(1){c=i+(G*72|0)|0;m=i+(G*72|0)+24|0;if(!(ng(m,Q)|0))break A;s=i+(G*72|0)+56|0;g=f[s>>2]|0;u=rg()|0;B=rg()|0;f[r+(g*40|0)>>2]=1;f[r+(g*40|0)+4>>2]=A;f[r+(g*40|0)+32>>2]=u;f[r+(g*40|0)+36>>2]=B;f[r+(u*40|0)>>2]=3;f[r+(u*40|0)+24>>2]=G;f[r+(u*40|0)+28>>2]=g;f[r+(B*40|0)>>2]=3;Z=ig(i)|0;f[r+(B*40|0)+24>>2]=Z;M=i+(Z*72|0)|0;f[i+(Z*72|0)+68>>2]=1;f[r+(B*40|0)+28>>2]=g;a=(G|0)==(p|0)?Z:a;g=i+(G*72|0)+32|0;if(+Y(+(+o[g>>3]-+o[y>>3]))<=1.0e-07?+Y(+(+o[m>>3]-+o[Q>>3]))<=1.0e-07:0)n=Z;h=M;w=h+72|0;do{f[h>>2]=f[c>>2];h=h+4|0;c=c+4|0}while((h|0)<(w|0));f[s>>2]=u;f[i+(Z*72|0)+56>>2]=B;d=i+(G*72|0)+48|0;s=i+(G*72|0)+52|0;c=(f[s>>2]|0)<1;do{if((f[d>>2]|0)<1){if(c)break e;h=i+(G*72|0)+40|0;c=f[h>>2]|0;do{if((c|0)>0?(R=i+(G*72|0)+44|0,H=f[R>>2]|0,(H|0)>0):0){w=i+(G*72|0)+60|0;c=f[w>>2]|0;if((c|0)<=0){f[i+(Z*72|0)+40>>2]=H;f[i+(Z*72|0)+44>>2]=-1;f[R>>2]=-1;f[i+(H*72|0)+48>>2]=Z;break}if((f[i+(G*72|0)+64>>2]|0)==1){f[i+(Z*72|0)+40>>2]=H;f[R>>2]=-1;f[i+(Z*72|0)+44>>2]=c;f[i+((f[h>>2]|0)*72|0)+48>>2]=G;B=Z;u=H}else{f[i+(Z*72|0)+44>>2]=-1;d=i+(Z*72|0)+40|0;f[d>>2]=f[R>>2];u=f[h>>2]|0;f[R>>2]=u;f[h>>2]=c;f[i+(c*72|0)+48>>2]=G;B=G;c=f[d>>2]|0}f[i+(u*72|0)+48>>2]=B;f[i+(c*72|0)+48>>2]=Z;f[i+(Z*72|0)+60>>2]=0;f[w>>2]=0}else V=77}while(0);do{if((V|0)==77){V=0;u=i+(c*72|0)+48|0;B=f[u>>2]|0;c=i+(c*72|0)+52|0;if((B|0)>0?(f[c>>2]|0)>0:0){c=f[i+(B*72|0)+4>>2]|0;if((c|0)>0?(Ag(c,e,U)|0)==0:0){f[i+(Z*72|0)+44>>2]=-1;f[i+(G*72|0)+44>>2]=-1;f[h>>2]=-1;f[i+((f[i+(Z*72|0)+40>>2]|0)*72|0)+52>>2]=Z;break}f[i+(G*72|0)+44>>2]=-1;f[i+(Z*72|0)+44>>2]=-1;f[i+(Z*72|0)+40>>2]=-1;f[i+((f[h>>2]|0)*72|0)+48>>2]=G;break}f[u>>2]=G;f[c>>2]=Z}}while(0);if(+Y(+(+o[g>>3]-+o[y>>3]))<=1.0e-07?E&+Y(+(+o[m>>3]-+o[Q>>3]))<=1.0e-07:0){c=f[I>>2]|0;if((c|0)>0?(Ag(c,e,x)|0)!=0:0){f[i+((f[s>>2]|0)*72|0)+40>>2]=G;u=i+(Z*72|0)+52|0;c=Z}else{f[i+((f[i+(Z*72|0)+52>>2]|0)*72|0)+44>>2]=Z;u=s;c=G}f[u>>2]=-1;f[i+(c*72|0)+48>>2]=-1;c=f[s>>2]|0;break}c=f[s>>2]|0;s=i+(c*72|0)+40|0;u=f[s>>2]|0;B=i+(c*72|0)+44|0;if((u|0)>0?(L=f[B>>2]|0,F=(u|0)==(G|0),(L|0)>0):0){f[i+(c*72|0)+60>>2]=F?L:u;f[i+(c*72|0)+64>>2]=F?1:2}f[s>>2]=G;f[B>>2]=Z}else{if(!c){t=+o[g>>3];l=+o[N>>3];k=t-l;if(!(+Y(+k)<=1.0e-07)){o[C>>3]=t;t=+o[x>>3];o[T>>3]=(+o[U>>3]-t)*(k/(+o[S>>3]-l))+t;h=(fg(T,m)|0)!=0}else h=+o[m>>3]>+o[x>>3];w=i+(G*72|0)+40|0;c=f[w>>2]|0;do{if((c|0)>0?(D=i+(G*72|0)+44|0,X=f[D>>2]|0,(X|0)>0):0){B=i+(G*72|0)+60|0;c=f[B>>2]|0;if((c|0)<=0){f[i+(Z*72|0)+40>>2]=X;f[i+(Z*72|0)+44>>2]=-1;f[D>>2]=-1;f[i+(X*72|0)+48>>2]=Z;break}if((f[i+(G*72|0)+64>>2]|0)==1){f[i+(Z*72|0)+40>>2]=X;f[D>>2]=-1;f[i+(Z*72|0)+44>>2]=c;f[i+((f[w>>2]|0)*72|0)+48>>2]=G;u=Z;s=X}else{f[i+(Z*72|0)+44>>2]=-1;O=i+(Z*72|0)+40|0;f[O>>2]=f[D>>2];s=f[w>>2]|0;f[D>>2]=s;f[w>>2]=c;f[i+(c*72|0)+48>>2]=G;u=G;c=f[O>>2]|0}f[i+(s*72|0)+48>>2]=u;f[i+(c*72|0)+48>>2]=Z;f[i+(Z*72|0)+60>>2]=0;f[B>>2]=0}else V=106}while(0);do{if((V|0)==106){V=0;s=i+(c*72|0)+48|0;u=f[s>>2]|0;c=i+(c*72|0)+52|0;if((u|0)>0?(f[c>>2]|0)>0:0){c=f[i+(u*72|0)+4>>2]|0;if((c|0)>0?(Ag(c,e,U)|0)==0:0){f[i+(Z*72|0)+44>>2]=-1;f[i+(G*72|0)+44>>2]=-1;f[w>>2]=-1;f[i+((f[i+(Z*72|0)+40>>2]|0)*72|0)+52>>2]=Z;break}f[i+(G*72|0)+44>>2]=-1;f[i+(Z*72|0)+44>>2]=-1;f[i+(Z*72|0)+40>>2]=-1;f[i+((f[w>>2]|0)*72|0)+48>>2]=G;break}f[s>>2]=G;f[c>>2]=Z}}while(0);if(+Y(+(+o[g>>3]-+o[y>>3]))<=1.0e-07?E&+Y(+(+o[m>>3]-+o[Q>>3]))<=1.0e-07:0){c=f[d>>2]|0;f[i+(c*72|0)+40>>2]=G;f[i+(c*72|0)+44>>2]=-1;c=i+(G*72|0)+52|0;O=f[c>>2]|0;f[i+(O*72|0)+40>>2]=Z;f[i+(O*72|0)+44>>2]=-1;f[i+(Z*72|0)+48>>2]=O;f[i+(Z*72|0)+52>>2]=-1;f[c>>2]=-1;c=-1}else V=116;do{if((V|0)==116){V=0;c=f[d>>2]|0;f[i+(c*72|0)+40>>2]=G;s=i+(c*72|0)+44|0;if(h){f[s>>2]=Z;O=i+(G*72|0)+52|0;m=f[O>>2]|0;f[i+(m*72|0)+40>>2]=Z;f[i+(m*72|0)+44>>2]=-1;f[O>>2]=-1;break}else{f[s>>2]=-1;c=i+(G*72|0)+52|0;O=f[c>>2]|0;f[i+(O*72|0)+40>>2]=G;f[i+(O*72|0)+44>>2]=Z;f[i+(Z*72|0)+48>>2]=O;f[i+(Z*72|0)+52>>2]=-1;c=f[c>>2]|0;break}}}while(0);break}h=i+(G*72|0)+40|0;c=f[h>>2]|0;do{if((c|0)>0?(W=i+(G*72|0)+44|0,z=f[W>>2]|0,(z|0)>0):0){w=i+(G*72|0)+60|0;c=f[w>>2]|0;if((c|0)<=0){f[i+(Z*72|0)+40>>2]=z;f[i+(Z*72|0)+44>>2]=-1;f[W>>2]=-1;f[i+(z*72|0)+48>>2]=Z;break}if((f[i+(G*72|0)+64>>2]|0)==1){f[i+(Z*72|0)+40>>2]=z;f[W>>2]=-1;f[i+(Z*72|0)+44>>2]=c;f[i+((f[h>>2]|0)*72|0)+48>>2]=G;B=Z;u=z}else{f[i+(Z*72|0)+44>>2]=-1;O=i+(Z*72|0)+40|0;f[O>>2]=f[W>>2];u=f[h>>2]|0;f[W>>2]=u;f[h>>2]=c;f[i+(c*72|0)+48>>2]=G;B=G;c=f[O>>2]|0}f[i+(u*72|0)+48>>2]=B;f[i+(c*72|0)+48>>2]=Z;f[i+(Z*72|0)+60>>2]=0;f[w>>2]=0}else V=51}while(0);do{if((V|0)==51){V=0;u=i+(c*72|0)+48|0;B=f[u>>2]|0;c=i+(c*72|0)+52|0;if((B|0)>0?(f[c>>2]|0)>0:0){c=f[i+(B*72|0)+4>>2]|0;if((c|0)>0?(Ag(c,e,U)|0)==0:0){f[i+(Z*72|0)+44>>2]=-1;f[i+(G*72|0)+44>>2]=-1;f[h>>2]=-1;f[i+((f[i+(Z*72|0)+40>>2]|0)*72|0)+52>>2]=Z;break}f[i+(G*72|0)+44>>2]=-1;f[i+(Z*72|0)+44>>2]=-1;f[i+(Z*72|0)+40>>2]=-1;f[i+((f[h>>2]|0)*72|0)+48>>2]=G;break}f[u>>2]=G;f[c>>2]=Z}}while(0);if(+Y(+(+o[g>>3]-+o[y>>3]))<=1.0e-07?E&+Y(+(+o[m>>3]-+o[Q>>3]))<=1.0e-07:0){c=f[I>>2]|0;if((c|0)>0?(Ag(c,e,x)|0)!=0:0){f[i+((f[d>>2]|0)*72|0)+40>>2]=G;s=i+(Z*72|0)+52|0;c=Z}else{f[i+((f[i+(Z*72|0)+48>>2]|0)*72|0)+44>>2]=Z;c=G}f[s>>2]=-1;f[i+(c*72|0)+48>>2]=-1;c=f[d>>2]|0;break}c=f[d>>2]|0;s=i+(c*72|0)+40|0;u=f[s>>2]|0;B=i+(c*72|0)+44|0;if((u|0)>0?(J=f[B>>2]|0,P=(u|0)==(G|0),(J|0)>0):0){f[i+(c*72|0)+60>>2]=P?J:u;f[i+(c*72|0)+64>>2]=P?1:2}f[s>>2]=G;f[B>>2]=Z}}while(0);f[M>>2]=A;f[i+(G*72|0)+4>>2]=A;if((c|0)>0)G=c;else break A}JP(123235,19,1,f[13918]|0)|0}else{a=0;n=0}}while(0);ag(A,p,b,1,i,r);ag(A,a,n,2,i,r);f[e+(A*56|0)+32>>2]=1;v=j;return}function qd(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;if(!(f[e+(A*56|0)+32>>2]|0)){n=e+(A*56|0)|0;a=e+(A*56|0)+16|0;t=e+(A*56|0)+36|0;f[t>>2]=f[i+(($d(n,a,f[t>>2]|0,e,r)|0)*72|0)+56>>2];A=e+(A*56|0)+40|0;f[A>>2]=f[i+(($d(a,n,f[A>>2]|0,e,r)|0)*72|0)+56>>2]}return}function $d(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0.0,t=0,l=0.0,c=0.0,s=0.0,u=0.0,b=0.0,v=0,B=0.0,k=0,w=0;v=A+8|0;k=e+8|0;A:while(1){e:do{switch(f[n+(i*40|0)>>2]|0){case 3:{w=3;break A}case 2:{a=+o[v>>3];t=n+(i*40|0)+8|0;l=+o[n+(i*40|0)+16>>3];c=l+1.0e-07;do{if(!(a>c)){s=l+-1.0e-07;if(!(a>3]>+o[t>>3]:0)break;if(+Y(+(a-l))<=1.0e-07?(u=+o[t>>3],+Y(+(+o[A>>3]-u))<=1.0e-07):0){a=+o[k>>3];do{if(!(a>c)){if(!(a>3]>u:0)break;i=n+(i*40|0)+32|0;break e}}while(0);i=n+(i*40|0)+36|0;break e}i=n+(i*40|0)+32|0;break e}}while(0);i=n+(i*40|0)+36|0;break}case 1:{a=+o[v>>3];t=f[n+(i*40|0)+4>>2]|0;if(+Y(+(a-+o[r+(t*56|0)+8>>3]))<=1.0e-07?(b=+o[A>>3],+Y(+(b-+o[r+(t*56|0)>>3]))<=1.0e-07):0)l=b;else w=19;do{if((w|0)==19){w=0;if(+Y(+(a-+o[r+(t*56|0)+24>>3]))<=1.0e-07?(B=+o[A>>3],+Y(+(B-+o[r+(t*56|0)+16>>3]))<=1.0e-07):0){l=B;break}if(!(Ag(t,r,A)|0)){i=n+(i*40|0)+36|0;break e}else{i=n+(i*40|0)+32|0;break e}}}while(0);if(!(+Y(+(a-+o[k>>3]))<=1.0e-07))if(!(Ag(t,r,e)|0)){i=n+(i*40|0)+36|0;break e}else{i=n+(i*40|0)+32|0;break e}else if(+o[e>>3]>2]|0}if((w|0)==3)return f[n+(i*40|0)+24>>2]|0;else if((w|0)==31){JP(123169,35,1,f[13918]|0)|0;BA(123205,123207,349,123219)}return 0}function Ag(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0,a=0.0,t=0,l=0,c=0.0;f=e+(A*56|0)+16|0;a=+o[e+(A*56|0)+24>>3];t=e+(A*56|0)|0;n=+o[e+(A*56|0)+8>>3];do{if(!(a>n+1.0e-07)){if(!(a>3]>+o[t>>3]:0){l=4;break}r=+o[i+8>>3];if(+Y(+(a-r))<=1.0e-07){r=+o[i>>3]<+o[f>>3]?1.0:-1.0;break}if(!(+Y(+(n-r))<=1.0e-07)){c=+o[f>>3];r=(+o[t>>3]-c)*(r-a)-(+o[i>>3]-c)*(n-a);break}else{r=+o[i>>3]<+o[t>>3]?1.0:-1.0;break}}else l=4}while(0);do{if((l|0)==4){r=+o[i+8>>3];if(+Y(+(a-r))<=1.0e-07){r=+o[i>>3]<+o[f>>3]?1.0:-1.0;break}if(!(+Y(+(n-r))<=1.0e-07)){c=+o[t>>3];r=(+o[f>>3]-c)*(r-n)-(+o[i>>3]-c)*(a-n);break}else{r=+o[i>>3]<+o[t>>3]?1.0:-1.0;break}}}while(0);return r>0.0|0}function eg(A,e,i){A=A|0;e=e|0;i=i|0;return f[e+((f[((i|0)==1?e+(A*56|0)+48|0:e+(A*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function ig(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=f[42439]|0;if((e|0)<(f[42438]|0)){f[A+(e*72|0)>>2]=-1;f[A+(e*72|0)+4>>2]=-1;f[A+(e*72|0)+68>>2]=1;f[42439]=e+1;v=r;return e|0}else{r=f[13918]|0;f[i>>2]=e;uP(r,123294,i)|0;BA(123205,123207,88,123332)}return 0}function rg(){var A=0;A=f[42440]|0;if((A|0)<(f[42437]|0)){f[42440]=A+1;return A|0}else{JP(123255,30,1,f[13918]|0)|0;BA(123205,123207,72,123286)}return 0}function ng(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+o[A+8>>3];r=+o[e+8>>3];if(!(i>r+1.0e-07))if(i>3]>=+o[e>>3]&1;else A=1;return A|0}function fg(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+o[A+8>>3];r=+o[e+8>>3];if(!(ir+1.0e-07)A=0;else A=+o[A>>3]<+o[e>>3]&1;else A=1;return A|0}function ag(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;k=n+(i*72|0)+24|0;B=(r|0)==1;A:while(1){v=n+(e*72|0)+24|0;c=n+(e*72|0)+48|0;o=n+(e*72|0)+52|0;s=n+(e*72|0)|0;u=n+(e*72|0)+4|0;b=n+(e*72|0)+56|0;if((e|0)<=0)break;while(1){if(!(ng(v,k)|0))break A;i=f[c>>2]|0;r=(i|0)>0;do{if(B){if(r?(f[n+(i*72|0)+4>>2]|0)==(A|0):0)break;i=f[o>>2]|0;if((i|0)<=0){e=i;continue A}if((f[n+(i*72|0)+4>>2]|0)!=(A|0)){e=i;continue A}}else{if(r?(f[n+(i*72|0)>>2]|0)==(A|0):0)break;i=f[o>>2]|0;if((i|0)<=0){e=i;continue A}if((f[n+(i*72|0)>>2]|0)!=(A|0)){e=i;continue A}}}while(0);if((f[s>>2]|0)!=(f[n+(i*72|0)>>2]|0)){e=i;continue A}if((f[u>>2]|0)!=(f[n+(i*72|0)+4>>2]|0)){e=i;continue A}w=f[n+(i*72|0)+56>>2]|0;r=f[a+(w*40|0)+28>>2]|0;t=a+(r*40|0)+32|0;l=f[b>>2]|0;if((f[t>>2]|0)==(w|0))f[t>>2]=l;else f[a+(r*40|0)+36>>2]=l;r=f[n+(i*72|0)+48>>2]|0;f[c>>2]=r;do{if((r|0)>0){t=n+(r*72|0)+40|0;if((f[t>>2]|0)==(i|0)){f[t>>2]=e;break}r=n+(r*72|0)+44|0;if((f[r>>2]|0)==(i|0))f[r>>2]=e}}while(0);r=f[n+(i*72|0)+52>>2]|0;f[o>>2]=r;do{if((r|0)>0){t=n+(r*72|0)+40|0;if((f[t>>2]|0)==(i|0)){f[t>>2]=e;break}r=n+(r*72|0)+44|0;if((f[r>>2]|0)==(i|0))f[r>>2]=e}}while(0);w=n+(i*72|0)+24|0;f[v>>2]=f[w>>2];f[v+4>>2]=f[w+4>>2];f[v+8>>2]=f[w+8>>2];f[v+12>>2]=f[w+12>>2];f[n+(i*72|0)+68>>2]=2}}return}function tg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0;r=+o[e+8>>3];n=+o[i+8>>3];do{if(!(r>n+1.0e-07)){if(!(+Y(+(r-n))<=1.0e-07)){f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}if(+o[e>>3]>+o[i>>3]+1.0e-07){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];break}else{f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}}else{f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2]}}while(0);return}function lg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0;r=+o[e+8>>3];n=+o[i+8>>3];do{if(!(r>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}if(+o[e>>3]<+o[i>>3]){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];break}else{f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}}else{f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2]}}while(0);return}function cg(A){A=A|0;var e=0;e=Jb(8)|0;if(e|0){f[e+4>>2]=A;f[e>>2]=0}return e|0}function og(A,e){A=A|0;e=e|0;if(e){e=cg(e)|0;f[e>>2]=A;A=e}return A|0}function sg(A){A=A|0;var e=0;do{e=A;A=f[A>>2]|0;HW(e)}while((A|0)!=0);return}function ug(){var A=0;A=Jb(1992)|0;if(A|0)f[A>>2]=bg(A)|0;return A|0}function bg(A){A=A|0;var e=0;e=dg(A)|0;f[e+4>>2]=0;A=A+1972|0;f[A>>2]=(f[A>>2]|0)+1;return e|0}function vg(A){A=A|0;Bg(A,f[A>>2]|0);HW(f[A>>2]|0);HW(A);return 0}function Bg(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;a=A+1980|0;t=A+1912|0;l=A+1936|0;A:do{if((f[e+4>>2]|0)>0){i=0;while(1){if((i|0)==64)break A;r=e+8+(i*20|0)+16|0;n=f[r>>2]|0;if(n|0?(Bg(A,n),HW(f[r>>2]|0),Cg(e,i),f[a>>2]=(f[a>>2]|0)+-1,f[t>>2]|0):0)f[l>>2]=(f[l>>2]|0)+1;i=i+1|0}}else{i=0;while(1){if((i|0)==64)break A;if(f[e+8+(i*20|0)+16>>2]|0?(Cg(e,i),f[a>>2]=(f[a>>2]|0)+-1,f[t>>2]|0):0)f[l>>2]=(f[l>>2]|0)+1;i=i+1|0}}}while(0);return}function kg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;if(!e)BA(123690,123340,194,123348);r=f[e+4>>2]|0;if((r|0)<=-1)BA(123360,123340,195,123348);if(!i)BA(123632,123340,196,123348);l=A+1952|0;f[l>>2]=(f[l>>2]|0)+1;A:do{if((r|0)>0){l=0;r=0;while(1){if((l|0)==64)break A;n=e+8+(l*20|0)+16|0;if((f[n>>2]|0)!=0?(Yg(i,e+8+(l*20|0)|0)|0)!=0:0){a=kg(A,f[n>>2]|0,i)|0;if(!r)r=a;else{n=r;while(1){t=f[n>>2]|0;if(!t)break;else n=t}f[n>>2]=a}}l=l+1|0}}else{a=0;r=0;while(1){if((a|0)==64)break A;n=e+8+(a*20|0)|0;if((f[e+8+(a*20|0)+16>>2]|0)!=0?(Yg(i,n)|0)!=0:0)r=og(r,n)|0;a=a+1|0}}}while(0);return r|0}function wg(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+64|0;o=B+52|0;s=B+32|0;u=B+16|0;b=B;f[o>>2]=0;if(!((e|0)!=0&(r|0)!=0))BA(123546,123340,247,123374);if((n|0)>-1?(c=f[r>>2]|0,(f[c+4>>2]|0)>=(n|0)):0){a=0;while(1){if((a|0)>=2)break;if((f[e+(a<<2)>>2]|0)>(f[e+(a+2<<2)>>2]|0)){t=8;break}else a=a+1|0}if((t|0)==8)BA(123421,123340,250,123374);l=A+1912|0;a=A+1908|0;t=f[a>>2]|0;if(f[l>>2]|0){k=t|0?A+1924|0:A+1916|0;f[k>>2]=(f[k>>2]|0)+1}if(!t){k=A+1964|0;f[k>>2]=(f[k>>2]|0)+1}if(!(hg(A,e,i,c,o,n)|0))a=0;else{if(f[l>>2]|0){k=f[a>>2]|0?A+1948|0:A+1944|0;f[k>>2]=(f[k>>2]|0)+1}a=dg(A)|0;k=A+1976|0;f[k>>2]=(f[k>>2]|0)+1;k=f[r>>2]|0;f[a+4>>2]=(f[k+4>>2]|0)+1;Zg(u,k);f[s>>2]=f[u>>2];f[s+4>>2]=f[u+4>>2];f[s+8>>2]=f[u+8>>2];f[s+12>>2]=f[u+12>>2];k=s+16|0;f[k>>2]=f[r>>2];Ig(A,s,a,0)|0;Zg(b,f[o>>2]|0);f[s>>2]=f[b>>2];f[s+4>>2]=f[b+4>>2];f[s+8>>2]=f[b+8>>2];f[s+12>>2]=f[b+12>>2];f[k>>2]=f[o>>2];Ig(A,s,a,0)|0;f[r>>2]=a;a=A+1980|0;f[a>>2]=(f[a>>2]|0)+2;a=1}v=B;return a|0}BA(123386,123340,248,123374);return 0}function hg(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+80|0;s=k+52|0;u=k+48|0;b=k+32|0;B=k+16|0;o=k;f[u>>2]=0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0))BA(123464,123340,311,123478);if((a|0)>-1?(l=r+4|0,t=f[l>>2]|0,(t|0)>=(a|0)):0){if(f[A+1912>>2]|0){t=f[A+1908>>2]|0?A+1948|0:A+1944|0;f[t>>2]=(f[t>>2]|0)+1;t=f[l>>2]|0}do{if((t|0)>(a|0)){l=Gg(e,r)|0;t=r+8+(l*20|0)+16|0;l=r+8+(l*20|0)|0;if(!(hg(A,e,i,f[t>>2]|0,u,a)|0)){yg(b,e,l);f[l>>2]=f[b>>2];f[l+4>>2]=f[b+4>>2];f[l+8>>2]=f[b+8>>2];f[l+12>>2]=f[b+12>>2];c=0;break}else{Zg(B,f[t>>2]|0);f[l>>2]=f[B>>2];f[l+4>>2]=f[B+4>>2];f[l+8>>2]=f[B+8>>2];f[l+12>>2]=f[B+12>>2];c=f[u>>2]|0;f[s+16>>2]=c;Zg(o,c);f[s>>2]=f[o>>2];f[s+4>>2]=f[o+4>>2];f[s+8>>2]=f[o+8>>2];f[s+12>>2]=f[o+12>>2];c=A+1980|0;f[c>>2]=(f[c>>2]|0)+1;c=Ig(A,s,r,n)|0;break}}else if((t|0)==(a|0)){f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];f[s+12>>2]=f[e+12>>2];f[s+16>>2]=i;c=A+1980|0;f[c>>2]=(f[c>>2]|0)+1;c=Ig(A,s,r,n)|0;break}else BA(123523,123340,341,123478)}while(0);v=k;return c|0}BA(123491,123340,312,123478);return 0}function dg(A){A=A|0;A=A+1968|0;f[A>>2]=(f[A>>2]|0)+1;A=RW(1288)|0;gg(A);return A|0}function gg(A){A=A|0;var e=0;f[A>>2]=0;f[A+4>>2]=-1;e=0;while(1){if((e|0)==64)break;mg(A+8+(e*20|0)|0);e=e+1|0}return}function mg(A){A=A|0;Mg(A);f[A+16>>2]=0;return}function Zg(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+32|0;a=l+16|0;t=l;if(!e)BA(123690,123529,99,123536);Mg(a);i=1;n=0;while(1){if((n|0)==64)break;do{if(f[e+8+(n*20|0)+16>>2]|0){r=e+8+(n*20|0)|0;if(!i){yg(t,a,r);f[a>>2]=f[t>>2];f[a+4>>2]=f[t+4>>2];f[a+8>>2]=f[t+8>>2];f[a+12>>2]=f[t+12>>2];i=0;break}else{f[a>>2]=f[r>>2];f[a+4>>2]=f[r+4>>2];f[a+8>>2]=f[r+8>>2];f[a+12>>2]=f[r+12>>2];i=0;break}}}while(0);n=n+1|0}f[A>>2]=f[a>>2];f[A+4>>2]=f[a+4>>2];f[A+8>>2]=f[a+8>>2];f[A+12>>2]=f[a+12>>2];v=l;return}function Gg(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;o=v;v=v+32|0;l=o+16|0;c=o;if(!((A|0)!=0&(e|0)!=0))BA(123546,123529,125,123553);i=0;r=0;n=0;a=1;t=0;while(1){if((t|0)==64)break;if(f[e+8+(t*20|0)+16>>2]|0){u=e+8+(t*20|0)|0;B=Qg(u)|0;yg(c,A,u);f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];u=(Qg(l)|0)-B|0;s=(a|0)!=0|(u|0)<(n|0);b=s|(B|0)<(r|0)&(u|0)==(n|0);i=b?t:i;r=b?B:r;n=b?u:n;a=s?0:a}t=t+1|0}v=o;return i|0}function Ig(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;if(!e)BA(123712,123529,167,123564);if(!i)BA(123690,123529,168,123564);do{if((f[i>>2]|0)<64){A=0;while(1){if((A|0)>=64){r=10;break}if(!(f[i+8+(A*20|0)+16>>2]|0)){r=8;break}A=A+1|0}if((r|0)==8){n=i+8+(A*20|0)|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];f[n+16>>2]=f[e+16>>2];n=0;a=i;break}else if((r|0)==10)BA(123574,123529,178,123564)}else{if(f[A+1912>>2]|0){t=f[A+1908>>2]|0?A+1948|0:A+1944|0;f[t>>2]=(f[t>>2]|0)+1}if(!r)BA(123587,123529,187,123564);else{pg(A,i,e,r);n=1;a=(f[i+4>>2]|0)==0?A+1972|0:A+1976|0;break}}}while(0);f[a>>2]=(f[a>>2]|0)+1;return n|0}function Cg(A,e){A=A|0;e=e|0;if(!((A|0)!=0&e>>>0<64))BA(123591,123529,201,123619);if(!(f[A+8+(e*20|0)+16>>2]|0))BA(124113,123529,202,123619);else{mg(A+8+(e*20|0)|0);f[A>>2]=(f[A>>2]|0)+-1;return}}function Mg(A){A=A|0;var e=0;e=0;while(1){if((e|0)==4)break;f[A+(e<<2)>>2]=0;e=e+1|0}return}function Eg(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;f[i>>2]=1;f[i+8>>2]=-1;e=1;while(1){if((e|0)==2)break;f[i+(e+2<<2)>>2]=0;f[i+(e<<2)>>2]=0;e=e+1|0}f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];v=r;return}function Qg(A){A=A|0;var e=0,i=0,r=0;if(!A)BA(123632,123634,128,123646);A:do{if((f[A>>2]|0)>(f[A+8>>2]|0))e=0;else{e=1;i=0;while(1){if((i|0)==2)break A;r=X(f[A+(i+2<<2)>>2]|0,e)|0;e=r-(f[A+(i<<2)>>2]|0)|0;i=i+1|0}}}while(0);return e|0}function yg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0;a=v;v=v+16|0;n=a;if(!((e|0)!=0&(i|0)!=0))BA(123655,123634,195,123663);do{if((f[e>>2]|0)>(f[e+8>>2]|0)){f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2]}else{if((f[i>>2]|0)>(f[i+8>>2]|0)){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];break}else r=0;while(1){if((r|0)==2)break;c=f[e+(r<<2)>>2]|0;t=f[i+(r<<2)>>2]|0;f[n+(r<<2)>>2]=(c|0)<(t|0)?c:t;t=r+2|0;c=f[e+(t<<2)>>2]|0;l=f[i+(t<<2)>>2]|0;f[n+(t<<2)>>2]=(c|0)>(l|0)?c:l;r=r+1|0}f[A>>2]=f[n>>2];f[A+4>>2]=f[n+4>>2];f[A+8>>2]=f[n+8>>2];f[A+12>>2]=f[n+12>>2]}}while(0);v=a;return}function Yg(A,e){A=A|0;e=e|0;var i=0,r=0;if((A|0)!=0&(e|0)!=0)i=0;else BA(123675,123634,216,123682);while(1){if((i|0)>=2){i=1;break}r=i+2|0;if((f[A+(i<<2)>>2]|0)>(f[e+(r<<2)>>2]|0)){i=0;break}if((f[e+(i<<2)>>2]|0)>(f[A+(r<<2)>>2]|0)){i=0;break}else i=i+1|0}return i|0}function pg(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;if(!e)BA(123690,123692,40,123702);if(!i)BA(123712,123692,41,123702);l=A+1912|0;if(f[l>>2]|0){t=f[A+1908>>2]|0?A+1932|0:A+1928|0;f[t>>2]=(f[t>>2]|0)+1}a=e+4|0;t=f[a>>2]|0;Vg(A,e,i);i=A+1324|0;Ng(A);n=Qg(A+1852|0)|0;n=(Qg(A+1868|0)|0)+n|0;if(f[l>>2]|0?(n|0)!=0&(f[A+1908>>2]|0)==0:0){l=A+1960|0;c[l>>2]=+((f[A+1320>>2]|0)>>>0)/+(n|0)+ +c[l>>2]}l=dg(A)|0;f[r>>2]=l;f[a>>2]=t;f[l+4>>2]=t;Wg(A,e,l,i);if(((f[f[r>>2]>>2]|0)+(f[e>>2]|0)|0)==65)return;else BA(123714,123692,86,123702)}function Vg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0;t=v;v=v+16|0;a=t;if(!e)BA(123690,123692,106,124101);if(!i)BA(123712,123692,107,124101);else r=0;while(1){if((r|0)>=64)break;if(!(f[e+8+(r*20|0)+16>>2]|0)){n=7;break}c=e+8+(r*20|0)|0;l=A+4+(r*20|0)|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];f[l+16>>2]=f[c+16>>2];r=r+1|0}if((n|0)==7)BA(124113,123692,111,124101);r=A+4|0;c=A+1284|0;f[c>>2]=f[i>>2];f[c+4>>2]=f[i+4>>2];f[c+8>>2]=f[i+8>>2];f[c+12>>2]=f[i+12>>2];f[c+16>>2]=f[i+16>>2];i=A+1304|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];r=1;while(1){if((r|0)==65)break;yg(a,i,A+4+(r*20|0)|0);f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];r=r+1|0}f[A+1320>>2]=Qg(i)|0;gg(e);v=t;return}function Ng(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;g=v;v=v+48|0;l=g+32|0;o=g+16|0;s=g;zg(A);Jg(A);k=A+1844|0;h=A+1848|0;d=A+1892|0;u=A+1852|0;b=A+1884|0;B=A+1868|0;c=A+1888|0;n=0;r=0;while(1){i=f[k>>2]|0;e=f[h>>2]|0;if((e+i|0)>=65)break;t=65-(f[d>>2]|0)|0;if((i|0)<(t|0)&(e|0)<(t|0)){a=-1;t=0}else{w=12;break}while(1){if((t|0)==65)break;if(!(f[A+1584+(t<<2)>>2]|0)){m=A+4+(t*20|0)|0;yg(o,m,u);f[l>>2]=f[o>>2];f[l+4>>2]=f[o+4>>2];f[l+8>>2]=f[o+8>>2];f[l+12>>2]=f[o+12>>2];e=Qg(l)|0;i=f[b>>2]|0;yg(s,m,B);f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];m=Qg(l)|0;e=m-(f[c>>2]|0)+(i-e)|0;i=(e|0)>-1;e=i?e:0-e|0;i=(i^1)&1;if((e|0)<=(a|0))if((e|0)==(a|0)){m=(f[A+1844+(i<<2)>>2]|0)<(f[A+1844+(n<<2)>>2]|0);e=a;i=m?i:n;r=m?t:r}else{e=a;i=n}else r=t}else{e=a;i=n}a=e;t=t+1|0;n=i}Pg(A,r,n)}if((w|0)==12){e=(i|0)>=(65-(f[d>>2]|0)|0)&1;i=0;while(1){if((i|0)==65)break;if(!(f[A+1584+(i<<2)>>2]|0))Pg(A,i,e);i=i+1|0}i=f[k>>2]|0;e=f[h>>2]|0}if((e+i|0)!=65)BA(123857,123692,210,123943);m=f[d>>2]|0;if((i|0)<(m|0)|(e|0)<(m|0))BA(123954,123692,212,123943);else{v=g;return}}function Wg(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;if(!e)BA(123690,123692,297,123754);if(!i)BA(123764,123692,298,123754);if(!r)BA(123766,123692,299,123754);else n=0;while(1){if((n|0)>=65){r=14;break}r=f[A+1324+(n<<2)>>2]|0;if(r>>>0>=2){r=9;break}switch(r|0){case 0:{Ig(A,A+4+(n*20|0)|0,e,0)|0;break}case 1:{Ig(A,A+4+(n*20|0)|0,i,0)|0;break}default:{}}n=n+1|0}if((r|0)==9)BA(123768,123692,303,123754);else if((r|0)==14)return}function zg(A){A=A|0;var e=0,i=0,r=0,n=0;i=v;v=v+16|0;r=i;f[A+1848>>2]=0;f[A+1844>>2]=0;e=A+1852|0;n=A+1868|0;Eg(r);f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];f[n+8>>2]=f[r+8>>2];f[n+12>>2]=f[r+12>>2];f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2];f[A+1888>>2]=0;f[A+1884>>2]=0;e=0;while(1){if((e|0)==65)break;f[A+1584+(e<<2)>>2]=0;f[A+1324+(e<<2)>>2]=-1;e=e+1|0}v=i;return}function Jg(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0;b=v;v=v+304|0;o=b+32|0;s=b+16|0;u=b;e=0;while(1){if((e|0)==65)break;f[o+(e<<2)>>2]=Qg(A+4+(e*20|0)|0)|0;e=e+1|0}e=0;i=0;r=0;a=0;A:while(1){if((a|0)==64)break;l=a+1|0;c=A+4+(a*20|0)|0;t=o+(a<<2)|0;n=l;while(1){if((n|0)==65){a=l;continue A}yg(u,c,A+4+(n*20|0)|0);f[s>>2]=f[u>>2];f[s+4>>2]=f[u+4>>2];f[s+8>>2]=f[u+8>>2];f[s+12>>2]=f[u+12>>2];B=Qg(s)|0;B=B-(f[t>>2]|0)-(f[o+(n<<2)>>2]|0)|0;k=B>>>0>r>>>0;w=k?n:e;n=n+1|0;e=w;i=k?a:i;r=k?B:r}}Pg(A,i,0);Pg(A,e,1);v=b;return}function Pg(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;r=A+1584+(e<<2)|0;if(f[r>>2]|0)BA(124057,123692,257,124092);f[A+1324+(e<<2)>>2]=i;f[r>>2]=1;a=A+1844+(i<<2)|0;n=A+1852+(i<<4)|0;r=A+4+(e*20|0)|0;if(!(f[a>>2]|0)){f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];f[n+8>>2]=f[r+8>>2];f[n+12>>2]=f[r+12>>2]}else{yg(t,r,n);f[n>>2]=f[t>>2];f[n+4>>2]=f[t+4>>2];f[n+8>>2]=f[t+8>>2];f[n+12>>2]=f[t+12>>2]}f[A+1884+(i<<2)>>2]=Qg(n)|0;f[a>>2]=(f[a>>2]|0)+1;v=l;return}function Rg(){var A=0,e=0,i=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+1200|0;w=d+800|0;i=d;f[42441]=0;f[42442]=-2;e=w;l=200;u=i;B=0;k=0;b=w;A:while(1){n[b>>1]=B;if((e+(l<<1)+-2|0)>>>0>b>>>0)o=l;else{s=b-e>>1;A=s+1|0;if(l>>>0>9999){h=95;break}o=l<<1;o=o>>>0<1e4?o:1e4;t=RW(o*6|3)|0;if(t){VH(t|0,e|0,A<<1|0)|0;l=t+(o>>>1<<2)|0;VH(l|0,u|0,A<<2|0)|0;if((e|0)==(w|0)){A=0;e=t}else{HW(e);A=0;e=t}}else{A=4;l=u}c=(A|0)==0;t=e+(s<<1)|0;switch((c?(e+(o<<1)+-2|0)>>>0>t>>>0?0:9:A)&15){case 9:{A=1;h=96;break A}case 4:{h=95;break A}case 0:{i=c?l+(s<<2)|0:i;u=l;b=c?t:b;break}default:{A=0;break A}}}if((B|0)==31){A=0;h=96;break}A=n[58358+(B<<1)>>1]|0;c=A<<16>>16;do{if(A<<16>>16!=-82){t=f[42442]|0;if((t|0)==-2){t=cm()|0;f[42442]=t}if((t|0)>=1)if(t>>>0<296)l=a[124132+t>>0]|0;else l=2;else{f[42442]=0;l=0}t=l+c|0;if(t>>>0<=271?(l|0)==(r[124428+t>>0]|0):0){B=r[124700+t>>0]|0;A=B<<24>>24;if(B<<24>>24<1){t=0-A|0;h=23;break}else{f[42442]=-2;i=i+4|0;f[i>>2]=0;c=(k|0)==0?0:k+-1|0;t=b;break}}else h=22}else h=22}while(0);if((h|0)==22){h=0;B=r[124972+B>>0]|0;t=B&255;if(!(B<<24>>24)){t=f[42442]|0;e:do{switch(k|0){case 0:{f[42441]=(f[42441]|0)+1;fm(125369);t=b;break}case 3:if((t|0)<1)if(!t){A=1;h=96;break A}else{t=b;break e}else{f[42442]=-2;t=b;break e}default:t=b}}while(0);while(1){if(A<<16>>16==8)break;if((t|0)==(e|0)){A=1;h=96;break A}A=t+-2|0;i=i+-4|0;t=A;A=n[58358+(n[A>>1]<<1)>>1]|0}i=i+4|0;f[i>>2]=0;A=1;c=3}else h=23}do{if((h|0)==23){h=0;c=a[125088+t>>0]|0;A=f[i+(1-c<<2)>>2]|0;do{switch(t|0){case 4:{h=26;break A}case 2:{f[42443]=Hg(f[i+-4>>2]|0,2)|0;break}case 3:{f[42443]=Hg(f[i+-4>>2]|0,1)|0;break}case 5:{A=Fg()|0;break}case 8:{Dg(f[42444]|0);break}case 9:{Xg(f[i>>2]|0);break}case 18:{xg(f[i>>2]|0);break}case 19:{Tg();break}case 20:{xg(f[i>>2]|0);break}case 21:{Tg();break}case 22:{xg(f[i>>2]|0);break}case 23:{Tg();break}case 24:{xg(f[i>>2]|0);break}case 25:{Tg();break}case 26:{xg(f[i>>2]|0);break}case 27:{Tg();break}case 28:{xg(f[i>>2]|0);break}case 29:{Tg();break}case 30:{xg(f[i>>2]|0);break}case 31:{Tg();break}case 32:{xg(f[i>>2]|0);break}case 33:{Tg();break}case 34:{A=f[i+-4>>2]|0;break}case 35:{A=f[i>>2]|0;break}case 38:{A=f[42444]|0;l=f[A+4>>2]|0;if(l>>>0>=(f[A+8>>2]|0)>>>0){yy(A,1)|0;l=f[42444]|0;A=l;l=f[l+4>>2]|0}r[l>>0]=0;B=f[A>>2]|0;f[A+4>>2]=B;if(Ug(B)|0){h=51;break A}f[(f[i>>2]|0)+80>>2]=f[42445];A=vy(55016,f[4344]|0)|0;f[(f[i>>2]|0)+84>>2]=A;f[42445]=f[i>>2];f[(f[i>>2]|0)+108>>2]=f[f[42446]>>2];A=f[i>>2]|0;break}case 39:{A=f[42444]|0;l=f[A+4>>2]|0;if(l>>>0>=(f[A+8>>2]|0)>>>0){yy(A,1)|0;l=f[42444]|0;A=l;l=f[l+4>>2]|0}r[l>>0]=0;B=f[A>>2]|0;f[A+4>>2]=B;if(Ug(B)|0){h=56;break A}A=f[42445]|0;f[42445]=f[A+80>>2];break}case 40:{A=f[i>>2]|0;break}case 41:{A=f[i+-4>>2]|0;break}case 42:{A=f[i+-4>>2]|0;break}case 43:{A=f[i+-4>>2]|0;break}case 44:{A=f[i+-4>>2]|0;break}case 45:{A=f[i+-4>>2]|0;break}case 48:{A=f[i>>2]|0;break}case 49:{A=f[i>>2]|0;break}case 50:{r[(f[i+-8>>2]|0)+12>>0]=1;A=f[i>>2]|0;break}case 51:{Sg();break}case 52:{A=jg()|0;break}case 53:{A=f[i>>2]|0;break}case 54:{A=f[i>>2]|0;break}case 55:{A=(f[i+-8>>2]|0)+100|0;r[A>>0]=r[A>>0]|1;A=f[i>>2]|0;break}case 56:{Og(f[i+-4>>2]|0,f[i>>2]|0,1);break}case 57:{A=f[i+-12>>2]|0;break}case 58:{Og(f[i+-4>>2]|0,f[i>>2]|0,2);break}case 59:{A=f[i+-12>>2]|0;break}case 60:{Og(f[i+-4>>2]|0,f[i>>2]|0,3);break}case 61:{A=f[i+-12>>2]|0;break}case 62:{Og(f[i>>2]|0,Fg()|0,2);break}case 63:{A=f[i+-8>>2]|0;break}case 64:{A=f[i+-4>>2]|0;break}case 65:{A=f[i>>2]|0;break}default:{}}}while(0);l=0-c|0;B=i+(l<<2)|0;l=b+(l<<1)|0;i=B+4|0;f[B+4>>2]=A;A=(a[125260+t>>0]|0)+-41|0;B=n[l>>1]|0;t=B+(n[58590+(A<<1)>>1]|0)|0;if(t>>>0<272?(r[124428+t>>0]|0)==(B|0):0){A=r[124700+t>>0]|0;c=k;t=l;break}A=r[125330+A>>0]|0;c=k;t=l}}while(0);l=o;B=A;k=c;b=t+2|0}if((h|0)==26){Lg();A=1;h=96}else if((h|0)==51){fm(125158);Lg();A=1;h=96}else if((h|0)==56){fm(125209);Lg();A=1;h=96}else if((h|0)==95){fm(125382);A=2;h=96}if((h|0)==96)if((e|0)!=(w|0))HW(e);v=d;return A|0}function Hg(A,e){A=A|0;e=e|0;var i=0;i=Jb(8)|0;r[i+4>>0]=e;f[i>>2]=A;return i|0}function Lg(){var A=0,e=0;A=f[42445]|0;e=f[42443]|0;if(e|0){Nh(e,1);f[42443]=0}f[13767]=62;while(1){if(!A)break;e=f[A+80>>2]|0;$g(A);A=e}f[13767]=51;f[13776]=63;e=f[42448]|0;mL[f[e>>2]&31](e,0,64)|0;f[13776]=51;f[13785]=64;e=f[42449]|0;mL[f[e>>2]&31](e,0,64)|0;f[13785]=51;im();return}function Fg(){var A=0,e=0,i=0,r=0,a=0,t=0;i=f[42449]|0;r=Jb(40)|0;if(ky(f[42448]|0)|0)Xg(0);A=ky(i)|0;n[r+4>>1]=A;A:do{if(!A)A=i;else{f[r>>2]=Jb(A*24|0)|0;A=0;e=mL[f[i>>2]&31](i,0,128)|0;while(1){if(!e){A=i;break A}a=(f[r>>2]|0)+(A*24|0)|0;t=e+8|0;f[a>>2]=f[t>>2];f[a+4>>2]=f[t+4>>2];f[a+8>>2]=f[t+8>>2];f[a+12>>2]=f[t+12>>2];f[a+16>>2]=f[t+16>>2];f[a+20>>2]=f[t+20>>2];A=A+1|0;e=mL[f[i>>2]&31](i,e,8)|0}}}while(0);mL[f[A>>2]&31](i,0,64)|0;return r|0}function Dg(A){A=A|0;var e=0,i=0,n=0;i=Jb(64)|0;n=A+4|0;e=f[n>>2]|0;if(e>>>0>=(f[A+8>>2]|0)>>>0){yy(A,1)|0;e=f[n>>2]|0}r[e>>0]=0;A=f[A>>2]|0;f[n>>2]=A;f[i+8>>2]=dP(A)|0;f[i+12>>2]=f[f[42446]>>2];n=f[42448]|0;mL[f[n>>2]&31](n,i,1)|0;return}function Xg(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0;l=Jb(32)|0;c=f[42448]|0;e=ky(c)|0;o=l+8|0;r[l+14>>0]=A;A:do{if(!e){f[o>>2]=Jb(56)|0;n[l+12>>1]=1;t=dP(174185)|0;o=f[o>>2]|0;f[o>>2]=t;f[o+4>>2]=f[f[42446]>>2]}else{n[l+12>>1]=e;f[o>>2]=Jb(e*56|0)|0;A=0;e=uy(c)|0;while(1){if(!e)break A;i=(f[o>>2]|0)+(A*56|0)|0;a=e+8|0;t=i+56|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(t|0));A=A+1|0;e=f[e>>2]|0}}}while(0);mL[f[c>>2]&31](c,0,64)|0;o=f[42449]|0;mL[f[o>>2]&31](o,l,1)|0;return}function xg(A){A=A|0;var e=0,i=0.0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+32|0;a=l;t=Jb(8)|0;n=f[f[42446]>>2]|0;f[a>>2]=f[A>>2];f[a+4>>2]=f[A+4>>2];f[a+8>>2]=f[A+8>>2];f[a+12>>2]=f[A+12>>2];f[a+16>>2]=f[A+16>>2];f[a+20>>2]=f[A+20>>2];f[a+24>>2]=f[A+24>>2];f[a+28>>2]=f[A+28>>2];if(n|0){A=a+4|0;if((f[A>>2]|0)==0?(e=f[n+4>>2]|0,e|0):0)f[A>>2]=e;A=a+16|0;if(+o[A>>3]<0.0?(i=+o[n+16>>3],i>=0.0):0)o[A>>3]=i;if((f[a>>2]|0)==0?(r=f[n>>2]|0,r|0):0)f[a>>2]=r;A=f[n+24>>2]&127;if(A|0){n=a+24|0;r=f[n>>2]|0;f[n>>2]=r&127|A|r&-128}}n=f[(f[42447]|0)+144>>2]|0;f[t>>2]=mL[f[n>>2]&31](n,a,1)|0;f[t+4>>2]=f[42446];f[42446]=t;v=l;return}function Tg(){var A=0,e=0;e=f[42446]|0;A=f[e+4>>2]|0;HW(e);f[42446]=A;return}function Ug(A){A=A|0;var e=0;while(1){e=r[A>>0]|0;if(!(e<<24>>24)){A=0;break}if(e<<24>>24==32)A=A+1|0;else{A=1;break}}return A|0}function Sg(){var A=0,e=0,i=0;i=vy(55052,f[4344]|0)|0;A=f[42445]|0;e=Jb(16)|0;f[e+8>>2]=i;if(r[A+112>>0]&2)r[e+12>>0]=1;i=f[A+84>>2]|0;mL[f[i>>2]&31](i,e,1)|0;return}function jg(){var A=0;A=f[(f[42445]|0)+84>>2]|0;return mL[f[A>>2]&31](A,0,256)|0}function Og(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;a=Jb(16)|0;n=f[42445]|0;t=f[n+84>>2]|0;t=f[(mL[f[t>>2]&31](t,0,256)|0)+8>>2]|0;f[a+8>>2]=A;mL[f[t>>2]&31](t,a,1)|0;r[A+92>>0]=i;if(r[n+112>>0]&1)r[A+100>>0]=1;f[A+88>>2]=e;return}function Kg(A,e,i){A=A|0;e=e|0;i=i|0;HW(e);return}function _g(A,e,i){A=A|0;e=e|0;i=i|0;ly(f[e+8>>2]|0)|0;HW(e);return}function qg(A,e,i){A=A|0;e=e|0;i=i|0;rm(f[e+8>>2]|0);HW(e);return}function $g(A){A=A|0;ly(f[A+84>>2]|0)|0;Yh(A);HW(A);return}function Am(A,e,i){A=A|0;e=e|0;i=i|0;HW(f[e+8>>2]|0);HW(e);return}function em(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,t=0;a=e+12|0;A=n[a>>1]|0;if(A<<16>>16){t=e+8|0;i=0;r=f[t>>2]|0;while(1){if((i|0)>=(A<<16>>16|0))break;HW(f[r>>2]|0);i=i+1|0;r=r+56|0;A=n[a>>1]|0}HW(f[t>>2]|0)}HW(e);return}function im(){var A=0,e=0;A=f[42446]|0;while(1){e=f[A+4>>2]|0;if(!e)break;HW(A);A=e}return}function rm(A){A=A|0;var e=0;e=A+88|0;switch(r[A+92>>0]|0){case 1:{$g(f[e>>2]|0);break}case 2:{ph(f[e>>2]|0);break}default:{}}Yh(A);HW(A);return}function nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;n=v;v=v+160|0;r=n+8|0;a=n;f[a>>2]=0;f[a+4>>2]=0;f[42446]=a;f[42445]=0;f[42443]=0;f[42447]=f[(f[(f[i+52>>2]|0)+16>>2]|0)+144>>2];f[42448]=vy(55088,f[4344]|0)|0;f[42449]=vy(55124,f[4344]|0)|0;Qy(r,128,n+24|0);f[42444]=r;if(!(tm(A,r,i)|0)){Rg()|0;f[e>>2]=lm()|0;A=f[42443]|0}else{f[e>>2]=2;A=0}ly(f[42448]|0)|0;ly(f[42449]|0)|0;f[42448]=0;f[42449]=0;f[42446]=0;Vy(r);v=n;return A|0}function fm(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if(!(r[169800]|0)){r[169800]=1;f[e>>2]=A;f[e+4>>2]=0;Iy(1,125399,e)|0;am()}else{v=i;return}}function am(){jA()}function tm(A,e,i){A=A|0;e=e|0;i=i|0;A=v;v=v+16|0;if(!(f[42451]|0)){Iy(0,125415,A)|0;f[42451]=(f[42451]|0)+1}v=A;return 1}function lm(){return 1}function cm(){return-1}function om(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,d=0,g=0;g=v;v=v+64|0;s=g+48|0;o=g+32|0;k=4;c=RW(40)|0;f[c>>2]=0;u=g+16|0;b=g;B=f[i>>2]|0;l=f[i+4>>2]|0;k=YH(169808,1,c|0,k|0)|0;c=Q;w=0;i=w;w=0;if((i|0)!=0&(h|0)!=0){a=pH(f[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,h|0);Q=h}else a=-1;if((a|0)==1)i=Q;else i=0;while(1){if(i|0){i=-1;break}w=0;f[s>>2]=f[r>>2];f[s+4>>2]=f[r+4>>2];f[s+8>>2]=f[r+8>>2];f[s+12>>2]=f[r+12>>2];cA(26,u|0,s|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){a=pH(f[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,h|0);Q=h}else a=-1;if((a|0)==1){i=Q;continue}f[r>>2]=f[u>>2];f[r+4>>2]=f[u+4>>2];f[r+8>>2]=f[u+8>>2];f[r+12>>2]=f[u+12>>2];t=r+16|0;w=0;f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2];f[s+8>>2]=f[t+8>>2];f[s+12>>2]=f[t+12>>2];cA(26,b|0,s|0);i=w;w=0;if((i|0)!=0&(h|0)!=0){a=pH(f[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,h|0);Q=h}else a=-1;if((a|0)==1){i=Q;continue}f[t>>2]=f[b>>2];f[t+4>>2]=f[b+4>>2];f[t+8>>2]=f[b+8>>2];f[t+12>>2]=f[b+12>>2];f[42491]=0;w=0;lA(93,4);i=w;w=0;if((i|0)!=0&(h|0)!=0){a=pH(f[i>>2]|0,k|0,c|0)|0;if(!a)OA(i|0,h|0);Q=h}else a=-1;if((a|0)==1){i=Q;continue}a=f[42492]|0;i=f[42491]|0;f[42491]=i+1;i=a+(i<<4)|0;f[i>>2]=f[B>>2];f[i+4>>2]=f[B+4>>2];f[i+8>>2]=f[B+8>>2];f[i+12>>2]=f[B+12>>2];w=0;f[o>>2]=f[r>>2];f[o+4>>2]=f[r+4>>2];f[o+8>>2]=f[r+8>>2];f[o+12>>2]=f[r+12>>2];f[s>>2]=f[t>>2];f[s+4>>2]=f[t+4>>2];f[s+8>>2]=f[t+8>>2];f[s+12>>2]=f[t+12>>2];i=aA(1,A|0,e|0,B|0,l|0,o|0,s|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){t=pH(f[a>>2]|0,k|0,c|0)|0;if(!t)OA(a|0,h|0);Q=h}else t=-1;if((t|0)==1)i=Q;else{d=8;break}}if((d|0)==8)if((i|0)==-1)i=-1;else{f[n+4>>2]=f[42491];f[n>>2]=f[42492];i=0}HW(k|0);v=g;return i|0}function sm(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0.0,a=0.0,t=0.0;i=+o[e>>3];r=e+8|0;n=+o[r>>3];t=n*n+i*i;a=+p(+t);if(t>1.0e-06){o[e>>3]=i/a;o[r>>3]=n/a}f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function um(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+32|0;r=n+16|0;i=n;if((f[42495]|0)<(A|0)){e=f[42492]|0;if(!e){r=RW(A<<4)|0;f[42492]=r;if(!r){r=f[13918]|0;f[i>>2]=125476;f[i+4>>2]=531;f[i+8>>2]=125611;uP(r,125484,i)|0;OA(169808,1)}}else{i=FW(e,A<<4)|0;f[42492]=i;if(!i){i=f[13918]|0;f[r>>2]=125476;f[r+4>>2]=537;f[r+8>>2]=125629;uP(i,125484,r)|0;OA(169808,1)}}f[42495]=A}v=n;return}function bm(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0.0,c=0,s=0.0,u=0,b=0.0,B=0.0,k=0,w=0.0,h=0.0,d=0.0,g=0.0,m=0.0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0.0,U=0.0,S=0.0,j=0.0;X=v;v=v+336|0;z=X+320|0;W=X+304|0;Z=X+144|0;k=X+128|0;V=X+112|0;N=X+96|0;D=X+80|0;M=X+64|0;Q=X+48|0;J=X+32|0;P=X+16|0;R=X;G=X+288|0;I=X+272|0;C=X+256|0;E=X+240|0;y=X+224|0;Y=X+208|0;H=X+192|0;L=X+176|0;F=X+160|0;t=f[42494]|0;do{if((f[42493]|0)<(r|0)){if(!t){t=RW(r*40|0)|0;f[42494]=t;if(!t){t=-1;break}}else{t=FW(t,r*40|0)|0;f[42494]=t;if(!t){t=-1;break}}f[42493]=r;c=6}else c=6}while(0);if((c|0)==6){o[t>>3]=0.0;c=1;l=0.0;while(1){if((c|0)>=(r|0))break;u=i+(c<<4)|0;p=i+(c+-1<<4)|0;f[W>>2]=f[u>>2];f[W+4>>2]=f[u+4>>2];f[W+8>>2]=f[u+8>>2];f[W+12>>2]=f[u+12>>2];f[z>>2]=f[p>>2];f[z+4>>2]=f[p+4>>2];f[z+8>>2]=f[p+8>>2];f[z+12>>2]=f[p+12>>2];m=+vm(W,z)+l;o[t+(c*40|0)>>3]=m;c=c+1|0;l=m}p=r+-1|0;u=t+(p*40|0)|0;c=1;while(1){if((c|0)>=(r|0))break;x=t+(c*40|0)|0;o[x>>3]=+o[x>>3]/+o[u>>3];c=c+1|0}c=0;while(1){if((c|0)>=(r|0))break;x=t+(c*40|0)+8|0;u=t+(c*40|0)|0;m=+Bm(+o[u>>3]);f[z>>2]=f[n>>2];f[z+4>>2]=f[n+4>>2];f[z+8>>2]=f[n+8>>2];f[z+12>>2]=f[n+12>>2];km(G,z,m);f[x>>2]=f[G>>2];f[x+4>>2]=f[G+4>>2];f[x+8>>2]=f[G+8>>2];f[x+12>>2]=f[G+12>>2];x=t+(c*40|0)+24|0;m=+wm(+o[u>>3]);f[z>>2]=f[a>>2];f[z+4>>2]=f[a+4>>2];f[z+8>>2]=f[a+8>>2];f[z+12>>2]=f[a+12>>2];km(I,z,m);f[x>>2]=f[I>>2];f[x+4>>2]=f[I+4>>2];f[x+8>>2]=f[I+8>>2];f[x+12>>2]=f[I+12>>2];c=c+1|0}f[W>>2]=f[n>>2];f[W+4>>2]=f[n+4>>2];f[W+8>>2]=f[n+8>>2];f[W+12>>2]=f[n+12>>2];f[z>>2]=f[a>>2];f[z+4>>2]=f[a+4>>2];f[z+8>>2]=f[a+8>>2];f[z+12>>2]=f[a+12>>2];hm(i,r,t,W,z,V,M,N,Q);f[k>>2]=f[V>>2];f[k+4>>2]=f[V+4>>2];f[k+8>>2]=f[V+8>>2];f[k+12>>2]=f[V+12>>2];f[Z>>2]=f[M>>2];f[Z+4>>2]=f[M+4>>2];f[Z+8>>2]=f[M+8>>2];f[Z+12>>2]=f[M+12>>2];f[W>>2]=f[N>>2];f[W+4>>2]=f[N+4>>2];f[W+8>>2]=f[N+8>>2];f[W+12>>2]=f[N+12>>2];f[z>>2]=f[Q>>2];f[z+4>>2]=f[Q+4>>2];f[z+8>>2]=f[Q+8>>2];f[z+12>>2]=f[Q+12>>2];if(!(dm(A,e,k,Z,W,z,i,r)|0)){f[z>>2]=f[M>>2];f[z+4>>2]=f[M+4>>2];f[z+8>>2]=f[M+8>>2];f[z+12>>2]=f[M+12>>2];km(C,z,.3333333333333333);f[W>>2]=f[V>>2];f[W+4>>2]=f[V+4>>2];f[W+8>>2]=f[V+8>>2];f[W+12>>2]=f[V+12>>2];f[z>>2]=f[C>>2];f[z+4>>2]=f[C+4>>2];f[z+8>>2]=f[C+8>>2];f[z+12>>2]=f[C+12>>2];gm(E,W,z);m=+o[E>>3];g=+o[E+8>>3];f[z>>2]=f[Q>>2];f[z+4>>2]=f[Q+4>>2];f[z+8>>2]=f[Q+8>>2];f[z+12>>2]=f[Q+12>>2];km(y,z,.3333333333333333);f[W>>2]=f[N>>2];f[W+4>>2]=f[N+4>>2];f[W+8>>2]=f[N+8>>2];f[W+12>>2]=f[N+12>>2];f[z>>2]=f[y>>2];f[z+4>>2]=f[y+4>>2];f[z+8>>2]=f[y+8>>2];f[z+12>>2]=f[y+12>>2];mm(Y,W,z);d=+o[Y>>3];B=+o[Y+8>>3];k=f[42494]|0;w=+o[V>>3];h=+o[N>>3];b=+o[V+8>>3];s=+o[N+8>>3];u=D+8|0;t=-1;l=-1.0;c=1;while(1){if((c|0)>=(p|0))break;T=+o[k+(c*40|0)>>3];U=+Zm(T);S=+Bm(T);j=+wm(T);T=+Gm(T);o[D>>3]=S*m+w*U+j*d+h*T;o[u>>3]=j*B+S*g+b*U+s*T;x=i+(c<<4)|0;f[W>>2]=f[D>>2];f[W+4>>2]=f[D+4>>2];f[W+8>>2]=f[D+8>>2];f[W+12>>2]=f[D+12>>2];f[z>>2]=f[x>>2];f[z+4>>2]=f[x+4>>2];f[z+8>>2]=f[x+8>>2];f[z+12>>2]=f[x+12>>2];T=+vm(W,z);x=T>l;t=x?c:t;l=x?T:l;c=c+1|0}x=i+(t<<4)|0;D=i+(t+-1<<4)|0;f[W>>2]=f[x>>2];f[W+4>>2]=f[x+4>>2];f[W+8>>2]=f[x+8>>2];f[W+12>>2]=f[x+12>>2];f[z>>2]=f[D>>2];f[z+4>>2]=f[D+4>>2];f[z+8>>2]=f[D+8>>2];f[z+12>>2]=f[D+12>>2];mm(H,W,z);f[z>>2]=f[H>>2];f[z+4>>2]=f[H+4>>2];f[z+8>>2]=f[H+8>>2];f[z+12>>2]=f[H+12>>2];sm(P,z);D=t+1|0;H=i+(D<<4)|0;f[W>>2]=f[H>>2];f[W+4>>2]=f[H+4>>2];f[W+8>>2]=f[H+8>>2];f[W+12>>2]=f[H+12>>2];f[z>>2]=f[x>>2];f[z+4>>2]=f[x+4>>2];f[z+8>>2]=f[x+8>>2];f[z+12>>2]=f[x+12>>2];mm(L,W,z);f[z>>2]=f[L>>2];f[z+4>>2]=f[L+4>>2];f[z+8>>2]=f[L+8>>2];f[z+12>>2]=f[L+12>>2];sm(R,z);f[W>>2]=f[P>>2];f[W+4>>2]=f[P+4>>2];f[W+8>>2]=f[P+8>>2];f[W+12>>2]=f[P+12>>2];f[z>>2]=f[R>>2];f[z+4>>2]=f[R+4>>2];f[z+8>>2]=f[R+8>>2];f[z+12>>2]=f[R+12>>2];gm(F,W,z);f[z>>2]=f[F>>2];f[z+4>>2]=f[F+4>>2];f[z+8>>2]=f[F+8>>2];f[z+12>>2]=f[F+12>>2];sm(J,z);f[W>>2]=f[n>>2];f[W+4>>2]=f[n+4>>2];f[W+8>>2]=f[n+8>>2];f[W+12>>2]=f[n+12>>2];f[z>>2]=f[J>>2];f[z+4>>2]=f[J+4>>2];f[z+8>>2]=f[J+8>>2];f[z+12>>2]=f[J+12>>2];bm(A,e,i,D,W,z)|0;f[W>>2]=f[J>>2];f[W+4>>2]=f[J+4>>2];f[W+8>>2]=f[J+8>>2];f[W+12>>2]=f[J+12>>2];f[z>>2]=f[a>>2];f[z+4>>2]=f[a+4>>2];f[z+8>>2]=f[a+8>>2];f[z+12>>2]=f[a+12>>2];bm(A,e,x,r-t|0,W,z)|0;t=0}else t=0}v=X;return t|0}function vm(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+o[e>>3]-+o[A>>3];r=+o[e+8>>3]-+o[A+8>>3];return+ +p(+(r*r+i*i))}function Bm(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(A*3.0))}function km(A,e,i){A=A|0;e=e|0;i=+i;var r=0;o[e>>3]=+o[e>>3]*i;r=e+8|0;o[r>>3]=+o[r>>3]*i;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function wm(A){A=+A;return+(A*A*3.0*(1.0-A))}function hm(A,e,i,r,n,a,t,l,c){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;l=l|0;c=c|0;var s=0.0,u=0.0,b=0.0,B=0.0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0.0,G=0.0,I=0.0,C=0.0,M=0.0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0.0,W=0.0,z=0,J=0,P=0,R=0;V=v;v=v+128|0;E=V+112|0;m=V+80|0;g=V;w=V+96|0;h=V+64|0;d=V+48|0;Q=V+32|0;y=V+16|0;Y=A+(e+-1<<4)|0;k=0;Z=0.0;G=0.0;I=0.0;C=0.0;M=0.0;while(1){if((k|0)>=(e|0))break;J=i+(k*40|0)+8|0;f[m>>2]=f[J>>2];f[m+4>>2]=f[J+4>>2];f[m+8>>2]=f[J+8>>2];f[m+12>>2]=f[J+12>>2];f[E>>2]=f[J>>2];f[E+4>>2]=f[J+4>>2];f[E+8>>2]=f[J+8>>2];f[E+12>>2]=f[J+12>>2];N=+ym(m,E)+G;z=i+(k*40|0)+24|0;f[m>>2]=f[J>>2];f[m+4>>2]=f[J+4>>2];f[m+8>>2]=f[J+8>>2];f[m+12>>2]=f[J+12>>2];f[E>>2]=f[z>>2];f[E+4>>2]=f[z+4>>2];f[E+8>>2]=f[z+8>>2];f[E+12>>2]=f[z+12>>2];B=+ym(m,E)+M;f[m>>2]=f[z>>2];f[m+4>>2]=f[z+4>>2];f[m+8>>2]=f[z+8>>2];f[m+12>>2]=f[z+12>>2];f[E>>2]=f[z>>2];f[E+4>>2]=f[z+4>>2];f[E+8>>2]=f[z+8>>2];f[E+12>>2]=f[z+12>>2];b=+ym(m,E)+I;P=A+(k<<4)|0;R=i+(k*40|0)|0;W=+Ym(+o[R>>3]);f[E>>2]=f[A>>2];f[E+4>>2]=f[A+4>>2];f[E+8>>2]=f[A+8>>2];f[E+12>>2]=f[A+12>>2];km(h,E,W);W=+pm(+o[R>>3]);f[E>>2]=f[Y>>2];f[E+4>>2]=f[Y+4>>2];f[E+8>>2]=f[Y+8>>2];f[E+12>>2]=f[Y+12>>2];km(d,E,W);f[m>>2]=f[h>>2];f[m+4>>2]=f[h+4>>2];f[m+8>>2]=f[h+8>>2];f[m+12>>2]=f[h+12>>2];f[E>>2]=f[d>>2];f[E+4>>2]=f[d+4>>2];f[E+8>>2]=f[d+8>>2];f[E+12>>2]=f[d+12>>2];gm(w,m,E);f[m>>2]=f[P>>2];f[m+4>>2]=f[P+4>>2];f[m+8>>2]=f[P+8>>2];f[m+12>>2]=f[P+12>>2];f[E>>2]=f[w>>2];f[E+4>>2]=f[w+4>>2];f[E+8>>2]=f[w+8>>2];f[E+12>>2]=f[w+12>>2];mm(g,m,E);f[m>>2]=f[J>>2];f[m+4>>2]=f[J+4>>2];f[m+8>>2]=f[J+8>>2];f[m+12>>2]=f[J+12>>2];f[E>>2]=f[g>>2];f[E+4>>2]=f[g+4>>2];f[E+8>>2]=f[g+8>>2];f[E+12>>2]=f[g+12>>2];W=+ym(m,E)+Z;f[m>>2]=f[z>>2];f[m+4>>2]=f[z+4>>2];f[m+8>>2]=f[z+8>>2];f[m+12>>2]=f[z+12>>2];f[E>>2]=f[g>>2];f[E+4>>2]=f[g+4>>2];f[E+8>>2]=f[g+8>>2];f[E+12>>2]=f[g+12>>2];k=k+1|0;Z=W;G=N;I=b;C=+ym(m,E)+C;M=B}b=I*G-M*M;B=b>=0.0?b:-b;if(!(B>=1.0e-06?(s=(I*Z-M*C)/b,u=(G*C-M*Z)/b,!(B<1.0e-06|s<=0.0|u<=0.0)):0))p=6;if((p|0)==6){f[m>>2]=f[A>>2];f[m+4>>2]=f[A+4>>2];f[m+8>>2]=f[A+8>>2];f[m+12>>2]=f[A+12>>2];f[E>>2]=f[Y>>2];f[E+4>>2]=f[Y+4>>2];f[E+8>>2]=f[Y+8>>2];f[E+12>>2]=f[Y+12>>2];s=+vm(m,E)*.3333333333333333;u=s}f[a>>2]=f[A>>2];f[a+4>>2]=f[A+4>>2];f[a+8>>2]=f[A+8>>2];f[a+12>>2]=f[A+12>>2];f[E>>2]=f[r>>2];f[E+4>>2]=f[r+4>>2];f[E+8>>2]=f[r+8>>2];f[E+12>>2]=f[r+12>>2];km(Q,E,s);f[t>>2]=f[Q>>2];f[t+4>>2]=f[Q+4>>2];f[t+8>>2]=f[Q+8>>2];f[t+12>>2]=f[Q+12>>2];f[l>>2]=f[Y>>2];f[l+4>>2]=f[Y+4>>2];f[l+8>>2]=f[Y+8>>2];f[l+12>>2]=f[Y+12>>2];f[E>>2]=f[n>>2];f[E+4>>2]=f[n+4>>2];f[E+8>>2]=f[n+8>>2];f[E+12>>2]=f[n+12>>2];km(y,E,u);f[c>>2]=f[y>>2];f[c+4>>2]=f[y+4>>2];f[c+8>>2]=f[y+8>>2];f[c+12>>2]=f[y+12>>2];v=V;return}function dm(A,e,i,r,n,a,t,l){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;l=l|0;var c=0.0,s=0.0,u=0.0,b=0.0,B=0.0,k=0,w=0.0,h=0.0,d=0,g=0.0,m=0,Z=0.0,G=0,I=0.0,C=0,M=0,E=0,Q=0,y=0.0,Y=0;Q=v;v=v+64|0;E=Q;C=(l|0)==2;I=+o[i>>3];g=+o[i+8>>3];m=E+8|0;Z=+o[r>>3];G=E+16|0;B=+o[r+8>>3];k=E+24|0;w=+o[n>>3];h=+o[a>>3];d=E+32|0;b=+o[n+8>>3];u=+o[a+8>>3];r=E+40|0;n=E+48|0;a=E+56|0;i=1;c=4.0;s=4.0;while(1){o[E>>3]=I;o[m>>3]=g;y=s*.3333333333333333;o[G>>3]=y*Z+I;o[k>>3]=y*B+g;y=c*.3333333333333333;o[d>>3]=w-y*h;o[r>>3]=b-y*u;o[n>>3]=w;o[a>>3]=b;if(i?(y=+Im(E,4),y<+Im(t,l)+-.001):0){i=0;break}if(Cm(A,e,E)|0){M=5;break}if(s==0.0&c==0.0){M=9;break}Y=s>.01;i=0;c=Y?c*.5:0.0;s=Y?s*.5:0.0}A:do{if((M|0)==5){um((f[42491]|0)+4|0);r=f[42492]|0;i=1;while(1){if((i|0)==4){i=1;break A}Y=f[42491]|0;o[r+(Y<<4)>>3]=+o[E+(i<<4)>>3];y=+o[E+(i<<4)+8>>3];f[42491]=Y+1;o[r+(Y<<4)+8>>3]=y;i=i+1|0}}else if((M|0)==9)if(C){um((f[42491]|0)+4|0);r=f[42492]|0;i=1;while(1){if((i|0)==4){i=1;break A}Y=f[42491]|0;o[r+(Y<<4)>>3]=+o[E+(i<<4)>>3];y=+o[E+(i<<4)+8>>3];f[42491]=Y+1;o[r+(Y<<4)+8>>3]=y;i=i+1|0}}else i=0}while(0);v=Q;return i|0}function gm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;o[e>>3]=+o[e>>3]+ +o[i>>3];r=e+8|0;o[r>>3]=+o[r>>3]+ +o[i+8>>3];f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function mm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;o[e>>3]=+o[e>>3]-+o[i>>3];r=e+8|0;o[r>>3]=+o[r>>3]-+o[i+8>>3];f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function Zm(A){A=+A;A=1.0-A;return+(A*A*A)}function Gm(A){A=+A;return+(A*A*A)}function Im(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0.0,f=0.0,a=0;i=0.0;r=1;while(1){if((r|0)>=(e|0))break;a=r+-1|0;n=+o[A+(r<<4)>>3]-+o[A+(a<<4)>>3];f=+o[A+(r<<4)+8>>3]-+o[A+(a<<4)+8>>3];i=+p(+(f*f+n*n))+i;r=r+1|0}return+i}function Cm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0.0,d=0,g=0,m=0.0,Z=0,G=0.0,I=0,C=0,M=0,E=0,Q=0,y=0.0,Y=0.0;Q=v;v=v+64|0;d=Q+32|0;g=Q;Z=g+16|0;I=i+16|0;C=i+32|0;M=i+48|0;E=i+8|0;a=i+24|0;t=i+40|0;l=i+56|0;c=g+8|0;s=g+24|0;n=0;A:while(1){if((n|0)>=(e|0)){r=1;break}u=A+(n<<5)|0;f[g>>2]=f[u>>2];f[g+4>>2]=f[u+4>>2];f[g+8>>2]=f[u+8>>2];f[g+12>>2]=f[u+12>>2];u=A+(n<<5)+16|0;f[Z>>2]=f[u>>2];f[Z+4>>2]=f[u+4>>2];f[Z+8>>2]=f[u+8>>2];f[Z+12>>2]=f[u+12>>2];u=Mm(i,g,d)|0;e:do{if((u|0)!=4){b=+o[g>>3];B=+o[c>>3];k=+o[Z>>3];w=+o[s>>3];r=0;while(1){if((r|0)>=(u|0))break e;h=+o[d+(r<<3)>>3];if((!(h<1.0e-06|h>.999999)?(G=h*h*h,Y=h*3.0,y=1.0-h,h=Y*h*y,m=y*y,Y=m*Y,y=m*y,m=+o[I>>3]*Y+ +o[i>>3]*y+ +o[C>>3]*h+ +o[M>>3]*G,G=+o[a>>3]*Y+ +o[E>>3]*y+ +o[t>>3]*h+ +o[l>>3]*G,h=m-b,y=G-B,!(y*y+h*h<.001)):0)?(Y=m-k,y=G-w,!(y*y+Y*Y<.001)):0){r=0;break A}r=r+1|0}}}while(0);n=n+1|0}v=Q;return r|0}function Mm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0,l=0.0,c=0,s=0,u=0,b=0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0;m=v;v=v+96|0;h=m+48|0;d=m+24|0;c=m;g=m+80|0;B=+o[e>>3];a=+o[e+16>>3]-B;k=+o[e+8>>3];l=+o[e+24>>3]-k;f[g>>2]=0;A:do{if(!(a==0.0)){l=l/a;s=A+16|0;u=A+32|0;b=A+48|0;Em(+o[A+8>>3]-+o[A>>3]*l,+o[A+24>>3]-+o[s>>3]*l,+o[A+40>>3]-+o[u>>3]*l,+o[A+56>>3]-+o[b>>3]*l,h);o[h>>3]=l*B-k+ +o[h>>3];r=NW(h,d)|0;if((r|0)==4)e=4;else{n=h+8|0;t=h+16|0;c=h+24|0;a=1.0/a;e=0;while(1){if((e|0)>=(r|0))break;l=+o[d+(e<<3)>>3];if(l>=0.0&l<=1.0?(Em(+o[A>>3],+o[s>>3],+o[u>>3],+o[b>>3],h),k=(+o[h>>3]-B+((+o[c>>3]*l+ +o[t>>3])*l+ +o[n>>3])*l)*a,k>=0.0&k<=1.0):0)Qm(l,i,g);e=e+1|0}e=f[g>>2]|0}}else{Em(+o[A>>3],+o[A+16>>3],+o[A+32>>3],+o[A+48>>3],h);o[h>>3]=+o[h>>3]-B;w=NW(h,d)|0;if(!(l==0.0)){if((w|0)==4){e=4;break}s=A+8|0;u=A+24|0;b=A+40|0;r=A+56|0;n=h+8|0;t=h+16|0;c=h+24|0;a=1.0/l;e=0;while(1){if((e|0)>=(w|0))break;l=+o[d+(e<<3)>>3];if(l>=0.0&l<=1.0?(Em(+o[s>>3],+o[u>>3],+o[b>>3],+o[r>>3],h),B=(+o[h>>3]-k+((+o[c>>3]*l+ +o[t>>3])*l+ +o[n>>3])*l)*a,B>=0.0&B<=1.0):0)Qm(l,i,g);e=e+1|0}e=f[g>>2]|0;break}Em(+o[A+8>>3],+o[A+24>>3],+o[A+40>>3],+o[A+56>>3],h);o[h>>3]=+o[h>>3]-k;t=NW(h,c)|0;e=(t|0)==4;e:do{if((w|0)==4){if(e){e=4;break A}else e=0;while(1){if((e|0)>=(t|0))break e;Qm(+o[c+(e<<3)>>3],i,g);e=e+1|0}}else{if(e){e=0;while(1){if((e|0)>=(w|0))break e;Qm(+o[d+(e<<3)>>3],i,g);e=e+1|0}}else r=0;while(1){if((r|0)>=(w|0))break e;n=d+(r<<3)|0;e=0;while(1){if((e|0)>=(t|0))break;a=+o[n>>3];if(a==+o[c+(e<<3)>>3])Qm(a,i,g);e=e+1|0}r=r+1|0}}}while(0);e=f[g>>2]|0}}while(0);v=m;return e|0}function Em(A,e,i,r,n){A=+A;e=+e;i=+i;r=+r;n=n|0;o[n+24>>3]=r-A+(e-i)*3.0;o[n+16>>3]=(i+A)*3.0-e*6.0;o[n+8>>3]=(e-A)*3.0;o[n>>3]=A;return}function Qm(A,e,i){A=+A;e=e|0;i=i|0;var r=0;if(A>=0.0&A<=1.0){r=f[i>>2]|0;o[e+(r<<3)>>3]=A;f[i>>2]=r+1}return}function ym(A,e){A=A|0;e=e|0;return+(+o[e+8>>3]*+o[A+8>>3]+ +o[e>>3]*+o[A>>3])}function Ym(A){A=+A;var e=0.0;e=1.0-A;return+(e*e*(e+A*3.0))}function pm(A){A=+A;return+(A*A*((1.0-A)*3.0+A))}function Vm(A,e,i){A=A|0;e=e|0;i=i|0;var a=0,l=0,c=0,s=0.0,u=0,b=0.0,B=0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0,j=0,O=0,K=0;K=v;v=v+2288|0;j=K+208|0;S=K+192|0;U=K+176|0;T=K+160|0;x=K+144|0;X=K+128|0;F=K+112|0;L=K+96|0;H=K+80|0;R=K+64|0;P=K+56|0;J=K+48|0;O=K+32|0;D=K+24|0;z=K;Y=K+1264|0;p=K+224|0;V=A+16|0;Q=(t[(f[V>>2]|0)+178>>1]|0)>2;Uu(1);Iv(A);Qy(p,1024,K+240|0);NC(A,1,87657,174185)|0;NC(A,1,87661,174185)|0;f[42191]=NC(A,1,96043,174185)|0;f[42190]=NC(A,1,96049,174185)|0;NC(A,2,87657,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0;if(a&16){NC(A,1,87667,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0}if(a&1){NC(A,2,87671,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0}if(a&32){NC(A,2,87667,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0}if(a&2){NC(A,2,87674,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0}if(a&4){NC(A,2,87682,174185)|0;a=r[(f[V>>2]|0)+113>>0]|0}if(!(a&8)){m=0;Z=0;G=0}else{G=NC(A,0,87671,174185)|0;Z=NC(A,0,87690,174185)|0;m=NC(A,0,87697,174185)|0}C=NC(A,0,87705,174185)|0;M=p+4|0;E=p+8|0;g=0;a=0;I=Ep(A)|0;while(1){if(!I)break;d=I+16|0;c=f[d>>2]|0;b=+o[c+16>>3];l=(f[42184]|0)==0;if(Q){if(l)s=+o[c+24>>3];else s=+o[20895]-+o[c+24>>3];k=+o[(f[c+132>>2]|0)+16>>3]*72.0;o[z>>3]=b;o[z+8>>3]=s;o[z+16>>3]=k;iP(Y,87708,z)|0;py(p,Y)|0;l=3;while(1){if((l|0)>=(t[(f[V>>2]|0)+178>>1]|0))break;o[D>>3]=+o[(f[(f[d>>2]|0)+132>>2]|0)+(l<<3)>>3]*72.0;iP(Y,87723,D)|0;py(p,Y)|0;l=l+1|0}l=f[M>>2]|0;if(l>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;l=f[M>>2]|0}r[l>>0]=0;h=f[p>>2]|0;f[M>>2]=h;lY(I,87657,h)|0;h=I}else{if(l)s=+o[c+24>>3];else s=+o[20895]-+o[c+24>>3];o[O>>3]=b;o[O+8>>3]=s;iP(Y,87729,O)|0;lY(I,87657,Y)|0;h=I}o[J>>3]=+o[(f[d>>2]|0)+80>>3]*.013888888888888888;iP(Y,87652,J)|0;AY(h,f[42190]|0,Y)|0;l=f[d>>2]|0;o[P>>3]=(+o[l+96>>3]+ +o[l+88>>3])*.013888888888888888;iP(Y,87652,P)|0;AY(h,f[42191]|0,Y)|0;l=f[d>>2]|0;c=f[l+108>>2]|0;if((c|0)!=0?(r[c+81>>0]|0)!=0:0){k=+o[c+64>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[R>>3]=+o[c+56>>3];o[R+8>>3]=k;iP(Y,87729,R)|0;lY(h,87667,Y)|0;l=f[d>>2]|0}if(oz(f[f[l+8>>2]>>2]|0,91264)|0){if(f[42215]|0?(AG(I)|0)<<24>>24:0){c=f[(f[d>>2]|0)+12>>2]|0;w=c+8|0;l=f[w>>2]|0;if((l|0)<3){l=aY(h,87739)|0;if(!l)l=8;else l=nR(l)|0;l=(l|0)<3?8:l}B=c+44|0;k=1.0/+(l|0);u=0;while(1){if((u|0)>=(l|0))break;if((u|0)>0){c=f[M>>2]|0;if(c>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;c=f[M>>2]|0}f[M>>2]=c+1;r[c>>0]=32}if((f[w>>2]|0)>2){c=f[B>>2]|0;if(!(f[42184]|0))s=+o[c+(u<<4)+8>>3]*.013888888888888888;else s=+o[20896]-+o[c+(u<<4)+8>>3]*.013888888888888888;o[H>>3]=+o[c+(u<<4)>>3]*.013888888888888888;o[H+8>>3]=s;iP(Y,87752,H)|0}else{c=f[d>>2]|0;s=k*+(u|0)*6.283185307179586;b=+o[c+32>>3]*.5*+N(+s);if(!(f[42184]|0))s=+o[c+40>>3]*.5*+W(+s);else s=+o[20896]-+o[c+40>>3]*.5*+W(+s);o[L>>3]=b;o[L+8>>3]=s;iP(Y,87752,L)|0}py(p,Y)|0;u=u+1|0}c=f[42215]|0;l=f[M>>2]|0;if(l>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;l=f[M>>2]|0}r[l>>0]=0;d=f[p>>2]|0;f[M>>2]=d;AY(h,c,d)|0}}else{Nm(I,f[l+12>>2]|0,p);Ny(p)|0;l=f[M>>2]|0;if(l>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;l=f[M>>2]|0}r[l>>0]=0;d=f[p>>2]|0;f[M>>2]=d;lY(h,87661,d)|0}A:do{if((f[42182]|0)>0){d=bY(A,I)|0;l=g;while(1){if(!d)break A;h=d+16|0;c=f[h>>2]|0;do{if((r[c+112>>0]|0)!=6?(y=f[c+8>>2]|0,(y|0)!=0):0){w=0;c=y;while(1){if((w|0)>=(f[c+4>>2]|0))break;if((w|0)>0){c=f[M>>2]|0;if(c>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;c=f[M>>2]|0}f[M>>2]=c+1;r[c>>0]=59;c=f[(f[h>>2]|0)+8>>2]|0}c=f[c>>2]|0;if(f[c+(w*48|0)+8>>2]|0){if(!(f[42184]|0))s=+o[c+(w*48|0)+24>>3];else s=+o[20895]-+o[c+(w*48|0)+24>>3];o[F>>3]=+o[c+(w*48|0)+16>>3];o[F+8>>3]=s;iP(Y,87762,F)|0;py(p,Y)|0;a=1;c=f[f[(f[h>>2]|0)+8>>2]>>2]|0}if(f[c+(w*48|0)+12>>2]|0){if(!(f[42184]|0))s=+o[c+(w*48|0)+40>>3];else s=+o[20895]-+o[c+(w*48|0)+40>>3];o[X>>3]=+o[c+(w*48|0)+32>>3];o[X+8>>3]=s;iP(Y,87775,X)|0;py(p,Y)|0;l=1}B=0;while(1){c=f[(f[h>>2]|0)+8>>2]|0;u=f[c>>2]|0;if((B|0)>=(f[u+(w*48|0)+4>>2]|0))break;if((B|0)>0){c=f[M>>2]|0;if(c>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;c=f[M>>2]|0}f[M>>2]=c+1;r[c>>0]=32;c=f[f[(f[h>>2]|0)+8>>2]>>2]|0}else c=u;g=f[c+(w*48|0)>>2]|0;k=+o[g+(B<<4)+8>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[x>>3]=+o[g+(B<<4)>>3];o[x+8>>3]=k;iP(Y,87729,x)|0;py(p,Y)|0;B=B+1|0}w=w+1|0}c=f[M>>2]|0;if(c>>>0>=(f[E>>2]|0)>>>0){yy(p,1)|0;c=f[M>>2]|0}r[c>>0]=0;c=f[p>>2]|0;f[M>>2]=c;lY(d,87657,c)|0;c=f[h>>2]|0;u=f[c+96>>2]|0;if(u){k=+o[u+64>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[T>>3]=+o[u+56>>3];o[T+8>>3]=k;iP(Y,87729,T)|0;lY(d,87671,Y)|0;c=f[h>>2]|0}u=f[c+108>>2]|0;do{if(u){if(!(r[u+81>>0]|0))break;k=+o[u+64>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[U>>3]=+o[u+56>>3];o[U+8>>3]=k;iP(Y,87729,U)|0;lY(d,87667,Y)|0;c=f[h>>2]|0}}while(0);u=f[c+100>>2]|0;if(u){k=+o[u+64>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[S>>3]=+o[u+56>>3];o[S+8>>3]=k;iP(Y,87729,S)|0;lY(d,87674,Y)|0;c=f[h>>2]|0}c=f[c+104>>2]|0;if(!c)break;k=+o[c+64>>3];k=(f[42184]|0)==0?k:+o[20895]-k;o[j>>3]=+o[c+56>>3];o[j+8>>3]=k;iP(Y,87729,j)|0;lY(d,87682,Y)|0}}while(0);d=BY(A,d)|0}}else l=g}while(0);g=l;I=Qp(A,I)|0}Wm(A,C,G,Z,m);Vy(p);if(n[(f[V>>2]|0)+136>>1]&1)EC(A);f[e>>2]=a;f[i>>2]=g;Uu(0);v=K;return}function Nm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0.0;u=v;v=v+1056|0;c=u;l=u+32|0;s=e+48|0;if(!(f[s>>2]|0)){r=f[A+16>>2]|0;t=+o[r+16>>3];if(!(f[42184]|0)){a=+o[r+24>>3];n=a+ +o[e+24>>3];a=a+ +o[e+40>>3]}else{a=+o[r+24>>3];n=+o[20895]-+o[e+24>>3]-a;a=+o[20895]-+o[e+40>>3]-a}b=t+ +o[e+32>>3];o[c>>3]=t+ +o[e+16>>3];o[c+8>>3]=n;o[c+16>>3]=b;o[c+24>>3]=a;iP(l,87813,c)|0;py(i,l)|0}e=e+56|0;r=0;while(1){if((r|0)>=(f[s>>2]|0))break;Nm(A,f[(f[e>>2]|0)+(r<<2)>>2]|0,i);r=r+1|0}v=u;return}function Wm(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0.0;h=v;v=v+1088|0;b=h+56|0;k=h+48|0;B=h+32|0;l=h;u=h+64|0;w=A+16|0;t=f[w>>2]|0;if(!(f[42184]|0)){c=+o[t+24>>3];s=+o[t+40>>3]}else{s=+o[20895];c=s-+o[t+24>>3];s=s-+o[t+40>>3]}d=+o[t+32>>3];o[l>>3]=+o[t+16>>3];o[l+8>>3]=c;o[l+16>>3]=d;o[l+24>>3]=s;iP(u,87788,l)|0;AY(A,e,u)|0;t=f[(f[w>>2]|0)+12>>2]|0;if((t|0)!=0?(r[f[t>>2]>>0]|0)!=0:0){d=+o[t+64>>3];d=(f[42184]|0)==0?d:+o[20895]-d;o[B>>3]=+o[t+56>>3];o[B+8>>3]=d;iP(u,87729,B)|0;AY(A,i,u)|0;t=f[(f[w>>2]|0)+12>>2]|0;d=+o[t+32>>3];o[k>>3]=+o[t+24>>3]*.013888888888888888;iP(u,87808,k)|0;AY(A,n,u)|0;o[b>>3]=d*.013888888888888888;iP(u,87808,b)|0;AY(A,a,u)|0;t=1}else t=1;while(1){l=f[w>>2]|0;if((t|0)>(f[l+180>>2]|0))break;Wm(f[(f[l+184>>2]|0)+(t<<2)>>2]|0,e,i,n,a);t=t+1|0}v=h;return}function zm(A){A=A|0;var e=0;e=v;v=v+16|0;Vm(A,e,e+4|0);v=e;return}function Jm(){return vy(19796,f[4345]|0)|0}function Pm(A,e,i){A=A|0;e=e|0;i=i|0;HW(e);return}function Rm(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=f[e>>2]|0;r=f[i>>2]|0;if((A|0)<=(r|0))if((A|0)<(r|0))A=-1;else{e=f[e+4>>2]|0;i=f[i+4>>2]|0;return((e|0)>(i|0)?1:((e|0)<(i|0))<<31>>31)|0}else A=1;return A|0}function Hm(A){A=A|0;ly(A)|0;return}function Lm(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];e=Fm(r)|0;if((mL[f[A>>2]&31](A,e,1)|0)!=(e|0))HW(e);v=i;return}function Fm(A){A=A|0;var e=0,i=0,r=0;e=Jb(16)|0;r=A;i=f[r+4>>2]|0;A=e+8|0;f[A>>2]=f[r>>2];f[A+4>>2]=i;return e|0}function Dm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=v;v=v+16|0;n=r+8|0;a=r;f[a>>2]=e;f[a+4>>2]=i;f[n>>2]=f[a>>2];f[n+4>>2]=f[a+4>>2];e=Fm(n)|0;if((mL[f[A>>2]&31](A,e,1)|0)!=(e|0))HW(e);v=r;return}function Xm(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;i=v;v=v+16|0;r=i;a=e;n=f[a+4>>2]|0;e=r+8|0;f[e>>2]=f[a>>2];f[e+4>>2]=n;e=(mL[f[A>>2]&31](A,r,4)|0)!=0&1;v=i;return e|0}function xm(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n+8>>2]=e;f[n+12>>2]=i;i=(mL[f[A>>2]&31](A,n,4)|0)!=0&1;v=r;return i|0}function Tm(A){A=A|0;return ky(A)|0}function Um(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;i=Jb((ky(A)|0)<<3)|0;e=i;A=uy(A)|0;while(1){if(!A)break;a=A+8|0;n=f[a+4>>2]|0;r=e;f[r>>2]=f[a>>2];f[r+4>>2]=n;e=e+8|0;A=f[A>>2]|0}return i|0}function Sm(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+160|0;k=d+144|0;i=d+48|0;l=d+128|0;c=d+112|0;s=d+96|0;u=d+80|0;b=d+32|0;B=d+16|0;w=d;h=A+16|0;A=f[h>>2]|0;r=+o[A+16>>3];n=+o[A+24>>3];a=+o[A+32>>3];t=+o[A+40>>3];if((e+-1|0)>>>0<2){jm(l,r,t);f[k>>2]=f[l>>2];f[k+4>>2]=f[l+4>>2];f[k+8>>2]=f[l+8>>2];f[k+12>>2]=f[l+12>>2];Om(i,k);B=i+16|0;jm(c,a,n);f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[k+8>>2]=f[c+8>>2];f[k+12>>2]=f[c+12>>2];Om(s,k);f[B>>2]=f[s>>2];f[B+4>>2]=f[s+4>>2];f[B+8>>2]=f[s+8>>2];f[B+12>>2]=f[s+12>>2]}else{jm(u,r,n);f[k>>2]=f[u>>2];f[k+4>>2]=f[u+4>>2];f[k+8>>2]=f[u+8>>2];f[k+12>>2]=f[u+12>>2];Om(i,k);u=i+16|0;jm(b,a,t);f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];Om(B,k);f[u>>2]=f[B>>2];f[u+4>>2]=f[B+4>>2];f[u+8>>2]=f[B+8>>2];f[u+12>>2]=f[B+12>>2]}A=(f[h>>2]|0)+16|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];f[A+16>>2]=f[i+16>>2];f[A+20>>2]=f[i+20>>2];f[A+24>>2]=f[i+24>>2];f[A+28>>2]=f[i+28>>2];A=f[(f[h>>2]|0)+12>>2]|0;if(!A)A=1;else{A=A+56|0;f[k>>2]=f[A>>2];f[k+4>>2]=f[A+4>>2];f[k+8>>2]=f[A+8>>2];f[k+12>>2]=f[A+12>>2];Om(w,k);f[A>>2]=f[w>>2];f[A+4>>2]=f[w+4>>2];f[A+8>>2]=f[w+8>>2];f[A+12>>2]=f[w+12>>2];A=1}while(1){i=f[h>>2]|0;if((A|0)>(f[i+180>>2]|0))break;Sm(f[(f[i+184>>2]|0)+(A<<2)>>2]|0,e);A=A+1|0}v=d;return}function jm(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function Om(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;i=v;v=v+32|0;a=i+16|0;r=i;n=(f[42310]|0)*90|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];Bb(r,a,n);f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2];o[e>>3]=+o[e>>3]-+o[20897];r=e+8|0;o[r>>3]=+o[r>>3]-+o[20898];f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];v=i;return}function Km(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0,t=0,l=0.0,c=0.0,s=0,u=0.0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0;Z=v;v=v+1168|0;h=Z+144|0;m=Z+96|0;g=Z+64|0;d=Z+48|0;b=Z+32|0;B=Z+16|0;k=Z;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;w=A+16|0;s=f[(f[w>>2]|0)+116>>2]|0;f[42310]=s&3;s=s&1;r[174083]=s;if(!(s<<24>>24))qm(A);else _m(A);$m(A);s=f[w>>2]|0;i=f[s+12>>2]|0;do{if(i|0?(r[i+81>>0]|0)==0:0){a=i+24|0;f[d>>2]=f[a>>2];f[d+4>>2]=f[a+4>>2];f[d+8>>2]=f[a+8>>2];f[d+12>>2]=f[a+12>>2];u=+o[d>>3]+16.0;o[d>>3]=u;a=d+8|0;n=+o[a>>3]+8.0;o[a>>3]=n;a=(r[s+275>>0]&1)!=0;if(r[174083]|0){if(a){t=s+32|0;o[t>>3]=+o[t>>3]+n}else{t=s+16|0;o[t>>3]=+o[t>>3]-n}a=s+40|0;n=+o[a>>3];t=s+24|0;l=+o[t>>3];c=n-l;if(!(u>c))break;u=(u-c)*.5;o[t>>3]=l-u;o[a>>3]=n+u;break}t=(f[42310]|0)==0;do{if(a)if(t){t=s+40|0;o[t>>3]=+o[t>>3]+n;break}else{t=s+24|0;o[t>>3]=+o[t>>3]-n;break}else if(t){t=s+24|0;o[t>>3]=+o[t>>3]-n;break}else{t=s+40|0;o[t>>3]=+o[t>>3]+n;break}}while(0);a=s+32|0;n=+o[a>>3];t=s+16|0;l=+o[t>>3];c=n-l;if(u>c){u=(u-c)*.5;o[t>>3]=l-u;o[a>>3]=n+u}}}while(0);if(e){switch(f[42310]|0){case 0:{k=s+16|0;f[41794]=f[k>>2];f[41795]=f[k+4>>2];f[41796]=f[k+8>>2];f[41797]=f[k+12>>2];break}case 1:{jm(b,-+o[s+40>>3],+o[s+16>>3]);f[41794]=f[b>>2];f[41795]=f[b+4>>2];f[41796]=f[b+8>>2];f[41797]=f[b+12>>2];break}case 2:{jm(B,+o[s+16>>3],-+o[s+40>>3]);f[41794]=f[B>>2];f[41795]=f[B+4>>2];f[41796]=f[B+8>>2];f[41797]=f[B+12>>2];break}case 3:{jm(k,+o[s+24>>3],+o[s+16>>3]);f[41794]=f[k>>2];f[41795]=f[k+4>>2];f[41796]=f[k+8>>2];f[41797]=f[k+12>>2];break}default:{}}AZ(A);i=f[(f[w>>2]|0)+12>>2]|0}if(i|0?(r[i+81>>0]|0)==0:0){f[h>>2]=f[d>>2];f[h+4>>2]=f[d+4>>2];f[h+8>>2]=f[d+8>>2];f[h+12>>2]=f[d+12>>2];eZ(A,h)}if(!0){v=Z;return}if(!(r[174083]|0)){u=+o[20898];c=+o[20897];o[m>>3]=u;o[m+8>>3]=c;o[m+16>>3]=u;o[m+24>>3]=c;o[m+32>>3]=-c;o[m+40>>3]=-u;iP(h,88049,m)|0}else{c=+o[20897];u=+o[20898];o[g>>3]=c;o[g+8>>3]=u;o[g+16>>3]=c;o[g+24>>3]=u;iP(h,87834,g)|0}dP(h)|0;jA()}function _m(A){A=A|0;var e=0,i=0.0,n=0.0,a=0,t=0,l=0;l=A+16|0;if(((Dp(A)|0)!=(A|0)?(a=f[l>>2]|0,t=f[a+12>>2]|0,(t|0)!=0):0)?(r[t+81>>0]|0)==0:0){e=r[a+275>>0]|0;if(!(e&1)){n=+o[a+16>>3]+ +o[a+96>>3]*.5;A=a+104|0}else{n=+o[a+32>>3]-+o[a+64>>3]*.5;A=a+72|0}i=+o[A>>3];A=e<<24>>24;do{if(!(A&4))if(!(A&2)){i=(+o[a+40>>3]+ +o[a+24>>3])*.5;break}else{i=+o[a+40>>3]-i*.5;break}else i=+o[a+24>>3]+i*.5}while(0);o[t+56>>3]=n;o[t+64>>3]=i;r[(f[(f[l>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=f[l>>2]|0;if((A|0)>(f[e+180>>2]|0))break;_m(f[(f[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function qm(A){A=A|0;var e=0,i=0.0,n=0.0,a=0.0,t=0,l=0,c=0;c=A+16|0;if(((Dp(A)|0)!=(A|0)?(t=f[c>>2]|0,l=f[t+12>>2]|0,(l|0)!=0):0)?(r[l+81>>0]|0)==0:0){e=r[t+275>>0]|0;if(!(e&1)){a=+o[t+24>>3]+ +o[t+56>>3]*.5;A=t+48|0}else{a=+o[t+40>>3]-+o[t+88>>3]*.5;A=t+80|0}n=+o[A>>3];A=e<<24>>24;do{if(!(A&4)){i=+o[t+16>>3];if(!(A&2)){i=(+o[t+32>>3]+i)*.5;break}else{i=i+n*.5;break}}else i=+o[t+32>>3]-n*.5}while(0);o[l+56>>3]=i;o[l+64>>3]=a;r[(f[(f[c>>2]|0)+12>>2]|0)+81>>0]=1;A=1}else A=1;while(1){e=f[c>>2]|0;if((A|0)>(f[e+180>>2]|0))break;qm(f[(f[e+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function $m(A){A=A|0;var e=0,i=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0;x=v;v=v+544|0;P=x+504|0;X=x+416|0;D=x+376|0;J=x+352|0;z=x+312|0;W=x+288|0;N=x+248|0;R=x+200|0;E=x+152|0;L=x+96|0;B=x+488|0;Q=x+456|0;y=x+424|0;Y=x+384|0;p=x+360|0;V=x+320|0;Z=x+296|0;G=x+256|0;I=x+232|0;C=x+168|0;M=x+136|0;e=x+56|0;H=x+16|0;F=x;b=A+16|0;g=f[b>>2]|0;i=n[g+136>>1]&14;g=a[g+113>>0]|0;if(!((g&54|0)==0?(g&1|0)==0|(f[42183]|0)!=0:0)){g=i<<16>>16==0;u=Ep(A)|0;t=0;c=0;l=0;while(1){if(!u)break;i=f[(f[u+16>>2]|0)+108>>2]|0;do{if(i)if(!(r[i+81>>0]|0)){l=l+1|0;break}else{t=t+1|0;break}}while(0);s=bY(A,u)|0;i=c;while(1){if(!s)break;o=f[s+16>>2]|0;c=f[o+108>>2]|0;do{if(c){if(r[c+81>>0]|0){t=t+1|0;break}if(!g)i=i+((f[o+8>>2]|0)!=0&1)|0}}while(0);c=f[o+100>>2]|0;do{if(c){if(r[c+81>>0]|0){t=t+1|0;break}if(!g)i=i+((f[o+8>>2]|0)!=0&1)|0}}while(0);c=f[o+104>>2]|0;do{if(c){if(r[c+81>>0]|0){t=t+1|0;break}if(!g)i=i+((f[o+8>>2]|0)!=0&1)|0}}while(0);c=f[o+96>>2]|0;do{if(c){if(r[c+81>>0]|0){t=t+1|0;break}if(!g)i=i+((f[o+8>>2]|0)!=0&1)|0}}while(0);s=BY(A,s)|0}u=Qp(A,u)|0;c=i}if(!(r[(f[b>>2]|0)+113>>0]&8))b=0;else b=rZ(A)|0;d=c+l|0;if(d|0){k=t+c+b+(PY(A)|0)|0;w=Jb(k*40|0)|0;h=Jb(d*40|0)|0;jm(R,2147483647.0,2147483647.0);i=R+16|0;jm(B,-2147483647.0,-2147483647.0);f[i>>2]=f[B>>2];f[i+4>>2]=f[B+4>>2];f[i+8>>2]=f[B+8>>2];f[i+12>>2]=f[B+12>>2];i=h;l=w;u=Ep(A)|0;while(1){if(!u)break;f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];nZ(Q,u,l,P);f[R>>2]=f[Q>>2];f[R+4>>2]=f[Q+4>>2];f[R+8>>2]=f[Q+8>>2];f[R+12>>2]=f[Q+12>>2];f[R+16>>2]=f[Q+16>>2];f[R+20>>2]=f[Q+20>>2];f[R+24>>2]=f[Q+24>>2];f[R+28>>2]=f[Q+28>>2];t=f[(f[u+16>>2]|0)+108>>2]|0;do{if(t)if(!(r[t+81>>0]|0)){f[P>>2]=f[E>>2];f[P+4>>2]=f[E+4>>2];f[P+8>>2]=f[E+8>>2];f[P+12>>2]=f[E+12>>2];aZ(t,l,i,0,P);i=i+40|0;break}else{l=l+40|0;f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];fZ(y,t,l,P);f[R>>2]=f[y>>2];f[R+4>>2]=f[y+4>>2];f[R+8>>2]=f[y+8>>2];f[R+12>>2]=f[y+12>>2];f[R+16>>2]=f[y+16>>2];f[R+20>>2]=f[y+20>>2];f[R+24>>2]=f[y+24>>2];f[R+28>>2]=f[y+28>>2];break}}while(0);s=bY(A,u)|0;l=l+40|0;while(1){if(!s)break;o=s+16|0;t=f[o>>2]|0;c=f[t+96>>2]|0;A:do{if(!c)m=52;else{do{if(!(r[c+81>>0]|0)){if(!g?f[t+8>>2]|0:0){bI(p,A,s);f[P>>2]=f[p>>2];f[P+4>>2]=f[p+4>>2];f[P+8>>2]=f[p+8>>2];f[P+12>>2]=f[p+12>>2];aZ(c,l,i,1,P);i=i+40|0;break}f[N>>2]=f[c>>2];Iy(0,88861,N)|0;break A}else{f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];fZ(Y,c,l,P);f[R>>2]=f[Y>>2];f[R+4>>2]=f[Y+4>>2];f[R+8>>2]=f[Y+8>>2];f[R+12>>2]=f[Y+12>>2];f[R+16>>2]=f[Y+16>>2];f[R+20>>2]=f[Y+20>>2];f[R+24>>2]=f[Y+24>>2];f[R+28>>2]=f[Y+28>>2]}}while(0);l=l+40|0;t=f[o>>2]|0;m=52}}while(0);A:do{if((m|0)==52){m=0;c=f[t+104>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?f[t+8>>2]|0:0){tZ(Z,s);f[P>>2]=f[Z>>2];f[P+4>>2]=f[Z+4>>2];f[P+8>>2]=f[Z+8>>2];f[P+12>>2]=f[Z+12>>2];aZ(c,l,i,1,P);i=i+40|0;break}f[W>>2]=f[c>>2];Iy(0,88896,W)|0;break A}else{f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];fZ(V,c,l,P);f[R>>2]=f[V>>2];f[R+4>>2]=f[V+4>>2];f[R+8>>2]=f[V+8>>2];f[R+12>>2]=f[V+12>>2];f[R+16>>2]=f[V+16>>2];f[R+20>>2]=f[V+20>>2];f[R+24>>2]=f[V+24>>2];f[R+28>>2]=f[V+28>>2]}}while(0);l=l+40|0;t=f[o>>2]|0}c=f[t+100>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?f[t+8>>2]|0:0){lZ(I,s);f[P>>2]=f[I>>2];f[P+4>>2]=f[I+4>>2];f[P+8>>2]=f[I+8>>2];f[P+12>>2]=f[I+12>>2];aZ(c,l,i,1,P);i=i+40|0;break}f[z>>2]=f[c>>2];Iy(0,88936,z)|0;break A}else{f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];fZ(G,c,l,P);f[R>>2]=f[G>>2];f[R+4>>2]=f[G+4>>2];f[R+8>>2]=f[G+8>>2];f[R+12>>2]=f[G+12>>2];f[R+16>>2]=f[G+16>>2];f[R+20>>2]=f[G+20>>2];f[R+24>>2]=f[G+24>>2];f[R+28>>2]=f[G+28>>2]}}while(0);l=l+40|0;t=f[o>>2]|0}c=f[t+108>>2]|0;if(c){do{if(!(r[c+81>>0]|0)){if(!g?f[t+8>>2]|0:0){bI(M,A,s);f[P>>2]=f[M>>2];f[P+4>>2]=f[M+4>>2];f[P+8>>2]=f[M+8>>2];f[P+12>>2]=f[M+12>>2];aZ(c,l,i,1,P);i=i+40|0;break}f[J>>2]=f[c>>2];Iy(0,88976,J)|0;break A}else{f[P>>2]=f[R>>2];f[P+4>>2]=f[R+4>>2];f[P+8>>2]=f[R+8>>2];f[P+12>>2]=f[R+12>>2];f[P+16>>2]=f[R+16>>2];f[P+20>>2]=f[R+20>>2];f[P+24>>2]=f[R+24>>2];f[P+28>>2]=f[R+28>>2];fZ(C,c,l,P);f[R>>2]=f[C>>2];f[R+4>>2]=f[C+4>>2];f[R+8>>2]=f[C+8>>2];f[R+12>>2]=f[C+12>>2];f[R+16>>2]=f[C+16>>2];f[R+20>>2]=f[C+20>>2];f[R+24>>2]=f[C+24>>2];f[R+28>>2]=f[C+28>>2]}}while(0);l=l+40|0}}}while(0);s=BY(A,s)|0}u=Qp(A,u)|0}if(b|0){f[e>>2]=f[R>>2];f[e+4>>2]=f[R+4>>2];f[e+8>>2]=f[R+8>>2];f[e+12>>2]=f[R+12>>2];f[e+16>>2]=f[R+16>>2];f[e+20>>2]=f[R+20>>2];f[e+24>>2]=f[R+24>>2];f[e+28>>2]=f[R+28>>2];f[e+32>>2]=l;t=P;i=t+40|0;do{f[t>>2]=f[e>>2];t=t+4|0;e=e+4|0}while((t|0)<(i|0));cZ(H,A,P);f[R>>2]=f[H>>2];f[R+4>>2]=f[H+4>>2];f[R+8>>2]=f[H+8>>2];f[R+12>>2]=f[H+12>>2];f[R+16>>2]=f[H+16>>2];f[R+20>>2]=f[H+20>>2];f[R+24>>2]=f[H+24>>2];f[R+28>>2]=f[H+28>>2]}r[L+32>>0]=SI(A,Ky(A,0,89012,0)|0,1)|0;f[L>>2]=f[R>>2];f[L+4>>2]=f[R+4>>2];f[L+8>>2]=f[R+8>>2];f[L+12>>2]=f[R+12>>2];f[L+16>>2]=f[R+16>>2];f[L+20>>2]=f[R+20>>2];f[L+24>>2]=f[R+24>>2];f[L+28>>2]=f[R+28>>2];Qw(w,k,h,d,L)|0;if(0)oZ(w,k,h,d,L);e=0;i=0;t=h;while(1){if((i|0)>=(d|0))break;if(r[t+36>>0]|0){L=f[t+32>>2]|0;r[L+81>>0]=1;H=L+56|0;sZ(F,t);f[H>>2]=f[F>>2];f[H+4>>2]=f[F+4>>2];f[H+8>>2]=f[F+8>>2];f[H+12>>2]=f[F+12>>2];BC(A,L);e=e+1|0}i=i+1|0;t=t+40|0}if(!0){if((e|0)!=(d|0)){f[X>>2]=e;f[X+4>>2]=d;Iy(0,89057,X)|0}}else{X=f[13918]|0;f[D>>2]=e;f[D+4>>2]=d;uP(X,89024,D)|0}HW(w);HW(h)}}v=x;return}function AZ(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0;t=v;v=v+48|0;r=t+32|0;n=t+16|0;a=t;if(+o[20897]!=0.0|+o[20898]!=0.0|(f[42310]|0)!=0){i=Ep(A)|0;while(1){if(!i)break;if(f[42310]|0)Hv(i,0);e=i+16|0;l=(f[e>>2]|0)+16|0;f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];f[r+12>>2]=f[l+12>>2];Om(n,r);f[l>>2]=f[n>>2];f[l+4>>2]=f[n+4>>2];f[l+8>>2]=f[n+8>>2];f[l+12>>2]=f[n+12>>2];e=f[(f[e>>2]|0)+108>>2]|0;if(e|0){l=e+56|0;f[r>>2]=f[l>>2];f[r+4>>2]=f[l+4>>2];f[r+8>>2]=f[l+8>>2];f[r+12>>2]=f[l+12>>2];Om(a,r);f[l>>2]=f[a>>2];f[l+4>>2]=f[a+4>>2];f[l+8>>2]=f[a+8>>2];f[l+12>>2]=f[a+12>>2]}A:do{if((f[42182]|0)==1){e=bY(A,i)|0;while(1){if(!e)break A;iZ(e);e=BY(A,e)|0}}}while(0);i=Qp(A,i)|0}Sm(A,f[(f[A+16>>2]|0)+116>>2]&3)}v=t;return}function eZ(A,e){A=A|0;e=e|0;var i=0.0,n=0.0,a=0,t=0,l=0;t=A+16|0;l=f[t>>2]|0;a=r[l+275>>0]|0;A=a<<24>>24;do{if(!(A&4)){i=+o[l+16>>3];if(!(A&2)){n=(+o[l+32>>3]+i)*.5;break}else{n=+o[e>>3]*.5+i;break}}else n=+o[l+32>>3]-+o[e>>3]*.5}while(0);if(!(a&1))i=+o[e+8>>3]*.5+ +o[l+24>>3];else i=+o[l+40>>3]-+o[e+8>>3]*.5;l=f[l+12>>2]|0;o[l+56>>3]=n;o[l+64>>3]=i;r[(f[(f[t>>2]|0)+12>>2]|0)+81>>0]=1;return}function iZ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;h=v;v=v+144|0;k=h+120|0;i=h+16|0;l=h+104|0;c=h+88|0;o=h+72|0;s=h+56|0;u=h+40|0;b=h+24|0;w=h;B=A+16|0;e=f[B>>2]|0;n=f[e+8>>2]|0;if(!n){if((r[174080]|0)==0?(r[e+112>>0]|0)!=6:0){k=Ap(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;w=Ap(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;f[i>>2]=k;f[i+4>>2]=w;Iy(1,88844,i)|0}}else{t=0;A=n;while(1){if((t|0)>=(f[A+4>>2]|0))break;a=f[A>>2]|0;A=f[a+(t*48|0)>>2]|0;i=f[a+(t*48|0)+4>>2]|0;n=f[a+(t*48|0)+8>>2]|0;a=f[a+(t*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(i|0))break;d=A+(e<<4)|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];Om(l,k);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[d+12>>2]=f[l+12>>2];e=e+1|0}if(n|0){d=(f[f[(f[B>>2]|0)+8>>2]>>2]|0)+(t*48|0)+16|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];Om(c,k);f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2]}if(a|0){d=(f[f[(f[B>>2]|0)+8>>2]>>2]|0)+(t*48|0)+32|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];Om(o,k);f[d>>2]=f[o>>2];f[d+4>>2]=f[o+4>>2];f[d+8>>2]=f[o+8>>2];f[d+12>>2]=f[o+12>>2]}e=f[B>>2]|0;t=t+1|0;A=f[e+8>>2]|0}A=f[e+96>>2]|0;if(A){e=A+56|0;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[k+8>>2]=f[e+8>>2];f[k+12>>2]=f[e+12>>2];Om(s,k);f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[e+12>>2]=f[s+12>>2];e=f[B>>2]|0}A=f[e+108>>2]|0;if(A){e=A+56|0;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[k+8>>2]=f[e+8>>2];f[k+12>>2]=f[e+12>>2];Om(u,k);f[e>>2]=f[u>>2];f[e+4>>2]=f[u+4>>2];f[e+8>>2]=f[u+8>>2];f[e+12>>2]=f[u+12>>2];e=f[B>>2]|0}A=f[e+100>>2]|0;if(A){e=A+56|0;f[k>>2]=f[e>>2];f[k+4>>2]=f[e+4>>2];f[k+8>>2]=f[e+8>>2];f[k+12>>2]=f[e+12>>2];Om(b,k);f[e>>2]=f[b>>2];f[e+4>>2]=f[b+4>>2];f[e+8>>2]=f[b+8>>2];f[e+12>>2]=f[b+12>>2];e=f[B>>2]|0}e=f[e+104>>2]|0;if(e|0){d=e+56|0;f[k>>2]=f[d>>2];f[k+4>>2]=f[d+4>>2];f[k+8>>2]=f[d+8>>2];f[k+12>>2]=f[d+12>>2];Om(w,k);f[d>>2]=f[w>>2];f[d+4>>2]=f[w+4>>2];f[d+8>>2]=f[w+8>>2];f[d+12>>2]=f[w+12>>2]}}v=h;return}function rZ(A){A=A|0;var e=0,i=0,n=0;n=A+16|0;if((Dp(A)|0)!=(A|0)?(e=f[(f[n>>2]|0)+12>>2]|0,(e|0)!=0):0){i=1;A=(r[e+81>>0]|0)!=0&1}else{i=1;A=0}while(1){e=f[n>>2]|0;if((i|0)>(f[e+180>>2]|0))break;e=(rZ(f[(f[e+184>>2]|0)+(i<<2)>>2]|0)|0)+A|0;i=i+1|0;A=e}return A|0}function nZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0.0,c=0.0,s=0,u=0;a=v;v=v+32|0;t=a;u=(r[174083]|0)==0;e=e+16|0;s=f[e>>2]|0;c=+o[(u?s+32|0:s+40|0)>>3];o[i+16>>3]=c*72.0;l=+o[(u?s+40|0:s+32|0)>>3];o[i+24>>3]=l*72.0;e=(f[e>>2]|0)+16|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o[i>>3]=+o[i>>3]-c*36.0;e=i+8|0;o[e>>3]=+o[e>>3]-l*36.0;f[t>>2]=f[n>>2];f[t+4>>2]=f[n+4>>2];f[t+8>>2]=f[n+8>>2];f[t+12>>2]=f[n+12>>2];f[t+16>>2]=f[n+16>>2];f[t+20>>2]=f[n+20>>2];f[t+24>>2]=f[n+24>>2];f[t+28>>2]=f[n+28>>2];uZ(A,i,t);v=a;return}function fZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0.0,c=0.0,s=0,u=0;a=v;v=v+32|0;t=a;u=(r[174083]|0)==0;s=e+24|0;c=+o[(u?s:e+32|0)>>3];o[i+16>>3]=c;l=+o[(u?e+32|0:s)>>3];o[i+24>>3]=l;e=e+56|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o[i>>3]=+o[i>>3]-c*.5;e=i+8|0;o[e>>3]=+o[e>>3]-l*.5;f[t>>2]=f[n>>2];f[t+4>>2]=f[n+4>>2];f[t+8>>2]=f[n+8>>2];f[t+12>>2]=f[n+12>>2];f[t+16>>2]=f[n+16>>2];f[t+20>>2]=f[n+20>>2];f[t+24>>2]=f[n+24>>2];f[t+28>>2]=f[n+28>>2];uZ(A,i,t);v=a;return}function aZ(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;if(n|0){n=e+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2]}if(!(r[174083]|0)){a=A+24|0;f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2]}else{o[i>>3]=+o[A+32>>3];o[i+8>>3]=+o[A+24>>3]}f[i+32>>2]=A;r[i+36>>0]=0;f[e+32>>2]=i;return}function tZ(A,e){A=A|0;e=e|0;e=uI(e)|0;do{if(e){e=f[e>>2]|0;if(!(f[e+8>>2]|0)){e=f[e>>2]|0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];break}else{e=e+16|0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];break}}else{f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0}}while(0);return}function lZ(A,e){A=A|0;e=e|0;var i=0;e=uI(e)|0;do{if(e){i=f[e>>2]|0;e=(f[e+4>>2]|0)+-1|0;if(!(f[i+(e*48|0)+12>>2]|0)){i=(f[i+(e*48|0)>>2]|0)+((f[i+(e*48|0)+4>>2]|0)+-1<<4)|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}else{i=i+(e*48|0)+32|0;f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];break}}else{f[A>>2]=0;f[A+4>>2]=0;f[A+8>>2]=0;f[A+12>>2]=0}}while(0);return}function cZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+112|0;o=k+72|0;u=k+32|0;b=k;B=e+16|0;c=1;while(1){n=f[B>>2]|0;if((c|0)>(f[n+180>>2]|0))break;n=f[(f[n+184>>2]|0)+(c<<2)>>2]|0;a=o;t=i;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0));cZ(u,n,o);a=i;t=u;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0));c=c+1|0}if(((Dp(e)|0)!=(e|0)?(s=f[(f[B>>2]|0)+12>>2]|0,s|0):0)?r[s+81>>0]|0:0){B=i+32|0;u=f[B>>2]|0;f[o>>2]=f[i>>2];f[o+4>>2]=f[i+4>>2];f[o+8>>2]=f[i+8>>2];f[o+12>>2]=f[i+12>>2];f[o+16>>2]=f[i+16>>2];f[o+20>>2]=f[i+20>>2];f[o+24>>2]=f[i+24>>2];f[o+28>>2]=f[i+28>>2];fZ(b,s,u,o);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[i+12>>2]=f[b+12>>2];f[i+16>>2]=f[b+16>>2];f[i+20>>2]=f[b+20>>2];f[i+24>>2]=f[b+24>>2];f[i+28>>2]=f[b+28>>2];f[B>>2]=(f[B>>2]|0)+40}a=A;t=i;l=a+40|0;do{f[a>>2]=f[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(l|0));v=k;return}function oZ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var t=0.0,l=0.0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+160|0;w=h+96|0;B=h+48|0;b=h;k=f[13918]|0;u=a[n+32>>0]|0;t=+o[n>>3];l=+o[n+8>>3];c=+o[n+16>>3];s=+o[n+24>>3];f[b>>2]=e;f[b+4>>2]=r;f[b+8>>2]=u;o[b+16>>3]=t;o[b+24>>3]=l;o[b+32>>3]=c;o[b+40>>3]=s;uP(k,89099,b)|0;A:do{if(0>=2){JP(89159,8,1,k)|0;b=0;while(1){if((b|0)>=(e|0))break;n=f[A+32>>2]|0;t=+o[A>>3];l=+o[A+8>>3];c=+o[A+16>>3];s=+o[A+24>>3];if(!n)u=174185;else u=f[f[n+32>>2]>>2]|0;f[B>>2]=b;o[B+8>>3]=t;o[B+16>>3]=l;o[B+24>>3]=c;o[B+32>>3]=s;f[B+40>>2]=n;f[B+44>>2]=u;uP(k,89168,B)|0;b=b+1|0;A=A+40|0}JP(89211,8,1,k)|0;n=0;while(1){if((n|0)>=(r|0))break A;e=a[i+36>>0]|0;t=+o[i+16>>3];l=+o[i+24>>3];c=+o[i>>3];s=+o[i+8>>3];B=f[f[i+32>>2]>>2]|0;f[w>>2]=n;f[w+4>>2]=i;f[w+8>>2]=e;o[w+16>>3]=t;o[w+24>>3]=l;o[w+32>>3]=c;o[w+40>>3]=s;f[w+48>>2]=B;uP(k,89220,w)|0;i=i+40|0;n=n+1|0}}}while(0);v=h;return}function sZ(A,e){A=A|0;e=e|0;var i=0.0;i=+o[e+8>>3]*.5+ +o[e+24>>3];o[A>>3]=+o[e>>3]*.5+ +o[e+16>>3];o[A+8>>3]=i;return}function uZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0.0,l=0.0;r=v;v=v+16|0;n=r;l=+o[e>>3];o[i>>3]=+o[(+o[i>>3]>3];a=i+8|0;t=+o[e+8>>3];o[a>>3]=+o[(+o[a>>3]>3];l=+o[e+16>>3]+l;o[n>>3]=l;t=+o[e+24>>3]+t;o[n+8>>3]=t;a=i+16|0;o[a>>3]=+o[(+o[a>>3]>l?a:n)>>3];e=i+24|0;o[e>>3]=+o[(+o[e>>3]>t?a:n)+8>>3];f[A>>2]=f[i>>2];f[A+4>>2]=f[i+4>>2];f[A+8>>2]=f[i+8>>2];f[A+12>>2]=f[i+12>>2];f[A+16>>2]=f[i+16>>2];f[A+20>>2]=f[i+20>>2];f[A+24>>2]=f[i+24>>2];f[A+28>>2]=f[i+28>>2];v=r;return}function bZ(A){A=A|0;Km(A,1);return}function vZ(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;r=v;v=v+16|0;i=r;e=rC(aY(A,90560)|0)|0;if(e){e=BZ(e)|0;if(e|0){n=f[e+40>>2]|0;i=f[e+44>>2]|0;a=A+16|0;A=f[a>>2]|0;o[A+32>>3]=+(n|0)*.013888888888888888;o[A+40>>3]=+(i|0)*.013888888888888888;A=Jb(12)|0;f[(f[a>>2]|0)+12>>2]=A;f[A>>2]=f[e+12>>2];f[A+4>>2]=((n|0)/-2|0)-(f[e+32>>2]|0);f[A+8>>2]=((i|0)/-2|0)-(f[e+36>>2]|0)}}else{f[i>>2]=Ap(A)|0;Iy(0,89268,i)|0}v=r;return}function BZ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+1152|0;l=B+24|0;t=B+8|0;i=B;n=B+120|0;c=B+44|0;o=B+40|0;s=B+36|0;u=B+32|0;b=B+28|0;e=f[42311]|0;if(!e){e=vy(19832,f[4345]|0)|0;f[42311]=e}e=mL[f[e>>2]&31](e,A,512)|0;do{if(!e){a=FP(A,123632)|0;if(!a){f[i>>2]=A;Iy(0,89317,i)|0;e=0;break}else{e=0;i=0}while(1){if(!(SJ(n,1024,a)|0)){n=11;break}f[t>>2]=o;f[t+4>>2]=s;f[t+8>>2]=u;f[t+12>>2]=b;k=(XP(n,89345,t)|0)==4;i=k?1:i;if((r[n>>0]|0)!=37){k=(jJ(n,89374)|0)==0;e=k?e:1}if((i|0)!=0&(e|0)!=0){n=12;break}}if((n|0)==11)if(!i){f[l>>2]=A;Iy(0,89379,l)|0;e=0}else n=12;if((n|0)==12){k=Pb(64)|0;o=f[o>>2]|0;f[k+32>>2]=o;s=f[s>>2]|0;f[k+40>>2]=(f[u>>2]|0)-o;f[k+36>>2]=(f[b>>2]|0)-s;f[k+8>>2]=A;b=f[42312]|0;f[42312]=b+1;f[k+12>>2]=b;HP(uH(a)|0,c)|0;b=f[c+36>>2]|0;u=Pb(b+1|0)|0;f[k+52>>2]=u;eR(a,0,0)|0;cH(u,b,1,a)|0;r[u+b>>0]=0;b=f[42311]|0;mL[f[b>>2]&31](b,k,1)|0;r[k+16>>0]=e;e=k}IP(a)|0}}while(0);v=B;return e|0}function kZ(A,e,i){A=A|0;e=e|0;i=i|0;HW(f[e+52>>2]|0);return}function wZ(A){A=A|0;HW(f[(f[A+16>>2]|0)+12>>2]|0);return}function hZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+16|0;s=u+8|0;o=u;c=(e|0)!=0;A:do{if(c){t=0;n=0;e:while(1)while(1){if(t)break A;a=f[e+(n<<2)>>2]|0;if(!a){l=6;break A}n=n+1|0;if(!(r[a>>0]|0)){t=1;continue e}}}else l=6}while(0);A:do{if((l|0)==6)while(1){n=f[i>>2]|0;if(!n)break A;Ml(A,n)|0;Ml(A,134901)|0;i=i+4|0;l=6}}while(0);A:do{if(c){t=0;while(1){n=f[e+(t<<2)>>2]|0;if(!n)break A;do{if(r[n>>0]|0){i=rC(n)|0;if(!i){f[o>>2]=n;Iy(0,89418,o)|0;break}a=FP(i,123632)|0;if(!a){f[s>>2]=i;Iy(0,89446,s)|0;break}while(1){n=iC(a)|0;if(!n)break;Ml(A,n)|0}Ml(A,134901)|0;IP(a)|0}}while(0);t=t+1|0}}}while(0);v=u;return}function dZ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;e=f[e+52>>2]|0;A:while(1){i=r[e>>0]|0;e:do{switch(i<<24>>24){case 0:break A;case 37:{if((r[e+1>>0]|0)==37){i=e+2|0;if((((iJ(i,89474,3)|0)!=0?(iJ(i,89478,5)|0)!=0:0)?(iJ(i,89484,3)|0)!=0:0)?(iJ(i,89488,7)|0)!=0:0){i=37;break e}else a=37;i:while(1){switch(a<<24>>24){case 13:{n=10;break i}case 10:case 0:{n=12;break i}default:{}}a=e+1|0;e=a;a=r[a>>0]|0}if((n|0)==10){i=e+1|0;if((r[i>>0]|0)==10){e=e+2|0;continue A}}else if((n|0)==12)i=e+1|0;e=a<<24>>24==0?e:i;continue A}else i=37;break}default:{}}}while(0);e:while(1){switch(i<<24>>24){case 10:case 13:case 0:break e;default:{}}El(A,i<<24>>24)|0;a=e+1|0;e=a;i=r[a>>0]|0}n=e+1|0;if(i<<24>>24==13?(r[n>>0]|0)==10:0)e=e+2|0;else e=i<<24>>24==0?e:n;El(A,10)|0}return}function gZ(A){A=A|0;var e=0,i=0,n=0,a=0;n=v;v=v+16|0;i=n;e=f[42311]|0;A:do{if(e|0){e=mL[f[e>>2]&31](e,0,128)|0;while(1){if(!e)break A;if(!(r[e+16>>0]|0)){f[i>>2]=f[e+12>>2];Vl(A,89496,i);Ml(A,89514)|0;dZ(A,e);Ml(A,89532)|0;Ml(A,89547)|0}a=f[42311]|0;e=mL[f[a>>2]&31](a,e,8)|0}}}while(0);v=n;return}function mZ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;a=v;v=v+16|0;i=a;A:do{switch(e|0){case 0:{n=A;break}case 1:{n=HC(A)|0;break}default:{switch(ZZ(A)|0){case 2:break;case 1:{n=HC(A)|0;break A}default:{n=A;break A}}if(!(f[42313]|0)){Iy(0,89559,i)|0;f[42313]=1;n=A}else n=A}}}while(0);if(!(f[42314]|0))Qy(169256,0,0);e=f[42315]|0;if(e>>>0>=(f[42316]|0)>>>0){yy(169256,1)|0;e=f[42315]|0}f[42315]=e+1;r[e>>0]=40;i=n;A:while(1){switch(r[i>>0]|0){case 0:break A;case 92:case 41:case 40:{e=f[42315]|0;if(e>>>0>=(f[42316]|0)>>>0){yy(169256,1)|0;e=f[42315]|0}f[42315]=e+1;r[e>>0]=92;break}default:{}}e=f[42315]|0;if(e>>>0>=(f[42316]|0)>>>0){yy(169256,1)|0;e=f[42315]|0}t=r[i>>0]|0;f[42315]=e+1;r[e>>0]=t;i=i+1|0}e=f[42315]|0;if(e>>>0>=(f[42316]|0)>>>0){yy(169256,1)|0;e=f[42315]|0}f[42315]=e+1;r[e>>0]=41;if((n|0)!=(A|0))HW(n);e=f[42315]|0;if(e>>>0>=(f[42316]|0)>>>0){yy(169256,1)|0;e=f[42315]|0}r[e>>0]=0;t=f[42314]|0;f[42315]=t;v=a;return t|0}function ZZ(A){A=A|0;var e=0,i=0;e=0;A:while(1){while(1){i=r[A>>0]|0;if(!(i<<24>>24))break A;if((i&255)<127)A=A+1|0;else break}if((i&-4)<<24>>24==-64){e=1;A=A+2|0}else{e=2;break}}return e|0}function GZ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0;u=v;v=v+96|0;t=u+80|0;l=u+72|0;s=u+64|0;a=u+32|0;c=u;o[a>>3]=+o[A>>3];o[a+8>>3]=+o[A+8>>3];o[a+16>>3]=+o[e>>3];o[a+24>>3]=+o[e+8>>3];do{if((kW(i,a,l)|0)>=0){if(!n){e=i+4|0;A=f[e>>2]|0;n=f[42319]|0;if((A|0)>(f[42318]|0)){if(!n)A=Pb(A<<5)|0;else A=Hb(n,A<<5)|0;f[42319]=A;a=f[e>>2]|0;f[42318]=a;n=A}else a=A;e=f[i>>2]|0;A=0;while(1){if((A|0)>=(a|0))break;b=n+(A<<5)|0;i=e+(A<<4)|0;f[b>>2]=f[i>>2];f[b+4>>2]=f[i+4>>2];f[b+8>>2]=f[i+8>>2];f[b+12>>2]=f[i+12>>2];b=n+(A<<5)+16|0;i=A+1|0;B=e+(((i|0)%(a|0)|0)<<4)|0;f[b>>2]=f[B>>2];f[b+4>>2]=f[B+4>>2];f[b+8>>2]=f[B+8>>2];f[b+12>>2]=f[B+12>>2];A=i}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;f[c+28>>2]=0;f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];if((om(n,a,t,c,s)|0)<0){A=0;break}}else{f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];PW(t,s)}A=s+4|0;if(!(IZ(f[A>>2]|0)|0)){a=f[A>>2]|0;A=f[42320]|0;n=f[s>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;B=A+(e<<4)|0;b=n+(e<<4)|0;f[B>>2]=f[b>>2];f[B+4>>2]=f[b+4>>2];f[B+8>>2]=f[b+8>>2];f[B+12>>2]=f[b+12>>2];e=e+1|0}f[r>>2]=a}else A=0}else A=0}while(0);v=u;return A|0}function IZ(A){A=A|0;var e=0,i=0,r=0;r=v;v=v+16|0;i=r;e=f[42321]|0;do{if((e|0)<(A|0)){A=A+300-((A|0)%300|0)+e|0;e=Hb(f[42320]|0,A<<4)|0;f[42320]=e;if(!e){Iy(1,89649,i)|0;A=1;break}else{f[42321]=A;A=0;break}}else A=0}while(0);v=r;return A|0}function CZ(){var A=0,e=0,i=0;e=v;v=v+16|0;A=e;i=f[42322]|0;f[42322]=i+1;do{if((i|0)<=0){i=Pb(4800)|0;f[42320]=i;if(!i){Iy(1,89672,A)|0;A=1;break}f[42321]=300;f[42323]=0;f[42324]=0;if(0){PI();A=0}else A=0}else A=0}while(0);v=e;return A|0}function MZ(){var A=0,e=0,i=0,r=0.0,n=0,a=0;e=v;v=v+16|0;A=e;i=f[42322]|0;f[42322]=i+-1;if((i|0)<=1?(HW(f[42320]|0),0):0){i=f[13918]|0;a=f[42323]|0;n=f[42324]|0;r=+RI();f[A>>2]=a;f[A+4>>2]=n;o[A+8>>3]=r;uP(i,89710,A)|0}v=e;return}function EZ(A,e){A=A|0;e=e|0;return QZ(A,e,0)|0}function QZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,z=0,J=0,P=0,R=0,H=0;P=v;v=v+176|0;Y=P+168|0;J=P+128|0;G=P+120|0;m=P+112|0;t=P+104|0;h=P+88|0;u=P+72|0;a=P+64|0;d=P+160|0;V=P+152|0;I=P+144|0;g=P+32|0;Z=P;z=P+136|0;f[42323]=(f[42323]|0)+1;p=f[A+80>>2]|0;f[42324]=(f[42324]|0)+p;n=A+88|0;while(1){Q=f[n>>2]|0;if(!Q){y=4;break}n=f[Q+16>>2]|0;if(!(r[n+112>>0]|0)){y=5;break}else n=n+116|0}do{if((y|0)==4){Iy(1,89753,a)|0;n=0}else if((y|0)==5){E=f[A+84>>2]|0;if(!(yZ(p,E,A)|0)){a=p<<3;if((a|0)>(f[42325]|0)){n=f[42326]|0;if(!n)n=Pb(p<<7)|0;else n=Hb(n,p<<7)|0;f[42326]=n;f[42325]=a}A:do{if((p|0)>1?+o[E+8>>3]>+o[E+40>>3]:0){n=0;while(1){if((n|0)==(p|0)){B=1;break A}C=E+(n<<5)+24|0;s=+o[C>>3];M=E+(n<<5)+8|0;o[C>>3]=-+o[M>>3];o[M>>3]=-s;n=n+1|0}}else B=0}while(0);w=f[Q>>2]&3;C=Q+48|0;n=f[((w|0)==3?Q:C)+40>>2]|0;M=Q+-48|0;if((n|0)==(f[((w|0)==2?Q:M)+40>>2]|0)){f[t>>2]=Ap(n)|0;Iy(1,89860,t)|0;n=0;break}b=p+-1|0;k=f[42326]|0;w=k;n=0;l=0;A:while(1){if((l|0)>=(p|0)){l=b;u=n;break}if((l|0)>0)a=+o[E+(l<<5)+8>>3]>+o[E+(l+-1<<5)+8>>3]?-1:1;else a=0;if((l|0)<(b|0))t=+o[E+(l+1<<5)+8>>3]>+o[E+(l<<5)+8>>3]?1:-1;else t=0;e:do{if((a|0)!=(t|0))if((a|0)==1|(t|0)==-1){a=E+(l<<5)|0;o[k+(n<<4)>>3]=+o[a>>3];t=n+1|0;o[k+(n<<4)+8>>3]=+o[E+(l<<5)+24>>3];o[k+(t<<4)>>3]=+o[a>>3];a=E+(l<<5)+8|0;y=29;break}else{a=E+(l<<5)+16|0;o[k+(n<<4)>>3]=+o[a>>3];t=n+1|0;o[k+(n<<4)+8>>3]=+o[E+(l<<5)+8>>3];o[k+(t<<4)>>3]=+o[a>>3];a=E+(l<<5)+24|0;y=29;break}else{switch(a|0){case-1:break e;case 0:break;default:{y=28;break A}}a=E+(l<<5)|0;o[k+(n<<4)>>3]=+o[a>>3];t=n+1|0;o[k+(n<<4)+8>>3]=+o[E+(l<<5)+24>>3];o[k+(t<<4)>>3]=+o[a>>3];a=E+(l<<5)+8|0;y=29}}while(0);if((y|0)==29){y=0;o[k+(t<<4)+8>>3]=+o[a>>3];n=n+2|0}l=l+1|0}if((y|0)==28){f[u>>2]=a;f[u+4>>2]=a;f[u+8>>2]=480;Iy(1,89795,u)|0;n=0;break}A:while(1){if((l|0)<=-1)break;if((l|0)<(b|0))n=+o[E+(l<<5)+8>>3]>+o[E+(l+1<<5)+8>>3]?-1:1;else n=0;if((l|0)>0)a=+o[E+(l+-1<<5)+8>>3]>+o[E+(l<<5)+8>>3]?1:-1;else a=0;e:do{if((n|0)!=(a|0))if((n|0)==1|(a|0)==-1){n=E+(l<<5)|0;o[k+(u<<4)>>3]=+o[n>>3];a=u+1|0;o[k+(u<<4)+8>>3]=+o[E+(l<<5)+24>>3];o[k+(a<<4)>>3]=+o[n>>3];n=E+(l<<5)+8|0;t=2;break}else{n=E+(l<<5)+16|0;o[k+(u<<4)>>3]=+o[n>>3];a=u+1|0;o[k+(u<<4)+8>>3]=+o[E+(l<<5)+8>>3];o[k+(a<<4)>>3]=+o[n>>3];n=E+(l<<5)+24|0;t=2;break}else switch(n|0){case 0:{n=E+(l<<5)+16|0;o[k+(u<<4)>>3]=+o[n>>3];a=u+1|0;o[k+(u<<4)+8>>3]=+o[E+(l<<5)+8>>3];o[k+(a<<4)>>3]=+o[n>>3];n=E+(l<<5)+24|0;t=2;break e}case-1:{H=E+(l<<5)+16|0;o[k+(u<<4)>>3]=+o[H>>3];n=E+(l<<5)+8|0;t=u+1|0;o[k+(u<<4)+8>>3]=+o[n>>3];o[k+(t<<4)>>3]=+o[H>>3];H=E+(l<<5)+24|0;R=u+2|0;o[k+(t<<4)+8>>3]=+o[H>>3];t=E+(l<<5)|0;o[k+(R<<4)>>3]=+o[t>>3];a=u+3|0;o[k+(R<<4)+8>>3]=+o[H>>3];o[k+(a<<4)>>3]=+o[t>>3];t=4;break e}default:{y=42;break A}}}while(0);o[k+(a<<4)+8>>3]=+o[n>>3];l=l+-1|0;u=u+t|0}if((y|0)==42){f[h>>2]=n;f[h+4>>2]=n;f[h+8>>2]=513;Iy(1,89795,h)|0;n=0;break}A:do{if(!B)n=0;else{n=0;while(1){if((n|0)>=(p|0)){n=0;break}R=E+(n<<5)+24|0;s=+o[R>>3];H=E+(n<<5)+8|0;o[R>>3]=-+o[H>>3];o[H>>3]=-s;n=n+1|0}while(1){if((n|0)>=(u|0)){n=0;break A}H=k+(n<<4)+8|0;o[H>>3]=-+o[H>>3];n=n+1|0}}}while(0);while(1){if((n|0)>=(p|0))break;o[E+(n<<5)>>3]=2147483647.0;o[E+(n<<5)+16>>3]=-2147483648.0;n=n+1|0}f[d>>2]=w;t=d+4|0;f[t>>2]=u;o[g>>3]=+o[A>>3];o[g+8>>3]=+o[A+8>>3];o[g+16>>3]=+o[A+40>>3];o[g+24>>3]=+o[A+48>>3];if((kW(d,g,V)|0)<0){Iy(1,89899,m)|0;n=0;break}if(!i){a=f[t>>2]|0;n=f[42319]|0;if((a|0)>(f[42318]|0)){if(!n)n=Pb(a<<5)|0;else n=Hb(n,a<<5)|0;f[42319]=n;a=f[t>>2]|0;f[42318]=a}l=f[42326]|0;t=0;while(1){if((t|0)>=(a|0))break;R=n+(t<<5)|0;H=l+(t<<4)|0;f[R>>2]=f[H>>2];f[R+4>>2]=f[H+4>>2];f[R+8>>2]=f[H+8>>2];f[R+12>>2]=f[H+12>>2];R=n+(t<<5)+16|0;H=t+1|0;m=l+(((H|0)%(a|0)|0)<<4)|0;f[R>>2]=f[m>>2];f[R+4>>2]=f[m+4>>2];f[R+8>>2]=f[m+8>>2];f[R+12>>2]=f[m+12>>2];t=H}if(!(r[A+29>>0]|0)){c=0.0;s=0.0}else{s=+o[A+16>>3];c=+N(+s);s=+W(+s)}o[Z+8>>3]=s;o[Z>>3]=c;if(!(r[A+69>>0]|0)){c=0.0;s=0.0}else{s=+o[A+56>>3];c=-+N(+s);s=-+W(+s)}o[Z+24>>3]=s;o[Z+16>>3]=c;f[Y>>2]=f[V>>2];f[Y+4>>2]=f[V+4>>2];if((om(n,a,Y,Z,I)|0)<0){Iy(1,89938,G)|0;n=0;break}}else{f[Y>>2]=f[V>>2];f[Y+4>>2]=f[V+4>>2];PW(Y,I)}u=I+4|0;if(!(IZ(f[u>>2]|0)|0)){n=0;while(1){if((n|0)>=(p|0))break;o[E+(n<<5)>>3]=2147483647.0;o[E+(n<<5)+16>>3]=-2147483648.0;n=n+1|0}t=f[u>>2]|0;l=f[42320]|0;a=f[I>>2]|0;n=0;while(1){if((n|0)>=(t|0)){t=1;n=10;a=0;break}H=l+(n<<4)|0;R=a+(n<<4)|0;f[H>>2]=f[R>>2];f[H+4>>2]=f[R+4>>2];f[H+8>>2]=f[R+8>>2];f[H+12>>2]=f[R+12>>2];n=n+1|0}while(1){if(!((a|0)<15&t<<24>>24!=0))break;YZ(E,p,f[42320]|0,f[u>>2]|0,n);l=0;while(1){if((l|0)>=(p|0))break;if(+o[E+(l<<5)>>3]==2147483647.0){y=82;break}if(+o[E+(l<<5)+16>>3]==-2147483648.0){y=82;break}l=l+1|0}if((y|0)==82){y=0;H=n<<1;n=H;a=(H|0)>(2147483647/(p|0)|0|0)?15:a}t=(l|0)==(p|0)?0:t;a=a+1|0}if(t<<24>>24){R=Ap(f[((f[Q>>2]&3|0)==3?Q:C)+40>>2]|0)|0;H=Ap(f[((f[Q>>2]&3|0)==2?Q:M)+40>>2]|0)|0;f[J>>2]=R;f[J+4>>2]=H;Iy(0,89976,J)|0;f[Y>>2]=f[V>>2];f[Y+4>>2]=f[V+4>>2];PW(Y,z);YZ(E,p,f[z>>2]|0,f[z+4>>2]|0,10);HW(f[z>>2]|0)}f[e>>2]=f[u>>2];n=f[42320]|0}else n=0}else n=0}}while(0);v=P;return n|0}function yZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0,a=0.0,t=0,l=0,c=0,s=0.0,u=0.0,b=0,B=0.0,k=0.0,w=0.0,h=0.0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0.0,P=0,R=0,H=0,L=0.0,F=0,D=0,X=0;X=v;v=v+32|0;W=X+16|0;N=X+8|0;c=X;r=0;l=0;while(1){if((l|0)>=(A|0))break;t=e+(l<<5)|0;h=+o[e+(l<<5)+8>>3]-+o[e+(l<<5)+24>>3];if(!((h>=0.0?h:-h)<.01)?(h=+o[t>>3]-+o[e+(l<<5)+16>>3],!((h>=0.0?h:-h)<.01)):0){if((r|0)!=(l|0)){F=e+(r<<5)|0;f[F>>2]=f[t>>2];f[F+4>>2]=f[t+4>>2];f[F+8>>2]=f[t+8>>2];f[F+12>>2]=f[t+12>>2];f[F+16>>2]=f[t+16>>2];f[F+20>>2]=f[t+20>>2];f[F+24>>2]=f[t+24>>2];f[F+28>>2]=f[t+28>>2]}r=r+1|0}l=l+1|0}z=e+16|0;do{if(!(+o[e>>3]>+o[z>>3])?(P=e+8|0,H=e+24|0,!(+o[P>>3]>+o[H>>3])):0){F=r+-1|0;R=f[13918]|0;Z=0;while(1){if((Z|0)>=(F|0))break;y=Z+1|0;Y=e+(y<<5)|0;n=+o[Y>>3];p=e+(y<<5)+16|0;a=+o[p>>3];if(n>a){D=16;break}M=e+(y<<5)+8|0;s=+o[M>>3];E=e+(y<<5)+24|0;u=+o[E>>3];if(s>u){D=16;break}V=e+(Z<<5)+16|0;m=+o[V>>3]>3]>a;A=g&1;C=e+(Z<<5)+24|0;d=+o[C>>3]>3]>u;t=c&1;G=A+r+l+t|0;b=(G|0)!=0;if(!(0==0|b^1)){f[W>>2]=Z;f[W+4>>2]=y;uP(R,90176,W)|0;pZ(i)}A:do{if(b){if(!m)if(!g)if(!d){if(c){c=0;b=r;r=E;t=I;D=24}}else{c=t;l=0;b=r;r=M;t=C;D=24}else{c=t;A=0;b=r;r=p;t=Q;D=24}else{c=t;b=0;r=Y;t=V;D=24}if((D|0)==24){D=0;Z=~~+o[t>>3];o[t>>3]=+o[r>>3];o[r>>3]=+(Z|0);t=c;r=b}b=G+-1|0;c=0;while(1){if((c|0)>=(b|0))break A;do{if((r|0)!=1){if((A|0)==1){h=+(~~((+o[p>>3]+ +o[Q>>3])*.5+.5)|0);o[p>>3]=h;o[Q>>3]=h;A=0;break}if((l|0)==1){h=+(~~((+o[M>>3]+ +o[C>>3])*.5+.5)|0);o[M>>3]=h;o[C>>3]=h;l=0;break}if((t|0)==1){h=+(~~((+o[E>>3]+ +o[I>>3])*.5+.5)|0);o[E>>3]=h;o[I>>3]=h;t=0}}else{h=+(~~((+o[Y>>3]+ +o[V>>3])*.5+.5)|0);o[Y>>3]=h;o[V>>3]=h;r=0}}while(0);c=c+1|0}}}while(0);B=+o[Q>>3];k=+o[V>>3];w=+o[Y>>3];h=+o[p>>3];t=VZ(~~B,~~k,~~w,~~h)|0;u=+o[I>>3];s=+o[C>>3];a=+o[M>>3];n=+o[E>>3];r=VZ(~~u,~~s,~~a,~~n)|0;if(!((t|0)!=0&(r|0)!=0)){Z=y;continue}if((t|0)<(r|0)){E=k-B>h-w;Z=k>3]=E?Z?w:h:Z?k:B;Z=y;continue}else{E=s-u>n-a;Z=s>3]=E?Z?a:n:Z?s:u;Z=y;continue}}if((D|0)==16){f[N>>2]=y;Iy(1,90130,N)|0;pZ(i);r=1;break}n=+o[i>>3];a=+o[e>>3];if(!(((!(n+o[z>>3]):0)?(J=+o[i+8>>3],!(J<+o[P>>3])):0)?!(J>+o[H>>3]):0)){if(0){JP(90219,42,1,R)|0;pZ(i);a=+o[e>>3];n=+o[i>>3]}if(n>3]=a;else a=n;n=+o[z>>3];if(a>n)o[i>>3]=n;r=i+8|0;a=+o[r>>3];n=+o[P>>3];if(a>3]=n;a=n}n=+o[H>>3];if(a>n)o[r>>3]=n}t=i+40|0;n=+o[t>>3];r=e+(F<<5)|0;a=+o[r>>3];if(((!(n+o[e+(F<<5)+16>>3]):0)?(L=+o[i+48>>3],!(L<+o[e+(F<<5)+8>>3])):0)?!(L>+o[e+(F<<5)+24>>3]):0){r=0;break}if(0){JP(90262,39,1,R)|0;pZ(i);a=+o[r>>3];n=+o[t>>3]}if(n>3]=a;n=a}a=+o[e+(F<<5)+16>>3];if(n>a)o[t>>3]=a;r=i+48|0;n=+o[r>>3];a=+o[e+(F<<5)+8>>3];if(n>3]=a;else a=n;n=+o[e+(F<<5)+24>>3];if(a>n){o[r>>3]=n;r=0}else r=0}else D=12}while(0);if((D|0)==12){Iy(1,90085,c)|0;pZ(i);r=1}v=X;return r|0}function YZ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0,v=0,B=0,k=0,w=0,h=0,d=0.0,g=0,m=0.0,Z=0.0,G=0.0,I=0.0,C=0.0;h=X(n,e)|0;d=1.0/+(h|0);n=0;A:while(1){g=n+3|0;if((g|0)>=(r|0))break;v=i+(n<<4)|0;B=i+(n<<4)+8|0;w=n+1|0;k=i+(w<<4)|0;w=i+(w<<4)+8|0;l=n+2|0;t=i+(l<<4)|0;l=i+(l<<4)+8|0;c=i+(g<<4)|0;s=i+(g<<4)+8|0;a=0;while(1){if((a|0)>(h|0)){n=g;continue A}m=d*+(a|0);u=+o[v>>3];b=+o[B>>3];I=+o[k>>3];Z=+o[w>>3];C=+o[t>>3];G=+o[l>>3];u=(I-u)*m+u;b=(Z-b)*m+b;I=(C-I)*m+I;Z=(G-Z)*m+Z;u=(I-u)*m+u;b=(Z-b)*m+b;u=((C-I+(+o[c>>3]-C)*m)*m+I-u)*m+u;b=((G-Z+(+o[s>>3]-G)*m)*m+Z-b)*m+b;f=0;while(1){if((f|0)>=(e|0))break;if(b<=+o[A+(f<<5)+24>>3]+.0001?b>=+o[A+(f<<5)+8>>3]+-.0001:0){n=A+(f<<5)|0;if(+o[n>>3]>u)o[n>>3]=u;n=A+(f<<5)+16|0;if(+o[n>>3]>3]=u}f=f+1|0}a=a+1|0}}return}function pZ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0,B=0.0,k=0.0,w=0;s=v;v=v+112|0;l=s+80|0;c=s+48|0;t=s+8|0;a=s;i=f[13918]|0;n=A+80|0;f[a>>2]=f[n>>2];uP(i,90302,a)|0;a=A+84|0;e=0;while(1){if((e|0)>=(f[n>>2]|0))break;w=f[a>>2]|0;k=+o[w+(e<<5)>>3];B=+o[w+(e<<5)+8>>3];b=+o[w+(e<<5)+16>>3];u=+o[w+(e<<5)+24>>3];f[t>>2]=e;o[t+8>>3]=k;o[t+16>>3]=B;o[t+24>>3]=b;o[t+32>>3]=u;uP(i,90313,t)|0;e=e+1|0}k=+o[A+8>>3];B=+o[A+16>>3];w=r[A+29>>0]|0?90344:90356;o[c>>3]=+o[A>>3];o[c+8>>3]=k;o[c+16>>3]=B;f[c+24>>2]=w;uP(i,90372,c)|0;B=+o[A+48>>3];k=+o[A+56>>3];w=r[A+69>>0]|0?90344:90356;o[l>>3]=+o[A+40>>3];o[l+8>>3]=B;o[l+16>>3]=k;f[l+24>>2]=w;uP(i,90423,l)|0;v=s;return}function VZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;do{if((e|0)>(i|0)&(r|0)>(A|0)){if(!((i|0)>(A|0)|(r|0)<(A|0))){A=r-A|0;break}if((e|0)<(i|0)|(e|0)>(r|0)){e=e-A|0;A=r-i|0;A=(e|0)<(A|0)?e:A;break}else{A=e-i|0;break}}else A=0}while(0);return A|0}function NZ(A,e){A=A|0;e=e|0;return QZ(A,e,1)|0}function WZ(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0.0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,V=0,N=0,W=0,z=0,J=0,P=0.0,R=0.0,H=0.0,L=0,F=0;J=v;v=v+304|0;M=J+272|0;C=J+208|0;V=J+96|0;N=J+32|0;W=J+16|0;z=J;w=J+192|0;I=J+176|0;t=J+160|0;E=J+296|0;Q=J+288|0;l=f[e>>2]|0;Z=f[l>>2]&3;c=l+-48|0;y=f[((Z|0)==2?l:c)+40>>2]|0;d=V+16|0;Z=(f[(f[((Z|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+16|0;G=l+16|0;Y=(f[G>>2]|0)+16|0;f[C>>2]=f[Z>>2];f[C+4>>2]=f[Z+4>>2];f[C+8>>2]=f[Z+8>>2];f[C+12>>2]=f[Z+12>>2];f[M>>2]=f[Y>>2];f[M+4>>2]=f[Y+4>>2];f[M+8>>2]=f[Y+8>>2];f[M+12>>2]=f[Y+12>>2];zZ(w,C,M);f[V>>2]=f[w>>2];f[V+4>>2]=f[w+4>>2];f[V+8>>2]=f[w+8>>2];f[V+12>>2]=f[w+12>>2];f[d>>2]=f[w>>2];f[d+4>>2]=f[w+4>>2];f[d+8>>2]=f[w+8>>2];f[d+12>>2]=f[w+12>>2];f[W>>2]=f[w>>2];f[W+4>>2]=f[w+4>>2];f[W+8>>2]=f[w+8>>2];f[W+12>>2]=f[w+12>>2];w=V+32|0;Y=V+48|0;Z=(f[y+16>>2]|0)+16|0;G=(f[G>>2]|0)+56|0;f[C>>2]=f[Z>>2];f[C+4>>2]=f[Z+4>>2];f[C+8>>2]=f[Z+8>>2];f[C+12>>2]=f[Z+12>>2];f[M>>2]=f[G>>2];f[M+4>>2]=f[G+4>>2];f[M+8>>2]=f[G+8>>2];f[M+12>>2]=f[G+12>>2];zZ(I,C,M);f[Y>>2]=f[I>>2];f[Y+4>>2]=f[I+4>>2];f[Y+8>>2]=f[I+8>>2];f[Y+12>>2]=f[I+12>>2];f[w>>2]=f[I>>2];f[w+4>>2]=f[I+4>>2];f[w+8>>2]=f[I+8>>2];f[w+12>>2]=f[I+12>>2];f[z>>2]=f[I>>2];f[z+4>>2]=f[I+4>>2];f[z+8>>2]=f[I+8>>2];f[z+12>>2]=f[I+12>>2];A:do{if((i|0)!=1&(r[174080]|0)==0){s=+o[V>>3];u=+o[Y>>3];P=s-u;b=+o[V+8>>3];B=+o[V+56>>3];h=b-B;k=h*h;if(k+P*P<1.0e-06){f[d>>2]=f[V>>2];f[d+4>>2]=f[V+4>>2];f[d+8>>2]=f[V+8>>2];f[d+12>>2]=f[V+12>>2];f[w>>2]=f[Y>>2];f[w+4>>2]=f[Y+4>>2];f[w+8>>2]=f[Y+8>>2];f[w+12>>2]=f[Y+12>>2];I=V+24|0;G=V+40|0;u=0.0;s=0.0}else{R=u-s;P=+p(+(k+R*R));Z=f[(f[(f[A+60>>2]|0)+16>>2]|0)+248>>2]|0;H=+((X(Z,i+-1|0)|0)/2|0|0);k=h*H/P;o[d>>3]=k+s;s=R*H/P;I=V+24|0;o[I>>3]=s+b;o[w>>3]=k+u;G=V+40|0;o[G>>3]=B+s;s=+(0-Z|0);u=R*s/P;s=h*s/P}n=(n|0)==6;g=Q+4|0;m=E+4|0;l=0;while(1){if((l|0)>=(i|0))break A;Z=f[e+(l<<2)>>2]|0;c=Z+-48|0;e:do{if((f[((f[Z>>2]&3|0)==2?Z:c)+40>>2]|0)==(y|0)){f[W>>2]=f[V>>2];f[W+4>>2]=f[V+4>>2];f[W+8>>2]=f[V+8>>2];f[W+12>>2]=f[V+12>>2];f[z>>2]=f[Y>>2];f[z+4>>2]=f[Y+4>>2];f[z+8>>2]=f[Y+8>>2];f[z+12>>2]=f[Y+12>>2];t=0;while(1){if((t|0)==4)break e;L=N+(t<<4)|0;F=V+(t<<4)|0;f[L>>2]=f[F>>2];f[L+4>>2]=f[F+4>>2];f[L+8>>2]=f[F+8>>2];f[L+12>>2]=f[F+12>>2];t=t+1|0}}else{f[W>>2]=f[Y>>2];f[W+4>>2]=f[Y+4>>2];f[W+8>>2]=f[Y+8>>2];f[W+12>>2]=f[Y+12>>2];f[z>>2]=f[V>>2];f[z+4>>2]=f[V+4>>2];f[z+8>>2]=f[V+8>>2];f[z+12>>2]=f[V+12>>2];t=0;while(1){if((t|0)==4)break e;F=N+(3-t<<4)|0;L=V+(t<<4)|0;f[F>>2]=f[L>>2];f[F+4>>2]=f[L+4>>2];f[F+8>>2]=f[L+8>>2];f[F+12>>2]=f[L+12>>2];t=t+1|0}}}while(0);if(n){f[g>>2]=4;f[Q>>2]=C;t=0;while(1){if((t|0)==4)break;F=C+(t<<4)|0;L=N+(t<<4)|0;f[F>>2]=f[L>>2];f[F+4>>2]=f[L+4>>2];f[F+8>>2]=f[L+8>>2];f[F+12>>2]=f[L+12>>2];t=t+1|0}f[M>>2]=f[Q>>2];f[M+4>>2]=f[Q+4>>2];PW(M,E);OG(Z,f[((f[Z>>2]&3|0)==2?Z:c)+40>>2]|0,f[E>>2]|0,f[m>>2]|0,a)}else OG(Z,f[((f[Z>>2]&3|0)==2?Z:c)+40>>2]|0,N,4,a);f[C>>2]=f[W>>2];f[C+4>>2]=f[W+4>>2];f[C+8>>2]=f[W+8>>2];f[C+12>>2]=f[W+12>>2];f[M>>2]=f[z>>2];f[M+4>>2]=f[z+4>>2];f[M+8>>2]=f[z+8>>2];f[M+12>>2]=f[z+12>>2];kI(A,Z,C,M);o[d>>3]=+o[d>>3]+s;o[I>>3]=+o[I>>3]+u;o[w>>3]=+o[w>>3]+s;o[G>>3]=+o[G>>3]+u;l=l+1|0}}else{if((n|0)==4){JZ(t,A);f[M>>2]=f[t>>2];f[M+4>>2]=f[t+4>>2];f[M+8>>2]=f[t+8>>2];f[M+12>>2]=f[t+12>>2];PZ(V,M)}OG(l,f[((f[l>>2]&3|0)==2?l:c)+40>>2]|0,V,4,a);f[C>>2]=f[W>>2];f[C+4>>2]=f[W+4>>2];f[C+8>>2]=f[W+8>>2];f[C+12>>2]=f[W+12>>2];f[M>>2]=f[z>>2];f[M+4>>2]=f[z+4>>2];f[M+8>>2]=f[z+8>>2];f[M+12>>2]=f[z+12>>2];kI(A,l,C,M)}}while(0);v=J;return}function zZ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[i+8>>3]+ +o[e+8>>3];o[A>>3]=+o[i>>3]+ +o[e>>3];o[A+8>>3]=r;return}function JZ(A,e){A=A|0;e=e|0;e=f[e+16>>2]|0;o[20899]=(+o[e+32>>3]+ +o[e+16>>3])*.5;o[20900]=(+o[e+40>>3]+ +o[e+24>>3])*.5;f[A>>2]=f[41798];f[A+4>>2]=f[41799];f[A+8>>2]=f[41800];f[A+12>>2]=f[41801];return}function PZ(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0.0,f=0.0,a=0.0,t=0.0;f=+o[A>>3];r=+o[A+48>>3];t=(r+f)*.5;a=+o[A+8>>3];i=+o[A+56>>3];n=(i+a)*.5;f=r-f;a=i-a;f=+p(+(a*a+f*f))*.2;a=+o[e>>3]-t;i=+o[e+8>>3]-n;r=+p(+(i*i+a*a));if(!(r==0.0)){a=t-a/r*f;t=n-i/r*f;o[A+32>>3]=a;o[A+16>>3]=a;o[A+40>>3]=t;o[A+24>>3]=t}return}function RZ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,s=0.0,u=0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0.0,V=0,N=0.0,W=0.0,z=0.0;y=v;v=v+208|0;d=y+192|0;h=y+176|0;E=y+32|0;Z=y+16|0;G=y;I=y+160|0;C=y+144|0;g=y+128|0;m=y+112|0;a=r&2130706432;M=(r&8|0)==0?(a|0)==0?4:a:8;if((M|0)==436207616)HZ(A,e,i,n);else{Q=Jb((i<<6)+64|0)|0;B=i+-1|0;k=G+8|0;w=Z+8|0;b=12.0;r=0;while(1){if((r|0)>=(i|0))break;u=e+(r<<4)|0;f[Z>>2]=f[u>>2];f[Z+4>>2]=f[u+4>>2];f[Z+8>>2]=f[u+8>>2];f[Z+12>>2]=f[u+12>>2];if((r|0)<(B|0)){r=r+1|0;u=e+(r<<4)|0;f[G>>2]=f[u>>2];f[G+4>>2]=f[u+4>>2];f[G+8>>2]=f[u+8>>2];f[G+12>>2]=f[u+12>>2]}else{f[G>>2]=f[e>>2];f[G+4>>2]=f[e+4>>2];f[G+8>>2]=f[e+8>>2];f[G+12>>2]=f[e+12>>2];r=r+1|0}s=+o[G>>3]-+o[Z>>3];Y=+o[k>>3]-+o[w>>3];s=+p(+(Y*Y+s*s))*.3333333333333333;b=b=(i|0))break;a=e+(t<<4)|0;f[Z>>2]=f[a>>2];f[Z+4>>2]=f[a+4>>2];f[Z+8>>2]=f[a+8>>2];f[Z+12>>2]=f[a+12>>2];if((t|0)<(B|0)){a=e+(t+1<<4)|0;f[G>>2]=f[a>>2];f[G+4>>2]=f[a+4>>2];f[G+8>>2]=f[a+8>>2];f[G+12>>2]=f[a+12>>2]}else{f[G>>2]=f[e>>2];f[G+4>>2]=f[e+4>>2];f[G+8>>2]=f[e+8>>2];f[G+12>>2]=f[e+12>>2]}s=+o[G>>3]-+o[Z>>3];Y=+o[k>>3]-+o[w>>3];s=b/+p(+(Y*Y+s*s));s=c?s*.3333333333333333:l?s*.5:s;a=Q+(r<<4)|0;if(u){f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[d>>2]=f[G>>2];f[d+4>>2]=f[G+4>>2];f[d+8>>2]=f[G+8>>2];f[d+12>>2]=f[G+12>>2];LZ(I,s*.5,h,d);f[a>>2]=f[I>>2];f[a+4>>2]=f[I+4>>2];f[a+8>>2]=f[I+8>>2];f[a+12>>2]=f[I+12>>2]}else{f[a>>2]=f[Z>>2];f[a+4>>2]=f[Z+4>>2];f[a+8>>2]=f[Z+8>>2];f[a+12>>2]=f[Z+12>>2]}a=Q+(r+1<<4)|0;f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[d>>2]=f[G>>2];f[d+4>>2]=f[G+4>>2];f[d+8>>2]=f[G+8>>2];f[d+12>>2]=f[G+12>>2];LZ(C,s,h,d);f[a>>2]=f[C>>2];f[a+4>>2]=f[C+4>>2];f[a+8>>2]=f[C+8>>2];f[a+12>>2]=f[C+12>>2];a=r+3|0;V=Q+(r+2<<4)|0;f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[d>>2]=f[G>>2];f[d+4>>2]=f[G+4>>2];f[d+8>>2]=f[G+8>>2];f[d+12>>2]=f[G+12>>2];LZ(g,1.0-s,h,d);f[V>>2]=f[g>>2];f[V+4>>2]=f[g+4>>2];f[V+8>>2]=f[g+8>>2];f[V+12>>2]=f[g+12>>2];if(u){V=Q+(a<<4)|0;f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[d>>2]=f[G>>2];f[d+4>>2]=f[G+4>>2];f[d+8>>2]=f[G+8>>2];f[d+12>>2]=f[G+12>>2];LZ(m,1.0-s*.5,h,d);f[V>>2]=f[m>>2];f[V+4>>2]=f[m+4>>2];f[V+8>>2]=f[m+8>>2];f[V+12>>2]=f[m+12>>2];r=r+4|0}else r=a;t=t+1|0}c=Q+(r<<4)|0;f[c>>2]=f[Q>>2];f[c+4>>2]=f[Q+4>>2];f[c+8>>2]=f[Q+8>>2];f[c+12>>2]=f[Q+12>>2];c=Q+(r+1<<4)|0;l=Q+16|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];r=Q+(r+2<<4)|0;c=Q+32|0;f[r>>2]=f[c>>2];f[r+4>>2]=f[c+4>>2];f[r+8>>2]=f[c+8>>2];f[r+12>>2]=f[c+12>>2];r=M&2147483647;A:do{if((r|0)<201326592){if((r|0)>=83886080){if((r|0)<134217728){if((r|0)<100663296){switch(r|0){case 83886080:break;default:break A}if((i|0)==4){V=Jb(192)|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];B=V+16|0;d=e+16|0;f[B>>2]=f[d>>2];f[B+4>>2]=f[d+4>>2];f[B+8>>2]=f[d+8>>2];f[B+12>>2]=f[d+12>>2];B=Q+48|0;d=Q+64|0;b=+o[d>>3];u=V+32|0;o[u>>3]=b;k=Q+56|0;w=Q+72|0;N=+o[w>>3];C=V+40|0;o[C>>3]=N;Y=+o[B>>3]+b-+o[c>>3];g=V+48|0;o[g>>3]=Y;z=+o[k>>3]+N-+o[Q+40>>3];G=V+56|0;o[G>>3]=z;W=+o[d>>3]+Y-+o[B>>3];B=V+64|0;o[B>>3]=W;s=+o[w>>3]+z-+o[k>>3];k=V+72|0;o[k>>3]=s;w=V+80|0;o[w>>3]=b+W-Y;o[V+88>>3]=N+s-z;d=Q+96|0;m=Q+80|0;z=+o[m>>3];i=V+144|0;o[i>>3]=z;Z=Q+104|0;h=Q+88|0;s=+o[h>>3];o[V+152>>3]=s;N=+o[d>>3]+z-+o[Q+112>>3];I=V+128|0;o[I>>3]=N;Y=+o[Z>>3]+s-+o[Q+120>>3];M=V+136|0;o[M>>3]=Y;W=+o[m>>3]+N-+o[d>>3];d=V+112|0;o[d>>3]=W;b=+o[h>>3]+Y-+o[Z>>3];Z=V+120|0;o[Z>>3]=b;h=V+96|0;o[h>>3]=z+W-N;m=V+104|0;o[m>>3]=s+b-Y;c=V+160|0;l=e+32|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];c=V+176|0;e=e+48|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];Jk(A,V,12,n);f[E>>2]=f[u>>2];f[E+4>>2]=f[u+4>>2];f[E+8>>2]=f[u+8>>2];f[E+12>>2]=f[u+12>>2];Y=+o[u>>3];b=+o[g>>3];Y=Y+Y-b;g=E+16|0;o[g>>3]=Y;s=+o[C>>3];N=+o[G>>3];s=s+s-N;G=E+24|0;o[G>>3]=s;C=E+32|0;o[C>>3]=+o[B>>3]+Y-b;e=E+40|0;o[e>>3]=+o[k>>3]+s-N;n=E+48|0;f[n>>2]=f[w>>2];f[n+4>>2]=f[w+4>>2];f[n+8>>2]=f[w+8>>2];f[n+12>>2]=f[w+12>>2];Hk(A,E,4);f[E>>2]=f[h>>2];f[E+4>>2]=f[h+4>>2];f[E+8>>2]=f[h+8>>2];f[E+12>>2]=f[h+12>>2];N=+o[h>>3];s=+o[d>>3];N=N-(s-N);o[g>>3]=N;b=+o[m>>3];Y=+o[Z>>3];b=b-(Y-b);o[G>>3]=b;o[C>>3]=+o[I>>3]+N-s;o[e>>3]=+o[M>>3]+b-Y;f[n>>2]=f[i>>2];f[n+4>>2]=f[i+4>>2];f[n+8>>2]=f[i+8>>2];f[n+12>>2]=f[i+12>>2];Hk(A,E,4);HW(V);break}else BA(90472,90483,737,90492)}if((r|0)<117440512){switch(r|0){case 100663296:break;default:break A}I=i+5|0;V=Jb(I<<4)|0;C=e+16|0;N=+o[C>>3];N=(+o[e>>3]-N)*.625+N;o[V>>3]=N;M=e+40|0;z=+o[M>>3];i=e+24|0;m=Q+48|0;Z=Q+56|0;G=Q+72|0;z=(+o[i>>3]-z)*.5+z+(+o[Z>>3]-+o[G>>3])*1.5;o[V+8>>3]=z;W=+o[C>>3];W=(+o[e>>3]-W)*.25+W;o[V+16>>3]=W;o[V+24>>3]=z;o[V+32>>3]=W;Y=+o[M>>3];o[V+40>>3]=(+o[i>>3]-Y)*.5+Y;W=(+o[c>>3]-+o[m>>3])*.5+W;o[V+48>>3]=W;Y=+o[M>>3];o[V+56>>3]=(+o[i>>3]-Y)*.5+Y;o[V+64>>3]=W;W=+o[M>>3];W=(+o[i>>3]-W)*.5+W+(+o[Z>>3]-+o[G>>3]);o[V+72>>3]=W;o[V+80>>3]=N;o[V+88>>3]=W;o[V+96>>3]=N;W=W-(+o[Z>>3]-+o[G>>3])*.25;o[V+104>>3]=W;o[V+112>>3]=+o[c>>3]+N-+o[m>>3];o[V+120>>3]=(+o[Z>>3]-+o[G>>3])*.5+W;o[V+128>>3]=+o[V>>3];o[V+136>>3]=(+o[Z>>3]-+o[G>>3])*.25+z;Jk(A,V,I,n);o[E>>3]=+o[C>>3];z=+o[M>>3];o[E+8>>3]=(+o[i>>3]-z)*.5+z;o[E+16>>3]=+o[e>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 117440512:break;default:break A}i=i+1|0;V=Jb(i<<4)|0;o[V>>3]=+o[l>>3];C=Q+56|0;M=Q+72|0;o[V+8>>3]=+o[Q+24>>3]-(+o[C>>3]-+o[M>>3])*.5;o[V+16>>3]=+o[Q+48>>3];z=+o[C>>3];o[V+24>>3]=z-(z-+o[M>>3])*.5;o[V+32>>3]=+o[e+32>>3];E=e+40|0;o[V+40>>3]=(+o[C>>3]-+o[M>>3])*.5+ +o[E>>3];o[V+48>>3]=+o[l>>3];o[V+56>>3]=(+o[C>>3]-+o[M>>3])*.5+ +o[E>>3];z=+o[e+8>>3];o[V+72>>3]=z-(z-+o[e+56>>3])*.5;o[V+64>>3]=+o[e>>3];Jk(A,V,i,n);HW(V);break}}if((r|0)<167772160)if((r|0)<150994944){switch(r|0){case 134217728:break;default:break A}I=i+4|0;V=Jb(I<<4)|0;C=e+16|0;Y=+o[C>>3];G=Q+48|0;Y=(+o[e>>3]-Y)*.5+Y+(+o[c>>3]-+o[G>>3])*.25;o[V>>3]=Y;M=e+40|0;z=+o[M>>3];i=e+24|0;z=(+o[i>>3]-z)*.5+z;o[V+8>>3]=z;o[V+16>>3]=Y;m=Q+56|0;Z=Q+72|0;N=(+o[m>>3]-+o[Z>>3])*.5+z;o[V+24>>3]=N;Y=(+o[c>>3]-+o[G>>3])*.5+Y;o[V+32>>3]=Y;o[V+40>>3]=N;o[V+48>>3]=Y;Y=(+o[m>>3]-+o[Z>>3])*.5+N;o[V+56>>3]=Y;W=+o[C>>3];W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[G>>3])*-.75;o[V+64>>3]=W;o[V+72>>3]=Y;o[V+80>>3]=W;o[V+88>>3]=N;W=+o[C>>3];W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[G>>3])*-.25;o[V+96>>3]=W;o[V+104>>3]=N;o[V+112>>3]=W;o[V+120>>3]=z;Jk(A,V,I,n);o[E>>3]=+o[C>>3];z=+o[M>>3];o[E+8>>3]=(+o[i>>3]-z)*.5+z;o[E+16>>3]=+o[e>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 150994944:break;default:break A}I=i+2|0;V=Jb(I<<4)|0;C=e+16|0;N=+o[C>>3];G=Q+48|0;N=(+o[e>>3]-N)*.5+N+(+o[c>>3]-+o[G>>3])*.75;o[V>>3]=N;M=e+40|0;z=+o[M>>3];i=e+24|0;z=(+o[i>>3]-z)*.5+z;o[V+8>>3]=z;o[V+16>>3]=N;m=Q+56|0;Z=Q+72|0;N=(+o[m>>3]-+o[Z>>3])*.25+z;o[V+24>>3]=N;W=+o[C>>3];o[V+32>>3]=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[G>>3])*.25;W=(+o[m>>3]-+o[Z>>3])*.5+N;o[V+40>>3]=W;Y=+o[C>>3];o[V+48>>3]=(+o[e>>3]-Y)*.5+Y+(+o[c>>3]-+o[G>>3])*-.25;o[V+56>>3]=W;W=+o[C>>3];W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[G>>3])*-.75;o[V+64>>3]=W;o[V+72>>3]=N;o[V+80>>3]=W;o[V+88>>3]=z;Jk(A,V,I,n);o[E>>3]=+o[C>>3];z=+o[M>>3];o[E+8>>3]=(+o[i>>3]-z)*.5+z;o[E+16>>3]=+o[e>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else if((r|0)<184549376){switch(r|0){case 167772160:break;default:break A}I=i+1|0;V=Jb(I<<4)|0;C=e+16|0;N=+o[C>>3];m=Q+48|0;N=+o[c>>3]+N+(+o[e>>3]-N)*.5-+o[m>>3];o[V>>3]=N;M=e+40|0;z=+o[M>>3];i=e+24|0;Z=Q+56|0;G=Q+72|0;z=(+o[i>>3]-z)*.5+z+(+o[Z>>3]-+o[G>>3])*.25;o[V+8>>3]=z;N=N-+o[c>>3]+ +o[m>>3];o[V+16>>3]=N;o[V+24>>3]=+o[Z>>3]+z-+o[G>>3];o[V+32>>3]=N;N=(+o[Z>>3]-+o[G>>3])*.5+z;o[V+40>>3]=N;W=+o[C>>3];W=(+o[e>>3]-W)*.25+W;o[V+48>>3]=W;o[V+56>>3]=N;o[V+64>>3]=W;o[V+72>>3]=z;Jk(A,V,I,n);o[E>>3]=+o[C>>3];z=+o[M>>3];o[E+8>>3]=(+o[i>>3]-z)*.5+z;o[E+16>>3]=+o[e>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 184549376:break;default:break A}C=i+4|0;V=Jb(C<<4)|0;I=e+16|0;N=+o[I>>3];W=+o[e>>3]-N;g=Q+48|0;W=W*.125+N+(+o[c>>3]-+o[g>>3]+W)*.5;o[V>>3]=W;Z=e+40|0;N=+o[Z>>3];G=e+24|0;i=Q+56|0;m=Q+72|0;N=(+o[G>>3]-N)*.5+N+(+o[i>>3]-+o[m>>3])*.25;o[V+8>>3]=N;z=+o[I>>3];z=(+o[e>>3]-z)*.375+z;o[V+16>>3]=z;o[V+24>>3]=N;o[V+32>>3]=z;N=(+o[i>>3]-+o[m>>3])*.5+N;o[V+40>>3]=N;z=z-(+o[c>>3]-+o[g>>3])*.5;o[V+48>>3]=z;o[V+56>>3]=N;M=V+64|0;o[M>>3]=z;z=+o[Z>>3];z=(+o[G>>3]-z)*.5+z+(+o[i>>3]-+o[m>>3])*-.25;o[V+72>>3]=z;N=W-(+o[c>>3]-+o[g>>3])*.5;o[V+80>>3]=N;o[V+88>>3]=z;o[V+96>>3]=N;z=z-(+o[i>>3]-+o[m>>3])*.5;o[V+104>>3]=z;m=V+112|0;o[m>>3]=W;o[V+120>>3]=z;Jk(A,V,C,n);o[E>>3]=+o[I>>3];z=+o[Z>>3];I=E+8|0;o[I>>3]=(+o[G>>3]-z)*.5+z;C=E+16|0;o[C>>3]=+o[M>>3];M=e+8|0;i=e+56|0;n=E+24|0;o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+z;Hk(A,E,2);o[E>>3]=+o[m>>3];z=+o[Z>>3];o[I>>3]=(+o[G>>3]-z)*.5+z;o[C>>3]=+o[e>>3];o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+z;Hk(A,E,2);HW(V);break}}if((r|0)<33554432){if((r|0)<8){switch(r|0){case 4:break;default:break A}t=Pb((i*96|0)+32|0)|0;r=0;a=0;while(1){l=a|1;c=t+(a<<4)|0;if((r|0)>=(i|0))break;e=r<<2;V=Q+(e<<4)|0;f[c>>2]=f[V>>2];f[c+4>>2]=f[V+4>>2];f[c+8>>2]=f[V+8>>2];f[c+12>>2]=f[V+12>>2];V=t+(l<<4)|0;E=Q+((e|1)<<4)|0;f[V>>2]=f[E>>2];f[V+4>>2]=f[E+4>>2];f[V+8>>2]=f[E+8>>2];f[V+12>>2]=f[E+12>>2];V=t+(a+2<<4)|0;f[V>>2]=f[E>>2];f[V+4>>2]=f[E+4>>2];f[V+8>>2]=f[E+8>>2];f[V+12>>2]=f[E+12>>2];V=t+(a+3<<4)|0;E=Q+((e|2)<<4)|0;f[V>>2]=f[E>>2];f[V+4>>2]=f[E+4>>2];f[V+8>>2]=f[E+8>>2];f[V+12>>2]=f[E+12>>2];V=t+(a+4<<4)|0;f[V>>2]=f[E>>2];f[V+4>>2]=f[E+4>>2];f[V+8>>2]=f[E+8>>2];f[V+12>>2]=f[E+12>>2];V=t+(a+5<<4)|0;e=Q+((e|3)<<4)|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];r=r+1|0;a=a+6|0}f[c>>2]=f[t>>2];f[c+4>>2]=f[t+4>>2];f[c+8>>2]=f[t+8>>2];f[c+12>>2]=f[t+12>>2];i=t+(l<<4)|0;V=t+16|0;f[i>>2]=f[V>>2];f[i+4>>2]=f[V+4>>2];f[i+8>>2]=f[V+8>>2];f[i+12>>2]=f[V+12>>2];Rk(A,V,l,0,0,n&255);HW(t);break}if((r|0)<16777216){switch(r|0){case 8:break;default:break A}Jk(A,e,i,n);a=E+16|0;r=0;while(1){if((r|0)>=(i|0))break A;V=r*3|0;n=Q+(V+2<<4)|0;f[E>>2]=f[n>>2];f[E+4>>2]=f[n+4>>2];f[E+8>>2]=f[n+8>>2];f[E+12>>2]=f[n+12>>2];V=Q+(V+4<<4)|0;f[a>>2]=f[V>>2];f[a+4>>2]=f[V+4>>2];f[a+8>>2]=f[V+8>>2];f[a+12>>2]=f[V+12>>2];Hk(A,E,2);r=r+1|0}}switch(r|0){case 16777216:break;default:break A}a=i+1|0;t=Jb(a<<4)|0;r=1;while(1){if((r|0)>=(i|0))break;V=t+(r<<4)|0;M=e+(r<<4)|0;f[V>>2]=f[M>>2];f[V+4>>2]=f[M+4>>2];f[V+8>>2]=f[M+8>>2];f[V+12>>2]=f[M+12>>2];r=r+1|0}e=i*3|0;M=Q+(e+1<<4)|0;f[t>>2]=f[M>>2];f[t+4>>2]=f[M+4>>2];f[t+8>>2]=f[M+8>>2];f[t+12>>2]=f[M+12>>2];i=t+(i<<4)|0;V=Q+(e+-1<<4)|0;f[i>>2]=f[V>>2];f[i+4>>2]=f[V+4>>2];f[i+8>>2]=f[V+8>>2];f[i+12>>2]=f[V+12>>2];Jk(A,t,a,n);HW(t);f[E>>2]=f[V>>2];f[E+4>>2]=f[V+4>>2];f[E+8>>2]=f[V+8>>2];f[E+12>>2]=f[V+12>>2];V=E+16|0;f[V>>2]=f[M>>2];f[V+4>>2]=f[M+4>>2];f[V+8>>2]=f[M+8>>2];f[V+12>>2]=f[M+12>>2];n=E+32|0;o[n>>3]=+o[E>>3]+ +o[V>>3]-+o[Q+(e<<4)>>3];o[E+40>>3]=+o[E+8>>3]+ +o[E+24>>3]-+o[Q+(e<<4)+8>>3];Hk(A,V,2);f[V>>2]=f[n>>2];f[V+4>>2]=f[n+4>>2];f[V+8>>2]=f[n+8>>2];f[V+12>>2]=f[n+12>>2];Hk(A,E,2);break}else{if((r|0)<50331648){switch(r|0){case 33554432:break;default:break A}a=i+2|0;t=Jb(a<<4)|0;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];l=t+16|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];l=Q+48|0;i=Q+64|0;o[t+32>>3]=(+o[l>>3]-+o[i>>3])*.3333333333333333+ +o[c>>3];V=Q+56|0;r=Q+72|0;o[t+40>>3]=(+o[V>>3]-+o[r>>3])*.3333333333333333+ +o[Q+40>>3];z=+o[l>>3];o[t+48>>3]=(z-+o[i>>3])*.3333333333333333+z;z=+o[V>>3];o[t+56>>3]=(z-+o[r>>3])*.3333333333333333+z;r=4;while(1){if((r|0)>=(a|0))break;V=t+(r<<4)|0;i=e+(r+-2<<4)|0;f[V>>2]=f[i>>2];f[V+4>>2]=f[i+4>>2];f[V+8>>2]=f[i+8>>2];f[V+12>>2]=f[i+12>>2];r=r+1|0}Jk(A,t,a,n);HW(t);f[E>>2]=f[l>>2];f[E+4>>2]=f[l+4>>2];f[E+8>>2]=f[l+8>>2];f[E+12>>2]=f[l+12>>2];V=E+16|0;f[V>>2]=f[c>>2];f[V+4>>2]=f[c+4>>2];f[V+8>>2]=f[c+8>>2];f[V+12>>2]=f[c+12>>2];Hk(A,E,2);break}if((r|0)>=67108864){switch(r|0){case 67108864:break;default:break A}if((i|0)==4){V=Jb(96)|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];i=V+16|0;f[i>>2]=f[c>>2];f[i+4>>2]=f[c+4>>2];f[i+8>>2]=f[c+8>>2];f[i+12>>2]=f[c+12>>2];i=V+32|0;M=Q+64|0;f[i>>2]=f[M>>2];f[i+4>>2]=f[M+4>>2];f[i+8>>2]=f[M+8>>2];f[i+12>>2]=f[M+12>>2];i=V+48|0;e=e+32|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];e=V+64|0;i=Q+128|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];e=V+80|0;C=Q+160|0;f[e>>2]=f[C>>2];f[e+4>>2]=f[C+4>>2];f[e+8>>2]=f[C+8>>2];f[e+12>>2]=f[C+12>>2];Jk(A,V,6,n);HW(V);o[E>>3]=+o[Q+176>>3]+ +o[l>>3]-+o[Q>>3];o[E+8>>3]=+o[Q+184>>3]+ +o[Q+24>>3]-+o[Q+8>>3];V=E+16|0;f[V>>2]=f[M>>2];f[V+4>>2]=f[M+4>>2];f[V+8>>2]=f[M+8>>2];f[V+12>>2]=f[M+12>>2];Hk(A,E,2);f[V>>2]=f[i>>2];f[V+4>>2]=f[i+4>>2];f[V+8>>2]=f[i+8>>2];f[V+12>>2]=f[i+12>>2];Hk(A,E,2);f[V>>2]=f[Q>>2];f[V+4>>2]=f[Q+4>>2];f[V+8>>2]=f[Q+8>>2];f[V+12>>2]=f[Q+12>>2];Hk(A,E,2);break}else BA(90472,90483,714,90492)}switch(r|0){case 50331648:break;default:break A}a=i+3|0;t=Jb(a<<4)|0;f[t>>2]=f[e>>2];f[t+4>>2]=f[e+4>>2];f[t+8>>2]=f[e+8>>2];f[t+12>>2]=f[e+12>>2];z=+o[e>>3];o[t+16>>3]=z-(z-+o[l>>3])*.25;r=Q+56|0;z=(+o[r>>3]-+o[Q+72>>3])*.3333333333333333+ +o[e+8>>3];o[t+24>>3]=z;W=+o[e>>3];o[t+32>>3]=W-(W-+o[l>>3])*2.0;o[t+40>>3]=z;z=+o[e>>3];o[t+48>>3]=z-(z-+o[l>>3])*2.25;o[t+56>>3]=+o[r>>3];o[t+64>>3]=+o[Q+48>>3];o[t+72>>3]=+o[r>>3];r=4;while(1){if((r|0)>=(a|0))break;V=t+(r<<4)|0;i=e+(r+-3<<4)|0;f[V>>2]=f[i>>2];f[V+4>>2]=f[i+4>>2];f[V+8>>2]=f[i+8>>2];f[V+12>>2]=f[i+12>>2];r=r+1|0}Jk(A,t,a,n);HW(t);break}}else if((r|0)<318767104){if((r|0)<251658240){if((r|0)<218103808){switch(r|0){case 201326592:break;default:break A}V=i<<4;g=Jb(V)|0;m=e+16|0;z=+o[m>>3];o[g>>3]=z;C=e+40|0;W=+o[C>>3];M=e+24|0;I=Q+48|0;Z=Q+56|0;G=Q+72|0;W=(+o[M>>3]-W)*.5+W+(+o[Z>>3]-+o[G>>3])*.125;o[g+8>>3]=W;N=(+o[c>>3]-+o[I>>3])*2.0+z;o[g+16>>3]=N;o[g+24>>3]=W;o[g+32>>3]=N;W=(+o[Z>>3]-+o[G>>3])*.5+W;o[g+40>>3]=W;o[g+48>>3]=z;o[g+56>>3]=W;Jk(A,g,i,n);HW(g);V=Jb(V)|0;W=+o[c>>3]+ +o[m>>3]-+o[I>>3];o[V>>3]=W;z=+o[C>>3];z=(+o[M>>3]-z)*.5+z+(+o[Z>>3]-+o[G>>3])*-.625;o[V+8>>3]=z;N=+o[c>>3]-+o[I>>3]+W;I=V+16|0;o[I>>3]=N;o[V+24>>3]=z;o[V+32>>3]=N;z=(+o[Z>>3]-+o[G>>3])*.5+z;o[V+40>>3]=z;o[V+48>>3]=W;o[V+56>>3]=z;Jk(A,V,i,n);o[E>>3]=+o[I>>3];z=+o[C>>3];o[E+8>>3]=(+o[M>>3]-z)*.5+z;o[E+16>>3]=+o[e>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}if((r|0)<234881024){switch(r|0){case 218103808:break;default:break A}V=i<<4;Z=Jb(V)|0;z=+o[e>>3];o[Z>>3]=z;I=e+40|0;W=+o[I>>3];C=e+24|0;G=Q+56|0;M=Q+72|0;W=(+o[C>>3]-W)*.5+W+(+o[G>>3]-+o[M>>3])*.125;o[Z+8>>3]=W;o[Z+16>>3]=z;N=(+o[G>>3]-+o[M>>3])*.5+W;o[Z+24>>3]=N;z=z-(+o[G>>3]-+o[M>>3])*2.0;o[Z+32>>3]=z;o[Z+40>>3]=N;o[Z+48>>3]=z;o[Z+56>>3]=W;Jk(A,Z,i,n);HW(Z);V=Jb(V)|0;W=+o[e>>3]-+o[c>>3]+ +o[Q+48>>3];o[V>>3]=W;z=+o[I>>3];z=(+o[C>>3]-z)*.5+z+(+o[G>>3]-+o[M>>3])*-.625;o[V+8>>3]=z;o[V+16>>3]=W;N=(+o[G>>3]-+o[M>>3])*.5+z;o[V+24>>3]=N;W=W-(+o[G>>3]-+o[M>>3]);o[V+32>>3]=W;o[V+40>>3]=N;M=V+48|0;o[M>>3]=W;o[V+56>>3]=z;Jk(A,V,i,n);o[E>>3]=+o[e+16>>3];z=+o[I>>3];o[E+8>>3]=(+o[C>>3]-z)*.5+z;o[E+16>>3]=+o[M>>3];o[E+24>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 234881024:break;default:break A}V=i<<4;I=Jb(V)|0;g=e+16|0;W=+o[g>>3];m=Q+48|0;W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[m>>3])*-1.125;o[I>>3]=W;Z=e+40|0;z=+o[Z>>3];G=e+24|0;M=Q+56|0;C=Q+72|0;z=(+o[G>>3]-z)*.5+z+(+o[M>>3]-+o[C>>3])*.125;o[I+8>>3]=z;N=+o[c>>3]-+o[m>>3]+W;o[I+16>>3]=N;o[I+24>>3]=z;o[I+32>>3]=N;z=(+o[M>>3]-+o[C>>3])*.5+z;o[I+40>>3]=z;o[I+48>>3]=W;o[I+56>>3]=z;Jk(A,I,i,n);HW(I);I=Jb(V)|0;z=+o[g>>3];z=(+o[e>>3]-z)*.5+z+(+o[c>>3]-+o[m>>3])*-1.125;o[I>>3]=z;W=+o[Z>>3];W=(+o[G>>3]-W)*.5+W+(+o[M>>3]-+o[C>>3])*-.625;o[I+8>>3]=W;N=+o[c>>3]-+o[m>>3]+z;o[I+16>>3]=N;o[I+24>>3]=W;o[I+32>>3]=N;W=(+o[M>>3]-+o[C>>3])*.5+W;o[I+40>>3]=W;o[I+48>>3]=z;o[I+56>>3]=W;Jk(A,I,i,n);HW(I);I=Jb(V)|0;W=+o[g>>3];W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[m>>3])*.125;o[I>>3]=W;z=+o[Z>>3];z=(+o[G>>3]-z)*.5+z+(+o[M>>3]-+o[C>>3])*-.625;o[I+8>>3]=z;N=+o[c>>3]-+o[m>>3]+W;o[I+16>>3]=N;o[I+24>>3]=z;o[I+32>>3]=N;z=(+o[M>>3]-+o[C>>3])*.5+z;o[I+40>>3]=z;o[I+48>>3]=W;o[I+56>>3]=z;Jk(A,I,i,n);HW(I);V=Jb(V)|0;z=+o[g>>3];z=(+o[e>>3]-z)*.5+z+(+o[c>>3]-+o[m>>3])*.125;o[V>>3]=z;W=+o[Z>>3];W=(+o[G>>3]-W)*.5+W+(+o[M>>3]-+o[C>>3])*.125;o[V+8>>3]=W;N=+o[c>>3]-+o[m>>3]+z;I=V+16|0;o[I>>3]=N;o[V+24>>3]=W;o[V+32>>3]=N;W=(+o[M>>3]-+o[C>>3])*.5+W;o[V+40>>3]=W;o[V+48>>3]=z;o[V+56>>3]=W;Jk(A,V,i,n);o[E>>3]=+o[I>>3];W=+o[Z>>3];I=E+8|0;o[I>>3]=(+o[G>>3]-W)*.5+W;C=E+16|0;o[C>>3]=+o[e>>3];M=e+8|0;i=e+56|0;n=E+24|0;o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+W;Hk(A,E,2);W=+o[g>>3];o[E>>3]=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[m>>3])*-1.125;z=+o[Z>>3];o[I>>3]=(+o[G>>3]-z)*.5+z;o[C>>3]=W;o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+z;Hk(A,E,2);HW(V);break}}if((r|0)<285212672)if((r|0)<268435456){switch(r|0){case 251658240:break;default:break A}V=i<<4;g=Jb(V)|0;m=e+16|0;z=+o[m>>3];I=Q+48|0;z=z-+o[c>>3]+(+o[e>>3]-z)*.5+ +o[I>>3];o[g>>3]=z;Z=e+40|0;W=+o[Z>>3];G=e+24|0;M=Q+56|0;C=Q+72|0;W=(+o[G>>3]-W)*.5+W+(+o[M>>3]-+o[C>>3])*.125;o[g+8>>3]=W;N=(+o[c>>3]-+o[I>>3])*2.0+z;o[g+16>>3]=N;o[g+24>>3]=W;o[g+32>>3]=N;W=(+o[M>>3]-+o[C>>3])*.5+W;o[g+40>>3]=W;o[g+48>>3]=z;o[g+56>>3]=W;Jk(A,g,i,n);HW(g);V=Jb(V)|0;W=+o[m>>3];W=W-+o[c>>3]+(+o[e>>3]-W)*.5+ +o[I>>3];o[V>>3]=W;z=+o[Z>>3];z=(+o[G>>3]-z)*.5+z+(+o[M>>3]-+o[C>>3])*-.625;o[V+8>>3]=z;N=(+o[c>>3]-+o[I>>3])*2.0+W;I=V+16|0;o[I>>3]=N;o[V+24>>3]=z;o[V+32>>3]=N;z=(+o[M>>3]-+o[C>>3])*.5+z;o[V+40>>3]=z;o[V+48>>3]=W;o[V+56>>3]=z;Jk(A,V,i,n);o[E>>3]=+o[I>>3];z=+o[Z>>3];I=E+8|0;o[I>>3]=(+o[G>>3]-z)*.5+z;C=E+16|0;o[C>>3]=+o[e>>3];M=e+8|0;i=e+56|0;n=E+24|0;o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+z;Hk(A,E,2);o[E>>3]=+o[m>>3];z=+o[Z>>3];o[I>>3]=(+o[G>>3]-z)*.5+z;o[C>>3]=+o[V>>3];o[n>>3]=(+o[M>>3]-+o[i>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 268435456:break;default:break A}V=Jb(i<<4)|0;o[V>>3]=+o[e>>3];m=Q+48|0;G=Q+56|0;I=Q+72|0;o[V+8>>3]=+o[Q+24>>3]-(+o[G>>3]-+o[I>>3])*.5;o[V+16>>3]=+o[m>>3];z=+o[G>>3];o[V+24>>3]=z-(z-+o[I>>3])*.5;o[V+32>>3]=+o[e+32>>3];C=e+40|0;o[V+40>>3]=(+o[G>>3]-+o[I>>3])*.5+ +o[C>>3];o[V+48>>3]=+o[e>>3];o[V+56>>3]=(+o[G>>3]-+o[I>>3])*.5+ +o[C>>3];Jk(A,V,i,n);Z=e+16|0;z=(+o[c>>3]-+o[m>>3])*.25;W=z+ +o[Z>>3];o[E>>3]=W;N=+o[C>>3];g=e+24|0;Y=+o[G>>3]-+o[I>>3];N=(+o[g>>3]-N)*.5+N+Y*.125;M=E+8|0;o[M>>3]=N;i=E+16|0;o[i>>3]=z+W;n=E+24|0;o[n>>3]=N-Y*.25;Hk(A,E,2);Y=(+o[c>>3]-+o[m>>3])*.25;N=Y+ +o[Z>>3];o[E>>3]=N;W=+o[C>>3];z=+o[G>>3]-+o[I>>3];W=(+o[g>>3]-W)*.5+W+z*-.125;o[M>>3]=W;o[i>>3]=Y+N;o[n>>3]=z*.25+W;Hk(A,E,2);W=(+o[c>>3]-+o[m>>3])*.25;o[E>>3]=W+ +o[Z>>3];z=(+o[G>>3]-+o[I>>3])*.75+ +o[C>>3];o[M>>3]=z;o[i>>3]=+o[e>>3]-W;o[n>>3]=z;Hk(A,E,2);HW(V);break}else if((r|0)<301989888){switch(r|0){case 285212672:break;default:break A}I=Jb(i<<4)|0;m=e+16|0;W=+o[m>>3];C=Q+48|0;W=(+o[c>>3]-+o[C>>3]+(+o[e>>3]-W))*.5+W;o[I>>3]=W;Z=e+40|0;Y=+o[Z>>3];G=e+24|0;Y=(+o[c>>3]-+o[C>>3]+(+o[G>>3]-Y))*.5+Y;o[I+8>>3]=Y;o[I+16>>3]=W;W=+o[Z>>3];b=+o[c>>3]-+o[C>>3];W=(+o[G>>3]-W-b)*.5+W;o[I+24>>3]=W;z=+o[m>>3];z=(+o[e>>3]-z-b)*.5+z;o[I+32>>3]=z;o[I+40>>3]=W;o[I+48>>3]=z;o[I+56>>3]=Y;Jk(A,I,i,n);HW(I);Y=+o[m>>3];Y=(+o[e>>3]-Y)*.5+Y;z=+o[c>>3]-+o[C>>3];W=z*.75;b=Y+W;o[E>>3]=b;N=+o[Z>>3];N=(+o[G>>3]-N)*.5+N;W=N+W;I=E+8|0;o[I>>3]=W;M=E+16|0;o[M>>3]=b;z=z*-.75;N=N+z;V=E+24|0;o[V>>3]=N;z=Y+z;o[E+32>>3]=z;o[E+40>>3]=N;o[E+48>>3]=z;o[E+56>>3]=W;i=E+64|0;f[i>>2]=f[E>>2];f[i+4>>2]=f[E+4>>2];f[i+8>>2]=f[E+8>>2];f[i+12>>2]=f[E+12>>2];Hk(A,E,5);W=+o[m>>3];z=+o[e>>3];o[E>>3]=(z-W)*.5+W+(+o[c>>3]-+o[C>>3])*.75;W=+o[Z>>3];o[I>>3]=(+o[G>>3]-W)*.5+W;o[M>>3]=z;i=e+8|0;n=e+56|0;o[V>>3]=(+o[i>>3]-+o[n>>3])*.5+W;Hk(A,E,2);W=+o[m>>3];o[E>>3]=W;z=+o[Z>>3];o[I>>3]=(+o[G>>3]-z)*.5+z;o[M>>3]=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[C>>3])*-.75;o[V>>3]=(+o[i>>3]-+o[n>>3])*.5+z;Hk(A,E,2);break}else{switch(r|0){case 301989888:break;default:break A}M=i+12|0;V=Jb(M<<4)|0;G=e+16|0;s=+o[G>>3];h=Q+48|0;s=(+o[e>>3]-s)*.5+s+(+o[c>>3]-+o[h>>3])*.25;o[V>>3]=s;I=e+40|0;Y=+o[I>>3];C=e+24|0;m=Q+56|0;Z=Q+72|0;Y=(+o[m>>3]-+o[Z>>3]+(+o[C>>3]-Y))*.5+Y;g=V+8|0;o[g>>3]=Y;o[V+16>>3]=s;Y=(+o[m>>3]-+o[Z>>3])*.125+Y;d=V+24|0;o[d>>3]=Y;N=s-(+o[c>>3]-+o[h>>3])*.125;i=V+32|0;o[i>>3]=N;b=(+o[m>>3]-+o[Z>>3])*.125+Y;o[V+40>>3]=b;o[V+48>>3]=s;W=(+o[m>>3]-+o[Z>>3])*.125+b;o[V+56>>3]=W;o[V+64>>3]=s;s=(+o[m>>3]-+o[Z>>3])*.125+W;o[V+72>>3]=s;o[V+80>>3]=N;o[V+88>>3]=s;N=+o[G>>3];N=(+o[e>>3]-N)*.5+N;o[V+96>>3]=N;o[V+104>>3]=W;z=N-(+o[c>>3]-+o[h>>3])*.125;o[V+112>>3]=z;o[V+120>>3]=s;z=z-(+o[c>>3]-+o[h>>3])*.125;o[V+128>>3]=z;o[V+136>>3]=s;o[V+144>>3]=z;o[V+152>>3]=W;W=(+o[c>>3]-+o[h>>3])*.125+z;o[V+160>>3]=W;o[V+168>>3]=b;o[V+176>>3]=z;o[V+184>>3]=Y;o[V+192>>3]=z;z=+o[g>>3];o[V+200>>3]=z;o[V+208>>3]=W;o[V+216>>3]=z;g=V+224|0;o[g>>3]=N;o[V+232>>3]=+o[d>>3];o[V+240>>3]=+o[i>>3];o[V+248>>3]=z;Jk(A,V,M,n);z=+o[g>>3];o[E>>3]=z;N=+o[I>>3];N=(+o[C>>3]-N)*.5+N;M=E+8|0;o[M>>3]=N;i=E+16|0;o[i>>3]=z;n=E+24|0;o[n>>3]=(+o[m>>3]-+o[Z>>3])*.125+N;Hk(A,E,2);N=+o[g>>3];o[E>>3]=N;z=+o[I>>3];W=+o[m>>3]-+o[Z>>3];z=(+o[C>>3]-z)*.5+z+W*.25;o[M>>3]=z;o[i>>3]=N;o[n>>3]=W*.125+z;Hk(A,E,2);o[E>>3]=+o[G>>3];z=+o[I>>3];o[M>>3]=(+o[C>>3]-z)*.5+z;o[i>>3]=+o[e>>3];o[n>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}}else{if((r|0)<369098752){if((r|0)<335544320){switch(r|0){case 318767104:break;default:break A}M=i+4|0;V=Jb(M<<4)|0;G=e+16|0;N=+o[G>>3];i=Q+48|0;N=(+o[e>>3]-N)*.5+N+(+o[c>>3]-+o[i>>3])*.125;o[V>>3]=N;I=e+40|0;z=+o[I>>3];C=e+24|0;m=Q+56|0;Z=Q+72|0;z=(+o[m>>3]-+o[Z>>3]+(+o[C>>3]-z))*.5+z;o[V+8>>3]=z;b=(+o[c>>3]-+o[i>>3])*.125+N;o[V+16>>3]=b;W=(+o[m>>3]-+o[Z>>3])*.125+z;o[V+24>>3]=W;o[V+32>>3]=b;b=(+o[m>>3]-+o[Z>>3])*.25+W;o[V+40>>3]=b;o[V+48>>3]=N;Y=(+o[m>>3]-+o[Z>>3])*.125+b;o[V+56>>3]=Y;N=N-(+o[c>>3]-+o[i>>3])*.25;o[V+64>>3]=N;o[V+72>>3]=Y;Y=N-(+o[c>>3]-+o[i>>3])*.125;o[V+80>>3]=Y;o[V+88>>3]=b;o[V+96>>3]=Y;o[V+104>>3]=W;o[V+112>>3]=N;o[V+120>>3]=z;Jk(A,V,M,n);z=+o[G>>3];z=(+o[e>>3]-z)*.5+z;o[E>>3]=z;N=+o[I>>3];N=(+o[C>>3]-N)*.5+N;M=E+8|0;o[M>>3]=N;i=E+16|0;o[i>>3]=z;n=E+24|0;o[n>>3]=(+o[m>>3]-+o[Z>>3])*.125+N;Hk(A,E,2);N=+o[G>>3];N=(+o[e>>3]-N)*.5+N;o[E>>3]=N;z=+o[I>>3];W=+o[m>>3]-+o[Z>>3];z=(+o[C>>3]-z)*.5+z+W*.25;o[M>>3]=z;o[i>>3]=N;o[n>>3]=W*.125+z;Hk(A,E,2);o[E>>3]=+o[G>>3];z=+o[I>>3];o[M>>3]=(+o[C>>3]-z)*.5+z;o[i>>3]=+o[e>>3];o[n>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}if((r|0)<352321536){switch(r|0){case 335544320:break;default:break A}G=i+12|0;V=Jb(G<<4)|0;I=e+16|0;s=+o[I>>3];g=Q+48|0;s=(+o[e>>3]-s)*.5+s+(+o[c>>3]-+o[g>>3])*.25;o[V>>3]=s;C=e+40|0;Y=+o[C>>3];M=e+24|0;h=Q+56|0;d=Q+72|0;Y=(+o[h>>3]-+o[d>>3]+(+o[M>>3]-Y))*.5+Y;i=V+8|0;o[i>>3]=Y;o[V+16>>3]=s;Y=(+o[h>>3]-+o[d>>3])*.125+Y;m=V+24|0;o[m>>3]=Y;W=s-(+o[c>>3]-+o[g>>3])*.125;Z=V+32|0;o[Z>>3]=W;b=(+o[h>>3]-+o[d>>3])*.125+Y;o[V+40>>3]=b;o[V+48>>3]=s;N=(+o[h>>3]-+o[d>>3])*.125+b;o[V+56>>3]=N;o[V+64>>3]=s;s=(+o[h>>3]-+o[d>>3])*.125+N;o[V+72>>3]=s;o[V+80>>3]=W;o[V+88>>3]=s;W=+o[I>>3];W=(+o[e>>3]-W)*.5+W;o[V+96>>3]=W;o[V+104>>3]=N;z=W-(+o[c>>3]-+o[g>>3])*.125;o[V+112>>3]=z;o[V+120>>3]=s;z=z-(+o[c>>3]-+o[g>>3])*.125;o[V+128>>3]=z;o[V+136>>3]=s;o[V+144>>3]=z;o[V+152>>3]=N;N=(+o[c>>3]-+o[g>>3])*.125+z;o[V+160>>3]=N;o[V+168>>3]=b;o[V+176>>3]=z;o[V+184>>3]=Y;o[V+192>>3]=z;z=+o[i>>3];o[V+200>>3]=z;o[V+208>>3]=N;o[V+216>>3]=z;i=V+224|0;o[i>>3]=W;o[V+232>>3]=+o[m>>3];o[V+240>>3]=+o[Z>>3];o[V+248>>3]=z;Jk(A,V,G,n);f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[E+12>>2]=f[i+12>>2];i=E+16|0;o[i>>3]=+o[E>>3];z=+o[C>>3];n=E+24|0;o[n>>3]=(+o[M>>3]-z)*.5+z;Hk(A,E,2);o[E>>3]=+o[I>>3];z=+o[C>>3];o[E+8>>3]=(+o[M>>3]-z)*.5+z;o[i>>3]=+o[e>>3];o[n>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}else{switch(r|0){case 352321536:break;default:break A}M=i+4|0;V=Jb(M<<4)|0;G=e+16|0;W=+o[G>>3];Z=Q+48|0;W=(+o[e>>3]-W)*.5+W+(+o[c>>3]-+o[Z>>3])*.125;o[V>>3]=W;I=e+40|0;z=+o[I>>3];C=e+24|0;g=Q+56|0;m=Q+72|0;z=(+o[g>>3]-+o[m>>3]+(+o[C>>3]-z))*.5+z;i=V+8|0;o[i>>3]=z;b=(+o[c>>3]-+o[Z>>3])*.125+W;o[V+16>>3]=b;N=(+o[g>>3]-+o[m>>3])*.125+z;o[V+24>>3]=N;o[V+32>>3]=b;b=(+o[g>>3]-+o[m>>3])*.25+N;o[V+40>>3]=b;o[V+48>>3]=W;Y=(+o[g>>3]-+o[m>>3])*.125+b;o[V+56>>3]=Y;W=W-(+o[c>>3]-+o[Z>>3])*.25;o[V+64>>3]=W;o[V+72>>3]=Y;Y=W-(+o[c>>3]-+o[Z>>3])*.125;o[V+80>>3]=Y;o[V+88>>3]=b;o[V+96>>3]=Y;o[V+104>>3]=N;o[V+112>>3]=W;o[V+120>>3]=z;Jk(A,V,M,n);z=+o[G>>3];z=(+o[e>>3]-z)*.5+z;o[E>>3]=z;M=E+8|0;o[M>>3]=+o[i>>3];i=E+16|0;o[i>>3]=z;z=+o[I>>3];n=E+24|0;o[n>>3]=(+o[C>>3]-z)*.5+z;Hk(A,E,2);o[E>>3]=+o[G>>3];z=+o[I>>3];o[M>>3]=(+o[C>>3]-z)*.5+z;o[i>>3]=+o[e>>3];o[n>>3]=(+o[e+8>>3]-+o[e+56>>3])*.5+z;Hk(A,E,2);HW(V);break}}if((r|0)<402653184)if((r|0)<385875968){switch(r|0){case 369098752:break;default:break A}i=i+5|0;V=Jb(i<<4)|0;E=Q+48|0;o[V>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;I=Q+56|0;M=Q+72|0;o[V+8>>3]=+o[Q+24>>3]-(+o[I>>3]-+o[M>>3])*.5;o[V+16>>3]=+o[E>>3];z=+o[I>>3];o[V+24>>3]=z-(z-+o[M>>3])*.5;o[V+32>>3]=+o[e+32>>3];C=e+40|0;o[V+40>>3]=+o[C>>3];z=+o[c>>3];o[V+48>>3]=(z-+o[E>>3])*.5+z;o[V+56>>3]=+o[C>>3];z=+o[c>>3];o[V+64>>3]=(z-+o[E>>3])*.5+z;o[V+72>>3]=(+o[I>>3]-+o[M>>3])*.5+ +o[C>>3];o[V+80>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;o[V+88>>3]=(+o[I>>3]-+o[M>>3])*.5+ +o[C>>3];o[V+96>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;C=e+56|0;o[V+104>>3]=+o[C>>3];M=e+8|0;z=+o[M>>3];o[V+120>>3]=z-(z-+o[C>>3])*.5;o[V+112>>3]=+o[e>>3];o[V+136>>3]=+o[M>>3];o[V+128>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;Jk(A,V,i,n);HW(V);break}else{switch(r|0){case 385875968:break;default:break A}i=i+3|0;V=Jb(i<<4)|0;E=Q+48|0;o[V>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;I=Q+56|0;M=Q+72|0;o[V+8>>3]=+o[Q+24>>3]-(+o[I>>3]-+o[M>>3])*.5;o[V+16>>3]=+o[E>>3];z=+o[I>>3];o[V+24>>3]=z-(z-+o[M>>3])*.5;o[V+32>>3]=+o[e+32>>3];C=e+40|0;o[V+40>>3]=(+o[I>>3]-+o[M>>3])*.5+ +o[C>>3];o[V+48>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;o[V+56>>3]=(+o[I>>3]-+o[M>>3])*.5+ +o[C>>3];o[V+64>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;C=e+56|0;o[V+72>>3]=+o[C>>3];M=e+8|0;z=+o[M>>3];o[V+88>>3]=z-(z-+o[C>>3])*.5;o[V+80>>3]=+o[e>>3];o[V+104>>3]=+o[M>>3];o[V+96>>3]=+o[l>>3]-(+o[c>>3]-+o[E>>3])*.5;Jk(A,V,i,n);HW(V);break}else if((r|0)<419430400){switch(r|0){case 402653184:break;default:break A}i=i+3|0;V=Jb(i<<4)|0;o[V>>3]=+o[e>>3];I=e+8|0;C=Q+48|0;M=Q+56|0;E=Q+72|0;o[V+8>>3]=+o[I>>3]-(+o[M>>3]-+o[E>>3])*.5;z=+o[c>>3];o[V+16>>3]=(z-+o[C>>3])*.5+z;o[V+24>>3]=+o[I>>3]-(+o[M>>3]-+o[E>>3])*.5;z=+o[c>>3];o[V+32>>3]=(z-+o[C>>3])*.5+z;o[V+40>>3]=+o[Q+40>>3];o[V+48>>3]=+o[e+16>>3];z=+o[e+24>>3];I=e+40|0;o[V+56>>3]=z-(z-+o[I>>3])*.5;z=+o[c>>3];o[V+64>>3]=(z-+o[C>>3])*.5+z;o[V+72>>3]=+o[I>>3];o[V+88>>3]=(+o[M>>3]-+o[E>>3])*.5+ +o[I>>3];z=+o[c>>3];o[V+80>>3]=(z-+o[C>>3])*.5+z;o[V+104>>3]=(+o[M>>3]-+o[E>>3])*.5+ +o[e+56>>3];o[V+96>>3]=+o[e>>3];Jk(A,V,i,n);HW(V);break}else{switch(r|0){case 419430400:break;default:break A}i=i+5|0;V=Jb(i<<4)|0;o[V>>3]=+o[e>>3];E=e+8|0;M=Q+48|0;I=Q+56|0;C=Q+72|0;o[V+8>>3]=+o[E>>3]-(+o[I>>3]-+o[C>>3])*.5;z=+o[c>>3];o[V+16>>3]=(z-+o[M>>3])*.5+z;o[V+24>>3]=+o[E>>3]-(+o[I>>3]-+o[C>>3])*.5;z=+o[c>>3];o[V+32>>3]=(z-+o[M>>3])*.5+z;o[V+40>>3]=+o[Q+40>>3];o[V+48>>3]=+o[e+16>>3];z=+o[e+24>>3];E=e+40|0;o[V+56>>3]=z-(z-+o[E>>3])*.5;z=+o[c>>3];o[V+64>>3]=(z-+o[M>>3])*.5+z;o[V+72>>3]=+o[E>>3];o[V+88>>3]=(+o[I>>3]-+o[C>>3])*.5+ +o[E>>3];z=+o[c>>3];o[V+80>>3]=(z-+o[M>>3])*.5+z;E=e+56|0;o[V+104>>3]=(+o[I>>3]-+o[C>>3])*.5+ +o[E>>3];o[V+96>>3]=+o[l>>3]-(+o[c>>3]-+o[M>>3])*.5;o[V+112>>3]=+o[l>>3]-(+o[c>>3]-+o[M>>3])*.5;o[V+120>>3]=+o[E>>3];o[V+128>>3]=+o[e+48>>3];o[V+136>>3]=+o[E>>3];Jk(A,V,i,n);HW(V);break}}}while(0);HW(Q)}v=y;return}function HZ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0;n=v;v=v+112|0;a=n;c=+o[e+8>>3]*2.0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];o[a+16>>3]=+o[e+16>>3];o[a+24>>3]=c-+o[e+24>>3];o[a+32>>3]=+o[e+32>>3];o[a+40>>3]=c-+o[e+40>>3];o[a+48>>3]=+o[e+48>>3];o[a+56>>3]=c-+o[e+56>>3];o[a+64>>3]=+o[e+64>>3];o[a+72>>3]=c-+o[e+72>>3];o[a+80>>3]=+o[e+80>>3];o[a+88>>3]=c-+o[e+88>>3];t=a+96|0;l=e+96|0;f[t>>2]=f[l>>2];f[t+4>>2]=f[l+4>>2];f[t+8>>2]=f[l+8>>2];f[t+12>>2]=f[l+12>>2];Rk(A,e,i,0,0,r&255);Rk(A,a,7,0,0,0);v=n;return}function LZ(A,e,i,r){A=A|0;e=+e;i=i|0;r=r|0;var n=0.0,f=0.0;f=+o[i>>3];n=+o[i+8>>3];n=(+o[r+8>>3]-n)*e+n;o[A>>3]=(+o[r>>3]-f)*e+f;o[A+8>>3]=n;return}function FZ(A){A=A|0;A=f[(f[A+16>>2]|0)+8>>2]|0;if(A){A=f[f[A+4>>2]>>2]|0;if((A|0)!=75)if((A|0)==78)A=2;else return((A|0)==77?3:(A|0)==80?4:0)|0;else A=1}else A=0;return A|0}function DZ(A){A=A|0;var e=0,i=0,n=0.0,a=0,t=0,l=0,c=0.0,s=0.0,u=0.0,b=0.0,B=0,k=0.0,w=0.0,h=0.0,d=0.0,g=0.0,m=0.0,Z=0.0,G=0.0,I=0.0,C=0.0,M=0,E=0,Q=0,y=0,V=0,z=0,J=0,P=0,R=0,L=0.0,F=0.0,D=0,x=0,T=0.0,U=0.0,S=0.0,j=0,O=0,K=0,_=0,q=0,$=0,AA=0,eA=0.0;AA=v;v=v+144|0;z=AA+112|0;R=AA+104|0;Q=AA+96|0;y=AA+88|0;t=AA+80|0;K=AA+64|0;q=AA+48|0;D=AA+40|0;x=AA+32|0;l=AA+24|0;B=AA+16|0;E=AA+136|0;M=AA+128|0;J=AA;$=Jb(48)|0;_=A+16|0;j=f[(f[(f[_>>2]|0)+8>>2]|0)+8>>2]|0;a=(j|0)==1552;O=f[j>>2]|0;e=f[j+4>>2]|0;i=f[j+8>>2]|0;s=+o[j+16>>3];u=+o[j+32>>3];b=+o[j+24>>3];O=O|(jI(aY(A,90545)|0)|0)&255;do{if(!a){if(!O){j=f[_>>2]|0;c=+o[j+32>>3]*72.0;n=+o[j+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);break}c=+qZ(A);if(c>0.0)n=c;else{j=f[_>>2]|0;n=+o[j+32>>3];c=+o[j+40>>3];c=(n=0.0?.5:-.5))|0);n=c}}else{n=0.0;c=0.0}}while(0);j=XI(A,f[42205]|0,e,0)|0;S=+xI(A,f[42207]|0,0.0,-360.0)+s;if(!i){U=+xI(A,f[42208]|0,0.0,-100.0);V=XI(A,f[42204]|0,4,0)|0;T=+xI(A,f[42209]|0,0.0,-100.0)}else{V=i;U=u;T=b}e=f[(f[_>>2]|0)+104>>2]|0;i=e+24|0;f[K>>2]=f[i>>2];f[K+4>>2]=f[i+4>>2];f[K+8>>2]=f[i+8>>2];f[K+12>>2]=f[i+12>>2];k=+o[K>>3];if(k>0.0){if(!a)P=11}else if(!(a|!(+o[K+8>>3]>0.0)))P=11;if((P|0)==11){e=aY(A,90530)|0;do{if(e){o[B>>3]=0.0;o[l>>3]=0.0;f[t>>2]=l;f[t+4>>2]=B;e=XP(e,90537,t)|0;s=+o[l>>3];if(s<0.0){o[l>>3]=0.0;s=0.0}u=+o[B>>3];if(u<0.0){o[B>>3]=0.0;b=0.0}else b=u;if((e|0)<=0){u=k+16.0;o[K>>3]=u;s=8.0;break}s=s*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0);u=k+s;o[K>>3]=u;if((e|0)!=1){s=b*72.0;s=+(~~(s+(s>=0.0?.5:-.5))<<1|0)}}else{u=k+16.0;o[K>>3]=u;s=8.0}}while(0);e=K+8|0;o[e>>3]=+o[e>>3]+s;e=f[(f[_>>2]|0)+104>>2]|0;k=u}h=+o[e+24>>3];s=+o[f[(f[(Fp(A)|0)+16>>2]|0)+8>>2]>>3];if(s>0.0){L=s*72.0;L=+(~~(L+(L>=0.0?.5:-.5))|0);F=+$Z(k,L);o[K>>3]=F;B=K+8|0;o[B>>3]=+$Z(+o[B>>3],L)}else F=k;e=f[(f[_>>2]|0)+8>>2]|0;do{if(!(r[e+12>>0]|0)){i=aY(A,93847)|0;if((i|0)!=0?(r[i>>0]|0)!=0:0){ec(M,Fp(A)|0,i);e=f[M>>2]|0;a=f[M+4>>2]|0;if((a&e|0)==-1){e=Ap(A)|0;f[Q>>2]=i;f[Q+4>>2]=e;Iy(0,90621,Q)|0;i=0;e=0;break}else{r[(f[(Fp(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=a+2|0;break}}else{i=0;e=0}}else{e=f[e>>2]|0;if((r[e>>0]|0)==99?(oz(e,90553)|0)==0:0){i=aY(A,90560)|0;ec(E,Fp(A)|0,i);e=f[E>>2]|0;a=f[E+4>>2]|0;if((a&e|0)==-1){e=Ap(A)|0;f[y>>2]=i|0?i:90570;f[y+4>>2]=e;Iy(0,90576,y)|0;i=0;e=0;break}else{r[(f[(Fp(A)|0)+16>>2]|0)+114>>0]=1;i=e+2|0;e=a+2|0;break}}else{i=0;e=0}}}while(0);L=+(i|0);o[q>>3]=F>L?F:L;L=+o[K+8>>3];w=+(e|0);e=q+8|0;o[e>>3]=L>w?L:w;i=(V|0)<3&(T!=0.0|U!=0.0)?120:V;a=aY(A,90662)|0;if(!a)t=99;else{t=r[a>>0]|0;t=t<<24>>24==116?116:t<<24>>24==98?98:99}a=f[_>>2]|0;r[(f[a+104>>2]|0)+80>>0]=t;if((i|0)==4?(T==0.0?((~~(S+(S>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)B=1;else P=39;do{if((P|0)==39){a=f[(f[(f[a+8>>2]|0)+8>>2]|0)+44>>2]|0;if(a|0){B=f[a>>2]|0;f[z>>2]=f[q>>2];f[z+4>>2]=f[q+4>>2];f[z+8>>2]=f[q+8>>2];f[z+12>>2]=f[q+12>>2];EL[B&31](J,z);f[q>>2]=f[J>>2];f[q+4>>2]=f[J+4>>2];f[q+8>>2]=f[J+8>>2];f[q+12>>2]=f[J+12>>2];B=0;break}s=+o[e>>3];u=s*1.4142135623730951;if(n>u&t<<24>>24==99){b=s/n;b=+p(+(1.0/(1.0-b*b)));b=+o[q>>3]*b;o[q>>3]=b}else{b=+o[q>>3]*1.4142135623730951;o[q>>3]=b;o[e>>3]=u;s=u}if((i|0)>2){C=+N(+(3.141592653589793/+(i|0)));o[q>>3]=b/C;o[e>>3]=s/C;B=0}else B=0}}while(0);s=+o[e>>3];a=TI(A,f[42210]|0,122100)|0;if((r[a>>0]|0)==115?(oz(a,90671)|0)==0:0){o[q>>3]=c;o[e>>3]=n;R=$+40|0;f[R>>2]=f[R>>2]|2048}else{if(!((jI(a)|0)<<24>>24)){C=+o[q>>3];c=c>C?c:C;o[q>>3]=c;C=+o[e>>3];n=n>C?n:C}else{P=f[(f[_>>2]|0)+104>>2]|0;if(!(!(c<+o[P+24>>3])?!(n<+o[P+32>>3]):0)){J=Ap(A)|0;P=Ap(Fp(A)|0)|0;f[R>>2]=J;f[R+4>>2]=P;Iy(0,90677,R)|0}o[q>>3]=c}o[e>>3]=n}if(!O){C=n;I=c}else{I=c>n?c:n;o[e>>3]=I;o[q>>3]=I;C=I}do{if(!((jI(TI(A,f[42201]|0,122100)|0)|0)<<24>>24)){if(B){n=+o[(F>+o[q>>3]?K:q)>>3];break}n=+o[e>>3];if(L>3]*+p(+(1.0-L*L/(n*n)));n=F>n?F:n}else n=F}else n=F}while(0);a=f[(f[_>>2]|0)+104>>2]|0;o[a+40>>3]=h-k+n;M=$+40|0;if(!(f[M>>2]&2048)){G=+o[e>>3]-s;o[a+48>>3]=(L1;a=l?j:1;A:do{if((i|0)<3){a=Jb(a<<5)|0;c=+o[q>>3]*.5;n=+o[e>>3]*.5;o[a>>3]=-c;o[a+8>>3]=-n;o[a+16>>3]=c;o[a+24>>3]=n;if(l){i=1;t=2;while(1){if((i|0)==(j|0))break;I=c+4.0;C=n+4.0;o[a+(t<<4)>>3]=-I;o[a+(t<<4)+8>>3]=-C;x=t|1;o[a+(x<<4)>>3]=I;o[a+(x<<4)+8>>3]=C;i=i+1|0;t=t+2|0;c=I;n=C}o[q>>3]=c*2.0;o[e>>3]=n*2.0;i=2}else i=2}else{a=Jb(X(a<<4,i)|0)|0;t=f[(f[(f[(f[_>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;e:do{if(!t){k=6.283185307179586/+(i|0);d=k*.5;w=+W(+d);h=+yz(+Y(+U)+ +Y(+T),1.0);d=T*1.4142135623730951/+N(+d);g=U*.5;pz((k+-3.141592653589793)*.5,D,x);m=S*.017453292519943295;c=0.0;n=0.0;s=0.0;t=0;u=+o[x>>3]*.5;b=+o[D>>3]*.5;while(1){if((t|0)>=(i|0))break e;s=s+k;pz(s,D,x);u=+o[x>>3]*w+u;b=+o[D>>3]*w+b;G=(b*d+h)*u+g*b;pz(+H(+b,+G)+m,D,x);G=+yz(G,b);Z=+o[x>>3]*G*+o[q>>3];G=+o[D>>3]*G*+o[e>>3];eA=+Y(+Z);n=eA>n?eA:n;eA=+Y(+G);c=eA>c?eA:c;o[a+(t<<4)>>3]=Z;o[a+(t<<4)+8>>3]=G;if(B)break;else t=t+1|0}eA=-Z;o[a+16>>3]=eA;o[a+24>>3]=G;o[a+32>>3]=eA;eA=-G;o[a+40>>3]=eA;o[a+48>>3]=Z;o[a+56>>3]=eA}else{EL[f[t+4>>2]&31](a,q);c=+o[e>>3]*.5;n=+o[q>>3]*.5}}while(0);n=n*2.0;c=c*2.0;I=I>n?I:n;o[q>>3]=I;eA=C>c?C:c;o[e>>3]=eA;n=I/n;c=eA/c;t=0;while(1){if((t|0)>=(i|0))break;R=a+(t<<4)|0;A=a+(t<<4)+8|0;eA=+o[A>>3]*c;o[R>>3]=+o[R>>3]*n;o[A>>3]=eA;t=t+1|0}if(l){l=i+-1|0;c=+o[a>>3];s=+o[a+8>>3];n=+H(+(s-+o[a+(l<<4)+8>>3]),+(c-+o[a+(l<<4)>>3]));l=0;e:while(1){if((l|0)>=(i|0))break;B=l+1|0;t=(B|0)%(i|0)|0;u=+o[a+(t<<4)>>3];b=+o[a+(t<<4)+8>>3];k=+H(+(b-s),+(u-c));C=(n+3.141592653589793-k)*.5;eA=4.0/+W(+C);pz(n-C,D,x);o[D>>3]=+o[D>>3]*eA;o[x>>3]=+o[x>>3]*eA;t=1;n=s;while(1){if((t|0)==(j|0)){n=k;l=B;c=u;s=b;continue e}C=+o[x>>3]+c;eA=+o[D>>3]+n;A=(X(t,i)|0)+l|0;o[a+(A<<4)>>3]=C;o[a+(A<<4)+8>>3]=eA;t=t+1|0;c=C;n=eA}}l=X(i,j+-1|0)|0;t=0;while(1){if((t|0)>=(i|0))break A;x=t+l|0;C=+o[a+(x<<4)+8>>3];I=+Y(+ +o[a+(x<<4)>>3])*2.0;eA=+o[q>>3];o[q>>3]=I>eA?I:eA;C=+Y(+C)*2.0;eA=+o[e>>3];o[e>>3]=C>eA?C:eA;t=t+1|0}}}}while(0);f[$>>2]=O;f[$+4>>2]=j;f[$+8>>2]=i;o[$+16>>3]=S;o[$+32>>3]=U;o[$+24>>3]=T;f[$+44>>2]=a;n=+o[q>>3];if(!(f[M>>2]&2048)){i=f[_>>2]|0;o[i+32>>3]=n*.013888888888888888}else{i=f[_>>2]|0;o[i+32>>3]=+o[(F>n?K:q)>>3]*.013888888888888888;e=(L>+o[e>>3]?K:q)+8|0}o[i+40>>3]=+o[e>>3]*.013888888888888888;f[i+12>>2]=$;v=AA;return}function XZ(A){A=A|0;var e=0,i=0,r=0,n=0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0;b=v;v=v+64|0;l=b+40|0;r=b+32|0;c=b+16|0;u=b;i=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;s=A+16|0;n=f[f[(f[s>>2]|0)+104>>2]>>2]|0;f[42327]=n;n=nz(n)|0;n=Jb(((n|0)>1?n:1)+1|0)|0;e=TZ(A,i,1,n)|0;if(!e){f[r>>2]=f[f[(f[s>>2]|0)+104>>2]>>2];Iy(1,90506,r)|0;f[42327]=90527;e=TZ(A,i,1,n)|0}HW(n);UZ(l,A,e);i=f[s>>2]|0;t=+o[i+32>>3]*72.0;t=+(~~(t+(t>=0.0?.5:-.5))|0);o[u>>3]=t;a=+o[i+40>>3]*72.0;a=+(~~(a+(a>=0.0?.5:-.5))|0);i=u+8|0;o[i>>3]=a;if(!((jI(TI(A,f[42210]|0,122100)|0)|0)<<24>>24)){t=+o[(+o[e>>3]>t?e:u)>>3];o[u>>3]=t;r=e+8|0;a=+o[(+o[r>>3]>a?e:u)+8>>3];o[i>>3]=a;i=r;r=e}else{i=e+8|0;r=e}A=(jI(TI(A,f[42201]|0,122100)|0)|0)&255;f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];f[l+12>>2]=f[u+12>>2];SZ(e,l,A);jZ(c,t*-.5,a*.5);f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];OZ(e,l,15);u=f[s>>2]|0;o[u+32>>3]=+o[r>>3]*.013888888888888888;o[u+40>>3]=(+o[i>>3]+1.0)*.013888888888888888;f[u+12>>2]=e;v=b;return}function xZ(A){A=A|0;var e=0.0,i=0,r=0.0,n=0.0,a=0,t=0,l=0,c=0,s=0.0,u=0;l=Jb(48)|0;c=A+16|0;a=f[(f[(f[(f[c>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;n=+xI(A,f[42191]|0,1797693134862315708145274.0e284,0.0);e=+xI(A,f[42190]|0,1797693134862315708145274.0e284,0.0);n=n0.0?n>.0003?n:.0003:n;t=f[c>>2]|0;o[t+40>>3]=n;o[t+32>>3]=n;e=n*72.0;a=XI(A,f[42205]|0,a,0)|0;t=Jb((a|0)<1?32:a<<5)|0;n=n*36.0;r=-n;o[t>>3]=r;o[t+8>>3]=r;o[t+16>>3]=n;o[t+24>>3]=n;if((a|0)>1){A=1;i=2;r=n;e=n;while(1){if((A|0)==(a|0))break;s=r+4.0;n=e+4.0;o[t+(i<<4)>>3]=-s;o[t+(i<<4)+8>>3]=-n;u=i|1;o[t+(u<<4)>>3]=s;o[t+(u<<4)+8>>3]=n;A=A+1|0;i=i+2|0;r=s;e=n}e=r*2.0}f[l>>2]=1;f[l+4>>2]=a;f[l+8>>2]=2;u=l+16|0;f[u>>2]=0;f[u+4>>2]=0;f[u+8>>2]=0;f[u+12>>2]=0;f[u+16>>2]=0;f[u+20>>2]=0;f[l+44>>2]=t;s=e*.013888888888888888;u=f[c>>2]|0;o[u+32>>3]=s;o[u+40>>3]=s;f[u+12>>2]=l;return}function TZ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0;a=Jb(72)|0;b=f[(f[A+16>>2]|0)+104>>2]|0;u=0;t=1;l=f[42327]|0;A:while(1){c=r[l>>0]|0;switch(c<<24>>24){case 0:break A;case 92:{l=l+1|0;c=r[l>>0]|0;switch(c<<24>>24){case 124:case 125:case 123:case 92:{s=u;break}default:Y=4}break}default:Y=4}if((Y|0)==4){Y=0;switch(c<<24>>24){case 123:{s=u+1|0;break}case 125:{s=u+-1|0;break}default:{s=u;t=t+((u|0)==0&c<<24>>24==124&1)|0}}if((s|0)<0)break}u=s;l=l+1|0}E=a+56|0;f[E>>2]=Jb(t<<2)|0;r[a+64>>0]=e;I=(e|0)==0&1;C=b+82|0;M=n+1|0;m=(i|0)!=0;Z=b+16|0;G=b+4|0;g=b+8|0;c=0;u=0;e=0;d=0;s=0;i=0;b=n;t=0;l=0;A:while(1){B=c;c=0;e:while(1){i:while(1){h=i;r:while(1){w=c;v=t;n:while(1){k=u;f:while(1){while(1){if(d){Y=78;break A}u=f[42327]|0;t=r[u>>0]|0;if((t+-1&255)>=31)break;f[42327]=u+1}switch(t<<24>>24|0){case 92:{Y=53;break i}case 0:case 124:case 125:break r;case 60:break n;case 62:break f;case 123:break;default:{c=e;t=u;break i}}t=u+1|0;f[42327]=t;if(s|0){Y=34;break A}if(!(r[t>>0]|0)){Y=34;break A}i=TZ(A,I,0,n)|0;f[(f[E>>2]|0)+(k<<2)>>2]=i;if(!i){Y=36;break A}else{k=k+1|0;s=4}}if(r[C>>0]|0){c=e;t=u;break i}if(!(s&16)){Y=27;break A}if(v>>>0>M>>>0?(Q=v+-1|0,(Q|0)!=(h|0)):0)t=(r[Q>>0]|0)==32?Q:v;else t=v;r[t>>0]=0;w=dP(n)|0;f[42327]=(f[42327]|0)+1;u=k;s=s&-17;v=t}if(s&6|0){Y=22;break A}if(r[C>>0]|0){c=e;t=u;break i}f[42327]=u+1;u=k;s=s|18;c=w;h=n;t=n}if(!((s&16|0)==0&(m|t<<24>>24!=0))){Y=38;break A}if(!(s&4)){c=Jb(72)|0;f[(f[E>>2]|0)+(k<<2)>>2]=c;u=k+1|0}else{c=B;u=k}if(w|0)f[c+60>>2]=w;if(!(s&5)){r[n+l>>0]=32;s=s|1;l=l+1|0}t=n+l|0;if(s&1){if((l|0)>1?(y=t+-1|0,(y|0)!=(b|0)):0)t=(r[y>>0]|0)==32?y:t;r[t>>0]=0;b=dP(n)|0;f[c+52>>2]=Mb(A,b,r[C>>0]|0?2:0,+o[Z>>3],f[G>>2]|0,f[g>>2]|0)|0;r[c+64>>0]=1;b=n;l=0}t=f[42327]|0;switch(r[t>>0]|0){case 0:{d=1;i=h;t=v;continue A}case 125:{Y=51;break A}default:{}}f[42327]=t+1;B=c;s=0;c=0;i=h;t=v}i:do{if((Y|0)==53){Y=0;c=n+l|0;t=u+1|0;switch(r[t>>0]|0){case 0:{c=e;t=u;break i}case 62:case 60:case 124:case 125:case 123:{c=e;break}case 32:{if(!(r[C>>0]|0))c=1;else Y=55;break}default:Y=55}if((Y|0)==55){Y=0;r[c>>0]=92;c=e;s=s|9;l=l+1|0}f[42327]=t}}while(0);e=n+l|0;if(s&4|0?(r[t>>0]|0)!=32:0){Y=59;break A}if(!(s&24))s=(r[t>>0]|0)==32?s:s|9;if(!(s&8))if(!(s&16))i=h;else{u=r[t>>0]|0;e=(c|0)!=0;if(!(e|u<<24>>24!=32))if((v|0)!=(n|0))if((r[v+-1>>0]|0)==32)u=v;else Y=73;else u=n;else Y=73;if((Y|0)==73){Y=0;r[v>>0]=u;u=v+1|0;t=f[42327]|0}i=e?u+-1|0:h;v=u}else{u=r[t>>0]|0;i=(c|0)!=0;if(!((!(i|u<<24>>24!=32)?(r[e+-1>>0]|0)==32:0)?(r[C>>0]|0)==0:0)){r[e>>0]=u;l=l+1|0}if(i){i=h;b=n+l+-1|0}else i=h}t=t+1|0;f[42327]=t;while(1){if((r[t>>0]|0)>=0){u=k;e=c;c=w;t=v;continue e}h=t+1|0;f[42327]=h;r[n+l>>0]=r[t>>0]|0;l=l+1|0;t=h}}}if((Y|0)==22){KZ(a,w);a=0}else if((Y|0)==27){KZ(a,w);a=0}else if((Y|0)==34){KZ(a,w);a=0}else if((Y|0)==36){KZ(a,w);a=0}else if((Y|0)==38){KZ(a,w);a=0}else if((Y|0)==51){f[42327]=t+1;f[a+48>>2]=u}else if((Y|0)==59){KZ(a,w);a=0}else if((Y|0)==78)f[a+48>>2]=k;return a|0}function UZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+64|0;c=g+48|0;s=g+40|0;u=g+32|0;d=g+16|0;h=g;l=f[i+52>>2]|0;A:do{if(!l){u=d+8|0;b=i+48|0;B=i+56|0;k=i+64|0;w=h+8|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;l=0;while(1){if((l|0)>=(f[b>>2]|0))break A;UZ(h,e,f[(f[B>>2]|0)+(l<<2)>>2]|0);if(!(r[k>>0]|0)){o[u>>3]=+o[u>>3]+ +o[w>>3];c=d;s=+o[d>>3]>+o[h>>3]?d:h}else{o[d>>3]=+o[d>>3]+ +o[h>>3];c=u;s=(+o[u>>3]>+o[w>>3]?d:h)+8|0}o[c>>3]=+o[s>>3];l=l+1|0}}else{a=+o[l+24>>3];n=+o[l+32>>3];if(a>0.0|n>0.0){l=aY(e,90530)|0;do{if(l){f[c>>2]=s;f[c+4>>2]=u;l=XP(l,90537,c)|0;if((l|0)<=0){t=8.0;a=a+16.0;break}t=+o[s>>3]*72.0;t=+(~~(t+(t>=0.0?.5:-.5))<<1|0);a=a+t;if((l|0)!=1){t=+o[u>>3]*72.0;t=+(~~(t+(t>=0.0?.5:-.5))<<1|0)}}else{t=8.0;a=a+16.0}}while(0);n=t+n}o[d>>3]=a;o[d+8>>3]=n}}while(0);f[i>>2]=f[d>>2];f[i+4>>2]=f[d+4>>2];f[i+8>>2]=f[d+8>>2];f[i+12>>2]=f[d+12>>2];f[A>>2]=f[d>>2];f[A+4>>2]=f[d+4>>2];f[A+8>>2]=f[d+8>>2];f[A+12>>2]=f[d+12>>2];v=g;return}function SZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0.0,w=0.0,h=0;h=v;v=v+32|0;b=h+16|0;B=h;k=+o[e>>3];t=k-+o[A>>3];w=+o[e+8>>3];n=w-+o[A+8>>3];f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];e=f[A+52>>2]|0;if(!((i|0)!=0|(e|0)==0)){u=e+40|0;o[u>>3]=+o[u>>3]+t;u=e+48|0;o[u>>3]=+o[u>>3]+n}s=A+48|0;e=f[s>>2]|0;A:do{if(e|0){u=A+64|0;n=((r[u>>0]|0)==0?n:t)/+(e|0);c=A+56|0;l=0;while(1){if((l|0)>=(e|0))break A;A=f[(f[c>>2]|0)+(l<<2)>>2]|0;a=l+1|0;e=~~(n*+(a|0))-~~(n*+(l|0))|0;if(!(r[u>>0]|0))jZ(B,k,+o[A+8>>3]+ +(e|0));else jZ(B,+o[A>>3]+ +(e|0),w);f[b>>2]=f[B>>2];f[b+4>>2]=f[B+4>>2];f[b+8>>2]=f[B+8>>2];f[b+12>>2]=f[B+12>>2];SZ(A,b,i);l=a;e=f[s>>2]|0}}}while(0);v=h;return}function jZ(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function OZ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0.0;k=v;v=v+48|0;l=k+32|0;u=k+16|0;s=k;r[A+65>>0]=i;c=A+16|0;h=+o[e>>3];B=e+8|0;w=+o[B>>3];jZ(u,h,w-+o[A+8>>3]);f[c>>2]=f[u>>2];f[c+4>>2]=f[u+4>>2];f[c+8>>2]=f[u+8>>2];f[c+12>>2]=f[u+12>>2];c=A+32|0;jZ(s,+o[A>>3]+h,w);f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];c=f[A+48>>2]|0;s=c+-1|0;u=(i|0)==0;b=A+56|0;t=A+64|0;a=0;while(1){if((a|0)>=(c|0))break;do{if(!u){A=(a|0)==0;n=(a|0)==(s|0);if(!(r[t>>0]|0))if(A){A=n?15:14;break}else{A=n?11:10;break}else if(A){A=n?15:13;break}else{A=n?7:5;break}}else A=0}while(0);n=f[(f[b>>2]|0)+(a<<2)>>2]|0;f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];OZ(n,l,A&i);if(!(r[t>>0]|0))o[B>>3]=+o[B>>3]-+o[(f[(f[b>>2]|0)+(a<<2)>>2]|0)+8>>3];else o[e>>3]=+o[f[(f[b>>2]|0)+(a<<2)>>2]>>3]+ +o[e>>3];a=a+1|0}v=k;return}function KZ(A,e){A=A|0;e=e|0;_Z(A);HW(e);return}function _Z(A){A=A|0;var e=0,i=0,r=0;i=A+48|0;r=A+56|0;e=0;while(1){if((e|0)>=(f[i>>2]|0))break;_Z(f[(f[r>>2]|0)+(e<<2)>>2]|0);e=e+1|0}HW(f[A+60>>2]|0);yb(f[A+52>>2]|0);HW(f[r>>2]|0);HW(A);return}function qZ(A){A=A|0;var e=0.0,i=0.0;i=+xI(A,f[42191]|0,0.0,.01);e=+xI(A,f[42190]|0,0.0,.02);e=(i>e?i:e)*72.0;return+ +(~~(e+(e>=0.0?.5:-.5))|0)}function $Z(A,e){A=+A;e=+e;var i=0;i=~~(A/e);return+(+((+(i|0)*e+1.0e-05>2]|0)+8>>2]|0;if(!A)A=0;else A=(f[f[A+4>>2]>>2]|0)==75&1;return A|0}function eG(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;n=f[42328]|0;A:do{if(!n)e=0;else{a=f[42329]|0;i=0;while(1){if((i|0)>=(a|0)){e=0;break A}e=f[n+(i<<2)>>2]|0;t=f[e>>2]|0;if((r[t>>0]|0)==(r[A>>0]|0)?(oz(t,A)|0)==0:0)break A;i=i+1|0}}}while(0);return e|0}function iG(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;if(rC(aY(e,90560)|0)|0)if((r[A>>0]|0)==101?(oz(A,90725)|0)==0:0){e=101;a=6}else{A=90553;a=4}else a=4;if((a|0)==4){e=r[A>>0]|0;if(e<<24>>24==99)if(!(oz(A,90553)|0))a=11;else{e=99;a=6}else a=6}A:do{if((a|0)==6){i=19868;while(1){n=f[i>>2]|0;if(!n){a=11;break A}if((r[n>>0]|0)==e<<24>>24?(oz(n,A)|0)==0:0){A=i;break A}i=i+16|0}}}while(0);if((a|0)==11)A=rG(A)|0;return A|0}function rG(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t;e=eG(A)|0;if(!e){n=f[42329]|0;e=n+1|0;f[42329]=e;i=f[42328]|0;if(!i)e=Pb(e<<2)|0;else e=Hb(i,e<<2)|0;f[42328]=e;e=Jb(16)|0;f[(f[42328]|0)+(n<<2)>>2]=e;f[e>>2]=f[4967];f[e+4>>2]=f[4968];f[e+8>>2]=f[4969];f[e+12>>2]=f[4970];i=dP(A)|0;f[e>>2]=i;do{if(!0){if((r[A>>0]|0)==99?(oz(A,90553)|0)==0:0){i=1;break}f[a>>2]=f[4967];f[a+4>>2]=i;Iy(0,90730,a)|0;i=0}else i=1}while(0);r[e+12>>0]=i}v=t;return e|0}function nG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+o[e>>3]*.5257311121191336;i=+o[e+8>>3]*.8944271909999159;i=r>i?r:i;o[A>>3]=i*4.97979656976556;o[A+8>>3]=i*4.73606797749979;return}function fG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0.0,f=0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0.0;r=+o[e>>3];c=e+8|0;n=+o[c>>3];i=n/r;if(!(i>.9510565162951536))if(i<.9510565162951536){l=r;n=r*.9510565162951536}else l=r;else l=n*1.0514622242382672;r=l*.5257311121191336;a=l*.20081141588622725;t=l*.05020285397155681;i=.3141592653589793;f=0;while(1){if((f|0)>=10)break;o[A+(f<<4)>>3]=+N(+i)*r;o[A+(f<<4)+8>>3]=+W(+i)*r-t;u=i+.6283185307179586;s=f|1;o[A+(s<<4)>>3]=+N(+u)*a;o[A+(s<<4)+8>>3]=+W(+u)*a-t;i=i+1.2566370614359172;f=f+2|0}o[e>>3]=l;o[c>>3]=n;return}function aG(A){A=A|0;A=f[(f[A+16>>2]|0)+12>>2]|0;if(A|0){HW(f[A+44>>2]|0);HW(A)}return}function tG(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+80|0;o=b+40|0;a=b;u=b+64|0;t=b+56|0;if(!(r[i>>0]|0)){a=4144;t=A+40|0;do{f[A>>2]=f[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(t|0))}else{l=(n|0)==0?91400:n;f[u>>2]=15;c=e+16|0;n=f[c>>2]|0;do{if(r[(f[n+104>>2]|0)+82>>0]|0){n=Jh(e,i,u)|0;if(!n){n=f[c>>2]|0;s=8;break}if(mG(e,n,a,l,f[u>>2]|0,0)|0){f[o>>2]=Ap(e)|0;f[o+4>>2]=i;f[o+8>>2]=l;Iy(0,91402,o)|0}}else s=8}while(0);if((s|0)==8){if((f[(f[n+8>>2]|0)+8>>2]|0)==1600)t=0;else{f[t>>2]=e;f[t+4>>2]=0}if(mG(e,0,a,i,f[u>>2]|0,t)|0)ZG(e,i)}f[a+36>>2]=0;t=A+40|0;do{f[A>>2]=f[a>>2];A=A+4|0;a=a+4|0}while((A|0)<(t|0))}v=b;return}function lG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0,a=0,t=0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0;w=v;v=v+112|0;u=w+96|0;s=w+80|0;B=w+64|0;c=w+48|0;k=w+32|0;b=w;n=w+16|0;if(!A){f[42332]=0;A=0}else{a=f[A+4>>2]|0;A=f[A>>2]|0;t=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)*90|0;f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];Bb(n,u,t);f[k>>2]=f[n>>2];f[k+4>>2]=f[n+4>>2];f[k+8>>2]=f[n+8>>2];f[k+12>>2]=f[n+12>>2];A:do{if(a){i=+o[a+8>>3];r=+o[a+24>>3];h=+o[k>>3];if((+o[a>>3]<=h?h<=+o[a+16>>3]:0)?(l=+o[k+8>>3],i<=l):0)A=l<=r&1;else A=0}else{if((A|0)==(f[42332]|0)){n=f[42333]|0;a=f[42335]|0;t=f[42334]|0}else{a=f[(f[A+16>>2]|0)+12>>2]|0;f[42336]=a;t=f[a+44>>2]|0;f[42334]=t;n=f[a+8>>2]|0;f[42333]=n;a=X((f[a+4>>2]|0)+-1|0,n)|0;a=(a|0)>0?a:0;f[42335]=a;f[42332]=A}A=0;e=0;while(1){if((A|0)>=(n|0)){A=1;break A}d=t+(a+A<<4)|0;f[b>>2]=f[d>>2];f[b+4>>2]=f[d+4>>2];f[b+8>>2]=f[d+8>>2];f[b+12>>2]=f[d+12>>2];d=t+(a+((A+4|0)%(n|0)|0)<<4)|0;f[c>>2]=f[k>>2];f[c+4>>2]=f[k+4>>2];f[c+8>>2]=f[k+8>>2];f[c+12>>2]=f[k+12>>2];f[B>>2]=f[41802];f[B+4>>2]=f[41803];f[B+8>>2]=f[41804];f[B+12>>2]=f[41805];f[s>>2]=f[b>>2];f[s+4>>2]=f[b+4>>2];f[s+8>>2]=f[b+8>>2];f[s+12>>2]=f[b+12>>2];f[u>>2]=f[d>>2];f[u+4>>2]=f[d+4>>2];f[u+8>>2]=f[d+8>>2];f[u+12>>2]=f[d+12>>2];e=e+((gG(c,B,s,u)|0)==0&1)|0;if((e|0)==2){A=0;break}else A=A+2|0}}}while(0)}v=w;return A|0}function cG(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;i=f[A+16>>2]|0;if((r[(f[i+104>>2]|0)+82>>0]|0)!=0?(r[i+145>>0]|0)!=0:0)A=Hh(A,e,0,n,a)|0;else A=0;return A|0}function oG(A,e){A=A|0;e=e|0;var i=0,t=0,l=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0.0,Q=0.0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0;L=v;v=v+48|0;N=L+24|0;V=L+16|0;M=L+8|0;C=L;P=L+32|0;u=L+28|0;R=f[A+16>>2]|0;H=R+208|0;i=f[H>>2]|0;if((i|0)==0?(n[R+260>>1]&1)==0:0)z=0;else Y=4;if((Y|0)==4)if(!(f[A+152>>2]&4)){Ck(A,i,f[R+228>>2]|0,f[R+244>>2]|0,f[R+212>>2]|0);z=1}else z=1;W=e+16|0;i=f[W>>2]|0;w=f[i+12>>2]|0;p=f[w+44>>2]|0;J=f[w+8>>2]|0;w=f[w+4>>2]|0;if((f[42330]|0)<(J|0)){i=J+5|0;f[42330]=i;t=f[42331]|0;if(!t)i=Pb(i<<4)|0;else i=Hb(t,i<<4)|0;f[42331]=i;i=f[W>>2]|0}y=(f[i+104>>2]|0)+56|0;i=i+16|0;f[y>>2]=f[i>>2];f[y+4>>2]=f[i+4>>2];f[y+8>>2]=f[i+8>>2];f[y+12>>2]=f[i+12>>2];y=f[W>>2]|0;E=+o[y+32>>3]*72.0;E=(+o[y+96>>3]+ +o[y+88>>3])/+(~~(E+(E>=0.0?.5:-.5))|0);Q=+o[y+40>>3]*72.0;Q=+o[y+80>>3]/+(~~(Q+(Q>=0.0?.5:-.5))|0);y=sG(A,e)|0;f[P>>2]=0;i=a[(f[W>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){h=UI(e,0,91300)|0;Yk(A,h);Vk(A,UI(e,0,91308)|0);t=0;i=1;break}if(i&8|0){h=UI(e,0,91316)|0;Yk(A,h);Vk(A,UI(e,0,91324)|0);t=0;i=1;break}if(i&4|0){h=UI(e,0,91332)|0;Yk(A,h);Vk(A,UI(e,0,91340)|0);t=0;i=1;break}if(!(y&1))if(!(y&576)){t=0;i=0}else{t=uG(e)|0;i=1}else{t=uG(e)|0;if(!((Ru(t,P,u)|0)<<24>>24)){Vk(A,t);i=1}else{Vk(A,f[P>>2]|0);i=f[P+4>>2]|0;s=XI(e,f[42218]|0,0,0)|0;l=+c[u>>2];if(!i)Nk(A,122106,s,l);else Nk(A,i,s,l);i=(y&2)>>>1|2}}h=bG(A,e)|0}else{h=UI(e,0,91284)|0;Yk(A,h);Vk(A,UI(e,0,91292)|0);t=0;i=1}}while(0);s=f[(f[W>>2]|0)+8>>2]|0;if(r[s+12>>0]|0){s=f[s>>2]|0;if((r[s>>0]|0)==99){s=(oz(s,90553)|0)==0;Y=33}else g=1}else{s=1;Y=33}if((Y|0)==33){s=s^1;if((w|0)!=0|i<<24>>24==0|s)g=s;else{Yk(A,122171);w=1;g=0}}m=(J|0)<3;Z=(y&512|0)!=0;I=(y&8|0)==0;G=(y&64|0)==0;B=(y&1024|0)==0;k=(y&2130706444|0)==0;d=0;while(1){if((d|0)>=(w|0))break;u=X(d,J)|0;b=f[42331]|0;s=0;while(1){if((s|0)>=(J|0))break;D=s+u|0;l=+o[p+(D<<4)+8>>3];F=f[W>>2]|0;o[b+(s<<4)>>3]=+o[F+16>>3]+ +o[p+(D<<4)>>3]*E;o[b+(s<<4)+8>>3]=+o[F+24>>3]+l*Q;s=s+1|0}do{if(m){if(Z&(d|0)==0?(zz(t,58)|0)!=0:0)if((bs(A,b,t)|0)>1){f[C>>2]=Ap(e)|0;Iy(3,91348,C)|0;i=0}else i=0;zk(A,f[42331]|0,J,i&255);if(!I)vG(A,e)}else{if(!G){if((d|0)==0?(ws(A,b,t,1)|0)>1:0){f[M>>2]=Ap(e)|0;Iy(3,91348,M)|0}Jk(A,f[42331]|0,J,0);break}if(!B){Yk(A,122171);Jk(A,f[42331]|0,J,i&255);Yk(A,h);Hk(A,(f[42331]|0)+32|0,2);break}i=i&255;if(k){Jk(A,b,J,i);break}else{RZ(A,b,J,y,i);break}}}while(0);d=d+1|0;i=0}s=f[(f[W>>2]|0)+8>>2]|0;if(!(r[s+12>>0]|0)){s=aY(e,93847)|0;if(s|0?r[s>>0]|0:0){b=s;Y=65}}else{s=f[s>>2]|0;if((r[s>>0]|0)==99?(oz(s,90553)|0)==0:0){s=aY(e,90560)|0;if(s|0?r[s>>0]|0:0){b=s;Y=65}}else{b=s;Y=65}}if((Y|0)==65){u=f[42331]|0;s=0;while(1){if((s|0)>=(J|0))break;l=+o[p+(s<<4)+8>>3];D=f[W>>2]|0;o[u+(s<<4)>>3]=+o[D+16>>3]+ +o[p+(s<<4)>>3]*E;o[u+(s<<4)+8>>3]=+o[D+24>>3]+l*Q;s=s+1|0}s=i&255;do{if(!(g|i<<24>>24==0)){if(m){if(Z&(d|0)==0?(zz(t,58)|0)!=0:0)if((bs(A,u,t)|0)>1){f[V>>2]=Ap(e)|0;Iy(3,91348,V)|0;i=0}else i=0;zk(A,f[42331]|0,J,i&255);if(I)break;vG(A,e);break}if(G)if(!(y&12)){Jk(A,u,J,s);break}else{RZ(A,u,J,y,s);break}else{if((ws(A,u,t,1)|0)>1){f[N>>2]=Ap(e)|0;Iy(3,91348,N)|0}Jk(A,f[42331]|0,J,0);break}}}while(0);D=f[42331]|0;Fk(A,b,D,J,i,TI(e,f[42211]|0,122100)|0)}HW(f[P>>2]|0);Yb(A,10,f[(f[W>>2]|0)+104>>2]|0);if(z){if(f[A+152>>2]&4|0)Ck(A,f[H>>2]|0,f[R+228>>2]|0,f[R+244>>2]|0,f[R+212>>2]|0);Mk(A)}v=L;return}function sG(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;t=v;v=v+16|0;n=t;i=wG(e,n)|0;if(i|0)Wk(A,i);i=f[42217]|0;if((i|0?(a=tY(e,i)|0,a|0):0)?r[a>>0]|0:0)Xk(A,+xI(e,f[42217]|0,1.0,0.0));v=t;return f[n>>2]|0}function uG(A){A=A|0;return kG(A,119592)|0}function bG(A,e){A=A|0;e=e|0;e=UI(e,f[42193]|0,174185)|0;e=r[e>>0]|0?e:122106;Yk(A,e);return e|0}function vG(A,e){A=A|0;e=e|0;var i=0,r=0,n=0.0,a=0,t=0.0,l=0,c=0,s=0;i=v;v=v+96|0;l=i+80|0;c=i+64|0;r=i+32|0;s=i+16|0;a=i;e=f[e+16>>2]|0;n=+o[e+80>>3];o[s+8>>3]=n*.375;t=+o[e+96>>3];o[s>>3]=t*.6614;e=e+16|0;f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];f[l>>2]=f[e>>2];f[l+4>>2]=f[e+4>>2];f[l+8>>2]=f[e+8>>2];f[l+12>>2]=f[e+12>>2];BG(a,c,l);f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];f[r+8>>2]=f[a+8>>2];f[r+12>>2]=f[a+12>>2];a=r+8|0;e=r+24|0;o[e>>3]=+o[a>>3];o[r+16>>3]=+o[r>>3]-t*1.3228;Hk(A,r,2);n=+o[a>>3]-n*.75;o[a>>3]=n;o[e>>3]=n;Hk(A,r,2);v=i;return}function BG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[i+8>>3]+ +o[e+8>>3];o[A>>3]=+o[i>>3]+ +o[e>>3];o[A+8>>3]=r;return}function kG(A,e){A=A|0;e=e|0;var i=0;i=UI(A,f[42194]|0,174185)|0;if(!(r[i>>0]|0)){i=UI(A,f[42193]|0,174185)|0;return((r[i>>0]|0)==0?e:i)|0}else return i|0;return 0}function wG(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0;i=UI(A,f[42202]|0,174185)|0;A:do{if(!(r[i>>0]|0)){a=0;i=0}else{a=xs(i)|0;t=a;i=0;e:while(1){n=f[t>>2]|0;if(!n)break A;switch(r[n>>0]|0){case 102:{if(!(oz(n,95923)|0)){t=t+4|0;i=i|1;continue e}break}case 114:{if(!(oz(n,91360)|0)){n=t;do{c=n;n=n+4|0;l=f[n>>2]|0;f[c>>2]=l}while((l|0)!=0);c=t;i=i|4;t=c;continue e}if(!(oz(n,91378)|0)){n=t;do{l=n;n=n+4|0;c=f[n>>2]|0;f[l>>2]=c}while((c|0)!=0);c=t;i=i|3;t=c;continue e}break}case 100:{if(!(oz(n,91368)|0)){n=t;do{l=n;n=n+4|0;c=f[n>>2]|0;f[l>>2]=c}while((c|0)!=0);c=t;i=i|8;t=c;continue e}break}case 105:{if(!(oz(n,119127)|0)){t=t+4|0;i=i|32;continue e}break}case 115:{if((oz(n,91385)|0)==0?hG(A)|0:0){n=t;do{l=n;n=n+4|0;c=f[n>>2]|0;f[l>>2]=c}while((c|0)!=0);c=t;i=i|64;t=c;continue e}break}case 119:{if((oz(n,91393)|0)==0?dG(A)|0:0){n=t;do{l=n;n=n+4|0;c=f[n>>2]|0;f[l>>2]=c}while((c|0)!=0);c=t;i=i|512;t=c;continue e}break}default:{}}t=t+4|0}}}while(0);n=f[(f[(f[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(n)i=f[n+40>>2]|i;f[e>>2]=i;return a|0}function hG(A){A=A|0;var e=0.0;A=f[(f[(f[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((A|0)!=0?(f[A+8>>2]|0)==4:0)?(e=+o[A+16>>3],((~~(e+(e>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+o[A+24>>3]==0.0:0)A=+o[A+32>>3]==0.0&1;else A=0;return A|0}function dG(A){A=A|0;A=f[(f[(f[A+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!A)A=0;else A=(f[A+8>>2]|0)<3&1;return A|0}function gG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,f=0.0,a=0.0,t=0.0;t=+o[i+8>>3];a=-(+o[r+8>>3]-t);f=+o[i>>3];n=+o[r>>3]-f;f=n*t+f*a;return(+o[A+8>>3]*n+ +o[A>>3]*a-f>=0.0^+o[e>>3]*a-f+ +o[e+8>>3]*n>=0.0^1)&1|0}function mG(A,e,i,n,a,t){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;var l=0.0,c=0.0,s=0,u=0,b=0,B=0,k=0.0,w=0.0,h=0.0,d=0.0,g=0.0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0;V=v;v=v+192|0;E=V+176|0;Y=V+160|0;s=V+144|0;C=V+128|0;M=V+112|0;u=V+96|0;b=V+80|0;B=V+64|0;m=V+48|0;Z=V+32|0;G=V+16|0;y=V;if(!e){f[Y>>2]=0;f[Y+4>>2]=0;f[Y+8>>2]=0;f[Y+12>>2]=0;s=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1|0)==0;Q=f[A+16>>2]|0;k=+o[Q+80>>3]*.5;l=+o[Q+88>>3];d=s?k:l;k=s?l:k;s=0;Q=Y;l=0.0;c=-k;w=d;p=Y+8|0;h=0.0;d=-d}else{c=+o[e>>3];d=+o[e+8>>3];k=+o[e+16>>3];w=+o[e+24>>3];jZ(s,(k+c)*.5,(w+d)*.5);f[Y>>2]=f[s>>2];f[Y+4>>2]=f[s+4>>2];f[Y+8>>2]=f[s+8>>2];f[Y+12>>2]=f[s+12>>2];N=Y+8|0;s=1;Q=Y;l=+o[Y>>3];p=N;h=+o[N>>3]}g=(k>w?k:w)*4.0;A:do{if((n|0)!=0?(I=r[n>>0]|0,I<<24>>24!=0):0){n=n+1|0;switch(I<<24>>24|0){case 99:{B=1;a=0;n=0;u=0;l=0.0;b=0;break A}case 101:{if(r[n>>0]|0){B=1;a=0;n=0;u=0;l=0.0;b=1;break A}if(!t)o[Q>>3]=k;else{GG(C,t,h,g);f[Y>>2]=f[C>>2];f[Y+4>>2]=f[C+4>>2];f[Y+8>>2]=f[C+8>>2];f[Y+12>>2]=f[C+12>>2]}B=0;a=a&2;n=0;u=1;l=0.0;b=0;s=1;break A}case 115:{o[p>>3]=d;switch(r[n>>0]|0){case 0:{if(!t)o[Q>>3]=l;else{GG(M,t,-g,l);f[Y>>2]=f[M>>2];f[Y+4>>2]=f[M+4>>2];f[Y+8>>2]=f[M+8>>2];f[Y+12>>2]=f[M+12>>2]}B=0;a=a&1;n=0;u=1;l=-1.5707963267948966;b=0;s=1;break A}case 101:{if(!t)o[Q>>3]=k;else{GG(u,t,-g,g);f[Y>>2]=f[u>>2];f[Y+4>>2]=f[u+4>>2];f[Y+8>>2]=f[u+8>>2];f[Y+12>>2]=f[u+12>>2]}B=0;a=a&3;n=0;u=1;l=-.7853981633974483;b=0;s=1;break A}case 119:{if(!t)o[Q>>3]=c;else{g=-g;GG(b,t,g,g);f[Y>>2]=f[b>>2];f[Y+4>>2]=f[b+4>>2];f[Y+8>>2]=f[b+8>>2];f[Y+12>>2]=f[b+12>>2]}B=0;a=a&9;n=0;u=1;l=-2.356194490192345;b=0;s=1;break A}default:{o[p>>3]=h;B=1;a=0;n=0;u=0;l=0.0;b=1;break A}}}case 119:{if(r[n>>0]|0){B=1;a=0;n=0;u=0;l=0.0;b=1;break A}if(!t)o[Q>>3]=c;else{GG(B,t,h,-g);f[Y>>2]=f[B>>2];f[Y+4>>2]=f[B+4>>2];f[Y+8>>2]=f[B+8>>2];f[Y+12>>2]=f[B+12>>2]}B=0;a=a&8;n=0;u=1;l=3.141592653589793;b=0;s=1;break A}case 110:{o[p>>3]=w;switch(r[n>>0]|0){case 0:{if(!t)o[Q>>3]=l;else{GG(m,t,g,l);f[Y>>2]=f[m>>2];f[Y+4>>2]=f[m+4>>2];f[Y+8>>2]=f[m+8>>2];f[Y+12>>2]=f[m+12>>2]}B=0;a=a&4;n=0;u=1;l=1.5707963267948966;b=0;s=1;break A}case 101:{if(!t)o[Q>>3]=k;else{GG(Z,t,g,g);f[Y>>2]=f[Z>>2];f[Y+4>>2]=f[Z+4>>2];f[Y+8>>2]=f[Z+8>>2];f[Y+12>>2]=f[Z+12>>2]}B=0;a=a&6;n=0;u=1;l=.7853981633974483;b=0;s=1;break A}case 119:{if(!t)o[Q>>3]=c;else{GG(G,t,g,-g);f[Y>>2]=f[G>>2];f[Y+4>>2]=f[G+4>>2];f[Y+8>>2]=f[G+8>>2];f[Y+12>>2]=f[G+12>>2]}B=0;a=a&12;n=0;u=1;l=2.356194490192345;b=0;s=1;break A}default:{o[p>>3]=h;B=1;a=0;n=0;u=0;l=0.0;b=1;break A}}}case 95:{B=1;n=1;u=0;l=0.0;b=0;break A}default:{B=1;a=0;n=0;u=0;l=0.0;b=1;break A}}}else{B=1;a=0;n=0;u=0;l=0.0;b=0}}while(0);N=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)*90|0;f[E>>2]=f[Y>>2];f[E+4>>2]=f[Y+4>>2];f[E+8>>2]=f[Y+8>>2];f[E+12>>2]=f[Y+12>>2];vb(y,E,N);f[Y>>2]=f[y>>2];f[Y+4>>2]=f[y+4>>2];f[Y+8>>2]=f[y+8>>2];f[Y+12>>2]=f[y+12>>2];if(!(n<<24>>24))a=IG(a,f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)|0;r[i+33>>0]=a;f[i+24>>2]=e;c=+o[Q>>3];o[i>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);c=+o[p>>3];o[i+8>>3]=+(~~(c+(c>=0.0?.5:-.5))|0);o[i+16>>3]=+CG(l,f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3);c=+o[Q>>3];l=+o[p>>3];if(c==0.0&l==0.0)a=-128;else{g=+H(+l,+c);d=g+4.71238898038469;a=~~((!(d>=6.283185307179586)?d:g+-1.5707963267948966)*40.74366543152521)&255}r[i+32>>0]=a;r[i+29>>0]=u;r[i+28>>0]=s;r[i+30>>0]=B;r[i+31>>0]=n;v=V;return b|0}function ZG(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=Ap(A)|0;f[r+4>>2]=e;Iy(0,91463,r)|0;v=i;return}function GG(A,e,i,r){A=A|0;e=e|0;i=+i;r=+r;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+128|0;a=B+112|0;l=B+48|0;c=B+16|0;s=B+32|0;u=B;b=f[e>>2]|0;t=f[(f[(Fp(b)|0)+16>>2]|0)+116>>2]&3;o[c>>3]=r;o[c+8>>3]=i;n=(t|0)!=0;if(n){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];vb(s,a,t*90|0);f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2]}s=l+48|0;k=l+32|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[l+24>>2]=0;f[l+28>>2]=0;f[k>>2]=f[c>>2];f[k+4>>2]=f[c+4>>2];f[k+8>>2]=f[c+8>>2];f[k+12>>2]=f[c+12>>2];f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[s+12>>2]=f[c+12>>2];TG(e,f[(f[(f[(f[b+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,l,1);if(n){f[a>>2]=f[l>>2];f[a+4>>2]=f[l+4>>2];f[a+8>>2]=f[l+8>>2];f[a+12>>2]=f[l+12>>2];Bb(u,a,t*90|0);f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];f[l+12>>2]=f[u+12>>2]}f[A>>2]=f[l>>2];f[A+4>>2]=f[l+4>>2];f[A+8>>2]=f[l+8>>2];f[A+12>>2]=f[l+12>>2];v=B;return}function IG(A,e){A=A|0;e=e|0;A:do{switch(e|0){case 3:switch(A|0){case 4:{A=2;break A}case 1:{A=8;break A}case 8:{A=1;break A}case 2:{A=4;break A}default:break A}case 2:switch(A|0){case 4:{A=1;break A}case 1:{A=4;break A}default:break A}case 1:switch(A|0){case 4:{A=2;break A}case 1:{A=8;break A}case 8:{A=4;break A}case 2:{A=1;break A}default:break A}default:{}}}while(0);return A|0}function CG(A,e){A=+A;e=e|0;switch(e|0){case 3:{if(!(A==3.141592653589793))if(!(A==2.356194490192345))if(!(A==1.5707963267948966))if(!(A==0.0))if(!(A==-.7853981633974483)){if(A==-1.5707963267948966)A=3.141592653589793}else A=2.356194490192345;else A=1.5707963267948966;else A=0.0;else A=-.7853981633974483;else A=-1.5707963267948966;break}case 2:{A=-A;break}case 1:{A=A+-1.5707963267948966;break}default:{}}return+A}function MG(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0.0,a=0.0,t=0,l=0,c=0;r=v;v=v+32|0;c=r+16|0;t=r;A=f[A>>2]|0;l=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)*90|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];Bb(t,c,l);i=+o[t>>3];a=+o[t+8>>3];A=f[A+16>>2]|0;n=+o[A+80>>3]*.5;if(!(!(a>=-n)|!(a<=n))?i>=-+o[A+88>>3]:0)A=i<=+o[A+96>>3]&1;else A=0;v=r;return A|0}function EG(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0.0;u=v;v=v+32|0;s=u;t=f[A+16>>2]|0;l=t+208|0;a=f[l>>2]|0;if(!a)c=(n[t+260>>1]&1)!=0;else c=1;i=e+16|0;e=f[i>>2]|0;r=f[e+12>>2]|0;if(r|0){if(c?(f[A+152>>2]&4|0)==0:0){Ck(A,a,f[t+228>>2]|0,f[t+244>>2]|0,f[t+212>>2]|0);e=f[i>>2]|0}a=f[A+36>>2]|0;B=+o[e+24>>3]+ +(f[r+8>>2]|0);b=f[r>>2]|0;o[s>>3]=+o[e+16>>3]+ +(f[r+4>>2]|0);o[s+8>>3]=B;f[s+16>>2]=b;uP(a,91494,s)|0;a=f[i>>2]|0;s=(f[a+104>>2]|0)+56|0;a=a+16|0;f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];f[s+8>>2]=f[a+8>>2];f[s+12>>2]=f[a+12>>2];Yb(A,10,f[(f[i>>2]|0)+104>>2]|0);if(c){if(f[A+152>>2]&4|0)Ck(A,f[l>>2]|0,f[t+228>>2]|0,f[t+244>>2]|0,f[t+212>>2]|0);Mk(A)}}v=u;return}function QG(A){A=A|0;_Z(f[(f[A+16>>2]|0)+12>>2]|0);return}function yG(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var t=0,l=0,c=0,o=0,s=0;s=v;v=v+64|0;o=s+40|0;t=s;if(!(r[i>>0]|0)){t=4144;n=A+40|0;do{f[A>>2]=f[t>>2];A=A+4|0;t=t+4|0}while((A|0)<(n|0))}else{n=(n|0)==0?91400:n;l=f[(f[e+16>>2]|0)+12>>2]|0;c=zG(l,i)|0;if(!c){if(mG(e,l+16|0,t,i,15,0)|0)ZG(e,i)}else if(mG(e,c+16|0,t,n,a[c+65>>0]|0,0)|0){f[o>>2]=Ap(e)|0;f[o+4>>2]=i;f[o+8>>2]=n;Iy(0,91402,o)|0}n=A+40|0;do{f[A>>2]=f[t>>2];A=A+4|0;t=t+4|0}while((A|0)<(n|0))}v=s;return}function YG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0,a=0,t=0,l=0.0,c=0,s=0,u=0.0;c=v;v=v+32|0;s=c+16|0;t=c;n=f[A+4>>2]|0;A=f[A>>2]|0;a=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)*90|0;f[s>>2]=f[e>>2];f[s+4>>2]=f[e+4>>2];f[s+8>>2]=f[e+8>>2];f[s+12>>2]=f[e+12>>2];Bb(t,s,a);f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];if(!n){n=f[(f[A+16>>2]|0)+12>>2]|0;a=n+16|0;A=n+24|0;t=n+32|0;n=n+40|0}else{a=n;A=n+8|0;t=n+16|0;n=n+24|0}r=+o[A>>3];i=+o[n>>3];u=+o[e>>3];if((+o[a>>3]<=u?u<=+o[t>>3]:0)?(l=+o[e+8>>3],r<=l):0)A=l<=i&1;else A=0;v=c;return A|0}function pG(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0.0,d=0,g=0,m=0.0;g=v;v=v+80|0;w=g+64|0;k=g+32|0;d=g;A:do{if(!(r[e+28>>0]|0))i=0;else{t=+o[e>>3];B=A+16|0;s=f[(f[B>>2]|0)+12>>2]|0;c=s+48|0;s=s+56|0;e=0;while(1){if((e|0)>=(f[c>>2]|0))break A;u=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1|0)==0;b=f[(f[s>>2]|0)+(e<<2)>>2]|0;l=+(~~+o[(u?b+16|0:b+24|0)>>3]|0);if(t>=l?(h=+(~~+o[(u?b+32|0:b+40|0)>>3]|0),t<=h):0)break;e=e+1|0}if(!(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1)){d=f[B>>2]|0;m=+o[d+16>>3];o[n>>3]=m+l;l=+o[d+24>>3];t=+o[d+80>>3];o[n+8>>3]=l-t*.5;o[n+16>>3]=m+h}else{b=(f[(f[s>>2]|0)+(e<<2)>>2]|0)+16|0;A=(f[B>>2]|0)+16|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];f[k+12>>2]=f[b+12>>2];f[k+16>>2]=f[b+16>>2];f[k+20>>2]=f[b+20>>2];f[k+24>>2]=f[b+24>>2];f[k+28>>2]=f[b+28>>2];f[w>>2]=f[A>>2];f[w+4>>2]=f[A+4>>2];f[w+8>>2]=f[A+8>>2];f[w+12>>2]=f[A+12>>2];kb(d,k,w);f[n>>2]=f[d>>2];f[n+4>>2]=f[d+4>>2];f[n+8>>2]=f[d+8>>2];f[n+12>>2]=f[d+12>>2];f[n+16>>2]=f[d+16>>2];f[n+20>>2]=f[d+20>>2];f[n+24>>2]=f[d+24>>2];f[n+28>>2]=f[d+28>>2];d=f[B>>2]|0;t=+o[d+80>>3];l=+o[d+24>>3]}o[n+24>>3]=t*.5+l;f[a>>2]=1}}while(0);v=g;return i|0}function VG(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0.0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0.0;Z=v;v=v+144|0;u=Z+96|0;B=Z+64|0;w=Z;h=Z+128|0;d=f[A+16>>2]|0;g=d+208|0;i=f[g>>2]|0;if(!i)m=(n[d+260>>1]&1)!=0;else m=1;s=e+16|0;k=f[s>>2]|0;b=f[k+12>>2]|0;t=b+16|0;f[B>>2]=f[t>>2];f[B+4>>2]=f[t+4>>2];f[B+8>>2]=f[t+8>>2];f[B+12>>2]=f[t+12>>2];f[B+16>>2]=f[t+16>>2];f[B+20>>2]=f[t+20>>2];f[B+24>>2]=f[t+24>>2];f[B+28>>2]=f[t+28>>2];G=+o[k+16>>3];o[B>>3]=+o[B>>3]+G;l=+o[k+24>>3];k=B+8|0;o[k>>3]=+o[k>>3]+l;k=B+16|0;o[k>>3]=+o[k>>3]+G;t=B+24|0;o[t>>3]=+o[t>>3]+l;if(m?(f[A+152>>2]&4|0)==0:0)Ck(A,i,f[d+228>>2]|0,f[d+244>>2]|0,f[d+212>>2]|0);i=sG(A,e)|0;bG(A,e)|0;f[h>>2]=0;if(!(i&1))a=0;else{a=uG(e)|0;if(!((Ru(a,h,u)|0)<<24>>24)){Vk(A,a);a=1}else{Vk(A,f[h>>2]|0);a=f[h+4>>2]|0;t=XI(e,f[42218]|0,0,0)|0;l=+c[u>>2];if(!a)Nk(A,122106,t,l);else Nk(A,a,t,l);a=i>>>1&1|2}}t=f[f[(f[s>>2]|0)+8>>2]>>2]|0;if((r[t>>0]|0)==77){s=(oz(t,91271)|0)==0;i=s?i|4:i}if(!(i&2130706444)){f[u>>2]=f[B>>2];f[u+4>>2]=f[B+4>>2];f[u+8>>2]=f[B+8>>2];f[u+12>>2]=f[B+12>>2];f[u+16>>2]=f[B+16>>2];f[u+20>>2]=f[B+20>>2];f[u+24>>2]=f[B+24>>2];f[u+28>>2]=f[B+28>>2];Pk(A,u,a)}else{f[w>>2]=f[B>>2];f[w+4>>2]=f[B+4>>2];f[w+8>>2]=f[B+8>>2];f[w+12>>2]=f[B+12>>2];B=w+32|0;f[B>>2]=f[k>>2];f[B+4>>2]=f[k+4>>2];f[B+8>>2]=f[k+8>>2];f[B+12>>2]=f[k+12>>2];o[w+16>>3]=+o[B>>3];o[w+24>>3]=+o[w+8>>3];o[w+48>>3]=+o[w>>3];o[w+56>>3]=+o[w+40>>3];RZ(A,w,4,i,a)}NG(A,e,b);HW(f[h>>2]|0);if(m){if(f[A+152>>2]&4|0)Ck(A,f[g>>2]|0,f[d+228>>2]|0,f[d+244>>2]|0,f[d+212>>2]|0);Mk(A)}v=Z;return}function NG(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+144|0;B=g+128|0;b=g+112|0;k=g+16|0;w=g;a=g+96|0;t=g+80|0;h=g+64|0;d=g+48|0;l=i+52|0;n=f[l>>2]|0;if(!n)n=e+16|0;else{u=n+56|0;s=i+16|0;n=i+32|0;f[b>>2]=f[s>>2];f[b+4>>2]=f[s+4>>2];f[b+8>>2]=f[s+8>>2];f[b+12>>2]=f[s+12>>2];f[B>>2]=f[n>>2];f[B+4>>2]=f[n+4>>2];f[B+8>>2]=f[n+8>>2];f[B+12>>2]=f[n+12>>2];WG(a,b,B);n=e+16|0;s=(f[n>>2]|0)+16|0;f[b>>2]=f[a>>2];f[b+4>>2]=f[a+4>>2];f[b+8>>2]=f[a+8>>2];f[b+12>>2]=f[a+12>>2];f[B>>2]=f[s>>2];f[B+4>>2]=f[s+4>>2];f[B+8>>2]=f[s+8>>2];f[B+12>>2]=f[s+12>>2];BG(t,b,B);f[u>>2]=f[t>>2];f[u+4>>2]=f[t+4>>2];f[u+8>>2]=f[t+8>>2];f[u+12>>2]=f[t+12>>2];Yb(A,10,f[l>>2]|0);bG(A,e)|0}c=(f[n>>2]|0)+16|0;f[w>>2]=f[c>>2];f[w+4>>2]=f[c+4>>2];f[w+8>>2]=f[c+8>>2];f[w+12>>2]=f[c+12>>2];c=i+48|0;s=i+64|0;u=k+16|0;l=i+56|0;i=k+16|0;t=0;while(1){if((t|0)>=(f[c>>2]|0))break;if((t|0)>0){n=(f[l>>2]|0)+(t<<2)|0;a=f[n>>2]|0;if(!(r[s>>0]|0)){a=a+32|0;f[u>>2]=f[a>>2];f[u+4>>2]=f[a+4>>2];f[u+8>>2]=f[a+8>>2];f[u+12>>2]=f[a+12>>2];o[k>>3]=+o[(f[n>>2]|0)+16>>3];n=u;a=0}else{a=a+16|0;f[k>>2]=f[a>>2];f[k+4>>2]=f[a+4>>2];f[k+8>>2]=f[a+8>>2];f[k+12>>2]=f[a+12>>2];o[i>>3]=+o[k>>3];n=(f[n>>2]|0)+32|0;a=1}o[k+(a<<4)+8>>3]=+o[n+8>>3];f[b>>2]=f[k>>2];f[b+4>>2]=f[k+4>>2];f[b+8>>2]=f[k+8>>2];f[b+12>>2]=f[k+12>>2];f[B>>2]=f[w>>2];f[B+4>>2]=f[w+4>>2];f[B+8>>2]=f[w+8>>2];f[B+12>>2]=f[w+12>>2];BG(h,b,B);f[k>>2]=f[h>>2];f[k+4>>2]=f[h+4>>2];f[k+8>>2]=f[h+8>>2];f[k+12>>2]=f[h+12>>2];f[b>>2]=f[u>>2];f[b+4>>2]=f[u+4>>2];f[b+8>>2]=f[u+8>>2];f[b+12>>2]=f[u+12>>2];f[B>>2]=f[w>>2];f[B+4>>2]=f[w+4>>2];f[B+8>>2]=f[w+8>>2];f[B+12>>2]=f[w+12>>2];BG(d,b,B);f[u>>2]=f[d>>2];f[u+4>>2]=f[d+4>>2];f[u+8>>2]=f[d+8>>2];f[u+12>>2]=f[d+12>>2];Hk(A,k,2)}NG(A,e,f[(f[l>>2]|0)+(t<<2)>>2]|0);t=t+1|0}v=g;return}function WG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+o[i+8>>3]+ +o[e+8>>3])*.5;o[A>>3]=(+o[i>>3]+ +o[e>>3])*.5;o[A+8>>3]=r;return}function zG(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;i=f[A+60>>2]|0;if(!(((i|0)!=0?(r[i>>0]|0)==(r[e>>0]|0):0)?(oz(i,e)|0)==0:0))n=4;A:do{if((n|0)==4){a=A+56|0;n=f[A+48>>2]|0;i=0;while(1){if((i|0)>=(n|0)){A=0;break A}A=zG(f[(f[a>>2]|0)+(i<<2)>>2]|0,e)|0;if(!A)i=i+1|0;else break}}}while(0);return A|0}function JG(A,e){A=A|0;e=e|0;var i=0;i=e+8|0;o[i>>3]=+o[i>>3]*1.375;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];return}function PG(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0;c=+o[e>>3];n=c*.5;u=+o[e+8>>3];t=u*.5;o[A>>3]=n;r=u*.40909090909090906;o[A+8>>3]=r;o[A+16>>3]=n;a=u*.4592530909090909;o[A+24>>3]=a;l=c*.275892;o[A+32>>3]=l;o[A+40>>3]=t;o[A+48>>3]=0.0;o[A+56>>3]=t;c=c*-.275892;o[A+64>>3]=c;o[A+72>>3]=t;s=-n;o[A+80>>3]=s;o[A+88>>3]=a;i=A+96|0;o[i>>3]=s;o[A+104>>3]=r;e=A+112|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];e=A+128|0;o[e>>3]=s;o[A+136>>3]=u*-.40909090909090906;i=A+144|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];o[A+160>>3]=s;a=-a;o[A+168>>3]=a;o[A+176>>3]=c;t=-t;o[A+184>>3]=t;o[A+192>>3]=0.0;o[A+200>>3]=t;o[A+208>>3]=l;o[A+216>>3]=t;o[A+224>>3]=n;o[A+232>>3]=a;i=A+240|0;o[i>>3]=n;o[A+248>>3]=-r;e=A+256|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];e=A+288|0;i=A+272|0;f[i>>2]=f[A>>2];f[i+4>>2]=f[A+4>>2];f[i+8>>2]=f[A+8>>2];f[i+12>>2]=f[A+12>>2];f[e>>2]=f[A>>2];f[e+4>>2]=f[A+4>>2];f[e+8>>2]=f[A+8>>2];f[e+12>>2]=f[A+12>>2];return}function RG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0.0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0.0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0;G=v;v=v+144|0;g=G+112|0;d=G+96|0;m=G+80|0;h=G+64|0;Z=G+32|0;k=G+16|0;w=G;a=G+48|0;do{if(A){l=f[A+4>>2]|0;c=f[A>>2]|0;b=(f[(f[(Fp(c)|0)+16>>2]|0)+116>>2]&3)*90|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];Bb(a,g,b);f[Z>>2]=f[a>>2];f[Z+4>>2]=f[a+4>>2];f[Z+8>>2]=f[a+8>>2];f[Z+12>>2]=f[a+12>>2];if(l|0){i=+o[Z>>3];if(!(+o[l>>3]<=i)){A=0;break}if(!(i<=+o[l+16>>3])){A=0;break}i=+o[Z+8>>3];if(!(+o[l+8>>3]<=i)){A=0;break}A=i<=+o[l+24>>3];break}if((c|0)==(f[42337]|0)){i=+o[20903];r=+o[20904];t=+o[20905]}else{A=c+16|0;e=f[(f[A>>2]|0)+12>>2]|0;f[42338]=e;f[42339]=f[e+44>>2];f[42340]=f[e+8>>2];if(!(f[e+40>>2]&2048)){u=(f[(f[(Fp(c)|0)+16>>2]|0)+116>>2]&1|0)==0;b=f[A>>2]|0;o[(u?167248:167256)>>3]=+o[b+96>>3]+ +o[b+88>>3];o[(u?167256:167248)>>3]=+o[b+80>>3];t=+o[b+32>>3]*72.0;n=+o[b+40>>3]*72.0;n=+(~~(n+(n>=0.0?.5:-.5))|0);t=+(~~(t+(t>=0.0?.5:-.5))|0)}else{vC(g,e);t=+o[g+16>>3]-+o[g>>3];n=+o[g+24>>3]-+o[g+8>>3];b=(f[(f[(Fp(c)|0)+16>>2]|0)+116>>2]&1|0)==0;o[(b?167248:167256)>>3]=t;o[(b?167256:167248)>>3]=n}i=+o[20906];if(i==0.0){o[20906]=1.0;i=1.0}r=+o[20907];if(r==0.0){o[20907]=1.0;r=1.0}i=t/i;o[20903]=i;r=n/r;o[20904]=r;t=t*.5;o[20905]=t;o[20908]=n*.5;b=X((f[(f[42338]|0)+4>>2]|0)+-1|0,f[42340]|0)|0;f[42341]=(b|0)>0?b:0;f[42337]=c}n=+o[Z>>3]*i;o[Z>>3]=n;b=Z+8|0;i=+o[b>>3]*r;o[b>>3]=i;if(!(+Y(+n)>t)?(r=+Y(+i),B=+o[20908],!(r>B)):0){b=f[42340]|0;if((b|0)<3){A=+yz(n/t,i/B)<1.0;break}e=(f[42342]|0)%(b|0)|0;A=(e+1|0)%(b|0)|0;c=f[42339]|0;s=f[42341]|0;u=c+(s+e<<4)|0;f[k>>2]=f[u>>2];f[k+4>>2]=f[u+4>>2];f[k+8>>2]=f[u+8>>2];f[k+12>>2]=f[u+12>>2];u=c+(s+A<<4)|0;f[w>>2]=f[u>>2];f[w+4>>2]=f[u+4>>2];f[w+8>>2]=f[u+8>>2];f[w+12>>2]=f[u+12>>2];f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[m>>2]=f[41818];f[m+4>>2]=f[41819];f[m+8>>2]=f[41820];f[m+12>>2]=f[41821];f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[d+12>>2]=f[k+12>>2];f[g>>2]=f[u>>2];f[g+4>>2]=f[u+4>>2];f[g+8>>2]=f[u+8>>2];f[g+12>>2]=f[u+12>>2];if(gG(h,m,d,g)|0){f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[m>>2]=f[k>>2];f[m+4>>2]=f[k+4>>2];f[m+8>>2]=f[k+8>>2];f[m+12>>2]=f[k+12>>2];f[d>>2]=f[w>>2];f[d+4>>2]=f[w+4>>2];f[d+8>>2]=f[w+8>>2];f[d+12>>2]=f[w+12>>2];f[g>>2]=f[41818];f[g+4>>2]=f[41819];f[g+8>>2]=f[41820];f[g+12>>2]=f[41821];u=(gG(h,m,d,g)|0)!=0;if(u?(f[h>>2]=f[Z>>2],f[h+4>>2]=f[Z+4>>2],f[h+8>>2]=f[Z+8>>2],f[h+12>>2]=f[Z+12>>2],f[m>>2]=f[w>>2],f[m+4>>2]=f[w+4>>2],f[m+8>>2]=f[w+8>>2],f[m+12>>2]=f[w+12>>2],f[d>>2]=f[41818],f[d+4>>2]=f[41819],f[d+8>>2]=f[41820],f[d+12>>2]=f[41821],f[g>>2]=f[k>>2],f[g+4>>2]=f[k+4>>2],f[g+8>>2]=f[k+8>>2],f[g+12>>2]=f[k+12>>2],(gG(h,m,d,g)|0)!=0):0){A=1;break}else{l=e;e=1}while(1){if((e|0)>=(b|0)){e=31;break}if(u){a=A;A=(A+1|0)%(b|0)|0}else{a=(l+-1+b|0)%(b|0)|0;A=l}k=c+(s+a<<4)|0;w=c+(s+A<<4)|0;f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];f[m>>2]=f[41818];f[m+4>>2]=f[41819];f[m+8>>2]=f[41820];f[m+12>>2]=f[41821];f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];f[d+8>>2]=f[k+8>>2];f[d+12>>2]=f[k+12>>2];f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[g+12>>2]=f[w+12>>2];if(!(gG(h,m,d,g)|0)){e=30;break}else{l=a;e=e+1|0}}if((e|0)==30){f[42342]=a;A=0;break}else if((e|0)==31){f[42342]=l;A=1;break}}else A=0}else A=0}else{f[42337]=0;A=0}}while(0);v=G;return A&1|0}function HG(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0,a=0.0,t=0,l=0,c=0;l=v;v=v+32|0;n=l+16|0;t=l;if(A){A=f[A>>2]|0;c=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&3)*90|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];Bb(t,n,c);a=+o[t>>3];r=+o[t+8>>3];if((A|0)==(f[42345]|0))i=+o[20911];else{t=f[(f[A+16>>2]|0)+12>>2]|0;c=(f[t+4>>2]<<1)+-2|0;i=+o[(f[t+44>>2]|0)+((((c|0)>0?c:0)|1)<<4)>>3];o[20911]=i;f[42345]=A}if(+Y(+a)>i|+Y(+r)>i)A=0;else A=+yz(a,r)<=i&1}else{f[42345]=0;A=0}v=l;return A|0}function LG(A,e){A=A|0;e=e|0;var i=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0.0,m=0,Z=0;d=v;v=v+16|0;l=d;w=f[A+16>>2]|0;h=w+208|0;i=f[h>>2]|0;if((i|0)==0?(n[w+260>>1]&1)==0:0)k=0;else if(!(f[A+152>>2]&4)){Ck(A,i,f[w+228>>2]|0,f[w+244>>2]|0,f[w+212>>2]|0);k=1}else k=1;u=e+16|0;c=f[(f[u>>2]|0)+12>>2]|0;b=f[c+44>>2]|0;B=f[c+8>>2]|0;c=f[c+4>>2]|0;if((f[42343]|0)<(B|0)){i=B+2|0;f[42343]=i;t=f[42344]|0;if(!t)i=Pb(i<<4)|0;else i=Hb(t,i<<4)|0;f[42344]=i}wG(e,l)|0;if(!(f[l>>2]&32))Wk(A,21040);else Wk(A,21036);i=f[42217]|0;if(i|0)Xk(A,+xI(e,i,1.0,0.0));i=a[(f[u>>2]|0)+117>>0]|0;do{if(!(i&1)){if(i&2|0){Yk(A,UI(e,0,91300)|0);i=UI(e,0,91308)|0;Vk(A,i);break}if(i&8|0){Yk(A,UI(e,0,91316)|0);i=UI(e,0,91324)|0;Vk(A,i);break}if(!(i&4)){i=kG(e,122106)|0;Vk(A,i);bG(A,e)|0;break}else{Yk(A,UI(e,0,91332)|0);i=UI(e,0,91340)|0;Vk(A,i);break}}else{Yk(A,UI(e,0,91284)|0);i=UI(e,0,91292)|0;Vk(A,i)}}while(0);if(!c)if(!(r[i>>0]|0))t=1;else{Yk(A,i);t=1}else t=c;l=1;e=0;while(1){if((e|0)>=(t|0))break;c=X(e,B)|0;s=f[42344]|0;i=0;while(1){if((i|0)>=(B|0))break;Z=i+c|0;g=+o[b+(Z<<4)+8>>3];m=f[u>>2]|0;o[s+(i<<4)>>3]=+o[m+16>>3]+ +o[b+(Z<<4)>>3];o[s+(i<<4)+8>>3]=+o[m+24>>3]+g;i=i+1|0}zk(A,s,B,l);l=0;e=e+1|0}if(k){if(f[A+152>>2]&4|0)Ck(A,f[h>>2]|0,f[w+228>>2]|0,f[w+244>>2]|0,f[w+212>>2]|0);Mk(A)}v=d;return}function FG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,t=0;n=v;v=v+48|0;t=n;i=DG(e,i,r)|0;f[t+36>>2]=f[r+36>>2];mG(e,f[r+24>>2]|0,t,i,a[r+33>>0]|0,0)|0;e=t;i=A+40|0;do{f[A>>2]=f[e>>2];A=A+4|0;e=e+4|0}while((A|0)<(i|0));v=n;return}function DG(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0.0,l=0.0,c=0,s=0.0,u=0.0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0.0,Q=0;C=v;v=v+32|0;I=C;a=C+24|0;c=C+16|0;G=f[(f[(f[(Fp(A)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;n=A+16|0;Z=(f[n>>2]|0)+16|0;f[I>>2]=f[Z>>2];f[I+4>>2]=f[Z+4>>2];f[I+8>>2]=f[Z+8>>2];f[I+12>>2]=f[Z+12>>2];XG(a,I,G);Z=(f[e+16>>2]|0)+16|0;f[I>>2]=f[Z>>2];f[I+4>>2]=f[Z+4>>2];f[I+8>>2]=f[Z+8>>2];f[I+12>>2]=f[Z+12>>2];XG(c,I,G);G=r[i+33>>0]|0;I=G&255;A:do{switch(G<<24>>24){case 0:case 15:{e=0;break}default:{e=f[i+24>>2]|0;if(!e){G=(f[(f[(Fp(A)|0)+16>>2]|0)+116>>2]&1|0)==0;Z=f[n>>2]|0;E=+o[Z+80>>3]*.5;M=-E;s=+o[Z+88>>3];l=-s;u=G?l:M;t=G?s:E;s=G?E:s;l=G?M:l}else{u=+o[e>>3];t=+o[e+16>>3];s=+o[e+24>>3];l=+o[e+8>>3]}G=f[a>>2]|0;m=f[a+4>>2]|0;Z=f[c>>2]|0;h=f[c+4>>2]|0;d=~~l;g=~~((t+u)*.5);w=~~t;k=~~((s+l)*.5);B=~~s;b=~~u;a=0;c=0;e=0;i=0;A=0;while(1){if((c|0)==4)break A;if(1<>2]|0;else n=a}else n=a;a=n;c=c+1|0}}}}while(0);v=C;return e|0}function XG(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0;switch(i|0){case 0:{n=+o[e>>3];r=+o[e+8>>3];break}case 2:{n=+o[e>>3];r=-+o[e+8>>3];break}case 1:{n=-+o[e+8>>3];r=+o[e>>3];break}case 3:{n=+o[e+8>>3];r=+o[e>>3];break}default:{n=0.0;r=0.0}}f[A>>2]=~~(n+(n>=0.0?.5:-.5));f[A+4>>2]=~~(r+(r>=0.0?.5:-.5));return}function xG(){var A=0,e=0,i=0;A=v;v=v+32|0;e=A+16|0;i=A;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];RG(0,e)|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];HG(0,e)|0;f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];f[e+8>>2]=f[i+8>>2];f[e+12>>2]=f[i+12>>2];lG(0,e)|0;v=A;return}function TG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0.0,k=0,w=0.0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0;C=v;v=v+192|0;h=C+176|0;G=C+112|0;I=C+48|0;d=C+32|0;g=C+24|0;m=C+16|0;Z=C;if(!(r<<24>>24)){c=i+48|0;f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];f[d+12>>2]=f[c+12>>2];c=g;s=m;u=G;b=0}else{f[d>>2]=f[i>>2];f[d+4>>2]=f[i+4>>2];f[d+8>>2]=f[i+8>>2];f[d+12>>2]=f[i+12>>2];c=m;s=g;u=0;b=G}o[g>>3]=0.0;o[m>>3]=1.0;k=d+8|0;n=0.0;a=1.0;l=0;B=+o[d>>3];while(1){w=+o[k>>3];n=(n+a)*.5;eC(Z,i,3,n,u,b);f[d>>2]=f[Z>>2];f[d+4>>2]=f[Z+4>>2];f[d+8>>2]=f[Z+8>>2];f[d+12>>2]=f[Z+12>>2];f[h>>2]=f[Z>>2];f[h+4>>2]=f[Z+4>>2];f[h+8>>2]=f[Z+8>>2];f[h+12>>2]=f[Z+12>>2];A:do{if(!((gL[e&63](A,h)|0)<<24>>24)){r=0;while(1){if((r|0)==4){r=c;l=1;break A}l=I+(r<<4)|0;M=G+(r<<4)|0;f[l>>2]=f[M>>2];f[l+4>>2]=f[M+4>>2];f[l+8>>2]=f[M+8>>2];f[l+12>>2]=f[M+12>>2];r=r+1|0}}else r=s}while(0);o[r>>3]=n;t=+o[d>>3];B=B-t;if(!((B>=0.0?B:-B)>.5)?(w=w-+o[k>>3],!((w>=0.0?w:-w)>.5)):0)break;n=+o[g>>3];a=+o[m>>3];B=t}A:do{if(!(l<<24>>24)){r=0;while(1){if((r|0)==4)break A;M=i+(r<<4)|0;I=G+(r<<4)|0;f[M>>2]=f[I>>2];f[M+4>>2]=f[I+4>>2];f[M+8>>2]=f[I+8>>2];f[M+12>>2]=f[I+12>>2];r=r+1|0}}else{r=0;while(1){if((r|0)==4)break A;M=i+(r<<4)|0;G=I+(r<<4)|0;f[M>>2]=f[G>>2];f[M+4>>2]=f[G+4>>2];f[M+8>>2]=f[G+8>>2];f[M+12>>2]=f[G+12>>2];r=r+1|0}}}while(0);v=C;return}function UG(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0;s=v;v=v+48|0;i=s+16|0;r=s;n=s+32|0;a=A+16|0;t=f[a>>2]|0;l=f[t+8>>2]|0;if(l|0?(c=l+4|0,f[(f[c>>2]|0)+12>>2]|0):0){f[n>>2]=A;f[n+4>>2]=0;u=+o[t+96>>3];o[r>>3]=+o[e>>3]-+o[t+16>>3];o[r+8>>3]=+o[e+8>>3]-+o[t+24>>3];c=f[(f[c>>2]|0)+12>>2]|0;f[i>>2]=f[r>>2];f[i+4>>2]=f[r+4>>2];f[i+8>>2]=f[r+8>>2];f[i+12>>2]=f[r+12>>2];c=gL[c&63](n,i)|0;o[(f[a>>2]|0)+96>>3]=u;SG(n,A,e,c)}v=s;return}function SG(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0.0,s=0,u=0;u=v;v=v+64|0;s=u;l=e+16|0;a=f[l>>2]|0;c=+o[a+96>>3];t=a+16|0;n=a+24|0;e=0;while(1){if((e|0)==4)break;o[s+(e<<4)>>3]=+o[i+(e<<4)>>3]-+o[t>>3];o[s+(e<<4)+8>>3]=+o[i+(e<<4)+8>>3]-+o[n>>3];e=e+1|0}TG(A,f[(f[(f[a+8>>2]|0)+4>>2]|0)+12>>2]|0,s,r);e=0;while(1){if((e|0)==4)break;r=f[l>>2]|0;o[i+(e<<4)>>3]=+o[r+16>>3]+ +o[s+(e<<4)>>3];o[i+(e<<4)+8>>3]=+o[r+24>>3]+ +o[s+(e<<4)+8>>3];e=e+1|0}o[(f[l>>2]|0)+96>>3]=c;v=u;return}function jG(A,e){A=A|0;e=e|0;var i=0,n=0;while(1){n=A+16|0;A=f[n>>2]|0;if(!(r[A+112>>0]|0))break;A=f[A+116>>2]|0}A=f[A+8>>2]|0;if(!A){A=Jb(40)|0;f[(f[n>>2]|0)+8>>2]=A}i=f[A>>2]|0;if(!i)A=Pb(((f[A+4>>2]|0)*48|0)+48|0)|0;else A=Hb(i,((f[A+4>>2]|0)*48|0)+48|0)|0;n=f[(f[n>>2]|0)+8>>2]|0;f[n>>2]=A;n=n+4|0;i=f[n>>2]|0;f[n>>2]=i+1;n=A+(i*48|0)|0;f[n>>2]=Jb(e<<4)|0;f[A+(i*48|0)+4>>2]=e;A=A+(i*48|0)+8|0;i=A+40|0;do{f[A>>2]=0;A=A+4|0}while((A|0)<(i|0));return n|0}function OG(A,e,i,n,t){A=A|0;e=e|0;i=i|0;n=n|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0.0,p=0.0;y=v;v=v+96|0;M=y+16|0;g=y;G=y+92|0;I=y+88|0;m=y+80|0;s=f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0;C=Fp(s)|0;E=jG(A,n)|0;u=A;while(1){b=f[u+16>>2]|0;if(!(r[b+112>>0]|0))break;u=f[b+116>>2]|0}if((r[t+8>>0]|0)==0?(l=f[s+16>>2]|0,c=f[e+16>>2]|0,(f[l+232>>2]|0)==(f[c+232>>2]|0)):0){B=(f[l+236>>2]|0)>(f[c+236>>2]|0);Z=B?s:e;s=B?e:s}else Z=e;if((s|0)==(f[((f[u>>2]&3|0)==3?u:u+48|0)+40>>2]|0)){l=b+80|0;c=b+40|0;B=a[b+86>>0]|0;e=a[b+46>>0]|0}else{l=b+40|0;c=b+80|0;B=a[b+46>>0]|0;e=a[b+86>>0]|0}b=f[l>>2]|0;l=f[c>>2]|0;if(((e|0)!=0?(w=s+16|0,k=f[(f[w>>2]|0)+8>>2]|0,(k|0)!=0):0)?(f[(f[k+4>>2]|0)+12>>2]|0)!=0:0){f[m>>2]=s;f[m+4>>2]=l;l=n+-4|0;e=g+8|0;c=0;while(1){if((c|0)>=(l|0))break;u=c+3|0;k=f[w>>2]|0;o[g>>3]=+o[i+(u<<4)>>3]-+o[k+16>>3];o[e>>3]=+o[i+(u<<4)+8>>3]-+o[k+24>>3];k=f[(f[(f[k+8>>2]|0)+4>>2]|0)+12>>2]|0;f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[M+12>>2]=f[g+12>>2];if(!((gL[k&63](m,M)|0)<<24>>24))break;else c=u}f[G>>2]=c;SG(m,s,i+(c<<4)|0,1)}else{f[G>>2]=0;c=0}if(((B|0)!=0?(d=Z+16|0,h=f[(f[d>>2]|0)+8>>2]|0,(h|0)!=0):0)?(f[(f[h+4>>2]|0)+12>>2]|0)!=0:0){f[m>>2]=Z;f[m+4>>2]=b;s=n+-4|0;e=g+8|0;l=s;while(1){if((l|0)<=0)break;n=f[d>>2]|0;o[g>>3]=+o[i+(l<<4)>>3]-+o[n+16>>3];o[e>>3]=+o[i+(l<<4)+8>>3]-+o[n+24>>3];n=f[(f[(f[n+8>>2]|0)+4>>2]|0)+12>>2]|0;f[M>>2]=f[g>>2];f[M+4>>2]=f[g+4>>2];f[M+8>>2]=f[g+8>>2];f[M+12>>2]=f[g+12>>2];if(!((gL[n&63](m,M)|0)<<24>>24))break;l=l+-3|0}f[I>>2]=l;SG(m,Z,i+(l<<4)|0,0)}else{s=n+-4|0;f[I>>2]=s;l=s}while(1){if((c|0)>=(s|0))break;e=c+3|0;Y=+o[i+(c<<4)>>3]-+o[i+(e<<4)>>3];p=+o[i+(c<<4)+8>>3]-+o[i+(e<<4)+8>>3];if(p*p+Y*Y<1.0e-06)c=e;else break}f[G>>2]=c;while(1){if((l|0)<=0)break;m=l+3|0;p=+o[i+(l<<4)>>3]-+o[i+(m<<4)>>3];Y=+o[i+(l<<4)+8>>3]-+o[i+(m<<4)+8>>3];if(!(Y*Y+p*p<1.0e-06))break;l=l+-3|0}f[I>>2]=l;KG(A,Z,i,G,I,E,t);w=f[G>>2]|0;u=f[I>>2]|0;s=u+4|0;u=u+3|0;b=M+16|0;B=M+32|0;k=M+48|0;c=C+16|0;l=w;while(1){if((l|0)>=(s|0))break;C=(f[E>>2]|0)+(l-w<<4)|0;e=i+(l<<4)|0;f[C>>2]=f[e>>2];f[C+4>>2]=f[e+4>>2];f[C+8>>2]=f[e+8>>2];f[C+12>>2]=f[e+12>>2];f[M>>2]=f[e>>2];f[M+4>>2]=f[e+4>>2];f[M+8>>2]=f[e+8>>2];f[M+12>>2]=f[e+12>>2];e=l+1|0;if((l|0)>=(u|0)){Q=38;break}I=(f[E>>2]|0)+(e-w<<4)|0;C=i+(e<<4)|0;f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];f[b>>2]=f[C>>2];f[b+4>>2]=f[C+4>>2];f[b+8>>2]=f[C+8>>2];f[b+12>>2]=f[C+12>>2];C=l+2|0;I=(f[E>>2]|0)+(C-w<<4)|0;C=i+(C<<4)|0;f[I>>2]=f[C>>2];f[I+4>>2]=f[C+4>>2];f[I+8>>2]=f[C+8>>2];f[I+12>>2]=f[C+12>>2];f[B>>2]=f[C>>2];f[B+4>>2]=f[C+4>>2];f[B+8>>2]=f[C+8>>2];f[B+12>>2]=f[C+12>>2];C=l+3|0;I=i+(C<<4)|0;f[k>>2]=f[I>>2];f[k+4>>2]=f[I+4>>2];f[k+8>>2]=f[I+8>>2];f[k+12>>2]=f[I+12>>2];ds((f[c>>2]|0)+16|0,M);l=C}f[E+4>>2]=s-w;v=y;return}function KG(A,e,i,n,a,t,l){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;var c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+16|0;s=B+4|0;u=B;b=A;while(1){c=f[(f[b+16>>2]|0)+116>>2]|0;if(!c)break;else b=c}if(!(r[l+8>>0]|0))c=(dL[f[l>>2]&31](b)|0)&255;else c=0;Fo(b,s,u);o=l+4|0;if((dL[f[o>>2]&31](e)|0)<<24>>24)f[u>>2]=0;if((dL[f[o>>2]&31](f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0)<<24>>24)f[s>>2]=0;if(c|0){e=f[s>>2]|0;f[s>>2]=f[u>>2];f[u>>2]=e}if(!(r[l+9>>0]|0)){c=f[s>>2]|0;if(c|0)f[n>>2]=is(b,i,f[n>>2]|0,f[a>>2]|0,t,c)|0;c=f[u>>2]|0;if(c|0)f[a>>2]=As(b,i,f[n>>2]|0,f[a>>2]|0,t,c)|0}else{o=f[u>>2]|0;c=f[s>>2]|0;if(c|o|0)rs(b,i,f[n>>2]|0,f[a>>2]|0,t,c,o)}v=B;return}function _G(A,e){A=A|0;e=e|0;var i=0,r=0;if(+o[e>>3]<+o[e+16>>3]?+o[e+8>>3]<+o[e+24>>3]:0){i=f[A+84>>2]|0;r=A+80|0;A=f[r>>2]|0;f[r>>2]=A+1;A=i+(A<<5)|0;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];f[A+16>>2]=f[e+16>>2];f[A+20>>2]=f[e+20>>2];f[A+24>>2]=f[e+24>>2];f[A+28>>2]=f[e+28>>2]}return}function qG(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0,C=0.0;G=v;v=v+112|0;g=G+72|0;b=G+56|0;u=G+16|0;k=G;l=f[e>>2]&3;B=e+48|0;Z=f[((l|0)==3?e:B)+40>>2]|0;d=e+16|0;w=f[d>>2]|0;t=w+16|0;if(r[w+47>>0]|0){FG(u,Z,f[((l|0)==2?e:e+-48|0)+40>>2]|0,t);l=u;u=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(u|0))}w=Z+16|0;l=f[w>>2]|0;t=f[l+8>>2]|0;if(!t)u=0;else u=f[(f[t+4>>2]|0)+16>>2]|0;t=l+16|0;l=(f[d>>2]|0)+16|0;f[b>>2]=f[t>>2];f[b+4>>2]=f[t+4>>2];f[b+8>>2]=f[t+8>>2];f[b+12>>2]=f[t+12>>2];f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[g+12>>2]=f[l+12>>2];$G(k,b,g);f[A>>2]=f[k>>2];f[A+4>>2]=f[k+4>>2];f[A+8>>2]=f[k+8>>2];f[A+12>>2]=f[k+12>>2];if(!(a<<24>>24)){t=f[d>>2]|0;if(!(r[t+45>>0]|0))t=0;else{c=+o[t+32>>3];m=9}}else{c=+AI(f[((f[e>>2]&3|0)==3?e:B)+40>>2]|0);m=9}if((m|0)==9){o[A+16>>3]=c;t=1}r[A+29>>0]=t;f[A+80>>2]=0;f[A+88>>2]=e;k=n+32|0;f[k>>2]=f[A>>2];f[k+4>>2]=f[A+4>>2];f[k+8>>2]=f[A+8>>2];f[k+12>>2]=f[A+12>>2];switch(i|0){case 1:{l=f[w>>2]|0;if((r[l+156>>0]|0)==0?(k=r[(f[d>>2]|0)+49>>0]|0,h=k&255,k<<24>>24!=0):0){f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[g+12>>2]=f[n+12>>2];f[g+16>>2]=f[n+16>>2];f[g+20>>2]=f[n+20>>2];f[g+24>>2]=f[n+24>>2];f[g+28>>2]=f[n+28>>2];do{if(!(h&4)){if(h&1|0){f[n+48>>2]=1;t=g+24|0;o[t>>3]=+o[(+o[t>>3]>+o[A+8>>3]?g+16|0:A)+8>>3];t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}t=n+48|0;if(!(h&8)){f[t>>2]=2;o[g>>3]=+o[A>>3];o[g+8>>3]=+o[l+24>>3]-+o[l+80>>3]*.5;o[g+24>>3]=+o[A+8>>3];t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}else{f[t>>2]=8;o[g+16>>3]=+o[A>>3];o[g+8>>3]=+o[l+24>>3]-+o[l+80>>3]*.5;o[g+24>>3]=+o[A+8>>3];t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}}else{f[n+48>>2]=4;c=+o[g>>3];if(+o[A>>3]<+o[l+16>>3]){C=c+-1.0;I=+o[A+8>>3];A=g+16|0;c=+o[A>>3];s=+o[l+80>>3]*.5+ +o[l+24>>3];s=s+ +((f[(f[(Fp(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);t=f[w>>2]|0;o[A>>3]=+o[t+16>>3]-+o[t+88>>3];o[g+24>>3]=I;o[g+8>>3]=+o[t+24>>3]-+o[t+80>>3]*.5;o[g>>3]=C;o[n+56>>3]=C;o[n+64>>3]=I;o[n+72>>3]=c;o[n+80>>3]=s;t=n+88|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=2;break}else{s=+o[A+8>>3];t=g+16|0;I=+o[t>>3]+1.0;C=+o[l+80>>3]*.5+ +o[l+24>>3];C=C+ +((f[(f[(Fp(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=f[w>>2]|0;o[g>>3]=+o[A+96>>3]+ +o[A+16>>3];o[g+24>>3]=s;o[g+8>>3]=+o[A+24>>3]-+o[A+80>>3]*.5;o[t>>3]=I;o[n+56>>3]=c;o[n+64>>3]=s;o[n+72>>3]=I;o[n+80>>3]=C;t=n+88|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=2;break}}}while(0);f[n+52>>2]=t;while(1){t=f[e+16>>2]|0;if(!(r[t+112>>0]|0))break;e=f[t+116>>2]|0}r[((Z|0)==(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?t+16|0:t+56|0)+30>>0]=0}else{l=1;m=47}break}case 2:{h=r[(f[d>>2]|0)+49>>0]|0;l=h&255;if(!(h<<24>>24))m=46;else{f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[g+12>>2]=f[n+12>>2];f[g+16>>2]=f[n+16>>2];f[g+20>>2]=f[n+20>>2];f[g+24>>2]=f[n+24>>2];f[g+28>>2]=f[n+28>>2];do{if(!(l&4)){if(l&1|0)if((f[n+48>>2]|0)==4){t=f[w>>2]|0;C=+o[t+24>>3]-+o[t+80>>3]*.5;t=g+16|0;I=+o[t>>3]+1.0;c=+o[A>>3];s=C-+((f[(f[(Fp(Z)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=f[w>>2]|0;o[g>>3]=+o[A+96>>3]+ +o[A+16>>3];o[g+8>>3]=C;o[g+24>>3]=+o[A+80>>3]*.5+ +o[A+24>>3];o[t>>3]=I;o[n+56>>3]=c;o[n+64>>3]=s;o[n+72>>3]=I;o[n+80>>3]=C;t=n+88|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=2;break}else{t=g+24|0;o[t>>3]=+o[(+o[t>>3]>+o[A+8>>3]?g+16|0:A)+8>>3];t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}c=+o[A>>3];if(!(l&8)){o[g>>3]=c;i=f[w>>2]|0;c=+o[i+24>>3];s=+o[i+80>>3]*.5;if((f[n+48>>2]|0)==4){o[g+24>>3]=s+c;c=+o[A+8>>3];t=g}else{o[g+8>>3]=c-s;c=+o[A+8>>3]+1.0;t=g+16|0}o[t+8>>3]=c;t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}else{t=g+16|0;o[t>>3]=c+1.0;i=f[w>>2]|0;c=+o[i+24>>3];s=+o[i+80>>3]*.5;if((f[n+48>>2]|0)==4){o[g+24>>3]=s+c;c=+o[A+8>>3]+-1.0;t=g}else{o[g+8>>3]=c-s;c=+o[A+8>>3]+1.0}o[t+8>>3]=c;t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1;break}}else{t=g+8|0;o[t>>3]=+o[(+o[t>>3]<+o[A+8>>3]?g:A)+8>>3];t=n+56|0;f[t>>2]=f[g>>2];f[t+4>>2]=f[g+4>>2];f[t+8>>2]=f[g+8>>2];f[t+12>>2]=f[g+12>>2];f[t+16>>2]=f[g+16>>2];f[t+20>>2]=f[g+20>>2];f[t+24>>2]=f[g+24>>2];f[t+28>>2]=f[g+28>>2];t=1}}while(0);f[n+52>>2]=t;while(1){t=f[e+16>>2]|0;if(!(r[t+112>>0]|0))break;e=f[t+116>>2]|0}r[((Z|0)==(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)?t+16|0:t+56|0)+30>>0]=0;f[n+48>>2]=l}break}default:m=46}if((m|0)==46){l=f[n+48>>2]|0;m=47}A:do{if((m|0)==47){if(u){e=n+56|0;t=n+52|0;l=GL[u&3](Z,(f[d>>2]|0)+16|0,l,e,t)|0;if(l){f[n+48>>2]=l;break}}else{t=n+52|0;e=n+56|0}f[e>>2]=f[n>>2];f[e+4>>2]=f[n+4>>2];f[e+8>>2]=f[n+8>>2];f[e+12>>2]=f[n+12>>2];f[e+16>>2]=f[n+16>>2];f[e+20>>2]=f[n+20>>2];f[e+24>>2]=f[n+24>>2];f[e+28>>2]=f[n+28>>2];f[t>>2]=1;switch(i|0){case 8:{BA(123205,91558,569,91568);break}case 2:{o[((f[n+48>>2]|0)==4?n+56|0:n+72|0)+8>>3]=+o[A+8>>3];break A}case 1:{o[n+80>>3]=+o[A+8>>3];f[n+48>>2]=1;break A}default:break A}}}while(0);v=G;return}function $G(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[i+8>>3]+ +o[e+8>>3];o[A>>3]=+o[i>>3]+ +o[e>>3];o[A+8>>3]=r;return}function AI(A){A=A|0;var e=0.0,i=0,r=0,n=0.0,a=0,t=0,l=0,c=0.0,s=0.0;t=f[A+16>>2]|0;l=f[t+172>>2]|0;n=0.0;a=0;while(1){A=f[l+(a<<2)>>2]|0;if(!A)break;n=+o[(f[(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+n;a=a+1|0}r=f[t+180>>2]|0;e=0.0;A=0;while(1){i=f[r+(A<<2)>>2]|0;if(!i)break;e=+o[(f[(f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+e;A=A+1|0}c=+o[t+16>>3];s=+o[t+24>>3];l=f[l>>2]|0;n=+H(+(s-+o[(f[(f[((f[l>>2]&3|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(c-n/+(a|0)));l=f[r>>2]|0;return+((+H(+(+o[(f[(f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-s),+(e/+(A|0)-c))+n)*.5)}function eI(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0.0,s=0.0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0.0;C=v;v=v+112|0;Z=C+72|0;B=C+56|0;u=C+16|0;d=C;l=f[e>>2]&3;w=e+-48|0;I=f[((l|0)==2?e:w)+40>>2]|0;g=e+16|0;h=f[g>>2]|0;t=h+56|0;if(r[h+87>>0]|0){FG(u,I,f[((l|0)==3?e:e+48|0)+40>>2]|0,t);l=u;u=t+40|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(u|0))}h=I+16|0;l=f[h>>2]|0;t=f[l+8>>2]|0;if(!t)b=0;else b=f[(f[t+4>>2]|0)+16>>2]|0;u=A+40|0;t=l+16|0;l=(f[g>>2]|0)+56|0;f[B>>2]=f[t>>2];f[B+4>>2]=f[t+4>>2];f[B+8>>2]=f[t+8>>2];f[B+12>>2]=f[t+12>>2];f[Z>>2]=f[l>>2];f[Z+4>>2]=f[l+4>>2];f[Z+8>>2]=f[l+8>>2];f[Z+12>>2]=f[l+12>>2];$G(d,B,Z);f[u>>2]=f[d>>2];f[u+4>>2]=f[d+4>>2];f[u+8>>2]=f[d+8>>2];f[u+12>>2]=f[d+12>>2];if(!(a<<24>>24)){t=f[g>>2]|0;if(!(r[t+85>>0]|0))k=0;else{o[A+56>>3]=+o[t+72>>3];k=1}}else{s=+AI(f[((f[e>>2]&3|0)==2?e:w)+40>>2]|0)+3.141592653589793;o[A+56>>3]=s;if(s<6.283185307179586)k=1;else BA(91578,91558,606,91602)}r[A+69>>0]=k;d=n+32|0;f[d>>2]=f[u>>2];f[d+4>>2]=f[u+4>>2];f[d+8>>2]=f[u+8>>2];f[d+12>>2]=f[u+12>>2];switch(i|0){case 1:{l=f[h>>2]|0;if((r[l+156>>0]|0)==0?(d=r[(f[g>>2]|0)+89>>0]|0,m=d&255,d<<24>>24!=0):0){f[Z>>2]=f[n>>2];f[Z+4>>2]=f[n+4>>2];f[Z+8>>2]=f[n+8>>2];f[Z+12>>2]=f[n+12>>2];f[Z+16>>2]=f[n+16>>2];f[Z+20>>2]=f[n+20>>2];f[Z+24>>2]=f[n+24>>2];f[Z+28>>2]=f[n+28>>2];do{if(!(m&4))if(!(m&1)){t=n+48|0;if(!(m&8)){f[t>>2]=2;o[Z>>3]=+o[u>>3];o[Z+24>>3]=+o[l+80>>3]*.5+ +o[l+24>>3];o[Z+8>>3]=+o[A+48>>3];t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1;break}else{f[t>>2]=8;o[Z+16>>3]=+o[u>>3];o[Z+24>>3]=+o[l+80>>3]*.5+ +o[l+24>>3];o[Z+8>>3]=+o[A+48>>3];t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1;break}}else{f[n+48>>2]=1;c=+o[Z>>3];if(+o[u>>3]<+o[l+16>>3]){E=c+-1.0;s=+o[A+48>>3];A=Z+16|0;c=+o[A>>3];M=+o[l+80>>3]*-.5+ +o[l+24>>3];M=M-+((f[(f[(Fp(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);t=f[h>>2]|0;o[A>>3]=+o[t+16>>3]-+o[t+88>>3];o[Z+8>>3]=s;o[Z+24>>3]=+o[t+80>>3]*.5+ +o[t+24>>3];o[Z>>3]=E;o[n+56>>3]=E;o[n+64>>3]=M;o[n+72>>3]=c;o[n+80>>3]=s;t=n+88|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=2;break}else{E=+o[A+48>>3];t=Z+16|0;M=+o[t>>3]+1.0;s=+o[l+80>>3]*-.5+ +o[l+24>>3];s=s-+((f[(f[(Fp(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);A=f[h>>2]|0;o[Z>>3]=+o[A+96>>3]+ +o[A+16>>3];o[Z+8>>3]=E;o[Z+24>>3]=+o[A+80>>3]*.5+ +o[A+24>>3];o[t>>3]=M;o[n+56>>3]=c;o[n+64>>3]=s;o[n+72>>3]=M;o[n+80>>3]=E;t=n+88|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=2;break}}else{f[n+48>>2]=4;t=Z+8|0;o[t>>3]=+o[(+o[t>>3]<+o[A+48>>3]?Z:u)+8>>3];t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1}}while(0);f[n+52>>2]=t;while(1){t=f[e+16>>2]|0;if(!(r[t+112>>0]|0))break;e=f[t+116>>2]|0}r[((I|0)==(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?t+56|0:t+16|0)+30>>0]=0;f[n+48>>2]=m}else{l=4;G=47}break}case 2:{m=r[(f[g>>2]|0)+89>>0]|0;l=m&255;if(!(m<<24>>24))G=46;else{f[Z>>2]=f[n>>2];f[Z+4>>2]=f[n+4>>2];f[Z+8>>2]=f[n+8>>2];f[Z+12>>2]=f[n+12>>2];f[Z+16>>2]=f[n+16>>2];f[Z+20>>2]=f[n+20>>2];f[Z+24>>2]=f[n+24>>2];f[Z+28>>2]=f[n+28>>2];do{if(!(l&4)){if(l&1|0)if((f[n+48>>2]|0)==4){c=+o[Z>>3]+-1.0;t=f[h>>2]|0;E=+o[t+24>>3]-+o[t+80>>3]*.5;M=+o[u>>3];s=E-+((f[(f[(Fp(I)|0)+16>>2]|0)+252>>2]|0)/2|0|0);t=f[h>>2]|0;o[Z+16>>3]=+o[t+16>>3]+-2.0-+o[t+88>>3];o[Z+8>>3]=E;o[Z+24>>3]=+o[t+80>>3]*.5+ +o[t+24>>3];o[Z>>3]=c;o[n+56>>3]=c;o[n+64>>3]=s;o[n+72>>3]=M;o[n+80>>3]=E;t=n+88|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=2;break}else{t=Z+24|0;o[t>>3]=+o[(+o[t>>3]>+o[A+8>>3]?Z+16|0:A)+8>>3];t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1;break}c=+o[u>>3];if(!(l&8)){o[Z>>3]=c+-1.0;i=f[h>>2]|0;c=+o[i+24>>3];s=+o[i+80>>3]*.5;if((f[n+48>>2]|0)==4){o[Z+24>>3]=s+c;c=+o[A+48>>3]+-1.0;t=Z}else{o[Z+8>>3]=c-s;c=+o[A+48>>3];t=Z+16|0}o[t+8>>3]=c;t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1;break}else{t=Z+16|0;o[t>>3]=c+1.0;i=f[h>>2]|0;c=+o[i+24>>3];s=+o[i+80>>3]*.5;if((f[n+48>>2]|0)==4){o[Z+24>>3]=s+c;c=+o[A+48>>3]+-1.0;t=Z}else{o[Z+8>>3]=c-s;c=+o[A+48>>3]+1.0}o[t+8>>3]=c;t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1;break}}else{t=Z+8|0;o[t>>3]=+o[(+o[t>>3]<+o[A+48>>3]?Z:u)+8>>3];t=n+56|0;f[t>>2]=f[Z>>2];f[t+4>>2]=f[Z+4>>2];f[t+8>>2]=f[Z+8>>2];f[t+12>>2]=f[Z+12>>2];f[t+16>>2]=f[Z+16>>2];f[t+20>>2]=f[Z+20>>2];f[t+24>>2]=f[Z+24>>2];f[t+28>>2]=f[Z+28>>2];t=1}}while(0);f[n+52>>2]=t;while(1){t=f[e+16>>2]|0;if(!(r[t+112>>0]|0))break;e=f[t+116>>2]|0}r[((I|0)==(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)?t+56|0:t+16|0)+30>>0]=0;f[n+48>>2]=l}break}default:G=46}if((G|0)==46){l=f[n+48>>2]|0;G=47}A:do{if((G|0)==47){if(b){e=n+56|0;t=n+52|0;l=GL[b&3](I,(f[g>>2]|0)+56|0,l,e,t)|0;if(l){f[n+48>>2]=l;break}}else{t=n+52|0;e=n+56|0}f[e>>2]=f[n>>2];f[e+4>>2]=f[n+4>>2];f[e+8>>2]=f[n+8>>2];f[e+12>>2]=f[n+12>>2];f[e+16>>2]=f[n+16>>2];f[e+20>>2]=f[n+20>>2];f[e+24>>2]=f[n+24>>2];f[e+28>>2]=f[n+28>>2];f[t>>2]=1;switch(i|0){case 8:{BA(123205,91558,765,91602);break}case 2:{o[((f[n+48>>2]|0)==4?n+56|0:n+72|0)+8>>3]=+o[A+48>>3];break A}case 1:{o[n+64>>3]=+o[A+48>>3];f[n+48>>2]=4;break A}default:break A}}}while(0);v=C;return}function iI(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;a=f[A+16>>2]|0;t=f[a+96>>2]|0;if((r[a+44>>0]|0)==0?(r[a+84>>0]|0)==0:0)l=6;else{e=r[a+49>>0]|0;i=e&255;if(((i&8|0)==0?(n=r[a+89>>0]|0,(n&8)==0):0)?(i&5|0)==0?1:e<<24>>24!=n<<24>>24:0)l=6;else A=0}if((l|0)==6)if(!t)A=18;else{A=(f[(f[(Fp(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;A=~~(+o[(A?t+32|0:t+24|0)>>3]+18.0)}return A|0}function rI(A,e,i,n,a,t,l){A=A|0;e=e|0;i=i|0;n=n|0;a=+a;t=+t;l=l|0;var c=0,o=0,s=0,u=0;A=f[(f[e+(i<<2)>>2]|0)+16>>2]|0;if((r[A+44>>0]|0)==0?(r[A+84>>0]|0)==0:0)s=6;else s=3;do{if((s|0)==3){c=r[A+49>>0]|0;o=c&255;if(!(o&8)){u=r[A+89>>0]|0;if((u&8)==0?(o&5|0)==0?1:c<<24>>24!=u<<24>>24:0){s=6;break}if(!(r[A+89>>0]&8)){if(o&4|0){fI(e,i,n,a,t,l);break}if(!(o&1))BA(123205,91558,1231,91610);else{tI(e,i,n,a,t,l);break}}}if((c&2)==0?(r[A+89>>0]&2)==0:0){aI(e,i,n,a,t,l);break}fI(e,i,n,a,t,l)}}while(0);if((s|0)==6)nI(e,i,n,a,t,l);return}function nI(A,e,i,n,t,l){A=A|0;e=e|0;i=i|0;n=+n;t=+t;l=l|0;var c=0,s=0.0,u=0.0,b=0.0,B=0.0,k=0,w=0,h=0,d=0,g=0,m=0.0,Z=0,G=0,I=0,C=0.0,M=0,E=0,Q=0.0,y=0,Y=0.0,p=0.0,V=0.0,N=0.0,W=0.0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0.0,X=0.0,x=0;F=v;v=v+16080|0;P=F+80|0;R=F+64|0;H=F+48|0;L=F+32|0;z=F+16|0;J=F;E=f[A+(e<<2)>>2]|0;u=t*.5/+(i|0);u=u>2.0?u:2.0;y=(f[((f[E>>2]&3|0)==3?E:E+48|0)+40>>2]|0)+16|0;M=f[y>>2]|0;Q=+o[M+16>>3];N=+o[M+24>>3];E=f[E+16>>2]|0;s=+o[E+16>>3];Y=s+Q;p=+o[E+24>>3]+N;t=+o[E+56>>3];V=t+Q;N=+o[E+64>>3]+N;c=!(p>=N)?-1:1;B=+o[M+96>>3];switch(lI(a[E+49>>0]|0,a[E+89>>0]|0)|0){case 65:case 32:{if(p==N)c=0-c|0;break}default:{}}D=(B-s)*3.0;s=(B-t)*3.0;m=u*+(c|0);g=P+8|0;Z=P+16|0;G=P+32|0;I=P+48|0;C=(N+p)*.5;M=P+64|0;E=P+80|0;h=P+96|0;d=P+104|0;w=0;b=0.0;t=B;u=B=(i|0))break;k=e+1|0;e=f[A+(e<<2)>>2]|0;B=t+n;u=u+n;s=s+n;b=b+m;o[P>>3]=Y;o[g>>3]=p;D=b+p;cI(R,u*.3333333333333333+Y,D);f[Z>>2]=f[R>>2];f[Z+4>>2]=f[R+4>>2];f[Z+8>>2]=f[R+8>>2];f[Z+12>>2]=f[R+12>>2];X=B+Q;cI(H,X,D);f[G>>2]=f[H>>2];f[G+4>>2]=f[H+4>>2];f[G+8>>2]=f[H+8>>2];f[G+12>>2]=f[H+12>>2];cI(L,X,C);f[I>>2]=f[L>>2];f[I+4>>2]=f[L+4>>2];f[I+8>>2]=f[L+8>>2];f[I+12>>2]=f[L+12>>2];D=N-b;cI(z,X,D);f[M>>2]=f[z>>2];f[M+4>>2]=f[z+4>>2];f[M+8>>2]=f[z+8>>2];f[M+12>>2]=f[z+12>>2];cI(J,s*.3333333333333333+V,D);f[E>>2]=f[J>>2];f[E+4>>2]=f[J+4>>2];f[E+8>>2]=f[J+8>>2];f[E+12>>2]=f[J+12>>2];o[h>>3]=V;o[d>>3]=N;c=e+16|0;if((f[(f[c>>2]|0)+96>>2]|0)!=0?(x=(f[(f[(Fp(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=f[(f[c>>2]|0)+96>>2]|0,W=+o[(x?c+24|0:c+32|0)>>3],x=f[y>>2]|0,o[c+56>>3]=W*.5+B+ +o[x+16>>3],o[c+64>>3]=+o[x+24>>3],r[c+81>>0]=1,W>n):0)t=W+t;else t=B;OG(e,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,P,7,l);e=k;w=w+1|0}v=F;return}function fI(A,e,i,n,t,l){A=A|0;e=e|0;i=i|0;n=+n;t=+t;l=l|0;var c=0.0,s=0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0.0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0,Q=0,y=0.0,Y=0,p=0.0,V=0.0,N=0.0,W=0.0,z=0.0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0.0,x=0;D=v;v=v+16080|0;R=D+80|0;H=D+64|0;L=D+48|0;F=D+32|0;J=D+16|0;P=D;Q=f[A+(e<<2)>>2]|0;k=n*.5/+(i|0);k=k>2.0?k:2.0;Y=(f[((f[Q>>2]&3|0)==3?Q:Q+48|0)+40>>2]|0)+16|0;s=f[Y>>2]|0;N=+o[s+16>>3];y=+o[s+24>>3];Q=f[Q+16>>2]|0;c=+o[Q+16>>3];B=+o[Q+24>>3];p=c+N;V=B+y;n=+o[Q+56>>3];b=+o[Q+64>>3];N=n+N;W=b+y;u=!(p>=N)?-1.0:1.0;h=+o[s+80>>3]*.5;switch(lI(a[Q+49>>0]|0,a[Q+89>>0]|0)|0){case 15:{c=(k-n+ +o[s+96>>3])*u;break}case 38:{c=(n+k+ +o[s+88>>3])*u;break}case 41:{c=(k-c+ +o[s+96>>3])*u;break}case 48:{c=(k-c+ +o[s+96>>3])*u;break}case 58:case 57:case 51:case 47:case 37:case 14:{c=u*.3333333333333333*(c-n+ +o[s+88>>3]+ +o[s+96>>3]);break}case 73:{c=(c+k+ +o[s+88>>3])*u;break}case 83:{c=(+o[s+88>>3]+c)*u;break}case 84:{c=((c-n+ +o[s+88>>3]+ +o[s+96>>3])*.5+k)*u;break}case 85:case 75:case 74:{c=((c-n+ +o[s+88>>3]+ +o[s+96>>3])*.5+k*2.0)*u;break}default:c=0.0}B=(h-B)*3.0;b=(h-b)*3.0;k=u*k;Z=R+8|0;G=R+16|0;I=R+32|0;C=R+48|0;M=(N+p)*.5;E=R+64|0;Q=R+80|0;g=R+96|0;m=R+104|0;d=0;n=h;B=h=(i|0))break;w=e+1|0;e=f[A+(e<<2)>>2]|0;b=n+t;B=B+t;u=u+t;c=c+k;o[R>>3]=p;o[Z>>3]=V;h=c+p;cI(H,h,B*.3333333333333333+V);f[G>>2]=f[H>>2];f[G+4>>2]=f[H+4>>2];f[G+8>>2]=f[H+8>>2];f[G+12>>2]=f[H+12>>2];X=b+y;cI(L,h,X);f[I>>2]=f[L>>2];f[I+4>>2]=f[L+4>>2];f[I+8>>2]=f[L+8>>2];f[I+12>>2]=f[L+12>>2];cI(F,M,X);f[C>>2]=f[F>>2];f[C+4>>2]=f[F+4>>2];f[C+8>>2]=f[F+8>>2];f[C+12>>2]=f[F+12>>2];h=N-c;cI(J,h,X);f[E>>2]=f[J>>2];f[E+4>>2]=f[J+4>>2];f[E+8>>2]=f[J+8>>2];f[E+12>>2]=f[J+12>>2];cI(P,h,u*.3333333333333333+W);f[Q>>2]=f[P>>2];f[Q+4>>2]=f[P+4>>2];f[Q+8>>2]=f[P+8>>2];f[Q+12>>2]=f[P+12>>2];o[g>>3]=N;o[m>>3]=W;s=e+16|0;if((f[(f[s>>2]|0)+96>>2]|0)!=0?(x=(f[(f[(Fp(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,s=f[(f[s>>2]|0)+96>>2]|0,z=+o[(x?s+32|0:s+24|0)>>3],x=f[Y>>2]|0,o[s+64>>3]=z*.5+b+ +o[x+24>>3],o[s+56>>3]=+o[x+16>>3],r[s+81>>0]=1,z>t):0)n=z+n;else n=b;OG(e,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,R,7,l);e=w;d=d+1|0}v=D;return}function aI(A,e,i,n,t,l){A=A|0;e=e|0;i=i|0;n=+n;t=+t;l=l|0;var c=0,s=0.0,u=0.0,b=0.0,B=0.0,k=0,w=0,h=0,d=0,g=0,m=0.0,Z=0,G=0,I=0,C=0.0,M=0,E=0,Q=0.0,y=0,Y=0.0,p=0.0,V=0.0,N=0.0,W=0.0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0.0,X=0.0,x=0;F=v;v=v+16080|0;P=F+80|0;R=F+64|0;H=F+48|0;L=F+32|0;z=F+16|0;J=F;E=f[A+(e<<2)>>2]|0;u=t*.5/+(i|0);u=u>2.0?u:2.0;y=(f[((f[E>>2]&3|0)==3?E:E+48|0)+40>>2]|0)+16|0;M=f[y>>2]|0;Q=+o[M+16>>3];N=+o[M+24>>3];E=f[E+16>>2]|0;s=+o[E+16>>3];Y=s+Q;p=+o[E+24>>3]+N;t=+o[E+56>>3];V=t+Q;N=+o[E+64>>3]+N;c=!(p>=N)?-1:1;B=+o[M+88>>3];switch(lI(a[E+49>>0]|0,a[E+89>>0]|0)|0){case 67:case 12:{if(p==N)c=0-c|0;break}default:{}}D=(s+B)*3.0;s=(t+B)*3.0;m=u*+(c|0);g=P+8|0;Z=P+16|0;G=P+32|0;I=P+48|0;C=(N+p)*.5;M=P+64|0;E=P+80|0;h=P+96|0;d=P+104|0;w=0;b=0.0;t=B;u=B=(i|0))break;k=e+1|0;e=f[A+(e<<2)>>2]|0;B=t+n;u=u+n;s=s+n;b=b+m;o[P>>3]=Y;o[g>>3]=p;D=b+p;cI(R,Y-u*.3333333333333333,D);f[Z>>2]=f[R>>2];f[Z+4>>2]=f[R+4>>2];f[Z+8>>2]=f[R+8>>2];f[Z+12>>2]=f[R+12>>2];X=Q-B;cI(H,X,D);f[G>>2]=f[H>>2];f[G+4>>2]=f[H+4>>2];f[G+8>>2]=f[H+8>>2];f[G+12>>2]=f[H+12>>2];cI(L,X,C);f[I>>2]=f[L>>2];f[I+4>>2]=f[L+4>>2];f[I+8>>2]=f[L+8>>2];f[I+12>>2]=f[L+12>>2];D=N-b;cI(z,X,D);f[M>>2]=f[z>>2];f[M+4>>2]=f[z+4>>2];f[M+8>>2]=f[z+8>>2];f[M+12>>2]=f[z+12>>2];cI(J,V-s*.3333333333333333,D);f[E>>2]=f[J>>2];f[E+4>>2]=f[J+4>>2];f[E+8>>2]=f[J+8>>2];f[E+12>>2]=f[J+12>>2];o[h>>3]=V;o[d>>3]=N;c=e+16|0;if((f[(f[c>>2]|0)+96>>2]|0)!=0?(x=(f[(f[(Fp(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,c=f[(f[c>>2]|0)+96>>2]|0,W=+o[(x?c+24|0:c+32|0)>>3],x=f[y>>2]|0,o[c+56>>3]=W*-.5-B+ +o[x+16>>3],o[c+64>>3]=+o[x+24>>3],r[c+81>>0]=1,W>n):0)t=W+t;else t=B;OG(e,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,P,7,l);e=k;w=w+1|0}v=F;return}function tI(A,e,i,n,t,l){A=A|0;e=e|0;i=i|0;n=+n;t=+t;l=l|0;var c=0.0,s=0.0,u=0.0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0.0,Z=0,G=0.0,I=0.0,C=0.0,M=0.0,E=0.0,Q=0,y=0,Y=0,p=0.0,V=0,N=0,W=0.0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0.0,X=0.0,x=0;F=v;v=v+16080|0;P=F+80|0;R=F+64|0;H=F+48|0;L=F+32|0;z=F+16|0;J=F;Q=f[A+(e<<2)>>2]|0;E=n*.5/+(i|0);Z=(f[((f[Q>>2]&3|0)==3?Q:Q+48|0)+40>>2]|0)+16|0;y=f[Z>>2]|0;C=+o[y+16>>3];m=+o[y+24>>3];Q=f[Q+16>>2]|0;s=+o[Q+24>>3];G=+o[Q+16>>3]+C;I=s+m;u=+o[Q+64>>3];C=+o[Q+56>>3]+C;M=u+m;g=!(G>=C)?-1:1;b=+o[y+80>>3]*.5;Q=(lI(a[Q+49>>0]|0,a[Q+89>>0]|0)|0)==67;s=(s+b)*3.0;u=(u+b)*3.0;E=(E>2.0?E:2.0)*+((Q?0-g|0:g)|0);g=P+8|0;Q=P+16|0;y=P+32|0;Y=P+48|0;p=(C+G)*.5;V=P+64|0;N=P+80|0;h=P+96|0;d=P+104|0;n=b;c=0.0;s=b=(i|0))break;w=e+1|0;B=f[A+(e<<2)>>2]|0;b=n+t;s=s+t;u=u+t;c=c+E;o[P>>3]=G;o[g>>3]=I;D=c+G;cI(R,D,I-s*.3333333333333333);f[Q>>2]=f[R>>2];f[Q+4>>2]=f[R+4>>2];f[Q+8>>2]=f[R+8>>2];f[Q+12>>2]=f[R+12>>2];X=m-b;cI(H,D,X);f[y>>2]=f[H>>2];f[y+4>>2]=f[H+4>>2];f[y+8>>2]=f[H+8>>2];f[y+12>>2]=f[H+12>>2];cI(L,p,X);f[Y>>2]=f[L>>2];f[Y+4>>2]=f[L+4>>2];f[Y+8>>2]=f[L+8>>2];f[Y+12>>2]=f[L+12>>2];D=C-c;cI(z,D,X);f[V>>2]=f[z>>2];f[V+4>>2]=f[z+4>>2];f[V+8>>2]=f[z+8>>2];f[V+12>>2]=f[z+12>>2];cI(J,D,M-u*.3333333333333333);f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];o[h>>3]=C;o[d>>3]=M;e=B+16|0;if((f[(f[e>>2]|0)+96>>2]|0)!=0?(x=(f[(f[(Fp(f[((f[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=f[(f[e>>2]|0)+96>>2]|0,W=+o[(x?e+32|0:e+24|0)>>3],x=f[Z>>2]|0,o[e+64>>3]=W*-.5-b+ +o[x+24>>3],o[e+56>>3]=+o[x+16>>3],r[e+81>>0]=1,W>t):0)n=W+n;else n=b;OG(B,f[((f[B>>2]&3|0)==2?B:B+-48|0)+40>>2]|0,P,7,l);e=w;k=k+1|0}v=F;return}function lI(A,e){A=A|0;e=e|0;var i=0;i=0;while(1){if((i|0)>=8){e=-1;break}if((f[21064+(i<<2)>>2]|0)==(e|0)){e=i;break}i=i+1|0}i=0;while(1){if((i|0)>=8){i=-1;break}if((f[21064+(i<<2)>>2]|0)==(A|0))break;i=i+1|0}if((i|e|0)<0)i=0;else i=f[21096+(i<<5)+(e<<2)>>2]|0;return i|0}function cI(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function oI(A){A=A|0;var e=0,i=0;if((f[42248]|0)!=0|(f[42247]|0)!=0){e=A+16|0;i=f[(f[e>>2]|0)+100>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?sI(A,1)|0:0){i=Fp(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;BC(i,f[(f[e>>2]|0)+100>>2]|0)}i=f[(f[e>>2]|0)+104>>2]|0;if((i|0?(r[i+81>>0]|0)==0:0)?sI(A,0)|0:0){i=Fp(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;BC(i,f[(f[e>>2]|0)+104>>2]|0)}}return}function sI(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0.0,t=0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0.0;k=v;v=v+96|0;b=k+32|0;s=k+16|0;u=k;t=A+16|0;do{if((r[(f[t>>2]|0)+112>>0]|0)!=6){i=f[42248]|0;if(!((i|0)!=0?(r[(tY(A,i)|0)>>0]|0)!=0:0)){i=f[42247]|0;if(!i){i=0;break}if(!(r[(tY(A,i)|0)>>0]|0)){i=0;break}}e=e<<24>>24==0;B=f[t>>2]|0;B=f[(e?B+104|0:B+100|0)>>2]|0;i=uI(A)|0;if(i){c=f[i>>2]|0;do{if(e){if(f[c+8>>2]|0){i=f[c>>2]|0;l=+o[i>>3];a=+o[c+16>>3];i=i+8|0;n=+o[c+24>>3];break}i=f[c>>2]|0;a=+o[i>>3];n=+o[i+8>>3];i=0;while(1){if((i|0)==4)break;u=b+(i<<4)|0;t=(f[c>>2]|0)+(i<<4)|0;f[u>>2]=f[t>>2];f[u+4>>2]=f[t+4>>2];f[u+8>>2]=f[t+8>>2];f[u+12>>2]=f[t+12>>2];i=i+1|0}eC(s,b,3,.1,0,0);l=+o[s>>3];i=s+8|0}else{e=(f[i+4>>2]|0)+-1|0;t=c+(e*48|0)|0;if(f[c+(e*48|0)+12>>2]|0){b=f[t>>2]|0;i=(f[c+(e*48|0)+4>>2]|0)+-1|0;l=+o[b+(i<<4)>>3];a=+o[c+(e*48|0)+32>>3];i=b+(i<<4)+8|0;n=+o[c+(e*48|0)+40>>3];break}s=f[t>>2]|0;e=c+(e*48|0)+4|0;i=(f[e>>2]|0)+-1|0;a=+o[s+(i<<4)>>3];n=+o[s+(i<<4)+8>>3];i=0;while(1){if((i|0)==4)break;s=b+(i<<4)|0;c=(f[t>>2]|0)+(i+-4+(f[e>>2]|0)<<4)|0;f[s>>2]=f[c>>2];f[s+4>>2]=f[c+4>>2];f[s+8>>2]=f[c+8>>2];f[s+12>>2]=f[c+12>>2];i=i+1|0}eC(u,b,3,.9,0,0);l=+o[u>>3];i=u+8|0}}while(0);w=+H(+(+o[i>>3]-n),+(l-a));w=+xI(A,f[42248]|0,-25.0,-180.0)*.017453292519943295+w;l=+xI(A,f[42247]|0,1.0,0.0)*10.0;o[B+56>>3]=l*+N(+w)+a;o[B+64>>3]=+W(+w)*l+n;r[B+81>>0]=1;i=1}else i=0}else i=0}while(0);v=k;return i|0}function uI(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=v;v=v+16|0;n=t;e=A;while(1){i=f[e+16>>2]|0;e=f[i+8>>2]|0;if(e|0)break;if(!(r[i+112>>0]|0)){a=5;break}e=f[i+116>>2]|0}if((a|0)==5){a=Ap(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;e=Ap(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;f[n>>2]=a;f[n+4>>2]=e;Iy(1,91623,n)|0;e=0}v=t;return e|0}function bI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0.0,g=0.0;h=v;v=v+96|0;s=h+80|0;u=h+64|0;b=h+48|0;B=h+32|0;k=h+16|0;w=h;c=n[(f[e+16>>2]|0)+136>>1]|0;e=i+16|0;vI(f[(f[e>>2]|0)+8>>2]|0,B,k);r=+o[B>>3];a=+o[k>>3];d=r-a;t=+o[B+8>>3];l=+o[k+8>>3];g=t-l;A:do{if(g*g+d*d<1.0e-06){f[b>>2]=f[B>>2];f[b+4>>2]=f[B+4>>2];f[b+8>>2]=f[B+8>>2];f[b+12>>2]=f[B+12>>2]}else switch(c&14){case 4:case 10:{o[u>>3]=(a+r)*.5;o[u+8>>3]=(l+t)*.5;k=f[(f[e>>2]|0)+8>>2]|0;f[s>>2]=f[u>>2];f[s+4>>2]=f[u+4>>2];f[s+8>>2]=f[u+8>>2];f[s+12>>2]=f[u+12>>2];tC(w,k,s);f[b>>2]=f[w>>2];f[b+4>>2]=f[w+4>>2];f[b+8>>2]=f[w+8>>2];f[b+12>>2]=f[w+12>>2];break A}default:{BI(b,f[(f[e>>2]|0)+8>>2]|0,B,k);break A}}}while(0);f[A>>2]=f[b>>2];f[A+4>>2]=f[b+4>>2];f[A+8>>2]=f[b+8>>2];f[A+12>>2]=f[b+12>>2];v=h;return}function vI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0;t=v;v=v+32|0;a=t+16|0;n=t;c=f[A>>2]|0;r=f[c>>2]|0;l=f[c+8>>2]|0;o=c+16|0;f[a>>2]=f[o>>2];f[a+4>>2]=f[o+4>>2];f[a+8>>2]=f[o+8>>2];f[a+12>>2]=f[o+12>>2];c=c+32|0;f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[n+8>>2]=f[c+8>>2];f[n+12>>2]=f[c+12>>2];if(!l){f[e>>2]=f[r>>2];f[e+4>>2]=f[r+4>>2];f[e+8>>2]=f[r+8>>2];f[e+12>>2]=f[r+12>>2]}else{f[e>>2]=f[a>>2];f[e+4>>2]=f[a+4>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=f[a+12>>2]}l=f[A>>2]|0;c=(f[A+4>>2]|0)+-1|0;r=f[l+(c*48|0)>>2]|0;A=f[l+(c*48|0)+4>>2]|0;o=f[l+(c*48|0)+12>>2]|0;e=l+(c*48|0)+16|0;f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[a+12>>2]=f[e+12>>2];c=l+(c*48|0)+32|0;f[n>>2]=f[c>>2];f[n+4>>2]=f[c+4>>2];f[n+8>>2]=f[c+8>>2];f[n+12>>2]=f[c+12>>2];if(!o){o=r+(A+-1<<4)|0;f[i>>2]=f[o>>2];f[i+4>>2]=f[o+4>>2];f[i+8>>2]=f[o+8>>2];f[i+12>>2]=f[o+12>>2]}else{f[i>>2]=f[n>>2];f[i+4>>2]=f[n+4>>2];f[i+8>>2]=f[n+8>>2];f[i+12>>2]=f[n+12>>2]}v=t;return}function BI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0.0,t=0,l=0,c=0,s=0,u=0.0,b=0.0,v=0.0,B=0.0,k=0.0,w=0,h=0.0;w=f[e+4>>2]|0;a=0.0;n=0;while(1){if((n|0)>=(w|0))break;s=f[e>>2]|0;c=f[s+(n*48|0)>>2]|0;s=f[s+(n*48|0)+4>>2]|0;t=3;l=0;while(1){if((t|0)>=(s|0))break;k=+o[c+(l<<4)>>3]-+o[c+(t<<4)>>3];B=+o[c+(l<<4)+8>>3]-+o[c+(t<<4)+8>>3];t=t+3|0;l=l+3|0;a=+p(+(B*B+k*k))+a}n=n+1|0}s=0;a=a*.5;A:while(1){if((s|0)>=(w|0)){n=15;break}c=f[e>>2]|0;l=f[c+(s*48|0)>>2]|0;c=f[c+(s*48|0)+4>>2]|0;n=3;t=0;while(1){if((n|0)>=(c|0))break;u=+o[l+(t<<4)>>3];B=+o[l+(t<<4)+8>>3];b=+o[l+(n<<4)>>3];v=+o[l+(n<<4)+8>>3];k=u-b;h=B-v;k=+p(+(h*h+k*k));if(k>=a){n=12;break A}n=n+3|0;t=t+3|0;a=a-k}s=s+1|0}if((n|0)==12){o[i>>3]=u;o[i+8>>3]=B;o[r>>3]=b;o[r+8>>3]=v;h=k-a;o[A>>3]=(h*u+b*a)/k;o[A+8>>3]=(h*B+v*a)/k;return}else if((n|0)==15)BA(123523,91558,1316,91685)}function kI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;oI(e);return}function wI(A,e,i,n,a){A=A|0;e=e|0;i=+i;n=n|0;a=a|0;var t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0,v=0,B=0.0,k=0.0,w=0.0,h=0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0.0,Q=0.0,y=0,Y=0,p=0,V=0,z=0,J=0,P=0;z=hI(A)|0;V=f[z+4>>2]|0;J=f[z>>2]|0;p=V+-1|0;E=+o[J+(p<<6)+16>>3];Q=+(V|0);y=(a|0)==2;Y=(n|0)!=0;b=0;l=0.0;t=0.0;s=0.0;u=0.0;while(1){if((b|0)>=(V|0))break;A=~~+dI(+(b+-1|0),Q);M=b+1|0;P=~~+dI(+(M|0),Q);v=J+(b<<6)|0;u=+o[v>>3];C=J+(b<<6)+8|0;s=+o[C>>3];h=J+(b<<6)+16|0;d=+o[h>>3];g=J+(b<<6)+24|0;m=J+(b<<6)+32|0;Z=J+(b<<6)+40|0;G=J+(b<<6)+48|0;I=J+(b<<6)+56|0;c=+gI(+o[J+(P<<6)+8>>3]-s,+o[J+(P<<6)>>3]-u);k=+gI(+o[J+(A<<6)+8>>3]-s,+o[J+(A<<6)>>3]-u);w=+wL[e&7](d,E,i);A=(b|0)==0;do{if(A|(b|0)==(p|0))if(A){t=c+1.5707963267948966;if(!y){A=0;B=t;l=w;break}A=0;B=t;l=w;s=s-+W(+c)*w;u=u-+N(+c)*w;break}else{t=k+-1.5707963267948966;if(!y){A=0;B=t;l=w;break}A=0;B=t;l=w;s=s-+W(+k)*w;u=u-+N(+k)*w;break}else{B=c-k;B=1.5707963267948966-(B<0.0?B+6.283185307179586:B)*.5;l=+N(+B);l=l==0.0?0.0:w/l;t=c+1.5707963267948966;c=B+t;if(Y|l>w*10.0){k=+dI(k+-1.5707963267948966,6.283185307179586);A=1;B=+dI(t,6.283185307179586);l=w;t=k}else{A=0;B=c;t=c}}}while(0);o[v>>3]=u;o[C>>3]=s;o[h>>3]=d;r[g>>0]=108;o[m>>3]=t;o[Z>>3]=l;f[G>>2]=A;o[I>>3]=B;b=M}v=Jb(12)|0;A=0;while(1){if((A|0)>=(V|0))break;u=+o[J+(A<<6)>>3];s=+o[J+(A<<6)+8>>3];t=+o[J+(A<<6)+32>>3];l=+o[J+(A<<6)+40>>3];P=f[J+(A<<6)+48>>2]|0;c=+o[J+(A<<6)+56>>3];mI(v,+N(+t)*l+u,+W(+t)*l+s);if(P|0)ZI(u,s,l,1,t,c,n,v);A=A+1|0}b=(a|0)==1;c=t+3.141592653589793;if(b)GI(v,u,s,l,t,c);else{mI(v,+N(+c)*l+u,+W(+c)*l+s);t=c}A=V+-2|0;c=u;while(1){if((A|0)<=-1)break;u=+o[J+(A<<6)>>3];s=+o[J+(A<<6)+8>>3];l=+o[J+(A<<6)+40>>3];P=f[J+(A<<6)+48>>2]|0;t=+o[J+(A<<6)+32>>3]+3.141592653589793;c=+o[J+(A<<6)+56>>3]+3.141592653589793;mI(v,+N(+c)*l+u,+W(+c)*l+s);if(P|0)ZI(u,s,l,0,t,c,n,v);A=A+-1|0;c=u}if(b)GI(v,c,s,l,t,t+3.141592653589793);II(z);return v|0}function hI(A){A=A|0;var e=0.0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0.0;k=v;v=v+144|0;l=k+128|0;t=k+112|0;c=k+96|0;o=k+64|0;s=k;u=k+80|0;b=CI()|0;B=f[A+4>>2]|0;n=f[A>>2]|0;f[l>>2]=f[n>>2];f[l+4>>2]=f[n+4>>2];f[l+8>>2]=f[n+8>>2];f[l+12>>2]=f[n+12>>2];MI(b,l,0.0);a=s+48|0;f[a>>2]=f[n>>2];f[a+4>>2]=f[n+4>>2];f[a+8>>2]=f[n+8>>2];f[a+12>>2]=f[n+12>>2];i=0;e=0.0;A:while(1){r=i+3|0;if((r|0)>=(B|0))break;f[s>>2]=f[a>>2];f[s+4>>2]=f[a+4>>2];f[s+8>>2]=f[a+8>>2];f[s+12>>2]=f[a+12>>2];A=1;while(1){if((A|0)==4)break;w=s+(A<<4)|0;h=n+(A+i<<4)|0;f[w>>2]=f[h>>2];f[w+4>>2]=f[h+4>>2];f[w+8>>2]=f[h+8>>2];f[w+12>>2]=f[h+12>>2];A=A+1|0}f[c>>2]=f[s>>2];f[c+4>>2]=f[s+4>>2];f[c+8>>2]=f[s+8>>2];f[c+12>>2]=f[s+12>>2];A=1;while(1){if((A|0)==21){i=r;continue A}eC(u,s,3,+(A|0)*.05,0,0);f[o>>2]=f[u>>2];f[o+4>>2]=f[u+4>>2];f[o+8>>2]=f[u+8>>2];f[o+12>>2]=f[u+12>>2];f[t>>2]=f[c>>2];f[t+4>>2]=f[c+4>>2];f[t+8>>2]=f[c+8>>2];f[t+12>>2]=f[c+12>>2];f[l>>2]=f[u>>2];f[l+4>>2]=f[u+4>>2];f[l+8>>2]=f[u+8>>2];f[l+12>>2]=f[u+12>>2];d=+EI(t,l)+e;f[l>>2]=f[o>>2];f[l+4>>2]=f[o+4>>2];f[l+8>>2]=f[o+8>>2];f[l+12>>2]=f[o+12>>2];MI(b,l,d);f[c>>2]=f[o>>2];f[c+4>>2]=f[o+4>>2];f[c+8>>2]=f[o+8>>2];f[c+12>>2]=f[o+12>>2];A=A+1|0;e=d}}QI(b);v=k;return b|0}function dI(A,e){A=+A;e=+e;var i=0.0;i=A-+y(+(A/e))*e;return+(!(A<0.0)&!(A>=e)?A:i)}function gI(A,e){A=+A;e=+e;if(!(A==0.0&e==0.0)){A=+H(+A,+e);if(!(A>=0.0))A=A+6.283185307179586}else A=0.0;return+A}function mI(A,e,i){A=A|0;e=+e;i=+i;var r=0,n=0;r=f[A>>2]|0;n=A+4|0;if((r|0)<(f[n>>2]|0))n=f[A+8>>2]|0;else{f[n>>2]=2e3;r=A+8|0;n=Hb(f[r>>2]|0,32e3)|0;f[r>>2]=n;r=f[A>>2]|0}f[A>>2]=r+1;o[n+(r<<4)>>3]=e;o[n+(r<<4)+8>>3]=i;return}function ZI(A,e,i,r,n,f,a,t){A=+A;e=+e;i=+i;r=r|0;n=+n;f=+f;a=a|0;t=t|0;var l=0.0;r=(r|0)==0;l=r?n:f;do{if((a|0)==1){n=(r?f:n)-l;n=!(n<=1.7453292519943296e-03)?n:n+6.283185307179586;if(n<3.141592653589793){GI(t,A,e,i,n+l,l);break}else{mI(t,+N(+l)*i+A,+W(+l)*i+A);break}}else mI(t,+N(+l)*i+A,+W(+l)*i+A)}while(0);return}function GI(A,e,i,r,n,f){A=A|0;e=+e;i=+i;r=+r;n=+n;f=+f;var a=0,t=0.0;mI(A,+N(+n)*r+e,+W(+n)*r+i);A:do{if(!(r==0.0)){while(1){if(!(f>n))break;f=f+-6.283185307179586}f=n-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;a=1;while(1){if((a|0)==20)break A;t=n-f*+(a|0);mI(A,+N(+t)*r+e,+W(+t)*r+i);a=a+1|0}}}while(0);return}function II(A){A=A|0;HW(f[A>>2]|0);HW(A);return}function CI(){var A=0;A=Jb(12)|0;f[A+4>>2]=0;f[A+8>>2]=2e3;f[A>>2]=Jb(128e3)|0;return A|0}function MI(A,e,i){A=A|0;e=e|0;i=+i;var r=0,n=0,a=0,t=0;t=A+4|0;r=f[t>>2]|0;n=A+8|0;a=f[n>>2]|0;if((r|0)<(a|0))A=f[A>>2]|0;else{f[n>>2]=a<<1;r=Hb(f[A>>2]|0,a<<7)|0;f[A>>2]=r;A=r;r=f[t>>2]|0}o[A+(r<<6)>>3]=+o[e>>3];o[A+(r<<6)+8>>3]=+o[e+8>>3];f[t>>2]=r+1;o[A+(r<<6)+16>>3]=i;return}function EI(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+o[A>>3]-+o[e>>3];r=+o[A+8>>3]-+o[e+8>>3];return+ +p(+(r*r+i*i))}function QI(A){A=A|0;var e=0;e=f[A+4>>2]|0;if((f[A+8>>2]|0)>(e|0))f[A>>2]=Hb(f[A>>2]|0,e<<6)|0;return}function yI(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;c=o+8|0;l=o;a=o+12|0;f[a>>2]=0;t=f[i+4>>2]|0;if(!t)BA(91702,91713,203,91724);r=f[t>>2]|0;if(!r)BA(91738,91713,206,91724);n=t+8|0;if(!(f[n>>2]|0))f[n>>2]=YI(r)|0;if(!0)r=0;else{r=(xu(f[t>>2]|0)|0)==0;r=r?0:a}if(!((Iw(e,i,r)|0)<<24>>24))pI(i,r);do{if(r|0){n=f[a>>2]|0;e=f[13918]|0;r=f[t>>2]|0;if(!n){f[c>>2]=r;uP(e,91781,c)|0;break}else{f[l>>2]=r;f[l+4>>2]=n;uP(e,91749,l)|0;break}}}while(0);c=i+32|0;f[A>>2]=f[c>>2];f[A+4>>2]=f[c+4>>2];f[A+8>>2]=f[c+8>>2];f[A+12>>2]=f[c+12>>2];v=o;return}function YI(A){A=A|0;var e=0;e=f[42346]|0;if((e|0)!=0?(Oz(e,A)|0)==0:0)A=f[42355]|0;else{HW(e);f[42346]=dP(A)|0;A=lR(169384,21352,35,36,29)|0;f[42355]=A}return A|0}function pI(A,e){A=A|0;e=e|0;var i=0,n=0.0,a=0,t=0.0,l=0,c=0.0;l=f[A+4>>2]|0;i=f[l>>2]|0;t=+o[l+16>>3];l=A+32|0;o[l>>3]=0.0;o[A+40>>3]=t*1.2;o[A+16>>3]=0.0;o[A+24>>3]=t*.1;f[A+8>>2]=0;f[A+12>>2]=0;if(iJ(i,91815,4)|0)if((iJ(i,91820,5)|0)!=0?(iJ(i,91826,9)|0)!=0:0){a=4184;i=91836}else{a=8280;i=91872}else{a=6232;i=91853}if(e|0)f[e>>2]=i;i=f[A>>2]|0;if(i|0){n=0.0;while(1){A=r[i>>0]|0;if(!(A<<24>>24))break;c=n+ +o[a+((A&255)<<3)>>3];o[l>>3]=c;i=i+1|0;n=c}o[l>>3]=n*t}return}function VI(A,e){A=A|0;e=e|0;return Oz(f[A>>2]|0,f[e>>2]|0)|0}function NI(A){A=A|0;var e=0;e=A+108|0;f[e>>2]=0;f[A+112>>2]=32;f[A+116>>2]=-1;f[A+120>>2]=14;f[A+124>>2]=58;f[A+128>>2]=20;f[A+132>>2]=0;f[A+136>>2]=0;f[A+140>>2]=0;e=vy(e,f[4345]|0)|0;f[A+144>>2]=e;return e|0}function WI(A,e,i){A=A|0;e=e|0;i=i|0;i=LW(1,32)|0;A=f[e>>2]|0;if(A|0)f[i>>2]=dP(A)|0;A=f[e+4>>2]|0;if(A|0)f[i+4>>2]=dP(A)|0;f[i+24>>2]=f[e+24>>2]&127;o[i+16>>3]=+o[e+16>>3];f[i+8>>2]=f[e+8>>2];return i|0}function zI(A,e,i){A=A|0;e=e|0;i=i|0;HW(f[e>>2]|0);HW(f[e+4>>2]|0);HW(e);return}function JI(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0,l=0;A=f[e>>2]|0;r=f[i>>2]|0;t=(r|0)==0;if(!A)if(t)l=5;else A=-1;else if(!t){A=oz(A,r)|0;if(!A)l=5}else A=1;do{if((l|0)==5){A=f[e+4>>2]|0;r=f[i+4>>2]|0;t=(r|0)==0;if(!A){if(!t){A=-1;break}}else{if(t){A=1;break}A=oz(A,r)|0;if(A|0)break}A=(f[e+24>>2]&127)-(f[i+24>>2]&127)|0;if(!A){a=+o[e+16>>3];n=+o[i+16>>3];if(an&1}}}while(0);return A|0}function PI(){_A(169424)|0;return}function RI(){var A=0,e=0;e=v;v=v+16|0;A=e;_A(A|0)|0;v=e;return+(+((f[A+4>>2]|0)+(f[A>>2]|0)-(f[42356]|0)-(f[42357]|0)|0)*.016666666666666666)}function HI(A){A=A|0;var e=0,i=0;e=Jb(16)|0;A=(A|0)>2?A:2;i=Jb(A<<2)|0;f[e>>2]=i;f[e+12>>2]=i;f[e+8>>2]=i;f[e+4>>2]=i+(A<<2);return e|0}function LI(A){A=A|0;HW(f[A>>2]|0);HW(A);return}function FI(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+12|0;r=f[i>>2]|0;f[i>>2]=r+4;f[r>>2]=e;if((f[i>>2]|0)>>>0>=(f[A+4>>2]|0)>>>0)f[i>>2]=f[A>>2];return}function DI(A){A=A|0;var e=0,i=0,r=0;i=A+8|0;e=f[i>>2]|0;if((e|0)!=(f[A+12>>2]|0)){r=e+4|0;f[i>>2]=r;e=f[e>>2]|0;if(r>>>0>=(f[A+4>>2]|0)>>>0)f[i>>2]=f[A>>2]}else e=0;return e|0}function XI(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0;l=v;v=v+16|0;a=l;if(((e|0)!=0?(t=tY(A,e)|0,(t|0)!=0):0)?(r[t>>0]|0)!=0:0){e=vP(t,a,10)|0;i=(t|0)==(f[a>>2]|0)?i:(e|0)<(n|0)?n:e}v=l;return i|0}function xI(A,e,i,n){A=A|0;e=e|0;i=+i;n=+n;var a=0,t=0,l=0,c=0.0;l=v;v=v+16|0;a=l;if(((A|0)!=0&(e|0)!=0?(t=tY(A,e)|0,(t|0)!=0):0)?(r[t>>0]|0)!=0:0){c=+aR(t,a);i=(t|0)==(f[a>>2]|0)?i:c>0]|0)!=0:0)i=A;return i|0}function SI(A,e,i){A=A|0;e=e|0;i=i|0;if(!e)A=i&255;else A=jI(tY(A,e)|0)|0;return A|0}function jI(A){A=A|0;return OI(A,0)|0}function OI(A,e){A=A|0;e=e|0;var i=0;if((A|0)!=0?(i=r[A>>0]|0,i<<24>>24!=0):0)if((Oz(A,122100)|0)!=0?(Oz(A,92682)|0)!=0:0)if((Oz(A,92685)|0)!=0?(Oz(A,92690)|0)!=0:0){if(((i<<24>>24)+-48|0)>>>0<10)e=(nR(A)|0)&255}else e=1;else e=0;return e|0}function KI(A){A=A|0;var e=0,i=0;while(1){e=(f[A+16>>2]|0)+220|0;i=f[e>>2]|0;if(!((i|0)!=(A|0)&(i|0)!=0))break;A=f[(f[i+16>>2]|0)+220>>2]|0;if(!A){A=i;continue}f[e>>2]=A}return A|0}function _I(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;if((A|0)!=(e|0)){i=f[A+16>>2]|0;r=i+220|0;if(!(f[r>>2]|0)){f[r>>2]=A;f[i+216>>2]=1}else A=KI(A)|0;i=f[e+16>>2]|0;r=i+220|0;if(!(f[r>>2]|0)){f[r>>2]=e;f[i+216>>2]=1}else{i=KI(e)|0;e=i;i=f[i+16>>2]|0}a=A+16|0;r=f[a>>2]|0;n=e+16|0;t=(f[r+120>>2]|0)>(f[i+120>>2]|0);A=t?e:A;f[(t?r:i)+220>>2]=A;r=(f[(t?n:a)>>2]|0)+216|0;f[r>>2]=(f[r>>2]|0)+(f[(f[(t?a:n)>>2]|0)+216>>2]|0)}return A|0}function qI(A){A=A|0;A=f[A+16>>2]|0;f[A+216>>2]=1;f[A+220>>2]=0;r[A+159>>0]=0;return}function $I(A,e){A=A|0;e=e|0;if((KI(A)|0)==(A|0)){A=f[A+16>>2]|0;f[A+220>>2]=e;e=(f[e+16>>2]|0)+216|0;f[e>>2]=(f[e>>2]|0)+(f[A+216>>2]|0);return}else BA(92702,92694,194,92718)}function AC(A,e){A=A|0;e=e|0;var i=0.0;e=f[(f[e+16>>2]|0)+132>>2]|0;i=+o[e+8>>3]*72.0;o[A>>3]=+o[e>>3]*72.0;o[A+8>>3]=i;return}function eC(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=+r;n=n|0;a=a|0;var t=0,l=0,c=0,s=0.0,u=0,b=0,B=0;b=v;v=v+576|0;u=b;t=0;while(1){if((t|0)>(i|0))break;c=u+(t<<4)|0;l=e+(t<<4)|0;f[c>>2]=f[l>>2];f[c+4>>2]=f[l+4>>2];f[c+8>>2]=f[l+8>>2];f[c+12>>2]=f[l+12>>2];t=t+1|0}s=1.0-r;t=1;while(1){if((t|0)>(i|0))break;l=i-t|0;c=t+-1|0;e=0;while(1){if((e|0)>(l|0))break;B=e+1|0;o[u+(t*96|0)+(e<<4)>>3]=+o[u+(c*96|0)+(B<<4)>>3]*r+ +o[u+(c*96|0)+(e<<4)>>3]*s;o[u+(t*96|0)+(e<<4)+8>>3]=+o[u+(c*96|0)+(B<<4)+8>>3]*r+ +o[u+(c*96|0)+(e<<4)+8>>3]*s;e=B}t=t+1|0}A:do{if(n|0){t=0;while(1){if((t|0)>(i|0))break A;B=n+(t<<4)|0;c=u+(t*96|0)|0;f[B>>2]=f[c>>2];f[B+4>>2]=f[c+4>>2];f[B+8>>2]=f[c+8>>2];f[B+12>>2]=f[c+12>>2];t=t+1|0}}}while(0);A:do{if(a|0){t=0;while(1){if((t|0)>(i|0))break A;B=a+(t<<4)|0;n=u+((i-t|0)*96|0)+(t<<4)|0;f[B>>2]=f[n>>2];f[B+4>>2]=f[n+4>>2];f[B+8>>2]=f[n+8>>2];f[B+12>>2]=f[n+12>>2];t=t+1|0}}}while(0);B=u+(i*96|0)|0;f[A>>2]=f[B>>2];f[A+4>>2]=f[B+4>>2];f[A+8>>2]=f[B+8>>2];f[A+12>>2]=f[B+12>>2];v=b;return}function iC(A){A=A|0;var e=0,i=0,n=0,a=0;i=0;do{e=f[42360]|0;n=e+1024|0;if((e-i|0)<1024){f[42360]=n;n=Hb(f[42361]|0,n)|0;f[42361]=n;e=f[42360]|0}else n=f[42361]|0;e=SJ(n+i|0,e-i|0,A)|0;if(!e){a=6;break}i=(nz(e)|0)+i|0;e=f[42361]|0}while((r[e+(i+-1)>>0]|0)!=10);if((a|0)==6)e=f[42361]|0;return((i|0)>0?e:0)|0}function rC(A){A=A|0;var e=0,i=0,n=0;n=v;v=v+16|0;do{if((A|0)!=0?(r[A>>0]|0)!=0:0)if(!0){e=f[42178]|0;i=f[42363]|0;if((f[42362]|0)==(e|0))e=i;else{if(i){HW(f[i>>2]|0);HW(f[42363]|0);f[42363]=0;e=f[42178]|0}f[42362]=e;if(!e)break;if(!(r[e>>0]|0))break;e=nC(e)|0;f[42363]=e}if(!((r[A>>0]|0)!=47&(e|0)!=0))break;A=fC(e,f[42364]|0,A)|0;break}else S();else A=0}while(0);v=n;return A|0}function nC(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;r=0;n=0;a=0;e=dP(A)|0;i=0;while(1){e=kP(e,93017)|0;if(!e)break;A=(a<<2)+8|0;if(!n)A=Pb(A)|0;else A=Hb(i,A)|0;f[A+(a<<2)>>2]=e;n=nz(e)|0;r=r>>>0>n>>>0?r:n;n=A;a=a+1|0;e=0;i=A}f[n+(a<<2)>>2]=0;f[42364]=r;return n|0}function fC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;a=v;v=v+16|0;r=a;t=f[42365]|0;f[42365]=FW(t,e+2+(nz(i)|0)|0)|0;while(1){e=f[A>>2]|0;if(!e){A=0;break}t=f[42365]|0;f[r>>2]=e;f[r+4>>2]=93015;f[r+8>>2]=i;iP(t,93008,r)|0;if(!(LP(f[42365]|0,4)|0)){n=4;break}else A=A+4|0}if((n|0)==4)A=f[42365]|0;v=a;return A|0}function aC(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;a=(A|0)==0;n=0;while(1){t=f[e+(n<<2)>>2]|0;if(!t)break;if((!a?(r[A>>0]|0)==(r[t>>0]|0):0)?(oz(A,t)|0)==0:0)break;n=n+1|0}return f[i+(n<<2)>>2]|0}function tC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0;C=v;v=v+80|0;G=C+16|0;I=C;g=f[e+4>>2]|0;m=f[e>>2]|0;Z=i+8|0;n=0;r=-1;a=1.e+38;e=-1;while(1){if((n|0)>=(g|0))break;h=f[m+(n*48|0)>>2]|0;d=f[m+(n*48|0)+4>>2]|0;w=0;while(1){if((w|0)>=(d|0))break;k=+o[h+(w<<4)>>3]-+o[i>>3];B=+o[h+(w<<4)+8>>3]-+o[Z>>3];k=B*B+k*k;M=(r|0)==-1|k>2]|0;r=r+(((r|0)==((f[m+(e*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;r=r-((r|0)%3|0)|0;e=0;while(1){if((e|0)==4)break;E=e+r|0;o[G+(e<<4)>>3]=+o[n+(E<<4)>>3];o[G+(e<<4)+8>>3]=+o[n+(E<<4)+8>>3];e=e+1|0}k=+o[i>>3];c=+o[G>>3]-k;b=+o[Z>>3];B=+o[G+8>>3]-b;l=+o[G+48>>3]-k;u=+o[G+56>>3]-b;e=I+8|0;a=1.0;t=0.0;l=u*u+l*l;c=B*B+c*c;while(1){B=(a+t)*.5;eC(I,G,3,B,0,0);s=+o[I>>3];u=+o[e>>3];if(+Y(+(c-l))<1.0)break;if(+Y(+(a-t))<1.0e-05)break;E=c>3]=s;o[A+8>>3]=u;v=C;return}function lC(A){A=A|0;var e=0.0,i=0,n=0,a=0,t=0,l=0,c=0,s=0;e=+xI(A,f[42191]|0,.75,.01);a=A+16|0;o[(f[a>>2]|0)+32>>3]=e;e=+xI(A,f[42190]|0,.5,.02);o[(f[a>>2]|0)+40>>3]=e;s=iG(UI(A,f[42192]|0,93019)|0,A)|0;f[(f[a>>2]|0)+8>>2]=s;s=tY(A,f[42199]|0)|0;e=+xI(A,f[42195]|0,14.0,1.0);i=UI(A,f[42196]|0,93027)|0;n=UI(A,f[42197]|0,122106)|0;t=(MV(s)|0)!=0;c=(FZ(A)|0)==2;t=Mb(A,s,(c?4:0)|(t?2:0),e,i,n)|0;f[(f[a>>2]|0)+104>>2]=t;t=f[42200]|0;if((t|0?(l=tY(A,t)|0,l|0):0)?r[l>>0]|0:0){s=(MV(l)|0)!=0;s=Mb(A,l,s?2:0,e,i,n)|0;f[(f[a>>2]|0)+108>>2]=s;s=(f[(Fp(A)|0)+16>>2]|0)+113|0;r[s>>0]=r[s>>0]|16}c=(XI(A,f[42203]|0,0,0)|0)&255;s=f[a>>2]|0;r[s+144>>0]=c;ML[f[f[(f[s+8>>2]|0)+4>>2]>>2]&127](A);return}function cC(A){A=A|0;var e=0,i=0,n=0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;m=v;v=v+112|0;s=m+96|0;u=m+80|0;h=m+40|0;g=m;w=A+48|0;B=Fp(f[((f[A>>2]&3|0)==3?A:w)+40>>2]|0)|0;a=s+8|0;f[a>>2]=0;b=u+8|0;f[b>>2]=0;e=f[42227]|0;if(((e|0)!=0?(i=tY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0){oC(A,s);d=(MV(i)|0)!=0;t=+o[s>>3];n=f[a>>2]|0;e=f[s+12>>2]|0;i=Mb(A,i,d?2:0,t,n,e)|0;d=A+16|0;f[(f[d>>2]|0)+96>>2]=i;i=(f[B+16>>2]|0)+113|0;r[i>>0]=r[i>>0]|1;i=jI(TI(A,f[42237]|0,122100)|0)|0;r[(f[d>>2]|0)+114>>0]=i;d=1;i=n}else{d=0;e=0;t=0.0;i=0}n=f[42228]|0;if((n|0?(l=tY(A,n)|0,l|0):0)?r[l>>0]|0:0){if(!i){oC(A,s);t=+o[s>>3];i=f[a>>2]|0;e=f[s+12>>2]|0}a=(MV(l)|0)!=0;l=Mb(A,l,a?2:0,t,i,e)|0;f[(f[A+16>>2]|0)+108>>2]=l;l=(f[B+16>>2]|0)+113|0;r[l>>0]=r[l>>0]|32}e=f[42242]|0;if(((e|0)!=0?(c=tY(A,e)|0,(c|0)!=0):0)?(r[c>>0]|0)!=0:0){sC(A,s,u);l=(MV(c)|0)!=0;t=+o[u>>3];e=f[b>>2]|0;i=f[u+12>>2]|0;c=Mb(A,c,l?2:0,t,e,i)|0;f[(f[A+16>>2]|0)+100>>2]=c;c=(f[B+16>>2]|0)+113|0;r[c>>0]=r[c>>0]|2}else{i=0;t=0.0;e=0}n=f[42243]|0;if((n|0?(k=tY(A,n)|0,k|0):0)?r[k>>0]|0:0){if(!e){sC(A,s,u);i=f[u+12>>2]|0;t=+o[u>>3];e=f[b>>2]|0}b=(MV(k)|0)!=0;k=Mb(A,k,b?2:0,t,e,i)|0;f[(f[A+16>>2]|0)+104>>2]=k;k=(f[B+16>>2]|0)+113|0;r[k>>0]=r[k>>0]|4}e=aY(A,96242)|0;e=e|0?e:174185;if(r[e>>0]|0)r[(f[(f[((f[A>>2]&3|0)==3?A:w)+40>>2]|0)+16>>2]|0)+145>>0]=1;a=A+16|0;n=(f[a>>2]|0)+16|0;i=f[((f[A>>2]&3|0)==3?A:w)+40>>2]|0;uC(h,f[(f[(f[(f[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=h;i=n+40|0;do{f[n>>2]=f[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(i|0));if((bC(A,f[42249]|0)|0)<<24>>24)r[(f[a>>2]|0)+46>>0]=0;e=aY(A,96251)|0;e=e|0?e:174185;if(!(r[e>>0]|0))i=A+-48|0;else{i=A+-48|0;r[(f[(f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+145>>0]=1}n=(f[a>>2]|0)+56|0;i=f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0;uC(g,f[(f[(f[(f[i+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,i,e);e=g;i=n+40|0;do{f[n>>2]=f[e>>2];n=n+4|0;e=e+4|0}while((n|0)<(i|0));if((bC(A,f[42250]|0)|0)<<24>>24)r[(f[a>>2]|0)+86>>0]=0;v=m;return d|0}function oC(A,e){A=A|0;e=e|0;o[e>>3]=+xI(A,f[42224]|0,14.0,1.0);f[e+8>>2]=UI(A,f[42225]|0,93027)|0;f[e+12>>2]=UI(A,f[42226]|0,122106)|0;return}function sC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=e+8|0;if(!(f[r>>2]|0))oC(A,e);o[i>>3]=+xI(A,f[42244]|0,+o[e>>3],1.0);f[i+8>>2]=UI(A,f[42245]|0,f[r>>2]|0)|0;f[i+12>>2]=UI(A,f[42246]|0,f[e+12>>2]|0)|0;return}function uC(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+128|0;o=s+80|0;t=s+40|0;a=s;if((n|0)!=0?(c=zz(n,58)|0,(c|0)!=0):0){r[c>>0]=0;l=c+1|0;YL[e&31](t,i,n,l);i=o;a=t;e=i+36|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));r[c>>0]=58;n=l}else{YL[e&31](a,i,n,0);i=o;e=i+36|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0))}i=A;a=o;e=i+36|0;do{f[i>>2]=f[a>>2];i=i+4|0;a=a+4|0}while((i|0)<(e|0));f[A+36>>2]=n;v=s;return}function bC(A,e){A=A|0;e=e|0;var i=0;if(((e|0)!=0?(i=tY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)A=(jI(i)|0)<<24>>24==0&1;else A=0;return A|0}function vC(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0.0;c=v;v=v+32|0;t=c;l=f[e+8>>2]|0;i=f[e+4>>2]|0;i=(f[e+44>>2]|0)+((X((i|0)>1?i+-1|0:0,l)|0)<<4)|0;r=t+16|0;f[r>>2]=f[i>>2];f[r+4>>2]=f[i+4>>2];f[r+8>>2]=f[i+8>>2];f[r+12>>2]=f[i+12>>2];f[t>>2]=f[i>>2];f[t+4>>2]=f[i+4>>2];f[t+8>>2]=f[i+8>>2];f[t+12>>2]=f[i+12>>2];n=t+8|0;a=t+24|0;e=1;while(1){if((e|0)>=(l|0))break;s=i+(e<<4)|0;b=+o[s>>3];o[t>>3]=+o[(+o[t>>3]>3];u=+o[s+8>>3];o[n>>3]=+o[(+o[n>>3]>3];o[r>>3]=+o[(+o[r>>3]>b?r:s)>>3];o[a>>3]=+o[(+o[a>>3]>u?r:s)+8>>3];e=e+1|0}f[A>>2]=f[t>>2];f[A+4>>2]=f[t+4>>2];f[A+8>>2]=f[t+8>>2];f[A+12>>2]=f[t+12>>2];f[A+16>>2]=f[t+16>>2];f[A+20>>2]=f[t+20>>2];f[A+24>>2]=f[t+24>>2];f[A+28>>2]=f[t+28>>2];v=c;return}function BC(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;i=v;v=v+64|0;a=i+32|0;r=i;n=f[A+16>>2]|0;A=n+16|0;n=f[n+116>>2]&1;f[a>>2]=f[A>>2];f[a+4>>2]=f[A+4>>2];f[a+8>>2]=f[A+8>>2];f[a+12>>2]=f[A+12>>2];f[a+16>>2]=f[A+16>>2];f[a+20>>2]=f[A+20>>2];f[a+24>>2]=f[A+24>>2];f[a+28>>2]=f[A+28>>2];kC(r,a,e,n);f[A>>2]=f[r>>2];f[A+4>>2]=f[r+4>>2];f[A+8>>2]=f[r+8>>2];f[A+12>>2]=f[r+12>>2];f[A+16>>2]=f[r+16>>2];f[A+20>>2]=f[r+20>>2];f[A+24>>2]=f[r+24>>2];f[A+28>>2]=f[r+28>>2];v=i;return}function kC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0.0,l=0,c=0.0,s=0.0,u=0.0;a=+o[i+56>>3];s=+o[i+64>>3];l=r<<24>>24==0;c=+o[i+24>>3];t=+o[i+32>>3];u=(l?c:t)*.5;n=a-u;a=u+a;if(n<+o[e>>3])o[e>>3]=n;r=e+16|0;if(a>+o[r>>3])o[r>>3]=a;a=(l?t:c)*.5;n=s-a;a=a+s;r=e+8|0;if(n<+o[r>>3])o[r>>3]=n;r=e+24|0;if(a>+o[r>>3])o[r>>3]=a;f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];f[A+16>>2]=f[e+16>>2];f[A+20>>2]=f[e+20>>2];f[A+24>>2]=f[e+24>>2];f[A+28>>2]=f[e+28>>2];return}function wC(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0.0,H=0.0,L=0.0,F=0.0;P=v;v=v+448|0;N=P+416|0;d=P+384|0;g=P+304|0;J=P+256|0;V=P+192|0;E=P+144|0;Q=P+96|0;e=P+400|0;i=P+368|0;n=P+352|0;a=P+336|0;m=P+288|0;Z=P+224|0;G=P+160|0;I=P+112|0;C=P+64|0;M=P+32|0;W=P;z=A+16|0;if((PY(A)|0)==0?(f[(f[z>>2]|0)+180>>2]|0)==0:0){hC(e,0.0,0.0);f[J>>2]=f[e>>2];f[J+4>>2]=f[e+4>>2];f[J+8>>2]=f[e+8>>2];f[J+12>>2]=f[e+12>>2];J=J+16|0;hC(i,0.0,0.0);f[J>>2]=f[i>>2];f[J+4>>2]=f[i+4>>2];f[J+8>>2]=f[i+8>>2];f[J+12>>2]=f[i+12>>2]}else{hC(n,2147483647.0,2147483647.0);f[J>>2]=f[n>>2];f[J+4>>2]=f[n+4>>2];f[J+8>>2]=f[n+8>>2];f[J+12>>2]=f[n+12>>2];p=J+16|0;hC(a,-2147483647.0,-2147483647.0);f[p>>2]=f[a>>2];f[p+4>>2]=f[a+4>>2];f[p+8>>2]=f[a+8>>2];f[p+12>>2]=f[a+12>>2];b=Q+8|0;B=g+16|0;y=J+8|0;k=g+8|0;Y=J+24|0;w=g+24|0;h=E+8|0;u=Ep(A)|0;while(1){if(!u)break;AC(E,u);e=u+16|0;s=f[e>>2]|0;o[Q>>3]=(+o[s+96>>3]+ +o[s+88>>3])*.5;o[b>>3]=+o[s+80>>3]*.5;f[d>>2]=f[E>>2];f[d+4>>2]=f[E+4>>2];f[d+8>>2]=f[E+8>>2];f[d+12>>2]=f[E+12>>2];f[N>>2]=f[Q>>2];f[N+4>>2]=f[Q+4>>2];f[N+8>>2]=f[Q+8>>2];f[N+12>>2]=f[Q+12>>2];dC(g,d,N);f[d>>2]=f[E>>2];f[d+4>>2]=f[E+4>>2];f[d+8>>2]=f[E+8>>2];f[d+12>>2]=f[E+12>>2];f[N>>2]=f[Q>>2];f[N+4>>2]=f[Q+4>>2];f[N+8>>2]=f[Q+8>>2];f[N+12>>2]=f[Q+12>>2];gC(m,d,N);f[B>>2]=f[m>>2];f[B+4>>2]=f[m+4>>2];f[B+8>>2]=f[m+8>>2];f[B+12>>2]=f[m+12>>2];o[J>>3]=+o[(+o[J>>3]<+o[g>>3]?J:g)>>3];o[y>>3]=+o[(+o[y>>3]<+o[k>>3]?J:g)+8>>3];o[p>>3]=+o[(+o[p>>3]>+o[B>>3]?J:g)+16>>3];o[Y>>3]=+o[(+o[Y>>3]>+o[w>>3]?J:g)+24>>3];e=f[(f[e>>2]|0)+108>>2]|0;if(e|0?r[e+81>>0]|0:0){s=f[(f[z>>2]|0)+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(Z,N,e,s);f[J>>2]=f[Z>>2];f[J+4>>2]=f[Z+4>>2];f[J+8>>2]=f[Z+8>>2];f[J+12>>2]=f[Z+12>>2];f[J+16>>2]=f[Z+16>>2];f[J+20>>2]=f[Z+20>>2];f[J+24>>2]=f[Z+24>>2];f[J+28>>2]=f[Z+28>>2]}s=bY(A,u)|0;while(1){if(!s)break;c=s+16|0;e=f[c>>2]|0;l=e+8|0;i=f[l>>2]|0;if(i|0){t=0;while(1){if((t|0)<(f[i+4>>2]|0))a=0;else break;while(1){n=f[i>>2]|0;if((a|0)>=(f[n+(t*48|0)+4>>2]|0))break;i=(f[n+(t*48|0)>>2]|0)+(a<<4)|0;f[E>>2]=f[i>>2];f[E+4>>2]=f[i+4>>2];f[E+8>>2]=f[i+8>>2];f[E+12>>2]=f[i+12>>2];H=+o[E>>3];o[J>>3]=+o[(+o[J>>3]>3];R=+o[h>>3];o[y>>3]=+o[(+o[y>>3]>3];o[p>>3]=+o[(+o[p>>3]>H?p:E)>>3];o[Y>>3]=+o[(+o[Y>>3]>R?p:E)+8>>3];a=a+1|0;i=f[l>>2]|0}t=t+1|0}i=f[e+96>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=f[(f[z>>2]|0)+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(G,N,i,e);f[J>>2]=f[G>>2];f[J+4>>2]=f[G+4>>2];f[J+8>>2]=f[G+8>>2];f[J+12>>2]=f[G+12>>2];f[J+16>>2]=f[G+16>>2];f[J+20>>2]=f[G+20>>2];f[J+24>>2]=f[G+24>>2];f[J+28>>2]=f[G+28>>2];e=f[c>>2]|0}i=f[e+100>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=f[(f[z>>2]|0)+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(I,N,i,e);f[J>>2]=f[I>>2];f[J+4>>2]=f[I+4>>2];f[J+8>>2]=f[I+8>>2];f[J+12>>2]=f[I+12>>2];f[J+16>>2]=f[I+16>>2];f[J+20>>2]=f[I+20>>2];f[J+24>>2]=f[I+24>>2];f[J+28>>2]=f[I+28>>2];e=f[c>>2]|0}i=f[e+104>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=f[(f[z>>2]|0)+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(C,N,i,e);f[J>>2]=f[C>>2];f[J+4>>2]=f[C+4>>2];f[J+8>>2]=f[C+8>>2];f[J+12>>2]=f[C+12>>2];f[J+16>>2]=f[C+16>>2];f[J+20>>2]=f[C+20>>2];f[J+24>>2]=f[C+24>>2];f[J+28>>2]=f[C+28>>2];e=f[c>>2]|0}e=f[e+108>>2]|0;if(e|0?r[e+81>>0]|0:0){c=f[(f[z>>2]|0)+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(M,N,e,c);f[J>>2]=f[M>>2];f[J+4>>2]=f[M+4>>2];f[J+8>>2]=f[M+8>>2];f[J+12>>2]=f[M+12>>2];f[J+16>>2]=f[M+16>>2];f[J+20>>2]=f[M+20>>2];f[J+24>>2]=f[M+24>>2];f[J+28>>2]=f[M+28>>2]}}s=BY(A,s)|0}u=Qp(A,u)|0}e=f[z>>2]|0;n=f[e+180>>2]|0;a=e+184|0;t=V+8|0;l=V+16|0;c=V+24|0;i=1;while(1){if((i|0)>(n|0))break;F=+o[(f[(f[(f[a>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+16>>3];o[V>>3]=F;Q=f[(f[(f[a>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;L=+o[Q+24>>3];o[t>>3]=L;R=+o[Q+32>>3];o[l>>3]=R;H=+o[Q+40>>3];o[c>>3]=H;o[J>>3]=+o[(+o[J>>3]>3];o[y>>3]=+o[(+o[y>>3]>3];o[p>>3]=+o[(+o[p>>3]>R?J:V)+16>>3];o[Y>>3]=+o[(+o[Y>>3]>H?J:V)+24>>3];i=i+1|0}i=f[e+12>>2]|0;if((i|0)!=0?(r[i+81>>0]|0)!=0:0){e=f[e+116>>2]&1;f[N>>2]=f[J>>2];f[N+4>>2]=f[J+4>>2];f[N+8>>2]=f[J+8>>2];f[N+12>>2]=f[J+12>>2];f[N+16>>2]=f[J+16>>2];f[N+20>>2]=f[J+20>>2];f[N+24>>2]=f[J+24>>2];f[N+28>>2]=f[J+28>>2];kC(W,N,i,e);f[J>>2]=f[W>>2];f[J+4>>2]=f[W+4>>2];f[J+8>>2]=f[W+8>>2];f[J+12>>2]=f[W+12>>2];f[J+16>>2]=f[W+16>>2];f[J+20>>2]=f[W+20>>2];f[J+24>>2]=f[W+24>>2];f[J+28>>2]=f[W+28>>2];e=f[z>>2]|0}z=e+16|0;f[z>>2]=f[J>>2];f[z+4>>2]=f[J+4>>2];f[z+8>>2]=f[J+8>>2];f[z+12>>2]=f[J+12>>2];f[z+16>>2]=f[J+16>>2];f[z+20>>2]=f[J+20>>2];f[z+24>>2]=f[J+24>>2];f[z+28>>2]=f[J+28>>2]}v=P;return}function hC(A,e,i){A=A|0;e=+e;i=+i;o[A>>3]=e;o[A+8>>3]=i;return}function dC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[e+8>>3]-+o[i+8>>3];o[A>>3]=+o[e>>3]-+o[i>>3];o[A+8>>3]=r;return}function gC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[i+8>>3]+ +o[e+8>>3];o[A>>3]=+o[i>>3]+ +o[e>>3];o[A+8>>3]=r;return}function mC(A){A=A|0;if((f[A+60>>2]|0)==(A|0))A=1;else A=(iJ(Ap(A)|0,93039,7)|0)==0&1;return A|0}function ZC(A){A=A|0;var e=0;e=vy(22612,f[4345]|0)|0;CC(A,e);return e|0}function GC(A,e){A=A|0;e=e|0;A=mL[f[A>>2]&31](A,e,512)|0;if(!A)A=0;else A=f[A+12>>2]|0;return A|0}function IC(A,e,i){A=A|0;e=e|0;i=i|0;i=MY(Fp(e)|0,e,i,0,1)|0;cV(i,122254,176,1)|0;oY(A,i)|0;return i|0}function CC(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;t=v;v=v+16|0;a=t;n=A+16|0;r=1;while(1){A=f[n>>2]|0;if((r|0)>(f[A+180>>2]|0))break;A=f[(f[A+184>>2]|0)+(r<<2)>>2]|0;i=Ap(A)|0;if(!(mL[f[e>>2]&31](e,i,512)|0)){l=Jb(16)|0;f[l+8>>2]=i;f[l+12>>2]=A;mL[f[e>>2]&31](e,l,1)|0}else{f[a>>2]=i;Iy(0,93062,a)|0}CC(A,e);r=r+1|0}v=t;return}function MC(A,e,i){A=A|0;e=e|0;i=i|0;HW(e);return}function EC(A){A=A|0;var e=0,i=0,r=0;r=nN(A,93047,1)|0;cV(r,122277,280,1)|0;e=Ep(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;QC(i,r);i=BY(A,i)|0}e=Qp(A,e)|0}e=Ep(r)|0;while(1){if(!e)break;i=Qp(r,e)|0;yC(e);Lp(A,e)|0;e=i}JY(r)|0;return}function QC(A,e){A=A|0;e=e|0;var i=0,n=0;i=f[A>>2]&3;n=f[((i|0)==3?A:A+48|0)+40>>2]|0;i=f[((i|0)==2?A:A+-48|0)+40>>2]|0;if(!((r[(f[n+16>>2]|0)+118>>0]|0)==0?!(r[(f[i+16>>2]|0)+118>>0]|0):0)){n=YC(n,e)|0;i=IC(A,n,YC(i,e)|0)|0;n=f[A+16>>2]|0;e=n+8|0;i=f[i+16>>2]|0;f[i+8>>2]=f[e>>2];f[e>>2]=0;e=n+96|0;f[i+96>>2]=f[e>>2];f[e>>2]=0;e=n+108|0;f[i+108>>2]=f[e>>2];f[e>>2]=0;e=n+100|0;f[i+100>>2]=f[e>>2];f[e>>2]=0;n=n+104|0;f[i+104>>2]=f[n>>2];f[n>>2]=0;pC(A)}return}function yC(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;e=f[r>>2]|0;i=f[e+132>>2]|0;if(i){HW(i);e=f[r>>2]|0}i=f[e+8>>2]|0;if(i){ML[f[(f[i+4>>2]|0)+4>>2]&127](A);e=f[r>>2]|0}yb(f[e+104>>2]|0);yb(f[(f[r>>2]|0)+108>>2]|0);sV(A,122241)|0;return}function YC(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;n=Fp(A)|0;A:do{if(r[(f[A+16>>2]|0)+118>>0]|0){Vp(e,A,1)|0;A=zz(Ap(A)|0,58)|0;if(!A)BA(96030,92694,1225,93114);e=A+1|0;A=Pp(n,e,0)|0;if(!A){A=Pp(n,e,1)|0;cV(A,122241,304,1)|0;e=eY(n,1,0)|0;while(1){if(!e)break A;a=tY(A,e)|0;i=f[e+12>>2]|0;if((a|0)!=(i|0))AY(A,e,i)|0;e=eY(n,1,e)|0}}}}while(0);return A|0}function pC(A){A=A|0;var e=0;e=A+16|0;HW(f[(f[e>>2]|0)+144>>2]|0);VC(A);yb(f[(f[e>>2]|0)+96>>2]|0);yb(f[(f[e>>2]|0)+108>>2]|0);yb(f[(f[e>>2]|0)+100>>2]|0);yb(f[(f[e>>2]|0)+104>>2]|0);sV(A,122254)|0;return}function VC(A){A=A|0;var e=0,i=0,r=0;r=A+16|0;A=f[r>>2]|0;e=f[A+8>>2]|0;if(e){i=0;while(1){A=f[e>>2]|0;if((i|0)>=(f[e+4>>2]|0))break;HW(f[A+(i*48|0)>>2]|0);i=i+1|0;e=f[(f[r>>2]|0)+8>>2]|0}HW(A);HW(f[(f[r>>2]|0)+8>>2]|0);A=f[r>>2]|0}f[A+8>>2]=0;return}function NC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=Ky(A,e,i,0)|0;if(!n)n=Ky(A,e,i,r)|0;return n|0}function WC(A,e){A=A|0;e=e|0;return oz(f[A>>2]|0,f[e>>2]|0)|0}function zC(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+1072|0;o=k+8|0;c=k;l=k+16|0;b=k+24|0;f[l>>2]=A;if((f[42366]|0)!=(e|0)){f[42366]=e;r[174084]=0}Qy(b,1024,k+40|0);B=b+4|0;u=b+8|0;while(1){n=A+1|0;f[l>>2]=n;i=r[A>>0]|0;if(!(i<<24>>24))break;do{if((i&255)<192)if(i<<24>>24==38){n=PC(l)|0;if(!n)i=38;else{if(n>>>0<127){i=n&255;break}A=f[B>>2]|0;i=A>>>0>=(f[u>>2]|0)>>>0;if(n>>>0<2047){if(i){yy(b,1)|0;A=f[B>>2]|0}f[B>>2]=A+1;r[A>>0]=n>>>6|192;i=(n&63|128)&255;break}if(i){yy(b,1)|0;A=f[B>>2]|0}f[B>>2]=A+1;r[A>>0]=n>>>12|224;A=f[B>>2]|0;if(A>>>0>=(f[u>>2]|0)>>>0){yy(b,1)|0;A=f[B>>2]|0}f[B>>2]=A+1;r[A>>0]=n>>>6&63|128;i=(n&63|128)&255}}else{t=0;s=9}else if((i&255)>=224)if((i&255)>=240)if((i&255)<248){t=3;s=9}else{if(!(r[174084]|0)){f[c>>2]=Ap(e)|0;Iy(0,94529,c)|0;r[174084]=1}t=-1;i=JC(i,b)|0;s=9}else{t=2;s=9}else{t=1;s=9}}while(0);do{if((s|0)==9){s=0;a=0;while(1){if((a|0)>=(t|0)){s=34;break}if((r[n>>0]&-64)<<24>>24!=-128)break;A=f[B>>2]|0;if(A>>>0>=(f[u>>2]|0)>>>0){yy(b,1)|0;A=f[B>>2]|0}f[B>>2]=A+1;r[A>>0]=i;a=a+1|0;i=r[n>>0]|0;n=n+1|0}if((s|0)==34){s=0;f[l>>2]=n;break}f[l>>2]=n;if(!(r[174084]|0)){a=Ap(e)|0;f[o>>2]=t+1;f[o+4>>2]=a;Iy(0,94650,o)|0;r[174084]=1}i=JC(i,b)|0}}while(0);A=f[B>>2]|0;if(A>>>0>=(f[u>>2]|0)>>>0){yy(b,1)|0;A=f[B>>2]|0}f[B>>2]=A+1;r[A>>0]=i;A=f[l>>2]|0}A=f[B>>2]|0;if(A>>>0>=(f[u>>2]|0)>>>0){yy(b,1)|0;A=f[B>>2]|0}r[A>>0]=0;u=f[b>>2]|0;f[B>>2]=u;B=dP(u)|0;Vy(b);v=k;return B|0}function JC(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;c=v;v=v+16|0;a=c;r[a>>0]=A;r[a+1>>0]=0;a=RC(a)|0;t=e+4|0;l=e+8|0;i=nz(a)|0;n=a;while(1){if((i|0)<=1)break;A=f[t>>2]|0;if(A>>>0>=(f[l>>2]|0)>>>0){yy(e,1)|0;A=f[t>>2]|0}o=r[n>>0]|0;f[t>>2]=A+1;r[A>>0]=o;i=i+-1|0;n=n+1|0}o=r[n>>0]|0;HW(a);v=c;return o|0}function PC(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+32|0;t=l;e=l+8|0;i=f[A>>2]|0;A:do{if((r[i>>0]|0)!=35){f[t>>2]=e;a=0;e:while(1){if((a|0)>=8){e=0;break A}n=r[i+a>>0]|0;switch(n<<24>>24){case 0:{e=0;break A}case 59:break e;default:{}}r[e>>0]=n;e=e+1|0;a=a+1|0}r[e>>0]=0;e=lR(t,22648,252,8,30)|0;if(!e)e=0;else{i=i+(a+1)|0;e=f[e+4>>2]|0}}else{t=r[i+1>>0]|0;e=t&255;e:do{if((t|32)<<24>>24==120){t=0;a=2;while(1){if((a|0)>=8){n=t;break e}n=r[i+a>>0]|0;e=n&255;if((n+-65&255)>=6)if((n+-97&255)>=6)if((n+-48&255)<10)n=-48;else{n=t;break e}else n=-87;else n=-55;e=n+e|0;t=e+(t<<4)|0;a=a+1|0}}else{n=0;a=1;while(1){if((a|0)>=8)break e;t=r[i+a>>0]|0;e=t&255;if((t+-48&255)>=10)break e;n=(n*10|0)+-48+e|0;a=a+1|0}}}while(0);e=(e|0)==59;i=e?i+(a+1)|0:i;e=e?n:0}}while(0);f[A>>2]=i;v=l;return e|0}function RC(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+1056|0;a=o;l=o+8|0;f[a>>2]=A;Qy(l,1024,o+24|0);c=l+4|0;t=l+8|0;while(1){f[a>>2]=A+1;e=r[A>>0]|0;if(!(e<<24>>24))break;A=e&255;if(e<<24>>24==38){A=PC(a)|0;if(!A){A=38;n=6}else n=5}else n=5;do{if((n|0)==5){n=0;if(A>>>0<127)n=6;else{e=f[c>>2]|0;i=e>>>0>=(f[t>>2]|0)>>>0;if(A>>>0<2047){if(i){yy(l,1)|0;e=f[c>>2]|0}f[c>>2]=e+1;r[e>>0]=A>>>6|192;e=f[c>>2]|0;if(e>>>0>=(f[t>>2]|0)>>>0){yy(l,1)|0;e=f[c>>2]|0}A=A&63|128;break}if(i){yy(l,1)|0;e=f[c>>2]|0}f[c>>2]=e+1;r[e>>0]=A>>>12|224;e=f[c>>2]|0;if(e>>>0>=(f[t>>2]|0)>>>0){yy(l,1)|0;e=f[c>>2]|0}f[c>>2]=e+1;r[e>>0]=A>>>6&63|128;e=f[c>>2]|0;if(e>>>0>=(f[t>>2]|0)>>>0){yy(l,1)|0;e=f[c>>2]|0}A=A&63|128}}}while(0);if((n|0)==6){e=f[c>>2]|0;if(e>>>0>=(f[t>>2]|0)>>>0){yy(l,1)|0;e=f[c>>2]|0}}f[c>>2]=e+1;r[e>>0]=A;A=f[a>>2]|0}A=f[c>>2]|0;if(A>>>0>=(f[t>>2]|0)>>>0){yy(l,1)|0;A=f[c>>2]|0}r[A>>0]=0;t=f[l>>2]|0;f[c>>2]=t;c=dP(t)|0;Vy(l);v=o;return c|0}function HC(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;l=v;v=v+1040|0;a=l;Qy(a,1024,l+16|0);t=a+4|0;n=a+8|0;while(1){e=A+1|0;i=r[A>>0]|0;if(!(i<<24>>24))break;if((i&255)<127){A=f[t>>2]|0;if(A>>>0>=(f[n>>2]|0)>>>0){yy(a,1)|0;A=f[t>>2]|0}f[t>>2]=A+1;r[A>>0]=i;A=e;continue}else{i=r[e>>0]&63|i<<6&255;e=f[t>>2]|0;if(e>>>0>=(f[n>>2]|0)>>>0){yy(a,1)|0;e=f[t>>2]|0}f[t>>2]=e+1;r[e>>0]=i;A=A+2|0;continue}}A=f[t>>2]|0;if(A>>>0>=(f[n>>2]|0)>>>0){yy(a,1)|0;A=f[t>>2]|0}r[A>>0]=0;n=f[a>>2]|0;f[t>>2]=n;t=dP(n)|0;Vy(a);v=l;return t|0}function LC(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+80|0;r=u+48|0;i=u+32|0;n=u+64|0;a=u+16|0;t=u;l=e+16|0;c=A+16|0;s=f[c>>2]|0;if(((+o[l>>3]>=+o[s+48>>3]?+o[s+64>>3]>=+o[e>>3]:0)?+o[e+24>>3]>=+o[s+56>>3]:0)?+o[s+72>>3]>=+o[e+8>>3]:0){s=s+16|0;f[i>>2]=f[l>>2];f[i+4>>2]=f[l+4>>2];f[i+8>>2]=f[l+8>>2];f[i+12>>2]=f[l+12>>2];f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];FC(a,i,r);f[i>>2]=f[s>>2];f[i+4>>2]=f[s+4>>2];f[i+8>>2]=f[s+8>>2];f[i+12>>2]=f[s+12>>2];f[r>>2]=f[a>>2];f[r+4>>2]=f[a+4>>2];f[r+8>>2]=f[a+8>>2];f[r+12>>2]=f[a+12>>2];dC(t,i,r);f[n>>2]=A;f[n+4>>2]=0;i=f[(f[(f[(f[c>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;f[r>>2]=f[t>>2];f[r+4>>2]=f[t+4>>2];f[r+8>>2]=f[t+8>>2];f[r+12>>2]=f[t+12>>2];i=gL[i&63](n,r)|0}else i=0;v=u;return i|0}function FC(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+o[i+8>>3]+ +o[e+8>>3])*.5;o[A>>3]=(+o[i>>3]+ +o[e>>3])*.5;o[A+8>>3]=r;return}function DC(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0.0,a=0,t=0.0,l=0,c=0,s=0,u=0;r=v;v=v+80|0;l=r+64|0;c=r+48|0;s=r;u=r+32|0;a=r+16|0;o[s>>3]=+o[A+24>>3]*.5;o[s+8>>3]=+o[A+32>>3]*.5;A=A+56|0;f[c>>2]=f[A>>2];f[c+4>>2]=f[A+4>>2];f[c+8>>2]=f[A+8>>2];f[c+12>>2]=f[A+12>>2];f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];dC(u,c,l);t=+o[u>>3];n=+o[u+8>>3];f[c>>2]=f[A>>2];f[c+4>>2]=f[A+4>>2];f[c+8>>2]=f[A+8>>2];f[c+12>>2]=f[A+12>>2];f[l>>2]=f[s>>2];f[l+4>>2]=f[s+4>>2];f[l+8>>2]=f[s+8>>2];f[l+12>>2]=f[s+12>>2];gC(a,c,l);i=+o[a+8>>3];if((+o[e+16>>3]>=t?+o[a>>3]>=+o[e>>3]:0)?+o[e+24>>3]>=n:0)A=i>=+o[e+8>>3]&1;else A=0;v=r;return A|0}function XC(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+80|0;o=u+48|0;c=u;t=A+16|0;A=f[t>>2]|0;l=f[A+8>>2]|0;A:do{if((l|0)!=0?(a=l+8|0,f[c>>2]=f[a>>2],f[c+4>>2]=f[a+4>>2],f[c+8>>2]=f[a+8>>2],f[c+12>>2]=f[a+12>>2],f[c+16>>2]=f[a+16>>2],f[c+20>>2]=f[a+20>>2],f[c+24>>2]=f[a+24>>2],f[c+28>>2]=f[a+28>>2],f[o>>2]=f[e>>2],f[o+4>>2]=f[e+4>>2],f[o+8>>2]=f[e+8>>2],f[o+12>>2]=f[e+12>>2],f[o+16>>2]=f[e+16>>2],f[o+20>>2]=f[e+20>>2],f[o+24>>2]=f[e+24>>2],f[o+28>>2]=f[e+28>>2],(Nv(c,o)|0)!=0):0){i=l+4|0;A=0;while(1){if((A|0)>=(f[i>>2]|0))break;r=c;n=(f[l>>2]|0)+(A*48|0)|0;a=r+48|0;do{f[r>>2]=f[n>>2];r=r+4|0;n=n+4|0}while((r|0)<(a|0));f[o>>2]=f[e>>2];f[o+4>>2]=f[e+4>>2];f[o+8>>2]=f[e+8>>2];f[o+12>>2]=f[e+12>>2];f[o+16>>2]=f[e+16>>2];f[o+20>>2]=f[e+20>>2];f[o+24>>2]=f[e+24>>2];f[o+28>>2]=f[e+28>>2];if(!((Wv(c,o)|0)<<24>>24))A=A+1|0;else{A=1;break A}}A=f[t>>2]|0;s=7}else s=7}while(0);do{if((s|0)==7){A=f[A+96>>2]|0;if(A|0?(f[o>>2]=f[e>>2],f[o+4>>2]=f[e+4>>2],f[o+8>>2]=f[e+8>>2],f[o+12>>2]=f[e+12>>2],f[o+16>>2]=f[e+16>>2],f[o+20>>2]=f[e+20>>2],f[o+24>>2]=f[e+24>>2],f[o+28>>2]=f[e+28>>2],(DC(A,o)|0)<<24>>24):0){A=1;break}A=0}}while(0);v=u;return A|0}function xC(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0;t=A+16|0;l=Jb((n[(f[t>>2]|0)+238>>1]<<2)+8|0)|0;a=Ep(A)|0;while(1){if(!a)break;r=l+(f[(f[a+16>>2]|0)+232>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+1;r=bY(A,a)|0;while(1){if(!r)break;c=f[r>>2]&3;e=f[(f[(f[((c|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;c=f[(f[(f[((c|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;o=(e|0)>(c|0);i=o?e:c;e=o?c:e;while(1){e=e+1|0;if((e|0)>=(i|0))break;o=l+(e<<2)|0;f[o>>2]=(f[o>>2]|0)+1}r=BY(A,r)|0}a=Qp(A,a)|0}r=Jb((n[(f[t>>2]|0)+238>>1]<<6)+128|0)|0;i=f[t>>2]|0;f[i+196>>2]=r;e=n[i+236>>1]|0;while(1){if((e|0)>(n[i+238>>1]|0))break;c=l+(e<<2)|0;i=f[c>>2]|0;f[r+(e<<6)>>2]=i;f[r+(e<<6)+8>>2]=i;c=Jb((f[c>>2]<<2)+4|0)|0;i=f[t>>2]|0;o=f[i+196>>2]|0;f[o+(e<<6)+4>>2]=c;f[o+(e<<6)+12>>2]=c;e=e+1|0;r=o}HW(l);return}function TC(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,t=0,l=0,c=0,s=0,u=0;u=A+16|0;t=1;while(1){a=f[u>>2]|0;if((t|0)>(f[a+180>>2]|0))break;s=TC(f[(f[a+184>>2]|0)+(t<<2)>>2]|0,e,i,r)|0;t=t+1|0;r=s}A:do{if((zf(A)|0)!=(A|0)){WH(e|0,0,i<<2|0)|0;a=Ep(A)|0;while(1){if(!a)break;c=a+16|0;f[e+(f[(f[c>>2]|0)+232>>2]<<2)>>2]=1;t=bY(A,a)|0;while(1){if(!t)break;s=t+-48|0;l=f[(f[c>>2]|0)+232>>2]|0;while(1){i=l+1|0;if((l|0)>=(f[(f[(f[((f[t>>2]&3|0)==2?t:s)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;f[e+(i<<2)>>2]=1;l=i}t=BY(A,t)|0}a=Qp(A,a)|0}a=f[u>>2]|0;t=n[a+236>>1]|0;while(1){if((t|0)>(n[a+238>>1]|0))break A;if(!(f[e+(t<<2)>>2]|0)){if(!r)r=nN(zf(A)|0,79522,1)|0;a=Pp(r,0,1)|0;cV(a,122241,304,1)|0;s=a+16|0;l=f[s>>2]|0;f[l+232>>2]=t;o[l+96>>3]=.5;o[l+88>>3]=.5;o[l+80>>3]=1.0;f[l+216>>2]=1;f[l+176>>2]=0;l=Jb(20)|0;c=f[s>>2]|0;f[c+172>>2]=l;f[c+184>>2]=0;c=Jb(20)|0;f[(f[s>>2]|0)+180>>2]=c;Vp(A,a,1)|0;a=f[u>>2]|0}t=t+1|0}}}while(0);return r|0}function UC(A){A=A|0;var e=0,i=0;It(A);e=A+16|0;A=1;while(1){i=f[e>>2]|0;if((A|0)>(f[i+180>>2]|0))break;UC(f[(f[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}return}function SC(A){A=A|0;var e=0,i=0;e=f[A>>2]&3;i=jC(f[((e|0)==3?A:A+48|0)+40>>2]|0)|0;e=f[17236+(i*12|0)+((jC(f[((e|0)==2?A:A+-48|0)+40>>2]|0)|0)<<2)>>2]|0;A=(f[A+16>>2]|0)+156|0;f[A>>2]=X(f[A>>2]|0,e)|0;return}function jC(A){A=A|0;A=f[A+16>>2]|0;if((r[A+156>>0]|0)==1)A=2;else A=(r[A+160>>0]|0)<2&1;return A|0}function OC(A,e){A=A|0;e=e|0;if(f[(f[A+16>>2]|0)+192>>2]|0){ZQ(A);KC(A);if(r[174080]|0)JQ(A);_C(A);if(Ay(A)|0)KC(A);qC(A);if(mv(A,2,$C(A)|0)|0?(AM(A),mv(A,2,$C(A)|0)|0):0)BA(79540,79568,134,79579);eM(A);iM(A,e);rM(A)}return}function KC(A){A=A|0;var e=0,i=0,a=0,t=0,l=0.0,c=0.0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0,C=0.0;m=A+16|0;e=f[m>>2]|0;Z=f[e+196>>2]|0;d=n[e+236>>1]|0;while(1){if((d|0)>(n[e+238>>1]|0))break;b=Z+(d<<6)|0;v=Z+(d<<6)+4|0;B=Z+(d<<6)+40|0;k=Z+(d<<6)+24|0;w=Z+(d<<6)+32|0;h=Z+(d<<6)+16|0;u=0;while(1){if((u|0)>=(f[b>>2]|0))break;s=(f[(f[v>>2]|0)+(u<<2)>>2]|0)+16|0;e=f[s>>2]|0;l=+o[e+80>>3]*.5;t=f[e+204>>2]|0;A:do{if(t){a=0;while(1){i=f[t+(a<<2)>>2]|0;if(!i)break A;G=f[i>>2]&3;if((f[((G|0)==3?i:i+48|0)+40>>2]|0)==(f[((G|0)==2?i:i+-48|0)+40>>2]|0)?(g=f[(f[i+16>>2]|0)+96>>2]|0,(g|0)!=0):0){c=+o[g+32>>3]*.5;l=l>c?l:c}a=a+1|0}}}while(0);if(+o[B>>3]>3]=l;o[B>>3]=l}if(+o[w>>3]>3]=l;o[w>>3]=l}i=f[e+212>>2]|0;if(i|0){if((i|0)==(A|0))a=0;else{a=XI(i,f[42189]|0,8,0)|0;e=f[s>>2]|0}t=f[e+232>>2]|0;i=f[i+16>>2]|0;e=i+128|0;l=l+ +(a|0);if((t|0)==(n[i+236>>1]|0)){c=+o[e>>3];o[e>>3]=c>l?c:l}e=i+120|0;if((t|0)==(n[i+238>>1]|0)){c=+o[e>>3];o[e>>3]=c>l?c:l}}u=u+1|0}d=d+1|0;e=f[m>>2]|0}u=YM(A)|0;a=f[m>>2]|0;e=n[a+238>>1]|0;o[(f[(f[f[Z+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+o[Z+(e<<6)+16>>3];i=n[a+236>>1]|0;t=a+252|0;c=0.0;while(1){s=e+-1|0;if((e|0)<=(i|0))break;I=+o[Z+(s<<6)+32>>3]+ +o[Z+(e<<6)+40>>3]+ +(f[t>>2]|0);l=+o[Z+(e<<6)+24>>3]+8.0+ +o[Z+(s<<6)+16>>3];l=I>l?I:l;if((f[Z+(s<<6)>>2]|0)>0)o[(f[(f[f[Z+(s<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+o[(f[(f[f[Z+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+l;c=c>l?c:l;e=s}A:do{if((u|0)!=0?(f[a+116>>2]&1|0)!=0:0){pM(A,0);a=f[m>>2]|0;if(r[a+276>>0]|0){e=n[a+238>>1]|0;i=n[a+236>>1]|0;l=+o[(f[(f[f[Z+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];c=0.0;while(1){t=e+-1|0;if((e|0)<=(i|0))break A;C=+o[(f[(f[f[Z+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];I=C-l;l=C;c=c>I?c:I;e=t}}}}while(0);A:do{if(r[a+276>>0]|0){t=n[a+236>>1]|0;i=n[a+238>>1]|0;while(1){e=i+-1|0;if((i|0)<=(t|0))break A;if((f[Z+(e<<6)>>2]|0)<=0){i=e;continue}o[(f[(f[f[Z+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+o[(f[(f[f[Z+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+c;i=e}}}while(0);e=a+192|0;while(1){e=f[e>>2]|0;if(!e)break;e=f[e+16>>2]|0;o[e+24>>3]=+o[(f[(f[f[Z+(f[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function _C(A){A=A|0;var e=0,i=0,r=0;MM(A);e=(f[A+16>>2]|0)+192|0;while(1){e=f[e>>2]|0;if(!e)break;r=e+16|0;e=f[r>>2]|0;i=f[e+224>>2]|0;if(i){EM(A,i);e=f[r>>2]|0}i=f[e+228>>2]|0;if(!i)i=e;else{EM(A,i);i=f[r>>2]|0}r=f[i+204>>2]|0;if(r|0){e=0;while(1)if(!(f[r+(e<<2)>>2]|0))break;else e=e+1|0}e=i+164|0}return}function qC(A){A=A|0;uM(A);bM(A);vM(A);BM(A);kM(A);return}function $C(A){A=A|0;var e=0,i=0.0;e=aY(A,79768)|0;if(!e)A=2147483647;else{i=+fR(e);A=~~(i*+(PY(A)|0))}return A|0}function AM(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0;w=A+16|0;e=f[w>>2]|0;k=n[e+236>>1]|0;while(1){B=n[e+238>>1]|0;if((k|0)>(B|0)){h=19;break}b=f[e+196>>2]|0;v=b+(k<<6)|0;u=f[v>>2]|0;b=b+(k<<6)+4|0;s=0;i=0;A:while(1){if((s|0)>=(u|0)){h=14;break}i=f[(f[b>>2]|0)+(s<<2)>>2]|0;t=f[i+16>>2]|0;l=f[t+256>>2]|0;e:do{if(l|0){a=0;while(1){c=f[l+(a<<2)>>2]|0;if(!c)break e;o=f[c>>2]&3;if((f[(f[(f[((o|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;if((f[(f[(f[((o|0)==3?c:c+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;else a=a+1|0}}}while(0);t=f[t+248>>2]|0;e:do{if(t|0){a=0;while(1){l=f[t+(a<<2)>>2]|0;if(!l)break e;c=f[l>>2]&3;if((f[(f[(f[((c|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;if((f[(f[(f[((c|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(k|0))break A;else a=a+1|0}}}while(0);s=s+1|0}if((h|0)==14){h=0;if(i){i=f[f[b>>2]>>2]|0;e=f[f[v+(((k|0)<(B|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){h=16;break}v=Sa(A)|0;B=v+16|0;r[(f[B>>2]|0)+156>>0]=2;oM(v,i,0.0,0)|0;oM(v,e,0.0,0)|0;f[(f[B>>2]|0)+232>>2]=f[(f[((f[(f[i+16>>2]|0)+232>>2]|0)<(f[(f[e+16>>2]|0)+232>>2]|0)?i:e)+16>>2]|0)+232>>2];e=f[w>>2]|0}}k=k+1|0}if((h|0)==16)BA(79676,79568,111,79679);else if((h|0)==19)return}function eM(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0;A=f[A+16>>2]|0;t=f[A+196>>2]|0;i=n[A+238>>1]|0;A=n[A+236>>1]|0;while(1){if((A|0)>(i|0))break;r=f[t+(A<<6)>>2]|0;a=t+(A<<6)+4|0;e=0;while(1){if((e|0)>=(r|0))break;c=f[(f[(f[a>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;l=c+232|0;o[c+16>>3]=+(f[l>>2]|0);f[l>>2]=A;e=e+1|0}A=A+1|0}return}function iM(A,e){A=A|0;e=e|0;var i=0,r=0.0,a=0,t=0.0,l=0,c=0,s=0.0,u=0,b=0,v=0,B=0;nM(A,A);a=A+16|0;c=f[a>>2]|0;A:do{if((n[c+238>>1]|0)>0?(l=f[c+8>>2]|0,i=f[l+84>>2]|0,i|0):0){v=~~(+o[c+32>>3]-+o[c+16>>3]);u=~~(+o[c+40>>3]-+o[c+24>>3]);B=(f[c+116>>2]&1|0)==0;b=B?u:v;u=B?v:u;if((i|0)==4){i=fM(A)|0;c=f[a>>2]|0;l=f[c+8>>2]|0}else i=(i|0)==2&1;e:do{if(!(i<<24>>24)){switch(f[l+84>>2]|0){case 5:{r=+o[l+64>>3];if(r<=0.0)break A;t=r/+o[c+32>>3];s=+o[l+72>>3]/+o[c+40>>3];r=t1.0&s>1.0){s=r;break e}else break A}case 1:break;default:break A}t=+o[l+16>>3];r=+(b|0)/+(u|0);if(r>3];if(r<=0.0)break A;t=r/+(u|0);r=+o[l+72>>3]/+(b|0);if(t<1.0|r<1.0)if(t>2]&1|0)==0;t=i?r:s;r=i?s:r;i=c+192|0;while(1){i=f[i>>2]|0;if(!i)break;i=f[i+16>>2]|0;B=i+16|0;s=+o[B>>3]*r;o[B>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);B=i+24|0;s=+o[B>>3]*t;o[B>>3]=+(~~(s+(s>=0.0?.5:-.5))|0);i=i+164|0}aM(A,r,t)}}while(0);if(e|0)tM(A,e);return}function rM(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=A+16|0;A=(f[t>>2]|0)+192|0;while(1){A=f[A>>2]|0;if(!A)break;a=A+16|0;e=0;while(1){A=f[a>>2]|0;n=f[A+180>>2]|0;i=f[n+(e<<2)>>2]|0;if(!i)break;HW(f[i+16>>2]|0);HW(i);e=e+1|0}if(n){HW(n);A=f[a>>2]|0}e=f[A+172>>2]|0;if(e){HW(e);A=f[a>>2]|0}n=A+256|0;i=f[n+4>>2]|0;A=A+180|0;f[A>>2]=f[n>>2];f[A+4>>2]=i;A=f[a>>2]|0;i=A+248|0;n=f[i+4>>2]|0;A=A+172|0;f[A>>2]=f[i>>2];f[A+4>>2]=n;A=(f[a>>2]|0)+164|0}A=0;e=f[(f[t>>2]|0)+192>>2]|0;A:while(1){a=(A|0)==0;n=A+16|0;A=e;while(1){if(!A)break A;i=f[A+16>>2]|0;e=f[i+164>>2]|0;if((r[i+156>>0]|0)!=2)continue A;if(a)f[(f[t>>2]|0)+192>>2]=e;else f[(f[n>>2]|0)+164>>2]=e;HW(i);HW(A);A=e}}f[(f[(f[(f[t>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function nM(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=A+16|0;i=1;while(1){n=f[r>>2]|0;if((i|0)>(f[n+180>>2]|0))break;nM(f[(f[n+184>>2]|0)+(i<<2)>>2]|0,e);i=i+1|0}cM(A,e);return}function fM(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0.0,c=0.0,s=0,u=0.0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0;h=v;v=v+80|0;r=h+64|0;i=h+48|0;n=h+16|0;s=h;w=h+32|0;A=A+16|0;e=f[(f[A>>2]|0)+8>>2]|0;d=e+48|0;f[n>>2]=f[d>>2];f[n+4>>2]=f[d+4>>2];f[n+8>>2]=f[d+8>>2];f[n+12>>2]=f[d+12>>2];if((!(+o[n>>3]<.001)?(a=n+8|0,!(+o[a>>3]<.001)):0)?(t=e+32|0,f[s>>2]=f[t>>2],f[s+4>>2]=f[t+4>>2],f[s+8>>2]=f[t+8>>2],f[s+12>>2]=f[t+12>>2],f[i>>2]=f[n>>2],f[i+4>>2]=f[n+4>>2],f[i+8>>2]=f[n+8>>2],f[i+12>>2]=f[n+12>>2],f[r>>2]=f[t>>2],f[r+4>>2]=f[t+4>>2],f[r+8>>2]=f[t+8>>2],f[r+12>>2]=f[t+12>>2],lM(w,i,r),f[n>>2]=f[w>>2],f[n+4>>2]=f[w+4>>2],f[n+8>>2]=f[w+8>>2],f[n+12>>2]=f[w+12>>2],f[i>>2]=f[w>>2],f[i+4>>2]=f[w+4>>2],f[i+8>>2]=f[w+8>>2],f[i+12>>2]=f[w+12>>2],f[r>>2]=f[s>>2],f[r+4>>2]=f[s+4>>2],f[r+8>>2]=f[s+8>>2],f[r+12>>2]=f[s+12>>2],lM(n,i,r),t=f[A>>2]|0,l=+o[t+32>>3],c=+o[t+40>>3],u=+o[n>>3],b=u/l,B=+o[a>>3],k=B/c,!(b>=1.0&k>=1.0)):0){b=b.5?b:.5;k=+D(+(b*c/B))*B/c;B=+D(+(b*l/u))*u/l*l;A=f[t+8>>2]|0;o[A+64>>3]=B;o[A+72>>3]=k*c;A=1}else A=0;v=h;return A|0}function aM(A,e,i){A=A|0;e=+e;i=+i;var r=0,n=0;r=A+16|0;A=1;while(1){n=f[r>>2]|0;if((A|0)>(f[n+180>>2]|0))break;aM(f[(f[n+184>>2]|0)+(A<<2)>>2]|0,e,i);A=A+1|0}r=n+16|0;o[r>>3]=+o[r>>3]*e;r=n+24|0;o[r>>3]=+o[r>>3]*i;r=n+32|0;o[r>>3]=+o[r>>3]*e;n=n+40|0;o[n>>3]=+o[n>>3]*i;return}function tM(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0,a=0,t=0.0,l=0,c=0,s=0,u=0;s=v;v=v+32|0;l=s+24|0;a=s+16|0;n=s;u=f[A+16>>2]|0;r=+o[u+32>>3]-+o[u+16>>3];i=+o[u+40>>3]-+o[u+24>>3];t=r/i;if(0){u=f[13918]|0;o[n>>3]=t;o[n+8>>3]=r*.0001*i;uP(u,79592,n)|0;f[a>>2]=JE(A)|0;uP(u,79617,a)|0}i=+o[e>>3];do{if(!(t>i*1.1)){A=e+24|0;if(!(t<=i*.8)){f[A>>2]=0;c=9;break}f[A>>2]=-1;if(0){JP(79627,34,1,f[13918]|0)|0;c=9}}else{f[e+24>>2]=~~(i*+((f[e+20>>2]|0)-(f[e+16>>2]|0)|0)/t);c=9}}while(0);if((c|0)==9?0:0){u=f[13918]|0;f[l>>2]=f[e+24>>2];uP(u,79662,l)|0}v=s;return}function lM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=+o[e+8>>3]-+o[i+8>>3];o[A>>3]=+o[e>>3]-+o[i>>3];o[A+8>>3]=r;return}function cM(A,e){A=A|0;e=e|0;var i=0,a=0.0,t=0.0,l=0,c=0,s=0,u=0.0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0.0;h=(zf(A)|0)==(A|0);m=A+16|0;Z=f[m>>2]|0;A:do{if(h){i=n[Z+236>>1]|0;A=n[Z+238>>1]|0;k=A<<16>>16;w=Z+196|0;h=Z+196|0;B=i<<16>>16;t=-2147483647.0;a=2147483647.0;while(1){if((B|0)>(k|0))break;l=f[w>>2]|0;v=f[l+(B<<6)>>2]|0;if((v|0)!=0?(d=f[l+(B<<6)+4>>2]|0,g=f[d>>2]|0,(g|0)!=0):0){s=1;l=g;while(1){l=f[l+16>>2]|0;c=r[l+156>>0]|0;if(!((s|0)<(v|0)&c<<24>>24!=0))break;l=f[d+(s<<2)>>2]|0;s=s+1|0}if(!(c<<24>>24)){u=+o[l+16>>3]-+o[l+88>>3];b=a>2]|0)+(B<<6)+4>>2]|0;c=v+-2|0;l=v+-1|0;while(1){l=f[(f[s+(l<<2)>>2]|0)+16>>2]|0;if(!(r[l+156>>0]|0))break;else{l=c;c=c+-1|0}}G=+o[l+96>>3]+ +o[l+16>>3];t=t>G?t:G;a=b?a:u}}B=B+1|0}c=f[Z+180>>2]|0;s=Z+184|0;l=1;while(1){if((l|0)>(c|0))break A;g=f[(f[(f[s>>2]|0)+(l<<2)>>2]|0)+16>>2]|0;G=+o[g+16>>3]+-8.0;u=+o[g+32>>3]+8.0;l=l+1|0;t=t>u?t:u;a=a>2]|0)+16>>2]|0)+232>>2]|0);a=+(f[(f[(f[Z+256>>2]|0)+16>>2]|0)+232>>2]|0);i=n[Z+236>>1]|0;A=n[Z+238>>1]|0}}while(0);e=f[(f[e+16>>2]|0)+196>>2]|0;u=+o[(f[(f[f[e+(A<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+o[Z+120>>3];G=+o[Z+128>>3]+ +o[(f[(f[f[e+(i<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];o[Z+16>>3]=a;o[Z+24>>3]=u;e=f[m>>2]|0;o[e+32>>3]=t;o[e+40>>3]=G;return}function oM(A,e,i,r){A=A|0;e=e|0;i=+i;r=r|0;var a=0,t=0,l=0,c=0;l=Jb(96)|0;c=l+48|0;f[c>>2]=f[c>>2]|3;f[l>>2]=f[l>>2]&-4|2;a=Jb(176)|0;t=l+16|0;f[t>>2]=a;f[((f[l>>2]&3|0)==3?l:c)+40>>2]=A;f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]=e;if(i>65535.0){sM(i);i=65535.0;a=f[t>>2]|0}n[a+170>>1]=~~(i+(i>=0.0?.5:-.5));f[a+156>>2]=r;za(l)|0;return l|0}function sM(A){A=+A;var e=0,i=0;e=v;v=v+16|0;i=e;o[i>>3]=A;f[i+8>>2]=65535;Iy(1,79692,i)|0;v=e;return}function uM(A){A=A|0;var e=0,i=0,r=0,n=0;A=(f[A+16>>2]|0)+192|0;while(1){A=f[A>>2]|0;if(!A)break;n=A+16|0;r=f[n>>2]|0;A=r+172|0;i=f[A+4>>2]|0;r=r+248|0;f[r>>2]=f[A>>2];f[r+4>>2]=i;r=f[n>>2]|0;i=r+180|0;A=f[i+4>>2]|0;r=r+256|0;f[r>>2]=f[i>>2];f[r+4>>2]=A;r=f[n>>2]|0;A=f[r+180>>2]|0;i=0;while(1)if(!(f[A+(i<<2)>>2]|0))break;else i=i+1|0;e=f[r+172>>2]|0;A=0;while(1)if(!(f[e+(A<<2)>>2]|0))break;else A=A+1|0;f[r+176>>2]=0;A=Jb((A+i<<2)+16|0)|0;r=f[n>>2]|0;f[r+172>>2]=A;f[r+184>>2]=0;r=Jb(16)|0;A=f[n>>2]|0;f[A+180>>2]=r;A=A+164|0}return}function bM(A){A=A|0;var e=0,i=0,a=0.0,l=0,c=0,s=0,u=0,b=0,B=0.0,k=0,w=0,h=0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0.0,E=0.0;C=v;v=v+16|0;Z=C;G=A+16|0;g=f[G>>2]|0;I=f[g+196>>2]|0;A=(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;m=f[g+248>>2]|0;f[Z>>2]=m;f[Z+4>>2]=A?5:m;m=n[g+236>>1]|0;A=g;while(1){if((m|0)>(n[A+238>>1]|0))break;w=I+(m<<6)+4|0;f[(f[(f[f[w>>2]>>2]|0)+16>>2]|0)+232>>2]=0;h=I+(m<<6)|0;d=+(f[Z+((m&1)<<2)>>2]|0);B=0.0;c=0;A:while(1){if((c|0)>=(f[h>>2]|0))break;e=f[w>>2]|0;s=f[e+(c<<2)>>2]|0;g=s+16|0;A=f[g>>2]|0;a=+o[A+96>>3];o[A+240>>3]=a;if((f[A+208>>2]|0)>0){l=0;e=0;while(1){i=f[(f[A+204>>2]|0)+(l<<2)>>2]|0;if(!i)break;k=f[i>>2]&3;if((f[((k|0)==3?i:i+48|0)+40>>2]|0)==(f[((k|0)==2?i:i+-48|0)+40>>2]|0)){e=(iI(i)|0)+e|0;A=f[g>>2]|0}l=l+1|0}k=A+96|0;a=+o[k>>3]+ +(e|0);o[k>>3]=a;e=f[w>>2]|0}k=c+1|0;e=f[e+(k<<2)>>2]|0;if(e){b=e+16|0;a=a+d+ +o[(f[b>>2]|0)+88>>3];oM(s,e,a,0)|0;A=~~(a+B);f[(f[b>>2]|0)+232>>2]=A;B=+(A|0);A=f[g>>2]|0}e=f[A+112>>2]|0;if(e){l=f[A+256>>2]|0;c=f[l>>2]|0;l=f[l+4>>2]|0;A=(f[(f[(f[((f[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(f[(f[(f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);i=A?l:c;l=A?c:l;c=e+16|0;A=f[c>>2]|0;a=+((X(f[(f[G>>2]|0)+248>>2]|0,t[A+170>>1]|0)|0)/2|0|0);b=f[i>>2]&3;e=f[((b|0)==2?i:i+-48|0)+40>>2]|0;i=f[((b|0)==3?i:i+48|0)+40>>2]|0;if(!(IM(i,e)|0))oM(e,i,+(~~(+o[(f[e+16>>2]|0)+96>>3]+a+ +o[(f[i+16>>2]|0)+88>>3])|0),f[A+156>>2]|0)|0;A=f[l>>2]&3;e=f[((A|0)==3?l:l+48|0)+40>>2]|0;A=f[((A|0)==2?l:l+-48|0)+40>>2]|0;if(!(IM(A,e)|0)){oM(e,A,+(~~(+o[(f[e+16>>2]|0)+96>>3]+a+ +o[(f[A+16>>2]|0)+88>>3])|0),f[(f[c>>2]|0)+156>>2]|0)|0;b=0}else b=0}else b=0;while(1){A=f[g>>2]|0;if((b|0)>=(f[A+192>>2]|0)){c=k;continue A}s=f[(f[A+188>>2]|0)+(b<<2)>>2]|0;c=f[s>>2]&3;i=f[((c|0)==3?s:s+48|0)+40>>2]|0;c=f[((c|0)==2?s:s+-48|0)+40>>2]|0;l=(f[(f[i+16>>2]|0)+236>>2]|0)<(f[(f[c+16>>2]|0)+236>>2]|0);e=l?i:c;i=l?c:i;a=+o[(f[i+16>>2]|0)+88>>3]+ +o[(f[e+16>>2]|0)+96>>3];c=s+16|0;l=~~(a+ +(X(f[(f[G>>2]|0)+248>>2]|0,t[(f[c>>2]|0)+170>>1]|0)|0));u=Va(e,i)|0;if(!u){A=f[c>>2]|0;if(!(f[A+96>>2]|0))oM(e,i,+(l|0),f[A+156>>2]|0)|0}else{M=+(l|0);A=f[c>>2]|0;E=+o[A+136>>3];a=a+ +(f[(f[G>>2]|0)+248>>2]|0)+ +(~~(E+(E>=0.0?.5:-.5))|0);e=~~(a65535){sM(+(e|0));e=65535;A=f[c>>2]|0}c=f[u+16>>2]|0;l=c+170|0;i=t[l>>1]|0;n[l>>1]=(e|0)<(i|0)?i:e;c=c+156|0;f[c>>2]=f[(f[((f[c>>2]|0)>(f[A+156>>2]|0)?u:s)+16>>2]|0)+156>>2]}b=b+1|0}}m=m+1|0;A=f[G>>2]|0}v=C;return}function vM(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0;e=(f[A+16>>2]|0)+192|0;while(1){e=f[e>>2]|0;if(!e)break;a=e+16|0;e=f[a>>2]|0;i=f[e+256>>2]|0;A:do{if(i){n=0;while(1){i=f[i+(n<<2)>>2]|0;if(!i)break A;b=Sa(A)|0;e=b+16|0;r[(f[e>>2]|0)+156>>0]=2;s=i+16|0;c=f[s>>2]|0;t=~~(+o[c+56>>3]-+o[c+16>>3]);u=(t|0)>0;l=u?0:0-t|0;t=u?t:0;u=i+48|0;oM(b,f[((f[i>>2]&3|0)==3?i:u)+40>>2]|0,+(t+1|0),f[c+156>>2]|0)|0;c=i+-48|0;oM(b,f[((f[i>>2]&3|0)==2?i:c)+40>>2]|0,+(l+1|0),f[(f[s>>2]|0)+156>>2]|0)|0;s=f[i>>2]&3;t=(f[(f[(f[((s|0)==3?i:u)+40>>2]|0)+16>>2]|0)+232>>2]|0)-t|0;i=(f[(f[(f[((s|0)==2?i:c)+40>>2]|0)+16>>2]|0)+232>>2]|0)-l|0;f[(f[e>>2]|0)+232>>2]=((t|0)<(i|0)?t:i)+-1;e=f[a>>2]|0;n=n+1|0;i=f[e+256>>2]|0}}}while(0);e=e+164|0}return}function BM(A){A=A|0;if((f[(f[A+16>>2]|0)+180>>2]|0)>0){dM(A);gM(A);mM(A);ZM(A)}return}function kM(A){A=A|0;var e=0.0,i=0.0,r=0,n=0;r=A+16|0;n=f[(f[r>>2]|0)+8>>2]|0;if((f[n+84>>2]|0)==3?(e=+o[n+64>>3],i=+o[n+72>>3],!(i*e<=1.0)):0){wM(A);n=f[r>>2]|0;i=(f[n+116>>2]&1|0)==0?e:i;oM(f[n+256>>2]|0,f[n+260>>2]|0,i<65535.0?i:65535.0,1e3)|0}return}function wM(A){A=A|0;var e=0,i=0,r=0.0,a=0,t=0,l=0,c=0,s=0,u=0;u=v;v=v+16|0;s=u;i=XI(A,f[42189]|0,8,0)|0;hM(A);t=A+16|0;a=f[t>>2]|0;l=f[a+256>>2]|0;c=f[a+260>>2]|0;r=+(i|0);i=n[a+236>>1]|0;while(1){if((i|0)>(n[a+238>>1]|0))break;e=f[a+196>>2]|0;do{if(f[e+(i<<6)>>2]|0){e=f[f[e+(i<<6)+4>>2]>>2]|0;if(!e){f[s>>2]=Ap(A)|0;f[s+4>>2]=i;Iy(1,79776,s)|0;break}else{oM(l,e,+o[(f[e+16>>2]|0)+88>>3]+r+ +o[a+96>>3],0)|0;a=f[t>>2]|0;e=f[a+196>>2]|0;e=f[(f[e+(i<<6)+4>>2]|0)+((f[e+(i<<6)>>2]|0)+-1<<2)>>2]|0;oM(e,c,+o[(f[e+16>>2]|0)+96>>3]+r+ +o[a+64>>3],0)|0;break}}}while(0);i=i+1|0;a=f[t>>2]|0}v=u;return}function hM(A){A=A|0;var e=0,i=0,n=0;e=A+16|0;if(!(f[(f[e>>2]|0)+256>>2]|0)){n=Sa(zf(A)|0)|0;r[(f[n+16>>2]|0)+156>>0]=2;i=Sa(zf(A)|0)|0;r[(f[i+16>>2]|0)+156>>0]=2;if((f[(f[e>>2]|0)+12>>2]|0?(zf(A)|0)!=(A|0):0)?(f[(f[(Dp(A)|0)+16>>2]|0)+116>>2]&1|0)==0:0){A=f[e>>2]|0;oM(n,i,+(~~+o[A+48+((+o[A+48>>3]>+o[A+80>>3]?0:2)<<4)>>3]|0),0)|0}e=f[e>>2]|0;f[e+256>>2]=n;f[e+260>>2]=i}return}function dM(A){A=A|0;var e=0,i=0;do{if((zf(A)|0)!=(A|0)){wM(A);A=A+16|0;e=f[A>>2]|0;e=Va(f[e+256>>2]|0,f[e+260>>2]|0)|0;if(!e){i=f[A>>2]|0;oM(f[i+256>>2]|0,f[i+260>>2]|0,1.0,128)|0;break}else{i=(f[e+16>>2]|0)+156|0;f[i>>2]=(f[i>>2]|0)+128;break}}else A=A+16|0}while(0);e=1;while(1){i=f[A>>2]|0;if((e|0)>(f[i+180>>2]|0))break;dM(f[(f[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}return}function gM(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0,v=0;c=XI(A,f[42189]|0,8,0)|0;v=A+16|0;e=f[v>>2]|0;u=+(c|0);c=n[e+236>>1]|0;while(1){if((c|0)>(n[e+238>>1]|0)){i=1;break}e=f[e+196>>2]|0;A:do{if(f[e+(c<<6)>>2]|0?(s=f[f[e+(c<<6)+4>>2]>>2]|0,s|0):0){t=s+16|0;i=f[(f[t>>2]|0)+236>>2]|0;while(1){if((i|0)<=0)break;i=i+-1|0;l=f[(f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;a=l+16|0;e=f[a>>2]|0;if(!(r[e+156>>0]|0)){b=10;break}if(GM(A,l)|0){b=9;break}}if((b|0)==9){e=f[a>>2]|0;b=10}if((b|0)==10){b=0;oM(l,f[(f[v>>2]|0)+256>>2]|0,+o[e+96>>3]+u,0)|0}i=(f[(f[(f[v>>2]|0)+196>>2]|0)+(c<<6)>>2]|0)+(f[(f[t>>2]|0)+236>>2]|0)|0;while(1){if((i|0)>=(f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)>>2]|0))break A;t=f[(f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(i<<2)>>2]|0;a=t+16|0;e=f[a>>2]|0;if(!(r[e+156>>0]|0))break;if(!(GM(A,t)|0))i=i+1|0;else{b=15;break}}if((b|0)==15){b=0;e=f[a>>2]|0}oM(f[(f[v>>2]|0)+260>>2]|0,t,+o[e+88>>3]+u,0)|0}}while(0);c=c+1|0;e=f[v>>2]|0}while(1){if((i|0)>(f[e+180>>2]|0))break;gM(f[(f[e+184>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=f[v>>2]|0}return}function mM(A){A=A|0;var e=0,i=0.0,r=0,n=0,a=0;r=XI(A,f[42189]|0,8,0)|0;hM(A);e=A+16|0;i=+(r|0);A=1;while(1){r=f[e>>2]|0;if((A|0)>(f[r+180>>2]|0))break;r=f[(f[r+184>>2]|0)+(A<<2)>>2]|0;hM(r);n=f[e>>2]|0;a=r+16|0;oM(f[n+256>>2]|0,f[(f[a>>2]|0)+256>>2]|0,+o[n+96>>3]+i,0)|0;n=f[e>>2]|0;oM(f[(f[a>>2]|0)+260>>2]|0,f[n+260>>2]|0,+o[n+64>>3]+i,0)|0;mM(r);A=A+1|0}return}function ZM(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0.0,b=0,v=0;e=XI(A,f[42189]|0,8,0)|0;b=A+16|0;A=1;while(1){r=f[b>>2]|0;i=f[r+180>>2]|0;if((A|0)>(i|0))break;hM(f[(f[r+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0}u=+(e|0);s=1;A=i;e=r;while(1){if((s|0)>(A|0))break;o=s+1|0;c=o;while(1){i=f[e+184>>2]|0;r=f[i+(s<<2)>>2]|0;if((c|0)>(A|0))break;i=f[i+(c<<2)>>2]|0;a=(n[(f[r+16>>2]|0)+236>>1]|0)>(n[(f[i+16>>2]|0)+236>>1]|0);l=a?i:r;i=a?r:i;r=f[l+16>>2]|0;a=f[i+16>>2]|0;v=n[a+236>>1]|0;t=v<<16>>16;if((n[r+238>>1]|0)>=v<<16>>16){A=(f[(f[(f[f[(f[r+196>>2]|0)+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(f[(f[(f[f[(f[a+196>>2]|0)+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);oM(f[(f[(A?l:i)+16>>2]|0)+260>>2]|0,f[(f[(A?i:l)+16>>2]|0)+256>>2]|0,u,0)|0;A=f[b>>2]|0;e=A;A=f[A+180>>2]|0}c=c+1|0}ZM(r);e=f[b>>2]|0;s=o;A=f[e+180>>2]|0}return}function GM(A,e){A=A|0;e=e|0;var i=0;e=f[e+16>>2]|0;if((r[e+156>>0]|0)==1){e=f[f[e+256>>2]>>2]|0;while(1){i=f[(f[e+16>>2]|0)+116>>2]|0;if(!i)break;else e=i}if(!(_p(A,f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0))e=(_p(A,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0)==0&1;else e=0}else e=0;return e|0}function IM(A,e){A=A|0;e=e|0;return CM(A,e)|0}function CM(A,e){A=A|0;e=e|0;var i=0,r=0;A:do{if((A|0)==(e|0))A=1;else{i=f[(f[A+16>>2]|0)+180>>2]|0;A=0;while(1){r=f[i+(A<<2)>>2]|0;if(!r){A=0;break A}if(!(CM(f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,e)|0))A=A+1|0;else{A=1;break}}}}while(0);return A|0}function MM(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0;o=A+16|0;A=f[o>>2]|0;c=n[A+236>>1]|0;while(1){if((c|0)>(n[A+238>>1]|0))break;t=f[A+196>>2]|0;a=f[t+(c<<6)>>2]|0;t=t+(c<<6)+4|0;l=0;i=0;while(1){if((i|0)>=(a|0))break;e=f[(f[(f[t>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;f[e+236>>2]=l;if((r[e+159>>0]|0)==6)e=f[e+216>>2]|0;else e=1;l=e+l|0;i=i+1|0}if((l|0)>(a|0)){A=f[t>>2]|0;if(!A)A=Pb((l<<2)+4|0)|0;else A=Hb(A,(l<<2)+4|0)|0;i=f[(f[o>>2]|0)+196>>2]|0;f[i+(c<<6)+4>>2]=A;e=f[i+(c<<6)>>2]|0;while(1){A=e+-1|0;if((e|0)<=0)break;t=f[i+(c<<6)+4>>2]|0;e=f[t+(A<<2)>>2]|0;f[t+(f[(f[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=A;i=f[(f[o>>2]|0)+196>>2]|0}f[i+(c<<6)>>2]=l;f[(f[i+(c<<6)+4>>2]|0)+(l<<2)>>2]=0;A=f[o>>2]|0}c=c+1|0}return}function EM(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0;b=v;v=v+48|0;u=b+32|0;s=b+8|0;i=b+24|0;c=b+16|0;l=b;r=e+16|0;n=f[r>>2]|0;A:do{if((f[n+216>>2]|0)>=2){f[s>>2]=~~(+o[n+16>>3]-+o[n+88>>3]);f[s+4>>2]=~~+o[n+24>>3];f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];QM(i,e,u);a=i;t=f[a+4>>2]|0;i=s;f[i>>2]=f[a>>2];f[i+4>>2]=t;i=f[r>>2]|0;if((f[i+184>>2]|0)>0){l=f[f[i+180>>2]>>2]|0;i=(f[i+236>>2]|0)+1|0;l=kY(A,f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)|0;while(1){if(!l)break A;t=(f[l>>2]&3|0)==2?l:l+-48|0;r=t+48|0;n=f[((f[t>>2]&3|0)==3?t:r)+40>>2]|0;if((n|0)!=(e|0)?(KI(n)|0)==(e|0):0){n=f[((f[t>>2]&3|0)==3?t:r)+40>>2]|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];yM(c,A,n,u,i);n=c;r=f[n+4>>2]|0;a=s;f[a>>2]=f[n>>2];f[a+4>>2]=r;qa(t);a=t+-48|0;r=f[(f[((f[t>>2]&3|0)==2?t:a)+40>>2]|0)+16>>2]|0;n=f[r+172>>2]|0;if(!n)r=Pb((f[r+176>>2]<<2)+8|0)|0;else r=Hb(n,(f[r+176>>2]<<2)+8|0)|0;f[(f[(f[((f[t>>2]&3|0)==2?t:a)+40>>2]|0)+16>>2]|0)+172>>2]=r;B=f[(f[((f[t>>2]&3|0)==2?t:a)+40>>2]|0)+16>>2]|0;r=f[B+172>>2]|0;B=B+176|0;n=f[B>>2]|0;f[B>>2]=n+1;f[r+(n<<2)>>2]=t;t=f[(f[((f[t>>2]&3|0)==2?t:a)+40>>2]|0)+16>>2]|0;f[(f[t+172>>2]|0)+(f[t+176>>2]<<2)>>2]=0;i=i+1|0}l=wY(A,l)|0}}else{t=f[f[i+172>>2]>>2]|0;i=(f[i+236>>2]|0)+1|0;t=bY(A,f[((f[t>>2]&3|0)==3?t:t+48|0)+40>>2]|0)|0;while(1){if(!t)break A;r=t+-48|0;n=f[((f[t>>2]&3|0)==2?t:r)+40>>2]|0;if((n|0)!=(e|0)?(KI(n)|0)==(e|0):0){n=f[((f[t>>2]&3|0)==2?t:r)+40>>2]|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];yM(l,A,n,u,i);n=l;r=f[n+4>>2]|0;a=s;f[a>>2]=f[n>>2];f[a+4>>2]=r;qa(t);a=t+48|0;r=f[(f[((f[t>>2]&3|0)==3?t:a)+40>>2]|0)+16>>2]|0;n=f[r+180>>2]|0;if(!n)r=Pb((f[r+184>>2]<<2)+8|0)|0;else r=Hb(n,(f[r+184>>2]<<2)+8|0)|0;f[(f[(f[((f[t>>2]&3|0)==3?t:a)+40>>2]|0)+16>>2]|0)+180>>2]=r;n=f[(f[((f[t>>2]&3|0)==3?t:a)+40>>2]|0)+16>>2]|0;c=f[n+180>>2]|0;n=n+184|0;B=f[n>>2]|0;f[n>>2]=B+1;f[c+(B<<2)>>2]=t;B=f[(f[((f[t>>2]&3|0)==3?t:a)+40>>2]|0)+16>>2]|0;f[(f[B+180>>2]|0)+(f[B+184>>2]<<2)>>2]=0;i=i+1|0}t=BY(A,t)|0}}}}while(0);v=b;return}function QM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0.0;Hv(e,f[(f[(Fp(e)|0)+16>>2]|0)+116>>2]&1);r=f[e+16>>2]|0;o[r+24>>3]=+(f[i+4>>2]|0);n=+o[r+88>>3]+ +(f[i>>2]|0);o[r+16>>3]=n;n=n+ +o[r+96>>3];f[i>>2]=~~(n+ +(f[(f[(Fp(e)|0)+16>>2]|0)+248>>2]|0));r=i;e=f[r+4>>2]|0;i=A;f[i>>2]=f[r>>2];f[i+4>>2]=e;return}function yM(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0;l=v;v=v+16|0;t=l;e=zf(e)|0;a=KI(i)|0;if((a|0)!=(i|0))xa(a,i);c=f[i+16>>2]|0;f[c+236>>2]=n;a=f[(f[a+16>>2]|0)+232>>2]|0;f[c+232>>2]=a;f[(f[(f[(f[e+16>>2]|0)+196>>2]|0)+(a<<6)+4>>2]|0)+(n<<2)>>2]=i;f[t>>2]=f[r>>2];f[t+4>>2]=f[r+4>>2];QM(A,i,t);v=l;return}function YM(A){A=A|0;var e=0.0,i=0.0,r=0,a=0,t=0,l=0.0,c=0,s=0,u=0,b=0.0;u=f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0;if((zf(A)|0)==(A|0))l=8.0;else l=+(XI(A,f[42189]|0,8,0)|0);s=A+16|0;a=f[s>>2]|0;r=0;c=1;i=+o[a+120>>3];e=+o[a+128>>3];while(1){if((c|0)>(f[a+180>>2]|0))break;t=f[(f[a+184>>2]|0)+(c<<2)>>2]|0;r=YM(t)|0|r;t=f[t+16>>2]|0;a=f[s>>2]|0;if((n[t+238>>1]|0)==(n[a+238>>1]|0)){b=+o[t+120>>3]+l;i=i>b?i:b}if((n[t+236>>1]|0)==(n[a+236>>1]|0)){b=+o[t+128>>3]+l;e=e>b?e:b}c=c+1|0}if((zf(A)|0)!=(A|0)?(f[(f[s>>2]|0)+12>>2]|0)!=0:0)if(!(f[(f[(Dp(A)|0)+16>>2]|0)+116>>2]&1)){c=f[s>>2]|0;r=1;i=+o[c+56>>3]+i;e=+o[c+88>>3]+e}else r=1;c=f[s>>2]|0;o[c+120>>3]=i;o[c+128>>3]=e;if((zf(A)|0)!=(A|0)){s=f[s>>2]|0;A=u+(n[s+236>>1]<<6)+24|0;b=+o[A>>3];o[A>>3]=b>e?b:e;u=u+(n[s+238>>1]<<6)+16|0;b=+o[u>>3];o[u>>3]=b>i?b:i}return r|0}function pM(A,e){A=A|0;e=e|0;var i=0,r=0.0,a=0.0,t=0,l=0,c=0.0,s=0,u=0,b=0,v=0,B=0.0,k=0.0;v=f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0;if((zf(A)|0)==(A|0))i=0;else i=XI(A,f[42189]|0,8,0)|0;s=A+16|0;t=f[s>>2]|0;u=i+e|0;c=+(i|0);l=1;r=+o[t+128>>3];a=+o[t+120>>3];i=t;while(1){if((l|0)>(f[i+180>>2]|0))break;t=f[(f[i+184>>2]|0)+(l<<2)>>2]|0;pM(t,u);t=f[t+16>>2]|0;i=f[s>>2]|0;if((n[t+238>>1]|0)==(n[i+238>>1]|0)){k=+o[t+120>>3]+c;a=a>k?a:k}if((n[t+236>>1]|0)==(n[i+236>>1]|0)){k=+o[t+128>>3]+c;r=r>k?r:k}l=l+1|0}o[i+120>>3]=a;o[i+128>>3]=r;if(((zf(A)|0)!=(A|0)?(b=f[s>>2]|0,f[b+12>>2]|0):0)?(B=-a-r+ +o[b+48+((+o[b+104>>3]>+o[b+72>>3]?3:1)<<4)+8>>3]-+o[(f[(f[f[v+(n[b+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +o[(f[(f[f[v+(n[b+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],B>0.0):0)VM(A,~~B,e);if((zf(A)|0)!=(A|0)){b=f[s>>2]|0;u=v+(n[b+236>>1]<<6)+24|0;k=+o[u>>3];B=+o[b+128>>3];o[u>>3]=k>B?k:B;v=v+(n[b+238>>1]<<6)+16|0;B=+o[v>>3];k=+o[b+120>>3];o[v>>3]=B>k?B:k}return}function VM(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0.0,t=0.0,l=0.0,c=0,s=0,u=0,b=0.0,v=0.0,B=0,k=0,w=0;c=f[(zf(A)|0)+16>>2]|0;k=f[c+196>>2]|0;B=f[A+16>>2]|0;A=n[B+238>>1]|0;r=n[B+236>>1]|0;s=(e+1|0)/2|0;u=B+120|0;b=+o[u>>3];v=+(s|0);t=+(i|0);i=~~(v+t+b-+o[k+(A<<6)+16>>3]);if((i|0)>0){a=+(i|0);while(1){if((A|0)<(r|0))break;if((f[k+(A<<6)>>2]|0)>0){w=(f[(f[f[k+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;o[w>>3]=+o[w>>3]+a}A=A+-1|0}l=+o[B+128>>3];A=i;a=l+ +(e-s|0)}else{l=+o[B+128>>3];A=e-s|0;a=l}A=~~(+(A|0)+t+a-+o[k+(r<<6)+24>>3]);A:do{if((A|0)>0){i=n[c+236>>1]|0;a=+(A|0);while(1){A=r+-1|0;if((r|0)<=(i|0))break A;if((f[k+(A<<6)>>2]|0)<=0){r=A;continue}r=(f[(f[f[k+(A<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;o[r>>3]=+o[r>>3]+a;r=A}}}while(0);o[B+128>>3]=l+ +(e-s|0);o[u>>3]=b+v;return}function NM(A,e){A=A|0;e=e|0;var i=0,n=0;i=f[A+16>>2]|0;n=r[i+84>>0]|0;A=f[e+16>>2]|0;do{if(n<<24>>24==(r[A+84>>0]|0)){if(+o[i+56>>3]==+o[A+56>>3]){if(!(n<<24>>24==0?1:+o[i+64>>3]==+o[A+64>>3])){A=0;break}}else if(n<<24>>24){A=0;break}if(+o[i+16>>3]==+o[A+16>>3]?+o[i+24>>3]==+o[A+24>>3]:0){A=1;break}A=(r[i+44>>0]|0)==0&1}else A=0}while(0);return A|0}function WM(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0;l=A+16|0;e=f[l>>2]|0;n[e+236>>1]=32767;n[e+238>>1]=-1;e=0;t=Ep(A)|0;while(1){i=f[l>>2]|0;if(!t)break;r=i+238|0;a=f[(f[t+16>>2]|0)+232>>2]|0;if((a|0)>(n[r>>1]|0))n[r>>1]=a;i=i+236|0;if((a|0)<(n[i>>1]|0))n[i>>1]=a;if(!e)e=t;else e=(a|0)<(f[(f[e+16>>2]|0)+232>>2]|0)?t:e;t=Qp(A,t)|0}f[i+264>>2]=e;return}function zM(A){A=A|0;var e=0,i=0,r=0,n=0,a=0.0;e=aY(A,79821)|0;if(!e)e=2147483647;else{a=+fR(e);e=~~(a*+(PY(A)|0))}r=A+16|0;i=0;while(1){n=f[r>>2]|0;if((i|0)>=(f[n+220>>2]|0))break;f[n+192>>2]=f[(f[n+216>>2]|0)+(i<<2)>>2];mv(A,(f[n+180>>2]|0)==0&1,e)|0;i=i+1|0}return}function JM(A,e){A=A|0;e=e|0;var i=0,r=0,a=0;r=v;v=v+16|0;i=r;if(!(aY(A,79830)|0))RM(A,e);else{a=(f[A+16>>2]|0)+136|0;n[a>>1]=n[a>>1]|16;PM(A,e)}if(0){a=f[13918]|0;A=f[A+16>>2]|0;e=n[A+236>>1]|0;f[i>>2]=n[A+238>>1];f[i+4>>2]=e;uP(a,79838,i)|0}v=r;return}function PM(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0.0;l=v;v=v+16|0;t=l;f[41933]=0;r[t>>0]=r[17644]|0;r[t+1>>0]=r[17645]|0;r[t+2>>0]=r[17646]|0;r[t+3>>0]=r[17647]|0;t=VY(80048,t,0)|0;cV(t,80077,280,1)|0;Op(t,17332,17272);HM(A);i=aY(A,79821)|0;if(!i)n=2147483647;else{c=+fR(i);n=~~(c*+(PY(A)|0))}eE(A,0);iE(A,t);rE(A,t);nE(A,t,0,0);fE(t);a=aE(t)|0;tE(t);if(e|0){OE(t);PE(t)}i=aY(A,87620)|0;if(!i)i=-1;else i=nR(i)|0;Lb(t,1,n,i)|0;lE(A,t,a);JY(t)|0;v=l;return}function RM(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;a=v;v=v+32|0;n=a+16|0;r=a+8|0;i=a;HM(A);do{if(!e){LM(A,A);qE(A);FM(i,A);t=i;i=f[t+4>>2]|0;e=r;f[e>>2]=f[t>>2];f[e+4>>2]=i;TQ(A,0);e=0}else{OE(A);PE(A);LM(A,A);qE(A);FM(i,A);l=i;i=f[l+4>>2]|0;t=r;f[t>>2]=f[l>>2];f[t+4>>2]=i;TQ(A,0);t=f[A+16>>2]|0;if((f[t+220>>2]|0)<=1?(f[t+180>>2]|0)<=0:0)break;f[e+32>>2]=1;e=0}}while(0);WE(A);f[n>>2]=f[r>>2];f[n+4>>2]=f[r+4>>2];if(DM(A,n)|0)TQ(A,0);if(!e)zM(A);else RE(A,e);XM(A,e);xM(A);v=a;return}function HM(A){A=A|0;var e=0,i=0,a=0;if(r[(f[(f[A+60>>2]|0)+16>>2]|0)+113>>0]&1){i=Ep(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;a=(f[e+16>>2]|0)+170|0;n[a>>1]=(t[a>>1]|0)<<1;e=BY(A,e)|0}i=Qp(A,i)|0}a=(f[A+16>>2]|0)+252|0;f[a>>2]=((f[a>>2]|0)+1|0)/2|0}return}function LM(A,e){A=A|0;e=e|0;var i=0;e=fN(e)|0;while(1){if(!e)break;i=qM(e)|0;do{if(i)if((i|0)==7&(f[42180]|0)==100){jM(A,e);break}else{$M(A,e,i);break}else LM(A,e)}while(0);e=aN(e)|0}return}function FM(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;l=e+16|0;i=f[l>>2]|0;e=f[i+228>>2]|0;i=f[i+224>>2]|0;n=(i|0)==0;if(!e)if(n){c=0;o=0}else a=4;else if(n)a=5;else a=4;if((a|0)==4){e=KI(i)|0;i=f[l>>2]|0;f[i+224>>2]=e;e=f[i+228>>2]|0;if(!e){t=0;e=i;a=12}else a=5}do{if((a|0)==5){e=KI(e)|0;i=f[l>>2]|0;f[i+228>>2]=e;if(e){i=e+16|0;e=f[i>>2]|0;n=(r[e+159>>0]|0)==5&1;while(1){e=f[f[e+180>>2]>>2]|0;if(!e){a=11;break}t=f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((t|0)!=(KI(t)|0)){a=9;break}NE(e);e=f[i>>2]|0}if((a|0)==9)BA(79941,79881,346,79973);else if((a|0)==11){t=n;e=f[l>>2]|0;a=12;break}}else{t=0;e=i;a=12}}}while(0);A:do{if((a|0)==12){e=f[e+224>>2]|0;if(!e){c=0;o=t}else{i=e+16|0;e=f[i>>2]|0;n=(r[e+159>>0]|0)==3&1;while(1){e=f[f[e+172>>2]>>2]|0;if(!e){c=n;o=t;break A}l=f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;if((l|0)!=(KI(l)|0))break;NE(e);e=f[i>>2]|0}BA(79986,79881,353,79973)}}}while(0);f[A>>2]=c;f[A+4>>2]=o;return}function DM(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0;c=A+16|0;l=f[c>>2]|0;if((f[l+228>>2]|0)==0?(f[l+224>>2]|0)==0:0)e=0;else i=3;A:do{if((i|0)==3){a=Ep(A)|0;l=e+4|0;t=f[e>>2]&65535;e=0;while(1){if(!a)break A;if((a|0)==(KI(a)|0)){r=a+16|0;i=f[r>>2]|0;if((f[i+184>>2]|0)==0?(o=f[(f[c>>2]|0)+228>>2]|0,!((o|0)==0|(a|0)==(o|0))):0){e=Da(a,o,0)|0;i=f[e+16>>2]|0;n[i+170>>1]=f[l>>2];f[i+156>>2]=0;i=f[r>>2]|0}if((f[i+176>>2]|0)==0?(s=f[(f[c>>2]|0)+224>>2]|0,!((s|0)==0|(a|0)==(s|0))):0){e=Da(s,a,0)|0;r=f[e+16>>2]|0;n[r+170>>1]=t;f[r+156>>2]=0}}a=Qp(A,a)|0}}}while(0);return(e|0)!=0|0}function XM(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0;a=Ep(A)|0;o=A+16|0;i=f[o>>2]|0;A:do{if(a){n[i+236>>1]=32767;n[i+238>>1]=-1;c=(e|0)==0;while(1){if(!a)break;i=KI(a)|0;l=f[a+16>>2]|0;e=f[l+232>>2]|0;do{if((i|0)!=(a|0)){if(!c)if(!e)e=0;else break;e=e+(f[(f[i+16>>2]|0)+232>>2]|0)|0;f[l+232>>2]=e}}while(0);i=f[o>>2]|0;t=i+238|0;if((e|0)>(n[t>>1]|0))n[t>>1]=e;i=i+236|0;if((e|0)<(n[i>>1]|0))n[i>>1]=e;switch(r[l+159>>0]|0){case 6:case 0:break;default:qI(a)}a=Qp(A,a)|0}if((zf(A)|0)==(A|0)){if((f[42180]|0)==100)e=1;else{SM(A);break}while(1){i=f[o>>2]|0;if((e|0)>(f[i+180>>2]|0))break A;UM(f[(f[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{n[i+238>>1]=0;n[i+236>>1]=0}}while(0);return}function xM(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;c=A+16|0;i=0;while(1){e=f[c>>2]|0;if((i|0)>=(f[e+220>>2]|0))break;l=f[(f[e+216>>2]|0)+(i<<2)>>2]|0;f[e+192>>2]=l;e=l;while(1){if(!e)break;l=e+16|0;TM((f[l>>2]|0)+172|0);TM((f[l>>2]|0)+180|0);l=f[l>>2]|0;r[l+157>>0]=0;e=f[l+164>>2]|0}i=i+1|0}l=Ep(A)|0;while(1){if(!l)break;t=bY(A,l)|0;while(1){if(!t)break;n=t+16|0;e=f[n>>2]|0;a=f[e+172>>2]|0;if((a|0)!=0?(o=a+16|0,(t|0)==(f[(f[o>>2]|0)+116>>2]|0)):0){e=Ep(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;if((t|0)!=(i|0)?(s=(f[i+16>>2]|0)+172|0,u=f[s>>2]|0,(u|0)!=0&(a|0)==(u|0)):0)f[s>>2]=0;i=BY(A,i)|0}e=Qp(A,e)|0}HW(f[o>>2]|0);HW(a);e=f[n>>2]|0}f[e+172>>2]=0;t=BY(A,t)|0}l=Qp(A,l)|0}HW(f[(f[c>>2]|0)+216>>2]|0);u=f[c>>2]|0;f[u+216>>2]=0;f[u+220>>2]=0;return}function TM(A){A=A|0;var e=0,i=0;i=A+4|0;e=f[i>>2]|0;while(1){if((e|0)<=-1)break;f[(f[A>>2]|0)+(e<<2)>>2]=0;e=e+-1|0}f[i>>2]=0;return}function UM(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=f[e>>2]|0;r=f[(f[(f[i+264>>2]|0)+16>>2]|0)+232>>2]|0;A=i+236|0;n[A>>1]=r+(t[A>>1]|0);A=i+238|0;n[A>>1]=r+(t[A>>1]|0);A=1;while(1){if((A|0)>(f[i+180>>2]|0))break;UM(f[(f[i+184>>2]|0)+(A<<2)>>2]|0);A=A+1|0;i=f[e>>2]|0}return}function SM(A){A=A|0;var e=0;e=fN(zf(A)|0)|0;while(1){if(!e)break;if((r[(f[e+16>>2]|0)+274>>0]|0)==7)jM(A,e);e=aN(e)|0}return}function jM(A,e){A=A|0;e=e|0;var i=0;i=(f[e+16>>2]|0)+200|0;do{if((f[i>>2]|0)==0?(f[i>>2]=A,OM(A,e),Ep(e)|0):0){KM(A,e);if((f[42180]|0)==100){RM(e,0);_M(e);break}else{WM(e);break}}}while(0);return}function OM(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;t=A+16|0;a=Ep(e)|0;while(1){if(!a)break;l=Qp(e,a)|0;c=a+16|0;if(!(r[(f[c>>2]|0)+159>>0]|0))n=1;else{Lp(e,a)|0;a=l;continue}while(1){i=f[t>>2]|0;A=f[i+180>>2]|0;if((n|0)>=(A|0))break;if(_p(f[(f[i+184>>2]|0)+(n<<2)>>2]|0,a)|0){o=7;break}n=n+1|0}if((o|0)==7){o=0;A=f[(f[t>>2]|0)+180>>2]|0}if((n|0)<(A|0))Lp(e,a)|0;f[(f[c>>2]|0)+212>>2]=0;a=l}i=Ep(e)|0;while(1){if(!i)break;A=bY(zf(e)|0,i)|0;while(1){if(!A)break;if(_p(e,f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0)YY(e,A,1)|0;A=BY(zf(e)|0,A)|0}i=Qp(e,i)|0}return}function KM(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;r=A+16|0;i=f[r>>2]|0;a=i+180|0;A=f[a>>2]|0;n=A+1|0;f[a>>2]=n;i=f[i+184>>2]|0;if(!i)A=Jb((A<<2)+8|0)|0;else A=Rb(i,A+2|0,4,n)|0;f[(f[r>>2]|0)+184>>2]=A;f[A+(n<<2)>>2]=e;Zb(e);return}function _M(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;a=f[A+16>>2]|0;e=a+192|0;t=0;while(1){e=f[e>>2]|0;if(!e)break;n=f[e+16>>2]|0;if(!(f[n+232>>2]|0))i=(r[n+156>>0]|0)==0?e:t;else i=t;e=n+164|0;t=i}if(!t)BA(79866,79881,238,79888);f[a+264>>2]=t;e=Ep(A)|0;while(1){if(!e){e=13;break}i=e+16|0;if(!((e|0)==(t|0)?1:(f[(f[i>>2]|0)+216>>2]|0)<2)){e=11;break}_I(e,t)|0;r[(f[i>>2]|0)+159>>0]=7;e=Qp(A,e)|0}if((e|0)==11)BA(79903,79881,242,79888);else if((e|0)==13)return}function qM(A){A=A|0;var e=0;if(!(AE(A)|0)){e=aC(aY(A,80018)|0,17284,17308)|0;r[(f[A+16>>2]|0)+274>>0]=e;A=e}else A=7;return A|0}function $M(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;a=Ep(e)|0;A:do{if(a|0){c=i&255;l=a+16|0;n=a;t=c;while(1){r[(f[n+16>>2]|0)+159>>0]=t;n=Qp(e,n)|0;if(!n)break;_I(a,n)|0;t=r[(f[l>>2]|0)+159>>0]|0}switch(i|0){case 3:case 2:{A=A+16|0;n=f[A>>2]|0;t=f[n+224>>2]|0;if(t){a=_I(t,a)|0;n=f[A>>2]|0}f[n+224>>2]=a;break}case 5:case 4:{A=A+16|0;n=f[A>>2]|0;t=f[n+228>>2]|0;if(t){a=_I(t,a)|0;n=f[A>>2]|0}f[n+228>>2]=a;break}default:break A}switch(i|0){case 3:{n=n+224|0;break}case 5:{n=n+228|0;break}default:break A}r[(f[(f[n>>2]|0)+16>>2]|0)+159>>0]=c}}while(0);return}function AE(A){A=A|0;return(Wz(Ap(A)|0,93039,7)|0)==0|0}function eE(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+16|0;a=s;if(!(ZE(A)|0)){do{if(mC(A)|0)if(!e){f[(f[A+16>>2]|0)+204>>2]=0;e=A;break}else{f[(f[A+16>>2]|0)+204>>2]=(f[(f[e+16>>2]|0)+204>>2]|0)+1;GE(A,e);e=A;break}}while(0);i=fN(A)|0;while(1){if(!i)break;eE(i,e);i=aN(i)|0}A:do{if(mC(A)|0){i=Ep(A)|0;while(1){if(!i)break A;n=(f[i+16>>2]|0)+212|0;if(!(f[n>>2]|0))f[n>>2]=A;i=Qp(A,i)|0}}}while(0);switch(IE(A)|0){case 3:{e=e+16|0;r[(f[e>>2]|0)+241>>0]=1;o=19;break}case 2:{e=e+16|0;o=19;break}case 5:{e=e+16|0;r[(f[e>>2]|0)+242>>0]=1;o=21;break}case 4:{e=e+16|0;o=21;break}case 1:{CE(A)|0;break}case 6:break;default:{i=Ap(A)|0;n=aY(A,80018)|0;f[a>>2]=i;f[a+4>>2]=n;Iy(0,80201,a)|0}}if((o|0)==19){o=CE(A)|0;o=ME(o,f[(f[e>>2]|0)+208>>2]|0)|0;f[(f[e>>2]|0)+208>>2]=o}else if((o|0)==21){o=CE(A)|0;o=ME(o,f[(f[e>>2]|0)+212>>2]|0)|0;f[(f[e>>2]|0)+212>>2]=o}if((mC(A)|0?(t=A+16|0,l=f[t>>2]|0,c=f[l+208>>2]|0,c|0):0)?(c|0)==(f[l+212>>2]|0):0){c=CE(A)|0;o=f[t>>2]|0;f[o+208>>2]=c;f[o+212>>2]=c}}v=s;return}function iE(A,e){A=A|0;e=e|0;var i=0,r=0;f[41933]=0;i=Ep(A)|0;while(1){if(!i)break;if((cE(i)|0)==(i|0)){r=uE(e,Ap(i)|0)|0;f[(f[i+16>>2]|0)+148>>2]=r}i=Qp(A,i)|0}i=Ep(A)|0;while(1){if(!i)break;e=i+16|0;if(!(f[(f[e>>2]|0)+148>>2]|0)){r=f[(f[(cE(i)|0)+16>>2]|0)+148>>2]|0;f[(f[e>>2]|0)+148>>2]=r}i=Qp(A,i)|0}return}function rE(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;t=Ep(A)|0;while(1){if(!t)break;i=f[(f[t+16>>2]|0)+148>>2]|0;l=bY(A,t)|0;while(1){if(!l)break;do{if((wE(l)|0)==0?(c=l+-48|0,o=f[(f[(cE(f[((f[l>>2]&3|0)==2?l:c)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(i|0)!=(o|0)):0){n=f[l>>2]&3;a=l+48|0;r=((n|0)==3?l:a)+40|0;n=f[(f[(f[((n|0)==2?l:c)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(hE(l)|0)){if((kE(f[(f[(f[r>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(kE(n)|0)==0:0){dE(e,i,o,l);break}gE(e,i,o,l);break}else{n=cE(f[r>>2]|0)|0;r=f[l>>2]&3;if((n|0)!=(f[(f[(f[(f[(f[((r|0)==3?l:a)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(a=cE(f[((r|0)==2?l:c)+40>>2]|0)|0,(a|0)!=(f[(f[(f[(f[(f[((f[l>>2]&3|0)==2?l:c)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)r=o;else{r=i;i=o}dE(e,i,r,l);break}}}while(0);l=BY(A,l)|0}t=Qp(A,t)|0}return}function nE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;if((mC(A)|0)!=0?(kE(A)|0)!=0:0){a=Ep(A)|0;while(1){if(!a)break;if(!(kY(A,a)|0)){n=f[(f[(cE(a)|0)+16>>2]|0)+148>>2]|0;if(!i)i=uE(e,80099)|0;MY(e,i,n,0,1)|0}if(!(bY(A,a)|0)){n=f[(f[(cE(a)|0)+16>>2]|0)+148>>2]|0;if(!r)r=uE(e,80104)|0;MY(e,n,r,0,1)|0}a=Qp(A,a)|0}if((r|0)!=0&(i|0)!=0){BE(MY(e,i,r,0,1)|0,0,1e3);n=i}else n=i}else n=i;i=fN(A)|0;while(1){if(!i)break;nE(i,e,n,r);i=aN(i)|0}return}function fE(A){A=A|0;var e=0,i=0;e=Ep(A)|0;while(1){if(!e)break;i=f[e+16>>2]|0;r[i+158>>0]=0;r[i+157>>0]=0;e=Qp(A,e)|0}e=Ep(A)|0;while(1){if(!e)break;bE(A,e);e=Qp(A,e)|0}return}function aE(A){A=A|0;var e=0,i=0,r=0,n=0;e=Ep(A)|0;while(1){if(!e)break;f[(f[e+16>>2]|0)+128>>2]=0;e=Qp(A,e)|0}e=0;r=Ep(A)|0;while(1){if(!r)break;i=e+1|0;if(!(f[(f[r+16>>2]|0)+128>>2]|0)){sE(A,r,i);e=i}r=Qp(A,r)|0}A:do{if((e|0)>1){n=uE(A,80093)|0;i=1;r=Ep(A)|0;while(1){if(!r)break A;if((f[(f[r+16>>2]|0)+128>>2]|0)==(i|0)){MY(A,n,r,0,1)|0;i=i+1|0}r=Qp(A,r)|0}}}while(0);return e|0}function tE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0;a=Ep(A)|0;while(1){if(!a)break;t=a+16|0;n=bY(A,a)|0;while(1){if(!n)break;e=f[t>>2]|0;i=f[e+180>>2]|0;if(!i)e=Pb((f[e+184>>2]<<2)+8|0)|0;else e=Hb(i,(f[e+184>>2]<<2)+8|0)|0;i=f[t>>2]|0;f[i+180>>2]=e;i=i+184|0;r=f[i>>2]|0;f[i>>2]=r+1;f[e+(r<<2)>>2]=n;r=f[t>>2]|0;f[(f[r+180>>2]|0)+(f[r+184>>2]<<2)>>2]=0;r=n+-48|0;e=f[(f[((f[n>>2]&3|0)==2?n:r)+40>>2]|0)+16>>2]|0;i=f[e+172>>2]|0;if(!i)e=Pb((f[e+176>>2]<<2)+8|0)|0;else e=Hb(i,(f[e+176>>2]<<2)+8|0)|0;f[(f[(f[((f[n>>2]&3|0)==2?n:r)+40>>2]|0)+16>>2]|0)+172>>2]=e;l=f[(f[((f[n>>2]&3|0)==2?n:r)+40>>2]|0)+16>>2]|0;e=f[l+172>>2]|0;l=l+176|0;i=f[l>>2]|0;f[l>>2]=i+1;f[e+(i<<2)>>2]=n;r=f[(f[((f[n>>2]&3|0)==2?n:r)+40>>2]|0)+16>>2]|0;f[(f[r+172>>2]|0)+(f[r+176>>2]<<2)>>2]=0;n=BY(A,n)|0}a=Qp(A,a)|0}return}function lE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;b=A+16|0;v=f[b>>2]|0;n[v+236>>1]=32767;n[v+238>>1]=-1;A:do{if((i|0)>1){a=Jb((i<<2)+4|0)|0;r=i+1|0;i=1;while(1){if((i|0)==(r|0)){u=a;v=a;break A}f[a+(i<<2)>>2]=32767;i=i+1|0}}else{u=0;v=0}}while(0);l=(u|0)==0;a=Ep(A)|0;while(1){if(!a)break;c=f[(f[(f[(cE(a)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;o=f[c+232>>2]|0;s=f[a+16>>2]|0;f[s+232>>2]=o;i=f[b>>2]|0;r=i+238|0;if((o|0)>(n[r>>1]|0))n[r>>1]=o;i=i+236|0;if((o|0)<(n[i>>1]|0))n[i>>1]=o;if(!l){c=f[c+128>>2]|0;f[s+128>>2]=c;s=u+(c<<2)|0;c=f[s>>2]|0;f[s>>2]=(c|0)<(o|0)?c:o}a=Qp(A,a)|0}c=(u|0)!=0;A:do{if(!c){u=n[(f[b>>2]|0)+236>>1]|0;r=u<<16>>16;if(u<<16>>16>0){i=Ep(A)|0;while(1){if(!i)break;u=(f[i+16>>2]|0)+232|0;f[u>>2]=(f[u>>2]|0)-r;i=Qp(A,i)|0}i=f[b>>2]|0;b=i+236|0;n[b>>1]=(t[b>>1]|0)-r;i=i+238|0;n[i>>1]=(t[i>>1]|0)-r;i=0}else i=0}else{i=Ep(A)|0;while(1){if(!i){i=1;break A}s=f[i+16>>2]|0;b=s+232|0;f[b>>2]=(f[b>>2]|0)-(f[u+(f[s+128>>2]<<2)>>2]|0);i=Qp(A,i)|0}}}while(0);oE(A,i);l=Ep(e)|0;while(1){if(!l)break;r=l+16|0;i=f[r>>2]|0;a=f[i+172>>2]|0;if(a){HW(a);i=f[r>>2]|0}i=f[i+180>>2]|0;if(i|0)HW(i);l=Qp(e,l)|0}HW(f[(f[(Ep(A)|0)+16>>2]|0)+112>>2]|0);i=Ep(A)|0;while(1){if(!i)break;f[(f[i+16>>2]|0)+112>>2]=0;i=Qp(A,i)|0}if(c)HW(v);return}function cE(A){A=A|0;var e=0,i=0,r=0;e=A+16|0;i=(f[e>>2]|0)+152|0;r=f[i>>2]|0;if(r){if((r|0)!=(A|0)){r=cE(r)|0;f[(f[e>>2]|0)+152>>2]=r;return r|0}}else f[i>>2]=A;return A|0}function oE(A,e){A=A|0;e=e|0;var i=0,r=0,a=0,t=0,l=0;l=A+16|0;i=1;while(1){r=f[l>>2]|0;if((i|0)>(f[r+180>>2]|0))break;oE(f[(f[r+184>>2]|0)+(i<<2)>>2]|0,0);i=i+1|0}if((e|0)!=0|(f[r+200>>2]|0)!=0){n[r+236>>1]=32767;n[r+238>>1]=-1;i=0;t=Ep(A)|0;while(1){if(!t)break;a=f[(f[t+16>>2]|0)+232>>2]|0;e=f[l>>2]|0;r=e+238|0;if((a|0)>(n[r>>1]|0))n[r>>1]=a;e=e+236|0;if((a|0)<(n[e>>1]|0)){n[e>>1]=a;i=t}t=Qp(A,t)|0}f[(f[l>>2]|0)+264>>2]=i}return}function sE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=(f[e+16>>2]|0)+128|0;A:do{if(!(f[r>>2]|0)){f[r>>2]=i;r=bY(A,e)|0;while(1){if(!r)break;sE(A,f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,i);r=BY(A,r)|0}r=kY(A,e)|0;while(1){if(!r)break A;sE(A,f[((f[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0,i);r=wY(A,r)|0}}}while(0);return}function uE(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=Pp(A,e,1)|0;e=n+16|0;f[(f[e>>2]|0)+176>>2]=0;r=Jb(20)|0;i=f[e>>2]|0;f[i+172>>2]=r;f[i+184>>2]=0;i=Jb(20)|0;e=f[e>>2]|0;f[e+180>>2]=i;i=f[41933]|0;r=e+168|0;if(!i){f[r>>2]=0;f[(f[A+16>>2]|0)+192>>2]=n}else{f[r>>2]=i;f[(f[i+16>>2]|0)+164>>2]=n}f[41933]=n;f[e+164>>2]=0;return n|0}function bE(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;t=e+16|0;i=f[t>>2]|0;n=i+157|0;if(!(r[n>>0]|0)){r[n>>0]=1;r[i+158>>0]=1;e=bY(A,e)|0;while(1){if(!e)break;i=BY(A,e)|0;n=f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;a=f[n+16>>2]|0;if(r[a+158>>0]|0){vE(A,e);e=i;continue}if(r[a+157>>0]|0){e=i;continue}bE(A,n);e=i}r[(f[t>>2]|0)+158>>0]=0}return}function vE(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=f[e>>2]&3;n=e+-48|0;r=e+48|0;i=MY(A,f[((i|0)==2?e:n)+40>>2]|0,f[((i|0)==3?e:r)+40>>2]|0,0,0)|0;if(!i){i=f[e>>2]&3;i=MY(A,f[((i|0)==2?e:n)+40>>2]|0,f[((i|0)==3?e:r)+40>>2]|0,0,1)|0}n=f[e+16>>2]|0;BE(i,t[n+170>>1]|0,f[n+156>>2]|0);Lp(A,e)|0;return}function BE(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,a=0;A=f[A+16>>2]|0;r=A+170|0;a=t[r>>1]|0;n[r>>1]=(a|0)>(e|0)?a:e;e=A+156|0;f[e>>2]=(f[e>>2]|0)+i;return}function kE(A){A=A|0;return(OI(aY(A,80109)|0,0)|0)&255|0}function wE(A){A=A|0;var e=0,i=0;e=f[42234]|0;if((((e|0)!=0?(i=tY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(jI(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function hE(A){A=A|0;var e=0,i=0;i=f[A>>2]&3;e=f[(f[(f[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;A=f[(f[(f[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((e|0)==(A|0))return 1;else{i=mE(e,A)|0;return((i|0)==(e|0)|(i|0)==(A|0))&1|0}return 0}function dE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,l=0,c=0;c=v;v=v+16|0;a=c;n=MY(A,e,i,0,0)|0;if(!n){n=MY(A,i,e,0,0)|0;if(!n){n=MY(A,e,i,0,1)|0;if(!n){e=Ap(e)|0;r=Ap(i)|0;f[a>>2]=e;f[a+4>>2]=r;Iy(1,80126,a)|0}else l=4}else l=4}else l=4;if((l|0)==4){l=f[r+16>>2]|0;BE(n,t[l+170>>1]|0,f[l+156>>2]|0)}v=c;return}function gE(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0,c=0,o=0,s=0,u=0;s=v;v=v+112|0;c=s;l=s+4|0;a=kY(A,e)|0;while(1){if(!a){o=6;break}u=bY(A,f[((f[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;if(u|0?(f[((f[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)==(i|0):0)break;a=wY(A,a)|0}if((o|0)==6){u=f[41934]|0;f[41934]=u+1;f[c>>2]=u;iP(l,80117,c)|0;l=uE(A,l)|0;u=MY(A,l,e,0,1)|0;l=MY(A,l,i,0,1)|0;i=f[r+16>>2]|0;o=i+156|0;u=(f[u+16>>2]|0)+156|0;f[u>>2]=(f[u>>2]|0)+((f[o>>2]|0)*1e3|0);u=f[l+16>>2]|0;c=u+170|0;n[c>>1]=n[(f[((t[c>>1]|0)>(t[i+170>>1]|0)?l:r)+16>>2]|0)+170>>1]|0;u=u+156|0;f[u>>2]=(f[u>>2]|0)+(f[o>>2]|0)}v=s;return}function mE(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;A:while(1){r=A+16|0;while(1){if((A|0)==(e|0))break A;n=f[r>>2]|0;i=f[e+16>>2]|0;if((f[n+204>>2]|0)>=(f[i+204>>2]|0))break;e=f[i+200>>2]|0}A=f[n+200>>2]|0}return A|0}function ZE(A){A=A|0;return(Ep(A)|0)==0|0}function GE(A,e){A=A|0;e=e|0;f[(f[A+16>>2]|0)+200>>2]=e;KM(e,A);OM(e,A);return}function IE(A){A=A|0;var e=0;A=aY(A,80018)|0;if((A|0)!=0?(r[A>>0]|0)!=0:0)if(oz(A,80028)|0)if(oz(A,80032)|0)if(oz(A,80039)|0)if(oz(A,80043)|0)if(!(oz(A,80023)|0))A=1;else e=8;else A=5;else A=4;else A=3;else A=2;else e=8;if((e|0)==8)A=6;return A|0}function CE(A){A=A|0;var e=0,i=0;i=Ep(A)|0;A:do{if(!i)e=0;else{e=cE(i)|0;while(1){i=Qp(A,i)|0;if(!i)break A;ME(e,i)|0}}}while(0);return e|0}function ME(A,e){A=A|0;e=e|0;if(e){A=cE(A)|0;f[(f[(cE(e)|0)+16>>2]|0)+152>>2]=A}return A|0}function EE(A,e,i){A=A|0;e=e|0;i=i|0;cV(e,80077,f[i>>2]|0,1)|0;return}function QE(A,e,i){A=A|0;e=e|0;i=i|0;cV(e,80244,f[i+4>>2]|0,1)|0;return}function yE(A,e,i){A=A|0;e=e|0;i=i|0;cV(e,80229,f[i+8>>2]|0,1)|0;return}function YE(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+240|0;s=B+120|0;u=B;f[42238]=Ky(A,2,80259,0)|0;o=Ky(A,2,80268,0)|0;f[42239]=o;A:do{if((o|0)!=0|(f[42238]|0)!=0){o=Ep(A)|0;while(1){if(!o)break A;c=0;e=0;l=hY(A,o)|0;while(1){if(!l){n=0;break}i=f[l>>2]|0;a=i&3;n=f[((a|0)==2?l:l+-48|0)+40>>2]|0;t=l+48|0;e:do{if((n|0)!=(f[((a|0)==3?l:t)+40>>2]|0)){a=f[42238]|0;do{if((n|0)==(o|0)&(a|0)!=0){n=tY(l,a)|0;if(!(r[n>>0]|0)){i=f[l>>2]|0;break}else{i=c;e=pE(s,e,o,l,n)|0;break e}}}while(0);n=f[42239]|0;if((n|0?(f[((i&3|0)==3?l:t)+40>>2]|0)==(o|0):0)?(b=tY(l,n)|0,(r[b>>0]|0)!=0):0)i=pE(u,c,o,l,b)|0;else i=c}else i=c}while(0);c=i;l=dY(A,l,o)|0}while(1){if((n|0)>=(e|0)){i=0;break}i=s+(n*24|0)+4|0;if((f[s+(n*24|0)+8>>2]|0)>1)VE(o,i);i=f[i>>2]|0;if(i|0)HW(i);n=n+1|0}while(1){if((i|0)>=(c|0))break;e=u+(i*24|0)+4|0;if((f[u+(i*24|0)+8>>2]|0)>1)VE(o,e);e=f[e>>2]|0;if(e|0)HW(e);i=i+1|0}o=Qp(A,o)|0}}}while(0);v=B;return}function pE(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;B=v;v=v+16|0;c=B;s=B+12|0;u=B+8|0;b=0;while(1){if((b|0)>=(e|0)){l=10;break}l=f[A+(b*24|0)>>2]|0;if((r[l>>0]|0)==(r[a>>0]|0)?(oz(l,a)|0)==0:0){l=5;break}b=b+1|0}do{if((l|0)==5){c=A+(b*24|0)+4|0;l=f[c>>2]|0;if(!l){l=A+(b*24|0)+8|0;a=l;l=Pb((f[l>>2]<<2)+8|0)|0}else{k=A+(b*24|0)+8|0;a=k;l=Hb(l,(f[k>>2]<<2)+8|0)|0}f[c>>2]=l;w=f[a>>2]|0;k=w+1|0;f[a>>2]=k;f[l+(w<<2)>>2]=n;f[(f[c>>2]|0)+(k<<2)>>2]=0;l=13}else if((l|0)==10)if((e|0)>4){w=Ap(i)|0;f[c>>2]=5;f[c+4>>2]=w;Iy(1,80277,c)|0;break}else{h=A+(b*24|0)+8|0;f[h>>2]=0;c=Jb(8)|0;w=A+(b*24|0)+4|0;f[w>>2]=c;k=f[h>>2]|0;l=k+1|0;f[h>>2]=l;f[c+(k<<2)>>2]=n;f[(f[w>>2]|0)+(l<<2)>>2]=0;f[A+(b*24|0)>>2]=a;f[A+(b*24|0)+12>>2]=0;o[A+(b*24|0)+16>>3]=0.0;e=e+1|0;l=13;break}}while(0);if((l|0)==13){Fo(n,s,u);l=(f[((f[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(i|0)?f[u>>2]|0:f[s>>2]|0;if(l){w=A+(b*24|0)+12|0;h=f[w>>2]|0;f[w>>2]=h+1;if(!h)t=+To(n,l);else t=0.0;o[A+(b*24|0)+16>>3]=t}}v=B;return e|0}function VE(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0.0,c=0.0,s=0.0,u=0,b=0.0,B=0.0,k=0.0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0.0;G=v;v=v+80|0;d=G+68|0;g=G+64|0;w=G;m=e+4|0;u=f[m>>2]|0;Z=A+16|0;t=0;B=0.0;k=0.0;while(1){if((t|0)>=(u|0))break;n=f[(f[e>>2]|0)+(t<<2)>>2]|0;a=f[n>>2]&3;i=f[((a|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)==(A|0))i=f[((a|0)==3?n:n+48|0)+40>>2]|0;a=f[i+16>>2]|0;h=f[Z>>2]|0;c=+o[a+16>>3]-+o[h+16>>3];s=+o[a+24>>3]-+o[h+24>>3];b=+yz(c,s);t=t+1|0;B=c/b+B;k=s/b+k}l=+yz(B,k);h=f[Z>>2]|0;c=+o[h+16>>3];s=+o[h+24>>3];I=+o[h+96>>3]+ +o[h+88>>3];b=+o[h+80>>3];h=I>b+ +(f[(f[(Fp(A)|0)+16>>2]|0)+252>>2]|0);i=f[Z>>2]|0;if(h)b=+o[i+96>>3]+ +o[i+88>>3];else{b=+o[i+80>>3];b=b+ +(f[(f[(Fp(A)|0)+16>>2]|0)+252>>2]|0);i=f[Z>>2]|0}I=+o[i+16>>3]+b*(B/l);l=+o[i+24>>3]+b*(k/l);o[w>>3]=c;u=w+8|0;o[u>>3]=s;o[w+16>>3]=(I+c*2.0)*.3333333333333333;o[w+24>>3]=(l+s*2.0)*.3333333333333333;o[w+32>>3]=(I*2.0+c)*.3333333333333333;o[w+40>>3]=(l*2.0+s)*.3333333333333333;o[w+48>>3]=I;o[w+56>>3]=l;UG(A,w);h=f[Z>>2]|0;l=+o[w>>3]-+o[h+16>>3];c=+o[u>>3]-+o[h+24>>3];l=+(~~(l+(l>=0.0?.5:-.5))|0);c=+(~~(c+(c>=0.0?.5:-.5))|0);I=+o[h+88>>3];h=~~((I+l)*256.0/(+o[h+96>>3]+I))&255;w=0;while(1){if((w|0)>=(f[m>>2]|0))break;u=f[(f[e>>2]|0)+(w<<2)>>2]|0;Fo(u,d,g);while(1){if(!u)break;else a=u;while(1){if(!a){t=u;break}i=f[a>>2]|0;t=a+-48|0;if((f[((i&3|0)==2?a:t)+40>>2]|0)==(A|0)){i=f[a+16>>2]|0;o[i+56>>3]=l;o[i+64>>3]=c;o[i+72>>3]=0.0;f[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=h;r[i+89>>0]=0;f[i+92>>2]=0;i=f[a>>2]|0}n=a+16|0;if((f[((i&3|0)==3?a:a+48|0)+40>>2]|0)==(A|0)){i=f[n>>2]|0;o[i+16>>3]=l;o[i+24>>3]=c;o[i+32>>3]=0.0;f[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=h;r[i+49>>0]=0;f[i+52>>2]=0}if((r[(f[n>>2]|0)+112>>0]|0)!=1){a=0;continue}i=f[(f[((f[a>>2]&3|0)==2?a:t)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){a=0;continue}if((f[i+184>>2]|0)!=1){a=0;continue}a=f[f[i+180>>2]>>2]|0}while(1){if(!t)break;i=f[t>>2]|0;if((f[((i&3|0)==2?t:t+-48|0)+40>>2]|0)==(A|0)){i=f[t+16>>2]|0;o[i+56>>3]=l;o[i+64>>3]=c;o[i+72>>3]=0.0;f[i+80>>2]=0;r[i+84>>0]=1;r[i+85>>0]=0;r[i+86>>0]=0;r[i+87>>0]=0;r[i+88>>0]=h;r[i+89>>0]=0;f[i+92>>2]=0;i=f[t>>2]|0}n=t+48|0;a=t+16|0;if((f[((i&3|0)==3?t:n)+40>>2]|0)==(A|0)){i=f[a>>2]|0;o[i+16>>3]=l;o[i+24>>3]=c;o[i+32>>3]=0.0;f[i+40>>2]=0;r[i+44>>0]=1;r[i+45>>0]=0;r[i+46>>0]=0;r[i+47>>0]=0;r[i+48>>0]=h;r[i+49>>0]=0;f[i+52>>2]=0}if((r[(f[a>>2]|0)+112>>0]|0)!=1){t=0;continue}i=f[(f[((f[t>>2]&3|0)==3?t:n)+40>>2]|0)+16>>2]|0;if((r[i+156>>0]|0)!=1){t=0;continue}if((f[i+176>>2]|0)!=1){t=0;continue}t=f[f[i+172>>2]>>2]|0}u=f[(f[u+16>>2]|0)+172>>2]|0}w=w+1|0}r[(f[Z>>2]|0)+145>>0]=1;v=G;return}function NE(A){A=A|0;var e=0,i=0,r=0;Pa(A);e=f[A>>2]&3;i=A+-48|0;r=A+48|0;e=Va(f[((e|0)==2?A:i)+40>>2]|0,f[((e|0)==3?A:r)+40>>2]|0)|0;if(!e){e=f[A>>2]&3;Da(f[((e|0)==2?A:i)+40>>2]|0,f[((e|0)==3?A:r)+40>>2]|0,A)|0}else Ka(A,e);return}function WE(A){A=A|0;var e=0,i=0,n=0,a=0;n=A+16|0;i=0;while(1){A=f[n>>2]|0;if((i|0)>=(f[A+220>>2]|0))break;e=f[(f[A+216>>2]|0)+(i<<2)>>2]|0;f[A+192>>2]=e;A=e;e=A;while(1){if(!e)break;a=f[e+16>>2]|0;r[a+157>>0]=0;e=f[a+164>>2]|0}while(1){if(!A)break;zE(A);A=f[(f[A+16>>2]|0)+164>>2]|0}i=i+1|0}return}function zE(A){A=A|0;var e=0,i=0,n=0,a=0;a=A+16|0;e=f[a>>2]|0;A=e+157|0;if(!(r[A>>0]|0)){r[A>>0]=1;r[e+158>>0]=1;A=0;while(1){n=f[(f[e+180>>2]|0)+(A<<2)>>2]|0;if(!n)break;e=f[((f[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0;i=f[e+16>>2]|0;if(!(r[i+158>>0]|0)){if(!(r[i+157>>0]|0))zE(e)}else{NE(n);A=A+-1|0}A=A+1|0;e=f[a>>2]|0}r[e+158>>0]=0}return}function JE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;r=Ep(A)|0;e=0;while(1){if(!r)break;i=bY(A,r)|0;while(1){if(!i)break;a=f[i>>2]&3;t=f[(f[(f[((a|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;a=f[(f[(f[((a|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;n=t-a|0;i=BY(A,i)|0;e=((t|0)==(a|0)?0:((n|0)>-1?n:0-n|0)+-1|0)+e|0}r=Qp(A,r)|0}return e|0}function PE(A){A=A|0;var e=0,i=0,n=0,a=0;i=Ep(A)|0;while(1){if(!i)break;a=f[i+16>>2]|0;n=f[a+176>>2]|0;a=a+172|0;e=0;while(1){if((e|0)>=(n|0))break;r[(f[(f[(f[a>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+112>>0]=0;e=e+1|0}i=Qp(A,i)|0}return}function RE(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+16|0;b=k;l=f[e+24>>2]|0;HE(A);c=(l|0)==-1;s=e+8|0;t=c^1;u=f[13918]|0;n=1797693134862315708145274.0e284;a=0;while(1){if(!(c|(a|0)<(l|0)))break;i=Ep(A)|0;while(1){if(!i)break;f[(f[i+16>>2]|0)+232>>2]=0;i=Qp(A,i)|0}zM(A);r=+LE(A);o[s>>3]=r;if(0){o[b>>3]=r;uP(u,80329,b)|0;r=+o[s>>3]}if(!(!(r<=+o[e>>3])&(!(n<=r)|t))){B=9;break}FE(A);n=r;a=a+1|0}if((B|0)==9){B=e+20|0;f[e+16>>2]=f[B>>2];f[B>>2]=a}zM(A);DE(A);XE();o[s>>3]=+LE(A);v=k;return}function HE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0.0,u=0.0,b=0;f[41938]=Pb((PY(A)|0)*24|0)|0;f[41937]=0;e=Ep(A)|0;while(1){if(!e)break;f[(f[e+16>>2]|0)+120>>2]=-1;e=Qp(A,e)|0}t=Ep(A)|0;while(1){if(!t)break;l=t+16|0;do{if(!(f[(f[l>>2]|0)+216>>2]|0)){n=Jb(4)|0;a=f[41938]|0;c=f[41937]|0;f[a+(c*24|0)>>2]=n;f[n>>2]=t;f[a+(c*24|0)+4>>2]=1;l=f[l>>2]|0;o[a+(c*24|0)+8>>3]=+o[l+32>>3];o[a+(c*24|0)+16>>3]=+o[l+40>>3];f[l+120>>2]=c;f[41937]=c+1}else{a=KI(t)|0;c=a+16|0;e=f[c>>2]|0;i=f[e+120>>2]|0;if((i|0)>-1){a=f[41938]|0;n=f[a+(i*24|0)>>2]|0;r=a+(i*24|0)+4|0;c=f[r>>2]|0;f[r>>2]=c+1;f[n+(c<<2)>>2]=t;c=f[l>>2]|0;l=a+(i*24|0)+8|0;o[l>>3]=+o[l>>3]+ +o[c+32>>3];l=a+(i*24|0)+16|0;s=+o[l>>3];u=+o[c+40>>3];o[l>>3]=s>2]=i;break}i=Jb(f[e+216>>2]<<2)|0;r=f[41938]|0;n=f[41937]|0;e=r+(n*24|0)|0;f[e>>2]=i;f[i>>2]=a;if((a|0)==(t|0)){o[r+(n*24|0)+8>>3]=+o[(f[c>>2]|0)+32>>3];i=1;e=t}else{f[(f[e>>2]|0)+4>>2]=t;b=f[c>>2]|0;e=f[l>>2]|0;o[r+(n*24|0)+8>>3]=+o[e+32>>3]+ +o[b+32>>3];i=2;e=+o[b+40>>3]<+o[e+40>>3]?t:a}f[r+(n*24|0)+4>>2]=i;o[r+(n*24|0)+16>>3]=+o[(f[e+16>>2]|0)+40>>3];f[(f[c>>2]|0)+120>>2]=n;f[(f[l>>2]|0)+120>>2]=n;f[41937]=n+1}}while(0);t=Qp(A,t)|0}return}function LE(A){A=A|0;var e=0.0,i=0.0,r=0,n=0,a=0,t=0.0,l=0.0;DE(A);a=f[41935]|0;r=f[A+16>>2]|0;e=+(X(f[r+252>>2]|0,a+-1|0)|0);n=f[41936]|0;r=r+248|0;A=0;i=0.0;while(1){if((A|0)>=(a|0))break;t=+o[n+(A*40|0)+24>>3]+ +(X(f[r>>2]|0,f[n+(A*40|0)+16>>2]|0)|0);l=+o[n+(A*40|0)+32>>3]+e;A=A+1|0;e=l;i=i=(PY(A)|0))break;f[(f[41939]|0)+(e<<2)>>2]=e;e=e+1|0}DE(A);xE(A);TE(A);return}function DE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0.0,c=0,s=0;f[41935]=0;e=f[41936]|0;if(e|0){r=0;while(1){if((r|0)>=(f[41937]|0))break;i=f[e+(r*40|0)+4>>2]|0;if(i){HW(i);e=f[41936]|0}i=f[e+(r*40|0)+8>>2]|0;if(i){HW(i);e=f[41936]|0}r=r+1|0}HW(e)}f[41936]=Jb((f[41937]|0)*40|0)|0;e=0;while(1){i=f[41937]|0;if((e|0)>=(i|0))break;c=Jb(i<<2)|0;f[(f[41936]|0)+(e*40|0)+4>>2]=c;c=Jb(f[41937]<<2)|0;s=f[41936]|0;f[s+(e*40|0)+8>>2]=c;f[s+(e*40|0)>>2]=e;f[s+(e*40|0)+12>>2]=0;f[s+(e*40|0)+16>>2]=0;s=s+(e*40|0)+24|0;f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;f[s+12>>2]=0;e=e+1|0}r=Ep(A)|0;while(1){if(!r)break;i=bY(A,r)|0;while(1){if(!i)break;t=f[i>>2]|0;n=i+-48|0;a=f[41936]|0;e=f[(f[(f[((t&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){e=e+1|0;if((e|0)>=(f[(f[(f[((t&3|0)==2?i:n)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;t=a+(e*40|0)+16|0;f[t>>2]=(f[t>>2]|0)+1;t=f[i>>2]|0}i=BY(A,i)|0}r=Qp(A,r)|0}t=f[41937]|0;c=f[41938]|0;s=f[41936]|0;i=A+16|0;e=0;while(1){if((e|0)>=(t|0))break;r=(f[f[c+(e*24|0)>>2]>>2]|0)+16|0;n=f[(f[r>>2]|0)+232>>2]|0;if((n|0)>=(f[41935]|0))f[41935]=n+1;a=s+(n*40|0)+24|0;l=+o[a>>3];o[a>>3]=l+ +o[c+(e*24|0)+8>>3]*72.0+(l>0.0?+(f[(f[i>>2]|0)+248>>2]|0):0.0);a=s+(n*40|0)+32|0;l=+o[c+(e*24|0)+16>>3]*72.0;if(+o[a>>3]>3]=l;f[(f[s+(n*40|0)+4>>2]|0)+(f[s+(n*40|0)+12>>2]<<2)>>2]=c+(e*24|0);A=s+((f[(f[r>>2]|0)+232>>2]|0)*40|0)+12|0;f[A>>2]=(f[A>>2]|0)+1;e=e+1|0}return}function XE(){var A=0,e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;o=f[41935]|0;s=f[41936]|0;c=0;e=0;A=0;while(1){if((c|0)>=(o|0))break;i=s+(c*40|0)|0;l=f[s+(c*40|0)+12>>2]|0;r=(e|0)==0;A:do{if(l)if(!r){if((f[i>>2]|0)>(A|0)){n=s+(c*40|0)+4|0;i=0;while(1){if((i|0)>=(l|0))break A;a=f[(f[n>>2]|0)+(i<<2)>>2]|0;t=f[a+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;u=(f[(f[(f[a>>2]|0)+(r<<2)>>2]|0)+16>>2]|0)+232|0;f[u>>2]=(f[u>>2]|0)-e;r=r+1|0}i=i+1|0}}}else e=0;else{if(r)A=f[i>>2]|0;e=e+1|0}}while(0);c=c+1|0}return}function xE(A){A=A|0;var e=0;e=f[41939]|0;nP(e,PY(A)|0,4,15);return}function TE(A){A=A|0;var e=0.0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0.0,b=0,v=0,B=0,k=0,w=0.0,h=0;l=f[41935]|0;c=f[41936]|0;a=f[41939]|0;t=0;while(1){if((t|0)>=(l|0)){i=0;e=0.0;break}i=f[a+(t<<2)>>2]|0;n=t+1|0;if((f[c+(i*40|0)+12>>2]|0)<2)t=n;else{s=4;break}}if((s|0)==4)if((l|0)>(n|0))e=+o[c+((f[a+(n<<2)>>2]|0)*40|0)+24>>3];else e=0.0;A:do{if((t|0)!=(l|0)){nP(f[c+(i*40|0)+4>>2]|0,f[c+(i*40|0)+12>>2]|0,4,16);a=f[41936]|0;w=+o[a+(i*40|0)+24>>3];w=!(e<=w*.25)&!(e>=w*.75)?e:w*.5;h=f[a+(i*40|0)+12>>2]|0;k=A+16|0;b=0;v=0;e=0.0;n=0;B=0;while(1){if((B|0)>=(n+h|0))break A;do{if(!(f[(f[a+(i*40|0)+8>>2]|0)+(B<<2)>>2]|0)){s=f[(f[a+(i*40|0)+4>>2]|0)+(B<<2)>>2]|0;A=s+8|0;u=+o[A>>3]*72.0+e+(e>0.0?+(f[(f[k>>2]|0)+248>>2]|0):0.0);t=(v|0)!=0;if(!(t&!(u<=w))){l=t?b:s;t=t?v:1;e=u;break}l=b+4|0;c=s+4|0;t=0;while(1){if((t|0)<(f[l>>2]|0))a=0;else break;while(1){if((a|0)>=(f[c>>2]|0))break;r[(f[(Da(f[(f[b>>2]|0)+(t<<2)>>2]|0,f[(f[s>>2]|0)+(a<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;a=a+1|0}t=t+1|0}a=f[41936]|0;f[(f[a+(i*40|0)+8>>2]|0)+(B<<2)>>2]=1;l=a+(i*40|0)+12|0;f[l>>2]=(f[l>>2]|0)+-1;l=a+(i*40|0)+16|0;f[l>>2]=(f[l>>2]|0)+1;l=a+(i*40|0)+24|0;o[l>>3]=+o[A>>3]*-72.0-+(f[(f[k>>2]|0)+248>>2]|0)+ +o[l>>3];l=b;t=v}else{l=b;t=v;n=n+1|0}}while(0);b=l;v=t;B=B+1|0}}}while(0);return}function UE(A,e){A=A|0;e=e|0;A=SE(f[A>>2]|0)|0;e=SE(f[e>>2]|0)|0;return((e|0)<(A|0)&1)-((e|0)>(A|0)&1)|0}function SE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;n=A+4|0;i=0;e=0;while(1){if((i|0)>=(f[n>>2]|0))break;r=f[(f[A>>2]|0)+(i<<2)>>2]|0;a=Fp(r)|0;r=bY(a,r)|0;while(1){if(!r)break;r=BY(a,r)|0;e=e+1|0}i=i+1|0}return e|0}function jE(A,e){A=A|0;e=e|0;var i=0.0,r=0.0,n=0;n=f[41936]|0;r=+o[n+((f[e>>2]|0)*40|0)+24>>3];i=+o[n+((f[A>>2]|0)*40|0)+24>>3];return(r>i&1)-(r>2]|0)+216>>2]=0;e=Qp(A,e)|0}return}function KE(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+32|0;n=a+16|0;r=a+8|0;i=a+20|0;f[i>>2]=5;A=aY(A,84624)|0;if(A|0?(f[r>>2]=a,f[r+4>>2]=i,(XP(A,80344,r)|0)>=1):0)Iy(0,80351,n)|0;f[e+24>>2]=0;f[e+32>>2]=0;v=a;return 0}function _E(A){A=A|0;var e=0,i=0;e=f[42234]|0;if((((e|0)!=0?(i=tY(A,e)|0,(i|0)!=0):0)?(r[i>>0]|0)!=0:0)?(jI(i)|0)<<24>>24==0:0)A=1;else A=0;return A|0}function qE(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0;dQ(A);e=Ep(A)|0;while(1){if(!e)break;i=bY(A,e)|0;while(1){if(!i)break;do{if(((f[(f[i+16>>2]|0)+172>>2]|0)==0?(_E(i)|0)==0:0)?(r=i+48|0,n=KI(f[((f[i>>2]&3|0)==3?i:r)+40>>2]|0)|0,a=i+-48|0,t=KI(f[((f[i>>2]&3|0)==2?i:a)+40>>2]|0)|0,(n|0)!=(t|0)):0){if((f[(f[n+16>>2]|0)+212>>2]|0)==0?(f[(f[t+16>>2]|0)+212>>2]|0)==0:0){l=Va(n,t)|0;if(!l){Da(n,t,i)|0;break}else{Ka(i,l);break}}l=f[i>>2]&3;$E(A,f[((l|0)==3?i:r)+40>>2]|0,f[((l|0)==2?i:a)+40>>2]|0,i)}}while(0);i=BY(A,i)|0}e=Qp(A,e)|0}return}function $E(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,l=0,c=0,o=0;c=f[n>>2]&3;a=f[(f[((c|0)==3?n:n+48|0)+40>>2]|0)+16>>2]|0;l=f[a+212>>2]|0;if(!l)o=0;else o=(f[a+232>>2]|0)-(f[(f[(f[(f[l+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;a=f[(f[((c|0)==2?n:n+-48|0)+40>>2]|0)+16>>2]|0;l=f[a+212>>2]|0;if(!l)a=0;else a=(f[(f[(f[(f[l+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(f[a+232>>2]|0)|0;c=n+16|0;o=a+o+(t[(f[c>>2]|0)+170>>1]|0)|0;A=Sa(A)|0;r[(f[A+16>>2]|0)+156>>0]=2;l=KI(e)|0;e=KI(i)|0;i=oM(A,l,(o|0)>0?0.0:+(0-o|0),(f[(f[c>>2]|0)+156>>2]|0)*10|0)|0;f[(f[(oM(A,e,+(((o|0)>0?o:0)|0),f[(f[c>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=n;f[(f[i+16>>2]|0)+116>>2]=n;return}function AQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var a=0,l=0,c=0,o=0;c=f[e>>2]&3;l=(c|0)==3?e:e+48|0;c=(c|0)==2?e:e+-48|0;c=f[(f[(f[((f[(f[(f[l+40>>2]|0)+16>>2]|0)+232>>2]|0)>(f[(f[(f[c+40>>2]|0)+16>>2]|0)+232>>2]|0)?l:c)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=e+16|0;e=(f[l>>2]|0)+172|0;if(f[e>>2]|0)BA(80440,80462,148,80471);f[e>>2]=i;a=(r|0)==0;do{e=f[l>>2]|0;if(a)r=f[i+16>>2]|0;else{r=f[i+16>>2]|0;o=r+168|0;n[o>>1]=(t[o>>1]|0)+(t[e+168>>1]|0)}o=r+154|0;n[o>>1]=(t[o>>1]|0)+(t[e+154>>1]|0);r=r+156|0;f[r>>2]=(f[r>>2]|0)+(f[e+156>>2]|0);e=i+-48|0;r=f[((f[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f[(f[r+16>>2]|0)+232>>2]|0)==(c|0))break;eQ(A,r);i=f[f[(f[(f[((f[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((i|0)!=0);return}function eQ(A,e){A=A|0;e=e|0;var i=0.0;i=+((f[(f[A+16>>2]|0)+248>>2]|0)/2|0|0);e=f[e+16>>2]|0;A=e+88|0;o[A>>3]=+o[A>>3]+i;e=e+96|0;o[e>>3]=+o[e>>3]+i;return}function iQ(A,e){A=A|0;e=e|0;var i=0,r=0;if(((((A|0)!=0&(e|0)!=0?(r=f[A>>2]&3,i=f[e>>2]&3,(f[((r|0)==3?A:A+48|0)+40>>2]|0)==(f[((i|0)==3?e:e+48|0)+40>>2]|0)):0)?(f[((r|0)==2?A:A+-48|0)+40>>2]|0)==(f[((i|0)==2?e:e+-48|0)+40>>2]|0):0)?(f[(f[A+16>>2]|0)+96>>2]|0)==(f[(f[e+16>>2]|0)+96>>2]|0):0)?(NM(A,e)|0)!=0:0)A=1;else A=0;return A|0}function rQ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;w=A+16|0;e=f[w>>2]|0;f[e+192>>2]=0;f[e+232>>2]=0;dQ(A);e=1;while(1){i=f[w>>2]|0;if((e|0)>(f[i+180>>2]|0))break;gQ(A,f[(f[i+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}t=Ep(A)|0;while(1){if(!t)break;a=bY(A,t)|0;while(1){if(!a)break;e=f[a>>2]|0;i=(f[(f[((e&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+160|0;n=r[i>>0]|0;if(n<<24>>24<3){r[i>>0]=n+1<<24>>24;e=f[a>>2]|0}e=(f[(f[((e&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+160|0;i=r[e>>0]|0;if(i<<24>>24<3)r[e>>0]=i+1<<24>>24;a=BY(A,a)|0}t=Qp(A,t)|0}u=Ep(A)|0;while(1){if(!u)break;if((f[(f[u+16>>2]|0)+212>>2]|0)==0?(u|0)==(KI(u)|0):0){Xa(A,u);s=(f[w>>2]|0)+232|0;f[s>>2]=(f[s>>2]|0)+1}e=0;s=bY(A,u)|0;while(1){if(!s)break;o=s+16|0;t=f[o>>2]|0;A:do{if(!(f[t+172>>2]|0)){if(nQ(s)|0){if(!(iQ(e,s)|0)){fQ(A,s);e=s;break}i=f[(f[e+16>>2]|0)+172>>2]|0;if(i|0){AQ(A,s,i,0);Ra(s);break}o=f[s>>2]&3;if((f[(f[(f[((o|0)==3?s:s+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(f[(f[(f[((o|0)==2?s:s+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Ka(s,e);Ra(s);break}if(e){l=f[s>>2]&3;i=s+48|0;n=f[((l|0)==3?s:i)+40>>2]|0;a=f[e>>2]&3;if((n|0)==(f[((a|0)==3?e:e+48|0)+40>>2]|0)?(b=f[((l|0)==2?s:s+-48|0)+40>>2]|0,(b|0)==(f[((a|0)==2?e:e+-48|0)+40>>2]|0)):0){if((f[(f[n+16>>2]|0)+232>>2]|0)==(f[(f[b+16>>2]|0)+232>>2]|0)){Ka(s,e);Ra(s);break}if(((f[t+96>>2]|0)==0?(v=e+16|0,(f[(f[v>>2]|0)+96>>2]|0)==0):0)?(NM(s,e)|0)!=0:0)if(!(r[174080]|0)){AQ(A,s,f[(f[v>>2]|0)+172>>2]|0,1);Ra(s);break}else{r[(f[o>>2]|0)+112>>0]=6;break}else l=i}else l=i}else l=s+48|0;t=f[s>>2]&3;i=f[((t|0)==3?s:l)+40>>2]|0;c=s+-48|0;if((i|0)==(f[((t|0)==2?s:c)+40>>2]|0)){Ra(s);e=s;break}i=KI(i)|0;n=KI(f[((f[s>>2]&3|0)==2?s:c)+40>>2]|0)|0;t=f[s>>2]&3;if((f[((t|0)==3?s:l)+40>>2]|0)==(i|0)?(f[((t|0)==2?s:c)+40>>2]|0)==(n|0):0){a=f[(f[i+16>>2]|0)+232>>2]|0;t=f[(f[n+16>>2]|0)+232>>2]|0;if((a|0)==(t|0)){ja(A,s);e=s;break}if((t|0)>(a|0)){aQ(A,i,n,s);e=s;break}i=MY(A,n,i,0,0)|0;do{if(i|0?(B=f[i>>2]&3,k=f[((B|0)==2?i:i+-48|0)+40>>2]|0,(k|0)!=(f[((f[s>>2]&3|0)==2?s:c)+40>>2]|0)):0){n=i+16|0;if(!(f[(f[n>>2]|0)+172>>2]|0))aQ(A,f[((B|0)==3?i:i+48|0)+40>>2]|0,k,i);if((f[(f[o>>2]|0)+96>>2]|0)==0?(f[(f[n>>2]|0)+96>>2]|0)==0:0){if(!(NM(s,i)|0))break;if(!(r[174080]|0)){Ra(s);AQ(A,s,f[(f[n>>2]|0)+172>>2]|0,1);break A}else{r[(f[o>>2]|0)+112>>0]=6;r[(f[n>>2]|0)+153>>0]=1;break A}}}}while(0);e=f[s>>2]&3;aQ(A,f[((e|0)==2?s:c)+40>>2]|0,f[((e|0)==3?s:l)+40>>2]|0,s);e=s}}else e=s}while(0);s=BY(A,s)|0}u=Qp(A,u)|0}if((zf(A)|0)!=(A|0)){e=f[(f[w>>2]|0)+216>>2]|0;if(!e)e=Pb(4)|0;else e=Hb(e,4)|0;w=f[w>>2]|0;f[w+216>>2]=e;f[e>>2]=f[w+192>>2]}return}function nQ(A){A=A|0;var e=0;e=f[A>>2]&3;if((r[(f[(f[((e|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)A=1;else A=(r[(f[(f[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return A|0}function fQ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;n=cQ(f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;a=cQ(f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;l=(f[(f[n+16>>2]|0)+232>>2]|0)>(f[(f[a+16>>2]|0)+232>>2]|0);i=l?n:a;n=l?a:n;a=n+16|0;l=i+16|0;A:do{if((f[(f[a>>2]|0)+212>>2]|0)!=(f[(f[l>>2]|0)+212>>2]|0)){t=Va(n,i)|0;if(t|0){AQ(A,e,t,1);break}if((f[(f[a>>2]|0)+232>>2]|0)!=(f[(f[l>>2]|0)+232>>2]|0)){aQ(A,n,i,e);i=(f[e+16>>2]|0)+172|0;while(1){i=f[i>>2]|0;if(!i)break A;n=i+-48|0;if((f[(f[(f[((f[i>>2]&3|0)==2?i:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(f[(f[l>>2]|0)+232>>2]|0))break A;r[(f[i+16>>2]|0)+112>>0]=5;i=f[(f[(f[((f[i>>2]&3|0)==2?i:n)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}}while(0);return}function aQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0;o=r+16|0;n=f[o>>2]|0;if(!(f[n+96>>2]|0))c=-1;else c=((f[(f[i+16>>2]|0)+232>>2]|0)+(f[(f[e+16>>2]|0)+232>>2]|0)|0)/2|0;if(f[n+172>>2]|0)BA(80483,80462,89,80508);l=i+16|0;t=f[(f[e+16>>2]|0)+232>>2]|0;while(1){a=t+1|0;n=f[(f[l>>2]|0)+232>>2]|0;if((t|0)>=(n|0))break;if((a|0)<(n|0)){if((a|0)==(c|0))n=tQ(A,r)|0;else n=lQ(A)|0;f[(f[n+16>>2]|0)+232>>2]=a}else n=i;SC(Da(e,n,r)|0);t=a;e=n}if(!(f[(f[o>>2]|0)+172>>2]|0))BA(80519,80462,103,80508);else return}function tQ(A,e){A=A|0;e=e|0;var i=0.0,n=0.0,a=0,t=0,l=0.0;t=e+16|0;a=f[(f[t>>2]|0)+96>>2]|0;i=+o[a+24>>3];n=+o[a+32>>3];a=Sa(A)|0;e=a+16|0;f[(f[e>>2]|0)+104>>2]=f[(f[t>>2]|0)+96>>2];l=+(f[(f[(Dp(a)|0)+16>>2]|0)+248>>2]|0);o[(f[e>>2]|0)+88>>3]=l;if(!(r[(f[t>>2]|0)+114>>0]|0)){A=(f[(f[(Dp(A)|0)+16>>2]|0)+116>>2]&1|0)==0;t=f[e>>2]|0;o[t+80>>3]=A?n:i;o[t+96>>3]=A?i:n}return a|0}function lQ(A){A=A|0;var e=0;e=Sa(A)|0;eQ(A,e);return e|0}function cQ(A){A=A|0;var e=0;e=f[A+16>>2]|0;if((r[e+159>>0]|0)==7)A=f[(f[(f[(f[e+212>>2]|0)+16>>2]|0)+268>>2]|0)+(f[e+232>>2]<<2)>>2]|0;else A=KI(A)|0;return A|0}function oQ(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;c=zf(A)|0;t=Ep(A)|0;while(1){if(!t)break;e=hY(c,t)|0;l=0;while(1){if(!e)break;s=dY(c,e,t)|0;if(_p(A,e)|0){o=l;e=s;l=o;continue}o=(f[e>>2]&3|0)==2?e:e+-48|0;u=(iQ(l,o)|0)==0;r=f[o>>2]&3;e=f[((r|0)==3?o:o+48|0)+40>>2]|0;i=f[(f[e+16>>2]|0)+232>>2]|0;r=f[((r|0)==2?o:o+-48|0)+40>>2]|0;n=f[(f[r+16>>2]|0)+232>>2]|0;a=(i|0)==(n|0);if(!u){f[(f[o+16>>2]|0)+172>>2]=a?l:0;e=f[(f[l+16>>2]|0)+172>>2]|0;if(!e){u=l;e=s;l=u;continue}AQ(A,o,e,0);Ha(o);u=l;e=s;l=u;continue}if(!a)if((n|0)>(i|0)){sQ(e,r,o);e=s;l=o;continue}else{sQ(r,e,o);e=s;l=o;continue}e=Wa(e,r)|0;if(!e){ja(c,o);e=s;l=o;continue}if((o|0)==(e|0)){u=l;e=s;l=u;continue}Ha(o);if(f[(f[o+16>>2]|0)+172>>2]|0){u=l;e=s;l=u;continue}Ka(o,e);u=l;e=s;l=u}t=Qp(A,t)|0}return}function sQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;n=uQ(A)|0;r=uQ(e)|0;bQ(n,r,i,f[(f[i+16>>2]|0)+172>>2]|0,(n|0)==(A|0)&(r|0)==(e|0)?1:5);return}function uQ(A){A=A|0;var e=0,i=0,n=0;e=f[A+16>>2]|0;i=f[e+212>>2]|0;if((i|0)!=0?(n=f[i+16>>2]|0,(r[n+272>>0]|0)==0):0)A=f[(f[n+268>>2]|0)+(f[e+232>>2]<<2)>>2]|0;return A|0}function bQ(A,e,i,a,t){A=A|0;e=e|0;i=i|0;a=a|0;t=t|0;var l=0,c=0,o=0,s=0,u=0,b=0,v=0;b=A+16|0;o=f[(f[b>>2]|0)+232>>2]|0;v=e+16|0;l=f[(f[v>>2]|0)+232>>2]|0;if((l|0)<=(o|0))BA(80544,80572,81,80582);u=f[a>>2]&3;if(!((f[((u|0)==3?a:a+48|0)+40>>2]|0)==(A|0)?(f[((u|0)==2?a:a+-48|0)+40>>2]|0)==(e|0):0))s=5;A:do{if((s|0)==5){if((n[(f[a+16>>2]|0)+168>>1]|0)>1){f[(f[i+16>>2]|0)+172>>2]=0;if(((l-o|0)==1?(c=Va(A,e)|0,c|0):0)?NM(i,c)|0:0){Ka(i,c);if(r[(f[b>>2]|0)+156>>0]|0)break;if(r[(f[v>>2]|0)+156>>0]|0)break;Ra(i);break}u=t&255;t=A;s=f[(f[b>>2]|0)+232>>2]|0;while(1){l=f[(f[v>>2]|0)+232>>2]|0;if((s|0)>=(l|0))break A;if((s|0)<(l+-1|0)){l=zf(A)|0;c=a+-48|0;l=vQ(l,f[((f[a>>2]&3|0)==2?a:c)+40>>2]|0)|0;o=a}else{l=e;c=a+-48|0;o=a}r[(f[(Da(t,l,i)|0)+16>>2]|0)+112>>0]=u;b=(f[a+16>>2]|0)+168|0;n[b>>1]=(n[b>>1]|0)+-1<<16>>16;t=l;s=s+1|0;a=f[f[(f[(f[((f[o>>2]&3|0)==2?a:c)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do{if((l-o|0)==1){a=Va(A,e)|0;if(a|0?NM(i,a)|0:0){f[(f[i+16>>2]|0)+172>>2]=a;u=f[a+16>>2]|0;r[u+112>>0]=t;u=u+168|0;n[u>>1]=(n[u>>1]|0)+1<<16>>16;if(r[(f[b>>2]|0)+156>>0]|0)break;if(r[(f[v>>2]|0)+156>>0]|0)break;Ra(i);break}f[(f[i+16>>2]|0)+172>>2]=0;a=Da(A,e,i)|0;r[(f[a+16>>2]|0)+112>>0]=t}}while(0);l=f[(f[v>>2]|0)+232>>2]|0;if((l-(f[(f[b>>2]|0)+232>>2]|0)|0)>1){if((f[((f[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)==(A|0))s=l;else{b=i+16|0;f[(f[b>>2]|0)+172>>2]=0;s=Da(A,f[((f[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,i)|0;f[(f[b>>2]|0)+172>>2]=s;Pa(a);a=s;s=f[(f[v>>2]|0)+232>>2]|0}while(1){l=f[a>>2]&3;c=f[((l|0)==2?a:a+-48|0)+40>>2]|0;o=f[c+16>>2]|0;if((f[o+232>>2]|0)==(s|0))break;a=f[f[o+180>>2]>>2]|0}if((c|0)!=(e|0)){r[(f[(Da(f[((l|0)==3?a:a+48|0)+40>>2]|0,e,i)|0)+16>>2]|0)+112>>0]=t;Pa(a)}}}}while(0);return}function vQ(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=e+16|0;e=f[i>>2]|0;r=f[e+232>>2]|0;BQ(A,r,f[e+236>>2]|0,2);e=Sa(A)|0;i=f[i>>2]|0;n=f[e+16>>2]|0;o[n+88>>3]=+o[i+88>>3];o[n+96>>3]=+o[i+96>>3];f[n+232>>2]=f[i+232>>2];i=(f[i+236>>2]|0)+1|0;f[n+236>>2]=i;f[(f[(f[(f[A+16>>2]|0)+196>>2]|0)+(r<<6)+4>>2]|0)+(i<<2)>>2]=e;return e|0}function BQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0;t=A+16|0;n=f[(f[t>>2]|0)+196>>2]|0;l=f[n+(e<<6)+4>>2]|0;A:do{if((r|0)<1){i=i-r|0;while(1){a=i+1|0;A=f[n+(e<<6)>>2]|0;if((a|0)>=(A|0))break;A=f[l+(a<<2)>>2]|0;n=i+r|0;f[(f[A+16>>2]|0)+236>>2]=n;f[l+(n<<2)>>2]=A;i=a;n=f[(f[t>>2]|0)+196>>2]|0}a=r+-1|0;i=a+A|0;while(1){if((i|0)>=(A|0))break A;f[l+(i<<2)>>2]=0;n=f[(f[t>>2]|0)+196>>2]|0;i=i+1|0;A=f[n+(e<<6)>>2]|0}}else{a=r+-1|0;A=f[n+(e<<6)>>2]|0;while(1){A=A+-1|0;if((A|0)<=(i|0))break;c=f[l+(A<<2)>>2]|0;n=a+A|0;f[(f[c+16>>2]|0)+236>>2]=n;f[l+(n<<2)>>2]=c}n=r+i|0;A=i;while(1){A=A+1|0;if((A|0)>=(n|0))break;f[l+(A<<2)>>2]=0}A=f[(f[t>>2]|0)+196>>2]|0;n=A;A=f[A+(e<<6)>>2]|0}}while(0);f[n+(e<<6)>>2]=a+A;return}function kQ(A){A=A|0;var e=0;rQ(A);e=f[A+16>>2]|0;f[e+220>>2]=1;f[f[e+216>>2]>>2]=f[e+192>>2];xC(A);Ht(A,0);wQ(A);oQ(A);hQ(A);return}function wQ(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;o=zf(A)|0;s=A+16|0;i=f[s>>2]|0;c=n[i+236>>1]|0;e=c<<16>>16;u=o+16|0;if(c<<16>>16>0)r[(f[(f[u>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;c=e;while(1){if((c|0)>(n[i+238>>1]|0))break;l=f[(f[(f[(f[i+268>>2]|0)+(c<<2)>>2]|0)+16>>2]|0)+236>>2]|0;BQ(o,c,l,f[(f[i+196>>2]|0)+(c<<6)>>2]|0);a=0;t=l;while(1){i=f[s>>2]|0;e=f[i+196>>2]|0;if((a|0)>=(f[e+(c<<6)>>2]|0))break;e=f[(f[e+(c<<6)+4>>2]|0)+(a<<2)>>2]|0;f[(f[(f[(f[u>>2]|0)+196>>2]|0)+(c<<6)+4>>2]|0)+(t<<2)>>2]=e;i=f[e+16>>2]|0;f[i+236>>2]=t;if((r[i+156>>0]|0)==1)f[e+24>>2]=Dp(o)|0;Ta(A,e);Xa(o,e);i=(f[u>>2]|0)+232|0;f[i>>2]=(f[i>>2]|0)+1;a=a+1|0;t=t+1|0}t=f[(f[u>>2]|0)+196>>2]|0;f[e+(c<<6)+4>>2]=(f[t+(c<<6)+4>>2]|0)+(l<<2);r[t+(c<<6)+49>>0]=0;c=c+1|0}e=f[u>>2]|0;if((c|0)<(n[e+238>>1]|0))r[(f[e+196>>2]|0)+(c<<6)+49>>0]=0;r[i+272>>0]=1;return}function hQ(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0;l=A+16|0;e=f[l>>2]|0;t=n[e+236>>1]|0;while(1){if((t|0)>(n[e+238>>1]|0))break;r=f[(f[e+268>>2]|0)+(t<<2)>>2]|0;a=r+16|0;while(1){e=f[a>>2]|0;i=f[f[e+180>>2]>>2]|0;if(!i)break;Pa(i)}while(1){e=f[f[e+172>>2]>>2]|0;if(!e)break;Pa(e);e=f[a>>2]|0}Ta(zf(A)|0,r);f[(f[(f[l>>2]|0)+268>>2]|0)+(t<<2)>>2]=0;t=t+1|0;e=f[l>>2]|0}return}function dQ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;u=b;n=Ep(A)|0;while(1){if(!n)break;i=n+16|0;e=f[i>>2]|0;if((r[e+159>>0]|0)==7){qI(n);e=f[i>>2]|0}f[e+212>>2]=0;n=Qp(A,n)|0}s=A+16|0;o=1;while(1){e=f[s>>2]|0;if((o|0)>(f[e+180>>2]|0))break;t=f[(f[e+184>>2]|0)+(o<<2)>>2]|0;l=t+16|0;e=Ep(t)|0;A:while(1){if(!e)break;c=Qp(t,e)|0;i=e+16|0;if(r[(f[i>>2]|0)+159>>0]|0){n=Ap(e)|0;a=Ap(A)|0;f[u>>2]=n;f[u+4>>2]=a;Iy(0,80591,u)|0;Lp(t,e)|0;e=c;continue}$I(e,f[(f[l>>2]|0)+264>>2]|0);a=f[i>>2]|0;f[a+212>>2]=t;r[a+159>>0]=7;a=bY(t,e)|0;while(1){if(!a){e=c;continue A}e=f[(f[a+16>>2]|0)+172>>2]|0;e:do{if(e|0)do{i=e+-48|0;n=f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[n+156>>0]|0)!=1)break e;f[n+212>>2]=t;e=f[f[(f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);a=BY(t,a)|0}}o=o+1|0}v=b;return}function gQ(A,e){A=A|0;e=e|0;var i=0,a=0,t=0,l=0,c=0,o=0;o=e+16|0;a=Jb((n[(f[o>>2]|0)+238>>1]<<2)+8|0)|0;i=f[o>>2]|0;f[i+268>>2]=a;a=0;t=n[i+236>>1]|0;while(1){if((t|0)>(n[i+238>>1]|0))break;i=Sa(A)|0;f[(f[(f[o>>2]|0)+268>>2]|0)+(t<<2)>>2]=i;c=f[i+16>>2]|0;f[c+232>>2]=t;r[c+159>>0]=7;f[c+212>>2]=e;if(a|0){c=(f[(Da(a,i,0)|0)+16>>2]|0)+154|0;n[c>>1]=(n[c>>1]|0)*1e3}a=i;t=t+1|0;i=f[o>>2]|0}c=Ep(e)|0;while(1){i=f[o>>2]|0;if(!c)break;t=(f[(f[i+268>>2]|0)+(f[(f[c+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;i=(f[t>>2]|0)+216|0;f[i>>2]=(f[i>>2]|0)+1;i=bY(e,c)|0;while(1){if(!i)break;l=f[i>>2]|0;A=i+-48|0;a=f[(f[(f[((l&3|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((a|0)>=(f[(f[(f[((l&3|0)==2?i:A)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;l=(f[(f[f[(f[t>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;n[l>>1]=(n[l>>1]|0)+1<<16>>16;a=a+1|0;l=f[i>>2]|0}i=BY(e,i)|0}c=Qp(e,c)|0}A=n[i+238>>1]|0;l=i+268|0;i=n[i+236>>1]|0;while(1){if((i|0)>(A|0))break;a=(f[(f[(f[l>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+216|0;t=f[a>>2]|0;if((t|0)>1)f[a>>2]=t+-1;i=i+1|0}return}function mQ(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;var t=0,l=0,c=0,o=0;o=(f[(f[e+16>>2]|0)+212>>2]|0)+16|0;e=f[o>>2]|0;c=i+1|0;if((c|0)!=(r[e+273>>0]|0)){l=n[e+236>>1]|0;while(1){t=n[e+238>>1]|0;if((l|0)>(t<<16>>16|0))break;Al(A,f[(f[e+268>>2]|0)+(l<<2)>>2]|0);l=l+1|0;e=f[o>>2]|0}l=n[e+236>>1]|0;while(1){if((l|0)>(t<<16>>16|0))break;el(a,f[(f[e+268>>2]|0)+(l<<2)>>2]|0,i);A=f[o>>2]|0;l=l+1|0;t=n[A+238>>1]|0;e=A}r[e+273>>0]=c}return}function ZQ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0;t=Ep(A)|0;while(1){if(!t)break;f[(f[t+16>>2]|0)+212>>2]=0;a=bY(A,t)|0;while(1){if(!a)break;e=f[(f[a+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=e+-48|0;n=f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0;if((r[n+156>>0]|0)!=1)break A;f[n+212>>2]=0;e=f[f[(f[(f[((f[e>>2]&3|0)==2?e:i)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);a=BY(A,a)|0}t=Qp(A,t)|0}GQ(A);return}function GQ(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;i=A+16|0;e=1;while(1){n=f[i>>2]|0;if((e|0)>(f[n+180>>2]|0))break;GQ(f[(f[n+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}l=Ep(A)|0;while(1){if(!l)break;e=(f[l+16>>2]|0)+212|0;if(!(f[e>>2]|0))f[e>>2]=A;t=bY(A,l)|0;while(1){if(!t)break;e=f[(f[t+16>>2]|0)+172>>2]|0;A:do{if(e|0)do{i=f[e>>2]|0;a=e+-48|0;n=f[(f[((i&3|0)==2?e:a)+40>>2]|0)+16>>2]|0;if((r[n+156>>0]|0)!=1)break A;n=n+212|0;if(!(f[n>>2]|0)){f[n>>2]=A;i=f[e>>2]|0}e=f[f[(f[(f[((i&3|0)==2?e:a)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((e|0)!=0)}while(0);t=BY(A,t)|0}l=Qp(A,l)|0}return}function IQ(A){A=A|0;var e=0,i=0,r=0;r=ZC(A)|0;i=Ep(A)|0;while(1){if(!i)break;e=bY(A,i)|0;while(1){if(!e)break;CQ(e,r);e=BY(A,e)|0}i=Qp(A,i)|0}ly(r)|0;return}function CQ(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0;R=v;v=v+320|0;N=R+296|0;V=R+280|0;G=R+136|0;Z=R+120|0;u=R+104|0;l=R+88|0;n=R+80|0;Y=R+16|0;C=R;c=R+264|0;o=R+248|0;s=R+232|0;b=R+216|0;M=R+200|0;E=R+184|0;I=R+168|0;y=R+152|0;a=MQ(aY(A,80645)|0,e)|0;k=MQ(aY(A,80651)|0,e)|0;w=(k|0)!=0;e=(a|0)!=0;do{if(e|w?(P=A+16|0,r=f[(f[P>>2]|0)+8>>2]|0,r|0):0){if((f[r+4>>2]|0)>1){J=Ap(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)|0;P=Ap(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0)|0;f[n>>2]=J;f[n+4>>2]=P;Iy(0,80657,n)|0;break}W=f[r>>2]|0;r=f[W+4>>2]|0;B=f[A>>2]&3;h=A+-48|0;d=f[((B|0)==2?A:h)+40>>2]|0;g=A+48|0;B=f[((B|0)==3?A:g)+40>>2]|0;z=Pb(48)|0;m=W+12|0;f[z+12>>2]=f[m>>2];Q=W+8|0;f[z+8>>2]=f[Q>>2];do{if(e){t=(f[a+16>>2]|0)+16|0;a=(f[d+16>>2]|0)+16|0;f[N>>2]=f[a>>2];f[N+4>>2]=f[a+4>>2];f[N+8>>2]=f[a+8>>2];f[N+12>>2]=f[a+12>>2];if(!(EQ(N,t)|0)){b=Ap(f[((f[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;p=Ap(f[((f[A>>2]&3|0)==2?A:h)+40>>2]|0)|0;J=aY(A,80645)|0;f[l>>2]=b;f[l+4>>2]=p;f[l+8>>2]=J;Iy(0,80698,l)|0;J=26;break}e=f[W>>2]|0;f[N>>2]=f[e>>2];f[N+4>>2]=f[e+4>>2];f[N+8>>2]=f[e+8>>2];f[N+12>>2]=f[e+12>>2];if(EQ(N,t)|0){p=(f[B+16>>2]|0)+16|0;f[N>>2]=f[p>>2];f[N+4>>2]=f[p+4>>2];f[N+8>>2]=f[p+8>>2];f[N+12>>2]=f[p+12>>2];if(EQ(N,t)|0){b=Ap(f[((f[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;p=Ap(f[((f[A>>2]&3|0)==2?A:h)+40>>2]|0)|0;J=aY(A,80645)|0;f[u>>2]=b;f[u+4>>2]=p;f[u+8>>2]=J;Iy(0,80741,u)|0;J=26;break}if(!(f[Q>>2]|0))BA(80783,80794,369,80805);b=W+16|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];f[N>>2]=f[b>>2];f[N+4>>2]=f[b+4>>2];f[N+8>>2]=f[b+8>>2];f[N+12>>2]=f[b+12>>2];QQ(C,V,N,t);p=(f[W>>2]|0)+48|0;f[p>>2]=f[C>>2];f[p+4>>2]=f[C+4>>2];f[p+8>>2]=f[C+8>>2];f[p+12>>2]=f[C+12>>2];p=(f[W>>2]|0)+16|0;f[V>>2]=f[C>>2];f[V+4>>2]=f[C+4>>2];f[V+8>>2]=f[C+8>>2];f[V+12>>2]=f[C+12>>2];f[N>>2]=f[b>>2];f[N+4>>2]=f[b+4>>2];f[N+8>>2]=f[b+8>>2];f[N+12>>2]=f[b+12>>2];yQ(c,V,N);f[p>>2]=f[c>>2];f[p+4>>2]=f[c+4>>2];f[p+8>>2]=f[c+8>>2];f[p+12>>2]=f[c+12>>2];p=f[W>>2]|0;e=p+16|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];f[N>>2]=f[b>>2];f[N+4>>2]=f[b+4>>2];f[N+8>>2]=f[b+8>>2];f[N+12>>2]=f[b+12>>2];yQ(o,V,N);f[p>>2]=f[o>>2];f[p+4>>2]=f[o+4>>2];f[p+8>>2]=f[o+8>>2];f[p+12>>2]=f[o+12>>2];p=f[W>>2]|0;e=p+32|0;p=p+16|0;f[V>>2]=f[p>>2];f[V+4>>2]=f[p+4>>2];f[V+8>>2]=f[p+8>>2];f[V+12>>2]=f[p+12>>2];f[N>>2]=f[C>>2];f[N+4>>2]=f[C+4>>2];f[N+8>>2]=f[C+8>>2];f[N+12>>2]=f[C+12>>2];yQ(s,V,N);f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];f[e+12>>2]=f[s+12>>2];e=f[m>>2]|0;if(!e){p=3;break}p=(As(A,f[W>>2]|0,0,0,z,e)|0)+3|0;break}a=r+-1|0;e=0;while(1){if((e|0)>=(a|0))break;if(YQ((f[W>>2]|0)+(e<<4)|0,t)|0)break;e=e+3|0}r=f[m>>2]|0;n=(r|0)!=0;if((e|0)==(a|0))if(n){p=z+32|0;s=W+32|0;u=(f[W>>2]|0)+(a<<4)|0;f[V>>2]=f[s>>2];f[V+4>>2]=f[s+4>>2];f[V+8>>2]=f[s+8>>2];f[V+12>>2]=f[s+12>>2];f[N>>2]=f[u>>2];f[N+4>>2]=f[u+4>>2];f[N+8>>2]=f[u+8>>2];f[N+12>>2]=f[u+12>>2];QQ(b,V,N,t);f[p>>2]=f[b>>2];f[p+4>>2]=f[b+4>>2];f[p+8>>2]=f[b+8>>2];f[p+12>>2]=f[b+12>>2];p=a;break}else BA(80822,80794,387,80805);else{if(n)e=As(A,f[W>>2]|0,0,e,z,r)|0;p=e+3|0;break}}else J=26}while(0);if((J|0)==26){e=r+-1|0;if(!(f[m>>2]|0))p=e;else{p=z+32|0;b=W+32|0;f[p>>2]=f[b>>2];f[p+4>>2]=f[b+4>>2];f[p+8>>2]=f[b+8>>2];f[p+12>>2]=f[b+12>>2];p=e}}do{if(w){n=(f[k+16>>2]|0)+16|0;w=(f[B+16>>2]|0)+16|0;f[N>>2]=f[w>>2];f[N+4>>2]=f[w+4>>2];f[N+8>>2]=f[w+8>>2];f[N+12>>2]=f[w+12>>2];if(!(EQ(N,n)|0)){V=Ap(f[((f[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;N=Ap(f[((f[A>>2]&3|0)==2?A:h)+40>>2]|0)|0;J=aY(A,80651)|0;f[Z>>2]=V;f[Z+4>>2]=N;f[Z+8>>2]=J;Iy(0,80833,Z)|0;J=52;break}e=(f[W>>2]|0)+(p<<4)|0;f[N>>2]=f[e>>2];f[N+4>>2]=f[e+4>>2];f[N+8>>2]=f[e+8>>2];f[N+12>>2]=f[e+12>>2];if(EQ(N,n)|0){Y=(f[d+16>>2]|0)+16|0;f[N>>2]=f[Y>>2];f[N+4>>2]=f[Y+4>>2];f[N+8>>2]=f[Y+8>>2];f[N+12>>2]=f[Y+12>>2];if(EQ(N,n)|0){V=Ap(f[((f[A>>2]&3|0)==3?A:g)+40>>2]|0)|0;N=Ap(f[((f[A>>2]&3|0)==2?A:h)+40>>2]|0)|0;J=aY(A,80651)|0;f[G>>2]=V;f[G+4>>2]=N;f[G+8>>2]=J;Iy(0,80876,G)|0;J=52;break}if(!(f[m>>2]|0))BA(80822,80794,429,80805);G=z+32|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];f[N>>2]=f[G>>2];f[N+4>>2]=f[G+4>>2];f[N+8>>2]=f[G+8>>2];f[N+12>>2]=f[G+12>>2];QQ(C,V,N,n);i=p+-3|0;Y=(f[W>>2]|0)+(i<<4)|0;f[Y>>2]=f[C>>2];f[Y+4>>2]=f[C+4>>2];f[Y+8>>2]=f[C+8>>2];f[Y+12>>2]=f[C+12>>2];Y=p+-1|0;e=(f[W>>2]|0)+(Y<<4)|0;f[V>>2]=f[C>>2];f[V+4>>2]=f[C+4>>2];f[V+8>>2]=f[C+8>>2];f[V+12>>2]=f[C+12>>2];f[N>>2]=f[G>>2];f[N+4>>2]=f[G+4>>2];f[N+8>>2]=f[G+8>>2];f[N+12>>2]=f[G+12>>2];yQ(M,V,N);f[e>>2]=f[M>>2];f[e+4>>2]=f[M+4>>2];f[e+8>>2]=f[M+8>>2];f[e+12>>2]=f[M+12>>2];e=f[W>>2]|0;y=e+(p<<4)|0;e=e+(Y<<4)|0;f[V>>2]=f[e>>2];f[V+4>>2]=f[e+4>>2];f[V+8>>2]=f[e+8>>2];f[V+12>>2]=f[e+12>>2];f[N>>2]=f[G>>2];f[N+4>>2]=f[G+4>>2];f[N+8>>2]=f[G+8>>2];f[N+12>>2]=f[G+12>>2];yQ(E,V,N);f[y>>2]=f[E>>2];f[y+4>>2]=f[E+4>>2];f[y+8>>2]=f[E+8>>2];f[y+12>>2]=f[E+12>>2];y=f[W>>2]|0;e=y+(p+-2<<4)|0;Y=y+(Y<<4)|0;f[V>>2]=f[Y>>2];f[V+4>>2]=f[Y+4>>2];f[V+8>>2]=f[Y+8>>2];f[V+12>>2]=f[Y+12>>2];f[N>>2]=f[C>>2];f[N+4>>2]=f[C+4>>2];f[N+8>>2]=f[C+8>>2];f[N+12>>2]=f[C+12>>2];yQ(I,V,N);f[e>>2]=f[I>>2];f[e+4>>2]=f[I+4>>2];f[e+8>>2]=f[I+8>>2];f[e+12>>2]=f[I+12>>2];e=f[Q>>2]|0;if(!e)break;i=is(A,f[W>>2]|0,i,i,z,e)|0;break}r=p;while(1){if((r|0)>0)e=0;else break;while(1){if((e|0)==4)break;E=Y+(e<<4)|0;M=(f[W>>2]|0)+(r-e<<4)|0;f[E>>2]=f[M>>2];f[E+4>>2]=f[M+4>>2];f[E+8>>2]=f[M+8>>2];f[E+12>>2]=f[M+12>>2];e=e+1|0}if(YQ(Y,n)|0){e=0;J=43;break}r=r+-3|0}A:do{if((J|0)==43)while(1){J=0;if((e|0)==4)break A;J=(f[W>>2]|0)+(r-e<<4)|0;E=Y+(e<<4)|0;f[J>>2]=f[E>>2];f[J+4>>2]=f[E+4>>2];f[J+8>>2]=f[E+8>>2];f[J+12>>2]=f[E+12>>2];e=e+1|0;J=43}}while(0);if(r|0){i=r+-3|0;e=f[Q>>2]|0;if(!e)break;i=is(A,f[W>>2]|0,i,p+-3|0,z,e)|0;break}if(!(f[Q>>2]|0))BA(80783,80794,452,80805);else{i=z+16|0;Y=W+16|0;A=f[W>>2]|0;f[V>>2]=f[Y>>2];f[V+4>>2]=f[Y+4>>2];f[V+8>>2]=f[Y+8>>2];f[V+12>>2]=f[Y+12>>2];f[N>>2]=f[A>>2];f[N+4>>2]=f[A+4>>2];f[N+8>>2]=f[A+8>>2];f[N+12>>2]=f[A+12>>2];QQ(y,V,N,n);f[i>>2]=f[y>>2];f[i+4>>2]=f[y+4>>2];f[i+8>>2]=f[y+8>>2];f[i+12>>2]=f[y+12>>2];i=0;break}}else J=52}while(0);if((J|0)==52)if(!(f[Q>>2]|0))i=0;else{i=z+16|0;J=W+16|0;f[i>>2]=f[J>>2];f[i+4>>2]=f[J+4>>2];f[i+8>>2]=f[J+8>>2];f[i+12>>2]=f[J+12>>2];i=0}e=p-i+1|0;r=z+4|0;f[r>>2]=e;f[z>>2]=Pb(e<<4)|0;e=0;while(1){if((e|0)>=(f[r>>2]|0))break;J=(f[z>>2]|0)+(e<<4)|0;A=(f[W>>2]|0)+(i<<4)|0;f[J>>2]=f[A>>2];f[J+4>>2]=f[A+4>>2];f[J+8>>2]=f[A+8>>2];f[J+12>>2]=f[A+12>>2];i=i+1|0;e=e+1|0}HW(f[W>>2]|0);HW(W);f[f[(f[P>>2]|0)+8>>2]>>2]=z}}while(0);v=R;return}function MQ(A,e){A=A|0;e=e|0;var i=0,n=0;n=v;v=v+16|0;i=n;if((A|0)!=0?(r[A>>0]|0)!=0:0){e=GC(e,A)|0;if(!e){f[i>>2]=A;Iy(0,80996,i)|0;e=0}}else e=0;v=n;return e|0}function EQ(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+o[A>>3];if((+o[e>>3]<=r?r<=+o[e+16>>3]:0)?(i=+o[A+8>>3],+o[e+8>>3]<=i):0)A=i<=+o[e+24>>3]&1;else A=0;return A|0}function QQ(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0.0,a=0.0,t=0,l=0.0,c=0.0,s=0.0,u=0,b=0.0,B=0.0,k=0.0,w=0.0,h=0.0,d=0.0,g=0,m=0,Z=0,G=0,I=0.0,C=0,M=0,E=0,Q=0;Q=v;v=v+464|0;u=Q+48|0;E=Q+32|0;g=Q+16|0;m=Q;Z=Q+364|0;G=Q+264|0;C=Q+164|0;M=Q+64|0;k=+o[e>>3];w=+o[e+8>>3];h=+o[i>>3];d=+o[i+8>>3];f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[g+12>>2]=f[r+12>>2];r=r+16|0;f[m>>2]=f[r>>2];f[m+4>>2]=f[r+4>>2];f[m+8>>2]=f[r+8>>2];f[m+12>>2]=f[r+12>>2];c=+o[g>>3];if((h=+o[g+8>>3]):0)?n<=+o[m+8>>3]:0){b=n;B=c}else t=4;do{if((t|0)==4){l=+o[m>>3];if(h>l){a=w+ +(~~((l-k)*(w-d)/(k-h))|0);n=+o[g+8>>3];if(a>=n?a<=+o[m+8>>3]:0){b=a;B=l;break}}else n=+o[g+8>>3];if(d=c)|!(s<=l))):0){b=n;B=s;break}n=+o[m+8>>3];if(d>n?(I=k+ +(~~((n-w)*(k-h)/(w-d))|0),!(!(I>=c)|!(I<=l))):0){b=n;B=I;break}f[u>>2]=f[e>>2];f[u+4>>2]=f[e+4>>2];f[u+8>>2]=f[e+8>>2];f[u+12>>2]=f[e+12>>2];Z=zQ(u,Z)|0;f[u>>2]=f[i>>2];f[u+4>>2]=f[i+4>>2];f[u+8>>2]=f[i+8>>2];f[u+12>>2]=f[i+12>>2];G=zQ(u,G)|0;f[u>>2]=f[g>>2];f[u+4>>2]=f[g+4>>2];f[u+8>>2]=f[g+8>>2];f[u+12>>2]=f[g+12>>2];C=zQ(u,C)|0;f[u>>2]=f[m>>2];f[u+4>>2]=f[m+4>>2];f[u+8>>2]=f[m+8>>2];f[u+12>>2]=f[m+12>>2];M=zQ(u,M)|0;f[E>>2]=Z;f[E+4>>2]=G;f[E+8>>2]=C;f[E+12>>2]=M;Iy(1,80918,E)|0;BA(123205,80794,78,80970)}}while(0);o[A>>3]=B;o[A+8>>3]=b;v=Q;return}function yQ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0;r=(+o[i+8>>3]+ +o[e+8>>3])*.5;o[A>>3]=(+o[i>>3]+ +o[e>>3])*.5;o[A+8>>3]=r;return}function YQ(A,e){A=A|0;e=e|0;var i=0.0,r=0,n=0.0,a=0,t=0,l=0,c=0,s=0;s=v;v=v+80|0;l=s+16|0;c=s;r=0;while(1){if((r|0)==4)break;t=l+(r<<4)|0;a=A+(r<<4)|0;f[t>>2]=f[a>>2];f[t+4>>2]=f[a+4>>2];f[t+8>>2]=f[a+8>>2];f[t+12>>2]=f[a+12>>2];r=r+1|0}r=e+8|0;t=e+24|0;i=+pQ(A,0.0,1.0,+o[e>>3],+o[r>>3],+o[t>>3]);if(i>=0.0&i<2.0)eC(c,l,3,i,A,0);else i=2.0;a=e+16|0;n=+pQ(A,0.0,i>1.0?1.0:i,+o[a>>3],+o[r>>3],+o[t>>3]);if(n>=0.0&n1.0?1.0:i,+o[r>>3],+o[e>>3],+o[a>>3]);if(n>=0.0&n1.0?1.0:i,+o[t>>3],+o[e>>3],+o[a>>3]);if(n>=0.0&n>3]-r))<=.005){e=+o[A+56>>3];e=!(e>=n)|!(e<=f)?-1.0:i;break A}break}default:{}}eC(t,A,3,.5,l,c);a=(i+e)*.5;e=+pQ(l,e,a,r,n,f);if(!(e>=0.0))e=+pQ(c,a,i,r,n,f)}}while(0);v=s;return+e}function VQ(A,e,i,r,n,f){A=A|0;e=+e;i=+i;r=+r;n=+n;f=+f;var a=0.0,t=0,l=0,c=0,s=0;s=v;v=v+144|0;l=s+80|0;c=s+16|0;t=s;A:do{if(!(e==i)){switch(NQ(A,r)|0){case 0:{e=-1.0;break A}case 1:{if(+Y(+(+o[A+56>>3]-r))<=.005){e=+o[A+48>>3];e=!(e>=n)|!(e<=f)?-1.0:i;break A}break}default:{}}eC(t,A,3,.5,l,c);a=(i+e)*.5;e=+VQ(l,e,a,r,n,f);if(!(e>=0.0))e=+VQ(c,a,i,r,n,f)}}while(0);v=s;return+e}function NQ(A,e){A=A|0;e=+e;var i=0,r=0,n=0,f=0.0,a=0,t=0;f=+o[A+8>>3];n=fe&1;i=1;r=n;n=(n|0)==0&1;while(1){if((i|0)==4)break;f=+o[A+(i<<4)+8>>3];t=fe&1;a=n+((r|0)!=0&(t|0)!=(r|0)&1)|0;i=i+1|0;r=t;n=a}return n|0}function WQ(A,e){A=A|0;e=+e;var i=0,r=0,n=0,f=0.0,a=0,t=0;f=+o[A>>3];n=fe&1;i=1;r=n;n=(n|0)==0&1;while(1){if((i|0)==4)break;f=+o[A+(i<<4)>>3];t=fe&1;a=n+((r|0)!=0&(t|0)!=(r|0)&1)|0;i=i+1|0;r=t;n=a}return n|0}function zQ(A,e){A=A|0;e=e|0;var i=0,r=0,n=0.0;i=v;v=v+16|0;r=i;n=+o[A+8>>3];o[r>>3]=+o[A>>3];o[r+8>>3]=n;iP(e,80984,r)|0;v=i;return e|0}function JQ(A){A=A|0;var e=0,i=0,r=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,d=0,g=0,m=0;m=v;v=v+16|0;k=m;g=4;d=RW(40)|0;f[d>>2]=0;B=A+16|0;i=f[B>>2]|0;A:do{if(((n[i+238>>1]|0)-(n[i+236>>1]|0)|0)>=2){s=1;e=i;i=f[i+196>>2]|0;e:while(1){u=s+1|0;if(!(f[i+(u<<6)>>2]|0)){b=15;break}else o=0;while(1){t=f[i+(s<<6)>>2]|0;if((o|0)>=(t|0)){s=u;continue e}c=f[(f[i+(s<<6)+4>>2]|0)+(o<<2)>>2]|0;w=0;e=eA(18,c|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,d|0,g|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){e=Q;break e}if(e<<24>>24){l=o;e=t;while(1){a=l+1|0;if((a|0)>=(e|0))break;w=0;e=iA(17,c|0,f[(f[i+(s<<6)+4>>2]|0)+(a<<2)>>2]|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){r=pH(f[i>>2]|0,d|0,g|0)|0;if(!r)OA(i|0,h|0);Q=h}else r=-1;if((r|0)==1){e=Q;break e}if(!(e<<24>>24))break;e=f[(f[B>>2]|0)+196>>2]|0;l=a;i=e;e=f[e+(s<<6)>>2]|0}if((a-o|0)>1){w=0;bA(6,A|0,s|0,o|0,l|0,1);e=w;w=0;if((e|0)!=0&(h|0)!=0){i=pH(f[e>>2]|0,d|0,g|0)|0;if(!i)OA(e|0,h|0);Q=h}else i=-1;if((i|0)==1){e=Q;break e}}}i=f[B>>2]|0;o=o+1|0;e=i;i=f[i+196>>2]|0}}e:do{if((b|0)==15){while(1){if((s|0)>0)o=0;else break;while(1){i=f[e+196>>2]|0;t=f[i+(s<<6)>>2]|0;if((o|0)>=(t|0))break;c=f[(f[i+(s<<6)+4>>2]|0)+(o<<2)>>2]|0;w=0;e=eA(19,c|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,d|0,g|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){e=Q;break e}if(e<<24>>24){l=o;e=t;while(1){a=l+1|0;if((a|0)>=(e|0))break;w=0;e=iA(18,c|0,f[(f[i+(s<<6)+4>>2]|0)+(a<<2)>>2]|0)|0;i=w;w=0;if((i|0)!=0&(h|0)!=0){r=pH(f[i>>2]|0,d|0,g|0)|0;if(!r)OA(i|0,h|0);Q=h}else r=-1;if((r|0)==1){e=Q;break e}if(!(e<<24>>24))break;e=f[(f[B>>2]|0)+196>>2]|0;l=a;i=e;e=f[e+(s<<6)>>2]|0}if((a-o|0)>1){w=0;bA(6,A|0,s|0,o|0,l|0,0);e=w;w=0;if((e|0)!=0&(h|0)!=0){i=pH(f[e>>2]|0,d|0,g|0)|0;if(!i)OA(e|0,h|0);Q=h}else i=-1;if((i|0)==1){e=Q;break e}}}o=o+1|0;e=f[B>>2]|0}s=s+-1|0;b=15}d=YH(167760,1,d|0,g|0)|0;g=Q;w=0;e=w;w=0;if((e|0)!=0&(h|0)!=0){i=pH(f[e>>2]|0,d|0,g|0)|0;if(!i)OA(e|0,h|0);Q=h}else i=-1;if((i|0)==1)e=Q;else e=0}}while(0);e:while(1){if(e){w=0;rA(11,3,81024,k|0)|0;e=w;w=0;if((e|0)!=0&(h|0)!=0){i=pH(f[e>>2]|0,d|0,g|0)|0;if(!i)OA(e|0,h|0);Q=h}else i=-1;if((i|0)==1){e=Q;continue}else break}else r=1;while(1){e=f[B>>2]|0;if((r|0)>(f[e+180>>2]|0))break A;w=0;lA(85,f[(f[e+184>>2]|0)+(r<<2)>>2]|0);e=w;w=0;if((e|0)!=0&(h|0)!=0){i=pH(f[e>>2]|0,d|0,g|0)|0;if(!i)OA(e|0,h|0);Q=h}else i=-1;if((i|0)==1){e=Q;continue e}r=r+1|0}}}}while(0);HW(d|0);v=m;return}function PQ(A){A=A|0;A=f[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(f[A+176>>2]|0)==1:0)?(f[A+184>>2]|0)==1:0)A=(f[A+104>>2]|0)==0&1;else A=0;return A|0}function RQ(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+80|0;t=l+40|0;a=l;r=f[f[(f[A+16>>2]|0)+172>>2]>>2]|0;A=f[f[(f[e+16>>2]|0)+172>>2]>>2]|0;if(((PQ(e)|0)<<24>>24!=0?(f[((f[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(f[((f[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0):0)?(xQ(r,A)|0)<<24>>24!=0:0){i=(f[A+16>>2]|0)+16|0;n=a;A=(f[r+16>>2]|0)+16|0;e=n+40|0;do{f[n>>2]=f[A>>2];n=n+4|0;A=A+4|0}while((n|0)<(e|0));n=t;A=i;e=n+40|0;do{f[n>>2]=f[A>>2];n=n+4|0;A=A+4|0}while((n|0)<(e|0));A=(Jf(a,t)|0)==0&1}else A=0;v=l;return A|0}function HQ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0;d=A+16|0;k=f[(f[(f[(f[d>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(i<<2)>>2]|0;B=i+1|0;u=(n|0)==1;b=k+16|0;s=B;while(1){if((s|0)>(r|0)){a=r;h=B;break}v=f[(f[(f[(f[d>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(s<<2)>>2]|0;o=v+16|0;A:do{if(u)while(1){i=f[o>>2]|0;c=f[f[i+180>>2]>>2]|0;if(!c)break A;t=f[(f[b>>2]|0)+180>>2]|0;l=c+-48|0;n=0;while(1){i=f[t+(n<<2)>>2]|0;if(!i){w=8;break}if((f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)==(f[((f[c>>2]&3|0)==2?c:l)+40>>2]|0))break;else n=n+1|0}if((w|0)==8){w=0;i=Da(k,f[((f[c>>2]&3|0)==2?c:l)+40>>2]|0,c)|0}while(1){n=f[f[(f[o>>2]|0)+172>>2]>>2]|0;if(!n)break;Ka(n,i);Pa(n)}Pa(c)}else while(1){i=f[o>>2]|0;c=f[f[i+172>>2]>>2]|0;if(!c)break A;t=f[(f[b>>2]|0)+172>>2]|0;l=c+48|0;n=0;while(1){i=f[t+(n<<2)>>2]|0;if(!i){w=17;break}if((f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)==(f[((f[c>>2]&3|0)==3?c:l)+40>>2]|0))break;else n=n+1|0}if((w|0)==17){w=0;i=Da(f[((f[c>>2]&3|0)==3?c:l)+40>>2]|0,k,c)|0}while(1){n=f[f[(f[o>>2]|0)+180>>2]>>2]|0;if(!n)break;Ka(n,i);Pa(n)}Pa(c)}}while(0);if((f[i+176>>2]|0)!=(0-(f[i+184>>2]|0)|0)){w=23;break}Ta(A,v);s=s+1|0}if((w|0)==23)BA(81160,81204,115,81211);while(1){a=a+1|0;i=f[(f[d>>2]|0)+196>>2]|0;n=i+(e<<6)|0;if((a|0)>=(f[n>>2]|0))break;r=f[i+(e<<6)+4>>2]|0;w=f[r+(a<<2)>>2]|0;f[r+(h<<2)>>2]=w;f[(f[w+16>>2]|0)+236>>2]=h;h=h+1|0}f[n>>2]=h;f[(f[i+(e<<6)+4>>2]|0)+(h<<2)>>2]=0;return}function LQ(A){A=A|0;A=f[A+16>>2]|0;if(((r[A+156>>0]|0)==1?(f[A+184>>2]|0)==1:0)?(f[A+176>>2]|0)==1:0)A=(f[A+104>>2]|0)==0&1;else A=0;return A|0}function FQ(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+80|0;t=l+40|0;a=l;r=f[f[(f[A+16>>2]|0)+180>>2]>>2]|0;A=f[f[(f[e+16>>2]|0)+180>>2]>>2]|0;if(((LQ(e)|0)<<24>>24!=0?(f[((f[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)==(f[((f[A>>2]&3|0)==2?A:A+-48|0)+40>>2]|0):0)?(xQ(r,A)|0)<<24>>24!=0:0){i=(f[A+16>>2]|0)+56|0;n=a;A=(f[r+16>>2]|0)+56|0;e=n+40|0;do{f[n>>2]=f[A>>2];n=n+4|0;A=A+4|0}while((n|0)<(e|0));n=t;A=i;e=n+40|0;do{f[n>>2]=f[A>>2];n=n+4|0;A=A+4|0}while((n|0)<(e|0));A=(Jf(a,t)|0)==0&1}else A=0;v=l;return A|0}function DQ(A){A=A|0;var e=0,i=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0;w=v;v=v+32|0;B=w+16|0;b=w;s=A+16|0;i=f[s>>2]|0;e=n[i+236>>1]|0;while(1){if((e|0)>(n[i+238>>1]|0))break;f[(f[i+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;i=f[s>>2]|0}WM(A);c=Ep(A)|0;while(1){if(!c)break;XQ(A,c);l=bY(A,c)|0;while(1){if(!l)break;else i=l;while(1){e=f[(f[i+16>>2]|0)+172>>2]|0;if(!e)break;else i=e}t=l+-48|0;while(1){e=i+-48|0;a=f[((f[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f[(f[a+16>>2]|0)+232>>2]|0)>=(f[(f[(f[((f[l>>2]&3|0)==2?l:t)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;XQ(A,a);i=f[f[(f[(f[((f[i>>2]&3|0)==2?i:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}l=BY(A,l)|0}c=Qp(A,c)|0}e=f[s>>2]|0;l=n[e+236>>1]|0;while(1){if((l|0)>(n[e+238>>1]|0)){o=1;u=e;break}e=f[(f[e+268>>2]|0)+(l<<2)>>2]|0;c=f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0;i=e+16|0;if((f[c+(f[(f[i>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){k=17;break}t=f[(f[(f[(zf(A)|0)+16>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0;e=f[s>>2]|0;i=f[e+196>>2]|0;f[i+(l<<6)+4>>2]=t+(f[(f[(f[(f[e+268>>2]|0)+(l<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;t=0;A:while(1){if((t|0)>=(f[i+(l<<6)>>2]|0))break;i=f[(f[i+(l<<6)+4>>2]|0)+(t<<2)>>2]|0;if(!i)break;a=f[i+16>>2]|0;e:do{if(!(r[a+156>>0]|0))if(!(_p(A,i)|0))break A;else e=t;else{i=f[f[a+172>>2]>>2]|0;while(1){if(!i)break e;a=f[(f[i+16>>2]|0)+116>>2]|0;if(!a)break;else i=a}if(_p(A,f[((f[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0){c=(_p(A,f[((f[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)|0)==0;e=c?e:t}}}while(0);t=t+1|0;i=f[(f[s>>2]|0)+196>>2]|0}if((e|0)==-1){f[B>>2]=Ap(A)|0;f[B+4>>2]=l;Iy(0,81124,B)|0}c=f[s>>2]|0;f[(f[c+196>>2]|0)+(l<<6)>>2]=e+1;l=l+1|0;e=c}if((k|0)==17){B=Ap(e)|0;k=f[(f[i>>2]|0)+236>>2]|0;f[b>>2]=B;f[b+4>>2]=k;f[b+8>>2]=l;Iy(1,81066,b)|0;OA(167760,1)}while(1){if((o|0)>(f[u+180>>2]|0))break;DQ(f[(f[u+184>>2]|0)+(o<<2)>>2]|0);o=o+1|0;u=f[s>>2]|0}v=w;return}function XQ(A,e){A=A|0;e=e|0;var i=0,r=0;i=f[e+16>>2]|0;A=(f[(f[A+16>>2]|0)+268>>2]|0)+(f[i+232>>2]<<2)|0;r=f[A>>2]|0;if(!((r|0)!=0?(f[(f[r+16>>2]|0)+236>>2]|0)<=(f[i+236>>2]|0):0))f[A>>2]=e;return}function xQ(A,e){A=A|0;e=e|0;var i=0,n=0;while(1){n=f[A+16>>2]|0;if(!(r[n+112>>0]|0))break;A=f[n+116>>2]|0}while(1){i=f[e+16>>2]|0;if(!(r[i+112>>0]|0))break;e=f[i+116>>2]|0}if((r[n+153>>0]|0)==0?(r[i+153>>0]|0)==0:0){n=f[e>>2]&3;i=f[A>>2]&3;A=(X((f[(f[(f[((i|0)==3?A:A+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((i|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(f[(f[(f[((n|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(f[(f[(f[((n|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else A=0;return A|0}function TQ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+544|0;c=o+528|0;UQ(c,o+512|0,o);i=(r[173898]|0)+1<<24>>24;r[173898]=i<<24>>24==0?1:i;i=f[A+16>>2]|0;f[i+220>>2]=0;f[i+232>>2]=0;i=(e|0)>0;e=Ep(A)|0;while(1){if(!e)break;if(i?(t=f[e+16>>2]|0,l=f[t+212>>2]|0,(l|0)!=0):0){a=f[(f[(f[l+16>>2]|0)+268>>2]|0)+(f[t+232>>2]<<2)>>2]|0;n=7}else n=6;if((n|0)==6?(n=0,(e|0)==(KI(e)|0)):0){a=e;n=7}if((n|0)==7?(0,(r[(f[a+16>>2]|0)+157>>0]|0)!=(r[173898]|0)):0){SQ(A);jQ(c,A,a);OQ(A)}e=Qp(A,e)|0}KQ(c);v=o;return}function UQ(A,e,i){A=A|0;e=e|0;i=i|0;f[e>>2]=i;f[e+4>>2]=i+512;f[e+12>>2]=0;f[e+8>>2]=0;f[A>>2]=e;f[A+4>>2]=e;f[A+8>>2]=i;return}function SQ(A){A=A|0;f[(f[A+16>>2]|0)+192>>2]=0;f[41979]=0;return}function jQ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;k=v;v=v+32|0;B=k;_Q(A,i);o=B+8|0;s=B+16|0;u=B+24|0;A:while(1){b=qQ(A)|0;if(!b)break;i=b+16|0;if((r[(f[i>>2]|0)+157>>0]|0)==(r[173898]|0))continue;$Q(e,b);t=f[i>>2]|0;a=t+180|0;c=f[a+4>>2]|0;l=B;f[l>>2]=f[a>>2];f[l+4>>2]=c;l=t+172|0;c=f[l+4>>2]|0;a=o;f[a>>2]=f[l>>2];f[a+4>>2]=c;a=t+188|0;c=f[a+4>>2]|0;l=s;f[l>>2]=f[a>>2];f[l+4>>2]=c;t=t+196|0;l=f[t+4>>2]|0;c=u;f[c>>2]=f[t>>2];f[c+4>>2]=l;c=3;while(1){if((c|0)<=-1)continue A;i=f[B+(c<<3)>>2]|0;e:do{if(i|0){l=(f[B+(c<<3)+4>>2]|0)+-1|0;t=i+(l<<2)|0;while(1){if((l|0)<=-1)break e;n=f[t>>2]|0;a=f[n>>2]&3;i=f[((a|0)==2?n:n+-48|0)+40>>2]|0;if((i|0)==(b|0))i=f[((a|0)==3?n:n+48|0)+40>>2]|0;if((r[(f[i+16>>2]|0)+157>>0]|0)!=(r[173898]|0)?(i|0)==(KI(i)|0):0)_Q(A,i);t=t+-4|0;l=l+-1|0}}}while(0);c=c+-1|0}}v=k;return}function OQ(A){A=A|0;var e=0,i=0,r=0,n=0;i=A+16|0;e=f[i>>2]|0;n=e+220|0;r=f[n>>2]|0;A=r+1|0;f[n>>2]=A;e=f[e+216>>2]|0;if(!e)A=Pb(A<<2)|0;else A=Hb(e,A<<2)|0;n=f[i>>2]|0;f[n+216>>2]=A;f[A+(r<<2)>>2]=f[n+192>>2];return}function KQ(A){A=A|0;var e=0;A=f[(f[A>>2]|0)+12>>2]|0;while(1){if(!A)break;e=f[A+12>>2]|0;HW(f[A>>2]|0);HW(A);A=e}return}function _Q(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;t=o+8|0;n=o;c=A+8|0;i=f[c>>2]|0;l=A+4|0;A=f[l>>2]|0;if((i|0)==(f[A+4>>2]|0)){i=f[A+12>>2]|0;if(!i){i=Jb(16)|0;if(!i)Iy(1,83988,n)|0;f[i+8>>2]=f[l>>2];f[i+12>>2]=0;A=Jb(4e6)|0;f[i>>2]=A;if(!A){Iy(1,81224,t)|0;A=f[i>>2]|0}f[i+4>>2]=A+4e6;f[(f[l>>2]|0)+12>>2]=i}f[l>>2]=i;i=f[i>>2]|0;f[c>>2]=i}r[(f[e+16>>2]|0)+157>>0]=(a[173898]|0)+1;f[c>>2]=i+4;f[i>>2]=e;v=o;return}function qQ(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;n=A+8|0;e=f[n>>2]|0;i=A+4|0;r=f[i>>2]|0;if((e|0)==(f[r>>2]|0))if((r|0)==(f[A>>2]|0))e=0;else{e=f[r+8>>2]|0;f[i>>2]=e;e=f[e+4>>2]|0;f[n>>2]=e;a=4}else a=4;if((a|0)==4){e=e+-4|0;f[n>>2]=e;e=f[e>>2]|0}return e|0}function $Q(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;n=f[A+16>>2]|0;a=n+232|0;f[a>>2]=(f[a>>2]|0)+1;a=f[e+16>>2]|0;r[a+157>>0]=r[173898]|0;A=f[41979]|0;i=a+168|0;if(!A){f[i>>2]=0;f[n+192>>2]=e}else{f[i>>2]=A;f[(f[A+16>>2]|0)+164>>2]=e}f[41979]=e;f[a+164>>2]=0;return}function Ay(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,s=0,u=0,b=0.0,v=0.0;u=A+16|0;e=(f[u>>2]|0)+192|0;while(1){e=f[e>>2]|0;if(!e)break;a=e+16|0;e=f[a>>2]|0;i=f[e+188>>2]|0;A:do{if(!i)n=0;else{n=0;while(1){i=f[i+(n<<2)>>2]|0;if(!i){n=0;break A}ey(i);e=f[a>>2]|0;n=n+1|0;i=f[e+188>>2]|0}}}while(0);while(1){if((n|0)>=(f[e+208>>2]|0))break;i=f[(f[e+204>>2]|0)+(n<<2)>>2]|0;s=f[i>>2]&3;if((f[(f[(f[((s|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(f[(f[(f[((s|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){ey(i);e=f[a>>2]|0}n=n+1|0}e=e+164|0}s=f[u>>2]|0;e=f[s+196>>2]|0;if(!((f[e+56>>2]|0)==0?(f[s+180>>2]|0)<=0:0))t=13;A:do{if((t|0)==13){t=f[e+4>>2]|0;a=0;e:while(1){e=f[t+(a<<2)>>2]|0;if(!e)break A;i=f[(f[e+16>>2]|0)+196>>2]|0;e=0;while(1){n=f[i+(e<<2)>>2]|0;if(!n)break;s=f[n+16>>2]|0;if(f[s+96>>2]|0?(r[s+113>>0]|0)==0:0)break e;e=e+1|0}a=a+1|0}iy(A)}}while(0);UC(A);i=0;e=(f[u>>2]|0)+192|0;while(1){e=f[e>>2]|0;if(!e)break;s=e+16|0;e=f[s>>2]|0;n=f[e+188>>2]|0;A:do{if(n){c=0;while(1){a=f[n+(c<<2)>>2]|0;if(!a){c=0;break}t=f[a+16>>2]|0;l=f[t+96>>2]|0;do{if(l)if(!(r[t+113>>0]|0)){ry(a);n=f[s>>2]|0;i=1;e=n;n=f[n+188>>2]|0;break}else{o[t+136>>3]=+o[((f[(f[u>>2]|0)+116>>2]&1|0)==0?l+24|0:l+32|0)>>3];break}}while(0);c=c+1|0}while(1){if((c|0)>=(f[e+208>>2]|0))break A;t=f[(f[e+204>>2]|0)+(c<<2)>>2]|0;l=f[t>>2]&3;a=f[((l|0)==3?t:t+48|0)+40>>2]|0;l=f[((l|0)==2?t:t+-48|0)+40>>2]|0;do{if(!((a|0)==(l|0)?1:(f[(f[a+16>>2]|0)+232>>2]|0)!=(f[(f[l+16>>2]|0)+232>>2]|0))){n=t;do{l=f[n+16>>2]|0;n=f[l+172>>2]|0}while((n|0)!=0);n=r[l+113>>0]|0;a=f[t+16>>2]|0;r[a+113>>0]=n;a=f[a+96>>2]|0;if(a)if(!(n<<24>>24)){ry(t);i=1;e=f[s>>2]|0;break}else{v=+o[((f[(f[u>>2]|0)+116>>2]&1|0)==0?a+24|0:a+32|0)>>3];l=l+136|0;b=+o[l>>3];o[l>>3]=v>b?v:b;break}}}while(0);c=c+1|0}}}while(0);e=e+164|0}if(i|0){et(A);Bt(A)}return i|0}function ey(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;e=f[A>>2]&3;l=f[((e|0)==3?A:A+48|0)+40>>2]|0;n=l+16|0;a=f[(f[n>>2]|0)+236>>2]|0;e=f[(f[(f[((e|0)==2?A:A+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;t=(a|0)<(e|0);i=t?e:a;l=f[(f[(zf(l)|0)+16>>2]|0)+196>>2]|0;n=l+(f[(f[n>>2]|0)+232>>2]<<6)+4|0;e=t?a:e;A:while(1){e=e+1|0;if((e|0)>=(i|0))break;a=f[(f[(f[n>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;switch(r[a+156>>0]|0){case 0:break A;case 1:break;default:continue A}if(f[a+104>>2]|0)break}if((e|0)==(i|0))do{l=f[A+16>>2]|0;r[l+113>>0]=1;A=f[l+172>>2]|0}while((A|0)!=0);return}function iy(A){A=A|0;var e=0,i=0,r=0,a=0;a=A+16|0;A=f[a>>2]|0;if(n[A+236>>1]|0)BA(81281,81264,190,81300);e=(n[A+238>>1]|0)+3|0;A=f[A+196>>2]|0;if(!A)A=Pb(e<<6)|0;else A=Hb(A,e<<6)|0;e=A+64|0;A=f[a>>2]|0;f[A+196>>2]=e;A=n[A+238>>1]|0;while(1){if((A|0)<=-1)break;r=A+-1|0;i=e+(A<<6)|0;A=e+(r<<6)|0;e=i+64|0;do{f[i>>2]=f[A>>2];i=i+4|0;A=A+4|0}while((i|0)<(e|0));A=r;e=f[(f[a>>2]|0)+196>>2]|0}f[e+(A<<6)+8>>2]=0;f[e+(A<<6)>>2]=0;i=Jb(8)|0;a=f[a>>2]|0;r=f[a+196>>2]|0;f[r+(A<<6)+12>>2]=i;f[r+(A<<6)+4>>2]=i;f[r+(A<<6)+56>>2]=0;o[r+(A<<6)+24>>3]=1.0;o[r+(A<<6)+16>>3]=1.0;o[r+(A<<6)+40>>3]=1.0;o[r+(A<<6)+32>>3]=1.0;a=a+236|0;n[a>>1]=(n[a>>1]|0)+-1<<16>>16;return}function ry(A){A=A|0;var e=0,i=0,n=0.0,a=0,t=0,l=0,c=0,s=0,u=0,b=0,v=0,B=0.0,k=0.0,w=0.0;l=A+16|0;if(f[(f[l>>2]|0)+96>>2]|0){u=A+48|0;c=zf(f[((f[A>>2]&3|0)==3?A:u)+40>>2]|0)|0;e=f[(f[(f[((f[A>>2]&3|0)==3?A:u)+40>>2]|0)+16>>2]|0)+232>>2]|0;s=ny(c,A)|0;b=c+16|0;i=f[b>>2]|0;a=f[i+196>>2]|0;v=e+-1|0;t=f[f[a+(v<<6)+4>>2]>>2]|0;if(!t)n=+o[a+(e<<6)+24>>3]+ +o[(f[(f[f[a+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(f[i+252>>2]|0);else n=+o[(f[t+16>>2]|0)+24>>3]-+o[a+(v<<6)+16>>3];e=fy(c,v,s)|0;c=f[(f[l>>2]|0)+96>>2]|0;k=+o[c+24>>3];B=+o[c+32>>3];l=(f[(f[b>>2]|0)+116>>2]&1|0)==0;w=l?B:k;a=e+16|0;i=f[a>>2]|0;o[i+80>>3]=w;s=~~(w*.5);B=(l?k:B)*.5;o[i+96>>3]=B;o[i+88>>3]=B;f[i+104>>2]=c;o[i+24>>3]=+(s+~~n|0);i=Da(e,f[((f[A>>2]&3|0)==3?A:u)+40>>2]|0,A)|0;i=f[i+16>>2]|0;o[i+16>>3]=-+o[(f[a>>2]|0)+88>>3];o[i+56>>3]=+o[(f[(f[((f[A>>2]&3|0)==3?A:u)+40>>2]|0)+16>>2]|0)+96>>3];r[i+112>>0]=4;i=A+-48|0;e=Da(e,f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0,A)|0;a=f[a>>2]|0;e=f[e+16>>2]|0;o[e+16>>3]=+o[a+96>>3];o[e+56>>3]=+o[(f[(f[((f[A>>2]&3|0)==2?A:i)+40>>2]|0)+16>>2]|0)+88>>3];r[e+112>>0]=4;e=f[(f[b>>2]|0)+196>>2]|0;i=e+(v<<6)+16|0;n=+(s|0);if(+o[i>>3]>3]=n;e=e+(v<<6)+24|0;if(+o[e>>3]>3]=n;f[a+112>>2]=A}return}function ny(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+32|0;c=u+8|0;n=u+4|0;a=u;i=f[e>>2]&3;r=f[((i|0)==3?e:e+48|0)+40>>2]|0;o=(f[(f[r+16>>2]|0)+232>>2]|0)+-1|0;A=f[(f[A+16>>2]|0)+196>>2]|0;t=f[A+(o<<6)+4>>2]|0;A=f[A+(o<<6)>>2]|0;o=c+8|0;f[o>>2]=-1;f[c>>2]=-1;s=c+12|0;f[s>>2]=A;l=c+4|0;f[l>>2]=A;ay(r,f[((i|0)==2?e:e+-48|0)+40>>2]|0,n,a);n=f[n>>2]|0;a=f[a>>2]|0;i=0;r=A;e=-1;while(1){if((i|0)>=(r|0))break;r=r+-1|0;ty(f[t+(i<<2)>>2]|0,c,n,a);if((i|0)!=(r|0))ty(f[t+(r<<2)>>2]|0,c,n,a);A=f[l>>2]|0;e=f[c>>2]|0;if((A-e|0)<2)break;else i=i+1|0}if((e|0)>(A|0))A=(f[s>>2]|0)+(f[o>>2]|0)|0;else A=A+e|0;v=u;return(A+1|0)/2|0|0}function fy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;a=A+16|0;n=f[(f[a>>2]|0)+196>>2]|0;r=n+(e<<6)|0;n=f[n+(e<<6)+4>>2]|0;if(!n)n=Pb((f[r>>2]<<2)+8|0)|0;else n=Hb(n,(f[r>>2]<<2)+8|0)|0;r=f[(f[a>>2]|0)+196>>2]|0;f[r+(e<<6)+4>>2]=n;r=f[r+(e<<6)>>2]|0;while(1){if((r|0)<=(i|0))break;t=r+-1|0;l=f[n+(t<<2)>>2]|0;f[n+(r<<2)>>2]=l;l=(f[l+16>>2]|0)+236|0;f[l>>2]=(f[l>>2]|0)+1;r=t}t=Sa(A)|0;l=n+(i<<2)|0;f[l>>2]=t;t=f[t+16>>2]|0;f[t+236>>2]=i;f[t+232>>2]=e;a=(f[(f[a>>2]|0)+196>>2]|0)+(e<<6)|0;t=(f[a>>2]|0)+1|0;f[a>>2]=t;f[n+(t<<2)>>2]=0;return f[l>>2]|0}function ay(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;A=f[(f[A+16>>2]|0)+236>>2]|0;e=f[(f[e+16>>2]|0)+236>>2]|0;n=(A|0)>(e|0);f[i>>2]=n?e:A;f[r>>2]=n?A:e;return}function ty(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0;s=v;v=v+16|0;t=s+4|0;a=s;A=f[A+16>>2]|0;do{if((r[A+156>>0]|0)==1){o=f[A+236>>2]|0;if(f[A+176>>2]|0){l=f[A+180>>2]|0;A=0;a=0;t=0;while(1){c=f[l+(t<<2)>>2]|0;if(!c)break;u=f[(f[(f[((f[c>>2]&3|0)==2?c:c+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;c=(u|0)>(i|0);A=c?(u|0)<(n|0)?A:1:A;a=c?a:1;t=t+1|0}if(a<<24>>24!=0&A<<24>>24==0){f[e>>2]=o+1;break}if(!(a<<24>>24==0&A<<24>>24!=0))break;f[e+4>>2]=o+-1;break}if((f[A+184>>2]|0)!=2)BA(81244,81264,63,81271);l=f[A+180>>2]|0;u=f[l>>2]|0;l=f[l+4>>2]|0;ay(f[((f[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0,f[((f[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0,t,a);l=f[a>>2]|0;if((l|0)<=(i|0)){f[e>>2]=o;f[e+8>>2]=o;break}A=f[t>>2]|0;if((A|0)>=(n|0)){f[e+4>>2]=o;f[e+12>>2]=o;break}a=(A|0)<(i|0);t=(l|0)>(n|0);if(!(t&a)){if(!(!a?!((l|0)<(n|0)&(A|0)==(i|0)):0))f[e+8>>2]=o;if(!t?!((l|0)==(n|0)&(A|0)>(i|0)):0)break;f[e+12>>2]=o}}}while(0);v=s;return}function ly(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;do{if((A|0)!=0?(f[A+24>>2]|0)<=0:0){t=f[A+4>>2]|0;a=t+32|0;e=f[a>>2]|0;if(e){e=ZL[e&31](A,2,0,t)|0;if((e|0)<0){e=-1;break}}else e=0;if(f[A+28>>2]|0)gy(A,0)|0;n=(e|0)==0;if(n){mL[f[f[A+16>>2]>>2]&31](A,0,64)|0;if((ky(A)|0)>0){e=-1;break}i=A+8|0;e=f[i>>2]|0;if((f[e+12>>2]|0)>0){r=A+12|0;ZL[f[r>>2]&31](A,f[e+8>>2]|0,0,t)|0;e=f[i>>2]|0}else r=A+12|0;ZL[f[r>>2]&31](A,e,0,t)|0}e=f[A+20>>2]|0;if(e){if(n&(e|0)==1)ZL[f[A+12>>2]&31](A,A,0,t)|0}else HW(A);e=f[a>>2]|0;if(!e)e=0;else{ZL[e&31](A,6,0,t)|0;e=0}}else e=-1}while(0);return e|0}function cy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;n=A+4|0;b=f[n>>2]|0;A:do{if(b)if(e){u=f[f[A+16>>2]>>2]|0;a=A+8|0;if(f[f[a>>2]>>2]&4096|0)By(A,0)|0;r=f[b+32>>2]|0;if(r|0?(ZL[r&31](A,3,e,b)|0)<0:0){e=0;break}f[n>>2]=e;r=f[e+28>>2]|0;f[A+12>>2]=(r|0)==0?19:r;r=f[f[a>>2]>>2]|0;if(!(r&112)){do{if(!(r&2))if(!(r&3))if(!(i&1))break;else{e=b;break A}else if((i&3|0)==3){e=b;break A}else break;else if(i&2|0){e=b;break A}}while(0);t=uy(A)|0;r=f[a>>2]|0;s=f[r>>2]|0;f[r>>2]=s&-4097;f[r+4>>2]=0;f[r+16>>2]=0;e:do{if(s&3|0){s=f[r+8>>2]|0;n=s+(f[r+12>>2]<<2)|0;r=s;while(1){if(r>>>0>=n>>>0)break e;f[r>>2]=0;r=r+4|0}}}while(0);l=(i&2|0)==0;c=e+8|0;o=e+4|0;s=e+24|0;while(1){if(!t){e=b;break A}i=f[t>>2]|0;if(l){r=f[c>>2]|0;if((r|0)<0)r=f[t+8>>2]|0;else r=t+(0-r)|0;a=f[o>>2]|0;r=r+(f[e>>2]|0)|0;if((a|0)<0)r=f[r>>2]|0;n=f[s>>2]|0;if(!n)r=hy(0,r,a)|0;else r=mL[n&31](A,r,e)|0;f[t+4>>2]=r}mL[u&31](A,t,32)|0;t=i}}else e=b}else e=b;else{f[n>>2]=e;b=f[e+28>>2]|0;f[A+12>>2]=(b|0)==0?19:b}}while(0);return e|0}function oy(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(i|0)==0;do{if(!e)if(A)A=0;else A=RW(i)|0;else if(A){HW(e);A=0;break}else{A=FW(e,i)|0;break}}while(0);return A|0}function sy(A){A=A|0;var e=0,i=0,r=0;r=A+8|0;e=f[r>>2]|0;i=f[e>>2]|0;A:do{if(!(i&12)){if(!(i&3)){i=e+8|0;A=f[i>>2]|0;f[i>>2]=0;break}A=uy(A)|0;i=f[r>>2]|0;e=f[i+8>>2]|0;i=e+(f[i+12>>2]<<2)|0;while(1){if(e>>>0>=i>>>0)break A;f[e>>2]=0;e=e+4|0}}else A=f[e+4>>2]|0}while(0);r=f[r>>2]|0;f[r>>2]=f[r>>2]&-4097;f[r+16>>2]=0;f[r+4>>2]=0;return A|0}function uy(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;a=A+8|0;A=f[a>>2]|0;e=f[A>>2]|0;if(!(e&4096)){A:do{if(!(e&3)){if(e&112|0){A=f[A+8>>2]|0;break}A=f[A+4>>2]|0;if(!A)A=0;else{while(1){e=A+4|0;i=f[e>>2]|0;if(!i){r=A;break}f[e>>2]=f[i>>2];f[i>>2]=A;A=i}while(1){e=f[r>>2]|0;if(!e)break A;i=f[e+4>>2]|0;if(!i){r=e;continue}while(1){f[e+4>>2]=f[i>>2];f[i>>2]=e;e=f[i+4>>2]|0;if(!e)break;else{n=i;i=e;e=n}}f[r>>2]=i;r=i}}}else{r=f[A+8>>2]|0;n=r+(f[A+12>>2]<<2)|0;e=0;A=0;while(1){if(r>>>0>=n>>>0)break A;i=f[r>>2]|0;if(i){if(!e){e=i;A=i}else f[e>>2]=i;while(1){i=f[e>>2]|0;if(!i)break;else e=i}f[r>>2]=e}r=r+4|0}}}while(0);a=f[a>>2]|0;f[a+4>>2]=A;f[a>>2]=f[a>>2]|4096}else A=f[A+4>>2]|0;return A|0}function by(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0;h=A+8|0;if(f[f[h>>2]>>2]&4096|0)By(A,0)|0;w=f[A+4>>2]|0;u=f[w>>2]|0;b=f[w+4>>2]|0;k=w+8|0;g=f[k>>2]|0;v=f[w+20>>2]|0;B=A+20|0;n=f[B>>2]&-32769;f[B>>2]=n;A:do{if(!e){if(i&384|0){n=f[h>>2]|0;r=f[n+8>>2]|0;if(!r){r=0;break}if(i&256){r=f[r+4>>2]|0;f[n+4>>2]=r;if(!r){r=0;break}}else f[n+4>>2]=r;if((g|0)<0){r=f[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}if(i&4098|0){r=f[h>>2]|0;if(f[r>>2]&144|0){r=0;break}r=f[r+8>>2]|0;if(!r){r=0;break}else{t=r;d=84;break}}if(!(i&64))r=0;else{l=w+16|0;e:do{if((f[l>>2]|0)!=0|(g|0)<0){c=A+12|0;o=(g|0)<0;n=0-g|0;r=f[(f[h>>2]|0)+8>>2]|0;while(1){if(!r)break e;a=f[r>>2]|0;t=f[l>>2]|0;if(t|0){if(o)e=f[r+8>>2]|0;else e=r+n|0;QL[t&127](A,e,w)}if((f[k>>2]|0)>=0){r=a;continue}ZL[f[c>>2]&31](A,r,0,w)|0;r=a}}}while(0);r=f[h>>2]|0;f[r+4>>2]=0;f[r+8>>2]=0;f[(f[h>>2]|0)+16>>2]=0;r=0}}else{if(i&2049|0){a=w+12|0;r=f[a>>2]|0;t=(i&1|0)==0;if(!(t|(r|0)==0)){r=mL[r&31](A,e,w)|0;if(!r){r=0;break}else n=r}else n=e;do{if((g|0)>-1)t=n+g|0;else{r=ZL[f[A+12>>2]&31](A,0,12,w)|0;if(r|0){f[r+8>>2]=n;t=r;break}if(!(f[a>>2]|0)){r=0;break A}r=f[w+16>>2]|0;if(t|(r|0)==0){r=0;break A}QL[r&127](A,n,w);r=0;break A}}while(0);a=f[h>>2]|0;r=f[a>>2]|0;do{if(!(r&128)){if(!(r&16))if(!(r&32)){d=51;break}else{d=48;break}n=f[a+4>>2]|0;r=(n|0)!=0;if(!(i&8192)){if(!r){d=48;break}if((n|0)==(f[a+8>>2]|0)){d=48;break}w=n+4|0;A=f[w>>2]|0;f[t+4>>2]=A;f[A>>2]=t;f[t>>2]=n;f[w>>2]=t;break}else{if(!r){d=51;break}r=f[n>>2]|0;if(!r){d=51;break}f[t>>2]=r;f[r+4>>2]=t;f[t+4>>2]=n;f[n>>2]=t;break}}else if(!(i&8192))d=48;else d=51}while(0);if((d|0)==48){r=f[a+8>>2]|0;f[t>>2]=r;if(!r)r=t;else f[t+4>>2]=f[r+4>>2];f[r+4>>2]=t;f[(f[h>>2]|0)+8>>2]=t}else if((d|0)==51){n=a+8|0;r=f[n>>2]|0;if(!r){f[n>>2]=t;r=t}else{w=r+4|0;f[f[w>>2]>>2]=t;f[t+4>>2]=f[w>>2]}f[r+4>>2]=t;f[t>>2]=0}r=f[h>>2]|0;n=r+16|0;a=f[n>>2]|0;if((a|0)>-1)f[n>>2]=a+1;f[r+4>>2]=t;if((g|0)<0){r=f[t+8>>2]|0;break}else{r=t+(0-g)|0;break}}t=f[h>>2]|0;do{if(!(i&512)){r=f[t+4>>2]|0;if(r|0){if((g|0)<0)a=f[r+8>>2]|0;else a=r+(0-g)|0;if((a|0)==(e|0))break}r=e+u|0;if((b|0)<0){e=f[r>>2]|0;d=68}else{e=r;d=68}}else d=68}while(0);if((d|0)==68){a=(g|0)<0;l=(b|0)<0;c=(v|0)==0;o=(b|0)<1;s=0-g|0;r=t+8|0;do{r=f[r>>2]|0;if(!r){r=0;break A}if(a)n=f[r+8>>2]|0;else n=r+s|0;n=n+u|0;if(l)n=f[n>>2]|0;do{if(c)if(o){n=oz(e,n)|0;break}else{n=xJ(e,n,b)|0;break}else n=ZL[v&31](A,e,n,w)|0}while(0)}while((n|0)!=0);n=f[B>>2]|0}f[B>>2]=n|32768;if(!(i&4098)){do{if(!(i&8)){n=f[h>>2]|0;if(!(i&16)){f[n+4>>2]=r;break}if((r|0)==(f[n+8>>2]|0)){f[n+4>>2]=0;r=0;break A}else{r=r+4|0;d=108;break}}else{n=f[h>>2]|0;d=108}}while(0);if((d|0)==108){r=f[r>>2]|0;f[n+4>>2]=r;if(!r){r=0;break}}if((g|0)<0){r=f[r+8>>2]|0;break}else{r=r+(0-g)|0;break}}else{t=r;d=84}}}while(0);if((d|0)==84){r=f[t>>2]|0;if(r){f[r+4>>2]=f[t+4>>2];r=f[t>>2]|0}n=(f[h>>2]|0)+8|0;a=f[n>>2]|0;if((t|0)==(a|0)){f[n>>2]=r;r=f[(f[h>>2]|0)+8>>2]|0;if(r|0)f[r+4>>2]=f[t+4>>2]}else{n=t+4|0;f[f[n>>2]>>2]=r;r=a+4|0;if((t|0)==(f[r>>2]|0))f[r>>2]=f[n>>2]}r=f[h>>2]|0;n=r+4|0;if((t|0)==(f[n>>2]|0))a=f[t>>2]|0;else a=0;f[n>>2]=a;d=r+16|0;f[d>>2]=(f[d>>2]|0)+-1;if((g|0)<0)r=f[t+8>>2]|0;else r=t+(0-g)|0;n=f[w+16>>2]|0;if(!((i&2|0)==0|(n|0)==0))QL[n&127](A,r,w);if((f[k>>2]|0)<0)ZL[f[A+12>>2]&31](A,t,0,w)|0}return r|0}function vy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;a=c;A:do{if((A|0)!=0&(e|0)!=0?(n=RW(40)|0,(n|0)!=0):0){f[n>>2]=0;f[n+16>>2]=0;f[n+4>>2]=0;cy(n,A,0)|0;i=n+20|0;l=A+32|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;i=f[l>>2]|0;do{if(i){f[a>>2]=0;i=ZL[i&31](n,1,a,A)|0;if((i|0)>=0)if(i){r=f[a>>2]|0;if(r|0)if(!(f[e+4>>2]&f[r>>2])){i=n;t=12;break}else{i=n;break}i=A+28|0;if(!(f[i>>2]|0)){i=n;t=12}else{HW(n);r=ZL[f[i>>2]&31](0,0,40,A)|0;if(!r){i=0;break A}f[r>>2]=0;f[r+16>>2]=0;f[r+4>>2]=0;cy(r,A,0)|0;f[r+20>>2]=1;f[r+24>>2]=0;f[r+32>>2]=0;f[r+28>>2]=0;i=r;n=r;t=11}}else{i=n;t=11}else{i=n;t=12}}else{i=n;t=11}}while(0);if((t|0)==11){r=ZL[f[i+12>>2]&31](i,0,28,A)|0;f[a>>2]=r;if(!r){i=n;t=12}else{f[r>>2]=f[e+4>>2];a=r+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0}}if((t|0)==12){HW(i);i=0;break}f[i+8>>2]=r;f[i>>2]=f[e>>2];f[i+16>>2]=e;r=f[l>>2]|0;if(r)ZL[r&31](i,5,n,A)|0}else i=0}while(0);v=c;return i|0}function By(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;n=f[f[A+16>>2]>>2]|0;c=A+8|0;a=f[c>>2]|0;t=f[a>>2]|0;i=t&4096;if(!e)if(!i)e=-1;else{r=i;e=f[a+4>>2]|0;l=5}else if(!(f[a+16>>2]|0)){r=0;l=5}else e=-1;A:do{if((l|0)==5){f[a>>2]=t&-4097;if(!(t&3)){i=a+4|0;if(!(t&12)){f[i>>2]=0;i=a+8|0}f[i>>2]=e;if(r|0){e=0;break}f[(f[c>>2]|0)+16>>2]=-1;e=0;break}f[a+4>>2]=0;if(!r){f[a+16>>2]=0;while(1){if(!e){e=0;break A}c=f[e>>2]|0;mL[n&31](A,e,32)|0;e=c}}r=f[a+8>>2]|0;A=r+(f[a+12>>2]<<2)|0;while(1){if(r>>>0>=A>>>0){e=0;break A}i=f[r>>2]|0;if(i){f[r>>2]=e;e=f[i>>2]|0;f[i>>2]=0}r=r+4|0}}}while(0);return e|0}function ky(A){A=A|0;var e=0,i=0,r=0;e=A+8|0;i=f[e>>2]|0;if(f[i>>2]&4096){By(A,0)|0;i=f[e>>2]|0}r=i+16|0;A=f[r>>2]|0;do{if((A|0)<0){e=f[i>>2]|0;if(e&12|0){A=wy(f[i+4>>2]|0)|0;f[r>>2]=A;break}if(e&112){A=0;e=i+8|0;while(1){e=f[e>>2]|0;if(!e)break;A=A+1|0}f[r>>2]=A}}}while(0);return A|0}function wy(A){A=A|0;var e=0;if(!A)return 0;else{e=wy(f[A+4>>2]|0)|0;return e+1+(wy(f[A>>2]|0)|0)|0}return 0}function hy(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0,t=0;f=e;if((i|0)>=1){t=e+i+-1|0;f=(t>>>0>>0?e:t)+(1-f)&-2;n=e;while(1){if(n>>>0>=t>>>0)break;A=X(((a[n>>0]|0)<<8)+A+(a[n+1>>0]|0)|0,17109811)|0;n=n+2|0}n=e+f|0;if(n>>>0>t>>>0)e=i;else{e=i;A=X(((a[n>>0]|0)<<8)+A|0,17109811)|0}}else{while(1){n=r[e>>0]|0;if(!(n<<24>>24))break;t=r[e+1>>0]|0;i=X(((n&255)<<8)+A+(t&255)|0,17109811)|0;A=i;e=e+(t<<24>>24?2:1)|0}e=e-f|0}return X(A+e|0,17109811)|0}function dy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0;V=v;v=v+128|0;C=V+120|0;w=V;p=A+8|0;r=f[p>>2]|0;if(f[r>>2]&4096){By(A,0)|0;r=f[p>>2]|0}Y=f[A+4>>2]|0;M=f[Y>>2]|0;E=f[Y+4>>2]|0;G=Y+8|0;y=f[G>>2]|0;Q=f[Y+20>>2]|0;d=A+20|0;f[d>>2]=f[d>>2]&-32769;t=f[r+4>>2]|0;A:do{if(!e)if((i&448|0)==0|(t|0)==0)r=0;else{if(!(i&64)){e:do{if(!(i&256)){r=t;while(1){n=r+4|0;a=f[n>>2]|0;if(!a)break e;f[n>>2]=f[a>>2];f[a>>2]=r;r=a}}else{r=t;while(1){n=f[r>>2]|0;if(!n)break e;A=n+4|0;f[r>>2]=f[A>>2];f[A>>2]=r;r=n}}}while(0);f[(f[p>>2]|0)+4>>2]=r;if((y|0)<0){r=f[r+8>>2]|0;break}else{r=r+(0-y)|0;break}}e=Y+16|0;if((f[e>>2]|0)!=0|(y|0)<0){c=A+12|0;o=(y|0)<0;l=0-y|0;r=t;do{t=r;while(1){r=t+4|0;n=f[r>>2]|0;if(!n)break;f[r>>2]=f[n>>2];f[n>>2]=t;t=n}r=f[t>>2]|0;n=f[e>>2]|0;if(n|0){if(o)a=f[t+8>>2]|0;else a=t+l|0;QL[n&127](A,a,Y)}if((f[G>>2]|0)<0)ZL[f[c>>2]&31](A,t,0,Y)|0}while((r|0)!=0);r=f[p>>2]|0}f[r+16>>2]=0;f[r+4>>2]=0;r=0}else{I=A+16|0;g=(i&4098|0)==0;e:do{if(g|(f[(f[I>>2]|0)+4>>2]|0)!=8)m=45;else{o=(E|0)<0;r=e+M|0;if(o)r=f[r>>2]|0;l=(Q|0)==0;c=(E|0)<1;a=mL[f[A>>2]&31](A,e,4)|0;while(1){if(!a){m=45;break e}n=a+M|0;if(o)n=f[n>>2]|0;do{if(l)if(c){n=oz(r,n)|0;break}else{n=xJ(r,n,E)|0;break}else n=ZL[Q&31](A,r,n,Y)|0}while(0);if(n|0){m=45;break e}if((a|0)==(e|0))break;a=mL[f[A>>2]&31](A,a,8)|0}t=f[(f[p>>2]|0)+4>>2]|0;f[C>>2]=f[t+4>>2];f[C+4>>2]=f[t>>2];r=C;m=180}}while(0);e:do{if((m|0)==45){do{if(!(i&2565)){if(i&32|0){if((y|0)<0)a=f[e+8>>2]|0;else a=e+(0-y)|0;r=a+M|0;if((E|0)<0)n=f[r>>2]|0;else n=r;if(!t){r=e;n=C;t=C;m=198;break}else{r=e;h=n;c=e;m=64;break}}if(t){if((y|0)<0)r=f[t+8>>2]|0;else r=t+(0-y)|0;if((r|0)!=(e|0)){n=e+M|0;if((E|0)<0){a=e;r=0;h=f[n>>2]|0;c=0;m=64}else{a=e;r=0;h=n;c=0;m=64}}else{r=0;a=e;n=C;o=C;c=0;m=141}}else{r=0;a=e;n=C;t=C;m=198}}else{if(!(i&512)){r=e+M|0;if((E|0)<0)n=f[r>>2]|0;else n=r}else n=e;if(!t){r=0;a=e;n=C;t=C;m=198}else{a=e;r=0;h=n;c=0;m=64}}}while(0);i:do{if((m|0)==64){r:do{if((f[(f[I>>2]|0)+4>>2]|0)==4?(k=f[(f[p>>2]|0)+24>>2]|0,!((i&516|0)==0|(k|0)==0)):0){e=(y|0)<0;s=(E|0)<0;u=(Q|0)==0;b=(E|0)<1;B=0-y|0;o=0;n=t;while(1){if((o|0)>=(k|0)){n=C;o=C;s=0;break}if(e)l=f[n+8>>2]|0;else l=n+B|0;l=l+M|0;if(s)l=f[l>>2]|0;do{if(u)if(b){l=oz(h,l)|0;break}else{l=xJ(h,l,E)|0;break}else l=ZL[Q&31](A,h,l,Y)|0}while(0);if(!l){m=80;break}f[w+(o<<2)>>2]=l;n=f[((l|0)<0?n+4|0:n)>>2]|0;if(!n){r=0;break A}else o=o+1|0}if((m|0)==80)if(e){r=f[n+8>>2]|0;break A}else{r=n+B|0;break A}while(1){if((s|0)>=(k|0))break r;do{if((f[w+(s<<2)>>2]|0)<0){l=t+4|0;e=f[l>>2]|0;if((f[w+((s|1)<<2)>>2]|0)<0){f[l>>2]=f[e>>2];f[e>>2]=t;f[n+4>>2]=e;n=e;t=o;l=e+4|0;break}else{f[o>>2]=e;f[n+4>>2]=t;n=t;t=e;l=e;break}}else{l=f[t>>2]|0;if((f[w+((s|1)<<2)>>2]|0)>0){B=l+4|0;f[t>>2]=f[B>>2];f[B>>2]=t;f[o>>2]=l;t=l;break}else{f[n+4>>2]=l;f[o>>2]=t;n=l;l=l+4|0;break}}}while(0);o=t;s=s+2|0;t=f[l>>2]|0}}else{n=C;o=C}}while(0);u=(y|0)<0;b=(E|0)<0;B=(Q|0)!=0;k=(E|0)<1;w=0-y|0;l=t;r:while(1){t=l;while(1){if(u)l=f[t+8>>2]|0;else l=t+w|0;l=l+M|0;if(b)l=f[l>>2]|0;do{if(!B)if(k){l=oz(h,l)|0;break}else{l=xJ(h,l,E)|0;break}else l=ZL[Q&31](A,h,l,Y)|0}while(0);if(!l){m=140;break r}if((l|0)>=0)break;e=t+4|0;s=f[e>>2]|0;if(!s){m=121;break r}if(u)l=f[s+8>>2]|0;else l=s+w|0;l=l+M|0;if(b)l=f[l>>2]|0;do{if(!B)if(k){l=oz(h,l)|0;break}else{l=xJ(h,l,E)|0;break}else l=ZL[Q&31](A,h,l,Y)|0}while(0);if((l|0)>=0){m=118;break}f[e>>2]=f[s>>2];f[s>>2]=t;f[n+4>>2]=s;t=f[s+4>>2]|0;if(!t){n=s;t=o;m=198;break i}else n=s}if((m|0)==118){m=0;if(!l){m=119;break}f[o>>2]=s;f[n+4>>2]=t;l=f[s>>2]|0;if(!l){n=t;t=s;m=198;break i}else{n=t;o=s;continue}}e=f[t>>2]|0;if(!e){m=139;break}if(u)l=f[e+8>>2]|0;else l=e+w|0;l=l+M|0;if(b)l=f[l>>2]|0;do{if(!B)if(k){l=oz(h,l)|0;break}else{l=xJ(h,l,E)|0;break}else l=ZL[Q&31](A,h,l,Y)|0}while(0);if((l|0)>0){l=e+4|0;f[t>>2]=f[l>>2];f[l>>2]=t;f[o>>2]=e;l=f[e>>2]|0;if(!l){t=e;m=198;break i}else{o=e;continue}}if(!l){m=137;break}f[n+4>>2]=e;f[o>>2]=t;l=f[e+4>>2]|0;if(!l){n=e;m=198;break i}else{n=e;o=t}}if((m|0)==119){f[n+4>>2]=t;n=t;t=s;m=141;break}else if((m|0)==121){f[n+4>>2]=t;n=t;t=o;m=198;break}else if((m|0)==137){f[o>>2]=t;o=t;t=e;m=141;break}else if((m|0)==139){f[o>>2]=t;m=198;break}else if((m|0)==140)if(!t){t=o;m=198;break}else{m=141;break}}}while(0);do{if((m|0)==141){f[d>>2]=f[d>>2]|32768;l=t+4|0;f[o>>2]=f[l>>2];f[n+4>>2]=f[t>>2];if(!(i&516)){if(i&8|0){f[l>>2]=f[C>>2];f[t>>2]=0;f[C>>2]=t;m=169;break}if(i&16|0){m=C+4|0;f[t>>2]=f[m>>2];f[l>>2]=0;f[m>>2]=t;m=175;break}if(!g){r=n;m=180;break e}if(i&2049|0){if(f[(f[I>>2]|0)+4>>2]&4|0){r=t;break}f[l>>2]=0;r=C+4|0;f[t>>2]=f[r>>2];f[r>>2]=t;r=t;m=205;break}if(!(i&32)){r=0;break A}if(!(f[(f[I>>2]|0)+4>>2]&4)){f[r+4>>2]=0;G=C+4|0;f[r>>2]=f[G>>2];f[G>>2]=c;r=(f[p>>2]|0)+16|0;f[r>>2]=(f[r>>2]|0)+1;r=t;break}r=f[Y+16>>2]|0;if(r|0)QL[r&127](A,a,Y);if((f[G>>2]|0)<0){ZL[f[A+12>>2]&31](A,c,0,Y)|0;r=t}else r=t}else r=t}else if((m|0)==198){f[n+4>>2]=0;f[t>>2]=0;if(!(i&8))if(!(i&16)){if(i&516|0){r=n;break e}if(!(i&2049)){if(!(i&32)){a=0;r=n;break e}G=(f[p>>2]|0)+16|0;f[G>>2]=(f[G>>2]|0)+1}else{r=0;m=205}}else m=175;else m=169}}while(0);if((m|0)==169){t=C+4|0;r=f[t>>2]|0;if(!r){r=n;break}while(1){n=r+4|0;a=f[n>>2]|0;if(!a)break;f[n>>2]=f[a>>2];f[a>>2]=r;r=a}f[t>>2]=f[r>>2]}else if((m|0)==175){r=f[C>>2]|0;if(!r){r=n;break}while(1){n=f[r>>2]|0;if(!n)break;G=n+4|0;f[r>>2]=f[G>>2];f[G>>2]=r;r=n}f[C>>2]=f[r+4>>2]}else if((m|0)==205){l=Y+12|0;t=f[l>>2]|0;c=(i&1|0)==0;if(!(c|(t|0)==0))a=mL[t&31](A,a,Y)|0;do{if(a){if((y|0)>-1){r=a+y|0;m=215;break}r=ZL[f[A+12>>2]&31](A,0,12,Y)|0;if(r|0){f[r+8>>2]=a;break}if((f[l>>2]|0)!=0?(Z=f[Y+16>>2]|0,!(c|(Z|0)==0)):0){QL[Z&127](A,a,Y);m=215}else m=215}else m=215}while(0);if((m|0)==215)if(!r){r=n;break}n=(f[p>>2]|0)+16|0;a=f[n>>2]|0;if((a|0)>-1)f[n>>2]=a+1}f[r+4>>2]=f[C>>2];f[r>>2]=f[C+4>>2];i:do{if(!((i&516|0)==0?1:(f[(f[I>>2]|0)+4>>2]&8|0)==0)){s=(y|0)<0;if(s)n=f[r+8>>2]|0;else n=r+(0-y)|0;u=(E|0)<0;n=n+M|0;if(u)n=f[n>>2]|0;c=(Q|0)==0;o=(E|0)<1;e=0-y|0;while(1){l=r+4|0;a=f[l>>2]|0;if(!a)break i;while(1){t=f[a>>2]|0;if(!t)break;C=t+4|0;f[a>>2]=f[C>>2];f[C>>2]=a;a=t}f[l>>2]=a;if(s)t=f[a+8>>2]|0;else t=a+e|0;t=t+M|0;if(u)t=f[t>>2]|0;do{if(c)if(o){t=oz(n,t)|0;break}else{t=xJ(n,t,E)|0;break}else t=ZL[Q&31](A,n,t,Y)|0}while(0);if(t|0)break i;f[l>>2]=f[a>>2];f[a>>2]=r;r=a}}}while(0);f[(f[p>>2]|0)+4>>2]=r;if((y|0)<0){r=f[r+8>>2]|0;break A}else{r=r+(0-y)|0;break A}}}while(0);if((m|0)==180){if((y|0)<0)a=f[t+8>>2]|0;else a=t+(0-y)|0;n=f[Y+16>>2]|0;if(!((i&2|0)==0|(n|0)==0))QL[n&127](A,a,Y);if((f[G>>2]|0)<0)ZL[f[A+12>>2]&31](A,t,0,Y)|0;A=(f[p>>2]|0)+16|0;Y=f[A>>2]|0;f[A>>2]=(Y|0)<1?-1:Y+-1|0}do{n=r+4|0;r=f[n>>2]|0}while((r|0)!=0);f[n>>2]=f[C>>2];f[(f[p>>2]|0)+4>>2]=f[C+4>>2];r=i&2|0?a:0}}while(0);v=V;return r|0}function gy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;if(f[f[A+8>>2]>>2]&4096|0)By(A,0)|0;n=(e|0)!=0;if(n){if(f[f[e+8>>2]>>2]&4096|0)By(e,0)|0;if((f[e+16>>2]|0)==(f[A+16>>2]|0)){i=e;r=7}else e=0}else{i=0;r=7}A:do{if((r|0)==7){while(1){if(!i)break;if((i|0)==(A|0)){e=0;break A}i=f[i+28>>2]|0;r=7}i=A+28|0;r=f[i>>2]|0;if(r|0){a=r+24|0;f[a>>2]=(f[a>>2]|0)+-1}f[A+32>>2]=0;f[i>>2]=0;if(n){f[i>>2]=e;f[A>>2]=12;a=e+24|0;f[a>>2]=(f[a>>2]|0)+1;break}else{f[A>>2]=f[f[A+16>>2]>>2];e=r;break}}}while(0);return e|0}function my(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0;A:do{if(!(i&99)){if((i&516|0)==0?(r=f[(f[A+16>>2]|0)+4>>2]|0,!((i&384|0)!=0&(r&12|0)==0)):0){if(r&12|0){if(!(i&408)){r=0;break}v=(i&136|0)!=0;B=(i&272|0)!=0;s=0;n=0;r=0;b=A;while(1){if(!b)break;u=mL[f[f[b+16>>2]>>2]&31](b,e,i)|0;do{if(!u)a=s;else{t=f[b+4>>2]|0;l=f[t+4>>2]|0;c=f[t+20>>2]|0;a=u+(f[t>>2]|0)|0;if((l|0)<0)o=f[a>>2]|0;else o=a;if(r|0){do{if(!c)if((l|0)<1){a=oz(o,n)|0;break}else{a=xJ(o,n,l)|0;break}else a=ZL[c&31](b,o,n,t)|0}while(0);if(!(v&(a|0)<0|B&(a|0)>0)){a=s;break}}a=b;n=o;r=u}}while(0);s=a;b=f[b+28>>2]|0}f[A+32>>2]=s;break}if(!(i&24)){r=0;break}c=A+32|0;n=f[c>>2]|0;if(n){r=f[(f[n+4>>2]|0)+8>>2]|0;a=f[(f[n+8>>2]|0)+4>>2]|0;if((r|0)<0)r=f[a+8>>2]|0;else r=a+(0-r)|0;if((r|0)==(e|0))r=e;else{n=A;t=32}}else{n=A;t=32}do{if((t|0)==32){while(1){if(!n){t=33;break}r=mL[f[f[n+16>>2]>>2]&31](n,e,4)|0;if(r|0){t=36;break}n=f[n+28>>2]|0;t=32}if((t|0)==33){f[c>>2]=0;r=0;break A}else if((t|0)==36){f[c>>2]=n;break}}}while(0);l=(i<<4&128^128)+128|0;r=mL[f[f[n+16>>2]>>2]&31](n,r,i)|0;while(1){t=n+16|0;while(1){if(!r)break;else a=A;while(1){if((a|0)==(n|0))break A;if(mL[f[f[a+16>>2]>>2]&31](a,r,4)|0)break;a=f[a+28>>2]|0}r=mL[f[f[t>>2]>>2]&31](n,r,i)|0}n=f[n+28>>2]|0;f[c>>2]=n;if(!n){r=0;break A}r=mL[f[f[n+16>>2]>>2]&31](n,0,l)|0}}else n=A;while(1){if(!n){n=0;r=0;break}r=mL[f[f[n+16>>2]>>2]&31](n,e,i)|0;if(r|0)break;n=f[n+28>>2]|0}f[A+32>>2]=n}else r=mL[f[f[A+16>>2]>>2]&31](A,e,i)|0}while(0);return r|0}function Zy(A){A=A|0;var e=0;e=f[41980]|0;f[41980]=A;return e|0}function Gy(A){A=A|0;var e=0;e=f[41981]|0;f[41981]=A;return e|0}function Iy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=Cy(A,e,n)|0;v=r;return i|0}function Cy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;a=v;v=v+16|0;r=a;n=(A|0)==3;t=n?f[41983]|0:(A|0)==2?1:A;f[41983]=t;l=f[41984]|0;f[41984]=l>>>0>t>>>0?l:t;do{if(t>>>0<(f[41981]|0)>>>0){A=f[41982]|0;if(!A){A=bH()|0;f[41982]=A;if(!A){A=1;break}}if(!n){kH(A)|0;A=f[41982]|0}CJ(A,e,i)|0;A=0}else{if(f[41980]|0){My(A,e,i);A=0;break}if(n)A=f[13918]|0;else{l=f[13918]|0;f[r>>2]=(A|0)==1?81312:81318;uP(l,81326,r)|0;A=l}CJ(A,e,i)|0;A=0}}while(0);v=a;return A|0}function My(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;if((f[41985]|0)==0?(n=RW(f[4354]|0)|0,f[41985]=n,(n|0)==0):0)zP(81331,f[13918]|0)|0;else r=4;do{if((r|0)==4){if((A|0)!=3){dL[f[41980]&31]((A|0)==1?81312:81318)|0;dL[f[41980]&31](81990)|0}while(1){A=IJ(f[41985]|0,f[4354]|0,e,i)|0;r=f[4354]|0;if((A|0)>-1&(A|0)<(r|0)){r=7;break}r=r<<1;n=A+1|0;n=(r|0)>(n|0)?r:n;f[4354]=n;if(!(FW(f[41985]|0,n)|0)){r=9;break}}if((r|0)==7){dL[f[41980]&31](f[41985]|0)|0;break}else if((r|0)==9){zP(81331,f[13918]|0)|0;break}}}while(0);return}function Ey(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=e;Cy(1,A,r)|0;v=i;return}function Qy(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;if(!i){i=(e|0)==0?1024:e;e=i;i=RW(i)|0;n=1}else n=0;f[A+12>>2]=n;f[A>>2]=i;f[A+8>>2]=i+e;f[A+4>>2]=i;r[i>>0]=0;return}function yy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;t=A+8|0;n=f[A>>2]|0;a=(f[t>>2]|0)-n|0;r=a<<1;a=a+e|0;r=a>>>0>r>>>0?a:r;a=A+4|0;e=n;n=(f[a>>2]|0)-n|0;i=A+12|0;if(!(f[i>>2]|0)){l=RW(r)|0;VH(l|0,e|0,n|0)|0;f[i>>2]=1;e=l}else e=FW(e,r)|0;f[A>>2]=e;f[a>>2]=e+n;f[t>>2]=e+r;return 0}function Yy(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;n=A+4|0;r=f[n>>2]|0;if((r+i|0)>>>0>(f[A+8>>2]|0)>>>0){yy(A,i)|0;r=f[n>>2]|0}VH(r|0,e|0,i|0)|0;f[n>>2]=(f[n>>2]|0)+i;return i|0}function py(A,e){A=A|0;e=e|0;return Yy(A,e,nz(e)|0)|0}function Vy(A){A=A|0;if(f[A+12>>2]|0)HW(f[A>>2]|0);return}function Ny(A){A=A|0;var e=0,i=0;e=A+4|0;i=f[e>>2]|0;if(i>>>0>(f[A>>2]|0)>>>0){f[e>>2]=i+-1;A=a[i>>0]|0}else A=-1;return A|0}function Wy(A,e,i){A=A|0;e=e|0;i=i|0;CV(f[41987]|0,f[e+8>>2]|0)|0;CV(f[41987]|0,f[e+12>>2]|0)|0;Zp(f[41987]|0,e);return}function zy(A,e){A=A|0;e=e|0;var i=0;i=tV(A,81379,0)|0;if((e|0)!=0&(i|0)==0){Jy(A);i=tV(A,81379,0)|0}return i|0}function Jy(A){A=A|0;var e=0,i=0,r=0;r=Dp(A)|0;UN(r,r,86,0,1)|0;i=Ep(r)|0;while(1){if(!i)break;Ry(A,i);e=bY(r,i)|0;while(1){if(!e)break;Hy(A,e);e=BY(r,e)|0}i=Qp(r,i)|0}return}function Py(A){A=A|0;var e=0;e=A+24|0;r[e>>0]=r[e>>0]|64;xy(A);e=tN(A)|0;Fy((e|0)==0?A:e,A);return}function Ry(A,e){A=A|0;e=e|0;var i=0;i=Ly(e)|0;if(!((i|0)!=0?(f[i+8>>2]|0)!=0:0))Fy(A,e);return}function Hy(A,e){A=A|0;e=e|0;var i=0;i=Ly(e)|0;if(!((i|0)!=0?(f[i+8>>2]|0)!=0:0))Fy(A,e);return}function Ly(A){A=A|0;return tV(A,81367,0)|0}function Fy(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=cV(e,81367,16,0)|0;n=Dy(A,f[e>>2]&3)|0;r=i+8|0;A:do{if(!(f[r>>2]|0)){A=Dp(A)|0;f[r>>2]=Dy(A,f[e>>2]&3)|0;A=Xy(e)|0;i=i+12|0;f[i>>2]=mp(Fp(e)|0,((A|0)>4?A:4)<<2)|0;A=mL[f[n>>2]&31](n,0,128)|0;while(1){if(!A)break A;r=Fp(e)|0;r=GV(r,f[A+12>>2]|0)|0;f[(f[i>>2]|0)+(f[A+16>>2]<<2)>>2]=r;A=mL[f[n>>2]&31](n,A,8)|0}}}while(0);return}function Dy(A,e){A=A|0;e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;A=zy(A,0)|0;A:do{if(!A)A=0;else switch(e|0){case 0:{A=f[A+16>>2]|0;break A}case 1:{A=f[A+8>>2]|0;break A}case 2:case 3:{A=f[A+12>>2]|0;break A}default:{f[i>>2]=e;Iy(1,81392,i)|0;A=0;break A}}}while(0);v=r;return A|0}function Xy(A){A=A|0;var e=0;e=Dp(Fp(A)|0)|0;A=Dy(e,f[A>>2]&3)|0;if(!A)A=0;else A=ky(A)|0;return A|0}function xy(A){A=A|0;var e=0,i=0,r=0,n=0;i=cV(A,81379,20,0)|0;r=i+8|0;f[r>>2]=sN(A,17420,f[4353]|0)|0;n=i+12|0;f[n>>2]=sN(A,17420,f[4353]|0)|0;i=i+16|0;f[i>>2]=sN(A,17420,f[4353]|0)|0;e=tN(A)|0;if(!e){e=f[41986]|0;if(!((e|0)==0|(e|0)==(A|0))){e=zy(e,0)|0;Ty(f[e+8>>2]|0,f[r>>2]|0,A,1);Ty(f[e+12>>2]|0,f[n>>2]|0,A,2);Ty(f[e+16>>2]|0,f[i>>2]|0,A,0)}}else{A=zy(e,0)|0;gy(f[r>>2]|0,f[A+8>>2]|0)|0;gy(f[n>>2]|0,f[A+12>>2]|0)|0;gy(f[i>>2]|0,f[A+16>>2]|0)|0}return}function Ty(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0;a=mL[f[A>>2]&31](A,0,128)|0;while(1){if(!a)break;t=Uy(i,f[a+8>>2]|0,f[a+12>>2]|0,f[a+16>>2]|0,n)|0;r[t+22>>0]=r[a+22>>0]|0;r[t+21>>0]=r[a+21>>0]|0;mL[f[e>>2]&31](e,t,1)|0;a=mL[f[A>>2]&31](A,a,8)|0}return}function Uy(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0;t=mp(A,24)|0;r[t+20>>0]=a;f[t+8>>2]=GV(A,e)|0;f[t+12>>2]=GV(A,i)|0;f[t+16>>2]=n;return t|0}function Sy(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+32|0;r=i;f[r+8>>2]=e;e=mL[f[A>>2]&31](A,r,4)|0;v=i;return e|0}function jy(A,e){A=A|0;e=e|0;var i=0;i=gy(A,0)|0;e=Sy(A,e)|0;gy(A,i)|0;return e|0}function Oy(A,e){A=A|0;e=e|0;A=Ly(A)|0;if(!A)A=0;else A=Sy(f[A+8>>2]|0,e)|0;return A|0}function Ky(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0;t=v;v=v+16|0;a=t;if(!A){A=f[41986]|0;if(!A){r[a>>0]=r[17456]|0;r[a+1>>0]=r[17457]|0;r[a+2>>0]=r[17458]|0;r[a+3>>0]=r[17459]|0;A=VY(0,a,0)|0;f[41986]=A}}if(!n)A=qy(A,e,i)|0;else A=_y(A,e,i,n)|0;v=t;return A|0}function _y(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=Dp(A)|0;zy(A,1)|0;a=Dy(A,e)|0;n=jy(a,i)|0;A:do{if(!n){n=Sy(a,i)|0;if(n|0){n=Uy(A,i,r,f[n+16>>2]|0,e)|0;mL[f[a>>2]&31](a,n,1)|0;t=16;break}a=Dy(l,e)|0;n=Uy(A,i,r,ky(a)|0,e)|0;mL[f[a>>2]&31](a,n,1)|0;switch(e|0){case 0:{UN(l,l,52,n,1)|0;t=16;break A}case 1:{i=Ep(l)|0;while(1){if(!i){t=16;break A}$y(A,i,n);i=Qp(l,i)|0}}case 2:case 3:{a=Ep(l)|0;while(1){if(!a){t=16;break A}i=bY(l,a)|0;while(1){if(!i)break;$y(A,i,n);i=BY(l,i)|0}a=Qp(l,a)|0}}default:break A}}else{t=n+12|0;CV(A,f[t>>2]|0)|0;f[t>>2]=GV(A,r)|0;t=16}}while(0);if((t|0)==16)if((e|0)==0&(n|0)!=0)AY(A,n,r)|0;Tp(A,A,n);return n|0}function qy(A,e,i){A=A|0;e=e|0;i=i|0;A=Dy(A,e)|0;if(!A)A=0;else A=Sy(A,i)|0;return A|0}function $y(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;e=Ly(e)|0;n=i+16|0;r=f[n>>2]|0;if((r|0)>3){a=f[A+64>>2]|0;e=e+12|0;r=r<<2;f[e>>2]=ZL[f[(f[a>>2]|0)+8>>2]&31](f[a+12>>2]|0,f[e>>2]|0,r,r+4|0)|0}else e=e+12|0;a=GV(A,f[i+12>>2]|0)|0;f[(f[e>>2]|0)+(f[n>>2]<<2)>>2]=a;return}function AY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;t=Fp(A)|0;a=(Ly(A)|0)+12|0;l=e+16|0;CV(t,f[(f[a>>2]|0)+(f[l>>2]<<2)>>2]|0)|0;n=GV(t,i)|0;f[(f[a>>2]|0)+(f[l>>2]<<2)>>2]=n;do{if(!(f[A>>2]&3)){r=f[(zy(t,0)|0)+16>>2]|0;n=e+8|0;a=jy(r,f[n>>2]|0)|0;if(!a){l=Uy(t,f[n>>2]|0,i,f[l>>2]|0,f[A>>2]&3)|0;mL[f[r>>2]&31](r,l,1)|0;break}else{l=a+12|0;CV(t,f[l>>2]|0)|0;f[l>>2]=GV(t,i)|0;break}}}while(0);Tp(t,A,e);return 0}function eY(A,e,i){A=A|0;e=e|0;i=i|0;A=Dy(A,e)|0;do{if(A){e=f[A>>2]|0;if(!i){A=mL[e&31](A,0,128)|0;break}else{A=mL[e&31](A,i,8)|0;break}}else A=0}while(0);return A|0}function iY(A){A=A|0;var e=0;f[41987]=A;e=Ly(A)|0;if(e|0){rY(A,e);sV(A,f[e>>2]|0)|0}e=zy(A,0)|0;if(e)if(((bN(A,f[e+8>>2]|0)|0)==0?(bN(A,f[e+12>>2]|0)|0)==0:0)?(bN(A,f[e+16>>2]|0)|0)==0:0){sV(A,f[e>>2]|0)|0;e=0}else e=1;else e=0;return e|0}function rY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=Fp(A)|0;r=Xy(A)|0;e=e+12|0;A=0;while(1){i=f[e>>2]|0;if((A|0)>=(r|0))break;CV(n,f[i+(A<<2)>>2]|0)|0;A=A+1|0}Zp(n,i);return}function nY(A){A=A|0;var e=0;e=Ly(A)|0;if(e|0){rY(A,e);sV(A,81367)|0}return}function fY(A){A=A|0;var e=0;e=Ly(A)|0;if(e|0){rY(A,e);sV(A,81367)|0}return}function aY(A,e){A=A|0;e=e|0;e=Oy(A,e)|0;if(!e)e=0;else{A=f[(Ly(A)|0)+12>>2]|0;e=f[A+(f[e+16>>2]<<2)>>2]|0}return e|0}function tY(A,e){A=A|0;e=e|0;A=f[(Ly(A)|0)+12>>2]|0;return f[A+(f[e+16>>2]<<2)>>2]|0}function lY(A,e,i){A=A|0;e=e|0;i=i|0;e=Oy(A,e)|0;if(!e)e=-1;else{AY(A,e,i)|0;e=0}return e|0}function cY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=Fp(A)|0;n=Ky(n,f[A>>2]&3,e,0)|0;if(!n){n=Fp(A)|0;n=Ky(n,f[A>>2]&3,e,r)|0}AY(A,n,i)|0;return 0}function oY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=Fp(A)|0;n=f[A>>2]|0;A:do{if(!((f[e>>2]^n)&3)){i=1;r=0;while(1){r=eY(a,n&3,r)|0;if(!r)break A;i=Oy(e,f[r+8>>2]|0)|0;if(!i){i=1;break A}n=tY(A,r)|0;AY(e,i,n)|0;if(MV(n)|0)EV(tY(e,i)|0);i=0;n=f[A>>2]|0}}else i=1}while(0);return i|0}function sY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;A=f[e+40>>2]|0;n=f[i+40>>2]|0;if((A|0)==(n|0)){r=(f[e>>2]|0)>>>4;A=(f[i>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else a=6;else A=-1}else{r=(f[A>>2]|0)>>>4;A=(f[n>>2]|0)>>>4;if(r>>>0>=A>>>0)if(r>>>0>A>>>0)A=1;else a=6;else A=-1}if((a|0)==6)A=0;return A|0}function uY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;A=(f[e+40>>2]|0)+8|0;a=f[A>>2]|0;A=f[A+4>>2]|0;n=(f[i+40>>2]|0)+8|0;r=f[n>>2]|0;n=f[n+4>>2]|0;do{if(!(A>>>0>>0|(A|0)==(n|0)&a>>>0>>0))if(A>>>0>n>>>0|(A|0)==(n|0)&a>>>0>r>>>0)A=1;else{r=e+8|0;A=f[r>>2]|0;r=f[r+4>>2]|0;if(!((A|0)==0&(r|0)==0)?(l=i+8|0,t=f[l>>2]|0,l=f[l+4>>2]|0,!((t|0)==0&(l|0)==0)):0){if(r>>>0>>0|(r|0)==(l|0)&A>>>0>>0){A=-1;break}if(r>>>0>l>>>0|(r|0)==(l|0)&A>>>0>t>>>0){A=1;break}}A=0}else A=-1}while(0);return A|0}function bY(A,e){A=A|0;e=e|0;var i=0;e=vY(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+32|0;By(f[i>>2]|0,f[A>>2]|0)|0;e=f[i>>2]|0;e=mL[f[e>>2]&31](e,0,128)|0;f[A>>2]=sy(f[i>>2]|0)|0}return e|0}function vY(A,e){A=A|0;e=e|0;var i=0,r=0;r=v;v=v+48|0;i=r;if((f[e+24>>2]|0)==(A|0))A=e+28|0;else{f[i+16>>2]=e;A=f[A+40>>2]|0;A=mL[f[A>>2]&31](A,i,4)|0}v=r;return A|0}function BY(A,e){A=A|0;e=e|0;var i=0,r=0;i=vY(A,f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+32|0;By(f[r>>2]|0,f[i>>2]|0)|0;A=f[r>>2]|0;A=mL[f[A>>2]&31](A,e,8)|0;f[i>>2]=sy(f[r>>2]|0)|0}return A|0}function kY(A,e){A=A|0;e=e|0;var i=0;e=vY(A,e)|0;if(!e)e=0;else{i=A+44|0;A=e+28|0;By(f[i>>2]|0,f[A>>2]|0)|0;e=f[i>>2]|0;e=mL[f[e>>2]&31](e,0,128)|0;f[A>>2]=sy(f[i>>2]|0)|0}return e|0}function wY(A,e){A=A|0;e=e|0;var i=0,r=0;i=vY(A,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)|0;if(!i)A=0;else{r=A+44|0;i=i+28|0;By(f[r>>2]|0,f[i>>2]|0)|0;A=f[r>>2]|0;A=mL[f[A>>2]&31](A,e,8)|0;f[i>>2]=sy(f[r>>2]|0)|0}return A|0}function hY(A,e){A=A|0;e=e|0;var i=0;i=bY(A,e)|0;if(!i)i=kY(A,e)|0;return i|0}function dY(A,e,i){A=A|0;e=e|0;i=i|0;A:do{if((f[e>>2]&3|0)==2){e=BY(A,e)|0;if(!e){e=0;do{if(!e)e=kY(A,i)|0;else e=wY(A,e)|0;if(!e){e=0;break A}}while((f[e+40>>2]|0)==(i|0))}}else do{e=wY(A,e)|0;if(!e){e=0;break A}}while((f[e+40>>2]|0)==(i|0))}while(0);return e|0}function gY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,t=0;t=v;v=v+32|0;r=t+16|0;n=t;if((XY(A)|0)!=0?(f[n>>2]=0,f[n+4>>2]=0,f[n+8>>2]=0,f[n+12>>2]=0,f[r>>2]=f[n>>2],f[r+4>>2]=f[n+4>>2],f[r+8>>2]=f[n+8>>2],f[r+12>>2]=f[n+12>>2],(IY(A,e,i,r)|0)!=0):0)r=0;else r=((a[A+24>>0]|0)>>>2&1^1)&255|(e|0)!=(i|0);v=t;return r|0}function mY(A,e){A=A|0;e=e|0;GY(A,e);return}function ZY(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0;Vp(A,e,1)|0;Vp(A,i,1)|0;t=mp(A,96)|0;l=t+48|0;s=zY(A,2)|0;c=f[l>>2]|0;o=f[t>>2]|0;u=t+8|0;f[u>>2]=n;f[u+4>>2]=a;u=t+56|0;f[u>>2]=n;f[u+4>>2]=a;a=s<<4;f[t>>2]=o&12|a|2;f[l>>2]=c&12|a|3;f[t+88>>2]=e;f[t+40>>2]=i;GY(A,t);if(r[A+24>>0]&64){cV(t,81367,16,0)|0;Hy(A,t)}Xp(A,t);return t|0}function GY(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;l=v;v=v+16|0;i=l;t=f[e>>2]&3;a=(t|0)==2?e:e+-48|0;t=(t|0)==3?e:e+48|0;r=f[t+40>>2]|0;n=f[a+40>>2]|0;while(1){if(!A)break;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[i+12>>2]=f[e+12>>2];if(IY(A,r,n,i)|0)break;c=vY(A,r)|0;s=A+44|0;CY(f[s>>2]|0,c+32|0,a);o=A+48|0;CY(f[o>>2]|0,c+24|0,a);c=vY(A,n)|0;CY(f[s>>2]|0,c+28|0,t);CY(f[o>>2]|0,c+20|0,t);A=tN(A)|0}v=l;return}function IY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;t=v;v=v+48|0;n=t;if(!((e|0)==0|(i|0)==0)?(f[n>>2]=f[r>>2],f[n+4>>2]=f[r+4>>2],f[n+8>>2]=f[r+8>>2],f[n+12>>2]=f[r+12>>2],f[n+40>>2]=e,a=vY(A,i)|0,(a|0)!=0):0){r=A+48|0;a=a+20|0;By(f[r>>2]|0,f[a>>2]|0)|0;A=f[r>>2]|0;A=mL[f[A>>2]&31](A,n,4)|0;f[a>>2]=sy(f[r>>2]|0)|0}else A=0;v=t;return A|0}function CY(A,e,i){A=A|0;e=e|0;i=i|0;By(A,f[e>>2]|0)|0;mL[f[A>>2]&31](A,i,1)|0;f[e>>2]=sy(A)|0;return}function MY(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;u=v;v=v+48|0;l=u+24|0;o=u+16|0;c=u;do{if(!(_Y(A,2,r,o,0)|0))if(!r){if(n|0?(XY(A)|0)==0:0){s=18;break}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;s=7}else s=17;else{b=c;f[b>>2]=0;f[b+4>>2]=0;b=o;a=f[b+4>>2]|0;s=c+8|0;f[s>>2]=f[b>>2];f[s+4>>2]=a;f[c>>2]=2;s=7}}while(0);A:do{if((s|0)==7){f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];a=IY(A,e,i,l)|0;e:do{if(!a){if(DY(A)|0?(f[l>>2]=f[c>>2],f[l+4>>2]=f[c+4>>2],f[l+8>>2]=f[c+8>>2],f[l+12>>2]=f[c+12>>2],t=IY(A,i,e,l)|0,t|0):0){a=t;break}do{if(n|0){a=Dp(A)|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];a=IY(a,e,i,l)|0;if(!a){if(!(DY(A)|0))break;a=Dp(A)|0;f[l>>2]=f[c>>2];f[l+4>>2]=f[c+4>>2];f[l+8>>2]=f[c+8>>2];f[l+12>>2]=f[c+12>>2];a=IY(a,i,e,l)|0;if(!a)break}mY(A,a);break e}}while(0);s=17;break A}}while(0)}}while(0);if((s|0)==17)if(!n)a=0;else s=18;if((s|0)==18)if((gY(A,e,i)|0)!=0?(_Y(A,2,r,o,1)|0)!=0:0){a=o;a=ZY(A,e,i,f[a>>2]|0,f[a+4>>2]|0)|0;ep(A,2,a)}else a=0;v=u;return a|0}function EY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;i=(f[e>>2]&3|0)==3;a=i?e+-48|0:e;i=i?e:e+48|0;e=f[a+40>>2]|0;t=vY(A,f[i+40>>2]|0)|0;n=A+44|0;QY(f[n>>2]|0,t+32|0,a);r=A+48|0;QY(f[r>>2]|0,t+24|0,a);e=vY(A,e)|0;QY(f[n>>2]|0,e+28|0,i);QY(f[r>>2]|0,e+20|0,i);return}function QY(A,e,i){A=A|0;e=e|0;i=i|0;By(A,f[e>>2]|0)|0;mL[f[A>>2]&31](A,i,2)|0;f[e>>2]=sy(A)|0;return}function yY(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;i=v;v=v+16|0;n=i;e=(f[e>>2]&3|0)==2?e:e+-48|0;a=f[e>>2]&3;t=f[((a|0)==3?e:e+48|0)+40>>2]|0;a=f[((a|0)==2?e:e+-48|0)+40>>2]|0;f[n>>2]=f[e>>2];f[n+4>>2]=f[e+4>>2];f[n+8>>2]=f[e+8>>2];f[n+12>>2]=f[e+12>>2];if(IY(A,t,a,n)|0){if((Dp(A)|0)==(A|0)){if(r[A+24>>0]&64)fY(e);Sp(A,e);wV(e);t=e+8|0;$Y(A,2,f[t>>2]|0,f[t+4>>2]|0)}if(!(UN(A,e,53,0,0)|0))if((Dp(A)|0)==(A|0)){Zp(A,e);e=0}else e=0;else e=-1}else e=-1;v=i;return e|0}function YY(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;t=v;v=v+16|0;r=t;n=Vp(A,f[((f[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,i)|0;a=Vp(A,f[((f[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,i)|0;do{if((n|0)!=0&(a|0)!=0){f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];r=IY(A,n,a,r)|0;n=(r|0)==0;if(!((i|0)!=0&n)){if(n)break}else{GY(A,e);r=e}i=f[r>>2]&3;v=t;return((i|0)==(f[e>>2]&3|0)?r:r+(((i|0)==3?-1:1)*48|0)|0)|0}}while(0);v=t;return 0}function pY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=e+8|0;r=i+8|0;r=mH(f[e>>2]|0,f[e+4>>2]|0,f[r>>2]|0,f[r+4>>2]|0)|0;return((r|0)==0?0:r>>31|1)|0}function VY(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0;t=v;v=v+16|0;a=t;c=NY(i)|0;n=gL[f[(f[c>>2]|0)+4>>2]&63](f[c+12>>2]|0,72)|0;f[n>>2]=f[n>>2]&-4;l=n+64|0;f[l>>2]=c;o=n+24|0;e=f[e>>2]|0;f[o>>2]=e;r[o>>0]=e&255|8;f[n+60>>2]=n;i=gL[f[f[c+4>>2]>>2]&63](n,i)|0;f[(f[l>>2]|0)+16>>2]=i;if(_Y(n,0,A,a,1)|0){l=a;c=f[l+4>>2]|0;o=n+8|0;f[o>>2]=f[l>>2];f[o+4>>2]=c}o=WY(n)|0;ep(o,0,n);v=t;return o|0}function NY(A){A=A|0;var e=0,i=0,n=0,a=0;e=(A|0)!=0;if(e){i=f[A>>2]|0;i=(i|0)==0?17792:i}else i=17792;a=dL[f[i>>2]&31](A)|0;n=gL[f[i+4>>2]&63](a,80)|0;f[n>>2]=i;f[n+12>>2]=a;if(e){a=f[A+4>>2]|0;f[n+4>>2]=(a|0)==0?17668:a;A=f[A+8>>2]|0;A=(A|0)==0?17768:A}else{f[n+4>>2]=17668;A=17768}f[n+8>>2]=A;r[n+52>>0]=1;return n|0}function WY(A){A=A|0;var e=0,i=0;f[A+36>>2]=sN(A,17848,f[4353]|0)|0;f[A+40>>2]=sN(A,17812,f[4353]|0)|0;e=(Dp(A)|0)==(A|0);f[A+44>>2]=sN(A,e?17460:17496,f[4353]|0)|0;e=(Dp(A)|0)==(A|0);f[A+48>>2]=sN(A,e?17532:17568,f[4353]|0)|0;f[A+52>>2]=sN(A,17604,f[4353]|0)|0;e=tN(A)|0;if(!((e|0)!=0?(i=zY(e,0)|0,f[A>>2]=f[A>>2]&15|i<<4,i=f[e+52>>2]|0,mL[f[i>>2]&31](i,A,1)|0,!(r[e+24>>0]&64)):0))Py(A);Xp(A,A);return A|0}function zY(A,e){A=A|0;e=e|0;var i=0;i=(f[A+64>>2]|0)+24+(e<<3)|0;e=i;e=gH(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;A=Q;f[i>>2]=e;f[i+4>>2]=A;Q=A;return e|0}function JY(A){A=A|0;var e=0,i=0,n=0,a=0;n=tN(A)|0;a=(n|0)==0;if(a?(e=A+64|0,(f[(f[f[e>>2]>>2]|0)+16>>2]|0)!=0):0){Sp(A,A);a=A+8|0;$Y(A,0,f[a>>2]|0,f[a+4>>2]|0);e=f[e>>2]|0;ML[f[(f[e>>2]|0)+16>>2]&127](f[e+12>>2]|0);e=0}else i=4;do{if((i|0)==4){e=fN(A)|0;while(1){if(!e)break;i=aN(e)|0;JY(e)|0;e=i}e=Ep(A)|0;while(1){if(!e)break;i=Qp(A,e)|0;Hp(A,e)|0;e=i}op(A);Sp(A,A);if(((((bN(A,f[A+40>>2]|0)|0)==0?(bN(A,f[A+36>>2]|0)|0)==0:0)?(bN(A,f[A+48>>2]|0)|0)==0:0)?(bN(A,f[A+44>>2]|0)|0)==0:0)?(bN(A,f[A+52>>2]|0)|0)==0:0){if(r[A+24>>0]&64?iY(A)|0:0){e=-1;break}wV(A);i=A+8|0;$Y(A,0,f[i>>2]|0,f[i+4>>2]|0);if(!a){lN(n,A)|0;Zp(n,A);e=0;break}e=A+64|0;while(1){i=f[e>>2]|0;n=f[i+48>>2]|0;if(!n)break;Kp(A,f[n>>2]|0)|0}ML[f[(f[i+4>>2]|0)+20>>2]&127](f[i+16>>2]|0);if(!(hV(A)|0)){e=f[e>>2]|0;a=f[e+12>>2]|0;n=(f[e>>2]|0)+12|0;EL[f[n>>2]&31](a,A);EL[f[n>>2]&31](a,e);e=0}else e=-1}else e=-1}}while(0);return e|0}function PY(A){A=A|0;return ky(f[A+40>>2]|0)|0}function RY(A){A=A|0;var e=0,i=0,r=0;e=0;i=Ep(A)|0;while(1){if(!i)break;r=(HY(A,i,0,1)|0)+e|0;e=r;i=Qp(A,i)|0}return e|0}function HY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=vY(A,e)|0;if(n){if(!r)e=0;else e=LY(f[A+44>>2]|0,n+32|0)|0;if(i)e=(LY(f[A+44>>2]|0,n+28|0)|0)+e|0}else e=0;return e|0}function LY(A,e){A=A|0;e=e|0;var i=0;By(A,f[e>>2]|0)|0;i=ky(A)|0;f[e>>2]=sy(A)|0;return i|0}function FY(A){A=A|0;return r[A+24>>0]&1|0}function DY(A){A=A|0;return(FY(A)|0)==0|0}function XY(A){A=A|0;return(a[A+24>>0]|0)>>>1&1|0}function xY(A,e){A=A|0;e=e|0;return A|0}function TY(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;if(!i){n=1328;i=f[n>>2]|0;n=f[n+4>>2]|0;f[r>>2]=i;f[r+4>>2]=n;n=gH(i|0,n|0,2,0)|0;r=1328;f[r>>2]=n;f[r+4>>2]=Q}else{if(!n)A=gV(A,i)|0;else A=GV(A,i)|0;f[r>>2]=A;f[r+4>>2]=0}return 1}function UY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return 0}function SY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if((i&1|0)==0&0==0)CV(A,i)|0;return}function jY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return((i&1|0)==0&0==0?i:0)|0}function OY(A){A=A|0;return}function KY(A,e,i){A=A|0;e=e|0;i=i|0;return}function _Y(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0;l=(i|0)!=0;do{if(l){if((r[i>>0]|0)!=37?(t=f[A+64>>2]|0,t=GL[f[(f[t+4>>2]|0)+4>>2]&3](f[t+16>>2]|0,e,i,n,a)|0,t|0):0)break;t=ip(A,e,i,n)|0;if(!t)c=5}else c=5}while(0);if((c|0)==5)if(a){t=f[A+64>>2]|0;t=GL[f[(f[t+4>>2]|0)+4>>2]&3](f[t+16>>2]|0,e,0,n,a)|0;if(l&(t|0)!=0){c=n;rp(A,e,i,f[c>>2]|0,f[c+4>>2]|0)}}else t=0;return t|0}function qY(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=f[A+64>>2]|0;return ZL[f[(f[A+4>>2]|0)+8>>2]&31](f[A+16>>2]|0,e,i,r)|0}function $Y(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;lp(A,e,i,r)|0;A=f[A+64>>2]|0;YL[f[(f[A+4>>2]|0)+12>>2]&31](f[A+16>>2]|0,e,i,r);return}function Ap(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t;i=Fp(A)|0;n=A+8|0;e=n;e=ap(i,f[A>>2]&3,f[e>>2]|0,f[e+4>>2]|0)|0;do{if(!e){e=f[i+64>>2]|0;i=f[(f[e+4>>2]|0)+16>>2]|0;if(i|0?(r=n,r=ZL[i&31](f[e+16>>2]|0,f[A>>2]&3,f[r>>2]|0,f[r+4>>2]|0)|0,r|0):0){e=r;break}if((f[A>>2]&3|0)==2)e=0;else{r=f[n>>2]|0;n=f[n+4>>2]|0;f[a>>2]=37;e=a+8|0;f[e>>2]=r;f[e+4>>2]=n;iP(173899,81419,a)|0;e=173899}}}while(0);v=t;return e|0}function ep(A,e,i){A=A|0;e=e|0;i=i|0;A=f[A+64>>2]|0;QL[f[(f[A+4>>2]|0)+24>>2]&127](f[A+16>>2]|0,e,i);return}function ip(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0;l=v;v=v+32|0;t=l;e=f[(f[A+64>>2]|0)+56+(((e|0)==3?2:e)<<2)>>2]|0;if(((e|0)!=0?(n=gV(A,i)|0,(n|0)!=0):0)?(f[t+24>>2]=n,a=mL[f[e>>2]&31](e,t,4)|0,(a|0)!=0):0){i=a+16|0;t=f[i+4>>2]|0;e=r;f[e>>2]=f[i>>2];f[e+4>>2]=t;e=1}else e=0;v=l;return e|0}function rp(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0;t=mp(A,32)|0;a=t+16|0;f[a>>2]=r;f[a+4>>2]=n;f[t+24>>2]=GV(A,i)|0;r=(e|0)==3?2:e;a=A+64|0;i=f[a>>2]|0;e=f[i+56+(r<<2)>>2]|0;if(!e){n=sN(A,17696,f[4353]|0)|0;f[(f[a>>2]|0)+56+(r<<2)>>2]=n;e=f[a>>2]|0}else{n=e;e=i}e=f[e+68+(r<<2)>>2]|0;if(!e){e=sN(A,17732,f[4353]|0)|0;f[(f[a>>2]|0)+68+(r<<2)>>2]=e}mL[f[n>>2]&31](n,t,1)|0;mL[f[e>>2]&31](e,t,1)|0;return}function np(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=e+16|0;e=f[A>>2]|0;A=f[A+4>>2]|0;i=i+16|0;r=f[i>>2]|0;i=f[i+4>>2]|0;return(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0?1:(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0)<<31>>31)|0}function fp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=f[e+24>>2]|0;r=f[i+24>>2]|0;return(e>>>0>r>>>0?1:(e>>>0>>0)<<31>>31)|0}function ap(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=tp(A,e,i,r)|0;if(!A)A=0;else A=f[A+24>>2]|0;return A|0}function tp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;a=v;v=v+32|0;n=a;A=f[(f[A+64>>2]|0)+68+(((e|0)==3?2:e)<<2)>>2]|0;if(!A)A=0;else{e=n+16|0;f[e>>2]=i;f[e+4>>2]=r;A=mL[f[A>>2]&31](A,n,4)|0}v=a;return A|0}function lp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=(e|0)==3?2:e;e=tp(A,n,i,r)|0;if(!e)e=0;else{r=A+64|0;i=f[(f[r>>2]|0)+56+(n<<2)>>2]|0;mL[f[i>>2]&31](i,e,2)|0;r=f[(f[r>>2]|0)+68+(n<<2)>>2]|0;mL[f[r>>2]&31](r,e,2)|0;CV(A,f[e+24>>2]|0)|0;Zp(A,e);e=1}return e|0}function cp(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;f[41987]=A;a=f[A+64>>2]|0;n=0;while(1){if((n|0)==3)break;t=a+56+(n<<2)|0;e=f[t>>2]|0;A:do{if(e|0){e=mL[f[e>>2]&31](e,0,128)|0;while(1){if(!e)break A;i=f[t>>2]|0;i=mL[f[i>>2]&31](i,e,8)|0;if((r[f[e+24>>2]>>0]|0)!=37){e=i;continue}l=e+16|0;lp(A,n,f[l>>2]|0,f[l+4>>2]|0)|0;e=i}}}while(0);n=n+1|0}return}function op(A){A=A|0;f[41987]=A;A=A+64|0;sp((f[A>>2]|0)+56|0);sp((f[A>>2]|0)+68|0);return}function sp(A){A=A|0;var e=0,i=0,r=0;e=0;while(1){if((e|0)==3)break;i=A+(e<<2)|0;r=f[i>>2]|0;if(r|0){ly(r)|0;f[i>>2]=0}e=e+1|0}return}function up(A,e,i){A=A|0;e=e|0;i=i|0;if(!(SJ(e,i,A)|0))A=0;else A=nz(e)|0;return A|0}function bp(A,e){A=A|0;e=e|0;return zP(e,A)|0}function vp(A){A=A|0;return QP(A)|0}function Bp(A){A=A|0;var e=0,i=0,r=0;e=v;v=v+32|0;r=e+12|0;i=e;f[4446]=f[4443];f[4447]=f[4444];f[r>>2]=A;f[r+4>>2]=nz(A)|0;f[r+8>>2]=0;f[i>>2]=17792;f[i+4>>2]=17668;f[i+8>>2]=17780;A=hl(r,i)|0;yV(0);v=e;return A|0}function kp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;if((i|0)!=0?(t=A+8|0,n=f[t>>2]|0,(n|0)<(f[A+4>>2]|0)):0){l=(f[A>>2]|0)+n|0;A=0;a=r[l>>0]|0;n=e;e=l;while(1){e=e+1|0;r[n>>0]=a;A=A+1|0;if(!(a<<24>>24!=10&(A|0)<(i|0)))break;a=r[e>>0]|0;if(!(a<<24>>24))break;else n=n+1|0}f[t>>2]=(f[t>>2]|0)+A}else A=0;return A|0}function wp(A){A=A|0;return 0}function hp(A,e){A=A|0;e=e|0;A=RW(e)|0;WH(A|0,0,e|0)|0;return A|0}function dp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=FW(e,r)|0;if(r>>>0>i>>>0)WH(A+i|0,0,r-i|0)|0;return A|0}function gp(A,e){A=A|0;e=e|0;HW(e);return}function mp(A,e){A=A|0;e=e|0;var i=0;i=v;v=v+16|0;A=f[A+64>>2]|0;A=gL[f[(f[A>>2]|0)+4>>2]&63](f[A+12>>2]|0,e)|0;if(!A)Iy(1,81425,i)|0;v=i;return A|0}function Zp(A,e){A=A|0;e=e|0;if(e|0){A=f[A+64>>2]|0;EL[f[(f[A>>2]|0)+12>>2]&31](f[A+12>>2]|0,e)}return}function Gp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=(f[e+16>>2]|0)+8|0;e=f[A>>2]|0;A=f[A+4>>2]|0;i=(f[i+16>>2]|0)+8|0;r=f[i>>2]|0;i=f[i+4>>2]|0;return(A>>>0>>0|(A|0)==(i|0)&e>>>0>>0?-1:(A>>>0>i>>>0|(A|0)==(i|0)&e>>>0>r>>>0)&1)|0}function Ip(A,e,i){A=A|0;e=e|0;i=i|0;A=f[e+16>>2]|0;if((A+28|0)!=(e|0))Zp(f[A+24>>2]|0,e);return}function Cp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;e=(f[f[e+16>>2]>>2]|0)>>>4;r=(f[f[i+16>>2]>>2]|0)>>>4;return(e>>>0>>0?-1:e>>>0>r>>>0&1)|0}function Mp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=167040;f[r>>2]=e;f[r+4>>2]=i;f[41992]=167032;A=f[A+40>>2]|0;A=mL[f[A>>2]&31](A,167952,4)|0;if(!A)A=0;else A=f[A+16>>2]|0;return A|0}function Ep(A){A=A|0;A=f[A+36>>2]|0;A=mL[f[A>>2]&31](A,0,128)|0;if(!A)A=0;else A=f[A+16>>2]|0;return A|0}function Qp(A,e){A=A|0;e=e|0;var i=0;e=vY(A,e)|0;if((e|0)!=0?(i=f[A+36>>2]|0,i=mL[f[i>>2]&31](i,e,8)|0,(i|0)!=0):0)e=f[i+16>>2]|0;else e=0;return e|0}function yp(A){A=A|0;A=f[A+36>>2]|0;A=mL[f[A>>2]&31](A,0,256)|0;if(!A)A=0;else A=f[A+16>>2]|0;return A|0}function Yp(A,e){A=A|0;e=e|0;var i=0;e=vY(A,e)|0;if((e|0)!=0?(i=f[A+36>>2]|0,i=mL[f[i>>2]&31](i,e,16)|0,(i|0)!=0):0)e=f[i+16>>2]|0;else e=0;return e|0}function pp(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,f=0;n=Mp(A,e,i)|0;do{if((r|0)!=0&(n|0)==0){n=Dp(A)|0;if((n|0)!=(A|0)?(f=Mp(n,e,i)|0,f|0):0){Vp(A,f,1)|0;n=f;break}if(!(qY(A,1,e,i)|0))n=0;else{n=zY(A,1)|0;n=Np(A,e,i,n,Q)|0;Wp(A,n);zp(A,n)}}}while(0);return n|0}function Vp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Dp(A)|0;if((r|0)==(f[e+24>>2]|0)){r=e+8|0;r=Mp(A,f[r>>2]|0,f[r+4>>2]|0)|0;if((i|0)!=0&(r|0)==0){r=tN(A)|0;if(!r)r=0;else{i=Vp(r,e,i)|0;Jp(A,i);return i|0}}}else r=0;return r|0}function Np(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0;a=mp(A,64)|0;t=f[a>>2]|0;l=a+8|0;f[l>>2]=e;f[l+4>>2]=i;f[a>>2]=t&12|n<<4|1;f[a+24>>2]=Dp(A)|0;if(r[(Dp(A)|0)+24>>0]&64)cV(a,81367,16,0)|0;return a|0}function Wp(A,e){A=A|0;e=e|0;do{Jp(A,e);A=tN(A)|0}while((A|0)!=0);return}function zp(A,e){A=A|0;e=e|0;if(r[(Dp(A)|0)+24>>0]&64)Ry(A,e);Xp(A,e);return}function Jp(A,e){A=A|0;e=e|0;var i=0,r=0;r=A+40|0;ky(f[r>>2]|0)|0;if((Dp(A)|0)==(A|0))i=e+28|0;else i=mp(A,36)|0;f[i+16>>2]=e;r=f[r>>2]|0;mL[f[r>>2]&31](r,i,1)|0;r=f[A+36>>2]|0;mL[f[r>>2]&31](r,i,1)|0;return}function Pp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0;c=v;v=v+16|0;a=c;t=Dp(A)|0;if(_Y(A,1,e,a,0)|0){r=a;r=Mp(A,f[r>>2]|0,f[r+4>>2]|0)|0;if(!r)if(!((i|0)==0|(t|0)==(A|0))?(n=a,n=Mp(t,f[n>>2]|0,f[n+4>>2]|0)|0,(n|0)!=0):0)r=Vp(A,n,1)|0;else l=6}else l=6;if((l|0)==6)if((i|0)!=0?(_Y(A,1,e,a,1)|0)!=0:0){l=a;t=f[l>>2]|0;l=f[l+4>>2]|0;r=zY(A,1)|0;r=Np(A,t,l,r,Q)|0;Wp(A,r);zp(A,r);ep(A,1,r)}else r=0;v=c;return r|0}function Rp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;f[42001]=e;i=hY(A,e)|0;while(1){if(!i)break;r=dY(A,i,e)|0;EY(A,i,0);i=r}r=f[A+40>>2]|0;mL[f[r>>2]&31](r,167988,2)|0;r=f[A+36>>2]|0;mL[f[r>>2]&31](r,167988,2)|0;return}function Hp(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;n=e+8|0;i=n;if(Mp(A,f[i>>2]|0,f[i+4>>2]|0)|0){if((Dp(A)|0)==(A|0)){i=hY(A,e)|0;while(1){if(!i)break;a=dY(A,i,e)|0;yY(A,i)|0;i=a}if(r[A+24>>0]&64)nY(e);Sp(A,e);wV(e);a=n;$Y(A,1,f[a>>2]|0,f[a+4>>2]|0)}if(!(UN(A,e,54,0,0)|0))if((Dp(A)|0)==(A|0)){Zp(A,e);i=0}else i=0;else i=-1}else i=-1;return i|0}function Lp(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0;t=v;v=v+16|0;r=t;i=f[e>>2]|0;do{if(!(i&3))if((tN(e)|0)==(A|0)){i=f[e>>2]|0;a=5;break}else{Iy(1,81451,r)|0;n=-1;break}else a=5}while(0);A:do{if((a|0)==5)switch(i&3){case 1:{n=Hp(A,e)|0;break A}case 2:case 3:{n=yY(A,e)|0;break A}case 0:{n=JY(e)|0;break A}default:{}}}while(0);v=t;return n|0}function Fp(A){A=A|0;var e=0;switch(f[A>>2]&3){case 2:case 3:{e=f[(f[A+40>>2]|0)+24>>2]|0;break}case 1:{e=f[A+24>>2]|0;break}case 0:{e=A;break}default:{}}return e|0}function Dp(A){A=A|0;var e=0;switch(f[A>>2]&3){case 2:case 3:{e=(f[A+40>>2]|0)+24|0;break}case 1:{e=A+24|0;break}case 0:{e=A+60|0;break}default:{}}return f[e>>2]|0}function Xp(A,e){A=A|0;e=e|0;var i=0;i=f[A+64>>2]|0;if(!(r[i+52>>0]|0))$p(A,e,100,0);else xp(A,e,f[i+48>>2]|0);return}function xp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){xp(A,e,f[i+8>>2]|0);switch(f[e>>2]&3){case 0:{r=f[i>>2]|0;break}case 1:{r=(f[i>>2]|0)+12|0;break}case 2:{r=(f[i>>2]|0)+24|0;break}default:break A}r=f[r>>2]|0;if(r|0)QL[r&127](A,e,f[i+4>>2]|0)}}while(0);return}function Tp(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;n=f[A+64>>2]|0;if(!(r[n+52>>0]|0))$p(A,e,101,i);else Up(A,e,i,f[n+48>>2]|0);return}function Up(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;A:do{if(r|0){Up(A,e,i,f[r+8>>2]|0);switch(f[e>>2]&3){case 0:{n=(f[r>>2]|0)+4|0;break}case 1:{n=(f[r>>2]|0)+16|0;break}case 2:{n=(f[r>>2]|0)+28|0;break}default:break A}n=f[n>>2]|0;if(n|0)YL[n&31](A,e,f[r+4>>2]|0,i)}}while(0);return}function Sp(A,e){A=A|0;e=e|0;var i=0;i=f[A+64>>2]|0;if(!(r[i+52>>0]|0))$p(A,e,102,0);else jp(A,e,f[i+48>>2]|0);return}function jp(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;A:do{if(i|0){jp(A,e,f[i+8>>2]|0);switch(f[e>>2]&3){case 0:{r=(f[i>>2]|0)+8|0;break}case 1:{r=(f[i>>2]|0)+20|0;break}case 2:{r=(f[i>>2]|0)+32|0;break}default:break A}r=f[r>>2]|0;if(r|0)QL[r&127](A,e,f[i+4>>2]|0)}}while(0);return}function Op(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=mp(A,12)|0;f[r>>2]=e;f[r+4>>2]=i;i=(f[A+64>>2]|0)+48|0;f[r+8>>2]=f[i>>2];f[i>>2]=r;return}function Kp(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=(f[A+64>>2]|0)+48|0;i=f[r>>2]|0;A:do{if(!i)i=-1;else{if((f[i>>2]|0)!=(e|0)){while(1){if(!i){i=-1;break A}r=i+8|0;n=f[r>>2]|0;if((f[n>>2]|0)==(e|0))break;else i=n}if(n)f[r>>2]=f[n+8>>2]}else f[r>>2]=f[i+8>>2];Zp(A,i);i=0}}while(0);return i|0}function _p(A,e){A=A|0;e=e|0;var i=0;i=Dp(A)|0;A:do{if((i|0)==(Dp(e)|0))switch(f[e>>2]&3){case 0:{while(1){if((e|0)==(A|0)){e=1;break A}e=tN(e)|0;if(!e){e=0;break}}break}case 1:{e=e+8|0;e=(pp(A,f[e>>2]|0,f[e+4>>2]|0,0)|0)!=0;break A}default:{e=(YY(A,e,0)|0)!=0;break A}}else e=0}while(0);return e&1|0}function qp(A){A=A|0;return f[A>>2]&3|0}function $p(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,f=0,a=0,t=0;t=v;v=v+16|0;a=t;f=cV(A,81475,44,0)|0;switch(i|0){case 100:{n=AV(f,e,100)|0;if(!(eV(n,e)|0))iV(n,A,e,r)|0;break}case 101:{if(((eV(AV(f,e,100)|0,e)|0)==0?(eV(AV(f,e,102)|0,e)|0)==0:0)?(n=AV(f,e,101)|0,(eV(n,e)|0)==0):0)iV(n,A,e,r)|0;break}case 102:{rV(AV(f,e,100)|0,e);rV(AV(f,e,101)|0,e);n=AV(f,e,102)|0;if(!(eV(n,e)|0))iV(n,A,e,r)|0;break}default:Iy(1,81487,a)|0}v=t;return}function AV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=v;v=v+16|0;r=a;A:do{switch(f[e>>2]&3){case 0:switch(i|0){case 100:{i=A+8|0;break A}case 101:{i=A+20|0;break A}case 102:{i=A+32|0;break A}default:{n=14;break A}}case 1:switch(i|0){case 100:{i=A+12|0;break A}case 101:{i=A+24|0;break A}case 102:{i=A+36|0;break A}default:{n=14;break A}}case 2:switch(i|0){case 100:{i=A+16|0;break A}case 101:{i=A+28|0;break A}case 102:{i=A+40|0;break A}default:{n=14;break A}}default:n=14}}while(0);if((n|0)==14){Iy(1,81521,r)|0;i=0}A=f[i>>2]|0;if(!A){A=Fp(e)|0;A=sN(A,17884,f[4353]|0)|0;f[i>>2]=A}v=a;return A|0}function eV(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+32|0;r=i;n=nV(e)|0;e=r+8|0;f[e>>2]=n;f[e+4>>2]=Q;e=mL[f[A>>2]&31](A,r,4)|0;v=i;return e|0}function iV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;n=mp(Fp(i)|0,32)|0;f[n+20>>2]=i;a=nV(i)|0;i=n+8|0;f[i>>2]=a;f[i+4>>2]=Q;f[n+16>>2]=e;if(r|0){a=mp(e,8)|0;f[n+24>>2]=a;f[a>>2]=r}mL[f[A>>2]&31](A,n,1)|0;return n|0}function rV(A,e){A=A|0;e=e|0;e=eV(A,e)|0;if(e|0)mL[f[A>>2]&31](A,e,2)|0;return}function nV(A){A=A|0;A=A+8|0;Q=f[A+4>>2]|0;return f[A>>2]|0}function fV(A,e,i){A=A|0;e=e|0;i=i|0;aV(e);Zp(f[e+16>>2]|0,e);return}function aV(A){A=A|0;var e=0,i=0;e=A+16|0;A=f[A+24>>2]|0;while(1){if(!A)break;i=f[A+4>>2]|0;Zp(f[e>>2]|0,A);A=i}return}function tV(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;l=o;t=f[A+16>>2]|0;n=t;while(1){if(!n){n=0;break}a=f[n>>2]|0;if((a|0)==(e|0)){c=7;break}if((r[e>>0]|0)==(r[a>>0]|0)?(oz(e,a)|0)==0:0){c=7;break}n=f[n+4>>2]|0;if((n|0)==(t|0)){n=0;break}}do{if((c|0)==7){if(!(f[A>>2]&4)){if((n|0)==(t|0)&(i|0)==0){n=t;break}lV(A,n,i);break}if(i)if((t|0)==(n|0))n=t;else Iy(1,81546,l)|0}}while(0);v=o;return n|0}function lV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;f[A+16>>2]=e;r=f[A>>2]|0;i=i<<2&4;f[A>>2]=r&-5|i;if(r&2|0){r=(r&3|0)==3?-1:1;f[A+(r*48|0)+16>>2]=e;r=A+(r*48|0)|0;f[r>>2]=f[r>>2]&-5|i}return}function cV(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;t=Fp(A)|0;n=tV(A,e,0)|0;A:do{if((i|0)!=0&(n|0)==0){i=mp(t,i)|0;f[i>>2]=GV(t,e)|0;switch(f[A>>2]&3){case 0:{oV(A,i);a=i;break A}case 1:{oV(A,i);a=i;break A}case 2:case 3:{oV(A,i);a=i;break A}default:{}}}else a=n}while(0);if(r|0)tV(A,e,1)|0;return a|0}function oV(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=f[A+16>>2]|0;do{if(i){r=i+4|0;n=f[r>>2]|0;if((n|0)==(i|0)){f[r>>2]=e;r=i;i=e;break}else{f[e+4>>2]=n;r=e;break}}else{r=e;i=e}}while(0);f[i+4>>2]=r;if(!(f[A>>2]&4))lV(A,e,0);return}function sV(A,e){A=A|0;e=e|0;var i=0,r=0;r=Fp(A)|0;i=tV(A,e,0)|0;if(!i)e=-1;else{uV(A,i);if(!(f[A>>2]&3)){bV(r,A,i);e=i}else{UN(Dp(r)|0,A,55,i,0)|0;e=i}CV(r,f[i>>2]|0)|0;Zp(r,e);e=0}return e|0}function uV(A,e){A=A|0;e=e|0;var i=0;A=f[A+16>>2]|0;do{i=A+4|0;A=f[i>>2]|0}while((A|0)!=(e|0));f[i>>2]=f[e+4>>2];return}function bV(A,e,i){A=A|0;e=e|0;i=i|0;if((f[e+16>>2]|0)==(i|0)){A=f[i+4>>2]|0;lV(e,(A|0)==(i|0)?0:A,0)}return}function vV(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0;f=(r|0)>-1;a=f?r:0-r|0;A:do{switch(e|0){case 0:{cV(A,i,a,n)|0;if(!f){e=fN(A)|0;while(1){if(!e)break A;vV(e,0,i,r,n);e=aN(e)|0}}break}case 3:case 2:case 1:{r=(e|0)==1;e=Ep(A)|0;while(1){if(!e)break A;e:do{if(r)cV(e,i,a,n)|0;else{f=bY(A,e)|0;while(1){if(!f)break e;cV(f,i,a,n)|0;f=BY(A,f)|0}}}while(0);e=Qp(A,e)|0}}default:{}}}while(0);return}function BV(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;A:do{switch(e|0){case 0:{UN(A,A,56,i,1)|0;break}case 3:case 2:case 1:{n=(e|0)==1;r=Ep(A)|0;while(1){if(!r)break A;e:do{if(n)sV(r,i)|0;else{e=bY(A,r)|0;while(1){if(!e)break e;sV(e,i)|0;e=BY(A,e)|0}}}while(0);r=Qp(A,r)|0}}default:{}}}while(0);return}function kV(A,e,i){A=A|0;e=e|0;i=i|0;sV(e,i)|0;return}function wV(A){A=A|0;var e=0,i=0,r=0;i=Fp(A)|0;e=A+16|0;A=f[e>>2]|0;if(A|0)do{r=A;A=f[A+4>>2]|0;CV(i,f[r>>2]|0)|0;Zp(i,r)}while((A|0)!=(f[e>>2]|0));f[e>>2]=0;return}function hV(A){A=A|0;return bN(A,dV(A)|0)|0}function dV(A){A=A|0;var e=0,i=0;if(!A)i=168024;else i=(f[A+64>>2]|0)+20|0;e=f[i>>2]|0;if(!e){e=sN(A,17920,f[4353]|0)|0;f[i>>2]=e;A=167096;f[A>>2]=-2147483648;f[A+4>>2]=0;A=167104;f[A>>2]=2147483647;f[A+4>>2]=-1}return e|0}function gV(A,e){A=A|0;e=e|0;return mV(dV(A)|0,e)|0}function mV(A,e){A=A|0;e=e|0;A=ZV(A,e)|0;if(!A)A=0;else A=f[A+16>>2]|0;return A|0}function ZV(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+32|0;r=i;f[r+16>>2]=e;e=mL[f[A>>2]&31](A,r,4)|0;v=i;return e|0}function GV(A,e){A=A|0;e=e|0;var i=0,r=0;if(!e)i=0;else{r=dV(A)|0;i=ZV(r,e)|0;if(!i){i=(nz(e)|0)+24|0;if(!A)i=RW(i)|0;else i=mp(A,i)|0;A=i+8|0;f[A>>2]=1;f[A+4>>2]=0;A=i+20|0;oJ(A,e)|0;f[i+16>>2]=A;mL[f[r>>2]&31](r,i,1)|0}else{r=i+8|0;e=r;e=gH(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;f[r>>2]=e;f[r+4>>2]=Q}i=f[i+16>>2]|0}return i|0}function IV(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;if(!e)i=0;else{r=dV(A)|0;i=ZV(r,e)|0;if(!i){i=(nz(e)|0)+24|0;if(!A)i=RW(i)|0;else i=mp(A,i)|0;a=167096;n=f[a+4>>2]|0;A=i+8|0;f[A>>2]=f[a>>2]|1;f[A+4>>2]=n;A=i+20|0;oJ(A,e)|0;f[i+16>>2]=A;mL[f[r>>2]&31](r,i,1)|0}else{a=i+8|0;n=a;n=gH(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[a>>2]=n;f[a+4>>2]=Q}i=f[i+16>>2]|0}return i|0}function CV(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;if((e|0)!=0?(i=dV(A)|0,r=ZV(i,e)|0,(r|0)!=0):0)if((f[r+16>>2]|0)==(e|0)?(e=r+8|0,a=e,a=gH(f[a>>2]|0,f[a+4>>2]|0,-1,-1)|0,n=Q,e,f[e>>2]=a,f[e+4>>2]=n,e=167104,(a|0)==0&(n|0)==0|(f[e>>2]|0)==0&(f[e+4>>2]|0)==0):0){uN(A,i,r)|0;A=0}else A=0;else A=-1;return A|0}function MV(A){A=A|0;var e=0;if(!A)A=0;else{A=A+-12|0;e=167096;A=f[e>>2]&f[A>>2]}return A|0}function EV(A){A=A|0;var e=0,i=0,r=0;if(A|0){i=167096;A=A+-12|0;r=A;e=f[r+4>>2]|f[i+4>>2];f[A>>2]=f[r>>2]|f[i>>2];f[A+4>>2]=e}return}function QV(A){A=A|0;f[4489]=A;return}function yV(A){A=A|0;f[42011]=A;f[4489]=1;return}function YV(A,e){A=A|0;e=e|0;f[42012]=A;f[42013]=e;f[42014]=0;return}function pV(){var A=0,e=0,i=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;if(!(f[42015]|0)){f[42015]=1;if(!(f[42016]|0))f[42016]=1;if(!(f[42007]|0))f[42007]=f[13853];if(!(f[42008]|0))f[42008]=f[13885];o=f[42017]|0;if(!((o|0)!=0?(f[o>>2]|0)!=0:0)){VV();o=NV(f[42007]|0,16384)|0;f[f[42017]>>2]=o}WV()}A:while(1){c=f[42018]|0;r[c>>0]=r[173931]|0;A=(f[(f[f[42017]>>2]|0)+28>>2]|0)+(f[42016]|0)|0;e=c;e:while(1){t=e;while(1){e=f[17960+(a[t>>0]<<2)>>2]|0;if(n[56680+(A<<1)>>1]|0){f[42019]=A;f[42020]=t}i:while(1){i=e&255;do{e=i+(n[56866+(A<<1)>>1]|0)|0;if((A|0)==(n[57076+(e<<1)>>1]|0))break i;o=n[57612+(A<<1)>>1]|0;A=o<<16>>16}while(o<<16>>16<=92);e=f[18984+(i<<2)>>2]|0}A=n[57822+(e<<1)>>1]|0;e=t+1|0;if((n[56866+(A<<1)>>1]|0)==219)break;else t=e}i:while(1){o=c;r:while(1){A=n[56680+(A<<1)>>1]|0;if(!(A<<16>>16)){A=n[56680+(f[42019]<<1)>>1]|0;e=f[42020]|0}else A=A<<16>>16;f[42009]=c;l=e;f[42010]=l-o;r[173931]=r[e>>0]|0;r[e>>0]=0;f[42018]=e;n:while(1){switch(A|0){case 1:{u=27;break A}case 12:{u=53;break A}case 13:{u=55;break A}case 14:{u=57;break A}case 15:{u=61;break A}case 16:{u=65;break A}case 17:{u=67;break A}case 18:{u=69;break A}case 19:{u=72;break A}case 20:{u=75;break A}case 21:{u=78;break A}case 23:{u=86;break A}case 33:{u=118;break A}case 39:case 38:case 37:case 36:{s=0;break A}case 2:{u=29;break e}case 3:{u=32;break e}case 4:{u=35;break e}case 5:{u=37;break e}case 6:{u=39;break e}case 7:{u=42;break e}case 8:{u=44;break e}case 9:{u=47;break e}case 10:{u=49;break e}case 11:{u=51;break e}case 22:{u=83;break e}case 24:{u=89;break e}case 25:{u=92;break e}case 26:{u=95;break e}case 27:{u=98;break e}case 28:{u=101;break e}case 29:{u=104;break e}case 30:{u=109;break e}case 31:{u=112;break e}case 32:{u=115;break e}case 34:{u=121;break e}case 0:break n;case 35:break;default:{u=134;break A}}t=f[42009]|0;r[e>>0]=r[173931]|0;A=f[42017]|0;i=f[A>>2]|0;if(!(f[i+44>>2]|0)){b=f[i+16>>2]|0;f[42022]=b;f[i>>2]=f[42007];i=f[A>>2]|0;f[i+44>>2]=1;A=b}else A=f[42022]|0;if((f[42018]|0)>>>0<=((f[i+4>>2]|0)+A|0)>>>0){u=128;break r}switch(XV()|0){case 0:{u=132;break i}case 2:{u=133;break r}case 1:break;default:continue A}f[42018]=f[42009];A=(((f[42016]|0)+-1|0)/2|0)+36|0}r[e>>0]=r[173931]|0;e=f[42020]|0;A=f[42019]|0}if((u|0)==128){u=0;i=l-t|0;t=f[42009]|0;e=t+(i+-1)|0;f[42018]=e;A=FV()|0;l=DV(A)|0;c=f[42009]|0;if(!l)continue;else{u=129;break}}else if((u|0)==133){u=0;e=(f[(f[f[42017]>>2]|0)+4>>2]|0)+(f[42022]|0)|0;f[42018]=e;A=FV()|0;c=f[42009]|0;continue}}if((u|0)==129){u=0;e=t+i|0;f[42018]=e;A=l;continue}else if((u|0)==132){u=0;e=(f[42009]|0)+(l-t+-1)|0;f[42018]=e;A=FV()|0;c=f[42009]|0;continue}}switch(u|0){case 29:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[4489]=(f[4489]|0)+1;continue A}case 32:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[42016]=3;continue A}case 35:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 37:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 39:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[42016]=1;continue A}case 42:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 44:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;zV();continue A}case 47:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 49:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 51:{u=0;A=f[42010]|0;if(!A)continue A;f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;continue A}case 83:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[42016]=5;PV();continue A}case 89:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;HV(83714);continue A}case 92:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;HV(81579);continue A}case 95:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[4489]=(f[4489]|0)+1;continue A}case 98:{u=0;e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;HV(A);continue A}case 101:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[42016]=7;f[42021]=1;PV();continue A}case 104:{u=0;A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;b=(f[42021]|0)+-1|0;f[42021]=b;if(!b){u=108;break A}HV(f[42009]|0);continue A}case 109:{u=0;e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;f[42021]=(f[42021]|0)+1;HV(A);continue A}case 112:{u=0;e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;HV(A);f[4489]=(f[4489]|0)+1;continue A}case 115:{u=0;e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;HV(A);continue A}case 121:{u=0;e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;JP(A,e,1,f[42008]|0)|0;continue A}}}switch(u|0){case 27:{A=f[42010]|0;if(!A)s=-1;else{f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=-1}break}case 53:{A=f[42010]|0;if(!A)s=259;else{f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=259}break}case 55:{A=f[42010]|0;if(!A)s=260;else{f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=260}break}case 57:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;if(!(f[42014]|0)){f[42014]=258;s=258}else s=258;break}case 61:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;if(!(f[42014]|0)){f[42014]=261;s=261}else s=261;break}case 65:{A=f[42010]|0;if(!A)s=263;else{f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=263}break}case 67:{A=f[42010]|0;if(!A)s=262;else{f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=262}break}case 69:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=(f[42014]|0)==261?264:45;break}case 72:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;s=(f[42014]|0)==258?264:45;break}case 75:{e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;f[42037]=GV(f[41987]|0,A)|0;s=267;break}case 78:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;if(JV()|0){u=(f[42010]|0)+-1|0;r[e>>0]=r[173931]|0;b=c+u|0;f[42018]=b;f[42009]=c;f[42010]=u;r[173931]=r[b>>0]|0;r[b>>0]=0;f[42018]=b}f[42037]=GV(f[41987]|0,f[42009]|0)|0;s=267;break}case 86:{A=f[42010]|0;if(A|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[(f[42009]|0)+(A+-1)>>0]|0)==10&1;f[42016]=1;RV();s=268;break}case 108:{f[42016]=1;LV();s=268;break}case 118:{e=f[42010]|0;A=f[42009]|0;if(e|0)f[(f[f[42017]>>2]|0)+28>>2]=(r[A+(e+-1)>>0]|0)==10&1;s=r[A>>0]|0;break}case 134:{xV(81582);break}}return s|0}function VV(){var A=0,e=0,i=0;e=f[42017]|0;do{if(!e){A=_V(4)|0;f[42017]=A;if(!A)xV(81940);else{f[A>>2]=0;A=1;i=9;break}}else{A=f[42028]|0;if(0>=(A+-1|0)>>>0){A=A+8|0;e=TV(e,A<<2)|0;f[42017]=e;if(!e)xV(81940);else{i=e+(f[42028]<<2)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;f[i+24>>2]=0;f[i+28>>2]=0;i=9;break}}}}while(0);if((i|0)==9)f[42028]=A;return}function NV(A,e){A=A|0;e=e|0;var i=0;i=_V(48)|0;if(!i)xV(81895);f[i+12>>2]=e;e=_V(e+2|0)|0;f[i+4>>2]=e;if(!e)xV(81895);else{f[i+20>>2]=1;SV(i,A);return i|0}return 0}function WV(){var A=0,e=0;e=f[42017]|0;A=f[e>>2]|0;f[42022]=f[A+16>>2];A=f[A+8>>2]|0;f[42018]=A;f[42009]=A;f[42007]=f[f[e>>2]>>2];r[173931]=r[A>>0]|0;return}function zV(){var A=0,e=0,i=0,n=0,a=0,t=0,l=0;a=v;v=v+32|0;n=a;e=a+16|0;i=a+12|0;t=f[42009]|0;A=t+1|0;l=(Wz(A,81879,4)|0)==0;A=l?t+5|0:A;f[n>>2]=i;f[n+4>>2]=a+20;f[n+8>>2]=e;n=XP(A,81884,n)|0;if((n|0)>0?(f[4489]=(f[i>>2]|0)+-1,(n|0)!=1):0){e=A+(f[e>>2]|0)|0;A=e;A:while(1){i=r[A>>0]|0;switch(i<<24>>24){case 0:case 34:break A;default:{}}A=A+1|0}if((A|0)!=(e|0)&i<<24>>24==34){r[A>>0]=0;KV(e,A-e|0)}}v=a;return}function JV(){var A=0,e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0;c=v;v=v+2080|0;l=c+8|0;n=c;A=c+1056|0;e=c+32|0;t=c+16|0;o=r[(f[42009]|0)+((f[42010]|0)+-1)>>0]|0;i=o<<24>>24==46;if(i|((o&255)+-48|0)>>>0<10)if(i?(OV()|0)!=0:0)a=4;else A=0;else a=4;if((a|0)==4){o=f[42011]|0;Qy(t,1024,A);py(t,81790)|0;py(t,f[42009]|0)|0;f[n>>2]=f[4489];iP(e,81834,n)|0;py(t,e)|0;py(t,(o|0)==0?81784:o)|0;py(t,81851)|0;e=t+4|0;A=f[e>>2]|0;if(A>>>0>=(f[t+8>>2]|0)>>>0){yy(t,1)|0;A=f[e>>2]|0}r[A>>0]=0;A=f[t>>2]|0;f[e>>2]=A;f[l>>2]=A;Iy(0,81876,l)|0;Vy(t);A=1}v=c;return A|0}function PV(){var A=0;A=f[42023]|0;if(!A){A=RW(1024)|0;f[42023]=A;f[42025]=A+1024}f[42024]=A;r[A>>0]=0;return}function RV(){f[42037]=GV(f[41987]|0,f[42023]|0)|0;r[f[42023]>>0]=0;return}function HV(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;i=f[42024]|0;e=f[42023]|0;if(i>>>0>e>>>0){i=i+-1|0;n=3}A:while(1){if((n|0)==3)f[42024]=i;n=f[42025]|0;a=n;do{t=A;A=A+1|0;t=r[t>>0]|0;l=i;i=i+1|0;r[l>>0]=t;if(!(t<<24>>24))break A}while(i>>>0>>0);f[42024]=i;n=e;l=a-n<<1;e=FW(e,l)|0;f[42023]=e;f[42025]=e+l;i=e+(i-n)|0;n=3}f[42024]=i;return}function LV(){f[42037]=IV(f[41987]|0,f[42023]|0)|0;r[f[42023]>>0]=0;return}function FV(){var A=0,e=0,i=0,a=0,t=0;t=f[42018]|0;a=f[42009]|0;e=(f[(f[f[42017]>>2]|0)+28>>2]|0)+(f[42016]|0)|0;while(1){if(a>>>0>=t>>>0)break;A=r[a>>0]|0;if(!(A<<24>>24))A=1;else A=f[17960+((A&255)<<2)>>2]|0;if(n[56680+(e<<1)>>1]|0){f[42019]=e;f[42020]=a}A:while(1){i=A&255;do{A=i+(n[56866+(e<<1)>>1]|0)|0;if((e|0)==(n[57076+(A<<1)>>1]|0))break A;A=n[57612+(e<<1)>>1]|0;e=A<<16>>16}while(A<<16>>16<=92);A=f[18984+(i<<2)>>2]|0}a=a+1|0;e=n[57822+(A<<1)>>1]|0}return e|0}function DV(A){A=A|0;var e=0;if(n[56680+(A<<1)>>1]|0){e=f[42018]|0;f[42019]=A;f[42020]=e}while(1){e=(n[56866+(A<<1)>>1]|0)+1|0;if((A|0)==(n[57076+(e<<1)>>1]|0))break;A=n[57612+(A<<1)>>1]|0}e=n[57822+(e<<1)>>1]|0;return(e<<16>>16==92?0:e<<16>>16)|0}function XV(){var A=0,e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;c=f[42017]|0;a=f[c>>2]|0;l=f[a+4>>2]|0;n=f[42009]|0;s=f[42018]|0;o=s;if(s>>>0>(l+((f[42022]|0)+1)|0)>>>0)xV(81637);t=o-n|0;if(!(f[a+40>>2]|0))A=(t|0)==1?1:2;else{s=t+-1|0;t=l;a=0;while(1){if((a|0)>=(s|0))break;r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0;a=a+1|0}n=f[c>>2]|0;do{if((f[n+44>>2]|0)==2){f[42022]=0;f[n+16>>2]=0;i=n;u=17}else{while(1){l=n+12|0;t=f[l>>2]|0;a=t-s+-1|0;if(a|0){u=16;break}a=n+4|0;c=f[a>>2]|0;if(!(f[n+20>>2]|0)){u=12;break}n=t<<1;n=(n|0)==0?(t>>>3)+t|0:n;f[l>>2]=n;n=TV(c,n+2|0)|0;f[a>>2]=n;if(!n)break;c=n+(o-c)|0;f[42018]=c;n=f[f[42017]>>2]|0;o=c}if((u|0)==12)f[a>>2]=0;else if((u|0)==16){e=mL[f[f[(f[42012]|0)+8>>2]>>2]&31](f[42013]|0,(f[n+4>>2]|0)+s|0,a>>>0<8192?a:8192)|0;i=f[f[42017]>>2]|0;f[42022]=e;f[i+16>>2]=e;if(!e){u=17;break}else{A=0;break}}xV(81693)}}while(0);do{if((u|0)==17)if(!s){UV(f[42007]|0);A=1;e=f[42022]|0;i=f[f[42017]>>2]|0;break}else{f[i+44>>2]=2;A=2;e=0;break}}while(0);n=e+s|0;do{if(n>>>0>(f[i+12>>2]|0)>>>0){u=TV(f[i+4>>2]|0,n+(e>>>1)|0)|0;e=f[42017]|0;f[(f[e>>2]|0)+4>>2]=u;e=f[(f[e>>2]|0)+4>>2]|0;if(!e)xV(81737);else{b=f[42022]|0;v=e;break}}else{b=e;v=f[i+4>>2]|0}}while(0);b=b+s|0;f[42022]=b;r[v+b>>0]=0;v=f[42017]|0;r[(f[(f[v>>2]|0)+4>>2]|0)+((f[42022]|0)+1)>>0]=0;f[42009]=f[(f[v>>2]|0)+4>>2]}return A|0}function xV(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=f[13918]|0;f[e>>2]=A;uP(i,81633,e)|0;FA(2)}function TV(A,e){A=A|0;e=e|0;return FW(A,e)|0}function UV(A){A=A|0;var e=0,i=0,r=0;i=f[42017]|0;if((i|0)!=0?(e=f[i>>2]|0,(e|0)!=0):0)r=4;else{VV();e=NV(f[42007]|0,16384)|0;i=f[42017]|0;f[i>>2]=e;if(!i)e=0;else r=4}SV(e,A);WV();return}function SV(A,e){A=A|0;e=e|0;var i=0;i=f[(KW()|0)>>2]|0;jV(A);f[A>>2]=e;f[A+40>>2]=1;e=f[42017]|0;if(!e)e=0;else e=f[e>>2]|0;if((e|0)!=(A|0)){f[A+32>>2]=1;f[A+36>>2]=0}f[A+24>>2]=0;f[(KW()|0)>>2]=i;return}function jV(A){A=A|0;var e=0;if(A|0){f[A+16>>2]=0;e=A+4|0;r[f[e>>2]>>0]=0;r[(f[e>>2]|0)+1>>0]=0;f[A+8>>2]=f[e>>2];f[A+28>>2]=1;f[A+44>>2]=0;e=f[42017]|0;if(!e)e=0;else e=f[e>>2]|0;if((e|0)==(A|0))WV()}return}function OV(){var A=0,e=0;e=f[42009]|0;A=(f[42010]|0)+-2|0;while(1){if((A|0)<=-1){A=0;break}if((r[e+A>>0]|0)==46){A=1;break}else A=A+-1|0}return A|0}function KV(A,e){A=A|0;e=e|0;var i=0;i=f[42026]|0;if((i|0)<(e|0)){if(!i)i=RW(e+1|0)|0;else i=FW(f[42027]|0,e+1|0)|0;f[42027]=i;f[42026]=e}else i=f[42027]|0;oJ(i,A)|0;f[42011]=f[42027];return}function _V(A){A=A|0;return RW(A)|0}function qV(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+2112|0;o=s+32|0;l=s+24|0;t=s+16|0;a=s+8|0;n=s;e=s+56|0;c=s+40|0;Qy(c,1024,s+1080|0);i=f[42011]|0;if(i|0){py(c,i)|0;py(c,81990)|0}py(c,A)|0;f[n>>2]=f[4489];iP(e,81993,n)|0;py(c,e)|0;A:do{if(!(r[f[42009]>>0]|0))switch(((f[42016]|0)+-1|0)/2|0|0){case 2:{f[a>>2]=16384;iP(e,82013,a)|0;py(c,e)|0;A=f[42023]|0;if(!(r[A>>0]|0))break A;l=nz(A)|0;py(c,82075)|0;A=f[42023]|0;if((l|0)>80)r[A+80>>0]=0;py(c,A)|0;break A}case 3:{f[t>>2]=16384;iP(e,82094,t)|0;py(c,e)|0;A=f[42023]|0;if(!(r[A>>0]|0))break A;l=nz(A)|0;py(c,82162)|0;A=f[42023]|0;if((l|0)>80)r[A+80>>0]=0;py(c,A)|0;break A}case 1:{f[l>>2]=16384;iP(e,82181,l)|0;py(c,e)|0;break A}default:break A}else{py(c,82005)|0;py(c,f[42009]|0)|0;e=c+4|0;A=f[e>>2]|0;if(A>>>0>=(f[c+8>>2]|0)>>>0){yy(c,1)|0;A=f[e>>2]|0}f[e>>2]=A+1;r[A>>0]=39}}while(0);i=c+4|0;A=f[i>>2]|0;e=c+8|0;if(A>>>0>=(f[e>>2]|0)>>>0){yy(c,1)|0;A=f[i>>2]|0}f[i>>2]=A+1;r[A>>0]=10;A=f[i>>2]|0;if(A>>>0>=(f[e>>2]|0)>>>0){yy(c,1)|0;A=f[i>>2]|0}r[A>>0]=0;l=f[c>>2]|0;f[i>>2]=l;f[o>>2]=l;Iy(1,81876,o)|0;Vy(c);v=s;return}function $V(){AN(f[42009]|0);return}function AN(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;c=f[42018]|0;r[c>>0]=r[173931]|0;l=f[42017]|0;i=f[l>>2]|0;e=f[i+4>>2]|0;if(c>>>0<(e+2|0)>>>0){n=e+((f[42022]|0)+2)|0;a=e+((f[i+12>>2]|0)+2)|0;o=e;t=i;while(1){if(n>>>0<=o>>>0)break;i=n+-1|0;o=a+-1|0;r[o>>0]=r[i>>0]|0;t=f[l>>2]|0;n=i;a=o;o=f[t+4>>2]|0}i=a-n|0;e=c+i|0;c=f[t+12>>2]|0;f[42022]=c;f[t+16>>2]=c;if(e>>>0<(o+2|0)>>>0)xV(82240);else{s=A+i|0;u=e}}else{s=A;u=c}A=u+-1|0;r[A>>0]=64;f[42009]=s;r[173931]=r[A>>0]|0;f[42018]=A;return}function eN(){var A=0;A=f[42017]|0;if(!A)A=0;else A=f[A>>2]|0;jV(A);return}function iN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=v;v=v+80|0;n=r;a=A+52|0;vN(A,f[a>>2]|0,17604);A=n+8|0;f[A>>2]=e;f[A+4>>2]=i;i=f[a>>2]|0;i=mL[f[i>>2]&31](i,n,4)|0;v=r;return i|0}function rN(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;n=iN(A,e,i)|0;if(!n){n=mp(A,72)|0;f[n+64>>2]=f[A+64>>2];a=n+24|0;t=f[A+24>>2]|0;f[a>>2]=t;r[a>>0]=t&255&-9;f[n+56>>2]=A;f[n+60>>2]=f[A+60>>2];A=n+8|0;f[A>>2]=e;f[A+4>>2]=i;WY(n)|0}return n|0}function nN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;a=v;v=v+16|0;n=a;if(!(((e|0)!=0?(_Y(A,0,e,n,0)|0)!=0:0)?(r=n,r=iN(A,f[r>>2]|0,f[r+4>>2]|0)|0,(r|0)!=0):0))if((i|0)!=0?(_Y(A,0,e,n,1)|0)!=0:0){r=n;r=rN(A,f[r>>2]|0,f[r+4>>2]|0)|0;ep(A,0,r)}else r=0;v=a;return r|0}function fN(A){A=A|0;A=f[A+52>>2]|0;return mL[f[A>>2]&31](A,0,128)|0}function aN(A){A=A|0;var e=0;e=tN(A)|0;if(!e)A=0;else{e=f[e+52>>2]|0;A=mL[f[e>>2]&31](e,A,8)|0}return A|0}function tN(A){A=A|0;return f[A+56>>2]|0}function lN(A,e){A=A|0;e=e|0;A=f[A+52>>2]|0;return mL[f[A>>2]&31](A,e,2)|0}function cN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A=f[42029]|0;r=(e|0)!=0;do{if(!A)if(r){HW(e);A=0;break}else{A=RW(i)|0;break}else if(r){Zp(A,e);A=0;break}else{A=mp(A,i)|0;break}}while(0);return A|0}function oN(A,e,i){A=A|0;e=e|0;i=i|0;A=f[42029]|0;if(!A)HW(e);else Zp(A,e);return}function sN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=e+28|0;n=f[r>>2]|0;f[r>>2]=2;f[42029]=A;i=vy(e,i)|0;f[r>>2]=n;f[42029]=0;return i|0}function uN(A,e,i){A=A|0;e=e|0;i=i|0;f[42029]=A;return mL[f[e>>2]&31](e,i,2)|0}function bN(A,e){A=A|0;e=e|0;var i=0,r=0;i=(cy(e,0,0)|0)+28|0;r=f[i>>2]|0;f[i>>2]=2;f[42029]=A;if(!(ly(e)|0)){f[i>>2]=r;f[42029]=0;A=0}else A=1;return A|0}function vN(A,e,i){A=A|0;e=e|0;i=i|0;if(i|0?(cy(e,0,0)|0)!=(i|0):0)cy(e,i,0)|0;return}function BN(A,e){A=A|0;e=e|0;if(!(MV(A)|0))e=wN(A,e)|0;else kN(A,e)|0;return e|0}function kN(A,e){A=A|0;e=e|0;var i=0,n=0,f=0;r[e>>0]=60;n=e;while(1){i=n+1|0;f=r[A>>0]|0;if(!(f<<24>>24))break;r[i>>0]=f;A=A+1|0;n=i}r[i>>0]=62;r[n+2>>0]=0;return e|0}function wN(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0;A:do{if((A|0)!=0?(r[A>>0]|0)!=0:0){r[e>>0]=34;s=r[A>>0]|0;k=0;a=((s+-45&255)<2|((s&255)+-48|0)>>>0<10)&1;t=0;l=0;c=0;i=e+1|0;n=A+1|0;e:while(1){o=i;while(1){if(!(s<<24>>24))break e;i=s&255;i:do{if(s<<24>>24==34){r[o>>0]=92;u=a;b=1;o=o+1|0}else{if(!a){b=s<<24>>24>-1&(s<<24>>24!=95&(Sz(i)|0)==0);u=0;b=b?1:t;break}switch(s<<24>>24){case 45:{b=(c|0)==0;u=b?a:0;b=b?t:1;break i}case 46:{b=(l|0)==0;u=b?a:0;b=b?t:1;l=l+1|0;break i}default:{b=(i+-48|0)>>>0<10;u=b?a:0;b=b?t:1;break i}}}}while(0);i=o+1|0;r[o>>0]=s;B=n+1|0;v=r[n>>0]|0;c=c+1|0;n=f[4795]|0;if(!n){a=u;t=b;o=i;n=B;s=v;continue}a=v&255;t=v<<24>>24!=0;if((k&t?!(s<<24>>24==92|s<<24>>24>-1&((s+-45&255)>1&(Sz(s<<24>>24)|0)==0)^1):0)?!(v<<24>>24>-1&((v+-45&255)>1&(Sz(a)|0)==0)):0)break;if((c|0)<(n|0)|t^1){a=u;t=b;o=i;n=B;s=v;continue}if(s<<24>>24==92|s<<24>>24>-1&((Sz(s<<24>>24)|0)==0&(s+-45&255)>1)^1){k=1;a=u;t=b;s=v;n=B;continue e}if(v<<24>>24>-1&((v+-45&255)>1&(Sz(a)|0)==0)){k=1;a=u;t=b;s=v;n=B;continue e}r[i>>0]=92;r[o+2>>0]=10;a=u;t=1;c=0;o=o+3|0;n=B;s=v}r[i>>0]=92;r[o+2>>0]=10;k=0;a=u;t=1;c=0;s=v;i=o+3|0;n=B}r[o>>0]=34;r[o+1>>0]=0;if(!t){if((c|0)==1?((r[A>>0]|0)+-45&255)<2:0){A=e;break}else i=19184;while(1){n=f[i>>2]|0;if(!n)break A;if(!(Oz(n,A)|0)){A=e;break}else i=i+4|0}}else A=e}else A=82272}while(0);return A|0}function hN(A){A=A|0;return BN(A,dN(A)|0)|0}function dN(A){A=A|0;var e=0;e=((nz(A)|0)<<1)+2|0;e=e>>>0>1024?e:1024;A=f[42031]|0;if(e>>>0>(f[42030]|0)>>>0){if(!A)A=RW(e)|0;else A=FW(A,e)|0;f[42031]=A;f[42030]=e}return A|0}function gN(A,e){A=A|0;e=e|0;A=fN(A)|0;while(1){if(!A){A=0;break}if((mN(A)|0)==0?Vp(A,e,0)|0:0){A=1;break}A=aN(A)|0}return A|0}function mN(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0;t=Ap(A)|0;if((t|0)!=0?(r[t>>0]|0)!=37:0)e=0;else i=3;A:do{if((i|0)==3){e=Ly(A)|0;e:do{if(e|0?(n=Ly(tN(A)|0)|0,n|0):0){t=ky(f[(Ly(Dp(A)|0)|0)+8>>2]|0)|0;a=e+12|0;i=n+12|0;e=0;while(1){if((e|0)>=(t|0))break e;n=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((n|0?(l=f[(f[i>>2]|0)+(e<<2)>>2]|0,l|0):0)?oz(n,l)|0:0){e=0;break A}e=e+1|0}}}while(0);e=zy(A,0)|0;if(e)if((ky(f[e+8>>2]|0)|0)>0)e=0;else return(ky(f[e+12>>2]|0)|0)<1|0;else e=1}}while(0);return e|0}function ZN(A,e){A=A|0;e=e|0;var i=0,n=0;f[42032]=0;i=aY(A,82282)|0;if((i|0?((r[i>>0]|0)+-48|0)>>>0<10:0)?(n=vP(i,0,10)|0,(n|0)==0|(n|0)>59):0)f[4795]=n;GN(A,1);if(((IN(A,e,1)|0)!=-1?(CN(A,e)|0)!=-1:0)?(MN(A,e)|0)!=-1:0){f[4795]=128;A=dL[f[(f[(f[A+64>>2]|0)+8>>2]|0)+8>>2]&31](e)|0}else A=-1;return A|0}function GN(A,e){A=A|0;e=e|0;var i=0;f[A>>2]=f[A>>2]&-9;i=fN(A)|0;while(1){if(!i)break;GN(i,0);i=aN(i)|0}A:do{if(e|0){e=Ep(A)|0;while(1){if(!e)break A;f[e>>2]=f[e>>2]&-9;i=bY(A,e)|0;while(1){if(!i)break;f[i>>2]=f[i>>2]&-9;i=BY(A,i)|0}e=Qp(A,e)|0}}}while(0);return}function IN(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0;if((i|0)==0?(tN(A)|0)!=0:0){l=0;a=174185;o=94336}else{o=(r[A+24>>0]&1)==0?174185:82326;a=(XY(A)|0)==0;f[42033]=Ky(A,2,96242,0)|0;f[42034]=Ky(A,2,96251,0)|0;l=1;a=a?174185:82329}n=Ap(A)|0;if((n|0)!=0?(r[n>>0]|0)!=37:0){t=1;c=87638}else{t=0;c=174185;n=174185}do{if((EN(A,e)|0)!=-1?(QN(A,e,a)|0)!=-1:0){a=(t|0)==0;if(t|l|0){if((QN(A,e,o)|0)==-1){n=-1;break}if((QN(A,e,87631)|0)==-1){n=-1;break}}if(!a?(HN(A,e,n)|0)==-1:0){n=-1;break}if(((QN(A,e,c)|0)!=-1?(QN(A,e,82337)|0)!=-1:0)?(f[42032]=(f[42032]|0)+1,(xN(A,e,i)|0)!=-1):0){f[A>>2]=f[A>>2]|8;n=0}else n=-1}else n=-1}while(0);return n|0}function CN(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;A:do{if((yN(A,e)|0)==-1)i=-1;else{o=zy(Dp(A)|0,0)|0;l=(o|0)==0;c=o+12|0;o=o+8|0;t=Ep(A)|0;while(1){if(!t){i=0;break A}if(YN(A,t,(f[t>>2]|0)>>>4,0)|0){if(l)i=0;else i=f[o>>2]|0;if((pN(t,e,i)|0)==-1){i=-1;break A}}a=bY(A,t)|0;i=t;while(1){if(!a)break;n=a+-48|0;r=f[((f[a>>2]&3|0)==2?a:n)+40>>2]|0;if((i|0)!=(r|0)?(YN(A,r,(f[t>>2]|0)>>>4,0)|0)!=0:0){if(l)i=0;else i=f[o>>2]|0;if((pN(f[((f[a>>2]&3|0)==2?a:n)+40>>2]|0,e,i)|0)==-1){i=-1;break A}i=f[((f[a>>2]&3|0)==2?a:n)+40>>2]|0}if(VN(A,a)|0){if(l)r=0;else r=f[c>>2]|0;if((NN(a,e,r)|0)==-1){i=-1;break A}}a=BY(A,a)|0}t=Qp(A,t)|0}}}while(0);return i|0}function MN(A,e){A=A|0;e=e|0;f[42032]=(f[42032]|0)+-1;if((EN(A,e)|0)==-1)A=-1;else A=((QN(A,e,95830)|0)==-1)<<31>>31;return A|0}function EN(A,e){A=A|0;e=e|0;var i=0;i=f[42032]|0;while(1){if((i|0)<=0){i=0;break}if((QN(A,e,134899)|0)==-1){i=-1;break}else i=i+-1|0}return i|0}function QN(A,e,i){A=A|0;e=e|0;i=i|0;return gL[f[(f[(f[A+64>>2]|0)+8>>2]|0)+4>>2]&63](e,i)|0}function yN(A,e){A=A|0;e=e|0;A=fN(A)|0;while(1){if(!A){A=0;break}if(!(mN(A)|0)){if((IN(A,e,0)|0)==-1){A=-1;break}if((CN(A,e)|0)==-1){A=-1;break}if((MN(A,e)|0)==-1){A=-1;break}}else yN(A,e)|0;A=aN(A)|0}return A|0}function YN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;if((gN(A,e)|0)==0?(FN(A,e,i,r)|0)!=0:0)if((DN(A,e)|0)==0?(XN(e)|0)==0:0)n=5;else A=1;else n=5;if((n|0)==5)A=0;return A|0}function pN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=Fp(A)|0;do{if((EN(r,e)|0)!=-1?(WN(A,e)|0)!=-1:0){if((JN(A)|0)==0?(PN(A,e,i)|0)==-1:0){A=-1;break}A=QN(r,e,82293)|0}else A=-1}while(0);return A|0}function VN(A,e){A=A|0;e=e|0;A=fN(A)|0;while(1){if(!A){A=1;break}if((mN(A)|0)==0?YY(A,e,0)|0:0){A=0;break}A=aN(A)|0}return A|0}function NN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;r=f[A>>2]&3;a=f[((r|0)==3?A:A+48|0)+40>>2]|0;r=f[((r|0)==2?A:A+-48|0)+40>>2]|0;n=Fp(a)|0;do{if((((((EN(n,e)|0)!=-1?(WN(a,e)|0)!=-1:0)?(zN(A,e,f[42033]|0)|0)!=-1:0)?(a=(FY(Fp(a)|0)|0)!=0,(QN(n,e,a?85095:85100)|0)!=-1):0)?(WN(r,e)|0)!=-1:0)?(zN(A,e,f[42034]|0)|0)!=-1:0){if(!(JN(A)|0)){if((PN(A,e,i)|0)==-1){A=-1;break}}else if((RN(A,e,1)|0)==-1){A=-1;break}A=QN(n,e,82293)|0}else A=-1}while(0);return A|0}function WN(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0;l=v;v=v+32|0;a=l;i=l+8|0;r=Ap(A)|0;n=Fp(A)|0;if(!r){c=A+8|0;A=f[c+4>>2]|0;r=a;f[r>>2]=f[c>>2];f[r+4>>2]=A;iP(i,82313,a)|0;if((QN(n,e,i)|0)==-1)A=-1;else t=4}else if((HN(n,e,r)|0)==-1)A=-1;else t=4;if((t|0)==4)A=0;v=l;return A|0}function zN(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0;A:do{if((i|0)!=0?(n=Fp(A)|0,f=tY(A,i)|0,(r[f>>0]|0)!=0):0)if((QN(n,e,93017)|0)==-1)A=-1;else{do{if(MV(f)|0){if((HN(n,e,f)|0)==-1){A=-1;break A}}else{A=zz(f,58)|0;if(!A)if((LN(n,e,f,0)|0)==-1){A=-1;break A}else break;r[A>>0]=0;if((LN(n,e,f,0)|0)==-1){A=-1;break A}if((QN(n,e,93017)|0)==-1){A=-1;break A}if((LN(n,e,A+1|0,0)|0)==-1){A=-1;break A}r[A>>0]=58}}while(0);A=0}else A=0}while(0);return A|0}function JN(A){A=A|0;return(f[A>>2]|0)>>>3&1|0}function PN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0;A:do{if(!(f[A>>2]&2)){r=0;o=4}else{switch(RN(A,e,0)|0){case-1:{r=-1;break A}case 0:{r=0;o=4;break A}default:{}}r=1;o=4}}while(0);A:do{if((o|0)==4){n=Ly(A)|0;c=Fp(A)|0;e:do{if(n){l=n+12|0;t=mL[f[i>>2]&31](i,0,128)|0;while(1){if(!t)break e;do{if(f[A>>2]&2){a=f[42033]|0;if(a|0?(f[t+16>>2]|0)==(f[a+16>>2]|0):0)break;a=f[42034]|0;if(!((a|0)!=0?(f[t+16>>2]|0)==(f[a+16>>2]|0):0))o=12}else o=12}while(0);if((o|0)==12){o=0;n=t+16|0;if((f[(f[l>>2]|0)+(f[n>>2]<<2)>>2]|0)!=(f[t+12>>2]|0)){a=r+1|0;if(r){if((QN(c,e,82308)|0)==-1){r=-1;break A}if((EN(c,e)|0)==-1){r=-1;break A}}else{if((EN(c,e)|0)==-1){r=-1;break A}if((QN(c,e,82305)|0)==-1){r=-1;break A}f[42032]=(f[42032]|0)+1}if((HN(c,e,f[t+8>>2]|0)|0)==-1){r=-1;break A}if((QN(c,e,82311)|0)==-1){r=-1;break A}if((HN(c,e,f[(f[l>>2]|0)+(f[n>>2]<<2)>>2]|0)|0)==-1){r=-1;break A}else r=a}}t=mL[f[i>>2]&31](i,t,8)|0}}}while(0);if((r|0)>0){if((QN(c,e,82303)|0)==-1){r=-1;break}f[42032]=(f[42032]|0)+-1}f[A>>2]=f[A>>2]|8;r=0}}while(0);return r|0}function RN(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0;n=Ap(A)|0;A=Fp(A)|0;if((n|0)!=0?(r[n>>0]|0)!=0:0)if((QN(A,e,82296)|0)!=-1?(HN(A,e,n)|0)!=-1:0)if((i|0)!=0?(QN(A,e,82303)|0)==-1:0)A=-1;else{A=1;f=7}else A=-1;else{A=0;f=7}return A|0}function HN(A,e,i){A=A|0;e=e|0;i=i|0;return LN(A,e,i,1)|0}function LN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;if(!r)i=wN(i,dN(i)|0)|0;else i=hN(i)|0;return QN(A,e,i)|0}function FN(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;A:do{if(0>>0|(0==(r|0)?(f[e>>2]|0)>>>4>>>0>>0:0))e=0;else{e=kY(A,e)|0;while(1){if(!e){e=1;break A}if(0>>0|(0==(r|0)?(f[f[e+40>>2]>>2]|0)>>>4>>>0>>0:0)){e=0;break A}e=wY(A,e)|0}}}while(0);return e|0}function DN(A,e){A=A|0;e=e|0;if(!(kY(A,e)|0))A=(bY(A,e)|0)==0&1;else A=0;return A|0}function XN(A){A=A|0;var e=0,i=0,r=0;A=Ly(A)|0;A:do{if(!A)A=0;else{i=A+8|0;r=f[i>>2]|0;e=A+12|0;A=mL[f[r>>2]&31](r,0,128)|0;while(1){if(!A){A=0;break A}if((f[(f[e>>2]|0)+(f[A+16>>2]<<2)>>2]|0)!=(f[A+12>>2]|0)){A=1;break A}r=f[i>>2]|0;A=mL[f[r>>2]&31](r,A,8)|0}}}while(0);return A|0}function xN(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=zy(A,0)|0;if(r)if(((TN(A,e,96286,f[r+16>>2]|0,i)|0)!=-1?(TN(A,e,96273,f[r+8>>2]|0,i)|0)!=-1:0)?(TN(A,e,96237,f[r+12>>2]|0,i)|0)!=-1:0)n=5;else A=-1;else n=5;if((n|0)==5)A=0;return A|0}function TN(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;u=(a|0)!=0;if(u)s=0;else s=gy(n,0)|0;o=(s|0)==0;c=mL[f[n>>2]&31](n,0,128)|0;a=0;while(1){if(!c){b=23;break}l=c+12|0;b=f[l>>2]|0;if((b|0)!=0?(r[b>>0]|0)!=0:0)b=12;else b=7;do{if((b|0)==7){b=0;if(!(r[c+22>>0]|0)){if(!o){t=mL[f[s>>2]&31](s,c,4)|0;v=f[t+12>>2]|0;if(v|0?r[v>>0]|0:0){b=12;break}if(!(r[t+22>>0]|0))b=12}}else b=12}}while(0);if((b|0)==12){b=0;t=a+1|0;if(a){if((QN(A,e,82308)|0)==-1){a=-1;break}if((EN(A,e)|0)==-1){a=-1;break}}else{if((EN(A,e)|0)==-1){a=-1;break}if((QN(A,e,i)|0)==-1){a=-1;break}if((QN(A,e,82305)|0)==-1){a=-1;break}f[42032]=(f[42032]|0)+1}if((HN(A,e,f[c+8>>2]|0)|0)==-1){a=-1;break}if((QN(A,e,82311)|0)==-1){a=-1;break}if((HN(A,e,f[l>>2]|0)|0)==-1){a=-1;break}else a=t}c=mL[f[n>>2]&31](n,c,8)|0}do{if((b|0)==23){if((a|0)>0){f[42032]=(f[42032]|0)+-1;if((a|0)!=1){if((QN(A,e,134901)|0)==-1){a=-1;break}if((EN(A,e)|0)==-1){a=-1;break}}a=(QN(A,e,82340)|0)==-1;if(u|a){a=a<<31>>31;break}}else if(u){a=0;break}gy(n,s)|0;a=0}}while(0);return a|0}function UN(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0;switch(f[e>>2]&3){case 0:{a=19;break}case 1:{a=20;break}case 3:case 2:{a=21;break}default:{}}e=gL[a&63](A,e)|0;if(!e)e=-1;else{KN(A,e,i,r,a,n);e=0}return e|0}function SN(A,e){A=A|0;e=e|0;if((Fp(e)|0)!=(A|0))e=YY(A,e,0)|0;return e|0}function jN(A,e){A=A|0;e=e|0;if((Fp(e)|0)!=(A|0))e=Vp(A,e,0)|0;return e|0}function ON(A,e){A=A|0;e=e|0;return A|0}function KN(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;var a=0,t=0,l=0;t=(f|0)!=0;if(t)QL[i&127](A,e,r);a=fN(A)|0;while(1){if(!a)break;l=gL[n&63](a,e)|0;if(l|0)KN(a,l,i,r,n,f);a=aN(a)|0}if(!t)QL[i&127](A,e,r);return}function _N(){var A=0,e=0,i=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+1200|0;w=d+800|0;i=d;f[42035]=0;f[42036]=-2;e=w;l=200;u=i;B=0;k=0;b=w;A:while(1){n[b>>1]=B;if((e+(l<<1)+-2|0)>>>0>b>>>0)o=l;else{s=b-e>>1;A=s+1|0;if(l>>>0>9999){h=75;break}o=l<<1;o=o>>>0<1e4?o:1e4;t=RW(o*6|3)|0;if(t){VH(t|0,e|0,A<<1|0)|0;l=t+(o>>>1<<2)|0;VH(l|0,u|0,A<<2|0)|0;if((e|0)==(w|0)){A=0;e=t}else{HW(e);A=0;e=t}}else{A=4;l=u}c=(A|0)==0;t=e+(s<<1)|0;switch((c?(e+(o<<1)+-2|0)>>>0>t>>>0?0:9:A)&15){case 9:{A=1;h=76;break A}case 4:{h=75;break A}case 0:{i=c?l+(s<<2)|0:i;u=l;b=c?t:b;break}default:{A=0;break A}}}if((B|0)==6){A=0;h=76;break}A=r[82344+B>>0]|0;c=A<<24>>24;do{if(A<<24>>24!=-18){t=f[42036]|0;if((t|0)==-2){t=pV()|0;f[42036]=t}if((t|0)>=1)if(t>>>0<269)l=a[82424+t>>0]|0;else l=2;else{f[42036]=0;l=0}t=l+c|0;if(t>>>0<=59?(l|0)==(a[82693+t>>0]|0):0){B=r[82753+t>>0]|0;A=B<<24>>24;if(B<<24>>24<1){t=0-A|0;h=23;break}else{f[42036]=-2;i=i+4|0;f[i>>2]=f[42037];c=(k|0)==0?0:k+-1|0;t=b;break}}else h=22}else h=22}while(0);if((h|0)==22){h=0;B=r[82813+B>>0]|0;t=B&255;if(!(B<<24>>24)){t=f[42036]|0;e:do{switch(k|0){case 0:{f[42035]=(f[42035]|0)+1;qV(125369);t=b;break}case 3:if((t|0)<1)if(!t){A=1;h=76;break A}else{t=b;break e}else{f[42036]=-2;t=b;break e}default:t=b}}while(0);while(1){if(A<<24>>24==18)break;if((t|0)==(e|0)){A=1;h=76;break A}A=t+-2|0;i=i+-4|0;t=A;A=r[82344+(n[A>>1]|0)>>0]|0}i=i+4|0;f[i>>2]=f[42037];A=1;c=3}else h=23}do{if((h|0)==23){h=0;l=a[82893+t>>0]|0;A=f[i+(1-l<<2)>>2]|0;e:do{switch(t|0){case 2:{qN();$N();break}case 3:{if(f[42038]|0){qN();$N();JY(f[42038]|0)|0;f[41987]=0;f[42038]=0}break}case 6:{AW(f[i>>2]|0,f[i+-4>>2]|0,f[i+-8>>2]|0);break}case 7:{A=f[i>>2]|0;break}case 8:{A=0;break}case 9:{A=1;break}case 10:{A=0;break}case 11:{A=0;break}case 12:{A=1;break}case 21:if(!(f[i+-4>>2]|0)){iW();break e}else{eW();break e}case 24:{rW();break}case 25:{rW();break}case 26:{A=1;break}case 27:{A=0;break}case 30:{nW(f[i>>2]|0,0,0);break}case 31:{nW(f[i+-8>>2]|0,f[i>>2]|0,0);break}case 32:{nW(f[i+-16>>2]|0,f[i+-8>>2]|0,f[i>>2]|0);break}case 33:{fW(f[i+-8>>2]|0,f[i+-4>>2]|0);break}case 34:{fW(258,0);break}case 35:{A=258;break}case 36:{A=259;break}case 37:{A=260;break}case 38:{A=f[i+-4>>2]|0;break}case 39:{A=0;break}case 48:{aW(f[i+-8>>2]|0,f[i>>2]|0);break}case 49:{aW(f[i>>2]|0,0);break}case 51:{tW(f[i>>2]|0);break}case 52:{lW();break}case 53:{A=f[i>>2]|0;break}case 54:{A=0;break}case 55:{A=0;break}case 59:{A=f[i>>2]|0;break}case 60:{A=f[i>>2]|0;break}case 61:{A=f[i>>2]|0;break}case 62:{A=cW(f[i+-8>>2]|0,f[i>>2]|0)|0;break}default:{}}}while(0);l=0-l|0;B=i+(l<<2)|0;l=b+(l<<1)|0;i=B+4|0;f[B+4>>2]=A;A=(a[82956+t>>0]|0)+-24|0;B=n[l>>1]|0;t=B+(r[83019+A>>0]|0)|0;if(t>>>0<60?(a[82693+t>>0]|0)==(B|0):0){A=r[82753+t>>0]|0;c=k;t=l;break}A=r[83054+A>>0]|0;c=k;t=l}}while(0);l=o;B=A;k=c;b=t+2|0}if((h|0)==75){qV(125382);A=2;h=76}if((h|0)==76)if((e|0)!=(w|0))HW(e);v=d;return A|0}function qN(){var A=0,e=0;A=f[42039]|0;while(1){if(!A)break;tl(A+8|0);tl((f[42039]|0)+24|0);tl((f[42039]|0)+16|0);e=oW(f[42039]|0)|0;f[42039]=e;A=e}return}function $N(){$V();cp(f[42038]|0);return}function AW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;t=v;v=v+16|0;a=t;n=f[42038]|0;if(!n){r[168160]=e&1|(i&255)<<1&2|r[168160]&-12|8;n=f[42041]|0;r[a>>0]=r[168160]|0;r[a+1>>0]=r[168161]|0;r[a+2>>0]=r[168162]|0;r[a+3>>0]=r[168163]|0;n=VY(A,a,n)|0;f[42038]=n}f[41987]=n;f[42039]=sW(f[42039]|0,n)|0;CV(0,A)|0;v=t;return}function eW(){var A=0,e=0,i=0,n=0,a=0,t=0;al(2);i=f[42039]|0;n=r[83089]|0;t=0;A=i+24|0;while(1){e=f[A>>2]|0;if(!e)break;if(((f[e>>2]|0)==267?(a=f[e+4>>2]|0,(r[a>>0]|0)==n<<24>>24):0)?(oz(a,83089)|0)==0:0)A=f[e+8>>2]|0;else A=t;t=A;A=e+12|0}A=i+16|0;A:while(1){i=f[A>>2]|0;A=i+12|0;if(!(f[A>>2]|0))break;e=i+4|0;if((f[i>>2]|0)==262){i=f[e>>2]|0;e=Ep(i)|0;while(1){if(!e)continue A;a=Vp(f[f[42039]>>2]|0,e,0)|0;vl(a,0,f[A>>2]|0,t);e=Qp(i,e)|0}}else while(1){e=f[e>>2]|0;if(!e)continue A;vl(f[e+4>>2]|0,f[e+8>>2]|0,f[A>>2]|0,t);e=e+12|0}}tl((f[42039]|0)+8|0);tl((f[42039]|0)+16|0);tl((f[42039]|0)+24|0);f[(f[42039]|0)+4>>2]=0;return}function iW(){var A=0;al(1);A=(f[42039]|0)+8|0;while(1){A=f[A>>2]|0;if(!A)break;bl(f[A+4>>2]|0);A=A+12|0}tl((f[42039]|0)+8|0);tl((f[42039]|0)+24|0);tl((f[42039]|0)+16|0);f[(f[42039]|0)+4>>2]=0;return}function rW(){var A=0,e=0;A=f[42039]|0;e=f[A+8>>2]|0;if(!e){e=f[A+4>>2]|0;if(!e)e=0;else{e=ul(e)|0;A=f[42039]|0}f[A+4>>2]=0}else{e=sl(e)|0;A=f[42039]|0;f[A+12>>2]=0;f[A+8>>2]=0}if(e|0)bW(A+16|0,e);return}function nW(A,e,i){A=A|0;e=e|0;i=i|0;if(i)e=cl(e,i)|0;i=ol(Pp(f[f[42039]>>2]|0,A,1)|0,e)|0;bW((f[42039]|0)+8|0,i);CV(f[42038]|0,A)|0;return}function fW(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;if(e|0)BW();e=(f[42039]|0)+24|0;while(1){e=f[e>>2]|0;if(!e)break;if(!(f[e+8>>2]|0))BW();e=e+12|0}a=(A|0)==260?2:(A|0)==259&1;al(a);A=f[42039]|0;e=A+24|0;while(1){n=f[e>>2]|0;if(!n)break;do{if((f[n>>2]|0)!=267){e=f[n+4>>2]|0;i=f[A>>2]|0;if(!((r[e+21>>0]|0)!=0&(i|0)==(f[42038]|0))){e=Ky(i,a,f[e+8>>2]|0,f[n+8>>2]|0)|0;A=f[42039]|0;if((f[A>>2]|0)!=(f[42038]|0))break}r[e+22>>0]=1}}while(0);e=n+12|0}tl(A+24|0);return}function aW(A,e){A=A|0;e=e|0;e=uW(A,e)|0;bW((f[42039]|0)+24|0,e);return}function tW(A){A=A|0;var e=0;e=f[42039]|0;f[42039]=sW(e,nN(f[e>>2]|0,A,1)|0)|0;CV(f[42038]|0,A)|0;return}function lW(){var A=0,e=0;A=f[42039]|0;e=f[A>>2]|0;A=oW(A)|0;f[42039]=A;f[A+4>>2]=e;return}function cW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+1024|0;n=a;i=nz(A)|0;i=i+1+(nz(e)|0)|0;if(i>>>0<1025)i=n;else i=RW(i)|0;oJ(i,A)|0;mP(i,e)|0;r=GV(f[42038]|0,i)|0;CV(f[42038]|0,A)|0;CV(f[42038]|0,e)|0;if((i|0)!=(n|0))HW(i);v=a;return r|0}function oW(A){A=A|0;var e=0;e=f[(f[42039]|0)+32>>2]|0;Zp(f[42038]|0,A);return e|0}function sW(A,e){A=A|0;e=e|0;var i=0;i=mp(f[42038]|0,36)|0;f[i+32>>2]=A;f[i>>2]=e;return i|0}function uW(A,e){A=A|0;e=e|0;return vW(267,A,e)|0}function bW(A,e){A=A|0;e=e|0;var i=0,r=0;i=A+4|0;r=f[i>>2]|0;if(r|0)f[r+12>>2]=e;f[i>>2]=e;if(!(f[A>>2]|0))f[A>>2]=e;return}function vW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;r=mp(f[42038]|0,16)|0;f[r>>2]=A;f[r+4>>2]=e;f[r+8>>2]=i;return r|0}function BW(){var A=0;A=v;v=v+16|0;Iy(0,83093,A)|0;v=A;return}function kW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,d=0,g=0,m=0,G=0,I=0,C=0,M=0,E=0,y=0,Y=0,p=0,V=0,N=0,W=0.0;N=v;v=v+112|0;Y=N+80|0;y=N+64|0;E=N+48|0;V=4;p=RW(40)|0;f[p>>2]=0;m=N+32|0;G=N+16|0;I=N;C=N+96|0;V=YH(169984,1,p|0,V|0)|0;p=Q;w=0;r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1)r=Q;else r=0;A:while(1){if(r|0){r=-2;break}a=A+4|0;w=0;lA(94,f[a>>2]|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}f[42535]=0;f[42536]=0;w=0;lA(95,f[a>>2]<<1|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}s=(f[42538]|0)/2|0;f[42539]=s;f[42540]=s+-1;s=f[a>>2]|0;a=f[A>>2]|0;r=0;n=-1;t=Z;while(1){if((r|0)>=(s|0))break;W=+o[a+(r<<4)>>3];g=t>W;d=g?r:n;r=r+1|0;n=d;t=g?W:t}g=a+(n<<4)|0;f[G>>2]=f[g>>2];f[G+4>>2]=f[g+4>>2];f[G+8>>2]=f[g+8>>2];f[G+12>>2]=f[g+12>>2];g=a+(((n|0)==0?s:n)+-1<<4)|0;f[m>>2]=f[g>>2];f[m+4>>2]=f[g+4>>2];f[m+8>>2]=f[g+8>>2];f[m+12>>2]=f[g+12>>2];g=a+(((n|0)==(s+-1|0)?0:n+1|0)<<4)|0;f[I>>2]=f[g>>2];f[I+4>>2]=f[g+4>>2];f[I+8>>2]=f[g+8>>2];f[I+12>>2]=f[g+12>>2];W=+o[G>>3];if((+o[m>>3]==W?W==+o[I>>3]:0)?+o[I+8>>3]>+o[G+8>>3]:0)g=15;else g=12;e:do{if((g|0)==12){g=0;w=0;r=rA(17,m|0,G|0,I|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,V|0,p|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}if((r|0)==1){a=f[42542]|0;r=f[42543]|0;n=0;while(1){if((n|0)>=(s|0))break e;l=f[A>>2]|0;if(!(((n|0)>0?(M=n+-1|0,+o[l+(n<<4)>>3]==+o[l+(M<<4)>>3]):0)?+o[l+(n<<4)+8>>3]==+o[l+(M<<4)+8>>3]:0)){d=f[42535]|0;f[a+(d<<3)>>2]=l+(n<<4);f[a+(d<<3)+4>>2]=a+(((d|0)%(s|0)|0)<<3);f[r+(d<<2)>>2]=a+(d<<3);f[42535]=d+1}n=n+1|0}}else g=15}}while(0);e:do{if((g|0)==15){g=0;l=f[42542]|0;r=f[42543]|0;a=s;while(1){n=a+-1|0;if((a|0)<=0)break e;c=f[A>>2]|0;if(((a|0)<(s|0)?+o[c+(n<<4)>>3]==+o[c+(a<<4)>>3]:0)?+o[c+(n<<4)+8>>3]==+o[c+(a<<4)+8>>3]:0){a=n;continue}a=f[42535]|0;f[l+(a<<3)>>2]=c+(n<<4);f[l+(a<<3)+4>>2]=l+(((a|0)%(s|0)|0)<<3);f[r+(a<<2)>>2]=l+(a<<3);f[42535]=a+1;a=n}}}while(0);w=0;cA(27,r|0,f[42535]|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}l=0;r=f[42536]|0;e:while(1){if((l|0)>=(r|0)){k=0;break}c=l+1|0;a=c;while(1){if((a|0)>=(r|0)){l=c;continue e}w=0;cA(28,l|0,a|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue A}a=a+1|0;r=f[42536]|0}}while(1){if((k|0)>=(r|0))break;w=0;n=iA(39,k|0,e|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){l=pH(f[a>>2]|0,V|0,p|0)|0;if(!l)OA(a|0,h|0);Q=h}else l=-1;if((l|0)==1){r=Q;continue A}if(n|0)break;k=k+1|0}if((k|0)==(r|0)){r=f[13918]|0;w=0;f[E>>2]=125503;f[E+4>>2]=192;f[E+8>>2]=125514;rA(13,r|0,125484,E|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}else{g=41;break}}d=e+16|0;c=0;while(1){if((c|0)>=(r|0))break;w=0;n=iA(39,c|0,d|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){l=pH(f[a>>2]|0,V|0,p|0)|0;if(!l)OA(a|0,h|0);Q=h}else l=-1;if((l|0)==1){r=Q;continue A}if(n|0)break;c=c+1|0}if((c|0)==(r|0)){r=f[13918]|0;w=0;f[y>>2]=125503;f[y+4>>2]=200;f[y+8>>2]=125547;rA(13,r|0,125484,y|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}else{g=48;break}}w=0;r=iA(40,k|0,c|0)|0;n=w;w=0;if((n|0)!=0&(h|0)!=0){a=pH(f[n>>2]|0,V|0,p|0)|0;if(!a)OA(n|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue}if(!r){r=f[13918]|0;w=0;f[Y>>2]=125503;f[Y+4>>2]=207;f[Y+8>>2]=125585;rA(13,r|0,125484,Y|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}w=0;lA(96,2);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}else{g=53;break}}if((k|0)==(c|0)){w=0;lA(96,2);r=w;w=0;if((r|0)!=0&(h|0)!=0){n=pH(f[r>>2]|0,V|0,p|0)|0;if(!n)OA(r|0,h|0);Q=h}else n=-1;if((n|0)==1){r=Q;continue}else{g=56;break}}f[C>>2]=e;f[C+4>>2]=0;n=C+8|0;f[n>>2]=d;f[C+12>>2]=0;w=0;cA(29,1,C|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue}f[42541]=f[42539];b=k;e:while(1){if((b|0)==-1){a=n;r=0;break}B=f[42545]|0;f[B+(b*52|0)>>2]=2;r=0;while(1){if((r|0)>=3){g=65;break}g=f[B+(b*52|0)+4+(r<<4)+12>>2]|0;if(g|0?(f[g>>2]|0)==1:0){g=68;break}r=r+1|0}if((g|0)==65){g=0;if((r|0)==3){r=f[42537]|0;c=f[r+(f[42540]<<2)>>2]|0;w=0;r=rA(17,d|0,f[f[r+(f[42539]<<2)>>2]>>2]|0,f[c>>2]|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){l=pH(f[a>>2]|0,V|0,p|0)|0;if(!l)OA(a|0,h|0);Q=h}else l=-1;if((l|0)==1){r=Q;continue A}l=(r|0)==1;u=l?n:c;l=l?c:n}else g=68}if((g|0)==68){g=0;c=f[B+(b*52|0)+4+(r<<4)>>2]|0;s=f[B+(b*52|0)+4+(r<<4)+4>>2]|0;w=0;r=rA(17,f[c>>2]|0,f[f[B+(b*52|0)+4+(((r+1|0)%3|0)<<4)+4>>2]>>2]|0,f[s>>2]|0)|0;a=w;w=0;if((a|0)!=0&(h|0)!=0){l=pH(f[a>>2]|0,V|0,p|0)|0;if(!l)OA(a|0,h|0);Q=h}else l=-1;if((l|0)==1){r=Q;continue A}l=(r|0)==1;u=l?c:s;l=l?s:c}do{if((b|0)==(k|0)){w=0;cA(29,2,l|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}w=0;cA(29,1,u|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}r=0}else{s=f[42537]|0;if((f[s+(f[42539]<<2)>>2]|0)!=(u|0)?(f[s+(f[42540]<<2)>>2]|0)!=(u|0):0){w=0;l=eA(29,u|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}w=0;cA(30,2,l|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}w=0;cA(29,1,u|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}if((l|0)<=(f[42541]|0)){r=0;break}f[42541]=l;r=0;break}w=0;c=eA(29,l|0)|0;r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}w=0;cA(30,1,c|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}w=0;cA(29,2,l|0);r=w;w=0;if((r|0)!=0&(h|0)!=0){a=pH(f[r>>2]|0,V|0,p|0)|0;if(!a)OA(r|0,h|0);Q=h}else a=-1;if((a|0)==1){r=Q;continue A}if((c|0)>=(f[42541]|0)){r=0;break}f[42541]=c;r=0}}while(0);while(1){if((r|0)>=3){b=-1;continue e}a=f[B+(b*52|0)+4+(r<<4)+12>>2]|0;if(a|0?(f[a>>2]|0)==1:0)break;r=r+1|0}b=(a-(f[42545]|0)|0)/52|0}while(1){if(!a)break;a=f[a+4>>2]|0;r=r+1|0}w=0;lA(96,r|0);a=w;w=0;if((a|0)!=0&(h|0)!=0){l=pH(f[a>>2]|0,V|0,p|0)|0;if(!l)OA(a|0,h|0);Q=h}else l=-1;if((l|0)==1)r=Q;else{g=94;break}}if((g|0)==41)r=-1;else if((g|0)==48)r=-1;else if((g|0)==53){f[i+4>>2]=2;r=f[42544]|0;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];p=r+16|0;f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2];f[p+12>>2]=f[d+12>>2];f[i>>2]=r;r=0}else if((g|0)==56){f[i+4>>2]=2;r=f[42544]|0;f[r>>2]=f[e>>2];f[r+4>>2]=f[e+4>>2];f[r+8>>2]=f[e+8>>2];f[r+12>>2]=f[e+12>>2];p=r+16|0;f[p>>2]=f[d>>2];f[p+4>>2]=f[d+4>>2];f[p+8>>2]=f[d+8>>2];f[p+12>>2]=f[d+12>>2];f[i>>2]=r;r=0}else if((g|0)==94){f[i+4>>2]=r;a=f[42544]|0;while(1){r=r+-1|0;if(!n)break;p=a+(r<<4)|0;Y=f[n>>2]|0;f[p>>2]=f[Y>>2];f[p+4>>2]=f[Y+4>>2];f[p+8>>2]=f[Y+8>>2];f[p+12>>2]=f[Y+12>>2];n=f[n+4>>2]|0}f[i>>2]=a;r=0}HW(V|0);v=N;return r|0}function wW(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=v;v=v+64|0;r=t+48|0;a=t+32|0;n=t+16|0;i=t;if((f[42548]|0)<(A|0)){e=f[42542]|0;if(!e){a=RW(A<<3)|0;f[42542]=a;if(!a){a=f[13918]|0;f[i>>2]=125503;f[i+4>>2]=523;f[i+8>>2]=125753;uP(a,125484,i)|0;OA(169984,1)}a=RW(A<<2)|0;f[42543]=a;if(!a){a=f[13918]|0;f[n>>2]=125503;f[n+4>>2]=527;f[n+8>>2]=125772;uP(a,125484,n)|0;OA(169984,1)}}else{n=FW(e,A<<3)|0;f[42542]=n;if(!n){n=f[13918]|0;f[a>>2]=125503;f[a+4>>2]=533;f[a+8>>2]=125792;uP(n,125484,a)|0;OA(169984,1)}a=FW(f[42543]|0,A<<2)|0;f[42543]=a;if(!a){a=f[13918]|0;f[r>>2]=125503;f[r+4>>2]=539;f[r+8>>2]=125812;uP(a,125484,r)|0;OA(169984,1)}}f[42548]=A}v=t;return}function hW(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+32|0;r=n+16|0;i=n;if((f[42538]|0)<(A|0)){e=f[42537]|0;if(!e){r=RW(A<<2)|0;f[42537]=r;if(!r){r=f[13918]|0;f[i>>2]=125503;f[i+4>>2]=573;f[i+8>>2]=125708;uP(r,125484,i)|0;OA(169984,1)}}else{i=FW(e,A<<2)|0;f[42537]=i;if(!i){i=f[13918]|0;f[r>>2]=125503;f[r+4>>2]=580;f[r+8>>2]=125730;uP(i,125484,r)|0;OA(169984,1)}}f[42538]=A}v=n;return}function dW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0;r=+o[e+8>>3];n=+o[e>>3];r=(+o[i>>3]-n)*(+o[A+8>>3]-r)-(+o[A>>3]-n)*(+o[i+8>>3]-r);return(r>0.0?1:r<0.0?2:3)|0}function gW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=v;v=v+16|0;t=l;A:while(1){if((e|0)>3)r=0;else{e=9;break}while(1){if((r|0)>=(e|0)){e=8;break A}n=r+1|0;i=(n|0)%(e|0)|0;a=(r+2|0)%(e|0)|0;if(!(QW(r,a,A,e)|0))r=n;else break}yW(f[A+(r<<2)>>2]|0,f[A+(i<<2)>>2]|0,f[A+(a<<2)>>2]|0);e=e+-1|0;while(1){if((i|0)>=(e|0))continue A;a=i+1|0;f[A+(i<<2)>>2]=f[A+(a<<2)>>2];i=a}}if((e|0)==8){A=f[13918]|0;f[t>>2]=125503;f[t+4>>2]=324;f[t+8>>2]=125648;uP(A,125484,t)|0}else if((e|0)==9)yW(f[A>>2]|0,f[A+4>>2]|0,f[A+8>>2]|0);v=l;return}function mW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;l=f[42545]|0;c=l+(A*52|0)|0;o=l+(e*52|0)|0;a=0;while(1){if((a|0)==3)break;s=l+(A*52|0)+4+(a<<4)|0;u=l+(A*52|0)+4+(a<<4)+4|0;b=l+(A*52|0)+4+(a<<4)+12|0;n=0;while(1){if((n|0)==3)break;v=f[f[s>>2]>>2]|0;t=f[f[l+(e*52|0)+4+(n<<4)>>2]>>2]|0;if((v|0)==(t|0)){i=f[f[l+(e*52|0)+4+(n<<4)+4>>2]>>2]|0;if((f[f[u>>2]>>2]|0)==(i|0))r=10;else r=8}else{i=f[f[l+(e*52|0)+4+(n<<4)+4>>2]>>2]|0;r=8}if(((r|0)==8?(r=0,(v|0)==(i|0)):0)?(f[f[u>>2]>>2]|0)==(t|0):0)r=10;if((r|0)==10){f[b>>2]=o;f[l+(e*52|0)+4+(n<<4)+12>>2]=c}n=n+1|0}a=a+1|0}return}function ZW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=f[42545]|0;i=0;r=0;while(1){if((r|0)==3)break;i=i+((dW(f[f[n+(A*52|0)+4+(r<<4)>>2]>>2]|0,f[f[n+(A*52|0)+4+(r<<4)+4>>2]>>2]|0,e)|0)!=2&1)|0;r=r+1|0}return((i|0)==3|(i|0)==0)&1|0}function GW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=f[42545]|0;r=i+(A*52|0)|0;A:do{if(!(f[r>>2]|0)){f[r>>2]=1;if((A|0)==(e|0))i=1;else{n=0;while(1){if((n|0)>=3)break;r=f[i+(A*52|0)+4+(n<<4)+12>>2]|0;if(r){if(GW((r-i|0)/52|0,e)|0){i=1;break A}i=f[42545]|0}n=n+1|0}f[i+(A*52|0)>>2]=0;i=0}}else i=0}while(0);return i|0}function IW(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+32|0;r=n+16|0;i=n;if((f[42546]|0)<(A|0)){e=f[42544]|0;if(!e){r=RW(A<<4)|0;f[42544]=r;if(!r){r=f[13918]|0;f[i>>2]=125503;f[i+4>>2]=593;f[i+8>>2]=125611;uP(r,125484,i)|0;OA(169984,1)}}else{i=FW(e,A<<4)|0;f[42544]=i;if(!i){i=f[13918]|0;f[r>>2]=125503;f[r+4>>2]=599;f[r+8>>2]=125629;uP(i,125484,r)|0;OA(169984,1)}}f[42546]=A}v=n;return}function CW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=f[42540]|0;r=f[42539]|0;n=(i|0)>=(r|0);if((A|0)==1)if(n){f[e+4>>2]=f[(f[42537]|0)+(r<<2)>>2];A=170156;i=-1}else{A=170156;i=-1}else if(n){f[e+4>>2]=f[(f[42537]|0)+(i<<2)>>2];A=170160;i=1}else{A=170160;i=1}n=(f[A>>2]|0)+i|0;f[A>>2]=n;f[(f[42537]|0)+(n<<2)>>2]=e;return}function MW(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;n=f[42541]|0;a=f[42537]|0;e=f[42539]|0;while(1){if((e|0)>=(n|0)){r=4;break}i=e+1|0;if((dW(f[f[a+(i<<2)>>2]>>2]|0,f[f[a+(e<<2)>>2]>>2]|0,f[A>>2]|0)|0)==1)break;else e=i}A:do{if((r|0)==4){e=f[42540]|0;while(1){if((e|0)<=(n|0)){e=n;break A}i=e+-1|0;if((dW(f[f[a+(i<<2)>>2]>>2]|0,f[f[a+(e<<2)>>2]>>2]|0,f[A>>2]|0)|0)==2)break;else e=i}}}while(0);return e|0}function EW(A,e){A=A|0;e=e|0;f[((A|0)==1?170160:170156)>>2]=e;return}function QW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0;n=f[f[i+(((A+-1+r|0)%(r|0)|0)<<2)>>2]>>2]|0;l=f[f[i+(A<<2)>>2]>>2]|0;a=f[f[i+(((A+1|0)%(r|0)|0)<<2)>>2]>>2]|0;o=(dW(n,l,a)|0)==1;c=f[f[i+(e<<2)>>2]>>2]|0;if(o)if((dW(l,c,n)|0)==1){n=dW(c,l,a)|0;a=1;t=5}else n=0;else{n=dW(l,c,a)|0;a=2;t=5}A:do{if((t|0)==5)if((n|0)==(a|0)){n=0;while(1){if((n|0)>=(r|0)){n=1;break A}a=n;n=n+1|0;t=(n|0)%(r|0)|0;if((t|0)==(e|0)|((a|0)==(e|0)|((a|0)==(A|0)|(t|0)==(A|0))))continue;if(pW(l,c,f[f[i+(a<<2)>>2]>>2]|0,f[f[i+(t<<2)>>2]>>2]|0)|0){n=0;break}}}else n=0}while(0);return n|0}function yW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;r=f[42536]|0;n=f[42547]|0;if((r|0)<(n|0))t=r;else{YW(n+20|0);t=f[42536]|0}a=f[42545]|0;f[42536]=t+1;n=a+(t*52|0)|0;f[n>>2]=0;f[a+(t*52|0)+4>>2]=A;f[a+(t*52|0)+8>>2]=e;f[a+(t*52|0)+16>>2]=0;f[a+(t*52|0)+20>>2]=e;f[a+(t*52|0)+24>>2]=i;f[a+(t*52|0)+32>>2]=0;f[a+(t*52|0)+36>>2]=i;f[a+(t*52|0)+40>>2]=A;f[a+(t*52|0)+48>>2]=0;r=0;while(1){if((r|0)==3)break;f[a+(t*52|0)+4+(r<<4)+8>>2]=n;r=r+1|0}return}function YW(A){A=A|0;var e=0,i=0,r=0,n=0;n=v;v=v+32|0;r=n+16|0;i=n;if((f[42547]|0)<(A|0)){e=f[42545]|0;if(!e){r=RW(A*52|0)|0;f[42545]=r;if(!r){r=f[13918]|0;f[i>>2]=125503;f[i+4>>2]=552;f[i+8>>2]=125669;uP(r,125484,i)|0;OA(169984,1)}}else{i=FW(e,A*52|0)|0;f[42545]=i;if(!i){i=f[13918]|0;f[r>>2]=125503;f[r+4>>2]=558;f[r+8>>2]=125688;uP(i,125484,r)|0;OA(169984,1)}}f[42547]=A}v=n;return}function pW(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,f=0,a=0,t=0;f=dW(A,e,i)|0;if((((f|0)!=3?(a=dW(A,e,r)|0,(a|0)!=3):0)?(t=dW(i,r,A)|0,(t|0)!=3):0)?(n=dW(i,r,e)|0,(n|0)!=3):0)return((f|0)==1^(a|0)==1)&((t|0)==1^(n|0)==1)&1|0;if(((VW(A,e,i)|0)==0?(VW(A,e,r)|0)==0:0)?(VW(i,r,A)|0)==0:0)return(VW(i,r,e)|0)!=0|0;return 1}function VW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0.0,f=0.0,a=0.0;n=+o[A>>3];a=+o[e>>3]-n;f=+o[A+8>>3];r=+o[e+8>>3]-f;n=+o[i>>3]-n;f=+o[i+8>>3]-f;if((dW(A,e,i)|0)==3?f*r+n*a>=0.0:0)A=f*f+n*n<=r*r+a*a&1;else A=0;return A|0}function NW(A,e){A=A|0;e=e|0;var i=0,r=0.0,n=0.0,f=0.0,a=0.0,t=0.0,l=0;r=+o[A+24>>3];A:do{if(r<1.0e-07&r>-1.0e-07)A=WW(A,e)|0;else{a=+o[A+16>>3]/(r*3.0);f=+o[A+8>>3]/r;n=a*a;r=a*2.0*n-a*f+ +o[A>>3]/r;n=f*.3333333333333333-n;n=n*n*4.0*n;f=r*r+n;if(!(f<0.0)){t=(+p(+f)-r)*.5;n=+Zz(t);r=+Zz(-r-t)+n;o[e>>3]=r;if(f>0.0)A=1;else{r=r*-.5;o[e+16>>3]=r;A=1;i=7}}else{t=+H(+ +p(+-f),+-r);r=+Zz(+p(+-n)*.5)*2.0;o[e>>3]=r*+N(+(t*.3333333333333333));o[e+8>>3]=+N(+((t+6.283185307179586)*.3333333333333333))*r;r=+N(+((t+-6.283185307179586)*.3333333333333333))*r;A=2;i=7}if((i|0)==7){o[e+(A<<3)>>3]=r;A=3}i=0;while(1){if((i|0)>=(A|0))break A;l=e+(i<<3)|0;o[l>>3]=+o[l>>3]-a;i=i+1|0}}}while(0);return A|0}function WW(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;i=+o[A+16>>3];do{if(!(i<1.0e-07&i>-1.0e-07)){r=+o[A+8>>3]/(i*2.0);i=r*r-+o[A>>3]/i;if(!(i<0.0))if(i==0.0){o[e>>3]=-r;A=1;break}else{i=+p(+i)-r;o[e>>3]=i;o[e+8>>3]=r*-2.0-i;A=2;break}else A=0}else A=zW(A,e)|0}while(0);return A|0}function zW(A,e){A=A|0;e=e|0;var i=0.0,r=0.0;r=+o[A+8>>3];i=+o[A>>3];if(r<1.0e-07&r>-1.0e-07)A=i<1.0e-07&i>-1.0e-07?4:0;else{o[e>>3]=-i/r;A=1}return A|0}function JW(A){A=A|0;HW(f[A>>2]|0);HW(A);return}function PW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;r=f[A+4>>2]|0;l=(r*3|0)+-2|0;i=f[42550]|0;if((l|0)>(f[42549]|0)){if(!i)i=RW(l<<4)|0;else i=FW(i,l<<4)|0;f[42550]=i;f[42549]=l;t=i;a=i}else{t=i;a=i}n=f[A>>2]|0;f[t>>2]=f[n>>2];f[t+4>>2]=f[n+4>>2];f[t+8>>2]=f[n+8>>2];f[t+12>>2]=f[n+12>>2];NH(t+16|0,n|0,16)|0;r=r+-1|0;i=1;A=2;while(1){if((i|0)>=(r|0))break;c=t+(A+2<<4)|0;o=t+(A+1<<4)|0;u=t+(A<<4)|0;s=n+(i<<4)|0;f[u>>2]=f[s>>2];f[u+4>>2]=f[s+4>>2];f[u+8>>2]=f[s+8>>2];f[u+12>>2]=f[s+12>>2];NH(o|0,s|0,16)|0;f[c>>2]=f[o>>2];f[c+4>>2]=f[o+4>>2];f[c+8>>2]=f[o+8>>2];f[c+12>>2]=f[o+12>>2];i=i+1|0;A=A+3|0}s=t+(A<<4)|0;u=n+(i<<4)|0;f[s>>2]=f[u>>2];f[s+4>>2]=f[u+4>>2];f[s+8>>2]=f[u+8>>2];f[s+12>>2]=f[u+12>>2];NH(t+(A+1<<4)|0,u|0,16)|0;f[e+4>>2]=l;f[e>>2]=a;return}function RW(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0;G=v;v=v+16|0;B=G;do{if(A>>>0<245){s=A>>>0<11?16:A+11&-8;A=s>>>3;b=f[42551]|0;i=b>>>A;if(i&3|0){e=(i&1^1)+A|0;A=170244+(e<<1<<2)|0;i=A+8|0;r=f[i>>2]|0;n=r+8|0;a=f[n>>2]|0;if((a|0)==(A|0))f[42551]=b&~(1<>2]=A;f[i>>2]=a}Z=e<<3;f[r+4>>2]=Z|3;Z=r+Z+4|0;f[Z>>2]=f[Z>>2]|1;Z=n;v=G;return Z|0}u=f[42553]|0;if(s>>>0>u>>>0){if(i|0){e=2<>>12&16;e=e>>>l;i=e>>>5&8;e=e>>>i;a=e>>>2&4;e=e>>>a;A=e>>>1&2;e=e>>>A;r=e>>>1&1;r=(i|l|a|A|r)+(e>>>r)|0;e=170244+(r<<1<<2)|0;A=e+8|0;a=f[A>>2]|0;l=a+8|0;i=f[l>>2]|0;if((i|0)==(e|0)){A=b&~(1<>2]=e;f[A>>2]=i;A=b}Z=r<<3;t=Z-s|0;f[a+4>>2]=s|3;n=a+s|0;f[n+4>>2]=t|1;f[a+Z>>2]=t;if(u|0){r=f[42556]|0;e=u>>>3;i=170244+(e<<1<<2)|0;e=1<>2]|0}f[A>>2]=r;f[e+12>>2]=r;f[r+8>>2]=e;f[r+12>>2]=i}f[42553]=t;f[42556]=n;Z=l;v=G;return Z|0}c=f[42552]|0;if(c){i=(c&0-c)+-1|0;l=i>>>12&16;i=i>>>l;t=i>>>5&8;i=i>>>t;o=i>>>2&4;i=i>>>o;r=i>>>1&2;i=i>>>r;A=i>>>1&1;A=f[170508+((t|l|o|r|A)+(i>>>A)<<2)>>2]|0;i=(f[A+4>>2]&-8)-s|0;r=f[A+16+(((f[A+16>>2]|0)==0&1)<<2)>>2]|0;if(!r){o=A;t=i}else{do{l=(f[r+4>>2]&-8)-s|0;o=l>>>0>>0;i=o?l:i;A=o?r:A;r=f[r+16+(((f[r+16>>2]|0)==0&1)<<2)>>2]|0}while((r|0)!=0);o=A;t=i}l=o+s|0;if(l>>>0>o>>>0){n=f[o+24>>2]|0;e=f[o+12>>2]|0;do{if((e|0)==(o|0)){A=o+20|0;e=f[A>>2]|0;if(!e){A=o+16|0;e=f[A>>2]|0;if(!e){i=0;break}}while(1){i=e+20|0;r=f[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=f[i>>2]|0;if(!r)break;else{e=r;A=i}}f[A>>2]=0;i=e}else{i=f[o+8>>2]|0;f[i+12>>2]=e;f[e+8>>2]=i;i=e}}while(0);do{if(n|0){e=f[o+28>>2]|0;A=170508+(e<<2)|0;if((o|0)==(f[A>>2]|0)){f[A>>2]=i;if(!i){f[42552]=c&~(1<>2]|0)!=(o|0)&1)<<2)>>2]=i;if(!i)break}f[i+24>>2]=n;e=f[o+16>>2]|0;if(e|0){f[i+16>>2]=e;f[e+24>>2]=i}e=f[o+20>>2]|0;if(e|0){f[i+20>>2]=e;f[e+24>>2]=i}}}while(0);if(t>>>0<16){Z=t+s|0;f[o+4>>2]=Z|3;Z=o+Z+4|0;f[Z>>2]=f[Z>>2]|1}else{f[o+4>>2]=s|3;f[l+4>>2]=t|1;f[l+t>>2]=t;if(u|0){r=f[42556]|0;e=u>>>3;i=170244+(e<<1<<2)|0;e=1<>2]|0}f[A>>2]=r;f[e+12>>2]=r;f[r+8>>2]=e;f[r+12>>2]=i}f[42553]=t;f[42556]=l}Z=o+8|0;v=G;return Z|0}else u=s}else u=s}else u=s}else if(A>>>0<=4294967231){A=A+11|0;s=A&-8;o=f[42552]|0;if(o){r=0-s|0;A=A>>>8;if(A)if(s>>>0>16777215)c=31;else{b=(A+1048320|0)>>>16&8;m=A<>>16&4;m=m<>>16&2;c=14-(u|b|c)+(m<>>15)|0;c=s>>>(c+7|0)&1|c<<1}else c=0;i=f[170508+(c<<2)>>2]|0;A:do{if(!i){i=0;A=0;m=57}else{A=0;l=i;t=s<<((c|0)==31?0:25-(c>>>1)|0);i=0;while(1){n=(f[l+4>>2]&-8)-s|0;if(n>>>0>>0)if(!n){r=0;i=l;A=l;m=61;break A}else{A=l;r=n}n=f[l+20>>2]|0;l=f[l+16+(t>>>31<<2)>>2]|0;i=(n|0)==0|(n|0)==(l|0)?i:n;n=(l|0)==0;if(n){m=57;break}else t=t<<((n^1)&1)}}}while(0);if((m|0)==57){if((i|0)==0&(A|0)==0){A=2<>>12&16;b=b>>>l;t=b>>>5&8;b=b>>>t;c=b>>>2&4;b=b>>>c;u=b>>>1&2;b=b>>>u;i=b>>>1&1;A=0;i=f[170508+((t|l|c|u|i)+(b>>>i)<<2)>>2]|0}if(!i){l=A;t=r}else m=61}if((m|0)==61)while(1){m=0;u=(f[i+4>>2]&-8)-s|0;b=u>>>0>>0;r=b?u:r;A=b?i:A;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){l=A;t=r;break}else m=61}if((l|0)!=0?t>>>0<((f[42553]|0)-s|0)>>>0:0){a=l+s|0;if(a>>>0<=l>>>0){Z=0;v=G;return Z|0}n=f[l+24>>2]|0;e=f[l+12>>2]|0;do{if((e|0)==(l|0)){A=l+20|0;e=f[A>>2]|0;if(!e){A=l+16|0;e=f[A>>2]|0;if(!e){e=0;break}}while(1){i=e+20|0;r=f[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=f[i>>2]|0;if(!r)break;else{e=r;A=i}}f[A>>2]=0}else{Z=f[l+8>>2]|0;f[Z+12>>2]=e;f[e+8>>2]=Z}}while(0);do{if(n){A=f[l+28>>2]|0;i=170508+(A<<2)|0;if((l|0)==(f[i>>2]|0)){f[i>>2]=e;if(!e){r=o&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=e;if(!e){r=o;break}}f[e+24>>2]=n;A=f[l+16>>2]|0;if(A|0){f[e+16>>2]=A;f[A+24>>2]=e}A=f[l+20>>2]|0;if(A){f[e+20>>2]=A;f[A+24>>2]=e;r=o}else r=o}else r=o}while(0);do{if(t>>>0>=16){f[l+4>>2]=s|3;f[a+4>>2]=t|1;f[a+t>>2]=t;e=t>>>3;if(t>>>0<256){i=170244+(e<<1<<2)|0;A=f[42551]|0;e=1<>2]|0}f[A>>2]=a;f[e+12>>2]=a;f[a+8>>2]=e;f[a+12>>2]=i;break}e=t>>>8;if(e)if(t>>>0>16777215)e=31;else{m=(e+1048320|0)>>>16&8;Z=e<>>16&4;Z=Z<>>16&2;e=14-(g|m|e)+(Z<>>15)|0;e=t>>>(e+7|0)&1|e<<1}else e=0;i=170508+(e<<2)|0;f[a+28>>2]=e;A=a+16|0;f[A+4>>2]=0;f[A>>2]=0;A=1<>2]=a;f[a+24>>2]=i;f[a+12>>2]=a;f[a+8>>2]=a;break}A=t<<((e|0)==31?0:25-(e>>>1)|0);i=f[i>>2]|0;while(1){if((f[i+4>>2]&-8|0)==(t|0)){m=97;break}r=i+16+(A>>>31<<2)|0;e=f[r>>2]|0;if(!e){m=96;break}else{A=A<<1;i=e}}if((m|0)==96){f[r>>2]=a;f[a+24>>2]=i;f[a+12>>2]=a;f[a+8>>2]=a;break}else if((m|0)==97){m=i+8|0;Z=f[m>>2]|0;f[Z+12>>2]=a;f[m>>2]=a;f[a+8>>2]=Z;f[a+12>>2]=i;f[a+24>>2]=0;break}}else{Z=t+s|0;f[l+4>>2]=Z|3;Z=l+Z+4|0;f[Z>>2]=f[Z>>2]|1}}while(0);Z=l+8|0;v=G;return Z|0}else u=s}else u=s}else u=-1}while(0);i=f[42553]|0;if(i>>>0>=u>>>0){e=i-u|0;A=f[42556]|0;if(e>>>0>15){Z=A+u|0;f[42556]=Z;f[42553]=e;f[Z+4>>2]=e|1;f[A+i>>2]=e;f[A+4>>2]=u|3}else{f[42553]=0;f[42556]=0;f[A+4>>2]=i|3;Z=A+i+4|0;f[Z>>2]=f[Z>>2]|1}Z=A+8|0;v=G;return Z|0}l=f[42554]|0;if(l>>>0>u>>>0){g=l-u|0;f[42554]=g;Z=f[42557]|0;m=Z+u|0;f[42557]=m;f[m+4>>2]=g|1;f[Z+4>>2]=u|3;Z=Z+8|0;v=G;return Z|0}if(!(f[42669]|0)){f[42671]=4096;f[42670]=4096;f[42672]=-1;f[42673]=-1;f[42674]=0;f[42662]=0;f[42669]=B&-16^1431655768;A=4096}else A=f[42671]|0;c=u+48|0;o=u+47|0;t=A+o|0;n=0-A|0;s=t&n;if(s>>>0<=u>>>0){Z=0;v=G;return Z|0}A=f[42661]|0;if(A|0?(b=f[42659]|0,B=b+s|0,B>>>0<=b>>>0|B>>>0>A>>>0):0){Z=0;v=G;return Z|0}A:do{if(!(f[42662]&4)){i=f[42557]|0;e:do{if(i){r=170652;while(1){A=f[r>>2]|0;if(A>>>0<=i>>>0?(h=r+4|0,(A+(f[h>>2]|0)|0)>>>0>i>>>0):0)break;A=f[r+8>>2]|0;if(!A){m=118;break e}else r=A}e=t-l&n;if(e>>>0<2147483647){A=zH(e|0)|0;if((A|0)==((f[r>>2]|0)+(f[h>>2]|0)|0)){if((A|0)!=(-1|0)){t=e;a=A;m=135;break A}}else{r=A;m=126}}else e=0}else m=118}while(0);do{if((m|0)==118){i=zH(0)|0;if((i|0)!=(-1|0)?(e=i,k=f[42670]|0,w=k+-1|0,e=((w&e|0)==0?0:(w+e&0-k)-e|0)+s|0,k=f[42659]|0,w=e+k|0,e>>>0>u>>>0&e>>>0<2147483647):0){h=f[42661]|0;if(h|0?w>>>0<=k>>>0|w>>>0>h>>>0:0){e=0;break}A=zH(e|0)|0;if((A|0)==(i|0)){t=e;a=i;m=135;break A}else{r=A;m=126}}else e=0}}while(0);do{if((m|0)==126){i=0-e|0;if(!(c>>>0>e>>>0&(e>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){e=0;break}else{t=e;a=r;m=135;break A}A=f[42671]|0;A=o-e+A&0-A;if(A>>>0>=2147483647){t=e;a=r;m=135;break A}if((zH(A|0)|0)==(-1|0)){zH(i|0)|0;e=0;break}else{t=A+e|0;a=r;m=135;break A}}}while(0);f[42662]=f[42662]|4;m=133}else{e=0;m=133}}while(0);if(((m|0)==133?s>>>0<2147483647:0)?(a=zH(s|0)|0,h=zH(0)|0,d=h-a|0,g=d>>>0>(u+40|0)>>>0,!((a|0)==(-1|0)|g^1|a>>>0>>0&((a|0)!=(-1|0)&(h|0)!=(-1|0))^1)):0){t=g?d:e;m=135}if((m|0)==135){e=(f[42659]|0)+t|0;f[42659]=e;if(e>>>0>(f[42660]|0)>>>0)f[42660]=e;c=f[42557]|0;do{if(c){e=170652;while(1){A=f[e>>2]|0;i=e+4|0;r=f[i>>2]|0;if((a|0)==(A+r|0)){m=143;break}n=f[e+8>>2]|0;if(!n)break;else e=n}if(((m|0)==143?(f[e+12>>2]&8|0)==0:0)?a>>>0>c>>>0&A>>>0<=c>>>0:0){f[i>>2]=r+t;Z=(f[42554]|0)+t|0;g=c+8|0;g=(g&7|0)==0?0:0-g&7;m=c+g|0;g=Z-g|0;f[42557]=m;f[42554]=g;f[m+4>>2]=g|1;f[c+Z+4>>2]=40;f[42558]=f[42673];break}if(a>>>0<(f[42555]|0)>>>0)f[42555]=a;A=a+t|0;e=170652;while(1){if((f[e>>2]|0)==(A|0)){m=151;break}e=f[e+8>>2]|0;if(!e){A=170652;break}}if((m|0)==151)if(!(f[e+12>>2]&8)){f[e>>2]=a;s=e+4|0;f[s>>2]=(f[s>>2]|0)+t;s=a+8|0;s=a+((s&7|0)==0?0:0-s&7)|0;e=A+8|0;e=A+((e&7|0)==0?0:0-e&7)|0;o=s+u|0;l=e-s-u|0;f[s+4>>2]=u|3;do{if((c|0)!=(e|0)){if((f[42556]|0)==(e|0)){Z=(f[42553]|0)+l|0;f[42553]=Z;f[42556]=o;f[o+4>>2]=Z|1;f[o+Z>>2]=Z;break}A=f[e+4>>2]|0;if((A&3|0)==1){t=A&-8;r=A>>>3;A:do{if(A>>>0<256){A=f[e+8>>2]|0;i=f[e+12>>2]|0;if((i|0)==(A|0)){f[42551]=f[42551]&~(1<>2]=i;f[i+8>>2]=A;break}}else{a=f[e+24>>2]|0;A=f[e+12>>2]|0;do{if((A|0)==(e|0)){r=e+16|0;i=r+4|0;A=f[i>>2]|0;if(!A){A=f[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;n=f[r>>2]|0;if(n|0){A=n;i=r;continue}r=A+16|0;n=f[r>>2]|0;if(!n)break;else{A=n;i=r}}f[i>>2]=0}else{Z=f[e+8>>2]|0;f[Z+12>>2]=A;f[A+8>>2]=Z}}while(0);if(!a)break;i=f[e+28>>2]|0;r=170508+(i<<2)|0;do{if((f[r>>2]|0)!=(e|0)){f[a+16+(((f[a+16>>2]|0)!=(e|0)&1)<<2)>>2]=A;if(!A)break A}else{f[r>>2]=A;if(A|0)break;f[42552]=f[42552]&~(1<>2]=a;i=e+16|0;r=f[i>>2]|0;if(r|0){f[A+16>>2]=r;f[r+24>>2]=A}i=f[i+4>>2]|0;if(!i)break;f[A+20>>2]=i;f[i+24>>2]=A}}while(0);e=e+t|0;n=t+l|0}else n=l;e=e+4|0;f[e>>2]=f[e>>2]&-2;f[o+4>>2]=n|1;f[o+n>>2]=n;e=n>>>3;if(n>>>0<256){i=170244+(e<<1<<2)|0;A=f[42551]|0;e=1<>2]|0}f[A>>2]=o;f[e+12>>2]=o;f[o+8>>2]=e;f[o+12>>2]=i;break}e=n>>>8;do{if(!e)e=0;else{if(n>>>0>16777215){e=31;break}m=(e+1048320|0)>>>16&8;Z=e<>>16&4;Z=Z<>>16&2;e=14-(g|m|e)+(Z<>>15)|0;e=n>>>(e+7|0)&1|e<<1}}while(0);r=170508+(e<<2)|0;f[o+28>>2]=e;A=o+16|0;f[A+4>>2]=0;f[A>>2]=0;A=f[42552]|0;i=1<>2]=o;f[o+24>>2]=r;f[o+12>>2]=o;f[o+8>>2]=o;break}A=n<<((e|0)==31?0:25-(e>>>1)|0);i=f[r>>2]|0;while(1){if((f[i+4>>2]&-8|0)==(n|0)){m=192;break}r=i+16+(A>>>31<<2)|0;e=f[r>>2]|0;if(!e){m=191;break}else{A=A<<1;i=e}}if((m|0)==191){f[r>>2]=o;f[o+24>>2]=i;f[o+12>>2]=o;f[o+8>>2]=o;break}else if((m|0)==192){m=i+8|0;Z=f[m>>2]|0;f[Z+12>>2]=o;f[m>>2]=o;f[o+8>>2]=Z;f[o+12>>2]=i;f[o+24>>2]=0;break}}else{Z=(f[42554]|0)+l|0;f[42554]=Z;f[42557]=o;f[o+4>>2]=Z|1}}while(0);Z=s+8|0;v=G;return Z|0}else A=170652;while(1){e=f[A>>2]|0;if(e>>>0<=c>>>0?(Z=e+(f[A+4>>2]|0)|0,Z>>>0>c>>>0):0)break;A=f[A+8>>2]|0}n=Z+-47|0;A=n+8|0;A=n+((A&7|0)==0?0:0-A&7)|0;n=c+16|0;A=A>>>0>>0?c:A;e=A+8|0;i=t+-40|0;g=a+8|0;g=(g&7|0)==0?0:0-g&7;m=a+g|0;g=i-g|0;f[42557]=m;f[42554]=g;f[m+4>>2]=g|1;f[a+i+4>>2]=40;f[42558]=f[42673];i=A+4|0;f[i>>2]=27;f[e>>2]=f[42663];f[e+4>>2]=f[42664];f[e+8>>2]=f[42665];f[e+12>>2]=f[42666];f[42663]=a;f[42664]=t;f[42666]=0;f[42665]=e;e=A+24|0;do{m=e;e=e+4|0;f[e>>2]=7}while((m+8|0)>>>0>>0);if((A|0)!=(c|0)){a=A-c|0;f[i>>2]=f[i>>2]&-2;f[c+4>>2]=a|1;f[A>>2]=a;e=a>>>3;if(a>>>0<256){i=170244+(e<<1<<2)|0;A=f[42551]|0;e=1<>2]|0}f[A>>2]=c;f[e+12>>2]=c;f[c+8>>2]=e;f[c+12>>2]=i;break}e=a>>>8;if(e)if(a>>>0>16777215)i=31;else{m=(e+1048320|0)>>>16&8;Z=e<>>16&4;Z=Z<>>16&2;i=14-(g|m|i)+(Z<>>15)|0;i=a>>>(i+7|0)&1|i<<1}else i=0;r=170508+(i<<2)|0;f[c+28>>2]=i;f[c+20>>2]=0;f[n>>2]=0;e=f[42552]|0;A=1<>2]=c;f[c+24>>2]=r;f[c+12>>2]=c;f[c+8>>2]=c;break}A=a<<((i|0)==31?0:25-(i>>>1)|0);i=f[r>>2]|0;while(1){if((f[i+4>>2]&-8|0)==(a|0)){m=213;break}r=i+16+(A>>>31<<2)|0;e=f[r>>2]|0;if(!e){m=212;break}else{A=A<<1;i=e}}if((m|0)==212){f[r>>2]=c;f[c+24>>2]=i;f[c+12>>2]=c;f[c+8>>2]=c;break}else if((m|0)==213){m=i+8|0;Z=f[m>>2]|0;f[Z+12>>2]=c;f[m>>2]=c;f[c+8>>2]=Z;f[c+12>>2]=i;f[c+24>>2]=0;break}}}else{Z=f[42555]|0;if((Z|0)==0|a>>>0>>0)f[42555]=a;f[42663]=a;f[42664]=t;f[42666]=0;f[42560]=f[42669];f[42559]=-1;f[42564]=170244;f[42563]=170244;f[42566]=170252;f[42565]=170252;f[42568]=170260;f[42567]=170260;f[42570]=170268;f[42569]=170268;f[42572]=170276;f[42571]=170276;f[42574]=170284;f[42573]=170284;f[42576]=170292;f[42575]=170292;f[42578]=170300;f[42577]=170300;f[42580]=170308;f[42579]=170308;f[42582]=170316;f[42581]=170316;f[42584]=170324;f[42583]=170324;f[42586]=170332;f[42585]=170332;f[42588]=170340;f[42587]=170340;f[42590]=170348;f[42589]=170348;f[42592]=170356;f[42591]=170356;f[42594]=170364;f[42593]=170364;f[42596]=170372;f[42595]=170372;f[42598]=170380;f[42597]=170380;f[42600]=170388;f[42599]=170388;f[42602]=170396;f[42601]=170396;f[42604]=170404;f[42603]=170404;f[42606]=170412;f[42605]=170412;f[42608]=170420;f[42607]=170420;f[42610]=170428;f[42609]=170428;f[42612]=170436;f[42611]=170436;f[42614]=170444;f[42613]=170444;f[42616]=170452;f[42615]=170452;f[42618]=170460;f[42617]=170460;f[42620]=170468;f[42619]=170468;f[42622]=170476;f[42621]=170476;f[42624]=170484;f[42623]=170484;f[42626]=170492;f[42625]=170492;Z=t+-40|0;g=a+8|0;g=(g&7|0)==0?0:0-g&7;m=a+g|0;g=Z-g|0;f[42557]=m;f[42554]=g;f[m+4>>2]=g|1;f[a+Z+4>>2]=40;f[42558]=f[42673]}}while(0);e=f[42554]|0;if(e>>>0>u>>>0){g=e-u|0;f[42554]=g;Z=f[42557]|0;m=Z+u|0;f[42557]=m;f[m+4>>2]=g|1;f[Z+4>>2]=u|3;Z=Z+8|0;v=G;return Z|0}}f[(KW()|0)>>2]=12;Z=0;v=G;return Z|0}function HW(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0,c=0;if(!A)return;i=A+-8|0;n=f[42555]|0;A=f[A+-4>>2]|0;e=A&-8;c=i+e|0;do{if(!(A&1)){r=f[i>>2]|0;if(!(A&3))return;t=i+(0-r)|0;a=r+e|0;if(t>>>0>>0)return;if((f[42556]|0)==(t|0)){A=c+4|0;e=f[A>>2]|0;if((e&3|0)!=3){l=t;e=a;break}f[42553]=a;f[A>>2]=e&-2;f[t+4>>2]=a|1;f[t+a>>2]=a;return}i=r>>>3;if(r>>>0<256){A=f[t+8>>2]|0;e=f[t+12>>2]|0;if((e|0)==(A|0)){f[42551]=f[42551]&~(1<>2]=e;f[e+8>>2]=A;l=t;e=a;break}}n=f[t+24>>2]|0;A=f[t+12>>2]|0;do{if((A|0)==(t|0)){i=t+16|0;e=i+4|0;A=f[e>>2]|0;if(!A){A=f[i>>2]|0;if(!A){A=0;break}else e=i}while(1){i=A+20|0;r=f[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=f[i>>2]|0;if(!r)break;else{A=r;e=i}}f[e>>2]=0}else{l=f[t+8>>2]|0;f[l+12>>2]=A;f[A+8>>2]=l}}while(0);if(n){e=f[t+28>>2]|0;i=170508+(e<<2)|0;if((f[i>>2]|0)==(t|0)){f[i>>2]=A;if(!A){f[42552]=f[42552]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=A;if(!A){l=t;e=a;break}}f[A+24>>2]=n;e=t+16|0;i=f[e>>2]|0;if(i|0){f[A+16>>2]=i;f[i+24>>2]=A}e=f[e+4>>2]|0;if(e){f[A+20>>2]=e;f[e+24>>2]=A;l=t;e=a}else{l=t;e=a}}else{l=t;e=a}}else{l=i;t=i}}while(0);if(t>>>0>=c>>>0)return;A=c+4|0;r=f[A>>2]|0;if(!(r&1))return;if(!(r&2)){if((f[42557]|0)==(c|0)){c=(f[42554]|0)+e|0;f[42554]=c;f[42557]=l;f[l+4>>2]=c|1;if((l|0)!=(f[42556]|0))return;f[42556]=0;f[42553]=0;return}if((f[42556]|0)==(c|0)){c=(f[42553]|0)+e|0;f[42553]=c;f[42556]=t;f[l+4>>2]=c|1;f[t+c>>2]=c;return}n=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){e=f[c+8>>2]|0;A=f[c+12>>2]|0;if((A|0)==(e|0)){f[42551]=f[42551]&~(1<>2]=A;f[A+8>>2]=e;break}}else{a=f[c+24>>2]|0;A=f[c+12>>2]|0;do{if((A|0)==(c|0)){i=c+16|0;e=i+4|0;A=f[e>>2]|0;if(!A){A=f[i>>2]|0;if(!A){i=0;break}else e=i}while(1){i=A+20|0;r=f[i>>2]|0;if(r|0){A=r;e=i;continue}i=A+16|0;r=f[i>>2]|0;if(!r)break;else{A=r;e=i}}f[e>>2]=0;i=A}else{i=f[c+8>>2]|0;f[i+12>>2]=A;f[A+8>>2]=i;i=A}}while(0);if(a|0){A=f[c+28>>2]|0;e=170508+(A<<2)|0;if((f[e>>2]|0)==(c|0)){f[e>>2]=i;if(!i){f[42552]=f[42552]&~(1<>2]|0)!=(c|0)&1)<<2)>>2]=i;if(!i)break}f[i+24>>2]=a;A=c+16|0;e=f[A>>2]|0;if(e|0){f[i+16>>2]=e;f[e+24>>2]=i}A=f[A+4>>2]|0;if(A|0){f[i+20>>2]=A;f[A+24>>2]=i}}}}while(0);f[l+4>>2]=n|1;f[t+n>>2]=n;if((l|0)==(f[42556]|0)){f[42553]=n;return}}else{f[A>>2]=r&-2;f[l+4>>2]=e|1;f[t+e>>2]=e;n=e}A=n>>>3;if(n>>>0<256){i=170244+(A<<1<<2)|0;e=f[42551]|0;A=1<>2]|0}f[e>>2]=l;f[A+12>>2]=l;f[l+8>>2]=A;f[l+12>>2]=i;return}A=n>>>8;if(A)if(n>>>0>16777215)A=31;else{t=(A+1048320|0)>>>16&8;c=A<>>16&4;c=c<>>16&2;A=14-(a|t|A)+(c<>>15)|0;A=n>>>(A+7|0)&1|A<<1}else A=0;r=170508+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;e=f[42552]|0;i=1<>>1)|0);i=f[r>>2]|0;while(1){if((f[i+4>>2]&-8|0)==(n|0)){A=73;break}r=i+16+(e>>>31<<2)|0;A=f[r>>2]|0;if(!A){A=72;break}else{e=e<<1;i=A}}if((A|0)==72){f[r>>2]=l;f[l+24>>2]=i;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((A|0)==73){t=i+8|0;c=f[t>>2]|0;f[c+12>>2]=l;f[t>>2]=l;f[l+8>>2]=c;f[l+12>>2]=i;f[l+24>>2]=0;break}}else{f[42552]=e|i;f[r>>2]=l;f[l+24>>2]=r;f[l+12>>2]=l;f[l+8>>2]=l}}while(0);c=(f[42559]|0)+-1|0;f[42559]=c;if(!c)A=170660;else return;while(1){A=f[A>>2]|0;if(!A)break;else A=A+8|0}f[42559]=-1;return}function LW(A,e){A=A|0;e=e|0;var i=0;if(A){i=X(e,A)|0;if((e|A)>>>0>65535)i=((i>>>0)/(A>>>0)|0|0)==(e|0)?i:-1}else i=0;A=RW(i)|0;if(!A)return A|0;if(!(f[A+-4>>2]&3))return A|0;WH(A|0,0,i|0)|0;return A|0}function FW(A,e){A=A|0;e=e|0;var i=0,r=0;if(!A){e=RW(e)|0;return e|0}if(e>>>0>4294967231){f[(KW()|0)>>2]=12;e=0;return e|0}i=DW(A+-8|0,e>>>0<11?16:e+11&-8)|0;if(i|0){e=i+8|0;return e|0}i=RW(e)|0;if(!i){e=0;return e|0}r=f[A+-4>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;VH(i|0,A|0,(r>>>0>>0?r:e)|0)|0;HW(A);e=i;return e|0}function DW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;s=A+4|0;u=f[s>>2]|0;i=u&-8;l=A+i|0;if(!(u&3)){if(e>>>0<256){A=0;return A|0}if(i>>>0>=(e+4|0)>>>0?(i-e|0)>>>0<=f[42671]<<1>>>0:0)return A|0;A=0;return A|0}if(i>>>0>=e>>>0){i=i-e|0;if(i>>>0<=15)return A|0;o=A+e|0;f[s>>2]=u&1|e|2;f[o+4>>2]=i|3;u=l+4|0;f[u>>2]=f[u>>2]|1;XW(o,i);return A|0}if((f[42557]|0)==(l|0)){o=(f[42554]|0)+i|0;i=o-e|0;r=A+e|0;if(o>>>0<=e>>>0){A=0;return A|0}f[s>>2]=u&1|e|2;f[r+4>>2]=i|1;f[42557]=r;f[42554]=i;return A|0}if((f[42556]|0)==(l|0)){r=(f[42553]|0)+i|0;if(r>>>0>>0){A=0;return A|0}i=r-e|0;if(i>>>0>15){o=A+e|0;r=A+r|0;f[s>>2]=u&1|e|2;f[o+4>>2]=i|1;f[r>>2]=i;r=r+4|0;f[r>>2]=f[r>>2]&-2;r=o}else{f[s>>2]=u&1|r|2;r=A+r+4|0;f[r>>2]=f[r>>2]|1;r=0;i=0}f[42553]=i;f[42556]=r;return A|0}r=f[l+4>>2]|0;if(r&2|0){A=0;return A|0}c=(r&-8)+i|0;if(c>>>0>>0){A=0;return A|0}o=c-e|0;n=r>>>3;do{if(r>>>0<256){r=f[l+8>>2]|0;i=f[l+12>>2]|0;if((i|0)==(r|0)){f[42551]=f[42551]&~(1<>2]=i;f[i+8>>2]=r;break}}else{t=f[l+24>>2]|0;i=f[l+12>>2]|0;do{if((i|0)==(l|0)){n=l+16|0;r=n+4|0;i=f[r>>2]|0;if(!i){i=f[n>>2]|0;if(!i){n=0;break}else a=n}else a=r;while(1){n=i+20|0;r=f[n>>2]|0;if(r|0){i=r;a=n;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;a=r}}f[a>>2]=0;n=i}else{n=f[l+8>>2]|0;f[n+12>>2]=i;f[i+8>>2]=n;n=i}}while(0);if(t|0){i=f[l+28>>2]|0;r=170508+(i<<2)|0;if((f[r>>2]|0)==(l|0)){f[r>>2]=n;if(!n){f[42552]=f[42552]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=n;if(!n)break}f[n+24>>2]=t;i=l+16|0;r=f[i>>2]|0;if(r|0){f[n+16>>2]=r;f[r+24>>2]=n}i=f[i+4>>2]|0;if(i|0){f[n+20>>2]=i;f[i+24>>2]=n}}}}while(0);if(o>>>0<16){f[s>>2]=c|u&1|2;u=A+c+4|0;f[u>>2]=f[u>>2]|1;return A|0}else{l=A+e|0;f[s>>2]=u&1|e|2;f[l+4>>2]=o|3;u=A+c+4|0;f[u>>2]=f[u>>2]|1;XW(l,o);return A|0}return 0}function XW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;l=A+e|0;i=f[A+4>>2]|0;do{if(!(i&1)){n=f[A>>2]|0;if(!(i&3))return;t=A+(0-n)|0;e=n+e|0;if((f[42556]|0)==(t|0)){A=l+4|0;i=f[A>>2]|0;if((i&3|0)!=3)break;f[42553]=e;f[A>>2]=i&-2;f[t+4>>2]=e|1;f[l>>2]=e;return}r=n>>>3;if(n>>>0<256){A=f[t+8>>2]|0;i=f[t+12>>2]|0;if((i|0)==(A|0)){f[42551]=f[42551]&~(1<>2]=i;f[i+8>>2]=A;break}}a=f[t+24>>2]|0;A=f[t+12>>2]|0;do{if((A|0)==(t|0)){r=t+16|0;i=r+4|0;A=f[i>>2]|0;if(!A){A=f[r>>2]|0;if(!A){A=0;break}else i=r}while(1){r=A+20|0;n=f[r>>2]|0;if(n|0){A=n;i=r;continue}r=A+16|0;n=f[r>>2]|0;if(!n)break;else{A=n;i=r}}f[i>>2]=0}else{n=f[t+8>>2]|0;f[n+12>>2]=A;f[A+8>>2]=n}}while(0);if(a){i=f[t+28>>2]|0;r=170508+(i<<2)|0;if((f[r>>2]|0)==(t|0)){f[r>>2]=A;if(!A){f[42552]=f[42552]&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=A;if(!A)break}f[A+24>>2]=a;i=t+16|0;r=f[i>>2]|0;if(r|0){f[A+16>>2]=r;f[r+24>>2]=A}i=f[i+4>>2]|0;if(i){f[A+20>>2]=i;f[i+24>>2]=A}}}else t=A}while(0);A=l+4|0;r=f[A>>2]|0;if(!(r&2)){if((f[42557]|0)==(l|0)){l=(f[42554]|0)+e|0;f[42554]=l;f[42557]=t;f[t+4>>2]=l|1;if((t|0)!=(f[42556]|0))return;f[42556]=0;f[42553]=0;return}if((f[42556]|0)==(l|0)){l=(f[42553]|0)+e|0;f[42553]=l;f[42556]=t;f[t+4>>2]=l|1;f[t+l>>2]=l;return}n=(r&-8)+e|0;i=r>>>3;do{if(r>>>0<256){A=f[l+8>>2]|0;e=f[l+12>>2]|0;if((e|0)==(A|0)){f[42551]=f[42551]&~(1<>2]=e;f[e+8>>2]=A;break}}else{a=f[l+24>>2]|0;e=f[l+12>>2]|0;do{if((e|0)==(l|0)){i=l+16|0;A=i+4|0;e=f[A>>2]|0;if(!e){e=f[i>>2]|0;if(!e){i=0;break}else A=i}while(1){i=e+20|0;r=f[i>>2]|0;if(r|0){e=r;A=i;continue}i=e+16|0;r=f[i>>2]|0;if(!r)break;else{e=r;A=i}}f[A>>2]=0;i=e}else{i=f[l+8>>2]|0;f[i+12>>2]=e;f[e+8>>2]=i;i=e}}while(0);if(a|0){e=f[l+28>>2]|0;A=170508+(e<<2)|0;if((f[A>>2]|0)==(l|0)){f[A>>2]=i;if(!i){f[42552]=f[42552]&~(1<>2]|0)!=(l|0)&1)<<2)>>2]=i;if(!i)break}f[i+24>>2]=a;e=l+16|0;A=f[e>>2]|0;if(A|0){f[i+16>>2]=A;f[A+24>>2]=i}e=f[e+4>>2]|0;if(e|0){f[i+20>>2]=e;f[e+24>>2]=i}}}}while(0);f[t+4>>2]=n|1;f[t+n>>2]=n;if((t|0)==(f[42556]|0)){f[42553]=n;return}}else{f[A>>2]=r&-2;f[t+4>>2]=e|1;f[t+e>>2]=e;n=e}e=n>>>3;if(n>>>0<256){i=170244+(e<<1<<2)|0;A=f[42551]|0;e=1<>2]|0}f[A>>2]=t;f[e+12>>2]=t;f[t+8>>2]=e;f[t+12>>2]=i;return}e=n>>>8;if(e)if(n>>>0>16777215)e=31;else{a=(e+1048320|0)>>>16&8;l=e<>>16&4;l=l<>>16&2;e=14-(r|a|e)+(l<>>15)|0;e=n>>>(e+7|0)&1|e<<1}else e=0;r=170508+(e<<2)|0;f[t+28>>2]=e;f[t+20>>2]=0;f[t+16>>2]=0;A=f[42552]|0;i=1<>2]=t;f[t+24>>2]=r;f[t+12>>2]=t;f[t+8>>2]=t;return}A=n<<((e|0)==31?0:25-(e>>>1)|0);i=f[r>>2]|0;while(1){if((f[i+4>>2]&-8|0)==(n|0)){e=69;break}r=i+16+(A>>>31<<2)|0;e=f[r>>2]|0;if(!e){e=68;break}else{A=A<<1;i=e}}if((e|0)==68){f[r>>2]=t;f[t+24>>2]=i;f[t+12>>2]=t;f[t+8>>2]=t;return}else if((e|0)==69){a=i+8|0;l=f[a>>2]|0;f[l+12>>2]=t;f[a>>2]=t;f[t+8>>2]=l;f[t+12>>2]=i;f[t+24>>2]=0;return}}function xW(A,e){A=A|0;e=e|0;if(A>>>0<9){e=RW(e)|0;return e|0}else{e=TW(A,e)|0;return e|0}return 0}function TW(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0;A=A>>>0>16?A:16;if(A+-1&A){i=16;while(1)if(i>>>0>>0)i=i<<1;else{A=i;break}}if((-64-A|0)>>>0<=e>>>0){f[(KW()|0)>>2]=12;t=0;return t|0}a=e>>>0<11?16:e+11&-8;i=RW(a+12+A|0)|0;if(!i){t=0;return t|0}n=i+-8|0;do{if(A+-1&i){r=(i+A+-1&0-A)+-8|0;e=n;r=(r-e|0)>>>0>15?r:r+A|0;e=r-e|0;A=i+-4|0;l=f[A>>2]|0;i=(l&-8)-e|0;if(!(l&3)){f[r>>2]=(f[n>>2]|0)+e;f[r+4>>2]=i;A=r;e=r;break}else{l=r+4|0;f[l>>2]=i|f[l>>2]&1|2;i=r+i+4|0;f[i>>2]=f[i>>2]|1;f[A>>2]=e|f[A>>2]&1|2;f[l>>2]=f[l>>2]|1;XW(n,e);A=r;e=r;break}}else{A=n;e=n}}while(0);A=A+4|0;i=f[A>>2]|0;if(i&3|0?(t=i&-8,t>>>0>(a+16|0)>>>0):0){l=t-a|0;n=e+a|0;f[A>>2]=a|i&1|2;f[n+4>>2]=l|3;t=e+t+4|0;f[t>>2]=f[t>>2]|1;XW(n,l)}l=e+8|0;return l|0}function UW(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;f[i>>2]=_W(f[A+60>>2]|0)|0;A=OW(VA(6,i|0)|0)|0;v=e;return A|0}function SW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0;o=v;v=v+32|0;n=o;l=o+16|0;f[l>>2]=e;a=l+4|0;c=A+48|0;s=f[c>>2]|0;f[a>>2]=i-((s|0)!=0&1);t=A+44|0;f[l+8>>2]=f[t>>2];f[l+12>>2]=s;f[n>>2]=f[A+60>>2];f[n+4>>2]=l;f[n+8>>2]=2;n=OW(GA(145,n|0)|0)|0;if((n|0)>=1){l=f[a>>2]|0;if(n>>>0>l>>>0){a=f[t>>2]|0;t=A+4|0;f[t>>2]=a;f[A+8>>2]=a+(n-l);if(!(f[c>>2]|0))n=i;else{f[t>>2]=a+1;r[e+(i+-1)>>0]=r[a>>0]|0;n=i}}}else f[A>>2]=f[A>>2]|n&48^16;v=o;return n|0}function jW(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;n=v;v=v+32|0;a=n;r=n+20|0;f[a>>2]=f[A+60>>2];f[a+4>>2]=0;f[a+8>>2]=e;f[a+12>>2]=r;f[a+16>>2]=i;if((OW(ZA(140,a|0)|0)|0)<0){f[r>>2]=-1;A=-1}else A=f[r>>2]|0;v=n;return A|0}function OW(A){A=A|0;if(A>>>0>4294963200){f[(KW()|0)>>2]=0-A;A=-1}return A|0}function KW(){return 170700}function _W(A){A=A|0;return A|0}function qW(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0;a=v;v=v+32|0;n=a;f[A+36>>2]=9;if((f[A>>2]&64|0)==0?(f[n>>2]=f[A+60>>2],f[n+4>>2]=21523,f[n+8>>2]=a+16,pA(54,n|0)|0):0)r[A+75>>0]=-1;n=$W(A,e,i)|0;v=a;return n|0}function $W(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;u=v;v=v+48|0;o=u+16|0;a=u;n=u+32|0;l=A+28|0;r=f[l>>2]|0;f[n>>2]=r;c=A+20|0;r=(f[c>>2]|0)-r|0;f[n+4>>2]=r;f[n+8>>2]=e;f[n+12>>2]=i;r=r+i|0;t=A+60|0;f[a>>2]=f[t>>2];f[a+4>>2]=n;f[a+8>>2]=2;a=OW(IA(146,a|0)|0)|0;A:do{if((r|0)!=(a|0)){e=2;while(1){if((a|0)<0)break;r=r-a|0;B=f[n+4>>2]|0;b=a>>>0>B>>>0;n=b?n+8|0:n;e=e+(b<<31>>31)|0;B=a-(b?B:0)|0;f[n>>2]=(f[n>>2]|0)+B;b=n+4|0;f[b>>2]=(f[b>>2]|0)-B;f[o>>2]=f[t>>2];f[o+4>>2]=n;f[o+8>>2]=e;a=OW(IA(146,o|0)|0)|0;if((r|0)==(a|0)){s=3;break A}}f[A+16>>2]=0;f[l>>2]=0;f[c>>2]=0;f[A>>2]=f[A>>2]|32;if((e|0)==2)i=0;else i=i-(f[n+4>>2]|0)|0}else s=3}while(0);if((s|0)==3){B=f[A+44>>2]|0;f[A+16>>2]=B+(f[A+48>>2]|0);f[l>>2]=B;f[c>>2]=B}v=u;return i|0}function Az(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=A;f[r+4>>2]=e;e=OW(NA(91,r|0)|0)|0;v=i;return e|0}function ez(){return}function iz(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0;l=v;v=v+32|0;t=l;do{if((a&4095|0)==0&(((a|0)<0)<<31>>31&-4096|0)==0){if(e>>>0>2147483646){f[(KW()|0)>>2]=12;A=-1;break}f[t>>2]=A;f[t+4>>2]=e;f[t+8>>2]=i;f[t+12>>2]=r;f[t+16>>2]=n;f[t+20>>2]=a>>12;A=OW(CA(192,t|0)|0)|0}else{f[(KW()|0)>>2]=22;A=-1}}while(0);v=l;return A|0}function rz(A,e){A=A|0;e=e|0;var i=0,n=0,a=0;n=e&255;A:do{if(!n)A=A+(nz(A)|0)|0;else{if(A&3){i=e&255;do{a=r[A>>0]|0;if(a<<24>>24==0?1:a<<24>>24==i<<24>>24)break A;A=A+1|0}while((A&3|0)!=0)}n=X(n,16843009)|0;i=f[A>>2]|0;e:do{if(!((i&-2139062144^-2139062144)&i+-16843009))do{a=i^n;if((a&-2139062144^-2139062144)&a+-16843009|0)break e;A=A+4|0;i=f[A>>2]|0}while(!((i&-2139062144^-2139062144)&i+-16843009|0))}while(0);i=e&255;while(1){a=r[A>>0]|0;if(a<<24>>24==0?1:a<<24>>24==i<<24>>24)break;else A=A+1|0}}}while(0);return A|0}function nz(A){A=A|0;var e=0,i=0,n=0;n=A;A:do{if(!(n&3))i=4;else{e=n;while(1){if(!(r[A>>0]|0)){A=e;break A}A=A+1|0;e=A;if(!(e&3)){i=4;break}}}}while(0);if((i|0)==4){while(1){e=f[A>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))A=A+4|0;else break}if((e&255)<<24>>24)do{A=A+1|0}while((r[A>>0]|0)!=0)}return A-n|0}function fz(A,e){A=A|0;e=e|0;var i=0,n=0;n=0;while(1){if((a[125833+n>>0]|0)==(A|0)){A=2;break}i=n+1|0;if((i|0)==87){i=125921;n=87;A=5;break}else n=i}if((A|0)==2)if(!n)i=125921;else{i=125921;A=5}if((A|0)==5)while(1){do{A=i;i=i+1|0}while((r[A>>0]|0)!=0);n=n+-1|0;if(!n)break;else A=5}return az(i,f[e+20>>2]|0)|0}function az(A,e){A=A|0;e=e|0;return tz(A,e)|0}function tz(A,e){A=A|0;e=e|0;if(!e)e=0;else e=lz(f[e>>2]|0,f[e+4>>2]|0,A)|0;return(e|0?e:A)|0}function lz(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;v=(f[A>>2]|0)+1794895138|0;t=cz(f[A+8>>2]|0,v)|0;n=cz(f[A+12>>2]|0,v)|0;a=cz(f[A+16>>2]|0,v)|0;A:do{if((t>>>0>>2>>>0?(b=e-(t<<2)|0,n>>>0>>0&a>>>0>>0):0)?((a|n)&3|0)==0:0){b=n>>>2;u=a>>>2;s=0;while(1){c=t>>>1;o=s+c|0;l=o<<1;a=l+b|0;n=cz(f[A+(a<<2)>>2]|0,v)|0;a=cz(f[A+(a+1<<2)>>2]|0,v)|0;if(!(a>>>0>>0&n>>>0<(e-a|0)>>>0)){n=0;break A}if(r[A+(a+n)>>0]|0){n=0;break A}n=oz(i,A+a|0)|0;if(!n)break;n=(n|0)<0;if((t|0)==1){n=0;break A}else{s=n?s:o;t=n?c:t-c|0}}n=l+u|0;a=cz(f[A+(n<<2)>>2]|0,v)|0;n=cz(f[A+(n+1<<2)>>2]|0,v)|0;if(n>>>0>>0&a>>>0<(e-n|0)>>>0)n=(r[A+(n+a)>>0]|0)==0?A+n|0:0;else n=0}else n=0}while(0);return n|0}function cz(A,e){A=A|0;e=e|0;var i=0;i=yH(A|0)|0;return((e|0)==0?A:i)|0}function oz(A,e){A=A|0;e=e|0;var i=0,n=0;i=r[A>>0]|0;n=r[e>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=n<<24>>24)A=n;else{do{A=A+1|0;e=e+1|0;i=r[A>>0]|0;n=r[e>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=n<<24>>24));A=n}return(i&255)-(A&255)|0}function sz(A){A=A|0;return fz(A,f[(uz()|0)+188>>2]|0)|0}function uz(){return bz()|0}function bz(){return 55800}function vz(A,e,i){A=+A;e=+e;i=i|0;var r=0.0,n=0.0,f=0.0;f=A*A;r=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);n=f*A;if(!i)A=n*(f*r+-.16666666666666632)+A;else A=A-(n*.16666666666666632+(f*(e*.5-n*r)-e));return+A}function Bz(A){A=+A;var e=0,i=0,r=0,n=0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0;o[u>>3]=A;e=f[u>>2]|0;i=f[u+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{o[u>>3]=A*18014398509481984.0;i=f[u+4>>2]|0;r=-1077;e=f[u>>2]|0;n=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;n=9}}while(0);if((n|0)==9){n=i+614242|0;f[u>>2]=e;f[u+4>>2]=(n&1048575)+1072079006;s=+o[u>>3]+-1.0;l=s*(s*.5);t=s/(s+2.0);c=t*t;a=c*c;o[u>>3]=s-l;i=f[u+4>>2]|0;f[u>>2]=0;f[u+4>>2]=i;A=+o[u>>3];a=s-A-l+t*(l+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+c*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));c=A*1.4426950407214463;l=+(r+(n>>>20)|0);t=c+l;A=t+(c+(l-t)+(a*1.4426950407214463+(a+A)*1.6751713164886512e-10))}return+A}function kz(A,e){A=+A;e=e|0;var i=0,r=0,n=0;o[u>>3]=A;i=f[u>>2]|0;r=f[u+4>>2]|0;n=MH(i|0,r|0,52)|0;switch(n&2047){case 0:{if(A!=0.0){A=+kz(A*18446744073709551616.0,e);i=(f[e>>2]|0)+-64|0}else i=0;f[e>>2]=i;break}case 2047:break;default:{f[e>>2]=(n&2047)+-1022;f[u>>2]=i;f[u+4>>2]=r&-2146435073|1071644672;A=+o[u>>3]}}return+A}function wz(A,e){A=+A;e=+e;var i=0.0,r=0.0,n=0.0,f=0.0;i=A*A;r=i*i;n=i*.5;f=1.0-n;return+(f+(1.0-f-n+(i*(i*(i*(i*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+r*r*(i*(2.087572321298175e-09-i*1.1359647557788195e-11)+-2.7557314351390663e-07))-A*e)))}function hz(A){A=+A;var e=0,i=0,r=0,n=0,a=0.0,t=0.0,l=0.0,c=0.0,s=0.0;o[u>>3]=A;e=f[u>>2]|0;i=f[u+4>>2]|0;r=(i|0)<0;do{if(r|i>>>0<1048576){if((e|0)==0&(i&2147483647|0)==0){A=-1.0/(A*A);break}if(r){A=(A-A)/0.0;break}else{o[u>>3]=A*18014398509481984.0;i=f[u+4>>2]|0;r=-1077;e=f[u>>2]|0;n=9;break}}else if(i>>>0<=2146435071)if((e|0)==0&0==0&(i|0)==1072693248)A=0.0;else{r=-1023;n=9}}while(0);if((n|0)==9){n=i+614242|0;f[u>>2]=e;f[u+4>>2]=(n&1048575)+1072079006;l=+o[u>>3]+-1.0;t=l*(l*.5);c=l/(l+2.0);s=c*c;a=s*s;o[u>>3]=l-t;i=f[u+4>>2]|0;f[u>>2]=0;f[u+4>>2]=i;A=+o[u>>3];a=l-A-t+c*(t+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+s*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));s=A*.4342944818781689;t=+(r+(n>>>20)|0);c=t*.30102999566361177;l=c+s;A=l+(s+(c-l)+(a*.4342944818781689+(t*3.694239077158931e-13+(a+A)*2.5082946711645275e-11)))}return+A}function dz(A,e){A=+A;e=e|0;var i=0,r=0.0,n=0.0,a=0.0,t=0,l=0.0,c=0,s=0,b=0,B=0,k=0,w=0,h=0.0;w=v;v=v+48|0;c=w+16|0;s=w;o[u>>3]=A;i=f[u>>2]|0;t=f[u+4>>2]|0;b=MH(i|0,t|0,63)|0;k=t&2147483647;do{if(k>>>0<1074752123)if((t&1048575|0)!=598523){i=(b|0)!=0;if(k>>>0<1073928573)if(i){a=A+1.5707963267341256;l=a+6.077100506506192e-11;o[e>>3]=l;o[e+8>>3]=a-l+6.077100506506192e-11;i=-1;break}else{a=A+-1.5707963267341256;l=a+-6.077100506506192e-11;o[e>>3]=l;o[e+8>>3]=a-l+-6.077100506506192e-11;i=1;break}else if(i){a=A+3.1415926534682512;l=a+1.2154201013012384e-10;o[e>>3]=l;o[e+8>>3]=a-l+1.2154201013012384e-10;i=-2;break}else{a=A+-3.1415926534682512;l=a+-1.2154201013012384e-10;o[e>>3]=l;o[e+8>>3]=a-l+-1.2154201013012384e-10;i=2;break}}else B=21;else{if(k>>>0<1075594812)if(k>>>0<1075183037){if((k|0)==1074977148){B=21;break}if(!b){a=A+-4.712388980202377;l=a+-1.8231301519518578e-10;o[e>>3]=l;o[e+8>>3]=a-l+-1.8231301519518578e-10;i=3;break}else{a=A+4.712388980202377;l=a+1.8231301519518578e-10;o[e>>3]=l;o[e+8>>3]=a-l+1.8231301519518578e-10;i=-3;break}}else{if((k|0)==1075388923){B=21;break}if(!b){a=A+-6.2831853069365025;l=a+-2.430840202602477e-10;o[e>>3]=l;o[e+8>>3]=a-l+-2.430840202602477e-10;i=4;break}else{a=A+6.2831853069365025;l=a+2.430840202602477e-10;o[e>>3]=l;o[e+8>>3]=a-l+2.430840202602477e-10;i=-4;break}}if(k>>>0>=1094263291){if(k>>>0>2146435071){l=A-A;o[e+8>>3]=l;o[e>>3]=l;i=0;break}f[u>>2]=i;f[u+4>>2]=t&1048575|1096810496;A=+o[u>>3];i=0;do{l=+(~~A|0);o[c+(i<<3)>>3]=l;A=(A-l)*16777216.0;i=i+1|0}while((i|0)!=2);o[c+16>>3]=A;if(A==0.0){i=1;while(1)if(+o[c+(i<<3)>>3]==0.0)i=i+-1|0;else break}else i=2;i=gz(c,s,(k>>>20)+-1046|0,i+1|0,1)|0;A=+o[s>>3];if(!b){o[e>>3]=A;o[e+8>>3]=+o[s+8>>3];break}else{o[e>>3]=-A;o[e+8>>3]=-+o[s+8>>3];i=0-i|0;break}}else B=21}}while(0);if((B|0)==21){a=A*.6366197723675814+6755399441055744.0+-6755399441055744.0;i=~~a;r=A-a*1.5707963267341256;n=a*6.077100506506192e-11;A=r-n;o[e>>3]=A;o[u>>3]=A;B=MH(f[u>>2]|0,f[u+4>>2]|0,52)|0;t=k>>>20;if((t-(B&2047)|0)>16){n=a*6.077100506303966e-11;l=r-n;n=a*2.0222662487959506e-21-(r-l-n);A=l-n;o[e>>3]=A;o[u>>3]=A;k=MH(f[u>>2]|0,f[u+4>>2]|0,52)|0;h=a*2.0222662487111665e-21;r=l-h;a=a*8.4784276603689e-32-(l-r-h);if((t-(k&2047)|0)>49){A=r-a;o[e>>3]=A;n=a}else r=l}o[e+8>>3]=r-A-n}v=w;return i|0}function gz(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0.0,t=0.0,l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,Y=0,p=0,V=0,N=0,W=0.0;N=v;v=v+560|0;E=N+480|0;C=N+320|0;V=N+160|0;Y=N;Q=f[56044+(n<<2)>>2]|0;B=r+-1|0;I=(i+-3|0)/24|0;I=(I|0)>0?I:0;M=X(I,-24)|0;l=i+-24+M|0;if((Q+B|0)>=0){u=Q+r|0;c=I-B|0;s=0;while(1){if((c|0)<0)a=0.0;else a=+(f[56060+(c<<2)>>2]|0);o[C+(s<<3)>>3]=a;s=s+1|0;if((s|0)==(u|0))break;else c=c+1|0}}b=(r|0)>0;u=0;while(1){if(b){s=u+B|0;a=0.0;c=0;do{a=a+ +o[A+(c<<3)>>3]*+o[C+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else a=0.0;o[Y+(u<<3)>>3]=a;if((u|0)<(Q|0))u=u+1|0;else break}d=(l|0)>0;g=24-l|0;m=23-l|0;Z=(r|0)>0;G=(l|0)==0;c=Q;A:while(1){a=+o[Y+(c<<3)>>3];b=(c|0)>0;if(b){s=c;u=0;while(1){t=+(~~(a*5.9604644775390625e-08)|0);f[E+(u<<2)>>2]=~~(a-t*16777216.0);h=s;s=s+-1|0;a=+o[Y+(s<<3)>>3]+t;if((h|0)<=1)break;else u=u+1|0}}a=+mz(a,l);a=a-+y(+(a*.125))*8.0;s=~~a;a=a-+(s|0);do{if(!d)if(!G)if(!(a>=.5)){B=0;h=s;break}else{u=2;p=20;break}else{u=f[E+(c+-1<<2)>>2]>>23;p=19;break}else{h=E+(c+-1<<2)|0;u=f[h>>2]|0;p=u>>g;u=u-(p<>2]=u;u=u>>m;s=p+s|0;p=19}}while(0);if((p|0)==19){p=0;if((u|0)>0)p=20;else{B=u;h=s}}if((p|0)==20){p=0;h=s+1|0;if(b){s=0;w=0;do{B=E+(w<<2)|0;k=f[B>>2]|0;if(!s)if(!k)s=0;else{s=1;b=16777216;p=23}else{b=16777215;p=23}if((p|0)==23){p=0;f[B>>2]=b-k}w=w+1|0}while((w|0)!=(c|0))}else s=0;e:do{if(d){switch(l|0){case 1:{b=8388607;break}case 2:{b=4194303;break}default:break e}w=E+(c+-1<<2)|0;f[w>>2]=f[w>>2]&b}}while(0);if((u|0)==2){a=1.0-a;if(!s)B=2;else{B=2;a=a-+mz(1.0,l)}}else B=u}if(!(a==0.0)){p=42;break}if((c|0)>(Q|0)){s=0;u=c;do{u=u+-1|0;s=f[E+(u<<2)>>2]|s}while((u|0)>(Q|0));if(s){p=41;break}else s=1}else s=1;while(1)if(!(f[E+(Q-s<<2)>>2]|0))s=s+1|0;else break;b=s+c|0;if((s|0)<=0){c=b;continue}while(1){u=c+1|0;s=c+r|0;o[C+(s<<3)>>3]=+(f[56060+(u+I<<2)>>2]|0);if(Z){a=0.0;c=0;do{a=a+ +o[A+(c<<3)>>3]*+o[C+(s-c<<3)>>3];c=c+1|0}while((c|0)!=(r|0))}else a=0.0;o[Y+(u<<3)>>3]=a;if((u|0)<(b|0))c=u;else{c=b;continue A}}}if((p|0)==41)while(1){p=0;l=l+-24|0;c=c+-1|0;if(!(f[E+(c<<2)>>2]|0))p=41;else{b=c;break}}else if((p|0)==42){a=+mz(a,0-l|0);if(a>=16777216.0){t=+(~~(a*5.9604644775390625e-08)|0);f[E+(c<<2)>>2]=~~(a-t*16777216.0);l=M+i|0;c=c+1|0;a=t}f[E+(c<<2)>>2]=~~a;b=c}a=+mz(1.0,l);u=(b|0)>-1;if(u){l=b;while(1){o[Y+(l<<3)>>3]=a*+(f[E+(l<<2)>>2]|0);if((l|0)>0){a=a*5.9604644775390625e-08;l=l+-1|0}else break}if(u){c=b;while(1){s=b-c|0;l=0;a=0.0;while(1){a=a+ +o[10840+(l<<3)>>3]*+o[Y+(l+c<<3)>>3];if((l|0)>=(Q|0)|(l|0)>=(s|0))break;else l=l+1|0}o[V+(s<<3)>>3]=a;if((c|0)>0)c=c+-1|0;else break}}}switch(n|0){case 0:{if(u){a=0.0;l=b;while(1){a=a+ +o[V+(l<<3)>>3];if((l|0)>0)l=l+-1|0;else break}}else a=0.0;t=(B|0)==0?a:-a;p=72;break}case 2:case 1:{if(u){a=0.0;l=b;while(1){a=a+ +o[V+(l<<3)>>3];if((l|0)>0)l=l+-1|0;else break}}else a=0.0;c=(B|0)==0;o[e>>3]=c?a:-a;a=+o[V>>3]-a;if((b|0)>=1){l=1;while(1){a=a+ +o[V+(l<<3)>>3];if((l|0)==(b|0))break;else l=l+1|0}}t=c?a:-a;e=e+8|0;p=72;break}case 3:{if((b|0)>0){l=b;a=+o[V+(b<<3)>>3];do{p=l;l=l+-1|0;Y=V+(l<<3)|0;t=+o[Y>>3];W=a;a=t+a;o[V+(p<<3)>>3]=W+(t-a);o[Y>>3]=a}while((p|0)>1);c=(b|0)>1;if(c){l=b;a=+o[V+(b<<3)>>3];do{p=l;l=l+-1|0;Y=V+(l<<3)|0;W=+o[Y>>3];t=a;a=W+a;o[V+(p<<3)>>3]=t+(W-a);o[Y>>3]=a}while((p|0)>2);if(c){l=b;t=0.0;while(1){t=t+ +o[V+(l<<3)>>3];if((l|0)>2)l=l+-1|0;else break}}else t=0.0}else t=0.0}else t=0.0;a=+o[V>>3];if(!B){o[e>>3]=a;a=+o[V+8>>3]}else{o[e>>3]=-a;t=-t;a=-+o[V+8>>3]}o[e+8>>3]=a;e=e+16|0;p=72;break}default:{}}if((p|0)==72)o[e>>3]=t;v=N;return h&7|0}function mz(A,e){A=+A;e=e|0;var i=0,r=0;if((e|0)<=1023){if((e|0)<-1022){A=A*2.2250738585072014e-308;r=(e|0)<-2044;i=e+2044|0;A=r?A*2.2250738585072014e-308:A;e=r?(i|0)>-1022?i:-1022:e+1022|0}}else{A=A*8988465674311579538646525.0e283;i=(e|0)>2046;r=e+-2046|0;A=i?A*8988465674311579538646525.0e283:A;e=i?(r|0)<1023?r:1023:e+-1023|0}i=EH(e+1023|0,0,52)|0;r=Q;f[u>>2]=i;f[u+4>>2]=r;return+(A*+o[u>>3])}function Zz(A){A=+A;var e=0,i=0,r=0,n=0.0,a=0.0;o[u>>3]=A;i=f[u+4>>2]|0;e=i&2147483647;do{if(e>>>0>2146435071)A=A+A;else{if(e>>>0<1048576){o[u>>3]=A*18014398509481984.0;i=f[u+4>>2]|0;e=i&2147483647;if(!e)break;else r=696219795}else r=715094163;f[u>>2]=0;f[u+4>>2]=((e>>>0)/3|0)+r|i&-2147483648;n=+o[u>>3];a=n*n*(n/A);o[u>>3]=(a*(a*a)*(a*.14599619288661245+-.758397934778766)+(a*(a*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*n;i=gH(f[u>>2]|0,f[u+4>>2]|0,-2147483648,0)|0;r=Q;f[u>>2]=i&-1073741824;f[u+4>>2]=r;n=+o[u>>3];A=A/(n*n);A=(A-n)/(n+n+A)*n+n}}while(0);return+A}function Gz(A,e){A=+A;e=+e;var i=0,r=0;o[u>>3]=A;r=f[u>>2]|0;i=f[u+4>>2]|0;o[u>>3]=e;i=f[u+4>>2]&-2147483648|i&2147483647;f[u>>2]=r;f[u+4>>2]=i;return+ +o[u>>3]}function Iz(A,e){A=+A;e=+e;return+ +Gz(A,e)}function Cz(A,e){A=+A;e=e|0;return+ +mz(A,e)}function Mz(A,e){A=+A;e=+e;return+ +Ez(A,e)}function Ez(A,e){A=+A;e=+e;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,s=0,b=0,v=0,B=0,k=0;o[u>>3]=A;t=f[u>>2]|0;c=f[u+4>>2]|0;o[u>>3]=e;b=f[u>>2]|0;v=f[u+4>>2]|0;r=MH(t|0,c|0,52)|0;r=r&2047;s=MH(b|0,v|0,52)|0;s=s&2047;B=c&-2147483648;a=EH(b|0,v|0,1)|0;l=Q;A:do{if(!((a|0)==0&(l|0)==0)?(n=Qz(e)|0,i=Q&2147483647,!((r|0)==2047|(i>>>0>2146435072|(i|0)==2146435072&n>>>0>0))):0){i=EH(t|0,c|0,1)|0;n=Q;if(!(n>>>0>l>>>0|(n|0)==(l|0)&i>>>0>a>>>0))return+((i|0)==(a|0)&(n|0)==(l|0)?A*0.0:A);if(!r){i=EH(t|0,c|0,12)|0;n=Q;if((n|0)>-1|(n|0)==-1&i>>>0>4294967295){r=0;do{r=r+-1|0;i=EH(i|0,n|0,1)|0;n=Q}while((n|0)>-1|(n|0)==-1&i>>>0>4294967295)}else r=0;t=EH(t|0,c|0,1-r|0)|0;a=Q}else a=c&1048575|1048576;if(!s){n=EH(b|0,v|0,12)|0;l=Q;if((l|0)>-1|(l|0)==-1&n>>>0>4294967295){i=0;do{i=i+-1|0;n=EH(n|0,l|0,1)|0;l=Q}while((l|0)>-1|(l|0)==-1&n>>>0>4294967295)}else i=0;b=EH(b|0,v|0,1-i|0)|0;s=i;c=Q}else c=v&1048575|1048576;n=mH(t|0,a|0,b|0,c|0)|0;i=Q;l=(i|0)>-1|(i|0)==-1&n>>>0>4294967295;e:do{if((r|0)>(s|0)){while(1){if(l){if((n|0)==0&(i|0)==0)break}else{n=t;i=a}t=EH(n|0,i|0,1)|0;a=Q;r=r+-1|0;n=mH(t|0,a|0,b|0,c|0)|0;i=Q;l=(i|0)>-1|(i|0)==-1&n>>>0>4294967295;if((r|0)<=(s|0))break e}e=A*0.0;break A}}while(0);if(l){if((n|0)==0&(i|0)==0){e=A*0.0;break}}else{i=a;n=t}if(i>>>0<1048576|(i|0)==1048576&n>>>0<0)do{n=EH(n|0,i|0,1)|0;i=Q;r=r+-1|0}while(i>>>0<1048576|(i|0)==1048576&n>>>0<0);if((r|0)>0){v=gH(n|0,i|0,0,-1048576)|0;i=Q;r=EH(r|0,0,52)|0;i=i|Q;r=v|r}else{r=MH(n|0,i|0,1-r|0)|0;i=Q}f[u>>2]=r;f[u+4>>2]=i|B;e=+o[u>>3]}else k=3}while(0);if((k|0)==3){e=A*e;e=e/e}return+e}function Qz(A){A=+A;var e=0;o[u>>3]=A;e=f[u>>2]|0;Q=f[u+4>>2]|0;return e|0}function yz(A,e){A=+A;e=+e;var i=0.0,r=0,n=0,a=0,t=0,l=0.0,c=0,s=0,b=0,B=0,k=0,w=0,h=0,d=0;k=v;v=v+32|0;c=k+24|0;s=k+16|0;b=k+8|0;B=k;o[u>>3]=A;d=f[u>>2]|0;a=f[u+4>>2]|0;o[u>>3]=e;r=f[u>>2]|0;a=a&2147483647;n=f[u+4>>2]&2147483647;t=a>>>0>>0|(a|0)==(n|0)&d>>>0>>0;h=t?r:d;w=t?n:a;r=t?d:r;n=t?a:n;a=MH(h|0,w|0,52)|0;t=MH(r|0,n|0,52)|0;f[u>>2]=h;f[u+4>>2]=w;A=+o[u>>3];f[u>>2]=r;f[u+4>>2]=n;l=+o[u>>3];do{if((t|0)!=2047){if(!((r|0)==0&(n|0)==0|(a|0)==2047)){if((a-t|0)>64){A=A+l;break}if((a|0)>1533){i=5260135901548373507240989.0e186;e=A*1.90109156629516e-211;A=l*1.90109156629516e-211}else{d=(t|0)<573;i=d?1.90109156629516e-211:1.0;e=d?A*5260135901548373507240989.0e186:A;A=d?l*5260135901548373507240989.0e186:l}Yz(c,s,e);Yz(b,B,A);A=i*+p(+(+o[B>>3]+ +o[s>>3]+ +o[b>>3]+ +o[c>>3]))}}else A=l}while(0);v=k;return+A}function Yz(A,e,i){A=A|0;e=e|0;i=+i;var r=0.0,n=0.0;n=i*134217729.0;n=n+(i-n);r=i-n;i=i*i;o[A>>3]=i;o[e>>3]=r*r+(n*n-i+n*2.0*r);return}function pz(A,e,i){A=+A;e=e|0;i=i|0;var r=0.0,n=0,a=0,t=0.0,l=0,c=0;l=v;v=v+16|0;a=l;o[u>>3]=A;n=f[u+4>>2]&2147483647;do{if(n>>>0<1072243196)if(n>>>0<1044816030){o[e>>3]=A;o[i>>3]=1.0;break}else{o[e>>3]=+vz(A,0.0,0);o[i>>3]=+wz(A,0.0);break}else{if(n>>>0>2146435071){t=A-A;o[i>>3]=t;o[e>>3]=t;break}n=dz(A,a)|0;c=a+8|0;r=+vz(+o[a>>3],+o[c>>3],1);A=+wz(+o[a>>3],+o[c>>3]);switch(n&3){case 0:{o[e>>3]=r;t=A;break}case 1:{o[e>>3]=A;t=-r;break}case 2:{o[e>>3]=-r;t=-A;break}case 3:{o[e>>3]=-A;t=r;break}default:{}}o[i>>3]=t}}while(0);v=l;return}function Vz(A,e){A=+A;e=e|0;return+ +kz(A,e)}function Nz(A){A=A|0;if(A>>>0<131072)A=(a[127725+((a[127725+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=0;return A|0}function Wz(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0;if(!i)n=0;else{n=r[A>>0]|0;A:do{if(!(n<<24>>24))n=0;else while(1){i=i+-1|0;f=r[e>>0]|0;if(!(n<<24>>24==f<<24>>24&((i|0)!=0&f<<24>>24!=0)))break A;A=A+1|0;e=e+1|0;n=r[A>>0]|0;if(!(n<<24>>24)){n=0;break}}}while(0);n=(n&255)-(a[e>>0]|0)|0}return n|0}function zz(A,e){A=A|0;e=e|0;A=rz(A,e)|0;return((r[A>>0]|0)==(e&255)<<24>>24?A:0)|0}function Jz(A){A=A|0;return((A|0)==32|(A+-9|0)>>>0<5)&1|0}function Pz(A,e,i){A=A|0;e=e|0;i=i|0;i=Lz(A,e,i,-1,0)|0;return i|0}function Rz(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;t=e&255;n=(i|0)!=0;A:do{if(n&(A&3|0)!=0){a=e&255;while(1){if((r[A>>0]|0)==a<<24>>24){l=6;break A}A=A+1|0;i=i+-1|0;n=(i|0)!=0;if(!(n&(A&3|0)!=0)){l=5;break}}}else l=5}while(0);if((l|0)==5)if(n)l=6;else i=0;A:do{if((l|0)==6){a=e&255;if((r[A>>0]|0)!=a<<24>>24){n=X(t,16843009)|0;e:do{if(i>>>0>3)while(1){t=f[A>>2]^n;if((t&-2139062144^-2139062144)&t+-16843009|0)break;A=A+4|0;i=i+-4|0;if(i>>>0<=3){l=11;break e}}else l=11}while(0);if((l|0)==11)if(!i){i=0;break}while(1){if((r[A>>0]|0)==a<<24>>24)break A;A=A+1|0;i=i+-1|0;if(!i){i=0;break}}}}}while(0);return(i|0?A:0)|0}function Hz(A){A=A|0;return(A+-48|0)>>>0<10|0}function Lz(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0;c=v;v=v+128|0;t=c;f[t>>2]=0;l=t+4|0;f[l>>2]=A;f[t+44>>2]=A;a=t+8|0;f[a>>2]=(A|0)<0?-1:A+2147483647|0;f[t+76>>2]=-1;Fz(t,0);i=Dz(t,i,1,r,n)|0;if(e|0)f[e>>2]=A+((f[l>>2]|0)+(f[t+108>>2]|0)-(f[a>>2]|0));v=c;return i|0}function Fz(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;f[A+104>>2]=e;i=f[A+8>>2]|0;r=f[A+4>>2]|0;n=i-r|0;f[A+108>>2]=n;f[A+100>>2]=(e|0)!=0&(n|0)>(e|0)?r+e|0:i;return}function Dz(A,e,i,n,t){A=A|0;e=e|0;i=i|0;n=n|0;t=t|0;var l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;A:do{if(e>>>0>36){f[(KW()|0)>>2]=22;t=0;n=0}else{w=A+4|0;k=A+100|0;do{l=f[w>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[w>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0}while((Jz(l)|0)!=0);e:do{switch(l|0){case 43:case 45:{l=((l|0)==45)<<31>>31;c=f[w>>2]|0;if(c>>>0<(f[k>>2]|0)>>>0){f[w>>2]=c+1;B=l;l=a[c>>0]|0;break e}else{B=l;l=Xz(A)|0;break e}}default:B=0}}while(0);c=(e|0)==0;do{if((e|16|0)==16&(l|0)==48){l=f[w>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[w>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0;if((l|32|0)!=120)if(c){e=8;b=46;break}else{b=32;break}l=f[w>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[w>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0;if((a[130894+l>>0]|0)>15){n=(f[k>>2]|0)==0;if(!n)f[w>>2]=(f[w>>2]|0)+-1;if(!i){Fz(A,0);t=0;n=0;break A}if(n){t=0;n=0;break A}f[w>>2]=(f[w>>2]|0)+-1;t=0;n=0;break A}else{e=16;b=46}}else{e=c?10:e;if(e>>>0>(a[130894+l>>0]|0)>>>0)b=32;else{if(f[k>>2]|0)f[w>>2]=(f[w>>2]|0)+-1;Fz(A,0);f[(KW()|0)>>2]=22;t=0;n=0;break A}}}while(0);e:do{if((b|0)==32)if((e|0)==10){e=l+-48|0;if(e>>>0<10){l=0;c=e;do{l=(l*10|0)+c|0;e=f[w>>2]|0;if(e>>>0<(f[k>>2]|0)>>>0){f[w>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;c=e+-48|0}while(c>>>0<10&l>>>0<429496729);i=0}else{e=l;l=0;i=0}o=e+-48|0;if(o>>>0<10){c=e;do{e=dH(l|0,i|0,10,0)|0;s=Q;u=((o|0)<0)<<31>>31;v=~u;if(s>>>0>v>>>0|(s|0)==(v|0)&e>>>0>~o>>>0){e=10;b=72;break e}l=gH(e|0,s|0,o|0,u|0)|0;i=Q;e=f[w>>2]|0;if(e>>>0<(f[k>>2]|0)>>>0){f[w>>2]=e+1;c=a[e>>0]|0}else c=Xz(A)|0;o=c+-48|0}while(o>>>0<10&(i>>>0<429496729|(i|0)==429496729&l>>>0<2576980378));if(o>>>0>9){c=B;e=i}else{e=10;b=72}}else{c=B;e=i}}else b=46}while(0);e:do{if((b|0)==46){if(!(e+-1&e)){b=r[131150+((e*23|0)>>>5&7)>>0]|0;i=r[130894+l>>0]|0;c=i&255;if(e>>>0>c>>>0){l=0;o=c;do{l=o|l<>2]|0;if(c>>>0<(f[k>>2]|0)>>>0){f[w>>2]=c+1;c=a[c>>0]|0}else c=Xz(A)|0;i=r[130894+c>>0]|0;o=i&255}while(l>>>0<134217728&e>>>0>o>>>0);o=0}else{c=l;o=0;l=0}s=MH(-1,-1,b|0)|0;u=Q;if(e>>>0<=(i&255)>>>0|(u>>>0>>0|(u|0)==(o|0)&s>>>0>>0)){i=o;b=72;break}else c=o;while(1){l=EH(l|0,c|0,b|0)|0;o=Q;l=l|i&255;c=f[w>>2]|0;if(c>>>0<(f[k>>2]|0)>>>0){f[w>>2]=c+1;c=a[c>>0]|0}else c=Xz(A)|0;i=r[130894+c>>0]|0;if(e>>>0<=(i&255)>>>0|(o>>>0>u>>>0|(o|0)==(u|0)&l>>>0>s>>>0)){i=o;b=72;break e}else c=o}}i=r[130894+l>>0]|0;c=i&255;if(e>>>0>c>>>0){l=0;o=c;do{l=o+(X(l,e)|0)|0;c=f[w>>2]|0;if(c>>>0<(f[k>>2]|0)>>>0){f[w>>2]=c+1;c=a[c>>0]|0}else c=Xz(A)|0;i=r[130894+c>>0]|0;o=i&255}while(l>>>0<119304647&e>>>0>o>>>0);o=0}else{c=l;l=0;o=0}if(e>>>0>(i&255)>>>0){b=IH(-1,-1,e|0,0)|0;v=Q;u=o;while(1){if(u>>>0>v>>>0|(u|0)==(v|0)&l>>>0>b>>>0){i=u;b=72;break e}o=dH(l|0,u|0,e|0,0)|0;s=Q;i=i&255;if(s>>>0>4294967295|(s|0)==-1&o>>>0>~i>>>0){i=u;b=72;break e}l=gH(o|0,s|0,i|0,0)|0;o=Q;c=f[w>>2]|0;if(c>>>0<(f[k>>2]|0)>>>0){f[w>>2]=c+1;c=a[c>>0]|0}else c=Xz(A)|0;i=r[130894+c>>0]|0;if(e>>>0<=(i&255)>>>0){i=o;b=72;break}else u=o}}else{i=o;b=72}}}while(0);if((b|0)==72)if(e>>>0>(a[130894+c>>0]|0)>>>0){do{l=f[w>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[w>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0}while(e>>>0>(a[130894+l>>0]|0)>>>0);f[(KW()|0)>>2]=34;c=(n&1|0)==0&0==0?B:0;e=t;l=n}else{c=B;e=i}if(f[k>>2]|0)f[w>>2]=(f[w>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(t|0)&l>>>0>>0)){if(!((n&1|0)!=0|0!=0|(c|0)!=0)){f[(KW()|0)>>2]=34;n=gH(n|0,t|0,-1,-1)|0;t=Q;break}if(e>>>0>t>>>0|(e|0)==(t|0)&l>>>0>n>>>0){f[(KW()|0)>>2]=34;break}}n=((c|0)<0)<<31>>31;n=mH(l^c|0,e^n|0,c|0,n|0)|0;t=Q}}while(0);Q=t;return n|0}function Xz(A){A=A|0;var e=0,i=0,n=0,t=0,l=0,c=0;i=A+104|0;t=f[i>>2]|0;if((t|0)!=0?(f[A+108>>2]|0)>=(t|0):0)l=4;else{e=xz(A)|0;if((e|0)>=0){n=f[i>>2]|0;i=A+8|0;if(n){c=f[i>>2]|0;t=f[A+4>>2]|0;i=n-(f[A+108>>2]|0)|0;n=c;if((c-t|0)<(i|0))i=n;else i=t+(i+-1)|0}else{n=f[i>>2]|0;i=n}f[A+100>>2]=i;i=A+4|0;if(!n)i=f[i>>2]|0;else{i=f[i>>2]|0;c=A+108|0;f[c>>2]=n+1-i+(f[c>>2]|0)}i=i+-1|0;if((e|0)!=(a[i>>0]|0|0))r[i>>0]=e}else l=4}if((l|0)==4){f[A+100>>2]=0;e=-1}return e|0}function xz(A){A=A|0;var e=0,i=0;i=v;v=v+16|0;e=i;if((Tz(A)|0)==0?(mL[f[A+32>>2]&31](A,e,1)|0)==1:0)A=a[e>>0]|0;else A=-1;v=i;return A|0}function Tz(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=A+20|0;i=A+28|0;if((f[e>>2]|0)>>>0>(f[i>>2]|0)>>>0)mL[f[A+36>>2]&31](A,0,0)|0;f[A+16>>2]=0;f[i>>2]=0;f[e>>2]=0;e=f[A>>2]|0;if(!(e&4)){i=(f[A+44>>2]|0)+(f[A+48>>2]|0)|0;f[A+8>>2]=i;f[A+4>>2]=i;e=e<<27>>31}else{f[A>>2]=e|32;e=-1}return e|0}function Uz(A){A=A|0;return(A+-48|0)>>>0<10|0}function Sz(A){A=A|0;if(!(jz(A)|0))A=(Hz(A)|0)!=0&1;else A=1;return A|0}function jz(A){A=A|0;return((A|32)+-97|0)>>>0<26|0}function Oz(A,e){A=A|0;e=e|0;var i=0,n=0,f=0;i=r[A>>0]|0;A:do{if(!(i<<24>>24))A=0;else{f=A;A=i;n=i&255;while(1){i=r[e>>0]|0;if(!(i<<24>>24))break A;if(A<<24>>24!=i<<24>>24?(n=Kz(n)|0,(n|0)!=(Kz(a[e>>0]|0)|0)):0)break;A=f+1|0;e=e+1|0;i=r[A>>0]|0;if(!(i<<24>>24)){A=0;break A}else{f=A;A=i;n=i&255}}A=r[f>>0]|0}}while(0);f=Kz(A&255)|0;return f-(Kz(a[e>>0]|0)|0)|0}function Kz(A){A=A|0;var e=0;e=(_z(A)|0)==0;return(e?A:A|32)|0}function _z(A){A=A|0;return(A+-65|0)>>>0<26|0}function qz(A){A=A|0;return $z(A,0)|0}function $z(A,e){A=A|0;e=e|0;var i=0,f=0,l=0,c=0,o=0,s=0,u=0;o=(e<<1)+-1|0;s=e+-1|0;A:do{if(!((A+-43008|0)>>>0<22272|((A+-11776|0)>>>0<30784|((A+-1536|0)>>>0<2560|(AJ(A)|0)==0)))){i=(e|0)!=0;if(i&(A+-4256|0)>>>0<46){if((A|0)>4293)switch(A|0){case 4295:case 4301:break;default:break A}A=A+7264|0;break}if((A+-11520|0)>>>0<38&(i^1)){A=A+-7264|0;break}else i=0;do{l=r[59170+(i<<2)+2>>0]|0;c=l<<24>>24;f=A-(t[59170+(i<<2)>>1]|0)|0;if((f-(s&c)|0)>>>0<(a[59170+(i<<2)+3>>0]|0)>>>0){u=11;break}i=i+1|0}while((i|0)!=61);if((u|0)==11)if(l<<24>>24==1){A=e+A-(f&1)|0;break}else{A=(X(o,c)|0)+A|0;break}l=1-e|0;i=n[58682+(l<<1)>>1]|0;e:do{if(i<<16>>16){f=0;while(1){if((i&65535|0)==(A|0))break;f=f+1|0;i=n[58682+(f<<2)+(l<<1)>>1]|0;if(!(i<<16>>16))break e}A=t[58682+(f<<2)+(e<<1)>>1]|0;break A}}while(0);return((A+-66600+(e*40|0)|0)>>>0<40?A+-40+(e*80|0)|0:A)|0}}while(0);return A|0}function AJ(A){A=A|0;if(A>>>0<131072)A=(a[131159+((a[131159+(A>>>8)>>0]|0)<<5|A>>>3&31)>>0]|0)>>>(A&7)&1;else A=A>>>0<196606&1;return A|0}function eJ(A){A=A|0;var e=0;e=A;while(1)if(!(f[e>>2]|0))break;else e=e+4|0;return e-A>>2|0}function iJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0,t=0;if(!i)A=0;else{n=r[A>>0]|0;A:do{if(!(n<<24>>24))A=0;else{t=A;A=n;n=n&255;while(1){i=i+-1|0;f=r[e>>0]|0;if(!((i|0)!=0&f<<24>>24!=0))break A;if(A<<24>>24!=f<<24>>24?(f=Kz(n)|0,(f|0)!=(Kz(a[e>>0]|0)|0)):0)break;A=t+1|0;e=e+1|0;n=r[A>>0]|0;if(!(n<<24>>24)){A=0;break A}else{t=A;A=n;n=n&255}}A=r[t>>0]|0}}while(0);A=Kz(A&255)|0;A=A-(Kz(a[e>>0]|0)|0)|0}return A|0}function rJ(A){A=A|0;if(A>>>0>=255)if((A+-57344|0)>>>0<8185|(A>>>0<8232|(A+-8234|0)>>>0<47062))A=1;else return(A&65534|0)!=65534&(A+-65532|0)>>>0<1048580&1|0;else A=(A+1&127)>>>0>32&1;return A|0}function nJ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0;o=v;v=v+16|0;a=o;l=(n|0)==0?170768:n;n=f[l>>2]|0;A:do{if(!e)if(!n)n=0;else c=17;else{t=(A|0)==0?a:A;if(!i)n=-2;else{if(!n){n=r[e>>0]|0;if(n<<24>>24>-1){f[t>>2]=n&255;n=n<<24>>24!=0&1;break}a=(f[f[(lJ()|0)+188>>2]>>2]|0)==0;n=r[e>>0]|0;if(a){f[t>>2]=n<<24>>24&57343;n=1;break}n=(n&255)+-194|0;if(n>>>0>50){c=17;break}n=f[55208+(n<<2)>>2]|0;a=i+-1|0;if(a){e=e+1|0;c=11}}else{a=i;c=11}e:do{if((c|0)==11){A=r[e>>0]|0;s=(A&255)>>>3;if((s+-16|s+(n>>26))>>>0>7){c=17;break A}while(1){e=e+1|0;n=(A&255)+-128|n<<6;a=a+-1|0;if((n|0)>=0)break;if(!a)break e;A=r[e>>0]|0;if((A&-64)<<24>>24!=-128){c=17;break A}}f[l>>2]=0;f[t>>2]=n;n=i-a|0;break A}}while(0);f[l>>2]=n;n=-2}}}while(0);if((c|0)==17){f[l>>2]=0;f[(KW()|0)>>2]=84;n=-1}v=o;return n|0}function fJ(A,e){A=A|0;e=e|0;if(!A)A=0;else A=aJ(A,e,0)|0;return A|0}function aJ(A,e,i){A=A|0;e=e|0;i=i|0;do{if(A){if(e>>>0<128){r[A>>0]=e;A=1;break}if(!(f[f[(tJ()|0)+188>>2]>>2]|0))if((e&-128|0)==57216){r[A>>0]=e;A=1;break}else{f[(KW()|0)>>2]=84;A=-1;break}if(e>>>0<2048){r[A>>0]=e>>>6|192;r[A+1>>0]=e&63|128;A=2;break}if(e>>>0<55296|(e&-8192|0)==57344){r[A>>0]=e>>>12|224;r[A+1>>0]=e>>>6&63|128;r[A+2>>0]=e&63|128;A=3;break}if((e+-65536|0)>>>0<1048576){r[A>>0]=e>>>18|240;r[A+1>>0]=e>>>12&63|128;r[A+2>>0]=e>>>6&63|128;r[A+3>>0]=e&63|128;A=4;break}else{f[(KW()|0)>>2]=84;A=-1;break}}else A=1}while(0);return A|0}function tJ(){return bz()|0}function lJ(){return bz()|0}function cJ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0;B=v;v=v+272|0;u=B+8|0;b=B;do{if(!(r[e>>0]|0)){e=DA(134135)|0;if(e|0?r[e>>0]|0:0)break;e=DA(134142+(A*12|0)|0)|0;if(e|0?r[e>>0]|0:0)break;e=DA(134214)|0;if(e|0?r[e>>0]|0:0)break;e=134219}}while(0);i=0;A:do{switch(r[e+i>>0]|0){case 47:case 0:break A;default:{}}i=i+1|0}while(i>>>0<15);n=r[e>>0]|0;if(n<<24>>24!=46?(r[e+i>>0]|0)==0:0)if(n<<24>>24==67)s=15;else{o=e;s=16}else{e=134219;s=15}if((s|0)==15)if(!(r[e+1>>0]|0))s=18;else{o=e;s=16}A:do{if((s|0)==16)if((oz(o,134219)|0)!=0?(oz(o,134227)|0)!=0:0){e=f[42693]|0;if(e|0)do{if(!(oz(o,e+8|0)|0))break A;e=f[e+24>>2]|0}while((e|0)!=0);hA(170776);e=f[42693]|0;e:do{if(e|0){while(1){if(!(oz(o,e+8|0)|0))break;e=f[e+24>>2]|0;if(!e)break e}WA(170776);break A}}while(0);e:do{if(((f[42678]|0)==0?(a=DA(134233)|0,(a|0)!=0):0)?(r[a>>0]|0)!=0:0){l=254-i|0;c=i+1|0;n=a;while(1){t=rz(n,58)|0;e=r[t>>0]|0;a=t-n+((e<<24>>24!=0)<<31>>31)|0;if(a>>>0>>0){VH(u|0,n|0,a|0)|0;n=u+a|0;r[n>>0]=47;VH(n+1|0,o|0,i|0)|0;r[u+(c+a)>>0]=0;n=dA(u|0,b|0)|0;if(n|0)break;e=r[t>>0]|0}n=t+(e<<24>>24!=0&1)|0;if(!(r[n>>0]|0)){s=41;break e}}e=RW(28)|0;if(!e){Az(n,f[b>>2]|0)|0;s=41;break}else{f[e>>2]=n;f[e+4>>2]=f[b>>2];b=e+8|0;VH(b|0,o|0,i|0)|0;r[b+i>>0]=0;f[e+24>>2]=f[42693];f[42693]=e;break}}else s=41}while(0);if((s|0)==41){e=RW(28)|0;if(e){f[e>>2]=f[13790];f[e+4>>2]=f[13791];b=e+8|0;VH(b|0,o|0,i|0)|0;r[b+i>>0]=0;f[e+24>>2]=f[42693];f[42693]=e}}WA(170776);e=(A|0)==0&(e|0)==0?55160:e}else{e=o;s=18}}while(0);do{if((s|0)==18){if((A|0)==0?(r[e+1>>0]|0)==46:0){e=55160;break}e=0}}while(0);v=B;return e|0}function oJ(A,e){A=A|0;e=e|0;sJ(A,e)|0;return A|0}function sJ(A,e){A=A|0;e=e|0;var i=0,n=0;i=e;A:do{if(!((i^A)&3)){if(i&3)do{i=r[e>>0]|0;r[A>>0]=i;if(!(i<<24>>24))break A;e=e+1|0;A=A+1|0}while((e&3|0)!=0);i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){n=A;while(1){e=e+4|0;A=n+4|0;f[n>>2]=i;i=f[e>>2]|0;if((i&-2139062144^-2139062144)&i+-16843009|0)break;else n=A}}n=8}else n=8}while(0);if((n|0)==8){n=r[e>>0]|0;r[A>>0]=n;if(n<<24>>24)do{e=e+1|0;A=A+1|0;n=r[e>>0]|0;r[A>>0]=n}while(n<<24>>24!=0)}return A|0}function uJ(A){A=A|0;return((A|0)==32|(A|0)==9)&1|0}function bJ(A){A=A|0;if(!A)A=0;else A=(vJ(56324,A)|0)!=0&1;return A|0}function vJ(A,e){A=A|0;e=e|0;var i=0;if(!e)A=A+((eJ(A)|0)<<2)|0;else{while(1){i=f[A>>2]|0;if((i|0)==0|(i|0)==(e|0))break;else A=A+4|0}A=i|0?A:0}return A|0}function BJ(A,e){A=A|0;e=e|0;do{switch(e|0){case 1:{A=kJ(A)|0;break}case 2:{A=AJ(A)|0;break}case 3:{A=wJ(A)|0;break}case 4:{A=hJ(A)|0;break}case 5:{A=Uz(A)|0;break}case 6:{A=dJ(A)|0;break}case 7:{A=gJ(A)|0;break}case 8:{A=rJ(A)|0;break}case 9:{A=Nz(A)|0;break}case 10:{A=bJ(A)|0;break}case 11:{A=mJ(A)|0;break}case 12:{A=ZJ(A)|0;break}default:A=0}}while(0);return A|0}function kJ(A){A=A|0;if(!(Uz(A)|0))A=(AJ(A)|0)!=0&1;else A=1;return A|0}function wJ(A){A=A|0;return uJ(A)|0}function hJ(A){A=A|0;return((A+-65529|0)>>>0<3|((A&-2|0)==8232|(A>>>0<32|(A+-127|0)>>>0<33)))&1|0}function dJ(A){A=A|0;if(!(bJ(A)|0))A=(rJ(A)|0)!=0&1;else A=0;return A|0}function gJ(A){A=A|0;return(qz(A)|0)!=(A|0)|0}function mJ(A){A=A|0;return(GJ(A)|0)!=(A|0)|0}function ZJ(A){A=A|0;return((A+-48|0)>>>0<10|((A|32)+-97|0)>>>0<6)&1|0}function GJ(A){A=A|0;return $z(A,1)|0}function IJ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+128|0;a=u+124|0;s=u;t=s;l=56412;c=t+124|0;do{f[t>>2]=f[l>>2];t=t+4|0;l=l+4|0}while((t|0)<(c|0));if((e+-1|0)>>>0>2147483646)if(!e){A=a;e=1;o=4}else{f[(KW()|0)>>2]=75;e=-1}else o=4;if((o|0)==4){o=-2-A|0;o=e>>>0>o>>>0?o:e;f[s+48>>2]=o;a=s+20|0;f[a>>2]=A;f[s+44>>2]=A;e=A+o|0;A=s+16|0;f[A>>2]=e;f[s+28>>2]=e;e=CJ(s,i,n)|0;if(o){s=f[a>>2]|0;r[s+(((s|0)==(f[A>>2]|0))<<31>>31)>>0]=0}}v=u;return e|0}function CJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+224|0;u=h+120|0;B=h+80|0;k=h;w=h+136|0;n=B;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));f[u>>2]=f[i>>2];if((MJ(0,e,u,k,B)|0)<0)i=-1;else{if((f[A+76>>2]|0)>-1)b=EJ(A)|0;else b=0;i=f[A>>2]|0;s=i&32;if((r[A+74>>0]|0)<1)f[A>>2]=i&-33;n=A+48|0;if(!(f[n>>2]|0)){a=A+44|0;t=f[a>>2]|0;f[a>>2]=w;l=A+28|0;f[l>>2]=w;c=A+20|0;f[c>>2]=w;f[n>>2]=80;o=A+16|0;f[o>>2]=w+80;i=MJ(A,e,u,k,B)|0;if(t){mL[f[A+36>>2]&31](A,0,0)|0;i=(f[c>>2]|0)==0?-1:i;f[a>>2]=t;f[n>>2]=0;f[o>>2]=0;f[l>>2]=0;f[c>>2]=0}}else i=MJ(A,e,u,k,B)|0;n=f[A>>2]|0;f[A>>2]=n|s;if(b|0)QJ(A);i=(n&32|0)==0?i:-1}v=h;return i|0}function MJ(A,e,i,a,t){A=A|0;e=e|0;i=i|0;a=a|0;t=t|0;var l=0,c=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,y=0,Y=0,p=0,V=0,N=0,W=0;W=v;v=v+64|0;y=W+16|0;Y=W;C=W+24|0;V=W+8|0;N=W+20|0;f[y>>2]=e;Z=(A|0)!=0;G=C+40|0;I=G;C=C+39|0;M=V+4|0;l=0;e=0;s=0;A:while(1){do{if((e|0)>-1)if((l|0)>(2147483647-e|0)){f[(KW()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}}while(0);w=f[y>>2]|0;l=r[w>>0]|0;if(!(l<<24>>24)){m=88;break}else c=w;e:while(1){switch(l<<24>>24){case 37:{l=c;m=9;break e}case 0:{l=c;break e}default:{}}g=c+1|0;f[y>>2]=g;l=r[g>>0]|0;c=g}e:do{if((m|0)==9)while(1){m=0;if((r[c+1>>0]|0)!=37)break e;l=l+1|0;c=c+2|0;f[y>>2]=c;if((r[c>>0]|0)!=37)break;else m=9}}while(0);l=l-w|0;if(Z)yJ(A,w,l);if(l|0)continue;g=(Hz(r[(f[y>>2]|0)+1>>0]|0)|0)==0;c=f[y>>2]|0;if(!g?(r[c+2>>0]|0)==36:0){h=(r[c+1>>0]|0)+-48|0;u=1;l=3}else{h=-1;u=s;l=1}l=c+l|0;f[y>>2]=l;c=r[l>>0]|0;g=(c<<24>>24)+-32|0;if(g>>>0>31|(1<>24)+-32|s;l=l+1|0;f[y>>2]=l;c=r[l>>0]|0;g=(c<<24>>24)+-32|0}while(!(g>>>0>31|(1<>24==42){if((Hz(r[l+1>>0]|0)|0)!=0?(p=f[y>>2]|0,(r[p+2>>0]|0)==36):0){l=p+1|0;f[t+((r[l>>0]|0)+-48<<2)>>2]=10;l=f[a+((r[l>>0]|0)+-48<<3)>>2]|0;c=1;u=p+3|0}else{if(u|0){e=-1;break}if(Z){g=(f[i>>2]|0)+(4-1)&~(4-1);l=f[g>>2]|0;f[i>>2]=g+4}else l=0;c=0;u=(f[y>>2]|0)+1|0}f[y>>2]=u;d=(l|0)<0;g=d?0-l|0:l;s=d?s|8192:s;d=c;l=u}else{l=YJ(y)|0;if((l|0)<0){e=-1;break}g=l;d=u;l=f[y>>2]|0}do{if((r[l>>0]|0)==46){if((r[l+1>>0]|0)!=42){f[y>>2]=l+1;B=YJ(y)|0;l=f[y>>2]|0;break}if(Hz(r[l+2>>0]|0)|0?(E=f[y>>2]|0,(r[E+3>>0]|0)==36):0){B=E+2|0;f[t+((r[B>>0]|0)+-48<<2)>>2]=10;B=f[a+((r[B>>0]|0)+-48<<3)>>2]|0;l=E+4|0;f[y>>2]=l;break}if(d|0){e=-1;break A}if(Z){k=(f[i>>2]|0)+(4-1)&~(4-1);l=f[k>>2]|0;f[i>>2]=k+4}else l=0;k=(f[y>>2]|0)+2|0;f[y>>2]=k;B=l;l=k}else B=-1}while(0);k=0;while(1){if(((r[l>>0]|0)+-65|0)>>>0>57){e=-1;break A}c=l;l=l+1|0;f[y>>2]=l;c=r[(r[c>>0]|0)+-65+(134246+(k*58|0))>>0]|0;u=c&255;if((u+-1|0)>>>0>=8)break;else k=u}if(!(c<<24>>24)){e=-1;break}b=(h|0)>-1;do{if(c<<24>>24==19)if(b){e=-1;break A}else m=50;else{if(b){f[t+(h<<2)>>2]=u;b=a+(h<<3)|0;h=f[b+4>>2]|0;m=Y;f[m>>2]=f[b>>2];f[m+4>>2]=h;m=50;break}if(!Z){e=0;break A}pJ(Y,u,i);l=f[y>>2]|0}}while(0);if((m|0)==50){m=0;if(!Z){l=0;s=d;continue}}c=r[l+-1>>0]|0;c=(k|0)!=0&(c&15|0)==3?c&-33:c;l=s&-65537;h=(s&8192|0)==0?s:l;e:do{switch(c|0){case 110:switch((k&255)<<24>>24){case 0:{f[f[Y>>2]>>2]=e;l=0;s=d;continue A}case 1:{f[f[Y>>2]>>2]=e;l=0;s=d;continue A}case 2:{l=f[Y>>2]|0;f[l>>2]=e;f[l+4>>2]=((e|0)<0)<<31>>31;l=0;s=d;continue A}case 3:{n[f[Y>>2]>>1]=e;l=0;s=d;continue A}case 4:{r[f[Y>>2]>>0]=e;l=0;s=d;continue A}case 6:{f[f[Y>>2]>>2]=e;l=0;s=d;continue A}case 7:{l=f[Y>>2]|0;f[l>>2]=e;f[l+4>>2]=((e|0)<0)<<31>>31;l=0;s=d;continue A}default:{l=0;s=d;continue A}}case 112:{c=120;l=B>>>0>8?B:8;s=h|8;m=62;break}case 88:case 120:{l=B;s=h;m=62;break}case 111:{c=Y;l=f[c>>2]|0;c=f[c+4>>2]|0;b=NJ(l,c,G)|0;s=I-b|0;k=0;u=134710;B=(h&8|0)==0|(B|0)>(s|0)?B:s+1|0;s=h;m=68;break}case 105:case 100:{c=Y;l=f[c>>2]|0;c=f[c+4>>2]|0;if((c|0)<0){l=mH(0,0,l|0,c|0)|0;c=Q;s=Y;f[s>>2]=l;f[s+4>>2]=c;s=1;u=134710;m=67;break e}else{s=(h&2049|0)!=0&1;u=(h&2048|0)==0?(h&1|0)==0?134710:134712:134711;m=67;break e}}case 117:{c=Y;s=0;u=134710;l=f[c>>2]|0;c=f[c+4>>2]|0;m=67;break}case 99:{r[C>>0]=f[Y>>2];w=C;k=0;u=134710;b=G;c=1;break}case 109:{c=sz(f[(KW()|0)>>2]|0)|0;m=72;break}case 115:{c=f[Y>>2]|0;c=c|0?c:134720;m=72;break}case 67:{f[V>>2]=f[Y>>2];f[M>>2]=0;f[Y>>2]=V;B=-1;s=V;m=76;break}case 83:{l=f[Y>>2]|0;if(!B){zJ(A,32,g,0,h);l=0;m=85}else{s=l;m=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=JJ(A,+o[Y>>3],g,B,h,c)|0;s=d;continue A}default:{k=0;u=134710;b=G;c=B;l=h}}}while(0);e:do{if((m|0)==62){h=Y;w=f[h>>2]|0;h=f[h+4>>2]|0;b=VJ(w,h,G,c&32)|0;u=(s&8|0)==0|(w|0)==0&(h|0)==0;k=u?0:2;u=u?134710:134710+(c>>4)|0;B=l;l=w;c=h;m=68}else if((m|0)==67){b=WJ(l,c,G)|0;k=s;s=h;m=68}else if((m|0)==72){m=0;h=Rz(c,0,B)|0;s=(h|0)==0;w=c;k=0;u=134710;b=s?c+B|0:h;c=s?B:h-c|0}else if((m|0)==76){m=0;b=s;l=0;c=0;while(1){u=f[b>>2]|0;if(!u)break;c=fJ(N,u)|0;if((c|0)<0|c>>>0>(B-l|0)>>>0)break;l=c+l|0;if(B>>>0>l>>>0)b=b+4|0;else break}if((c|0)<0){e=-1;break A}zJ(A,32,g,l,h);if(!l){l=0;m=85}else{u=0;while(1){c=f[s>>2]|0;if(!c){m=85;break e}c=fJ(N,c)|0;u=c+u|0;if((u|0)>(l|0)){m=85;break e}yJ(A,N,c);if(u>>>0>=l>>>0){m=85;break}else s=s+4|0}}}}while(0);if((m|0)==68){m=0;c=(l|0)!=0|(c|0)!=0;l=(B|0)!=0|c;c=I-b+((c^1)&1)|0;w=l?b:G;b=G;c=l?(B|0)>(c|0)?B:c:B;l=(B|0)>-1?s&-65537:s}else if((m|0)==85){m=0;zJ(A,32,g,l,h^8192);l=(g|0)>(l|0)?g:l;s=d;continue}B=b-w|0;b=(c|0)<(B|0)?B:c;h=b+k|0;s=(g|0)<(h|0)?h:g;zJ(A,32,s,h,l);yJ(A,u,k);zJ(A,48,s,h,l^65536);zJ(A,48,b,B,0);yJ(A,w,B);zJ(A,32,s,h,l^8192);l=s;s=d}A:do{if((m|0)==88)if(!A)if(s){e=1;while(1){l=f[t+(e<<2)>>2]|0;if(!l)break;pJ(a+(e<<3)|0,l,i);l=e+1|0;if((e|0)<9)e=l;else{e=l;break}}if((e|0)<10)while(1){if(f[t+(e<<2)>>2]|0){e=-1;break A}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0}while(0);v=W;return e|0}function EJ(A){A=A|0;return 0}function QJ(A){A=A|0;return}function yJ(A,e,i){A=A|0;e=e|0;i=i|0;if(!(f[A>>2]&32))RJ(e,i,A)|0;return}function YJ(A){A=A|0;var e=0,i=0;if(!(Hz(r[f[A>>2]>>0]|0)|0))e=0;else{e=0;do{i=f[A>>2]|0;e=(e*10|0)+-48+(r[i>>0]|0)|0;i=i+1|0;f[A>>2]=i}while((Hz(r[i>>0]|0)|0)!=0)}return e|0}function pJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0.0;A:do{if(e>>>0<=20)do{switch(e|0){case 9:{r=(f[i>>2]|0)+(4-1)&~(4-1);e=f[r>>2]|0;f[i>>2]=r+4;f[A>>2]=e;break A}case 10:{r=(f[i>>2]|0)+(4-1)&~(4-1);e=f[r>>2]|0;f[i>>2]=r+4;r=A;f[r>>2]=e;f[r+4>>2]=((e|0)<0)<<31>>31;break A}case 11:{r=(f[i>>2]|0)+(4-1)&~(4-1);e=f[r>>2]|0;f[i>>2]=r+4;r=A;f[r>>2]=e;f[r+4>>2]=0;break A}case 12:{r=(f[i>>2]|0)+(8-1)&~(8-1);e=r;n=f[e>>2]|0;e=f[e+4>>2]|0;f[i>>2]=r+8;r=A;f[r>>2]=n;f[r+4>>2]=e;break A}case 13:{n=(f[i>>2]|0)+(4-1)&~(4-1);r=f[n>>2]|0;f[i>>2]=n+4;r=(r&65535)<<16>>16;n=A;f[n>>2]=r;f[n+4>>2]=((r|0)<0)<<31>>31;break A}case 14:{n=(f[i>>2]|0)+(4-1)&~(4-1);r=f[n>>2]|0;f[i>>2]=n+4;n=A;f[n>>2]=r&65535;f[n+4>>2]=0;break A}case 15:{n=(f[i>>2]|0)+(4-1)&~(4-1);r=f[n>>2]|0;f[i>>2]=n+4;r=(r&255)<<24>>24;n=A;f[n>>2]=r;f[n+4>>2]=((r|0)<0)<<31>>31;break A}case 16:{n=(f[i>>2]|0)+(4-1)&~(4-1);r=f[n>>2]|0;f[i>>2]=n+4;n=A;f[n>>2]=r&255;f[n+4>>2]=0;break A}case 17:{n=(f[i>>2]|0)+(8-1)&~(8-1);a=+o[n>>3];f[i>>2]=n+8;o[A>>3]=a;break A}case 18:{n=(f[i>>2]|0)+(8-1)&~(8-1);a=+o[n>>3];f[i>>2]=n+8;o[A>>3]=a;break A}default:break A}}while(0)}while(0);return}function VJ(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=a[134758+(A&15)>>0]|0|n;A=MH(A|0,e|0,4)|0;e=Q}while(!((A|0)==0&(e|0)==0));return i|0}function NJ(A,e,i){A=A|0;e=e|0;i=i|0;if(!((A|0)==0&(e|0)==0))do{i=i+-1|0;r[i>>0]=A&7|48;A=MH(A|0,e|0,3)|0;e=Q}while(!((A|0)==0&(e|0)==0));return i|0}function WJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;if(e>>>0>0|(e|0)==0&A>>>0>4294967295){while(1){n=CH(A|0,e|0,10,0)|0;i=i+-1|0;r[i>>0]=n&255|48;n=A;A=IH(A|0,e|0,10,0)|0;if(!(e>>>0>9|(e|0)==9&n>>>0>4294967295))break;else e=Q}e=A}else e=A;if(e)while(1){i=i+-1|0;r[i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return i|0}function zJ(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0;a=v;v=v+256|0;f=a;if((i|0)>(r|0)&(n&73728|0)==0){n=i-r|0;WH(f|0,e<<24>>24|0,(n>>>0<256?n:256)|0)|0;if(n>>>0>255){e=i-r|0;do{yJ(A,f,256);n=n+-256|0}while(n>>>0>255);n=e&255}yJ(A,f,n)}v=a;return}function JJ(A,e,i,n,t,l){A=A|0;e=+e;i=i|0;n=n|0;t=t|0;l=l|0;var c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,y=0,Y=0,p=0,V=0,N=0;N=v;v=v+560|0;s=N+8|0;g=N;V=N+524|0;p=V;u=N+512|0;f[g>>2]=0;Y=u+12|0;PJ(e)|0;if((Q|0)<0){e=-e;E=1;M=134727}else{E=(t&2049|0)!=0&1;M=(t&2048|0)==0?(t&1|0)==0?134728:134733:134730}PJ(e)|0;do{if(0==0&(Q&2146435072|0)==2146435072){V=(l&32|0)!=0;c=E+3|0;zJ(A,32,i,c,t&-65537);yJ(A,M,E);yJ(A,e!=e|0.0!=0.0?V?134895:134754:V?134746:134750,3);zJ(A,32,i,c,t^8192)}else{w=+Vz(e,g)*2.0;c=w!=0.0;if(c)f[g>>2]=(f[g>>2]|0)+-1;Z=l|32;if((Z|0)==97){B=l&32;h=(B|0)==0?M:M+9|0;k=E|2;c=12-n|0;do{if(!(n>>>0>11|(c|0)==0)){e=8.0;do{c=c+-1|0;e=e*16.0}while((c|0)!=0);if((r[h>>0]|0)==45){e=-(e+(-w-e));break}else{e=w+e-e;break}}else e=w}while(0);o=f[g>>2]|0;c=(o|0)<0?0-o|0:o;c=WJ(c,((c|0)<0)<<31>>31,Y)|0;if((c|0)==(Y|0)){c=u+11|0;r[c>>0]=48}r[c+-1>>0]=(o>>31&2)+43;b=c+-2|0;r[b>>0]=l+15;s=(n|0)<1;u=(t&8|0)==0;c=V;do{y=~~e;o=c+1|0;r[c>>0]=B|a[134758+y>>0];e=(e-+(y|0))*16.0;if((o-p|0)==1?!(u&(s&e==0.0)):0){r[o>>0]=46;c=c+2|0}else c=o}while(e!=0.0);if((n|0)!=0?(-2-p+c|0)<(n|0):0){o=c-p|0;c=n+2|0}else{c=c-p|0;o=c}Y=Y-b|0;p=Y+k+c|0;zJ(A,32,i,p,t);yJ(A,h,k);zJ(A,48,i,p,t^65536);yJ(A,V,o);zJ(A,48,c-o|0,0,0);yJ(A,b,Y);zJ(A,32,i,p,t^8192);c=p;break}o=(n|0)<0?6:n;if(c){c=(f[g>>2]|0)+-28|0;f[g>>2]=c;e=w*268435456.0}else{e=w;c=f[g>>2]|0}y=(c|0)<0?s:s+288|0;s=y;do{I=~~e>>>0;f[s>>2]=I;s=s+4|0;e=(e-+(I>>>0))*1.0e9}while(e!=0.0);if((c|0)>0){u=y;B=s;while(1){b=(c|0)<29?c:29;c=B+-4|0;if(c>>>0>=u>>>0){s=0;do{G=EH(f[c>>2]|0,0,b|0)|0;G=gH(G|0,Q|0,s|0,0)|0;I=Q;m=CH(G|0,I|0,1e9,0)|0;f[c>>2]=m;s=IH(G|0,I|0,1e9,0)|0;c=c+-4|0}while(c>>>0>=u>>>0);if(s){u=u+-4|0;f[u>>2]=s}}s=B;while(1){if(s>>>0<=u>>>0)break;c=s+-4|0;if(!(f[c>>2]|0))s=c;else break}c=(f[g>>2]|0)-b|0;f[g>>2]=c;if((c|0)>0)B=s;else break}}else u=y;if((c|0)<0){n=((o+25|0)/9|0)+1|0;d=(Z|0)==102;do{h=0-c|0;h=(h|0)<9?h:9;if(u>>>0>>0){b=(1<>>h;k=0;c=u;do{I=f[c>>2]|0;f[c>>2]=(I>>>h)+k;k=X(I&b,B)|0;c=c+4|0}while(c>>>0>>0);c=(f[u>>2]|0)==0?u+4|0:u;if(!k){u=c;c=s}else{f[s>>2]=k;u=c;c=s+4|0}}else{u=(f[u>>2]|0)==0?u+4|0:u;c=s}s=d?y:u;s=(c-s>>2|0)>(n|0)?s+(n<<2)|0:c;c=(f[g>>2]|0)+h|0;f[g>>2]=c}while((c|0)<0);c=u;n=s}else{c=u;n=s}I=y;if(c>>>0>>0){s=(I-c>>2)*9|0;b=f[c>>2]|0;if(b>>>0>=10){u=10;do{u=u*10|0;s=s+1|0}while(b>>>0>=u>>>0)}}else s=0;d=(Z|0)==103;m=(o|0)!=0;u=o-((Z|0)!=102?s:0)+((m&d)<<31>>31)|0;if((u|0)<(((n-I>>2)*9|0)+-9|0)){u=u+9216|0;h=y+4+(((u|0)/9|0)+-1024<<2)|0;u=(u|0)%9|0;if((u|0)<8){b=10;while(1){b=b*10|0;if((u|0)<7)u=u+1|0;else break}}else b=10;B=f[h>>2]|0;k=(B>>>0)%(b>>>0)|0;u=(h+4|0)==(n|0);if(!(u&(k|0)==0)){w=(((B>>>0)/(b>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;G=(b|0)/2|0;e=k>>>0>>0?.5:u&(k|0)==(G|0)?1.0:1.5;if(E){G=(r[M>>0]|0)==45;e=G?-e:e;w=G?-w:w}u=B-k|0;f[h>>2]=u;if(w+e!=w){G=u+b|0;f[h>>2]=G;if(G>>>0>999999999){s=h;while(1){u=s+-4|0;f[s>>2]=0;if(u>>>0>>0){c=c+-4|0;f[c>>2]=0}G=(f[u>>2]|0)+1|0;f[u>>2]=G;if(G>>>0>999999999)s=u;else break}}else u=h;s=(I-c>>2)*9|0;B=f[c>>2]|0;if(B>>>0>=10){b=10;do{b=b*10|0;s=s+1|0}while(B>>>0>=b>>>0)}}else u=h}else u=h;u=u+4|0;u=n>>>0>u>>>0?u:n;G=c}else{u=n;G=c}Z=u;while(1){if(Z>>>0<=G>>>0){g=0;break}c=Z+-4|0;if(!(f[c>>2]|0))Z=c;else{g=1;break}}n=0-s|0;do{if(d){c=o+((m^1)&1)|0;if((c|0)>(s|0)&(s|0)>-5){b=l+-1|0;o=c+-1-s|0}else{b=l+-2|0;o=c+-1|0}c=t&8;if(!c){if(g?(C=f[Z+-4>>2]|0,(C|0)!=0):0)if(!((C>>>0)%10|0)){u=0;c=10;do{c=c*10|0;u=u+1|0}while(!((C>>>0)%(c>>>0)|0|0))}else u=0;else u=9;c=((Z-I>>2)*9|0)+-9|0;if((b|32|0)==102){h=c-u|0;h=(h|0)>0?h:0;o=(o|0)<(h|0)?o:h;h=0;break}else{h=c+s-u|0;h=(h|0)>0?h:0;o=(o|0)<(h|0)?o:h;h=0;break}}else h=c}else{b=l;h=t&8}}while(0);d=o|h;B=(d|0)!=0&1;k=(b|32|0)==102;if(k){m=0;c=(s|0)>0?s:0}else{c=(s|0)<0?n:s;c=WJ(c,((c|0)<0)<<31>>31,Y)|0;u=Y;if((u-c|0)<2)do{c=c+-1|0;r[c>>0]=48}while((u-c|0)<2);r[c+-1>>0]=(s>>31&2)+43;c=c+-2|0;r[c>>0]=b;m=c;c=u-c|0}c=E+1+o+B+c|0;zJ(A,32,i,c,t);yJ(A,M,E);zJ(A,48,i,c,t^65536);if(k){b=G>>>0>y>>>0?y:G;h=V+9|0;B=h;k=V+8|0;u=b;do{s=WJ(f[u>>2]|0,0,h)|0;if((u|0)==(b|0)){if((s|0)==(h|0)){r[k>>0]=48;s=k}}else if(s>>>0>V>>>0){WH(V|0,48,s-p|0)|0;do{s=s+-1|0}while(s>>>0>V>>>0)}yJ(A,s,B-s|0);u=u+4|0}while(u>>>0<=y>>>0);if(d|0)yJ(A,134774,1);if(u>>>0>>0&(o|0)>0)while(1){s=WJ(f[u>>2]|0,0,h)|0;if(s>>>0>V>>>0){WH(V|0,48,s-p|0)|0;do{s=s+-1|0}while(s>>>0>V>>>0)}yJ(A,s,(o|0)<9?o:9);u=u+4|0;s=o+-9|0;if(!(u>>>0>>0&(o|0)>9)){o=s;break}else o=s}zJ(A,48,o+9|0,9,0)}else{d=g?Z:G+4|0;if((o|0)>-1){g=V+9|0;h=(h|0)==0;n=g;B=0-p|0;k=V+8|0;b=G;do{s=WJ(f[b>>2]|0,0,g)|0;if((s|0)==(g|0)){r[k>>0]=48;s=k}do{if((b|0)==(G|0)){u=s+1|0;yJ(A,s,1);if(h&(o|0)<1){s=u;break}yJ(A,134774,1);s=u}else{if(s>>>0<=V>>>0)break;WH(V|0,48,s+B|0)|0;do{s=s+-1|0}while(s>>>0>V>>>0)}}while(0);p=n-s|0;yJ(A,s,(o|0)>(p|0)?p:o);o=o-p|0;b=b+4|0}while(b>>>0>>0&(o|0)>-1)}zJ(A,48,o+18|0,18,0);yJ(A,m,Y-m|0)}zJ(A,32,i,c,t^8192)}}while(0);v=N;return((c|0)<(i|0)?i:c)|0}function PJ(A){A=+A;var e=0;o[u>>3]=A;e=f[u>>2]|0;Q=f[u+4>>2]|0;return e|0}function RJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0,c=0;n=i+16|0;a=f[n>>2]|0;if(!a)if(!(HJ(i)|0)){a=f[n>>2]|0;t=5}else n=0;else t=5;A:do{if((t|0)==5){c=i+20|0;l=f[c>>2]|0;n=l;if((a-l|0)>>>0>>0){n=mL[f[i+36>>2]&31](i,A,e)|0;break}e:do{if((r[i+75>>0]|0)>-1){l=e;while(1){if(!l){t=0;a=A;break e}a=l+-1|0;if((r[A+a>>0]|0)==10)break;else l=a}n=mL[f[i+36>>2]&31](i,A,l)|0;if(n>>>0>>0)break A;t=l;a=A+l|0;e=e-l|0;n=f[c>>2]|0}else{t=0;a=A}}while(0);VH(n|0,a|0,e|0)|0;f[c>>2]=(f[c>>2]|0)+e;n=t+e|0}}while(0);return n|0}function HJ(A){A=A|0;var e=0,i=0;e=A+74|0;i=r[e>>0]|0;r[e>>0]=i+255|i;e=f[A>>2]|0;if(!(e&8)){f[A+8>>2]=0;f[A+4>>2]=0;i=f[A+44>>2]|0;f[A+28>>2]=i;f[A+20>>2]=i;f[A+16>>2]=i+(f[A+48>>2]|0);A=0}else{f[A>>2]=e|32;A=-1}return A|0}function LJ(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=A+20|0;n=f[r>>2]|0;A=(f[A+16>>2]|0)-n|0;A=A>>>0>i>>>0?i:A;VH(n|0,e|0,A|0)|0;f[r>>2]=(f[r>>2]|0)+A;return i|0}function FJ(A){A=A|0;var e=0,i=0,n=0,f=0;n=r[A>>0]|0;e=1;i=134776;f=97;while(1){if(n<<24>>24==f<<24>>24?(oz(A,i)|0)==0:0)break;i=i+6|0;f=r[i>>0]|0;if(!(f<<24>>24)){e=0;break}else e=e+1|0}return e|0}function DJ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;t=v;v=v+16|0;a=t;do{if(A>>>0>6)e=0;else{hA(170784);if((A|0)!=6){e=XJ(A,e)|0;WA(170784);break}if(!e){e=176258;A=0}else{A=a;i=134849;n=A+16|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(n|0));n=0;do{A=rz(e,59)|0;i=A-e|0;if((i|0)<16){VH(a|0,e|0,i|0)|0;r[a+i>>0]=0;e=(r[A>>0]|0)==0?e:A+1|0}XJ(n,a)|0;n=n+1|0}while((n|0)!=6);e=176258;A=0}while(1){n=f[170744+(A<<2)>>2]|0;n=n|0?n+8|0:134865;i=nz(n)|0;VH(e|0,n|0,i|0)|0;n=e+i|0;r[n>>0]=59;A=A+1|0;if((A|0)==6)break;else e=e+(i+1)|0}r[n>>0]=0;WA(170784);e=176258}}while(0);v=t;return e|0}function XJ(A,e){A=A|0;e=e|0;if(!e)A=f[170744+(A<<2)>>2]|0;else{e=cJ(A,e)|0;f[170744+(A<<2)>>2]=e;A=e}return(A|0?A+8|0:134865)|0}function xJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,f=0;A:do{if(!i)A=0;else{while(1){n=r[A>>0]|0;f=r[e>>0]|0;if(n<<24>>24!=f<<24>>24)break;i=i+-1|0;if(!i){A=0;break A}else{A=A+1|0;e=e+1|0}}A=(n&255)-(f&255)|0}}while(0);return A|0}function TJ(A){A=A|0;return UJ(A)|0}function UJ(A){A=A|0;return QH(A|0)|0}function SJ(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0;if((f[i+76>>2]|0)>-1)u=EJ(i)|0;else u=0;n=e+-1|0;if((e|0)<2){b=i+74|0;s=r[b>>0]|0;r[b>>0]=s+255|s;if(u|0)QJ(i);if(!n)r[A>>0]=0;else A=0}else{A:do{if(n){o=i+4|0;s=i+8|0;e=A;while(1){t=f[o>>2]|0;v=t;B=(f[s>>2]|0)-v|0;l=Rz(t,10,B)|0;c=(l|0)==0;l=c?B:1-v+l|0;l=l>>>0>>0?l:n;VH(e|0,t|0,l|0)|0;t=(f[o>>2]|0)+l|0;f[o>>2]=t;e=e+l|0;l=n-l|0;if(!(c&(l|0)!=0)){b=17;break A}if(t>>>0>=(f[s>>2]|0)>>>0){n=xz(i)|0;if((n|0)<0)break;else c=n}else{f[o>>2]=t+1;c=a[t>>0]|0}n=l+-1|0;t=e+1|0;r[e>>0]=c;if(!((n|0)!=0&(c&255|0)!=10)){e=t;b=17;break A}else e=t}if((e|0)!=(A|0)?(f[i>>2]&16|0)!=0:0)b=17;else A=0}else{e=A;b=17}}while(0);if((b|0)==17)if(!A)A=0;else r[e>>0]=0;if(u)QJ(i)}return A|0}function jJ(A,e){A=A|0;e=e|0;var i=0;i=r[e>>0]|0;do{if(i<<24>>24){A=zz(A,i<<24>>24)|0;if(A){if(r[e+1>>0]|0)if(r[A+1>>0]|0){if(!(r[e+2>>0]|0)){A=OJ(A,e)|0;break}if(r[A+2>>0]|0){if(!(r[e+3>>0]|0)){A=KJ(A,e)|0;break}if(r[A+3>>0]|0)if(!(r[e+4>>0]|0)){A=_J(A,e)|0;break}else{A=qJ(A,e)|0;break}else A=0}else A=0}else A=0}else A=0}}while(0);return A|0}function OJ(A,e){A=A|0;e=e|0;var i=0,n=0,f=0;f=(a[e>>0]|0)<<8|(a[e+1>>0]|0);n=a[A>>0]|0;while(1){e=A+1|0;i=r[e>>0]|0;if(!(i<<24>>24))break;n=n<<8&65280|i&255;if((n|0)==(f|0))break;else A=e}return(i<<24>>24?A:0)|0}function KJ(A,e){A=A|0;e=e|0;var i=0,n=0;n=(a[e+1>>0]|0)<<16|(a[e>>0]|0)<<24|(a[e+2>>0]|0)<<8;i=A+2|0;e=r[i>>0]|0;A=(a[A+1>>0]|0)<<16|(a[A>>0]|0)<<24|(e&255)<<8;if(!((A|0)==(n|0)|e<<24>>24==0))do{i=i+1|0;e=r[i>>0]|0;A=(A|e&255)<<8}while(!((A|0)==(n|0)|e<<24>>24==0));return(e<<24>>24?i+-2|0:0)|0}function _J(A,e){A=A|0;e=e|0;var i=0,n=0;n=(a[e+1>>0]|0)<<16|(a[e>>0]|0)<<24|(a[e+2>>0]|0)<<8|(a[e+3>>0]|0);e=A+3|0;i=r[e>>0]|0;A=(a[A+1>>0]|0)<<16|(a[A>>0]|0)<<24|(a[A+2>>0]|0)<<8|i&255;if(!(i<<24>>24==0|(A|0)==(n|0)))do{e=e+1|0;i=r[e>>0]|0;A=A<<8|i&255}while(!(i<<24>>24==0|(A|0)==(n|0)));return(i<<24>>24?e+-3|0:0)|0}function qJ(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0;m=v;v=v+1056|0;d=m+1024|0;g=m;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;f[d+28>>2]=0;i=r[e>>0]|0;A:do{if(i<<24>>24){h=0;do{if(!(r[A+h>>0]|0)){i=0;break A}w=d+(((i&255)>>>5&255)<<2)|0;f[w>>2]=f[w>>2]|1<<(i&31);h=h+1|0;f[g+((i&255)<<2)>>2]=h;i=r[e+h>>0]|0}while(i<<24>>24!=0);s=h>>>0>1;if(s){n=0;o=-1;a=1;e:while(1){t=1;i=n;while(1){n=a;i:while(1){c=1;while(1){a=r[e+(c+o)>>0]|0;l=r[e+n>>0]|0;if(a<<24>>24!=l<<24>>24)break i;if((c|0)==(t|0))break;c=c+1|0;n=c+i|0;if(n>>>0>=h>>>0){u=t;i=o;break e}}i=t+i|0;n=i+1|0;if(n>>>0>=h>>>0){u=t;i=o;break e}}t=n-o|0;if((a&255)<=(l&255))break;a=n+1|0;if(a>>>0>=h>>>0){u=t;i=o;break e}else i=n}a=i+2|0;if(a>>>0>=h>>>0){u=1;break}else{n=i+1|0;o=i}}if(s){t=0;s=-1;l=1;while(1){n=1;a=t;while(1){t=l;e:while(1){o=1;while(1){l=r[e+(o+s)>>0]|0;c=r[e+t>>0]|0;if(l<<24>>24!=c<<24>>24)break e;if((o|0)==(n|0))break;o=o+1|0;t=o+a|0;if(t>>>0>=h>>>0){l=u;a=s;t=26;break A}}a=n+a|0;t=a+1|0;if(t>>>0>=h>>>0){l=u;a=s;t=26;break A}}n=t-s|0;if((l&255)>=(c&255))break;l=t+1|0;if(l>>>0>=h>>>0){l=u;a=s;t=26;break A}else a=t}l=a+2|0;if(l>>>0>=h>>>0){l=u;n=1;t=26;break}else{t=a+1|0;s=a}}}else{l=u;n=1;a=-1;t=26}}else{l=1;i=-1;n=1;a=-1;t=26}}else{l=1;i=-1;h=0;n=1;a=-1;t=26}}while(0);A:do{if((t|0)==26){k=(a+1|0)>>>0>(i+1|0)>>>0;n=k?n:l;k=k?a:i;w=k+1|0;if(!(xJ(e,e+n|0,w)|0))B=h-n|0;else{n=h-k+-1|0;B=0;n=(k>>>0>n>>>0?k:n)+1|0}o=h|63;s=h+-1|0;u=(B|0)!=0;b=h-n|0;i=A;c=0;a=A;while(1){t=i;do{if((a-t|0)>>>0>>0){l=Rz(a,0,o)|0;if(l)if((l-t|0)>>>0>>0){i=0;break A}else break;else{l=a+o|0;break}}else l=a}while(0);a=r[i+s>>0]|0;e:do{if(!(1<<(a&31)&f[d+(((a&255)>>>5&255)<<2)>>2])){t=0;a=h}else{a=h-(f[g+((a&255)<<2)>>2]|0)|0;if(a|0){t=0;a=u&(c|0)!=0&a>>>0>>0?b:a;break}a=w>>>0>c>>>0?w:c;t=r[e+a>>0]|0;i:do{if(!(t<<24>>24))a=w;else{while(1){if(t<<24>>24!=(r[i+a>>0]|0))break;a=a+1|0;t=r[e+a>>0]|0;if(!(t<<24>>24)){a=w;break i}}t=0;a=a-k|0;break e}}while(0);while(1){if(a>>>0<=c>>>0)break A;a=a+-1|0;if((r[e+a>>0]|0)!=(r[i+a>>0]|0)){t=B;a=n;break}}}}while(0);i=i+a|0;c=t;a=l}}}while(0);v=m;return i|0}function $J(A,e,i){A=A|0;e=e|0;i=i|0;AP(A,e,i)|0;return A|0}function AP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;a=e;A:do{if(!((a^A)&3)){n=(i|0)!=0;if(n&(a&3|0)!=0)do{a=r[e>>0]|0;r[A>>0]=a;if(!(a<<24>>24))break A;i=i+-1|0;e=e+1|0;A=A+1|0;n=(i|0)!=0}while(n&(e&3|0)!=0);if(n){if(r[e>>0]|0){e:do{if(i>>>0>3){n=e;while(1){e=f[n>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0){e=n;break e}f[A>>2]=e;i=i+-4|0;e=n+4|0;A=A+4|0;if(i>>>0>3)n=e;else break}}}while(0);t=11}}else i=0}else t=11}while(0);A:do{if((t|0)==11)if(!i)i=0;else while(1){t=r[e>>0]|0;r[A>>0]=t;if(!(t<<24>>24))break A;i=i+-1|0;A=A+1|0;if(!i){i=0;break}else e=e+1|0}}while(0);WH(A|0,0,i|0)|0;return A|0}function eP(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0;a=v;v=v+32|0;n=a;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;i=r[e>>0]|0;do{if(!(i<<24>>24))e=0;else{if(!(r[e+1>>0]|0)){e=A;while(1)if((r[e>>0]|0)==i<<24>>24)e=e+1|0;else break;e=e-A|0;break}do{t=n+(((i&255)>>>5&255)<<2)|0;f[t>>2]=f[t>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);i=r[A>>0]|0;A:do{if(!(i<<24>>24))e=A;else{e=A;do{if(!(f[n+(((i&255)>>>5&255)<<2)>>2]&1<<(i&31)))break A;e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0)}}while(0);e=e-A|0}}while(0);v=a;return e|0}function iP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=rP(A,e,n)|0;v=r;return i|0}function rP(A,e,i){A=A|0;e=e|0;i=i|0;return IJ(A,2147483647,e,i)|0}function nP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;s=v;v=v+208|0;c=s+8|0;o=s;t=X(i,e)|0;l=o;f[l>>2]=1;f[l+4>>2]=0;A:do{if(t|0){l=0-i|0;f[c+4>>2]=i;f[c>>2]=i;n=2;e=i;a=i;while(1){e=e+i+a|0;f[c+(n<<2)>>2]=e;if(e>>>0>>0){u=a;n=n+1|0;a=e;e=u}else break}a=A+t+l|0;if(a>>>0>A>>>0){t=a;n=1;e=1;do{do{if((e&3|0)!=3){e=n+-1|0;if((f[c+(e<<2)>>2]|0)>>>0<(t-A|0)>>>0)fP(A,i,r,n,c);else tP(A,i,r,o,n,0,c);if((n|0)==1){lP(o,1);n=0;break}else{lP(o,e);n=1;break}}else{fP(A,i,r,n,c);aP(o,2);n=n+2|0}}while(0);e=f[o>>2]|1;f[o>>2]=e;A=A+i|0}while(A>>>0>>0)}else{n=1;e=1}tP(A,i,r,o,n,0,c);a=o+4|0;while(1){if((n|0)==1&(e|0)==1){if(!(f[a>>2]|0))break A}else if((n|0)>=2){lP(o,2);u=n+-2|0;f[o>>2]=f[o>>2]^7;aP(o,1);tP(A+(0-(f[c+(u<<2)>>2]|0))+l|0,i,r,o,n+-1|0,1,c);lP(o,1);e=f[o>>2]|1;f[o>>2]=e;t=A+l|0;tP(t,i,r,o,u,1,c);A=t;n=u;continue}e=cP(o)|0;aP(o,e);A=A+l|0;n=e+n|0;e=f[o>>2]|0}}}while(0);v=s;return}function fP(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+240|0;s=u;f[s>>2]=A;A:do{if((r|0)>1){o=0-e|0;a=A;c=r;r=1;while(1){t=a+o|0;l=c+-2|0;a=t+(0-(f[n+(l<<2)>>2]|0))|0;if((gL[i&63](A,a)|0)>-1?(gL[i&63](A,t)|0)>-1:0)break A;A=r+1|0;r=s+(r<<2)|0;if((gL[i&63](a,t)|0)>-1){f[r>>2]=a;r=c+-1|0}else{f[r>>2]=t;a=t;r=l}if((r|0)<=1){r=A;break A}c=r;r=A;A=f[s>>2]|0}}else r=1}while(0);sP(e,s,r);v=u;return}function aP(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+4|0;if(e>>>0>31){r=f[n>>2]|0;f[A>>2]=r;f[n>>2]=0;e=e+-32|0;i=0}else{i=f[n>>2]|0;r=f[A>>2]|0}f[A>>2]=i<<32-e|r>>>e;f[n>>2]=i>>>e;return}function tP(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;var l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0;B=v;v=v+240|0;u=B+232|0;b=B;k=f[r>>2]|0;f[u>>2]=k;c=f[r+4>>2]|0;o=u+4|0;f[o>>2]=c;f[b>>2]=A;A:do{if((k|0)!=1|(c|0)!=0?(s=0-e|0,l=A+(0-(f[t+(n<<2)>>2]|0))|0,(gL[i&63](l,A)|0)>=1):0){r=1;a=(a|0)==0;c=l;while(1){if(a&(n|0)>1){a=A+s|0;l=f[t+(n+-2<<2)>>2]|0;if((gL[i&63](a,c)|0)>-1){l=10;break A}if((gL[i&63](a+(0-l)|0,c)|0)>-1){l=10;break A}}a=r+1|0;f[b+(r<<2)>>2]=c;k=cP(u)|0;aP(u,k);n=k+n|0;if(!((f[u>>2]|0)!=1|(f[o>>2]|0)!=0)){r=a;A=c;l=10;break A}A=c+(0-(f[t+(n<<2)>>2]|0))|0;if((gL[i&63](A,f[b>>2]|0)|0)<1){A=c;r=a;a=0;l=9;break}else{k=c;r=a;a=1;c=A;A=k}}}else{r=1;l=9}}while(0);if((l|0)==9?(a|0)==0:0)l=10;if((l|0)==10){sP(e,b,r);fP(A,e,i,n,t)}v=B;return}function lP(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;n=A+4|0;if(e>>>0>31){r=f[A>>2]|0;f[n>>2]=r;f[A>>2]=0;e=e+-32|0;i=0}else{i=f[A>>2]|0;r=f[n>>2]|0}f[n>>2]=i>>>(32-e|0)|r<>2]=i<>2]|0)+-1|0)|0;if(!e){e=oP(f[A+4>>2]|0)|0;return((e|0)==0?0:e+32|0)|0}else return e|0;return 0}function oP(A){A=A|0;var e=0;if(A)if(!(A&1)){e=A;A=0;do{A=A+1|0;e=e>>>1}while(!(e&1|0))}else A=0;else A=32;return A|0}function sP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0;t=v;v=v+256|0;r=t;A:do{if((i|0)>=2?(a=e+(i<<2)|0,f[a>>2]=r,A|0):0)while(1){n=A>>>0<256?A:256;VH(r|0,f[e>>2]|0,n|0)|0;r=0;do{l=e+(r<<2)|0;r=r+1|0;VH(f[l>>2]|0,f[e+(r<<2)>>2]|0,n|0)|0;f[l>>2]=(f[l>>2]|0)+n}while((r|0)!=(i|0));A=A-n|0;if(!A)break A;r=f[a>>2]|0}}while(0);v=t;return}function uP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=CJ(A,e,n)|0;v=r;return i|0}function bP(A){A=A|0;var e=0,i=0,n=0;n=v;v=v+16|0;i=n;wA(0,i|0)|0;e=0;i=(f[i+4>>2]|0)*65537^(i>>>4)+A;while(1){r[A+e>>0]=(i&15)+65|i<<1&32;e=e+1|0;if((e|0)==6)break;else i=i>>>5}v=n;return A|0}function vP(A,e,i){A=A|0;e=e|0;i=i|0;i=Lz(A,e,i,-2147483648,0)|0;return i|0}function BP(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;t=v;v=v+32|0;n=t;i=r[e>>0]|0;A:do{if(i<<24>>24!=0?(r[e+1>>0]|0)!=0:0){WH(n|0,0,32)|0;i=r[e>>0]|0;if(i<<24>>24)do{l=n+(((i&255)>>>5&255)<<2)|0;f[l>>2]=f[l>>2]|1<<(i&31);e=e+1|0;i=r[e>>0]|0}while(i<<24>>24!=0);e=r[A>>0]|0;if(!(e<<24>>24))i=A;else{i=A;do{if(f[n+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)|0)break A;i=i+1|0;e=r[i>>0]|0}while(e<<24>>24!=0)}}else a=3}while(0);if((a|0)==3)i=rz(A,i<<24>>24)|0;v=t;return i-A|0}function kP(A,e){A=A|0;e=e|0;var i=0;if(!A){A=f[42698]|0;if(!A)A=0;else i=3}else i=3;do{if((i|0)==3){A=A+(eP(A,e)|0)|0;if(!(r[A>>0]|0)){f[42698]=0;A=0;break}e=A+(BP(A,e)|0)|0;f[42698]=e;if(!(r[e>>0]|0)){f[42698]=0;break}else{f[42698]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function wP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;n=e&255;do{if(!i){e=0;break}i=i+-1|0;e=A+i|0}while((r[e>>0]|0)!=n<<24>>24);return e|0}function hP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;if(!A){A=f[i>>2]|0;if(!A)A=0;else n=3}else n=3;do{if((n|0)==3){A=A+(eP(A,e)|0)|0;if(!(r[A>>0]|0)){f[i>>2]=0;A=0;break}e=A+(BP(A,e)|0)|0;f[i>>2]=e;if(!(r[e>>0]|0)){f[i>>2]=0;break}else{f[i>>2]=e+1;r[e>>0]=0;break}}}while(0);return A|0}function dP(A){A=A|0;var e=0,i=0;e=(nz(A)|0)+1|0;i=RW(e)|0;if(!i)A=0;else A=VH(i|0,A|0,e|0)|0;return A|0}function gP(A,e){A=A|0;e=e|0;return wP(A,e,(nz(A)|0)+1|0)|0}function mP(A,e){A=A|0;e=e|0;oJ(A+(nz(A)|0)|0,e)|0;return A|0}function ZP(A,e){A=A|0;e=e|0;e=A+(BP(A,e)|0)|0;return(r[e>>0]|0?e:0)|0}function GP(A){A=A|0;var e=0;if((f[A+76>>2]|0)>-1){e=(EJ(A)|0)==0;A=(f[A>>2]|0)>>>4&1}else A=(f[A>>2]|0)>>>4&1;return A|0}function IP(A){A=A|0;var e=0,i=0,r=0,n=0,a=0;if((f[A+76>>2]|0)>-1)n=EJ(A)|0;else n=0;CP(A);a=(f[A>>2]&1|0)!=0;if(!a){r=MP()|0;i=f[A+52>>2]|0;e=A+56|0;if(i|0)f[i+56>>2]=f[e>>2];e=f[e>>2]|0;if(e|0)f[e+52>>2]=i;if((f[r>>2]|0)==(A|0))f[r>>2]=e;EP()}e=QP(A)|0;e=dL[f[A+12>>2]&31](A)|0|e;i=f[A+92>>2]|0;if(i|0)HW(i);if(a){if(n|0)QJ(A)}else HW(A);return e|0}function CP(A){A=A|0;var e=0;if(f[A+68>>2]|0){e=f[A+116>>2]|0;A=A+112|0;if(e|0)f[e+112>>2]=f[A>>2];A=f[A>>2]|0;if(!A)A=(YP()|0)+232|0;else A=A+116|0;f[A>>2]=e}return}function MP(){hA(170796);return 170804}function EP(){WA(170796);return}function QP(A){A=A|0;var e=0,i=0;do{if(A){if((f[A+76>>2]|0)<=-1){e=yP(A)|0;break}i=(EJ(A)|0)==0;e=yP(A)|0;if(!i)QJ(A)}else{if(!(f[13917]|0))e=0;else e=QP(f[13917]|0)|0;A=f[(MP()|0)>>2]|0;if(A)do{if((f[A+76>>2]|0)>-1)i=EJ(A)|0;else i=0;if((f[A+20>>2]|0)>>>0>(f[A+28>>2]|0)>>>0)e=yP(A)|0|e;if(i|0)QJ(A);A=f[A+56>>2]|0}while((A|0)!=0);EP()}}while(0);return e|0}function yP(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;e=A+20|0;t=A+28|0;if((f[e>>2]|0)>>>0>(f[t>>2]|0)>>>0?(mL[f[A+36>>2]&31](A,0,0)|0,(f[e>>2]|0)==0):0)A=-1;else{i=A+4|0;r=f[i>>2]|0;n=A+8|0;a=f[n>>2]|0;if(r>>>0>>0)mL[f[A+40>>2]&31](A,r-a|0,1)|0;f[A+16>>2]=0;f[t>>2]=0;f[e>>2]=0;f[n>>2]=0;f[i>>2]=0;A=0}return A|0}function YP(){return bz()|0}function pP(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+64|0;c=o+40|0;t=o+24|0;a=o+16|0;n=o;l=o+56|0;if(zz(134882,r[e>>0]|0)|0){i=RW(1156)|0;if(!i)i=0;else{WH(i|0,0,124)|0;if(!(zz(e,43)|0))f[i>>2]=(r[e>>0]|0)==114?8:4;if(zz(e,101)|0){f[n>>2]=A;f[n+4>>2]=2;f[n+8>>2]=1;QA(221,n|0)|0}if((r[e>>0]|0)==97){f[a>>2]=A;f[a+4>>2]=3;e=QA(221,a|0)|0;if(!(e&1024)){f[t>>2]=A;f[t+4>>2]=4;f[t+8>>2]=e|1024;QA(221,t|0)|0}n=f[i>>2]|128;f[i>>2]=n}else n=f[i>>2]|0;f[i+60>>2]=A;f[i+44>>2]=i+132;f[i+48>>2]=1024;e=i+75|0;r[e>>0]=-1;if((n&8|0)==0?(f[c>>2]=A,f[c+4>>2]=21523,f[c+8>>2]=l,(pA(54,c|0)|0)==0):0)r[e>>0]=10;f[i+32>>2]=6;f[i+36>>2]=9;f[i+40>>2]=7;f[i+12>>2]=15;if(!(f[42677]|0))f[i+76>>2]=-1;VP(i)|0}}else{f[(KW()|0)>>2]=22;i=0}v=o;return i|0}function VP(A){A=A|0;var e=0,i=0;e=MP()|0;f[A+56>>2]=f[e>>2];i=f[e>>2]|0;if(i|0)f[i+52>>2]=A;f[e>>2]=A;EP();return A|0}function NP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,l=0,c=0;c=v;v=v+16|0;n=c;A:do{if(!e)A=0;else{do{if(i|0){l=(A|0)==0?n:A;A=r[e>>0]|0;if(A<<24>>24>-1){f[l>>2]=A&255;A=A<<24>>24!=0&1;break A}t=(f[f[(WP()|0)+188>>2]>>2]|0)==0;A=r[e>>0]|0;if(t){f[l>>2]=A<<24>>24&57343;A=1;break A}A=(A&255)+-194|0;if(A>>>0<=50){n=e+1|0;t=f[55208+(A<<2)>>2]|0;if(i>>>0<4?t&-2147483648>>>((i*6|0)+-6|0)|0:0)break;A=a[n>>0]|0;i=A>>>3;if((i+-16|i+(t>>26))>>>0<=7){A=A+-128|t<<6;if((A|0)>=0){f[l>>2]=A;A=2;break A}n=(a[e+2>>0]|0)+-128|0;if(n>>>0<=63){n=n|A<<6;if((n|0)>=0){f[l>>2]=n;A=3;break A}A=(a[e+3>>0]|0)+-128|0;if(A>>>0<=63){f[l>>2]=A|n<<6;A=4;break A}}}}}}while(0);f[(KW()|0)>>2]=84;A=-1}}while(0);v=c;return A|0}function WP(){return bz()|0}function zP(A,e){A=A|0;e=e|0;var i=0;i=nz(A)|0;return((JP(A,1,i,e)|0)!=(i|0))<<31>>31|0}function JP(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;n=X(i,e)|0;i=(e|0)==0?0:i;if((f[r+76>>2]|0)>-1){a=(EJ(r)|0)==0;A=RJ(A,n,r)|0;if(!a)QJ(r)}else A=RJ(A,n,r)|0;if((A|0)!=(n|0))i=(A>>>0)/(e>>>0)|0;return i|0}function PP(A,e){A=A|0;e=e|0;var i=0,n=0,t=0,l=0,c=0,o=0,s=0;s=v;v=v+16|0;c=s;o=e&255;r[c>>0]=o;n=A+16|0;t=f[n>>2]|0;if(!t)if(!(HJ(A)|0)){t=f[n>>2]|0;l=4}else i=-1;else l=4;do{if((l|0)==4){l=A+20|0;n=f[l>>2]|0;if(n>>>0>>0?(i=e&255,(i|0)!=(r[A+75>>0]|0)):0){f[l>>2]=n+1;r[n>>0]=o;break}if((mL[f[A+36>>2]&31](A,c,1)|0)==1)i=a[c>>0]|0;else i=-1}}while(0);v=s;return i|0}function RP(A,e){A=A|0;e=e|0;var i=0,n=0,f=0;i=A;n=134867;f=i+15|0;do{r[i>>0]=r[n>>0]|0;i=i+1|0;n=n+1|0}while((i|0)<(f|0));if(!e){r[A+14>>0]=48;r[A+15>>0]=0}else{n=e;i=14;while(1){i=i+1|0;if(n>>>0<10)break;else n=(n>>>0)/10|0}r[A+i>>0]=0;while(1){i=i+-1|0;r[A+i>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}}return}function HP(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0;a=v;v=v+48|0;n=a+40|0;r=a+8|0;i=a;f[i>>2]=A;f[i+4>>2]=e;i=EA(197,i|0)|0;if((i|0)==-9?(f[r>>2]=A,f[r+4>>2]=1,(QA(221,r|0)|0)>=0):0){RP(r,A);f[n>>2]=r;f[n+4>>2]=e;e=OW(MA(195,n|0)|0)|0}else e=OW(i)|0;v=a;return e|0}function LP(A,e){A=A|0;e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;f[r>>2]=A;f[r+4>>2]=e;e=OW(yA(33,r|0)|0)|0;v=i;return e|0}function FP(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0;l=v;v=v+48|0;t=l+32|0;a=l+16|0;i=l;if(zz(134882,r[e>>0]|0)|0){n=DP(e)|0;f[i>>2]=A;f[i+4>>2]=n|32768;f[i+8>>2]=438;i=OW(YA(5,i|0)|0)|0;if((i|0)>=0){if(n&524288|0){f[a>>2]=i;f[a+4>>2]=2;f[a+8>>2]=1;QA(221,a|0)|0}A=pP(i,e)|0;if(!A){f[t>>2]=i;VA(6,t|0)|0;A=0}}else A=0}else{f[(KW()|0)>>2]=22;A=0}v=l;return A|0}function DP(A){A=A|0;var e=0,i=0,n=0;i=(zz(A,43)|0)==0;e=r[A>>0]|0;i=i?e<<24>>24!=114&1:2;n=(zz(A,120)|0)==0;i=n?i:i|128;A=(zz(A,101)|0)==0;A=A?i:i|524288;A=e<<24>>24==114?A:A|64;A=e<<24>>24==119?A|512:A;return(e<<24>>24==97?A|1024:A)|0}function XP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=v;v=v+16|0;n=r;f[n>>2]=i;i=xP(A,e,n)|0;v=r;return i|0}function xP(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;a=v;v=v+128|0;r=a;n=r;t=n+124|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(t|0));f[r+32>>2]=18;f[r+44>>2]=A;f[r+76>>2]=-1;f[r+84>>2]=A;t=UP(r,e,i)|0;v=a;return t|0}function TP(A,e,i){A=A|0;e=e|0;i=i|0;return AR(A,e,i)|0}function UP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,t=0,l=0,s=0,u=0,b=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0;P=v;v=v+288|0;p=P+8|0;V=P+17|0;N=P;W=P+16|0;if((f[A+76>>2]|0)>-1)J=EJ(A)|0;else J=0;n=r[e>>0]|0;A:do{if(n<<24>>24){I=A+4|0;C=A+100|0;M=A+108|0;E=A+8|0;y=V+10|0;Y=V+33|0;G=p+4|0;B=e;g=0;e=0;t=0;l=n;n=0;e:while(1){i:do{if(!(Jz(l&255)|0)){l=(r[B>>0]|0)==37;r:do{if(l){s=B+1|0;u=r[s>>0]|0;n:do{switch(u<<24>>24){case 37:break r;case 42:{Z=0;s=B+2|0;break}default:{if(Hz(u&255)|0?(r[B+2>>0]|0)==36:0){Z=SP(i,(a[s>>0]|0)+-48|0)|0;s=B+3|0;break n}m=(f[i>>2]|0)+(4-1)&~(4-1);Z=f[m>>2]|0;f[i>>2]=m+4}}}while(0);if(!(Hz(a[s>>0]|0)|0))h=0;else{l=0;do{l=(l*10|0)+-48+(a[s>>0]|0)|0;s=s+1|0}while((Hz(a[s>>0]|0)|0)!=0);h=l}B=r[s>>0]|0;u=s+1|0;if(B<<24>>24==109){l=(Z|0)!=0&1;t=0;s=u;B=r[u>>0]|0;n=0}else l=0;u=s+1|0;switch(B<<24>>24){case 104:{m=(r[u>>0]|0)==104;B=m?-2:-1;s=m?s+2|0:u;break}case 108:{m=(r[u>>0]|0)==108;B=m?3:1;s=m?s+2|0:u;break}case 106:{B=3;s=u;break}case 116:case 122:{B=1;s=u;break}case 76:{B=2;s=u;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{B=0;break}default:{z=136;break e}}w=a[s>>0]|0;d=(w&47|0)==3;w=d?w|32:w;d=d?1:B;k=w&255;switch(k<<24>>24){case 99:{h=(h|0)>1?h:1;break}case 91:break;case 110:{jP(Z,d,g,((g|0)<0)<<31>>31);u=g;break i}default:{Fz(A,0);do{u=f[I>>2]|0;if(u>>>0<(f[C>>2]|0)>>>0){f[I>>2]=u+1;u=a[u>>0]|0}else u=Xz(A)|0}while((Jz(u)|0)!=0);if(!(f[C>>2]|0))u=f[I>>2]|0;else{u=(f[I>>2]|0)+-1|0;f[I>>2]=u}g=(f[M>>2]|0)+g+u-(f[E>>2]|0)|0}}Fz(A,h);B=f[I>>2]|0;u=f[C>>2]|0;if(B>>>0>>0)f[I>>2]=B+1;else{if((Xz(A)|0)<0){z=136;break e}u=f[C>>2]|0}if(u|0)f[I>>2]=(f[I>>2]|0)+-1;n:do{switch(k<<24>>24){case 91:case 99:case 115:{m=(w|0)==99;f:do{if((w|16|0)==115){WH(V|0,-1,257)|0;r[V>>0]=0;if((w|0)==115){r[Y>>0]=0;r[y>>0]=0;r[y+1>>0]=0;r[y+2>>0]=0;r[y+3>>0]=0;r[y+4>>0]=0}}else{u=s+1|0;k=(r[u>>0]|0)==94;w=k&1;s=k?s+2|0:u;WH(V|0,w|0,257)|0;r[V>>0]=0;u=r[s>>0]|0;switch(u<<24>>24){case 45:{u=46;z=65;break}case 93:{u=94;z=65;break}default:{}}while(1){if((z|0)==65){z=0;r[V+u>>0]=w^1;u=s+1|0;s=u;u=r[u>>0]|0}a:do{switch(u<<24>>24){case 0:{z=136;break e}case 93:break f;case 45:{k=s+1|0;u=r[k>>0]|0;switch(u<<24>>24){case 93:case 0:{u=45;break a}default:{}}s=r[s+-1>>0]|0;if((s&255)<(u&255)){B=(w^1)&255;s=s&255;do{s=s+1|0;r[V+s>>0]=B;u=r[k>>0]|0}while((s|0)<(u&255|0));s=k}else s=k;break}default:{}}}while(0);u=(u&255)+1|0;z=65}}}while(0);u=m?h+1|0:31;w=(d|0)==1;d=(l|0)!=0;f:do{if(w){if(d){n=RW(u<<2)|0;if(!n){t=0;n=0;z=136;break e}}else n=Z;f[p>>2]=0;f[G>>2]=0;k=u;t=0;a:while(1){B=(n|0)==0;do{t:while(1){u=f[I>>2]|0;if(u>>>0<(f[C>>2]|0)>>>0){f[I>>2]=u+1;u=a[u>>0]|0}else u=Xz(A)|0;if(!(r[V+(u+1)>>0]|0))break a;r[W>>0]=u;switch(nJ(N,W,1,p)|0){case-1:{t=0;z=136;break e}case-2:break;default:break t}}if(!B){f[n+(t<<2)>>2]=f[N>>2];t=t+1|0}}while(!(d&(t|0)==(k|0)));t=k<<1|1;u=FW(n,t<<2)|0;if(!u){t=0;z=136;break e}else{B=k;k=t;n=u;t=B}}if(!(OP(p)|0)){t=0;z=136;break e}else{k=t;t=0;B=n}}else{if(d){t=RW(u)|0;if(!t){t=0;n=0;z=136;break e}else{B=u;n=0}while(1){do{u=f[I>>2]|0;if(u>>>0<(f[C>>2]|0)>>>0){f[I>>2]=u+1;u=a[u>>0]|0}else u=Xz(A)|0;if(!(r[V+(u+1)>>0]|0)){k=n;B=0;n=0;break f}r[t+n>>0]=u;n=n+1|0}while((n|0)!=(B|0));n=B<<1|1;u=FW(t,n)|0;if(!u){n=0;z=136;break e}else{k=B;B=n;t=u;n=k}}}if(!Z)while(1){n=f[I>>2]|0;if(n>>>0<(f[C>>2]|0)>>>0){f[I>>2]=n+1;n=a[n>>0]|0}else n=Xz(A)|0;if(!(r[V+(n+1)>>0]|0)){k=0;t=0;B=0;n=0;break f}}else t=0;while(1){n=f[I>>2]|0;if(n>>>0<(f[C>>2]|0)>>>0){f[I>>2]=n+1;n=a[n>>0]|0}else n=Xz(A)|0;if(!(r[V+(n+1)>>0]|0)){k=t;t=Z;B=0;n=0;break f}r[Z+t>>0]=n;t=t+1|0}}}while(0);if(!(f[C>>2]|0))u=f[I>>2]|0;else{u=(f[I>>2]|0)+-1|0;f[I>>2]=u}u=u-(f[E>>2]|0)+(f[M>>2]|0)|0;if(!u)break e;if(!((u|0)==(h|0)|m^1))break e;do{if(d)if(w){f[Z>>2]=B;break}else{f[Z>>2]=t;break}}while(0);if(!m){if(B|0)f[B+(k<<2)>>2]=0;if(!t){t=0;break n}r[t+k>>0]=0}break}case 120:case 88:case 112:{u=16;z=124;break}case 111:{u=8;z=124;break}case 117:case 100:{u=10;z=124;break}case 105:{u=0;z=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{b=+KP(A,d,0);if((f[M>>2]|0)==((f[E>>2]|0)-(f[I>>2]|0)|0))break e;if(Z)switch(d|0){case 0:{c[Z>>2]=b;break n}case 1:{o[Z>>3]=b;break n}case 2:{o[Z>>3]=b;break n}default:break n}break}default:{}}}while(0);do{if((z|0)==124){z=0;u=Dz(A,u,0,-1,-1)|0;if((f[M>>2]|0)==((f[E>>2]|0)-(f[I>>2]|0)|0))break e;if((Z|0)!=0&(w|0)==112){f[Z>>2]=u;break}else{jP(Z,d,u,Q);break}}}while(0);e=e+((Z|0)!=0&1)|0;u=(f[M>>2]|0)+g+(f[I>>2]|0)-(f[E>>2]|0)|0;break i}}while(0);s=B+(l&1)|0;Fz(A,0);l=f[I>>2]|0;if(l>>>0<(f[C>>2]|0)>>>0){f[I>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0;if((l|0)!=(a[s>>0]|0)){z=22;break e}u=g+1|0}else{s=B;while(1){l=s+1|0;if(!(Jz(a[l>>0]|0)|0))break;else s=l}Fz(A,0);do{l=f[I>>2]|0;if(l>>>0<(f[C>>2]|0)>>>0){f[I>>2]=l+1;l=a[l>>0]|0}else l=Xz(A)|0}while((Jz(l)|0)!=0);if(!(f[C>>2]|0))l=f[I>>2]|0;else{l=(f[I>>2]|0)+-1|0;f[I>>2]=l}u=(f[M>>2]|0)+g+l-(f[E>>2]|0)|0}}while(0);B=s+1|0;l=r[B>>0]|0;if(!(l<<24>>24))break A;else g=u}if((z|0)==22){if(f[C>>2]|0)f[I>>2]=(f[I>>2]|0)+-1;if((e|0)!=0|(l|0)>-1)break;else{e=0;z=137}}else if((z|0)==136)if(!e){e=l;z=137}if((z|0)==137){l=e;e=-1}if(l){HW(t);HW(n)}}else e=0}while(0);if(J|0)QJ(A);v=P;return e|0}function SP(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;r=v;v=v+16|0;i=r;f[i>>2]=f[A>>2];while(1){n=(f[i>>2]|0)+(4-1)&~(4-1);A=f[n>>2]|0;f[i>>2]=n+4;if(e>>>0>1)e=e+-1|0;else break}v=r;return A|0}function jP(A,e,i,a){A=A|0;e=e|0;i=i|0;a=a|0;A:do{if(A|0)switch(e|0){case-2:{r[A>>0]=i;break A}case-1:{n[A>>1]=i;break A}case 0:{f[A>>2]=i;break A}case 1:{f[A>>2]=i;break A}case 3:{e=A;f[e>>2]=i;f[e+4>>2]=a;break A}default:break A}}while(0);return}function OP(A){A=A|0;if(!A)A=1;else A=(f[A>>2]|0)==0&1;return A|0}function KP(A,e,i){A=A|0;e=e|0;i=i|0;var n=0.0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;switch(e|0){case 0:{s=-149;u=24;c=4;break}case 1:{s=-1074;u=53;c=4;break}case 2:{s=-1074;u=53;c=4;break}default:n=0.0}A:do{if((c|0)==4){v=A+4|0;b=A+100|0;do{e=f[v>>2]|0;if(e>>>0<(f[b>>2]|0)>>>0){f[v>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0}while((Jz(e)|0)!=0);e:do{switch(e|0){case 43:case 45:{l=1-(((e|0)==45&1)<<1)|0;e=f[v>>2]|0;if(e>>>0<(f[b>>2]|0)>>>0){f[v>>2]=e+1;t=a[e>>0]|0;break e}else{t=Xz(A)|0;break e}}default:{t=e;l=1}}}while(0);e=0;do{if((t|32|0)!=(r[134886+e>>0]|0))break;do{if(e>>>0<7){t=f[v>>2]|0;if(t>>>0<(f[b>>2]|0)>>>0){f[v>>2]=t+1;t=a[t>>0]|0;break}else{t=Xz(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);e:do{switch(e|0){case 8:break;case 3:{c=23;break}default:{o=(i|0)!=0;if(o&e>>>0>3)if((e|0)==8)break e;else{c=23;break e}i:do{if(!e){e=0;do{if((t|32|0)!=(r[134895+e>>0]|0))break i;do{if(e>>>0<2){t=f[v>>2]|0;if(t>>>0<(f[b>>2]|0)>>>0){f[v>>2]=t+1;t=a[t>>0]|0;break}else{t=Xz(A)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=f[v>>2]|0;if(e>>>0<(f[b>>2]|0)>>>0){f[v>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;if((e|0)==40)e=1;else{if(!(f[b>>2]|0)){n=m;break A}f[v>>2]=(f[v>>2]|0)+-1;n=m;break A}while(1){t=f[v>>2]|0;if(t>>>0<(f[b>>2]|0)>>>0){f[v>>2]=t+1;t=a[t>>0]|0}else t=Xz(A)|0;if(!((t+-48|0)>>>0<10|(t+-65|0)>>>0<26)?!((t|0)==95|(t+-97|0)>>>0<26):0)break;e=e+1|0}if((t|0)==41){n=m;break A}t=(f[b>>2]|0)==0;if(!t)f[v>>2]=(f[v>>2]|0)+-1;if(!o){f[(KW()|0)>>2]=22;Fz(A,0);n=0.0;break A}if(!e){n=m;break A}while(1){e=e+-1|0;if(!t)f[v>>2]=(f[v>>2]|0)+-1;if(!e){n=m;break A}}}case 0:{if((t|0)==48){e=f[v>>2]|0;if(e>>>0<(f[b>>2]|0)>>>0){f[v>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;if((e|32|0)==120){n=+_P(A,u,s,l,i);break A}if(!(f[b>>2]|0))e=48;else{f[v>>2]=(f[v>>2]|0)+-1;e=48}}else e=t;n=+qP(A,e,u,s,l,i);break A}default:{if(f[b>>2]|0)f[v>>2]=(f[v>>2]|0)+-1;f[(KW()|0)>>2]=22;Fz(A,0);n=0.0;break A}}}}}while(0);if((c|0)==23){t=(f[b>>2]|0)==0;if(!t)f[v>>2]=(f[v>>2]|0)+-1;if((i|0)!=0&e>>>0>3)do{if(!t)f[v>>2]=(f[v>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}n=+(l|0)*Z}}while(0);return+n}function _P(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var t=0.0,l=0,c=0,o=0.0,s=0,u=0,b=0,v=0.0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;I=A+4|0;l=f[I>>2]|0;G=A+100|0;if(l>>>0<(f[G>>2]|0)>>>0){f[I>>2]=l+1;c=a[l>>0]|0;s=0}else{c=Xz(A)|0;s=0}A:while(1){switch(c|0){case 46:{Z=8;break A}case 48:break;default:{h=0;b=0;v=1.0;t=0.0;l=0;u=c;d=s;m=0;g=0;s=0;c=0;break A}}l=f[I>>2]|0;if(l>>>0<(f[G>>2]|0)>>>0){f[I>>2]=l+1;c=a[l>>0]|0;s=1;continue}else{c=Xz(A)|0;s=1;continue}}if((Z|0)==8){l=f[I>>2]|0;if(l>>>0<(f[G>>2]|0)>>>0){f[I>>2]=l+1;c=a[l>>0]|0}else c=Xz(A)|0;if((c|0)==48){s=0;c=0;do{l=f[I>>2]|0;if(l>>>0<(f[G>>2]|0)>>>0){f[I>>2]=l+1;u=a[l>>0]|0}else u=Xz(A)|0;s=gH(s|0,c|0,-1,-1)|0;c=Q}while((u|0)==48);h=1;b=0;v=1.0;t=0.0;l=0;d=1;m=0;g=0}else{h=1;b=0;v=1.0;t=0.0;l=0;u=c;d=s;m=0;g=0;s=0;c=0}}while(1){k=u+-48|0;B=u|32;if(k>>>0>=10){w=(u|0)==46;if(!(w|(B+-97|0)>>>0<6))break;if(w)if(!h){h=1;o=v;w=d;s=g;c=m;k=g;B=m}else{u=46;break}else Z=20}else Z=20;if((Z|0)==20){Z=0;u=(u|0)>57?B+-87|0:k;do{if(!((m|0)<0|(m|0)==0&g>>>0<8))if((m|0)<0|(m|0)==0&g>>>0<14){v=v*.0625;o=v;t=t+v*+(u|0);break}else{d=(b|0)!=0|(u|0)==0;b=d?b:1;o=v;t=d?t:t+v*.5;break}else{o=v;l=u+(l<<4)|0}}while(0);k=gH(g|0,m|0,1,0)|0;w=1;B=Q}u=f[I>>2]|0;if(u>>>0<(f[G>>2]|0)>>>0){f[I>>2]=u+1;v=o;u=a[u>>0]|0;d=w;m=B;g=k;continue}else{v=o;u=Xz(A)|0;d=w;m=B;g=k;continue}}do{if(!d){l=(f[G>>2]|0)==0;if(!l)f[I>>2]=(f[I>>2]|0)+-1;if(n){if(!l)f[I>>2]=(f[I>>2]|0)+-1;if(!((h|0)==0|l))f[I>>2]=(f[I>>2]|0)+-1}else Fz(A,0);t=+(r|0)*0.0}else{B=(h|0)==0;k=B?g:s;B=B?m:c;if((m|0)<0|(m|0)==0&g>>>0<8){s=g;c=m;while(1){l=l<<4;Z=s;s=gH(s|0,c|0,1,0)|0;if(!((c|0)<0|(c|0)==0&Z>>>0<7)){b=l;break}else c=Q}}else b=l;if((u|32|0)==112){c=$P(A,n)|0;l=Q;if((c|0)==0&(l|0)==-2147483648){if(!n){Fz(A,0);t=0.0;break}if(!(f[G>>2]|0)){c=0;l=0}else{f[I>>2]=(f[I>>2]|0)+-1;c=0;l=0}}}else if(!(f[G>>2]|0)){c=0;l=0}else{f[I>>2]=(f[I>>2]|0)+-1;c=0;l=0}s=EH(k|0,B|0,2)|0;s=gH(s|0,Q|0,-32,-1)|0;s=gH(s|0,Q|0,c|0,l|0)|0;l=Q;if(!b){t=+(r|0)*0.0;break}I=0-i|0;n=((I|0)<0)<<31>>31;if((l|0)>(n|0)|(l|0)==(n|0)&s>>>0>I>>>0){f[(KW()|0)>>2]=34;t=+(r|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}I=i+-106|0;n=((I|0)<0)<<31>>31;if((l|0)<(n|0)|(l|0)==(n|0)&s>>>0>>0){f[(KW()|0)>>2]=34;t=+(r|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((b|0)>-1){c=b;do{I=!(t>=.5);c=c<<1|(I^1)&1;t=t+(I?t:t+-1.0);s=gH(s|0,l|0,-1,-1)|0;l=Q}while((c|0)>-1);v=t;u=c}else{v=t;u=b}I=((e|0)<0)<<31>>31;i=mH(32,0,i|0,((i|0)<0)<<31>>31|0)|0;l=gH(i|0,Q|0,s|0,l|0)|0;i=Q;if((i|0)<(I|0)|(i|0)==(I|0)&l>>>0>>0)if((l|0)>0)Z=59;else{c=0;l=84;Z=61}else{l=e;Z=59}if((Z|0)==59)if((l|0)<53){c=l;l=84-l|0;Z=61}else{o=0.0;t=+(r|0)}if((Z|0)==61){t=+(r|0);o=+Iz(+mz(1.0,l),t);l=c}r=(u&1|0)==0&(v!=0.0&(l|0)<32);t=(r?0.0:v)*t+(o+t*+((u+(r&1)|0)>>>0))-o;if(!(t!=0.0))f[(KW()|0)>>2]=34;t=+Cz(t,s)}}while(0);return+t}function qP(A,e,i,r,n,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;t=t|0;var l=0.0,c=0.0,o=0,s=0,u=0,b=0,B=0,k=0,w=0.0,h=0.0,d=0.0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,y=0,p=0,V=0,N=0,W=0,z=0,J=0.0;z=v;v=v+512|0;V=z;N=r+i|0;W=0-N|0;E=A+4|0;y=A+100|0;o=0;A:while(1){switch(e|0){case 46:{C=6;break A}case 48:break;default:{m=0;B=o;k=0;b=0;break A}}e=f[E>>2]|0;if(e>>>0<(f[y>>2]|0)>>>0){f[E>>2]=e+1;e=a[e>>0]|0;o=1;continue}else{e=Xz(A)|0;o=1;continue}}if((C|0)==6){e=f[E>>2]|0;if(e>>>0<(f[y>>2]|0)>>>0){f[E>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;if((e|0)==48){o=0;e=0;while(1){o=gH(o|0,e|0,-1,-1)|0;b=Q;e=f[E>>2]|0;if(e>>>0<(f[y>>2]|0)>>>0){f[E>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;if((e|0)==48)e=b;else{m=1;B=1;k=o;break}}}else{m=1;B=o;k=0;b=0}}f[V>>2]=0;u=e+-48|0;s=(e|0)==46;A:do{if(s|u>>>0<10){M=V+496|0;Z=0;o=0;g=0;G=m;I=B;C=u;B=0;u=0;e:while(1){do{if(s)if(!G){G=1;k=B;b=u}else break e;else{B=gH(B|0,u|0,1,0)|0;u=Q;m=(e|0)!=48;if((o|0)>=125){if(!m)break;f[M>>2]=f[M>>2]|1;break}s=V+(o<<2)|0;if(!Z)e=C;else e=e+-48+((f[s>>2]|0)*10|0)|0;f[s>>2]=e;Z=Z+1|0;I=(Z|0)==9;Z=I?0:Z;o=o+(I&1)|0;g=m?B:g;I=1}}while(0);e=f[E>>2]|0;if(e>>>0<(f[y>>2]|0)>>>0){f[E>>2]=e+1;e=a[e>>0]|0}else e=Xz(A)|0;C=e+-48|0;s=(e|0)==46;if(!(s|C>>>0<10)){m=G;s=I;C=29;break A}}e=Z;s=(I|0)!=0;C=37}else{Z=0;o=0;g=0;s=B;B=0;u=0;C=29}}while(0);do{if((C|0)==29){M=(m|0)==0;k=M?B:k;b=M?u:b;s=(s|0)!=0;if(!(s&(e|32|0)==101))if((e|0)>-1){e=Z;C=37;break}else{e=Z;C=39;break}s=$P(A,t)|0;e=Q;if((s|0)==0&(e|0)==-2147483648){if(!t){Fz(A,0);l=0.0;break}if(!(f[y>>2]|0)){s=0;e=0}else{f[E>>2]=(f[E>>2]|0)+-1;s=0;e=0}}I=gH(s|0,e|0,k|0,b|0)|0;e=Z;b=Q;C=41}}while(0);if((C|0)==37)if(f[y>>2]|0){f[E>>2]=(f[E>>2]|0)+-1;if(s){I=k;C=41}else C=40}else C=39;if((C|0)==39)if(s){I=k;C=41}else C=40;do{if((C|0)==40){f[(KW()|0)>>2]=22;Fz(A,0);l=0.0}else if((C|0)==41){s=f[V>>2]|0;if(!s){l=+(n|0)*0.0;break}if(((u|0)<0|(u|0)==0&B>>>0<10)&((I|0)==(B|0)&(b|0)==(u|0))?(i|0)>30|(s>>>i|0)==0:0){l=+(n|0)*+(s>>>0);break}A=(r|0)/-2|0;y=((A|0)<0)<<31>>31;if((b|0)>(y|0)|(b|0)==(y|0)&I>>>0>A>>>0){f[(KW()|0)>>2]=34;l=+(n|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}A=r+-106|0;y=((A|0)<0)<<31>>31;if((b|0)<(y|0)|(b|0)==(y|0)&I>>>0>>0){f[(KW()|0)>>2]=34;l=+(n|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(e){if((e|0)<9){u=V+(o<<2)|0;s=f[u>>2]|0;while(1){s=s*10|0;if((e|0)>=8)break;else e=e+1|0}f[u>>2]=s}o=o+1|0}if((g|0)<9?(g|0)<=(I|0)&(I|0)<18:0){if((I|0)==9){l=+(n|0)*+((f[V>>2]|0)>>>0);break}if((I|0)<9){l=+(n|0)*+((f[V>>2]|0)>>>0)/+(f[56536+(8-I<<2)>>2]|0);break}A=i+27+(X(I,-3)|0)|0;e=f[V>>2]|0;if((A|0)>30|(e>>>A|0)==0){l=+(n|0)*+(e>>>0)*+(f[56536+(I+-10<<2)>>2]|0);break}}e=(I|0)%9|0;if(!e){e=0;u=0}else{g=(I|0)>-1?e:e+9|0;B=f[56536+(8-g<<2)>>2]|0;if(o){k=1e9/(B|0)|0;u=0;b=0;s=I;e=0;do{E=V+(e<<2)|0;y=f[E>>2]|0;A=((y>>>0)/(B>>>0)|0)+u|0;f[E>>2]=A;u=X(k,(y>>>0)%(B>>>0)|0)|0;A=(e|0)==(b|0)&(A|0)==0;s=A?s+-9|0:s;b=A?b+1&127:b;e=e+1|0}while((e|0)!=(o|0));if(!u)u=b;else{f[V+(o<<2)>>2]=u;u=b;o=o+1|0}}else{u=0;o=0;s=I}e=0;I=9-g+s|0}A:while(1){g=(I|0)<18;m=(I|0)==18;Z=V+(u<<2)|0;while(1){if(!g){if(!m){s=I;break A}if((f[Z>>2]|0)>>>0>=9007199){s=18;break A}}s=0;G=o;o=o+127|0;while(1){b=o&127;B=V+(b<<2)|0;o=EH(f[B>>2]|0,0,29)|0;o=gH(o|0,Q|0,s|0,0)|0;s=Q;if(s>>>0>0|(s|0)==0&o>>>0>1e9){k=IH(o|0,s|0,1e9,0)|0;o=CH(o|0,s|0,1e9,0)|0}else k=0;f[B>>2]=o;A=(b|0)==(u|0);G=(o|0)==0&(((b|0)!=(G+127&127|0)|A)^1)?b:G;if(A)break;else{s=k;o=b+-1|0}}e=e+-29|0;if(k|0)break;else o=G}u=u+127&127;o=G+127&127;s=V+((G+126&127)<<2)|0;if((u|0)==(G|0))f[s>>2]=f[s>>2]|f[V+(o<<2)>>2];else o=G;f[V+(u<<2)>>2]=k;I=I+9|0}A:while(1){Z=o+1&127;G=V+((o+127&127)<<2)|0;while(1){k=(s|0)==18;m=(s|0)>27?9:1;I=u;while(1){B=0;while(1){u=B+I&127;if((u|0)==(o|0)){p=2;C=88;break}u=f[V+(u<<2)>>2]|0;b=f[56568+(B<<2)>>2]|0;if(u>>>0>>0){p=2;C=88;break}if(u>>>0>b>>>0)break;u=B+1|0;if((B|0)<1)B=u;else{p=u;C=88;break}}if((C|0)==88?(C=0,k&(p|0)==2):0){l=0.0;b=0;break A}e=m+e|0;if((I|0)==(o|0))I=o;else break}k=(1<>>m;B=0;u=I;b=I;do{E=V+(b<<2)|0;y=f[E>>2]|0;A=(y>>>m)+B|0;f[E>>2]=A;B=X(y&k,g)|0;A=(b|0)==(u|0)&(A|0)==0;s=A?s+-9|0:s;u=A?u+1&127:u;b=b+1&127}while((b|0)!=(o|0));if(!B)continue;if((Z|0)!=(u|0))break;f[G>>2]=f[G>>2]|1}f[V+(o<<2)>>2]=B;o=Z}do{u=b+I&127;s=o+1&127;if((u|0)==(o|0)){f[V+(s+-1<<2)>>2]=0;o=s}l=l*1.0e9+ +((f[V+(u<<2)>>2]|0)>>>0);b=b+1|0}while((b|0)!=2);d=+(n|0);c=l*d;b=e+53|0;B=b-r|0;k=(B|0)<(i|0);u=k?(B|0)>0?B:0:i;if((u|0)<53){J=+Iz(+mz(1.0,105-u|0),c);w=+Mz(c,+mz(1.0,53-u|0));h=J;l=w;w=J+(c-w)}else{h=0.0;l=0.0;w=c}s=I+2&127;if((s|0)!=(o|0)){s=f[V+(s<<2)>>2]|0;do{if(s>>>0>=5e8){if((s|0)!=5e8){l=d*.75+l;break}if((I+3&127|0)==(o|0)){l=d*.5+l;break}else{l=d*.75+l;break}}else{if((s|0)==0?(I+3&127|0)==(o|0):0)break;l=d*.25+l}}while(0);if((53-u|0)>1?!(+Mz(l,1.0)!=0.0):0)c=l+1.0;else c=l}else c=l;l=w+c-h;do{if((b&2147483647|0)>(-2-N|0)){N=!(+Y(+l)>=9007199254740992.0);e=e+((N^1)&1)|0;l=N?l:l*.5;if((e+50|0)<=(W|0)?!(c!=0.0&(k&((u|0)!=(B|0)|N))):0)break;f[(KW()|0)>>2]=34}}while(0);l=+Cz(l,e)}}while(0);v=z;return+l}function $P(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,t=0,l=0;t=A+4|0;i=f[t>>2]|0;l=A+100|0;if(i>>>0<(f[l>>2]|0)>>>0){f[t>>2]=i+1;i=a[i>>0]|0}else i=Xz(A)|0;switch(i|0){case 43:case 45:{r=(i|0)==45&1;i=f[t>>2]|0;if(i>>>0<(f[l>>2]|0)>>>0){f[t>>2]=i+1;i=a[i>>0]|0}else i=Xz(A)|0;if((e|0)!=0&(i+-48|0)>>>0>9?(f[l>>2]|0)!=0:0)f[t>>2]=(f[t>>2]|0)+-1;break}default:r=0}if((i+-48|0)>>>0>9)if(!(f[l>>2]|0)){r=-2147483648;i=0}else{f[t>>2]=(f[t>>2]|0)+-1;r=-2147483648;i=0}else{n=0;do{n=i+-48+(n*10|0)|0;i=f[t>>2]|0;if(i>>>0<(f[l>>2]|0)>>>0){f[t>>2]=i+1;i=a[i>>0]|0}else i=Xz(A)|0}while((i+-48|0)>>>0<10&(n|0)<214748364);e=((n|0)<0)<<31>>31;if((i+-48|0)>>>0<10)do{e=dH(n|0,e|0,10,0)|0;n=Q;i=gH(i|0,((i|0)<0)<<31>>31|0,-48,-1)|0;n=gH(i|0,Q|0,e|0,n|0)|0;e=Q;i=f[t>>2]|0;if(i>>>0<(f[l>>2]|0)>>>0){f[t>>2]=i+1;i=a[i>>0]|0}else i=Xz(A)|0}while((i+-48|0)>>>0<10&((e|0)<21474836|(e|0)==21474836&n>>>0<2061584302));if((i+-48|0)>>>0<10)do{i=f[t>>2]|0;if(i>>>0<(f[l>>2]|0)>>>0){f[t>>2]=i+1;i=a[i>>0]|0}else i=Xz(A)|0}while((i+-48|0)>>>0<10);if(f[l>>2]|0)f[t>>2]=(f[t>>2]|0)+-1;l=(r|0)!=0;i=mH(0,0,n|0,e|0)|0;r=l?Q:e;i=l?i:n}Q=r;return i|0}function AR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;r=A+84|0;a=f[r>>2]|0;t=i+256|0;n=Rz(a,0,t)|0;n=(n|0)==0?t:n-a|0;i=n>>>0>>0?n:i;VH(e|0,a|0,i|0)|0;f[A+4>>2]=a+i;e=a+n|0;f[A+8>>2]=e;f[r>>2]=e;return i|0}function eR(A,e,i){A=A|0;e=e|0;i=i|0;return iR(A,e,i)|0}function iR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if((f[A+76>>2]|0)>-1){r=(EJ(A)|0)==0;e=rR(A,e,i)|0;if(!r)QJ(A)}else e=rR(A,e,i)|0;return e|0}function rR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;if((i|0)==1)e=e-(f[A+8>>2]|0)+(f[A+4>>2]|0)|0;r=A+20|0;n=A+28|0;if((f[r>>2]|0)>>>0>(f[n>>2]|0)>>>0?(mL[f[A+36>>2]&31](A,0,0)|0,(f[r>>2]|0)==0):0)e=-1;else{f[A+16>>2]=0;f[n>>2]=0;f[r>>2]=0;if((mL[f[A+40>>2]&31](A,e,i)|0)<0)e=-1;else{f[A+8>>2]=0;f[A+4>>2]=0;f[A>>2]=f[A>>2]&-17;e=0}}return e|0}function nR(A){A=A|0;var e=0,i=0,n=0,f=0,a=0;while(1){n=A+1|0;if(!(Jz(r[A>>0]|0)|0))break;else A=n}i=r[A>>0]|0;switch(i<<24>>24|0){case 45:{A=1;f=5;break}case 43:{A=0;f=5;break}default:{a=0;e=A;A=i}}if((f|0)==5){a=A;e=n;A=r[n>>0]|0}if(!(Hz(A<<24>>24)|0))A=0;else{A=0;do{A=(A*10|0)+48-(r[e>>0]|0)|0;e=e+1|0}while((Hz(r[e>>0]|0)|0)!=0)}return(a|0?A:0-A|0)|0}function fR(A){A=A|0;return+ +aR(A,0)}function aR(A,e){A=A|0;e=e|0;return+ +tR(A,e,1)}function tR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0.0,n=0,a=0,t=0,l=0;l=v;v=v+128|0;t=l;n=t;a=n+124|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0));n=t+4|0;f[n>>2]=A;a=t+8|0;f[a>>2]=-1;f[t+44>>2]=A;f[t+76>>2]=-1;Fz(t,0);r=+KP(t,i,1);i=(f[n>>2]|0)-(f[a>>2]|0)+(f[t+108>>2]|0)|0;if(e|0)f[e>>2]=i|0?A+i|0:A;v=l;return+r}function lR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var f=0,a=0,t=0;A:do{if(!i)e=0;else{t=e;while(1){a=i>>>1;e=t+(X(a,r)|0)|0;f=gL[n&63](A,e)|0;if(!f)break A;if((i|0)==1){e=0;break A}f=(f|0)<0;i=f?a:i-a|0;if(!i){e=0;break}else t=f?t:e}}}while(0);return e|0}function cR(A,e){A=A|0;e=e|0;var i=0,r=0,f=0;f=A+2|0;r=A+4|0;i=dH((t[e+2>>1]|0)<<16|(t[e>>1]|0)|0,t[e+4>>1]|0|0,(t[f>>1]|0)<<16|(t[A>>1]|0)|0,t[r>>1]|0|0)|0;e=gH(i|0,Q|0,t[e+6>>1]|0|0,0)|0;i=Q;n[A>>1]=e;A=MH(e|0,i|0,16)|0;n[f>>1]=A;n[r>>1]=i;Q=i&65535;return e|0}function oR(A){A=A|0;VH(173880,58668,6)|0;VH(58668,A|0,6)|0;return 173880}function sR(A){A=A|0;var e=0,i=0;e=v;v=v+16|0;i=e;n[i>>1]=13070;n[i+2>>1]=A;n[i+4>>1]=A>>>16;oR(i)|0;v=e;return}function uR(A){A=A|0;var e=0;e=cR(A,58674)|0;e=EH(e|0,Q|0,4)|0;A=Q|1072693248;f[u>>2]=e;f[u+4>>2]=A;return+(+o[u>>3]+-1.0)}function bR(){return+ +uR(58668)}function vR(A,e){A=A|0;e=e|0;if(!A)e=LW(1,24)|0;else WH(e|0,0,24)|0;return e|0}function BR(A){A=A|0;var e=0,i=0;e=f[A>>2]|0;if(e|0)do{HW(f[e>>2]|0);i=e;e=f[e+4>>2]|0;HW(i)}while((e|0)!=0);HW(A);return}function kR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0;t=A+16|0;A:do{if(!(f[t>>2]|0)){o=A+12|0;a=f[o>>2]|0;if(a>>>0>>0){do{if(e)if(!i){f[t>>2]=1;e=0;break A}else{t=A+8|0;f[t>>2]=i;a=1024;e=i;break}else{a=n<<3;a=a>>>0>1024?a:1024;c=RW(8)|0;if(!c){f[t>>2]=1;e=0;break A}e=RW(a)|0;f[c>>2]=e;i=e;if(!e){HW(c);f[t>>2]=1;e=0;break A}f[c+4>>2]=0;t=A+4|0;l=f[t>>2]|0;if(l|0)f[l+4>>2]=c;if(!(f[A>>2]|0))f[A>>2]=c;f[t>>2]=c;t=A+8|0;f[t>>2]=i}}while(0);f[o>>2]=a}else{t=A+8|0;e=f[t>>2]|0;i=e}i=i+n&3;i=((i|0)==0?0:4-i|0)+n|0;f[t>>2]=e+i;f[o>>2]=a-i;if(r)WH(e|0,0,i|0)|0}else e=0}while(0);return e|0}function wR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0;m=v;v=v+48|0;t=m;d=hR()|0;A:do{if(!d)e=12;else{g=vR(0,0)|0;if(!g){dR(d);e=12;break}WH(t|0,0,36)|0;f[t>>2]=g;f[t+4>>2]=d;f[t+16>>2]=e;f[t+32>>2]=i;r=t+28|0;f[r>>2]=-1;e=gR(t)|0;e:do{if(!e){a=t+20|0;w=f[a>>2]|0;f[A>>2]=w+-1;l=f[t+8>>2]|0;if((f[r>>2]|0)<(w|0)){w=LW(1,68)|0;if(w){k=(f[r>>2]|0)>>>31^1;f[w+60>>2]=k;f[w+64>>2]=0;f[w+28>>2]=f[a>>2];if((i&8|0)==0|(k|0)!=0){e=mR(0,d,l,w)|0;if(e|0){a=w;t=0;l=0;n=0;r=0;break}r=w+40|0;e=f[r>>2]|0;if((e|0)>0){e=RW((e<<2)+4|0)|0;if(!e){a=w;t=0;l=0;e=12;n=0;r=0;break}f[w+32>>2]=e;WH(e|0,-1,(f[r>>2]<<2)+4|0)|0;n=e;e=f[r>>2]|0}else n=0;k=LW(e<<1|1,4)|0;f[w+36>>2]=k;if(!k){a=w;t=0;l=0;e=12;n=0;r=0;break}e=LW(f[a>>2]|0,12)|0;if(!e){a=w;t=0;l=0;e=12;n=0;r=0;break}f[w+16>>2]=e;e=mR(g,d,l,w)|0;if(!e)e=n;else{a=w;t=0;l=0;n=0;r=0;break}}else e=0;B=t+24|0;e=ZR(g,d,l,B,e)|0;if(!e){e=f[B>>2]|0;f[B>>2]=e+1;e=GR(g,0,0,e)|0;if((e|0)!=0?(h=IR(g,l,e)|0,(h|0)!=0):0){e=CR(g,d,h)|0;if(!e){b=RW(f[B>>2]<<2)|0;if(b){k=RW(f[B>>2]<<2)|0;if(k){e=f[B>>2]|0;if((e|0)>0)WH(b|0,0,e<<2|0)|0;MR(h,0,b,0)|0;n=f[B>>2]|0;if((n|0)>0){e=0;r=0;do{f[k+(r<<2)>>2]=e;u=b+(r<<2)|0;e=e+1+(f[u>>2]|0)|0;f[u>>2]=0;r=r+1|0}while((r|0)<(n|0));o=e}else o=0;s=LW(o+1|0,32)|0;if(s){f[w>>2]=s;u=w+4|0;f[u>>2]=o;e=MR(h,s,b,k)|0;if(!e){f[w+20>>2]=0;n=h+24|0;e=f[n>>2]|0;r=0;while(1){r=r+1|0;if((f[e>>2]|0)<=-1)break;else e=e+32|0}c=LW(r,32)|0;if(!c){a=w;t=b;l=k;e=12;n=b;r=k}else{f[w+8>>2]=c;n=f[n>>2]|0;r=f[n>>2]|0;if((r|0)>-1){e=0;do{f[c+(e<<5)+8>>2]=s+(f[k+(r<<2)>>2]<<5);f[c+(e<<5)+12>>2]=r;t=c+(e<<5)+16|0;f[t>>2]=0;l=n+12|0;a=f[l>>2]|0;if(a|0){r=0;do{Z=r;r=r+1|0}while((f[a+(Z<<2)>>2]|0)>-1);r=r<<2;a=RW(r)|0;f[t>>2]=a;if(!a){a=w;t=b;l=k;e=12;n=b;r=k;break e}VH(a|0,f[l>>2]|0,r|0)|0}f[c+(e<<5)+20>>2]=f[n+16>>2];e=e+1|0;n=n+32|0;r=f[n>>2]|0}while((r|0)>-1)}else e=0;f[c+(e<<5)+8>>2]=0;f[u>>2]=o;f[w+12>>2]=s+(f[k+(f[f[h+28>>2]>>2]<<2)>>2]<<5);f[w+52>>2]=f[B>>2];f[w+56>>2]=i;BR(g);dR(d);HW(b);HW(k);f[A+4>>2]=w;e=0;break A}}else{a=w;t=b;l=k;n=b;r=k}}else{a=w;t=b;l=k;e=12;n=b;r=k}}else{a=w;t=b;l=k;e=12;n=b;r=0}}else{a=w;t=b;l=0;e=12;n=0;r=0}}else{a=w;t=0;l=0;n=0;r=0}}else{a=w;t=0;l=0;e=12;n=0;r=0}}else{a=w;t=0;l=0;n=0;r=0}}else{a=w;t=0;l=0;e=12;n=0;r=0}}else{a=0;t=0;l=0;e=6;n=0;r=0}}else{a=0;t=0;l=0;n=0;r=0}}while(0);BR(g);dR(d);if(t|0)HW(n);if(l|0)HW(r);f[A+4>>2]=a;ER(A)}}while(0);v=m;return e|0}function hR(){var A=0,e=0;A=RW(20)|0;do{if(A){e=RW(2048)|0;f[A+16>>2]=e;if(!e){HW(A);A=0;break}else{f[A>>2]=512;f[A+4>>2]=1024e3;f[A+8>>2]=128;f[A+12>>2]=0;break}}}while(0);return A|0}function dR(A){A=A|0;HW(f[A+16>>2]|0);HW(A);return}function gR(A){A=A|0;var e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0;g=v;v=v+16|0;B=g+4|0;k=g;w=f[A+32>>2]&1;h=A+16|0;i=f[h>>2]|0;d=f[A+4>>2]|0;e=pR(d,0)|0;A:do{if(!e){s=(w|0)!=0;u=A+8|0;b=A+12|0;e=0;o=1;e:while(1){a=0;t=e;n=0;i:while(1){e=r[i>>0]|0;if(s){if(e<<24>>24==40)break;if((t|0)!=0&e<<24>>24==41)c=13;else c=14}else if(e<<24>>24==92)switch(r[i+1>>0]|0){case 40:break i;case 41:{c=13;break}default:c=14}else c=14;if((c|0)==13){c=0;l=GR(f[A>>2]|0,-1,-1,-1)|0;f[u>>2]=l;if(!l){e=12;break A}else l=n}else if((c|0)==14){c=0;e=UR(A,i)|0;if(e|0)break A;l=n;i=f[b>>2]|0}r:while(1){n:while(1){e=r[i>>0]|0;switch(e<<24>>24){case 42:case 92:break;default:{if(!s)break n;switch(e<<24>>24){case 123:case 63:case 43:break;default:break n}}}e=e<<24>>24==92;if(s&e)break;n=i+1|0;if(e)switch(r[n>>0]|0){case 123:case 63:case 43:break;default:break n}i=e?n:i;if((!s?(i|0)==((f[h>>2]|0)+1|0):0)?(r[i+-1>>0]|0)==94:0)break;if((r[i>>0]|0)==123){i=SR(i+1|0,w,B,k)|0;if(!i){c=28;break e}e=f[k>>2]|0;n=f[A>>2]|0;if(!e)e=GR(n,-1,-1,-1)|0;else c=36}else{f[B>>2]=0;f[k>>2]=-1;e=r[i>>0]|0;if(e<<24>>24==43){f[B>>2]=1;e=r[i>>0]|0}if(e<<24>>24==63){f[k>>2]=1;e=1}else e=-1;i=i+1|0;n=f[A>>2]|0;c=36}if((c|0)==36){c=0;e=FR(n,f[u>>2]|0,f[B>>2]|0,e,0)|0}f[u>>2]=e;if(!e){e=12;break A}}e=IR(f[A>>2]|0,a,f[u>>2]|0)|0;n=r[i>>0]|0;n:do{if(s){if(n<<24>>24==124){c=40;break r}if((t|0)!=0&n<<24>>24==41|n<<24>>24==0)c=47;else{a=e;n=l;continue i}}else{switch(n<<24>>24){case 0:{c=47;break n}case 92:break;default:{a=e;n=l;continue i}}switch(r[i+1>>0]|0){case 124:case 41:break;default:{a=e;n=l;continue i}}e=DR(f[A>>2]|0,l,e)|0;if((r[i+1>>0]|0)==124){n=2;break r}if(!t){e=8;break A}i=i+2|0;n=92}}while(0);if((c|0)==47){c=0;e=DR(f[A>>2]|0,l,e)|0;i=n<<24>>24==41?i+1|0:i}e=jR(A,e,VR(d)|0)|0;if(e|0)break A;e=n<<24>>24==0;n=(t|0)<1;if(n&e){c=50;break e}if(n|e){e=8;break A}a=NR(d)|0;t=t+-1|0;l=NR(d)|0}if((c|0)==40){n=1;e=DR(f[A>>2]|0,l,e)|0}a=0;i=i+n|0;n=e}e=YR(d,n)|0;if(e|0)break A;e=YR(d,a)|0;if(e|0)break A;e=pR(d,o)|0;if(e|0)break A;e=t+1|0;o=o+1|0;i=s?i+1|0:i+2|0}if((c|0)==28){e=10;break}else if((c|0)==50){f[A+20>>2]=o;e=0;break}}}while(0);v=g;return e|0}function mR(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0;G=yR(e)|0;I=(A|0)==0|(n|0)==0;if(!I){f[n+48>>2]=0;f[f[n+36>>2]>>2]=-1}a=n+28|0;C=RW((f[a>>2]<<3)+8|0)|0;do{if(!C)a=12;else{f[C>>2]=-1;M=RW((f[a>>2]<<2)+4|0)|0;if(!M){HW(C);a=12;break}f[M>>2]=-1;E=RW((f[a>>2]<<3)+8|0)|0;if(!E){HW(C);HW(M);a=12;break}t=f[a>>2]|0;a=0;do{f[E+(a<<3)>>2]=-1;a=a+1|0}while(a>>>0<=t>>>0);YR(e,i)|0;a=pR(e,0)|0;A:do{if((a|0)!=0|(yR(e)|0)<=(G|0)){i=C;b=0;t=0;u=0;s=-1}else{g=n+32|0;m=n+36|0;Z=n+16|0;i=C;b=0;t=0;u=0;d=1;s=-1;h=0;while(1){e:do{switch(VR(e)|0){case 6:{l=VR(e)|0;a=0;do{c=i+(a<<2)|0;a=a+1|0}while((f[c>>2]|0)>-1);f[c>>2]=l<<1|1;f[i+(a<<2)>>2]=-1;a=0;while(1)if((f[M+(a<<2)>>2]|0)>-1)a=a+1|0;else break;f[M+(a+-1<<2)>>2]=-1;a=0;c=d;l=h;break}case 0:{k=NR(e)|0;w=k+12|0;c=f[w>>2]|0;if((c|0)>-1){a=0;do{l=i+(a<<2)|0;a=a+1|0}while((f[l>>2]|0)>-1);f[l>>2]=c<<1;f[i+(a<<2)>>2]=-1;if(!I){a=0;while(1)if((f[M+(a<<2)>>2]|0)>-1)a=a+1|0;else break;f[(f[Z>>2]|0)+(c*12|0)+8>>2]=0;if((a|0)>0){a=RW((a<<2)+4|0)|0;if(!a){a=12;c=d;l=h;break e}f[(f[Z>>2]|0)+(c*12|0)+8>>2]=a;l=f[M>>2]|0;if((l|0)>-1){o=0;c=a;do{f[c>>2]=l;o=o+1|0;l=f[M+(o<<2)>>2]|0;c=a+(o<<2)|0}while((l|0)>-1);a=c}f[a>>2]=-1}}a=pR(e,f[w>>2]|0)|0;if(a|0){c=d;l=h;break e}a=pR(e,6)|0;if(a|0){c=d;l=h;break e}}i:do{switch(f[k>>2]|0){case 0:{B=f[f[k+4>>2]>>2]|0;if((B|0)>-1|(B|0)==-4?(f[i>>2]|0)>-1:0){if(I){f[k+20>>2]=1;a=0}else{a=XR(A,k,u)|0;f[(f[g>>2]|0)+(u<<2)>>2]=h;if((s|0)>-1){c=f[m>>2]|0;l=0;while(1){o=c+(l<<2)|0;v=l+1|0;if((f[o>>2]|0)>-1)l=v;else break}f[o>>2]=u;f[c+(v<<2)>>2]=s;f[c+(l+2<<2)>>2]=-1;t=t+1|0;s=-1}xR(i,n,u)}f[i>>2]=-1;B=d+1|0;v=h;b=b+1|0;u=d}else{B=d;a=0;v=h}break}case 1:{c=f[k+4>>2]|0;o=f[c>>2]|0;c=f[c+4>>2]|0;a=YR(e,k)|0;if(!a){a=pR(e,5)|0;if(!a){a=YR(e,c)|0;if(!a){a=pR(e,0)|0;if(!a){l=o+20|0;a=pR(e,(f[l>>2]|0)+d|0)|0;if(!a){if((f[l>>2]|0)>0){l=(f[c+20>>2]|0)>0;a=l?d:-1;l=d+(l&1)|0}else{a=-1;l=d}a=pR(e,a)|0;if(!a){a=pR(e,4)|0;if(!a){a=YR(e,o)|0;if(!a){B=l;a=pR(e,0)|0;v=h}else{B=l;v=h}}else{B=l;v=h}}else{B=l;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}break}case 2:{l=f[k+4>>2]|0;if(I){if((f[i>>2]|0)>-1)a=1;else a=(r[l+12>>0]&1)!=0;a=pR(e,a&1)|0;if(a|0){B=d;v=h;break i}}else{a=pR(e,u)|0;if(a|0){B=d;v=h;break i}a=pR(e,r[l+12>>0]&1)|0;if(a|0){B=d;v=h;break i}}a=YR(e,k)|0;if(!a){a=pR(e,1)|0;if(!a){a=YR(e,f[l>>2]|0)|0;if(!a){a=pR(e,0)|0;if(!a){if((f[i>>2]|0)<=-1?(r[l+12>>0]&1)==0:0){B=d;a=0;v=0;break i}if(I)a=0;else{a=XR(A,k,u)|0;f[(f[g>>2]|0)+(u<<2)>>2]=(r[l+12>>0]&1)==0?h:1;if((s|0)>-1){c=f[m>>2]|0;l=0;while(1){o=c+(l<<2)|0;v=l+1|0;if((f[o>>2]|0)>-1)l=v;else break}f[o>>2]=u;f[c+(v<<2)>>2]=s;f[c+(l+2<<2)>>2]=-1;t=t+1|0;s=-1}xR(i,n,u)}f[i>>2]=-1;B=d+1|0;v=0;b=b+1|0;u=d}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}break}case 3:{c=f[k+4>>2]|0;o=f[c>>2]|0;c=f[c+4>>2]|0;l=(f[i>>2]|0)>-1;B=d+1|0;a=pR(e,l?B:d)|0;if(!a){a=pR(e,l?d:u)|0;if(!a){a=YR(e,i)|0;if(!a){a=pR(e,(f[i>>2]|0)>>>31^1)|0;if(!a){a=YR(e,k)|0;if(!a){a=YR(e,c)|0;if(!a){a=YR(e,o)|0;if(!a){a=pR(e,3)|0;if(!a){a=YR(e,c)|0;if(!a){a=pR(e,0)|0;if(a|0){B=d;v=h;break i}a=pR(e,2)|0;if(a|0){B=d;v=h;break i}a=YR(e,o)|0;if(a|0){B=d;v=h;break i}a=pR(e,0)|0;if(a|0){B=d;v=h;break i}if((f[i>>2]|0)>-1){if(I)a=0;else{a=XR(A,k,u)|0;f[(f[g>>2]|0)+(u<<2)>>2]=h;if((s|0)>-1){c=f[m>>2]|0;l=0;while(1){o=c+(l<<2)|0;v=l+1|0;if((f[o>>2]|0)>-1)l=v;else break}f[o>>2]=u;f[c+(v<<2)>>2]=s;f[c+(l+2<<2)>>2]=-1;t=t+1|0;s=-1}xR(i,n,u)}f[i>>2]=-1;b=b+1|0;u=d;l=B}else{a=0;l=d}d=(f[k+16>>2]|0)>0;B=d?l+2|0:l;v=h;u=d?l+1|0:u}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}}else{B=d;v=h}break}default:{B=d;a=0;v=h}}}while(0);c=f[w>>2]|0;if((c|0)>-1){l=0;do{o=M+(l<<2)|0;l=l+1|0}while((f[o>>2]|0)>-1);f[o>>2]=c;f[M+(l<<2)>>2]=-1;c=B;l=v}else{c=B;l=v}break}case 1:{a=NR(e)|0;if(I){l=f[(f[f[a+4>>2]>>2]|0)+20>>2]|0;f[a+20>>2]=(VR(e)|0)+l;l=0;s=-1}else{k=VR(e)|0;w=VR(e)|0;l=k;s=(k|0)==0?s:w}a=0;c=d;l=I?h:(l|0)==0&1;break}case 4:{l=VR(e)|0;c=VR(e)|0;a=0;u=(l|0)>-1?l:u;l=h;break}case 5:{a=NR(e)|0;if(I){c=f[a+4>>2]|0;f[a+20>>2]=(f[(f[c+4>>2]|0)+20>>2]|0)+(f[(f[c>>2]|0)+20>>2]|0);a=0;c=d;l=h}else{a=0;c=d;l=h}break}case 2:{while(1)if((f[i>>2]|0)>-1)i=i+4|0;else{a=0;c=d;l=h;break}break}case 3:{c=NR(e)|0;v=NR(e)|0;a=NR(e)|0;i=VR(e)|0;if(I){w=f[a+4>>2]|0;h=a+16|0;f[a+20>>2]=(f[(f[w>>2]|0)+20>>2]|0)+i+(f[(f[w+4>>2]|0)+20>>2]|0)+((f[h>>2]|0)>0?2:0);a=h}else a=a+16|0;i=NR(e)|0;l=VR(e)|0;o=VR(e)|0;if((f[a>>2]|0)>0){if(I)a=0;else{a=TR(A,c,l)|0;f[(f[g>>2]|0)+(l<<2)>>2]=1;if(!a)a=TR(A,v,o)|0;f[(f[g>>2]|0)+(o<<2)>>2]=1}b=b+2|0;c=d;l=1}else{a=0;c=d;l=1}break}default:{a=0;c=d;l=h}}}while(0);if((a|0)!=0|(yR(e)|0)<=(G|0))break A;else{d=c;h=l}}}}while(0);if(!I?(xR(i,n,u),(s|0)>-1):0){l=f[n+36>>2]|0;i=0;while(1){c=l+(i<<2)|0;o=i+1|0;if((f[c>>2]|0)>-1)i=o;else break}f[c>>2]=u;f[l+(o<<2)>>2]=s;f[l+(i+2<<2)>>2]=-1;t=t+1|0}f[n+48>>2]=b;f[n+40>>2]=b;f[n+44>>2]=t;HW(C);HW(M);HW(E)}}while(0);return a|0}function ZR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;I=v;v=v+16|0;d=I+12|0;G=I+8|0;g=I+4|0;m=I;Z=yR(e)|0;f[d>>2]=0;f[G>>2]=0;i=YR(e,i)|0;A:do{if(!i){i=pR(e,0)|0;if(!i){e:do{if((yR(e)|0)>(Z|0)){a=0;l=0;c=0;i:while(1){k=VR(e)|0;w=NR(e)|0;r:do{switch(k|0){case 0:{switch(f[w>>2]|0){case 0:{i=f[w+4>>2]|0;w=f[i>>2]|0;if(!((w|0)>-1|(w|0)==-4)){i=c;break r}w=i+8|0;i=(f[w>>2]|0)+c|0;f[w>>2]=i;if((i|0)<=(f[G>>2]|0)){i=c;break r}f[G>>2]=i;i=c;break r}case 3:{t=f[w+4>>2]|0;i=YR(e,f[t+4>>2]|0)|0;if(i|0)break e;i=pR(e,0)|0;if(i|0)break e;i=YR(e,f[t>>2]|0)|0;if(i|0)break e;break}case 1:{t=f[w+4>>2]|0;i=YR(e,f[t+4>>2]|0)|0;if(i|0)break e;i=pR(e,0)|0;if(i|0)break e;i=YR(e,f[t>>2]|0)|0;if(i|0)break e;break}case 2:{t=f[w+4>>2]|0;i=pR(e,c)|0;if(i|0)break e;i=YR(e,w)|0;if(i|0)break e;i=pR(e,1)|0;if(i|0)break e;i=YR(e,f[t>>2]|0)|0;if(i|0)break e;i=pR(e,0)|0;if(i|0)break e;if((f[t+4>>2]|0)<=1?(f[t+8>>2]|0)<=1:0)i=c;else{f[d>>2]=0;i=0}l=l+1|0;break r}default:{i=c;break r}}i=pR(e,0)|0;if(!i)i=c;else break e;break}case 1:{B=w+4|0;b=f[B>>2]|0;k=VR(e)|0;f[d>>2]=k;u=b+4|0;c=f[u>>2]|0;if((c|0)<=1)if((f[b+8>>2]|0)>1){f[g>>2]=0;if((c|0)>0)h=30;else{i=k;t=0;h=37}}else i=k;else{f[g>>2]=0;h=30}n:do{if((h|0)==30){i=LR(A,e,f[b>>2]|0,(c|0)>1?1:2,d,n,m,G)|0;if(!i){t=0;o=k;s=1}else{h=34;break i}while(1){i=f[m>>2]|0;if(!t)t=i;else t=IR(A,t,i)|0;if(!t){i=12;h=34;break i}c=f[u>>2]|0;if((s|0)>=(c|0)){i=o;h=37;break n}o=f[d>>2]|0;s=s+1|0;i=LR(A,e,f[b>>2]|0,(s|0)<(c|0)?1:2,d,n,m,G)|0;if(i|0){h=34;break i}}}}while(0);if((h|0)==37){h=0;u=b+8|0;o=f[u>>2]|0;if((o|0)==-1){o=f[d>>2]|0;i=LR(A,e,f[b>>2]|0,0,d,0,g,G)|0;if(i|0)break i;c=FR(A,f[g>>2]|0,0,-1,0)|0;f[g>>2]=c;if(!c){i=12;break i}else i=o}else if((c|0)<(o|0)){o=c;c=0;while(1){s=f[d>>2]|0;i=LR(A,e,f[b>>2]|0,0,d,0,m,G)|0;if(i|0){h=49;break i}if(!c){i=f[m>>2]|0;f[g>>2]=i}else{i=IR(A,f[m>>2]|0,c)|0;f[g>>2]=i}if(!i){i=12;h=49;break i}c=GR(A,-1,-1,-1)|0;if(!c){i=12;h=49;break i}c=DR(A,c,i)|0;f[g>>2]=c;if(!c){i=12;h=49;break i}o=o+1|0;if((o|0)>=(f[u>>2]|0)){i=s;break}}}else c=0;f[d>>2]=i;if(t){if(c){t=IR(A,t,c)|0;h=54}}else{t=c;h=54}if((h|0)==54){h=0;if(!t){i=12;break i}}f[B>>2]=f[t+4>>2];f[w>>2]=f[t>>2]}l=l+-1|0;t=i-k+a|0;if(!l){f[d>>2]=t;a=t;l=0;i=t}else a=t;break}default:i=c}}while(0);if((yR(e)|0)>(Z|0))c=i;else{i=0;break e}}break A}else{i=0;a=0}}while(0);Z=(f[r>>2]|0)+a|0;G=f[G>>2]|0;f[r>>2]=(G|0)>(Z|0)?G:Z}}}while(0);v=I;return i|0}function GR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;n=kR(A,0,0,1,20)|0;A=HR(A,0,n)|0;if(!A)A=0;else{f[n>>2]=e;f[n+4>>2]=i;f[n+8>>2]=r}return A|0}function IR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=kR(A,0,0,1,8)|0;A=HR(A,1,r)|0;if(!A)i=0;else{f[r>>2]=e;f[r+4>>2]=i;f[A+16>>2]=(f[i+16>>2]|0)+(f[e+16>>2]|0);i=A}}return i|0}function CR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0;b=v;v=v+16|0;c=b+4|0;o=b;s=yR(e)|0;i=YR(e,i)|0;A:do{if(!i){i=pR(e,0)|0;if(!i)if((yR(e)|0)>(s|0)){e:while(1){t=VR(e)|0;l=NR(e)|0;i:do{switch(t|0){case 0:switch(f[l>>2]|0){case 0:{a=f[l+4>>2]|0;n=f[a>>2]|0;if((n|0)==-4){f[l+8>>2]=0;i=a+8|0;t=WR(A,f[i>>2]|0,0,1114111,0,0,-1)|0;f[l+24>>2]=t;if(!t){i=12;break A}t=WR(A,f[i>>2]|0,0,1114111,0,0,f[a+4>>2]|0)|0;f[l+28>>2]=t;if(!t){i=12;break A}else break i}i=l+8|0;if((n|0)<0){f[i>>2]=1;t=zR(A)|0;f[l+24>>2]=t;if(!t){i=12;break A}t=zR(A)|0;f[l+28>>2]=t;if(!t){i=12;break A}else break i}else{f[i>>2]=0;i=a+8|0;r=a+4|0;t=WR(A,f[i>>2]|0,n,f[r>>2]|0,0,0,-1)|0;f[l+24>>2]=t;if(!t){i=12;break A}t=WR(A,f[i>>2]|0,f[a>>2]|0,f[r>>2]|0,f[a+12>>2]|0,f[a+16>>2]|0,-1)|0;f[l+28>>2]=t;if(!t){i=12;break A}else break i}}case 3:{i=YR(e,l)|0;if(i|0)break A;i=pR(e,1)|0;if(i|0)break A;r=l+4|0;i=YR(e,f[(f[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=pR(e,0)|0;if(i|0)break A;i=YR(e,f[f[r>>2]>>2]|0)|0;if(i|0)break A;i=pR(e,0)|0;if(!i)break i;else break A}case 1:{i=YR(e,l)|0;if(i|0)break A;i=pR(e,2)|0;if(i|0)break A;r=l+4|0;i=YR(e,f[(f[r>>2]|0)+4>>2]|0)|0;if(i|0)break A;i=pR(e,0)|0;if(i|0)break A;i=YR(e,f[f[r>>2]>>2]|0)|0;if(i|0)break A;i=pR(e,0)|0;if(!i)break i;else break A}case 2:{i=YR(e,l)|0;if(i|0)break A;i=pR(e,3)|0;if(i|0)break A;i=YR(e,f[f[l+4>>2]>>2]|0)|0;if(i|0)break A;i=pR(e,0)|0;if(!i)break i;else break A}default:break i}case 1:{i=f[l+4>>2]|0;r=f[i>>2]|0;n=i+4|0;a=f[n>>2]|0;if(!(f[r+8>>2]|0))t=(f[a+8>>2]|0)!=0;else t=1;f[l+8>>2]=t&1;t=JR(A,f[r+24>>2]|0,f[a+24>>2]|0,0,0)|0;f[l+24>>2]=t;if(!t){i=12;break A}t=JR(A,f[(f[i>>2]|0)+28>>2]|0,f[(f[n>>2]|0)+28>>2]|0,0,0)|0;f[l+28>>2]=t;if(!t){i=12;break A}break}case 3:{t=f[l+4>>2]|0;i=f[t>>2]|0;if(!(f[t+4>>2]|0))r=1;else r=(f[i+8>>2]|0)!=0&1;f[l+8>>2]=r;f[l+24>>2]=f[i+24>>2];f[l+28>>2]=f[i+28>>2];break}case 2:{a=f[l+4>>2]|0;i=f[a>>2]|0;r=i+8|0;if(!(f[r>>2]|0))n=0;else n=(f[(f[a+4>>2]|0)+8>>2]|0)!=0;f[l+8>>2]=n&1;if(f[r>>2]|0){i=PR(e,i,0,0,c)|0;if(i|0)break e;r=RW((f[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}f[r>>2]=-1;f[o>>2]=0;i=PR(e,f[a>>2]|0,r,o,0)|0;if(i|0){u=45;break e}i=a+4|0;t=l+24|0;f[t>>2]=JR(A,f[(f[i>>2]|0)+24>>2]|0,f[(f[a>>2]|0)+24>>2]|0,r,f[o>>2]|0)|0;HW(r);if(!(f[t>>2]|0)){i=12;break e}else n=i}else{f[l+24>>2]=f[i+24>>2];n=a+4|0}i=f[n>>2]|0;if(f[i+8>>2]|0){i=PR(e,i,0,0,c)|0;if(i|0)break e;r=RW((f[c>>2]<<2)+4|0)|0;if(!r){i=12;break e}f[r>>2]=-1;f[o>>2]=0;i=PR(e,f[n>>2]|0,r,o,0)|0;if(i|0){u=52;break e}l=l+28|0;f[l>>2]=JR(A,f[(f[a>>2]|0)+28>>2]|0,f[(f[n>>2]|0)+28>>2]|0,r,f[o>>2]|0)|0;HW(r);if(!(f[l>>2]|0)){i=12;break e}}else f[l+28>>2]=f[i+28>>2];break}default:{}}}while(0);if((yR(e)|0)<=(s|0)){i=0;break A}}if((u|0)==45)HW(r);else if((u|0)==52)HW(r)}else i=0}}while(0);v=b;return i|0}function MR(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;A:while(1){switch(f[A>>2]|0){case 2:{A=f[A+4>>2]|0;if((f[A+8>>2]|0)==-1?(t=f[A>>2]|0,t=QR(f[t+28>>2]|0,f[t+24>>2]|0,e,i,r)|0,(t|0)!=0):0){A=t;break A}break}case 3:{n=f[A+4>>2]|0;A=MR(f[n>>2]|0,e,i,r)|0;if(A|0)break A;A=n+4|0;break}case 1:{n=f[A+4>>2]|0;a=n+4|0;A=QR(f[(f[n>>2]|0)+28>>2]|0,f[(f[a>>2]|0)+24>>2]|0,e,i,r)|0;if(A|0)break A;A=MR(f[n>>2]|0,e,i,r)|0;if(!A)A=a;else break A;break}default:{A=0;break A}}A=f[A>>2]|0}return A|0}function ER(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0;t=f[A+4>>2]|0;if(t|0){r=t+4|0;A=f[t>>2]|0;if(f[r>>2]|0){i=0;do{if(f[A+(i<<5)+8>>2]|0){e=f[A+(i<<5)+16>>2]|0;if(e){HW(e);A=f[t>>2]|0}e=f[A+(i<<5)+28>>2]|0;if(e){HW(e);A=f[t>>2]|0}}i=i+1|0}while(i>>>0<(f[r>>2]|0)>>>0)}if(A|0)HW(A);i=t+8|0;A=f[i>>2]|0;if(A|0){if(f[A+8>>2]|0){while(1){e=f[A+16>>2]|0;if(e|0)HW(e);if(!(f[A+40>>2]|0))break;else A=A+32|0}A=f[i>>2]|0}HW(A)}n=t+16|0;A=f[n>>2]|0;if(A|0){a=t+28|0;e=f[a>>2]|0;if(e){r=0;do{i=f[A+(r*12|0)+8>>2]|0;if(i){HW(i);e=f[a>>2]|0;A=f[n>>2]|0}r=r+1|0}while(r>>>0>>0)}HW(A)}A=f[t+32>>2]|0;if(A|0)HW(A);A=f[t+20>>2]|0;if(A|0)HW(A);A=f[t+36>>2]|0;if(A|0)HW(A);HW(t)}return}function QR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0;a=f[A>>2]|0;t=(a|0)>-1;A:do{if(!i)if(t){t=e+32|0;do{if((f[e>>2]|0)>-1?(I=r+(a<<2)|0,f[I>>2]=(f[I>>2]|0)+1,(f[t>>2]|0)>-1):0){a=t;do{I=r+(f[A>>2]<<2)|0;f[I>>2]=(f[I>>2]|0)+1;a=a+32|0}while((f[a>>2]|0)>-1)}A=A+32|0;a=f[A>>2]|0}while((a|0)>-1);a=0}else a=0;else if(t)while(1){t=f[e>>2]|0;e:do{if((t|0)>-1){B=A+4|0;k=A+8|0;w=A+16|0;h=A+20|0;d=A+24|0;g=A+28|0;m=A+12|0;r=-1;a=e;while(1){v=t;while(1){if((v|0)!=(r|0))break;a=a+32|0;t=f[a>>2]|0;if((t|0)>-1)v=t;else break e}s=i+(f[n+(f[A>>2]<<2)>>2]<<5)|0;while(1){t=s+8|0;if(!(f[t>>2]|0))break;else s=s+32|0}f[s+40>>2]=0;f[s>>2]=f[B>>2];f[s+4>>2]=f[k>>2];f[t>>2]=i+(f[n+(v<<2)>>2]<<5);f[s+12>>2]=v;t=f[h>>2]|0;r=f[a+16>>2]|f[w>>2]|(t|0?4:0)|(f[d>>2]|0?8:0);l=s+20|0;f[l>>2]=r;c=f[g>>2]|0;if((c|0)>-1){f[l>>2]=r|256;t=c}f[s+24>>2]=t;r=f[d>>2]|0;if(!r)f[s+28>>2]=0;else{t=0;do{b=t;t=t+1|0}while((f[r+(b<<2)>>2]|0)!=0);t=RW(t<<2)|0;f[s+28>>2]=t;if(!t){a=12;break A}o=f[d>>2]|0;r=f[o>>2]|0;if(r){c=0;l=t;do{f[l>>2]=r;c=c+1|0;r=f[o+(c<<2)>>2]|0;l=t+(c<<2)|0}while((r|0)!=0);t=l}f[t>>2]=0}r=f[m>>2]|0;if(!r)t=0;else{t=0;while(1)if((f[r+(t<<2)>>2]|0)>-1)t=t+1|0;else break}o=a+12|0;l=f[o>>2]|0;if(!l)r=0;else{r=0;while(1)if((f[l+(r<<2)>>2]|0)>-1)r=r+1|0;else break}c=s+16|0;l=f[c>>2]|0;if(l|0)HW(l);f[c>>2]=0;t=r+t|0;if((t|0)>0){b=RW((t<<2)+4|0)|0;f[c>>2]=b;if(!b){a=12;break A}r=f[m>>2]|0;if((r|0)!=0?(Z=f[r>>2]|0,(Z|0)>-1):0){t=0;l=Z;do{f[b+(t<<2)>>2]=l;t=t+1|0;l=f[r+(t<<2)>>2]|0}while((l|0)>-1);u=t}else u=0;c=f[o>>2]|0;if((c|0)!=0?(G=f[c>>2]|0,(G|0)>-1):0){o=(u|0)>0;t=u;l=0;s=G;do{i:do{if(o){r=0;while(1){if((f[b+(r<<2)>>2]|0)==(s|0))break i;r=r+1|0;if((r|0)>=(u|0)){I=39;break}}}else I=39}while(0);if((I|0)==39){I=0;f[b+(t<<2)>>2]=s;t=t+1|0}l=l+1|0;s=f[c+(l<<2)>>2]|0}while((s|0)>-1)}else t=u;f[b+(t<<2)>>2]=-1}a=a+32|0;t=f[a>>2]|0;if((t|0)<=-1)break;else r=v}}}while(0);A=A+32|0;if((f[A>>2]|0)<=-1){a=0;break}}else a=0}while(0);return a|0}function yR(A){A=A|0;return f[A+12>>2]|0}function YR(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+16|0;r=i+4|0;n=i;f[n>>2]=e;f[r>>2]=f[n>>2];e=RR(A,r)|0;v=i;return e|0}function pR(A,e){A=A|0;e=e|0;var i=0,r=0,n=0;i=v;v=v+16|0;r=i+4|0;n=i;f[n>>2]=e;f[r>>2]=f[n>>2];e=RR(A,r)|0;v=i;return e|0}function VR(A){A=A|0;var e=0,i=0;e=f[A+16>>2]|0;i=A+12|0;A=(f[i>>2]|0)+-1|0;f[i>>2]=A;return f[e+(A<<2)>>2]|0}function NR(A){A=A|0;var e=0,i=0;e=f[A+16>>2]|0;i=A+12|0;A=(f[i>>2]|0)+-1|0;f[i>>2]=A;return f[e+(A<<2)>>2]|0}function WR(A,e,i,r,n,a,t){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;t=t|0;A=kR(A,0,0,1,64)|0;if(!A)A=0;else{f[A>>2]=e;f[A+4>>2]=i;f[A+8>>2]=r;f[A+20>>2]=n;f[A+24>>2]=a;f[A+28>>2]=t;f[A+32>>2]=-1;f[A+36>>2]=-1;f[A+40>>2]=-1}return A|0}function zR(A){A=A|0;A=kR(A,0,0,1,32)|0;if(!A)A=0;else{f[A>>2]=-1;f[A+4>>2]=-1;f[A+8>>2]=-1}return A|0}function JR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;v=(r|0)==0;if(v)b=0;else{a=0;while(1)if((f[r+(a<<2)>>2]|0)>-1)a=a+1|0;else{b=a;break}}t=0;while(1)if((f[e+(t<<5)>>2]|0)>-1)t=t+1|0;else{a=0;break}while(1)if((f[i+(a<<5)>>2]|0)>-1)a=a+1|0;else break;a=kR(A,0,0,1,(a+t<<5)+32|0)|0;A:do{if(!a)a=0;else{t=f[e>>2]|0;if((t|0)>-1){u=(b|0)>0;l=0;while(1){f[a+(l<<5)>>2]=t;f[a+(l<<5)+4>>2]=f[e+(l<<5)+4>>2];f[a+(l<<5)+8>>2]=f[e+(l<<5)+8>>2];f[a+(l<<5)+16>>2]=f[e+(l<<5)+16>>2]|n;f[a+(l<<5)+20>>2]=f[e+(l<<5)+20>>2];f[a+(l<<5)+24>>2]=f[e+(l<<5)+24>>2];f[a+(l<<5)+28>>2]=f[e+(l<<5)+28>>2];s=e+(l<<5)+12|0;c=f[s>>2]|0;t=(c|0)==0;if(v&t)t=0;else{if(t)o=0;else{t=0;while(1)if((f[c+(t<<2)>>2]|0)>-1)t=t+1|0;else{o=t;break}}t=kR(A,0,0,0,(o+b<<2)+4|0)|0;if(!t){a=0;break A}if((o|0)>0){s=f[s>>2]|0;c=0;do{f[t+(c<<2)>>2]=f[s+(c<<2)>>2];c=c+1|0}while((c|0)!=(o|0))}else o=0;if(u){c=0;do{f[t+(c+o<<2)>>2]=f[r+(c<<2)>>2];c=c+1|0}while((c|0)!=(b|0));c=b}else c=0;f[t+(c+o<<2)>>2]=-1}f[a+(l<<5)+12>>2]=t;l=l+1|0;t=f[e+(l<<5)>>2]|0;if((t|0)<=-1){b=l;break}}}else b=0;l=f[i>>2]|0;t=a+(b<<5)|0;if((l|0)>-1){u=0;s=b;do{f[t>>2]=l;f[a+(s<<5)+4>>2]=f[i+(u<<5)+4>>2];f[a+(s<<5)+8>>2]=f[i+(u<<5)+8>>2];f[a+(s<<5)+16>>2]=f[i+(u<<5)+16>>2];f[a+(s<<5)+20>>2]=f[i+(u<<5)+20>>2];f[a+(s<<5)+24>>2]=f[i+(u<<5)+24>>2];f[a+(s<<5)+28>>2]=f[i+(u<<5)+28>>2];c=i+(u<<5)+12|0;t=f[c>>2]|0;if(!t)t=0;else{l=0;while(1)if((f[t+(l<<2)>>2]|0)>-1)l=l+1|0;else break;t=kR(A,0,0,0,(l<<2)+4|0)|0;if(!t){a=0;break A}if((l|0)>0){o=f[c>>2]|0;c=0;do{f[t+(c<<2)>>2]=f[o+(c<<2)>>2];c=c+1|0}while((c|0)!=(l|0))}else l=0;f[t+(l<<2)>>2]=-1}f[a+(s<<5)+12>>2]=t;u=u+1|0;l=f[i+(u<<5)>>2]|0;s=u+b|0;t=a+(s<<5)|0}while((l|0)>-1)}f[t>>2]=-1}}while(0);return a|0}function PR(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0;v=yR(A)|0;B=(n|0)!=0;if(B)f[n>>2]=0;e=YR(A,e)|0;A:do{if(!e){u=(i|0)==0;s=(r|0)==0;if((yR(A)|0)>(v|0))while(1){e=NR(A)|0;e:do{switch(f[e>>2]|0){case 0:{e=f[e+4>>2]|0;switch(f[e>>2]|0){case-3:break;case-2:{if(s)break e;f[r>>2]=f[r>>2]|f[e+4>>2];break e}default:break e}t=f[e+4>>2]|0;if((t|0)>-1){i:do{if(!u){e=0;while(1){l=i+(e<<2)|0;c=f[l>>2]|0;if((c|0)<=-1)break;if((c|0)==(t|0))break i;else e=e+1|0}f[l>>2]=t;f[i+(e+1<<2)>>2]=-1}}while(0);if(B)f[n>>2]=(f[n>>2]|0)+1}break}case 3:{e=f[e+4>>2]|0;t=f[e>>2]|0;if(f[t+8>>2]|0){o=t;b=6;break e}e=f[e+4>>2]|0;if(f[e+8>>2]|0){o=e;b=6}break}case 1:{e=f[e+4>>2]|0;t=YR(A,f[e>>2]|0)|0;if(t|0){a=t;break A}o=f[e+4>>2]|0;b=6;break}case 2:{e=f[f[e+4>>2]>>2]|0;if(f[e+8>>2]|0){o=e;b=6}break}default:{}}}while(0);if((b|0)==6?(b=0,a=YR(A,o)|0,a|0):0)break A;if((yR(A)|0)<=(v|0)){a=0;break A}}else a=0}else a=e}while(0);return a|0}function RR(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+16|0;a=o;i=A+12|0;r=f[i>>2]|0;c=f[A>>2]|0;if((r|0)>=(c|0)){i=f[A+4>>2]|0;if((c|0)<(i|0)?(n=(f[A+8>>2]|0)+c|0,n=(n|0)>(i|0)?i:n,t=A+16|0,l=FW(f[t>>2]|0,n<<2)|0,(l|0)!=0):0){f[A>>2]=n;f[t>>2]=l;f[a>>2]=f[e>>2];RR(A,a)|0;i=0}else i=12}else{f[(f[A+16>>2]|0)+(r<<2)>>2]=f[e>>2];f[i>>2]=(f[i>>2]|0)+1;i=0}v=o;return i|0}function HR(A,e,i){A=A|0;e=e|0;i=i|0;A=kR(A,0,0,1,32)|0;if((i|0)!=0&(A|0)!=0){f[A+4>>2]=i;f[A>>2]=e;f[A+8>>2]=-1;f[A+12>>2]=-1}else A=0;return A|0}function LR(A,e,i,n,a,t,l,c){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;t=t|0;l=l|0;c=c|0;var o=0,s=0,u=0,b=0,v=0,B=0,k=0,w=0;w=yR(e)|0;YR(e,i)|0;i=pR(e,0)|0;A:do{if(!i){k=(n&1|0)==0;B=(n&2|0)!=0;v=0;s=1;i=l;while(1){if((yR(e)|0)>(w|0))b=i;else{n=v;i=0;break A}e:while(1){i:while(1){switch(VR(e)|0){case 1:{l=7;break i}case 0:{i=NR(e)|0;switch(f[i>>2]|0){case 0:{l=9;break e}case 3:{l=19;break e}case 1:{l=26;break e}case 2:{l=33;break i}default:{}}break}default:{}}if((yR(e)|0)<=(w|0)){n=v;i=0;break A}}if((l|0)==7)i=NR(e)|0;else if((l|0)==33){n=f[i+4>>2]|0;i=YR(e,f[n>>2]|0)|0;if(i|0){n=v;break A}i=pR(e,0)|0;if(i|0){n=v;break A}i=FR(A,f[n>>2]|0,f[n+4>>2]|0,f[n+8>>2]|0,r[n+12>>0]&1)|0;f[b>>2]=i;if(!i){n=v;i=12;break A}i=f[i+4>>2]|0}if((yR(e)|0)>(w|0))b=i;else{n=v;i=0;break A}}if((l|0)==9){u=f[i+4>>2]|0;l=f[u+8>>2]|0;n=f[u>>2]|0;i=f[u+4>>2]|0;if(!((n|0)>-1|(n|0)==-4))if(k|(n|0)!=-3)if((n|0)==-3)if(B&(s|0)!=0){f[t+(i<<2)>>2]=1;n=-3;o=v;s=0}else{n=-3;o=v}else o=v;else{i=-1;n=-1;l=-1;o=v}else{l=(f[a>>2]|0)+l|0;o=v+1|0}i=GR(A,n,i,l)|0;f[b>>2]=i;if(!i)i=12;else{i=f[i+4>>2]|0;f[i+12>>2]=f[u+12>>2];f[i+16>>2]=f[u+16>>2];i=0}if((l|0)>(f[c>>2]|0)){f[c>>2]=l;n=b}else n=b}else if((l|0)==19){l=f[i+4>>2]|0;n=l+4|0;i=DR(A,f[l>>2]|0,f[n>>2]|0)|0;f[b>>2]=i;if(!i){n=v;i=12;break A}u=f[i+4>>2]|0;i=YR(e,f[n>>2]|0)|0;if(i|0){n=v;break A}i=pR(e,0)|0;if(i|0){n=v;break A}i=YR(e,u+4|0)|0;if(i|0){n=v;break A}i=pR(e,1)|0;if(i|0){n=v;break A}i=YR(e,f[l>>2]|0)|0;if(i|0){n=v;break A}o=v;n=u;i=pR(e,0)|0}else if((l|0)==26){u=f[i+4>>2]|0;l=u+4|0;i=IR(A,f[u>>2]|0,f[l>>2]|0)|0;f[b>>2]=i;if(!i){n=v;i=12;break A}n=f[i+4>>2]|0;f[n>>2]=0;o=n+4|0;f[o>>2]=0;i=YR(e,f[l>>2]|0)|0;if(i|0){n=v;break A}i=pR(e,0)|0;if(i|0){n=v;break A}i=YR(e,o)|0;if(i|0){n=v;break A}i=pR(e,1)|0;if(i|0){n=v;break A}i=YR(e,f[u>>2]|0)|0;if(i|0){n=v;break A}o=v;i=pR(e,0)|0}if(!i){v=o;i=n}else{n=o;break}}}else n=0}while(0);f[a>>2]=(f[a>>2]|0)+n;return i|0}function FR(A,e,i,n,a){A=A|0;e=e|0;i=i|0;n=n|0;a=a|0;var t=0;t=kR(A,0,0,1,16)|0;A=HR(A,2,t)|0;if(!A)A=0;else{f[t>>2]=e;f[t+4>>2]=i;f[t+8>>2]=n;t=t+12|0;r[t>>0]=r[t>>0]&-2|a&1;f[A+16>>2]=f[e+16>>2]}return A|0}function DR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0;if(e){r=kR(A,0,0,1,8)|0;A=HR(A,3,r)|0;if((i|0)!=0&(A|0)!=0){f[r>>2]=e;f[r+4>>2]=i;f[A+16>>2]=(f[i+16>>2]|0)+(f[e+16>>2]|0);i=A}else i=0}return i|0}function XR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=kR(A,0,0,0,8)|0;if(((r|0)!=0?(i=GR(A,-3,i,-1)|0,f[r>>2]=i,(i|0)!=0):0)?(n=kR(A,0,0,0,32)|0,f[r+4>>2]=n,(n|0)!=0):0){A=e+4|0;f[n+4>>2]=f[A>>2];f[n>>2]=f[e>>2];f[n+8>>2]=-1;f[n+12>>2]=-1;n=n+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[A>>2]=r;f[e>>2]=1;A=0}else A=12;return A|0}function xR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;n=f[A>>2]|0;if((n|0)>-1){a=f[e+16>>2]|0;r=0;e=n;do{n=e>>>1;f[((e&1|0)==0?a+(n*12|0)|0:a+(n*12|0)+4|0)>>2]=i;r=r+1|0;e=f[A+(r<<2)>>2]|0}while((e|0)>-1)}f[A>>2]=-1;return}function TR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=kR(A,0,0,0,8)|0;if(((r|0)!=0?(i=GR(A,-3,i,-1)|0,f[r+4>>2]=i,(i|0)!=0):0)?(n=kR(A,0,0,0,32)|0,f[r>>2]=n,(n|0)!=0):0){A=e+4|0;f[n+4>>2]=f[A>>2];f[n>>2]=f[e>>2];f[n+8>>2]=-1;f[n+12>>2]=-1;n=n+16|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[A>>2]=r;f[e>>2]=1;A=0}else A=12;return A|0}function UR(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0;s=v;v=v+16|0;c=s;l=A+32|0;t=f[l>>2]|0;a=t&1;A:do{switch(r[e>>0]|0){case 91:{i=KR(A,e+1|0)|0;break}case 92:{i=e+1|0;n=_R(i)|0;if(n|0){i=UR(A,n)|0;f[A+12>>2]=e+2;break A}n=r[i>>0]|0;switch(n|0){case 0:{i=5;break A}case 98:{n=GR(f[A>>2]|0,-2,64,-1)|0;break}case 66:{n=GR(f[A>>2]|0,-2,128,-1)|0;break}case 60:{n=GR(f[A>>2]|0,-2,16,-1)|0;break}case 62:{n=GR(f[A>>2]|0,-2,32,-1)|0;break}case 120:{t=e+2|0;l=(r[t>>0]|0)==123;a=l?8:2;t=l?e+3|0:t;i=0;n=0;do{e=qR(r[t+i>>0]|0)|0;if((e|0)<0)break;n=e+(n<<4)|0;i=i+1|0}while((n|0)<1114112&(i|0)<(a|0));i=t+i|0;if(l){if((r[i>>0]|0)!=125){i=9;break A}i=i+1|0}c=f[A>>2]|0;l=A+24|0;o=f[l>>2]|0;f[l>>2]=o+1;n=GR(c,n,n,o)|0;i=i+-1|0;break}case 63:case 43:case 123:if(!a){i=13;break A}else{o=37;break A}case 124:{if(a|0){o=37;break A}i=GR(f[A>>2]|0,-1,-1,-1)|0;o=45;break A}default:{if(!((a|0)==0&(n+-49|0)>>>0<9)){o=37;break A}c=n+-48|0;o=f[A>>2]|0;l=A+24|0;n=f[l>>2]|0;f[l>>2]=n+1;n=GR(o,-4,c,n)|0;o=A+28|0;l=f[o>>2]|0;f[o>>2]=(c|0)<(l|0)?l:c}}e=i+1|0;i=n;o=45;break}case 46:{i=f[A>>2]|0;a=A+24|0;n=f[a>>2]|0;f[a>>2]=n+1;if(t&4){n=GR(i,0,9,n)|0;o=f[A>>2]|0;i=f[a>>2]|0;f[a>>2]=i+1;i=GR(o,11,1114111,i)|0;if((n|0)!=0&(i|0)!=0)i=DR(f[A>>2]|0,n,i)|0;else i=0}else i=GR(i,0,1114111,n)|0;e=e+1|0;o=45;break}case 94:{if((a|0)==0?(f[A+16>>2]|0)!=(e|0):0){i=e;o=37;break A}e=e+1|0;i=GR(f[A>>2]|0,-2,1,-1)|0;o=45;break}case 36:{i=e+1|0;if((a|0)==0?r[i>>0]|0:0){i=e;o=37;break A}e=i;i=GR(f[A>>2]|0,-2,2,-1)|0;o=45;break}case 63:case 43:case 123:case 42:{if(!a){i=e;o=37}else i=13;break}case 124:{if(!a){i=e;o=37}else o=36;break}case 0:{o=36;break}default:{i=e;o=37}}}while(0);if((o|0)==36){i=GR(f[A>>2]|0,-1,-1,-1)|0;o=45}else if((o|0)==37){t=NP(c,i,-1)|0;if((t|0)<0)i=2;else{do{if(f[l>>2]&2){if((mJ(f[c>>2]|0)|0)==0?(gJ(f[c>>2]|0)|0)==0:0){o=43;break}l=f[A>>2]|0;u=qz(f[c>>2]|0)|0;a=qz(f[c>>2]|0)|0;n=A+24|0;a=GR(l,u,a,f[n>>2]|0)|0;u=f[A>>2]|0;l=GJ(f[c>>2]|0)|0;e=GJ(f[c>>2]|0)|0;e=GR(u,l,e,f[n>>2]|0)|0;if((a|0)!=0&(e|0)!=0)a=DR(f[A>>2]|0,a,e)|0;else a=0}else o=43}while(0);if((o|0)==43){a=f[c>>2]|0;n=A+24|0;a=GR(f[A>>2]|0,a,a,f[n>>2]|0)|0}f[n>>2]=(f[n>>2]|0)+1;e=i+t|0;i=a;o=45}}if((o|0)==45)if(!i)i=12;else{f[A+8>>2]=i;f[A+12>>2]=e;i=0}v=s;return i|0}function SR(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0;c=v;v=v+16|0;l=c+4|0;a=c;A=OR(A,l)|0;if((r[A>>0]|0)==44){A=OR(A+1|0,a)|0;t=f[a>>2]|0;a=f[l>>2]|0}else{l=f[l>>2]|0;f[a>>2]=l;t=l;a=l}do{if(!(a>>>0>255|((t|0)>255|(t|0)>-1&(t|0)<(a|0)))){if(!e)if((r[A>>0]|0)==92)A=A+1|0;else{A=0;break}if((r[A>>0]|0)==125){f[i>>2]=a;f[n>>2]=t;A=A+1|0}else A=0}else A=0}while(0);v=c;return A|0}function jR(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0;if((f[e+12>>2]|0)>-1){r=GR(f[A>>2]|0,-1,-1,-1)|0;if((r|0)!=0?(n=IR(f[A>>2]|0,r,e)|0,(n|0)!=0):0){r=f[e+16>>2]|0;f[n+16>>2]=r;a=6}else r=12}else{n=e;r=f[e+16>>2]|0;a=6}if((a|0)==6){f[n+12>>2]=i;f[n+16>>2]=r+1;f[A+8>>2]=n;r=0}return r|0}function OR(A,e){A=A|0;e=e|0;var i=0;f[e>>2]=-1;A:do{if(Hz(r[A>>0]|0)|0){f[e>>2]=0;i=0;do{f[e>>2]=(i*10|0)+-48+(r[A>>0]|0);A=A+1|0;if(!(Hz(r[A>>0]|0)|0))break A;i=f[e>>2]|0}while((i|0)<=255)}}while(0);return A|0}function KR(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0;h=v;v=v+288|0;i=h+264|0;a=h;f[i>>2]=f[A>>2];t=i+8|0;f[t>>2]=0;f[i+12>>2]=32;B=RW(128)|0;w=i+4|0;f[w>>2]=B;if(!B)e=12;else{n=a+4|0;f[n>>2]=0;B=(r[e>>0]|0)==94;f[a>>2]=B&1;e=$R(A,B?e+1|0:e,i,a)|0;A:do{if(!e){B=(f[a>>2]|0)==0;if(!B){nP(f[w>>2]|0,f[t>>2]|0,4,41);e=eH(i)|0;if(!e){e=12;i=0;break}f[e>>2]=1114112;f[e+4>>2]=1114112;f[e+8>>2]=-1;e=f[n>>2]|0;if(e){i=e<<2;n=kR(f[A>>2]|0,0,0,0,i+4|0)|0;if(!n){e=12;i=0;break}VH(n|0,a+8|0,i|0)|0;f[n+(e<<2)>>2]=0}else n=0}else n=0;s=f[t>>2]|0;if((s|0)>0){u=f[w>>2]|0;b=A+24|0;i=0;e=0;o=0;while(1){c=f[u+(o<<2)>>2]|0;a=f[c>>2]|0;t=c+4|0;l=f[t>>2]|0;do{if(!B)if((a|0)>(e|0)){f[c>>2]=e;f[t>>2]=a+-1;e=l+1|0;k=14;break}else{c=l+1|0;e=(c|0)>=(e|0)?c:e;break}else k=14}while(0);if((k|0)==14){k=0;f[c+8>>2]=f[b>>2];f[c+16>>2]=n;c=HR(f[A>>2]|0,0,c)|0;i=DR(f[A>>2]|0,i,c)|0;if(!i){e=12;i=0;break A}}o=o+1|0;if((o|0)>=(s|0)){e=0;break}}}else{e=0;i=0}}else i=0}while(0);HW(f[w>>2]|0);w=A+24|0;f[w>>2]=(f[w>>2]|0)+1;f[A+8>>2]=i}v=h;return e|0}function _R(A){A=A|0;var e=0;e=r[A>>0]|0;A=0;while(1){if((r[56576+(A<<3)>>0]|0)==e<<24>>24)break;A=A+1|0;if((A|0)==12){A=12;break}}return f[56576+(A<<3)+4>>2]|0}function qR(A){A=A|0;var e=0;e=A+-48|0;if(e>>>0<10)return e|0;else{e=A|32;return((e+-97|0)>>>0<6?e+-87|0:-1)|0}return 0}function $R(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0;d=v;v=v+32|0;b=d;k=d+4|0;l=NP(b,e,-1)|0;a=r[e>>0]|0;A:do{if((l|0)>=1){w=n+4|0;u=A+32|0;t=e;c=l;e:while(1){l=(t|0)==(e|0);if(!(l|a<<24>>24!=93)){h=5;break}i:do{if(!(l|a<<24>>24!=45)){switch(r[t+1>>0]|0){case 93:break i;case 45:break;default:{a=11;break A}}if((r[t+2>>0]|0)==93){a=11;break A}}}while(0);i:do{if(a<<24>>24==91){switch(r[t+1>>0]|0){case 61:case 46:{a=3;break A}case 58:break;default:{h=17;break i}}l=t+2|0;a=0;r:while(1){switch(r[l+a>>0]|0){case 0:{h=16;break e}case 58:break r;default:{}}if((a|0)<13)a=a+1|0;else{h=16;break e}}VH(k|0,l|0,a|0)|0;r[k+a>>0]=0;c=FJ(k)|0;if(!c){h=16;break e}t=l+(a+2)|0;if((r[l+(a+1)>>0]|0)!=93){h=16;break e}if(!(f[n>>2]|0)){a=1114111;s=0;o=1;h=25}else{a=f[w>>2]|0;if((a|0)>63){a=12;break A}f[w>>2]=a+1;f[n+8+(a<<2)>>2]=c}}else h=17}while(0);if((h|0)==17){h=0;l=f[b>>2]|0;t=t+c|0;if((r[t>>0]|0)==45?(B=t+1|0,(r[B>>0]|0)!=93):0){t=NP(b,B,-1)|0;a=f[b>>2]|0;if((t|0)<1|(l|0)>(a|0)){a=11;break A}c=0;s=l;t=B+t|0;o=0;h=25}else{c=0;a=l;s=l;o=0;h=25}}if((h|0)==25){h=0;l=eH(i)|0;if(!l){a=12;break A}f[l>>2]=s;f[l+4>>2]=a;f[l+12>>2]=c;f[l+8>>2]=-1;if(!(o|(f[u>>2]&2|0)==0)?(iH(i,s,a)|0)!=0:0){a=12;break A}}c=NP(b,t,-1)|0;a=r[t>>0]|0;if((c|0)<1){h=3;break A}}if((h|0)==5){f[A+12>>2]=t+1;a=0;break}else if((h|0)==16){a=4;break}}else h=3}while(0);if((h|0)==3)a=a<<24>>24?2:7;v=d;return a|0}function AH(A,e){A=A|0;e=e|0;return(f[f[A>>2]>>2]|0)-(f[f[e>>2]>>2]|0)|0}function eH(A){A=A|0;var e=0,i=0,r=0,n=0,a=0,t=0,l=0;t=A+8|0;i=f[t>>2]|0;r=A+12|0;n=f[r>>2]|0;if((i|0)>=(n|0))if((n|0)<=32767?(f[r>>2]=n<<1,a=A+4|0,e=FW(f[a>>2]|0,n<<3)|0,(e|0)!=0):0){f[a>>2]=e;i=f[t>>2]|0;l=6}else e=0;else{e=f[A+4>>2]|0;l=6}if((l|0)==6){f[t>>2]=i+1;l=kR(f[A>>2]|0,0,0,1,20)|0;f[e+(i<<2)>>2]=l;e=l}return e|0}function iH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0,a=0,t=0;A:do{if((e|0)>(i|0))e=0;else while(1){e:do{if(!(gJ(e)|0)){if(!(mJ(e)|0)){e=e+1|0;break}n=GJ(e)|0;r=n;while(1){a=e+1|0;r=r+1|0;if((e|0)>=(i|0)){t=n;e=a;a=12;break e}if((GJ(a)|0)==(r|0))e=a;else{t=n;e=a;a=12;break}}}else{n=qz(e)|0;r=n;while(1){a=e+1|0;r=r+1|0;if((e|0)>=(i|0)){t=n;e=a;a=12;break e}if((qz(a)|0)==(r|0))e=a;else{t=n;e=a;a=12;break}}}}while(0);if((a|0)==12){a=0;n=eH(A)|0;if(!n){e=-1;break A}f[n>>2]=t;f[n+4>>2]=r+-1;f[n+8>>2]=-1}if((e|0)>(i|0)){e=0;break}}}while(0);return e|0}function rH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0;u=v;v=v+16|0;o=u;l=f[A+4>>2]|0;c=l+56|0;t=(f[c>>2]&8|0)==0?i:0;A=f[l+40>>2]|0;if((A|0)>0&(t|0)!=0){A=RW(A<<2)|0;if(!A)A=12;else{a=A;i=A;s=3}}else{a=0;i=0;s=3}if((s|0)==3){if(!(f[l+60>>2]|0))A=fH(l,e,a,n,o)|0;else A=nH(l,e,a,n,o)|0;if(!A)aH(t,r,f[c>>2]|0,l,a,f[o>>2]|0);if(a)HW(i)}v=u;return A|0}function nH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,X=0,x=0,T=0,U=0,S=0;S=v;v=v+16|0;T=S;f[T>>2]=0;b=r&1;X=r&2;x=A+56|0;u=f[x>>2]&4;U=vR(0,0)|0;A:do{if(U){B=kR(U,0,0,0,32)|0;if(!B){BR(U);r=12;break}f[B+24>>2]=0;f[B+28>>2]=0;D=A+40|0;r=f[D>>2]|0;if(r){r=RW(r<<2)|0;if(!r){s=0;o=0;c=r;r=12;l=0;t=0;a=0}else{c=r;l=r;Q=6}}else{c=0;l=0;Q=6}e:do{if((Q|0)==6){r=f[A+28>>2]|0;if(r){r=RW(r<<3)|0;if(!r){s=r;o=0;r=12;t=0;a=0;break}else{s=r;t=r}}else{s=0;t=0}F=A+52|0;r=f[F>>2]|0;if(r){r=RW(r<<2)|0;if(!r){o=r;r=12;a=0;break}else{o=r;a=r}}else{o=0;a=0}J=A+8|0;P=A+12|0;R=(i|0)==0;H=(i|0)!=0;L=A+32|0;z=(u|0)!=0;W=(b|0)==0;w=e;r=1;k=-1;m=-1;E=0;i:while(1){u=f[D>>2]|0;if((u|0)>0){b=0;do{f[c+(b<<2)>>2]=-1;if(!R){f[i+(b<<2)>>2]=-1;u=f[D>>2]|0}b=b+1|0}while((b|0)<(u|0))}u=f[F>>2]|0;if((u|0)>0)WH(a|0,0,u<<2|0)|0;V=r+k|0;r=NP(T,w,4)|0;if((r|0)<1)if((r|0)<0){r=1;break e}else r=1;p=w+r|0;N=f[T>>2]|0;u=f[J>>2]|0;b=u+8|0;if(f[b>>2]|0){Z=(V|0)!=0;G=(E|0)==95;I=(V|0)==0;M=z&(E|0)==10;C=(V|0)<1&W;g=u;u=0;d=0;h=b;while(1){w=g+20|0;b=f[w>>2]|0;r:do{if(b)if((b&1|0)==0|C|M){if(b&2|0?(Y=f[T>>2]|0,!((Y|X|0)==0|z&(Y|0)==10)):0){k=d;break}do{if(b&16|0){if(G){k=d;break r}if(kJ(E)|0){k=d;break r}b=f[T>>2]|0;if((b|0)==95)break;if(!(kJ(b)|0)){k=d;break r}}}while(0);b=f[w>>2]|0;if(b&32){if(G){b=f[T>>2]|0;if((b|0)==95){k=d;break}}else{Y=(kJ(E)|0)==0;b=f[T>>2]|0;if(Y|(b|0)==95){k=d;break}}if(kJ(b)|0){k=d;break}b=f[w>>2]|0}k=f[T>>2]|0;do{if((k|0)!=0&(Z&(b&64|0)!=0)){if(G)b=1;else{b=(kJ(E)|0)!=0;k=f[T>>2]|0}if((k|0)==95)if(b){k=d;break r}else break;else if(b^(kJ(k)|0)!=0)break;else{k=d;break r}}}while(0);if(!(f[w>>2]&128)){Q=49;break}b=f[T>>2]|0;if(I|(b|0)==0){k=d;break}if(G)k=1;else{k=(kJ(E)|0)!=0;b=f[T>>2]|0}if((b|0)==95)if(k){Q=49;break}else{k=d;break}else if(k^(kJ(b)|0)!=0){k=d;break}else{Q=49;break}}else k=d;else Q=49}while(0);do{if((Q|0)==49){Q=0;if(!d){u=f[g+16>>2]|0;k=f[h>>2]|0;break}k=B+28|0;b=f[k>>2]|0;if(!b){b=kR(U,0,0,0,32)|0;if(!b){Q=53;break i}f[b+24>>2]=B;f[b+28>>2]=0;Y=kR(U,0,0,0,f[D>>2]<<2)|0;f[b+20>>2]=Y;if(!Y){Q=60;break i}f[k>>2]=b;B=b}else B=b;f[B>>2]=V;f[B+4>>2]=p;f[B+8>>2]=f[h>>2];f[B+12>>2]=f[g+12>>2];f[B+16>>2]=f[T>>2];if((f[D>>2]|0)>0){k=f[B+20>>2]|0;b=0;do{f[k+(b<<2)>>2]=f[c+(b<<2)>>2];b=b+1|0}while((b|0)<(f[D>>2]|0))}b=f[g+16>>2]|0;if(!b)k=d;else{k=f[b>>2]|0;if((k|0)<=-1){k=d;break}w=f[B+20>>2]|0;do{b=b+4|0;f[w+(k<<2)>>2]=V;k=f[b>>2]|0}while((k|0)>-1);k=d}}}while(0);h=g+40|0;if(!(f[h>>2]|0))break;else{g=g+32|0;d=k}}if(u){b=f[u>>2]|0;if((b|0)>-1)do{f[c+(b<<2)>>2]=V;u=u+4|0;b=f[u>>2]|0}while((b|0)>-1)}else u=0;if(!k)Q=171;else{h=V;w=p;Z=k;G=u;Q=79}}else{u=0;Q=171}r:while(1){if((Q|0)==79){if((Z|0)==(f[P>>2]|0)){if((m|0)>=(h|0)){if(!(H&(m|0)==(h|0))){u=G;Q=171;continue}u=f[D>>2]|0;if(!(lH(u,f[L>>2]|0,c,i)|0)){u=G;Q=171;continue}}else{if(R){m=h;u=G;Q=171;continue}u=f[D>>2]|0}if((u|0)>0)u=0;else{m=h;u=G;Q=171;continue}while(1){f[i+(u<<2)>>2]=f[c+(u<<2)>>2];u=u+1|0;if((u|0)>=(f[D>>2]|0)){m=h;u=G;Q=171;continue r}}}g=Z+8|0;if((f[g>>2]|0)!=0?(f[Z+20>>2]&256|0)!=0:0){b=f[Z+24>>2]|0;aH(b+1|0,s,f[x>>2]&-9,A,c,h);Y=f[s+(b<<3)>>2]|0;b=(f[s+(b<<3)+4>>2]|0)-Y|0;if(Wz(e+Y|0,w+-1|0,b)|0){u=G;Q=171;continue}Y=(b|0)==0;u=Y&1;k=f[Z+12>>2]|0;if(Y?f[o+(k<<2)>>2]|0:0){u=G;Q=171;continue}f[o+(k<<2)>>2]=u;b=b+-1|0;w=w+b|0;b=b+h|0;k=f[T>>2]|0;u=NP(T,w,4)|0;if((u|0)<1)if((u|0)<0){r=1;break e}else u=1;y=w+u|0;Y=u}else{k=f[T>>2]|0;if(!k){u=G;Q=171;continue}u=NP(T,w,4)|0;if((u|0)<1)if((u|0)<0){r=1;break e}else u=1;b=h;y=w+u|0;Y=u}h=b+r|0;if(!(f[g>>2]|0)){r=Y;u=G;Q=171;continue}I=(h|0)!=0;C=(k|0)==95;M=(h|0)==0;Q=z&(k|0)==10;E=(h|0)<1&W;d=0;u=G;while(1){n:do{if((f[Z>>2]|0)>>>0<=k>>>0){if((f[Z+4>>2]|0)>>>0>>0)break;w=Z+20|0;r=f[w>>2]|0;do{if(r|0){if(!((r&1|0)==0|E|Q))break n;if(r&2|0?(G=f[T>>2]|0,!((G|X|0)==0|z&(G|0)==10)):0)break n;do{if(r&16|0){if(C)break n;if(kJ(k)|0)break n;r=f[T>>2]|0;if((r|0)==95)break;if(!(kJ(r)|0))break n}}while(0);r=f[w>>2]|0;if(r&32){if(C){r=f[T>>2]|0;if((r|0)==95)break n}else{G=(kJ(k)|0)==0;r=f[T>>2]|0;if(G|(r|0)==95)break n}if(kJ(r)|0)break n;r=f[w>>2]|0}b=f[T>>2]|0;do{if((b|0)!=0&(I&(r&64|0)!=0)){if(C)r=1;else{r=(kJ(k)|0)!=0;b=f[T>>2]|0}if((b|0)==95)if(r)break n;else break;else if(r^(kJ(b)|0)!=0)break;else break n}}while(0);do{if(f[w>>2]&128|0){r=f[T>>2]|0;if(M|(r|0)==0)break n;if(C)b=1;else{b=(kJ(k)|0)!=0;r=f[T>>2]|0}if((r|0)==95)if(b)break;else break n;else if(b^(kJ(r)|0)!=0)break n;else break}}while(0);r=f[w>>2]|0;do{if(r&4){if(f[x>>2]&2|0)break;if(!(BJ(k,f[Z+24>>2]|0)|0))break n;r=f[w>>2]|0}}while(0);do{if(r&4|0){if(!(f[x>>2]&2))break;G=GJ(k)|0;r=Z+24|0;if(BJ(G,f[r>>2]|0)|0)break;G=qz(k)|0;if(!(BJ(G,f[r>>2]|0)|0))break n}}while(0);if(!(f[w>>2]&8))break;if(tH(f[Z+28>>2]|0,k,f[x>>2]&2)|0)break n}}while(0);if(!d){d=f[g>>2]|0;u=f[Z+16>>2]|0;break}b=B+28|0;r=f[b>>2]|0;if(!r){r=kR(U,0,0,0,32)|0;if(!r){Q=145;break i}f[r+24>>2]=B;f[r+28>>2]=0;G=kR(U,0,0,0,f[D>>2]<<2)|0;f[r+20>>2]=G;if(!G){Q=152;break i}f[b>>2]=r;B=r}else B=r;f[B>>2]=h;f[B+4>>2]=y;f[B+8>>2]=f[g>>2];f[B+12>>2]=f[Z+12>>2];f[B+16>>2]=f[T>>2];if((f[D>>2]|0)>0){b=f[B+20>>2]|0;r=0;do{f[b+(r<<2)>>2]=f[c+(r<<2)>>2];r=r+1|0}while((r|0)<(f[D>>2]|0))}r=f[Z+16>>2]|0;if(!r)break;b=f[r>>2]|0;if((b|0)<=-1)break;w=f[B+20>>2]|0;do{f[w+(b<<2)>>2]=h;r=r+4|0;b=f[r>>2]|0}while((b|0)>-1)}}while(0);g=Z+40|0;if(!(f[g>>2]|0))break;else Z=Z+32|0}if(!d){r=Y;Q=171;continue}if(u){r=f[u>>2]|0;if((r|0)>-1){do{u=u+4|0;f[c+(r<<2)>>2]=h;r=f[u>>2]|0}while((r|0)>-1);k=m;b=y;r=Y}else{k=m;b=y;r=Y}}else{k=m;b=y;r=Y;u=0}}else if((Q|0)==171){Q=0;w=f[B+24>>2]|0;if(!w)break;d=f[B+8>>2]|0;if(f[d+20>>2]&256|0)f[o+(f[B+12>>2]<<2)>>2]=0;h=f[B>>2]|0;g=f[B+4>>2]|0;f[T>>2]=f[B+16>>2];k=f[D>>2]|0;if((k|0)>0){B=f[B+20>>2]|0;b=0;do{f[c+(b<<2)>>2]=f[B+(b<<2)>>2];b=b+1|0}while((b|0)<(k|0));B=w;k=m;b=g}else{B=w;k=m;b=g}}w=b;m=k;Z=d;G=u;Q=79}u=(m|0)>-1;if(u|(f[T>>2]|0)==0){Q=180;break}f[T>>2]=N;w=p;k=V;E=N}if((Q|0)==53){BR(U);if(c|0)HW(l);if(s|0)HW(t);if(!o){r=12;break A}HW(a);r=12;break A}else if((Q|0)==60){BR(U);if(c|0)HW(l);if(s|0)HW(t);if(!o){r=12;break A}HW(a);r=12;break A}else if((Q|0)==145){BR(U);if(c|0)HW(l);if(s|0)HW(t);if(!o){r=12;break A}HW(a);r=12;break A}else if((Q|0)==152){BR(U);if(c|0)HW(l);if(s|0)HW(t);if(!o){r=12;break A}HW(a);r=12;break A}else if((Q|0)==180){f[n>>2]=m;r=(u^1)&1;break}}}while(0);BR(U);if(c|0)HW(l);if(s|0)HW(t);if(o)HW(a)}else r=12}while(0);v=S;return r|0}function fH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,B=0,k=0,w=0,h=0,d=0,g=0,m=0,Z=0,G=0,I=0,C=0,M=0,E=0,Q=0,y=0,Y=0,p=0,V=0,N=0,W=0,z=0,J=0,P=0,R=0,H=0,L=0,F=0,D=0,x=0,T=0,U=0,S=0,j=0;j=v;v=v+16|0;T=j;f[T>>2]=0;o=r&1;F=r&2;D=A+56|0;c=f[D>>2]&4;if(!i)H=0;else H=f[A+40>>2]|0;L=H<<2;l=A+52|0;r=f[l>>2]|0;t=r<<3;a=t+8|0;r=L+12+t+(a+(X(L,r)|0)<<1)|0;U=RW(r)|0;if(!U)r=12;else{WH(U|0,0,r|0)|0;r=U+L|0;s=r&3;s=r+((s|0)==0?0:4-s|0)|0;r=s+a|0;u=r&3;u=r+((u|0)==0?0:4-u|0)|0;r=u+a|0;R=r&3;R=r+((R|0)==0?0:4-R|0)|0;r=R+t|0;a=r&3;l=f[l>>2]|0;t=(l|0)>0;if(t){r=r+((a|0)==0?0:4-a|0)|0;a=0;while(1){f[u+(a<<3)+4>>2]=r;r=r+L|0;f[s+(a<<3)+4>>2]=r;a=a+1|0;if((a|0)>=(l|0))break;else r=r+L|0}if(t){r=0;do{f[R+(r<<3)>>2]=-1;r=r+1|0}while((r|0)<(l|0))}}r=NP(T,e,4)|0;if((r|0)<1)if((r|0)<0)r=1;else{l=1;S=11}else{l=r;S=11}A:do{if((S|0)==11){P=A+8|0;J=(c|0)!=0;Y=(o|0)==0;p=(H|0)>0;V=A+12|0;N=(H|0)<1;W=A+44|0;z=A+32|0;Q=A+36|0;y=(H|0)==0;t=0;m=e+l|0;g=0;c=0;r=-1;a=s;M=U;G=s;Z=u;while(1){if((r|0)<0){A=f[P>>2]|0;o=A+8|0;e:do{if(f[o>>2]|0){B=(g|0)!=0;k=(t|0)==95;w=(g|0)==0;d=J&(t|0)==10;h=(g|0)<1&Y;while(1){i:while(1){b=A+12|0;if((f[R+(f[b>>2]<<3)>>2]|0)>=(g|0))break;u=A+20|0;e=f[u>>2]|0;if(!e){S=46;break}r:do{if((e&1|0)==0|h|d){if(e&2|0?(E=f[T>>2]|0,!((E|F|0)==0|J&(E|0)==10)):0)break;do{if(e&16|0){if(k)break r;if(kJ(t)|0)break r;e=f[T>>2]|0;if((e|0)==95)break;if(!(kJ(e)|0))break r}}while(0);e=f[u>>2]|0;if(e&32){if(k){e=f[T>>2]|0;if((e|0)==95)break}else{E=(kJ(t)|0)==0;e=f[T>>2]|0;if(E|(e|0)==95)break}if(kJ(e)|0)break;e=f[u>>2]|0}s=f[T>>2]|0;do{if((s|0)!=0&(B&(e&64|0)!=0)){if(k)e=1;else{e=(kJ(t)|0)!=0;s=f[T>>2]|0}if((s|0)==95)if(e)break r;else break;else if(e^(kJ(s)|0)!=0)break;else break r}}while(0);if(!(f[u>>2]&128)){S=46;break i}e=f[T>>2]|0;if(w|(e|0)==0)break;if(k)s=1;else{s=(kJ(t)|0)!=0;e=f[T>>2]|0}if((e|0)==95)if(s){S=46;break i}else break;else if(s^(kJ(e)|0)!=0)break;else{S=46;break i}}}while(0);o=A+40|0;if(!(f[o>>2]|0))break e;else A=A+32|0}if((S|0)==46){S=0;f[a>>2]=f[o>>2];if(p)WH(f[a+4>>2]|0,-1,L|0)|0;o=f[A+16>>2]|0;if(o|0?(x=f[o>>2]|0,(x|0)>-1):0){s=a+4|0;e=x;do{if((e|0)<(H|0))f[(f[s>>2]|0)+(e<<2)>>2]=g;o=o+4|0;e=f[o>>2]|0}while((e|0)>-1)}o=(f[a>>2]|0)!=(f[V>>2]|0);if(o|N){c=o?c:1;r=o?r:g;o=a+4|0}else{o=a+4|0;c=f[o>>2]|0;r=0;do{f[i+(r<<2)>>2]=f[c+(r<<2)>>2];r=r+1|0}while((r|0)!=(H|0));c=1;r=g}E=f[b>>2]|0;f[R+(E<<3)>>2]=g;f[R+(E<<3)+4>>2]=o;a=a+8|0}o=A+40|0;if(!(f[o>>2]|0))break;else A=A+32|0}}}while(0);f[a>>2]=0;a=f[T>>2]|0;if(!a)break;else t=a}else{if(y)break;t=f[T>>2]|0;if(!((a|0)!=(G|0)&(t|0)!=0))break}E=g+l|0;a=NP(T,m,4)|0;if((a|0)<1)if((a|0)<0){r=1;break A}else l=1;else l=a;C=m+l|0;if((c|0)!=0&(f[W>>2]|0)!=0){if(!(f[G>>2]|0))a=Z;else{b=f[Q>>2]|0;B=f[b>>2]|0;k=(B|0)>-1;u=G;a=Z;do{s=u+4|0;e:do{if(k){o=0;e=B;do{A=f[b+((o|1)<<2)>>2]|0;if((e|0)>=(H|0))break e;c=f[s>>2]|0;if((f[c+(A<<2)>>2]|0)==(f[i+(A<<2)>>2]|0)?(f[c+(e<<2)>>2]|0)<(f[i+(e<<2)>>2]|0):0)break e;o=o+2|0;e=f[b+(o<<2)>>2]|0}while((e|0)>-1);o=s;S=75}else{o=s;c=f[s>>2]|0;S=75}}while(0);if((S|0)==75){S=0;f[a>>2]=f[u>>2];m=a+4|0;I=f[m>>2]|0;f[m>>2]=c;f[o>>2]=I;a=a+8|0}u=u+8|0}while((f[u>>2]|0)!=0)}f[a>>2]=0;I=G;c=0}else{I=Z;Z=G}o=f[Z>>2]|0;if(!o){o=M;a=I}else{w=(E|0)!=0;h=(t|0)==95;d=(E|0)==0;m=J&(t|0)==10;g=(E|0)<1&Y;k=Z;A=M;a=I;while(1){e=o+8|0;if(f[e>>2]|0){B=k+4|0;b=A;u=e;while(1){e:do{if((f[o>>2]|0)>>>0<=t>>>0?(f[o+4>>2]|0)>>>0>=t>>>0:0){s=o+20|0;A=f[s>>2]|0;do{if(A|0){if(!((A&1|0)==0|g|m)){A=b;break e}if(A&2|0?(M=f[T>>2]|0,!((M|F|0)==0|J&(M|0)==10)):0){A=b;break e}do{if(A&16|0){if(h){A=b;break e}if(kJ(t)|0){A=b;break e}A=f[T>>2]|0;if((A|0)==95)break;if(!(kJ(A)|0)){A=b;break e}}}while(0);A=f[s>>2]|0;if(A&32){if(h){A=f[T>>2]|0;if((A|0)==95){A=b;break e}}else{M=(kJ(t)|0)==0;A=f[T>>2]|0;if(M|(A|0)==95){A=b;break e}}if(kJ(A)|0){A=b;break e}A=f[s>>2]|0}e=f[T>>2]|0;do{if((e|0)!=0&(w&(A&64|0)!=0)){if(h)A=1;else{A=(kJ(t)|0)!=0;e=f[T>>2]|0}if((e|0)==95)if(A){A=b;break e}else break;else if(A^(kJ(e)|0)!=0)break;else{A=b;break e}}}while(0);do{if(f[s>>2]&128|0){A=f[T>>2]|0;if(d|(A|0)==0){A=b;break e}if(h)e=1;else{e=(kJ(t)|0)!=0;A=f[T>>2]|0}if((A|0)==95)if(e)break;else{A=b;break e}else if(e^(kJ(A)|0)!=0){A=b;break e}else break}}while(0);A=f[s>>2]|0;do{if(A&4){if(f[D>>2]&2|0)break;if(!(BJ(t,f[o+24>>2]|0)|0)){A=b;break e}A=f[s>>2]|0}}while(0);do{if(A&4|0){if(!(f[D>>2]&2))break;M=GJ(t)|0;A=o+24|0;if(BJ(M,f[A>>2]|0)|0)break;M=qz(t)|0;if(!(BJ(M,f[A>>2]|0)|0)){A=b;break e}}}while(0);if(!(f[s>>2]&8))break;if(tH(f[o+28>>2]|0,t,f[D>>2]&2)|0){A=b;break e}}}while(0);if(p){e=f[B>>2]|0;A=0;do{f[b+(A<<2)>>2]=f[e+(A<<2)>>2];A=A+1|0}while((A|0)!=(H|0))}A=f[o+16>>2]|0;do{if(A|0){e=f[A>>2]|0;if((e|0)<=-1)break;do{if((e|0)<(H|0))f[b+(e<<2)>>2]=E;A=A+4|0;e=f[A>>2]|0}while((e|0)>-1)}}while(0);A=f[o+12>>2]|0;e=R+(A<<3)|0;if((f[e>>2]|0)>=(E|0)){A=f[R+(A<<3)+4>>2]|0;e=f[A>>2]|0;if(!(lH(H,f[z>>2]|0,b,e)|0)){A=b;break}f[A>>2]=b;if((f[u>>2]|0)!=(f[V>>2]|0)){A=e;break}if(p)r=0;else{c=1;A=e;r=E;break}while(1){f[i+(r<<2)>>2]=f[b+(r<<2)>>2];r=r+1|0;if((r|0)==(H|0)){c=1;A=e;r=E;break e}}}M=f[u>>2]|0;f[a>>2]=M;G=a+4|0;s=f[G>>2]|0;f[G>>2]=b;f[e>>2]=E;f[R+(A<<3)+4>>2]=G;do{if((f[V>>2]|0)==(M|0)){if((r|0)==-1)if(p)r=0;else{r=E;c=1;break}else{if(!p)break;if((f[b>>2]|0)>(f[i>>2]|0))break;else r=0}do{f[i+(r<<2)>>2]=f[b+(r<<2)>>2];r=r+1|0}while((r|0)<(H|0));r=E;c=1}}while(0);A=s;a=a+8|0}else A=b}while(0);u=o+40|0;if(!(f[u>>2]|0))break;else{o=o+32|0;b=A}}}k=k+8|0;o=f[k>>2]|0;if(!o){o=A;break}}}f[a>>2]=0;m=C;g=E;M=o;G=I}f[n>>2]=r;r=r>>>31}}while(0);HW(U)}v=j;return r|0}function aH(A,e,i,r,n,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;a=a|0;var t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0;if((i&8|0)==0&(a|0)>-1?(u=f[r+16>>2]|0,b=f[r+28>>2]|0,s=(A|0)!=0&(b|0)!=0,s):0){o=f[r+48>>2]|0;c=0;do{i=f[u+(c*12|0)>>2]|0;if((i|0)==(o|0))l=a;else l=f[n+(i<<2)>>2]|0;t=e+(c<<3)|0;f[t>>2]=l;i=f[u+(c*12|0)+4>>2]|0;if((i|0)==(o|0))i=a;else i=f[n+(i<<2)>>2]|0;r=e+(c<<3)+4|0;f[r>>2]=i;if((i|0)==-1|(l|0)==-1){f[r>>2]=-1;f[t>>2]=-1}c=c+1|0}while(c>>>0>>0&c>>>0>>0);if(s){i=0;do{l=e+(i<<3)+4|0;c=f[u+(i*12|0)+8>>2]|0;if(c|0?(v=f[c>>2]|0,(v|0)>-1):0){o=e+(i<<3)|0;t=0;n=v;r=f[o>>2]|0;do{if(!((r|0)>=(f[e+(n<<3)>>2]|0)?(f[l>>2]|0)<=(f[e+(n<<3)+4>>2]|0):0)){f[l>>2]=-1;f[o>>2]=-1;r=-1}t=t+1|0;n=f[c+(t<<2)>>2]|0}while((n|0)>-1)}i=i+1|0}while(i>>>0>>0&i>>>0>>0)}else i=0}else i=0;if(i>>>0>>0)WH(e+(i<<3)|0,-1,A-i<<3|0)|0;return}function tH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;r=f[A>>2]|0;A:do{if(!r)i=0;else{n=(i|0)==0;i=r;while(1){if(n){if(BJ(e,i)|0){i=1;break A}}else{r=qz(e)|0;if(BJ(r,f[A>>2]|0)|0){i=1;break A}r=GJ(e)|0;if(BJ(r,f[A>>2]|0)|0){i=1;break A}}A=A+4|0;i=f[A>>2]|0;if(!i){i=0;break}}}}while(0);return i|0}function lH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0,t=0;A:do{if((A|0)>0){n=0;while(1){t=f[i+(n<<2)>>2]|0;a=f[r+(n<<2)>>2]|0;if(!(f[e+(n<<2)>>2]|0)){if((t|0)<(a|0)){n=1;break A}if((t|0)>(a|0)){n=0;break A}}else{if((t|0)>(a|0)){n=1;break A}if((t|0)<(a|0)){n=0;break A}}n=n+1|0;if((n|0)>=(A|0)){n=0;break}}}else n=0}while(0);return n|0}function cH(A,e,i,n){A=A|0;e=e|0;i=i|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0;o=X(i,e)|0;i=(e|0)==0?0:i;if((f[n+76>>2]|0)>-1)c=EJ(n)|0;else c=0;a=n+74|0;t=r[a>>0]|0;r[a>>0]=t+255|t;a=n+4|0;t=f[a>>2]|0;l=(f[n+8>>2]|0)-t|0;if((l|0)>0){l=l>>>0>>0?l:o;VH(A|0,t|0,l|0)|0;f[a>>2]=(f[a>>2]|0)+l;a=o-l|0;A=A+l|0}else a=o;A:do{if(!a)s=13;else{l=n+32|0;while(1){if(Tz(n)|0)break;t=mL[f[l>>2]&31](n,A,a)|0;if((t+1|0)>>>0<2)break;a=a-t|0;if(!a){s=13;break A}else A=A+t|0}if(c|0)QJ(n);i=((o-a|0)>>>0)/(e>>>0)|0}}while(0);if((s|0)==13)if(c)QJ(n);return i|0}function oH(A){A=A|0;var e=0;if((f[A+76>>2]|0)>-1){e=(EJ(A)|0)==0;A=sH(A)|0}else A=sH(A)|0;return A|0}function sH(A){A=A|0;var e=0;if(!(f[A>>2]&128))e=1;else e=(f[A+20>>2]|0)>>>0>(f[A+28>>2]|0)>>>0?2:1;e=mL[f[A+40>>2]&31](A,0,e)|0;if((e|0)>=0)e=e-(f[A+8>>2]|0)+(f[A+4>>2]|0)+(f[A+20>>2]|0)-(f[A+28>>2]|0)|0;return e|0}function uH(A){A=A|0;(f[A+76>>2]|0)>-1?EJ(A)|0:0;return f[A+60>>2]|0}function bH(){var A=0,e=0,i=0,n=0,a=0,t=0,l=0,c=0,o=0;o=v;v=v+48|0;l=o+24|0;t=o+16|0;a=o;e=o+28|0;A=e;i=134988;n=A+20|0;do{r[A>>0]=r[i>>0]|0;A=A+1|0;i=i+1|0}while((A|0)<(n|0));i=e+13|0;A=0;while(1){bP(i)|0;f[a>>2]=e;f[a+4>>2]=32962;f[a+8>>2]=384;n=OW(YA(5,a|0)|0)|0;if((n|0)>-1){c=4;break}if((A|0)<99)A=A+1|0;else{A=0;break}}if((c|0)==4){f[t>>2]=e;mA(10,t|0)|0;A=pP(n,135008)|0;if(!A){f[l>>2]=n;VA(6,l|0)|0;A=0}}v=o;return A|0}function vH(A){A=A|0;var e=0,i=0,r=0;if((f[A+76>>2]|0)>=0?(EJ(A)|0)!=0:0){e=A+4|0;i=f[e>>2]|0;if(i>>>0<(f[A+8>>2]|0)>>>0){f[e>>2]=i+1;e=a[i>>0]|0}else e=xz(A)|0}else r=3;do{if((r|0)==3){e=A+4|0;i=f[e>>2]|0;if(i>>>0<(f[A+8>>2]|0)>>>0){f[e>>2]=i+1;e=a[i>>0]|0;break}else{e=xz(A)|0;break}}}while(0);return e|0}function BH(A,e){A=A|0;e=e|0;var i=0,n=0,a=0,t=0,l=0,c=0,o=0;if((f[e+76>>2]|0)>=0?(EJ(e)|0)!=0:0){n=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(l=e+20|0,c=f[l>>2]|0,c>>>0<(f[e+16>>2]|0)>>>0):0){f[l>>2]=c+1;r[c>>0]=n}else i=PP(e,A)|0;QJ(e)}else o=3;do{if((o|0)==3){n=A&255;i=A&255;if((i|0)!=(r[e+75>>0]|0)?(a=e+20|0,t=f[a>>2]|0,t>>>0<(f[e+16>>2]|0)>>>0):0){f[a>>2]=t+1;r[t>>0]=n;break}i=PP(e,A)|0}}while(0);return i|0}function kH(A){A=A|0;return oH(A)|0}function wH(){}function hH(A,e){A=A|0;e=e|0;var i=0,r=0,n=0,f=0;f=A&65535;n=e&65535;i=X(n,f)|0;r=A>>>16;A=(i>>>16)+(X(n,r)|0)|0;n=e>>>16;e=X(n,f)|0;return(Q=(A>>>16)+(X(n,r)|0)+(((A&65535)+e|0)>>>16)|0,A+e<<16|i&65535|0)|0}function dH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,f=0;n=A;f=i;i=hH(n,f)|0;A=Q;return(Q=(X(e,f)|0)+(X(r,n)|0)+A|A&0,i|0|0)|0}function gH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;i=A+i>>>0;return(Q=e+r+(i>>>0>>0|0)>>>0,i|0)|0}function mH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;r=e-r-(i>>>0>A>>>0|0)>>>0;return(Q=r,A-i>>>0|0)|0}function ZH(A){A=A|0;var e=0;e=r[k+(A&255)>>0]|0;if((e|0)<8)return e|0;e=r[k+(A>>8&255)>>0]|0;if((e|0)<8)return e+8|0;e=r[k+(A>>16&255)>>0]|0;if((e|0)<8)return e+16|0;return(r[k+(A>>>24)>>0]|0)+24|0}function GH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;var a=0,t=0,l=0,c=0,o=0,s=0,u=0,b=0,v=0,B=0;s=A;c=e;o=c;t=i;b=r;l=b;if(!o){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(s>>>0)%(t>>>0);f[n+4>>2]=0}b=0;n=(s>>>0)/(t>>>0)>>>0;return(Q=b,n)|0}else{if(!a){b=0;n=0;return(Q=b,n)|0}f[n>>2]=A|0;f[n+4>>2]=e&0;b=0;n=0;return(Q=b,n)|0}}a=(l|0)==0;do{if(t){if(!a){a=(U(l|0)|0)-(U(o|0)|0)|0;if(a>>>0<=31){u=a+1|0;l=31-a|0;e=a-31>>31;t=u;A=s>>>(u>>>0)&e|o<>>(u>>>0)&e;a=0;l=s<>2]=A|0;f[n+4>>2]=c|e&0;b=0;n=0;return(Q=b,n)|0}a=t-1|0;if(a&t|0){l=(U(t|0)|0)+33-(U(o|0)|0)|0;B=64-l|0;u=32-l|0;c=u>>31;v=l-32|0;e=v>>31;t=l;A=u-1>>31&o>>>(v>>>0)|(o<>>(l>>>0))&e;e=e&o>>>(l>>>0);a=s<>>(v>>>0))&c|s<>31;break}if(n|0){f[n>>2]=a&s;f[n+4>>2]=0}if((t|0)==1){v=c|e&0;B=A|0|0;return(Q=v,B)|0}else{B=ZH(t|0)|0;v=o>>>(B>>>0)|0;B=o<<32-B|s>>>(B>>>0)|0;return(Q=v,B)|0}}else{if(a){if(n|0){f[n>>2]=(o>>>0)%(t>>>0);f[n+4>>2]=0}v=0;B=(o>>>0)/(t>>>0)>>>0;return(Q=v,B)|0}if(!s){if(n|0){f[n>>2]=0;f[n+4>>2]=(o>>>0)%(l>>>0)}v=0;B=(o>>>0)/(l>>>0)>>>0;return(Q=v,B)|0}a=l-1|0;if(!(a&l)){if(n|0){f[n>>2]=A|0;f[n+4>>2]=a&o|e&0}v=0;B=o>>>((ZH(l|0)|0)>>>0);return(Q=v,B)|0}a=(U(l|0)|0)-(U(o|0)|0)|0;if(a>>>0<=30){e=a+1|0;l=31-a|0;t=e;A=o<>>(e>>>0);e=o>>>(e>>>0);a=0;l=s<>2]=A|0;f[n+4>>2]=c|e&0;v=0;B=0;return(Q=v,B)|0}}while(0);if(!t){o=l;c=0;l=0}else{u=i|0|0;s=b|r&0;o=gH(u|0,s|0,-1,-1)|0;i=Q;c=l;l=0;do{r=c;c=a>>>31|c<<1;a=l|a<<1;r=A<<1|r>>>31|0;b=A>>>31|e<<1|0;mH(o|0,i|0,r|0,b|0)|0;B=Q;v=B>>31|((B|0)<0?-1:0)<<1;l=v&1;A=mH(r|0,b|0,v&u|0,(((B|0)<0?-1:0)>>31|((B|0)<0?-1:0)<<1)&s|0)|0;e=Q;t=t-1|0}while((t|0)!=0);o=c;c=0}t=0;if(n|0){f[n>>2]=A;f[n+4>>2]=e}v=(a|0)>>>31|(o|t)<<1|(t<<1|a>>>31)&0|c;B=(a<<1|0>>>31)&-2|l;return(Q=v,B)|0}function IH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return GH(A,e,i,r,0)|0}function CH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0,a=0;a=v;v=v+16|0;n=a|0;GH(A,e,i,r,n)|0;v=a;return(Q=f[n+4>>2]|0,f[n>>2]|0)|0}function MH(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){Q=e>>>i;return A>>>i|(e&(1<>>i-32|0}function EH(A,e,i){A=A|0;e=e|0;i=i|0;if((i|0)<32){Q=e<>>32-i;return A<>8&255|0}function yH(A){A=A|0;return(A&255)<<24|(A>>8&255)<<16|(A>>16&255)<<8|A>>>24|0}function YH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;var n=0;d=d+1|0;f[A>>2]=d;while((n|0)<(r|0)){if(!(f[i+(n<<3)>>2]|0)){f[i+(n<<3)>>2]=d;f[i+((n<<3)+4)>>2]=e;f[i+((n<<3)+8)>>2]=0;Q=r;return i|0}n=n+1|0}r=r*2|0;i=FW(i|0,8*(r+1|0)|0)|0;i=YH(A|0,e|0,i|0,r|0)|0;Q=r;return i|0}function pH(A,e,i){A=A|0;e=e|0;i=i|0;var r=0,n=0;while((n|0)<(i|0)){r=f[e+(n<<3)>>2]|0;if(!r)break;if((r|0)==(A|0))return f[e+((n<<3)+4)>>2]|0;n=n+1|0}return 0}function VH(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0;if((i|0)>=8192)return LA(A|0,e|0,i|0)|0;t=A|0;a=A+i|0;if((A&3)==(e&3)){while(A&3){if(!i)return t|0;r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0;i=i-1|0}i=a&-4|0;n=i-64|0;while((A|0)<=(n|0)){f[A>>2]=f[e>>2];f[A+4>>2]=f[e+4>>2];f[A+8>>2]=f[e+8>>2];f[A+12>>2]=f[e+12>>2];f[A+16>>2]=f[e+16>>2];f[A+20>>2]=f[e+20>>2];f[A+24>>2]=f[e+24>>2];f[A+28>>2]=f[e+28>>2];f[A+32>>2]=f[e+32>>2];f[A+36>>2]=f[e+36>>2];f[A+40>>2]=f[e+40>>2];f[A+44>>2]=f[e+44>>2];f[A+48>>2]=f[e+48>>2];f[A+52>>2]=f[e+52>>2];f[A+56>>2]=f[e+56>>2];f[A+60>>2]=f[e+60>>2];A=A+64|0;e=e+64|0}while((A|0)<(i|0)){f[A>>2]=f[e>>2];A=A+4|0;e=e+4|0}}else{i=a-4|0;while((A|0)<(i|0)){r[A>>0]=r[e>>0]|0;r[A+1>>0]=r[e+1>>0]|0;r[A+2>>0]=r[e+2>>0]|0;r[A+3>>0]=r[e+3>>0]|0;A=A+4|0;e=e+4|0}}while((A|0)<(a|0)){r[A>>0]=r[e>>0]|0;A=A+1|0;e=e+1|0}return t|0}function NH(A,e,i){A=A|0;e=e|0;i=i|0;var n=0;if((e|0)<(A|0)&(A|0)<(e+i|0)){n=A;e=e+i|0;A=A+i|0;while((i|0)>0){A=A-1|0;e=e-1|0;i=i-1|0;r[A>>0]=r[e>>0]|0}A=n}else VH(A,e,i)|0;return A|0}function WH(A,e,i){A=A|0;e=e|0;i=i|0;var n=0,a=0,t=0,l=0;t=A+i|0;e=e&255;if((i|0)>=67){while(A&3){r[A>>0]=e;A=A+1|0}n=t&-4|0;a=n-64|0;l=e|e<<8|e<<16|e<<24;while((A|0)<=(a|0)){f[A>>2]=l;f[A+4>>2]=l;f[A+8>>2]=l;f[A+12>>2]=l;f[A+16>>2]=l;f[A+20>>2]=l;f[A+24>>2]=l;f[A+28>>2]=l;f[A+32>>2]=l;f[A+36>>2]=l;f[A+40>>2]=l;f[A+44>>2]=l;f[A+48>>2]=l;f[A+52>>2]=l;f[A+56>>2]=l;f[A+60>>2]=l;A=A+64|0}while((A|0)<(n|0)){f[A>>2]=l;A=A+4|0}}while((A|0)<(t|0)){r[A>>0]=e;A=A+1|0}return t-i|0}function zH(A){A=A|0;var e=0,i=0;i=f[s>>2]|0;e=i+A|0;if((A|0)>0&(e|0)<(i|0)|(e|0)<0){_()|0;gA(12);return-1}f[s>>2]=e;if((e|0)>(K()|0)?(O()|0)==0:0){f[s>>2]=i;gA(12);return-1}return i|0}function JH(A){A=A|0;return+kL[A&1]()}function PH(A,e,i,r){A=A|0;e=+e;i=+i;r=+r;return+wL[A&7](+e,+i,+r)}function RH(A){A=A|0;return hL[A&3]()|0}function HH(A,e){A=A|0;e=e|0;return dL[A&31](e|0)|0}function LH(A,e,i){A=A|0;e=e|0;i=i|0;return gL[A&63](e|0,i|0)|0}function FH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;return mL[A&31](e|0,i|0,r|0)|0}function DH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;return ZL[A&31](e|0,i|0,r|0,n|0)|0}function XH(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;return GL[A&3](e|0,i|0,r|0,n|0,f|0)|0}function xH(A,e,i,r,n,f,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;a=a|0;return IL[A&1](e|0,i|0,r|0,n|0,f|0,a|0)|0}function TH(A){A=A|0;CL[A&15]()}function UH(A,e){A=A|0;e=e|0;ML[A&127](e|0)}function SH(A,e,i){A=A|0;e=e|0;i=i|0;EL[A&31](e|0,i|0)}function jH(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;QL[A&127](e|0,i|0,r|0)}function OH(A,e,i,r,n,f,a){A=A|0;e=e|0;i=i|0;r=r|0;n=+n;f=+f;a=a|0;yL[A&15](e|0,i|0,r|0,+n,+f,a|0)}function KH(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;YL[A&31](e|0,i|0,r|0,n|0)}function _H(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;pL[A&7](e|0,i|0,r|0,n|0,f|0)}function qH(A,e,i,r,n,f,a){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;a=a|0;VL[A&15](e|0,i|0,r|0,n|0,f|0,a|0)}function $H(){S(0);return 0.0}function AL(A,e,i){A=+A;e=+e;i=+i;S(1);return 0.0}function eL(){S(2);return 0}function iL(A){A=A|0;S(3);return 0}function rL(A,e){A=A|0;e=e|0;S(4);return 0}function nL(A,e,i){A=A|0;e=e|0;i=i|0;S(5);return 0}function fL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(6);return 0}function aL(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;S(7);return 0}function tL(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;S(8);return 0}function lL(){S(9)}function cL(A){A=A|0;S(10)}function oL(A,e){A=A|0;e=e|0;S(11)}function sL(A,e,i){A=A|0;e=e|0;i=i|0;S(12)}function uL(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=+r;n=+n;f=f|0;S(13)}function bL(A,e,i,r){A=A|0;e=e|0;i=i|0;r=r|0;S(14)}function vL(A,e,i,r,n){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;S(15)}function BL(A,e,i,r,n,f){A=A|0;e=e|0;i=i|0;r=r|0;n=n|0;f=f|0;S(16)}var kL=[$H,RI];var wL=[AL,tu,au,lu,cu,AL,AL,AL];var hL=[eL,Ub,Jm,eL];var dL=[iL,pa,qf,vp,wp,iB,rB,Uk,Sk,jk,Ok,Kk,_k,qk,$k,UW,ae,Ql,PQ,LQ,Db,Sb,RY,Pb,Ep,Dv,Jb,Sv,jv,MW,iL,iL];var gL=[rL,xY,bp,hp,RG,HG,YG,MG,lG,Ml,Df,Ya,ft,zt,$t,jE,UE,RQ,FQ,ON,jN,SN,Xc,fo,Ao,eo,es,zP,BH,VI,WC,aY,Cd,bY,BY,Qp,Xv,oz,qw,ZW,GW,AH,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL,rL];var mL=[nL,by,dy,up,kp,cd,SW,jW,qW,$W,LJ,Iy,my,uP,WI,xm,ik,dW,TP,nL,nL,nL,nL,nL,nL,nL,nL,nL,nL,nL,nL,nL];var ZL=[fL,sY,cN,uY,pY,UY,jY,fp,np,dp,Gp,Cp,Rm,pB,yB,Cw,sd,Nd,Vd,oy,JI,fL,fL,fL,fL,fL,fL,fL,fL,fL,fL,fL];var GL=[aL,TY,cG,pG];var IL=[tL,bm];var CL=[lL,PI,Xb,xb,Tb,Ob,Kb,_b,Bd,lL,lL,lL,lL,lL,lL,lL];var ML=[cL,ue,be,we,he,de,He,Le,oi,si,ui,bi,vi,Bi,ki,Qi,yi,Vi,Ni,Wi,zi,Ji,Pi,Ri,Ki,_i,qi,Ar,er,ir,rr,nr,fr,ar,tr,hr,dr,gr,Zr,Gr,Ir,Cr,Mr,Er,Qr,yr,Yr,Vr,Tr,Ur,Sr,jr,an,tn,ln,on,Gn,In,Cn,En,Qn,yn,Yn,pn,Vn,Nn,Wn,zn,xn,Tn,Un,Sn,Gf,hf,OY,DZ,aG,xZ,XZ,QG,vZ,wZ,Aw,fw,sf,DQ,Py,vd,OB,Kv,Hm,HW,Wd,um,wW,hW,IW,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL,cL];var EL=[oL,hi,Gi,Li,Ti,vr,Rr,An,kn,Fn,$n,gp,oG,LG,VG,EG,nG,fG,JG,PG,rw,tw,Ey,pc,jb,Fv,sm,gW,mW,CW,EW,oL];var QL=[sL,ge,me,Ie,ci,wi,di,Zi,Hi,Fi,xi,cr,or,br,Nr,Wr,Pr,Or,Kr,$r,sn,un,Bn,Jn,Pn,Ln,jn,On,qn,EE,QE,yE,Wy,KY,Ip,fV,oN,Gc,Tu,Pm,kZ,MC,YB,QB,ew,iw,nw,aw,lw,od,_g,Kg,$y,EY,Rp,bV,kV,Fb,zI,Dm,Tv,Ov,qg,Am,em,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL,sL];var yL=[uL,Uo,So,jo,Oo,Ko,_o,qo,$o,uL,uL,uL,uL,uL,uL,uL];var YL=[bL,Ze,gi,Di,$i,sr,mr,zr,_r,bn,Mn,Rn,Kn,vf,bf,uf,of,cf,lf,Re,tf,af,SY,tG,yG,nP,xv,Uv,bL,bL,bL,bL];var pL=[vL,Yi,lr,Br,pr,cn,HQ,_v];var VL=[BL,Ge,mi,Xi,ur,Jr,qr,vn,Hn,_n,qv,BL,BL,BL,BL,BL];return{___errno_location:KW,___muldi3:dH,___udivdi3:IH,___uremdi3:CH,_bitshift64Lshr:MH,_bitshift64Shl:EH,_dtdisc:cy,_dtextract:sy,_dtopen:vy,_free:HW,_htons:TJ,_i64Add:gH,_i64Subtract:mH,_llvm_bswap_i16:QH,_llvm_bswap_i32:yH,_malloc:RW,_memalign:xW,_memcpy:VH,_memmove:NH,_memset:WH,_realloc:FW,_saveSetjmp:YH,_sbrk:zH,_testSetjmp:pH,_vizCreateFile:le,_vizLastErrorMessage:te,_vizRenderFromString:se,_vizSetNop:oe,_vizSetY_invert:ce,dynCall_d:JH,dynCall_dddd:PH,dynCall_i:RH,dynCall_ii:HH,dynCall_iii:LH,dynCall_iiii:FH,dynCall_iiiii:DH,dynCall_iiiiii:XH,dynCall_iiiiiii:xH,dynCall_v:TH,dynCall_vi:UH,dynCall_vii:SH,dynCall_viii:jH,dynCall_viiiddi:OH,dynCall_viiii:KH,dynCall_viiiii:_H,dynCall_viiiiii:qH,establishStackSpace:ie,getTempRet0:fe,runPostSets:wH,setTempRet0:ne,setThrew:re,stackAlloc:$A,stackRestore:ee,stackSave:Ae}}(A.asmGlobalArg,A.asmLibraryArg,J),ni=(A.___errno_location=ri.___errno_location,A.___muldi3=ri.___muldi3,A.___udivdi3=ri.___udivdi3,A.___uremdi3=ri.___uremdi3,A._bitshift64Lshr=ri._bitshift64Lshr,A._bitshift64Shl=ri._bitshift64Shl,A._dtdisc=ri._dtdisc,A._dtextract=ri._dtextract,A._dtopen=ri._dtopen,A._free=ri._free),fi=(A._htons=ri._htons,A._i64Add=ri._i64Add,A._i64Subtract=ri._i64Subtract,A._llvm_bswap_i16=ri._llvm_bswap_i16,A._llvm_bswap_i32=ri._llvm_bswap_i32,A._malloc=ri._malloc),ai=A._memalign=ri._memalign,ti=(A._memcpy=ri._memcpy,A._memmove=ri._memmove,A._memset=ri._memset),li=(A._realloc=ri._realloc,A._saveSetjmp=ri._saveSetjmp,A._sbrk=ri._sbrk,A._testSetjmp=ri._testSetjmp,A._vizCreateFile=ri._vizCreateFile,A._vizLastErrorMessage=ri._vizLastErrorMessage,A._vizRenderFromString=ri._vizRenderFromString,A._vizSetNop=ri._vizSetNop,A._vizSetY_invert=ri._vizSetY_invert,A.establishStackSpace=ri.establishStackSpace,A.getTempRet0=ri.getTempRet0,A.runPostSets=ri.runPostSets,A.setTempRet0=ri.setTempRet0,A.setThrew=ri.setThrew,A.stackAlloc=ri.stackAlloc),ci=A.stackRestore=ri.stackRestore,oi=A.stackSave=ri.stackSave;if(A.dynCall_d=ri.dynCall_d,A.dynCall_dddd=ri.dynCall_dddd,A.dynCall_i=ri.dynCall_i,A.dynCall_ii=ri.dynCall_ii,A.dynCall_iii=ri.dynCall_iii,A.dynCall_iiii=ri.dynCall_iiii,A.dynCall_iiiii=ri.dynCall_iiiii,A.dynCall_iiiiii=ri.dynCall_iiiiii,A.dynCall_iiiiiii=ri.dynCall_iiiiiii,A.dynCall_v=ri.dynCall_v,A.dynCall_vi=ri.dynCall_vi,A.dynCall_vii=ri.dynCall_vii,A.dynCall_viii=ri.dynCall_viii,A.dynCall_viiiddi=ri.dynCall_viiiddi,A.dynCall_viiii=ri.dynCall_viiii,A.dynCall_viiiii=ri.dynCall_viiiii,A.dynCall_viiiiii=ri.dynCall_viiiiii,A.asm=ri,A.ccall=g,A.Pointer_stringify=C,A.UTF8ToString=Q,YA)if(VA(YA)||("function"==typeof A.locateFile?YA=A.locateFile(YA):A.memoryInitializerPrefixURL&&(YA=A.memoryInitializerPrefixURL+YA)),t||l){var si=A.readBinary(YA);R.set(si,v)}else{QA();var ui=function(e){e.byteLength&&(e=new Uint8Array(e)),R.set(e,v),A.memoryInitializerRequest&&delete A.memoryInitializerRequest.response,yA()};function bi(){A.readAsync(YA,ui,(function(){throw"could not load memory initializer "+YA}))}var vi=Re(YA);if(vi)ui(vi.buffer);else if(A.memoryInitializerRequest){function Bi(){var e=A.memoryInitializerRequest,i=e.response;if(200!==e.status&&0!==e.status){var r=Re(A.memoryInitializerRequestURL);if(!r)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+YA),void bi();i=r.buffer}ui(i)}A.memoryInitializerRequest.response?setTimeout(Bi,0):A.memoryInitializerRequest.addEventListener("load",Bi)}else bi()}function ki(A){this.name="ExitStatus",this.message="Program terminated with exit("+A+")",this.status=A}function wi(e){function i(){A.calledRun||(A.calledRun=!0,B||(sA(),uA(),A.onRuntimeInitialized&&A.onRuntimeInitialized(),vA()))}e=e||A.arguments,CA>0||(oA(),CA>0||A.calledRun||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),i()}),1)):i()))}function hi(e,i){i&&A.noExitRuntime&&0===e||(A.noExitRuntime||(B=!0,U=ii,bA(),A.onExit&&A.onExit(e)),t&&process.exit(e),A.quit(e,new ki(e)))}function di(e){throw A.onAbort&&A.onAbort(e),void 0!==e?(A.print(e),A.printErr(e),e=JSON.stringify(e)):e="",B=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(ki.prototype=new Error,ki.prototype.constructor=ki,EA=function e(){A.calledRun||wi(),A.calledRun||(EA=e)},A.run=wi,A.exit=hi,A.abort=di,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return A.noExitRuntime=!0,wi(),A};function i(A,e,i){var r;for(r=0;r + +
+ +
+
+ + + +
+
+
+ \ No newline at end of file diff --git a/VizApp/build/release/GraphEditor.zip b/VizApp/build/release/GraphEditor.zip new file mode 100644 index 0000000..f31e34e Binary files /dev/null and b/VizApp/build/release/GraphEditor.zip differ diff --git a/VizApp/build/release/VizApp.zip b/VizApp/build/release/VizApp.zip new file mode 100644 index 0000000..ecd0fef Binary files /dev/null and b/VizApp/build/release/VizApp.zip differ diff --git a/VizApp/coffees/main.coffee b/VizApp/coffees/main.coffee new file mode 100644 index 0000000..ac74cc9 --- /dev/null +++ b/VizApp/coffees/main.coffee @@ -0,0 +1,254 @@ +# Copyright 2020 Xuan Sang LE + +# AnTOS Web desktop is is licensed under the GNU General Public +# License v3.0, see the LICENCE file for more information + +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +#along with this program. If not, see https://www.gnu.org/licenses/. +class VizApp extends this.OS.application.BaseApplication + constructor: ( args ) -> + super "VizApp", args + + main: () -> + + @currfile = if @args and @args.length > 0 then @args[0].path.asFileHandle() else "Untitled".asFileHandle() + @currfile.dirty = false + @datarea = @find "datarea" + @preview = @find "preview" + @btctn = @find "btn-container" + @previewSVG = undefined + $(@preview).append @btctn + ace.config.set("basePath", "#{window.location.pathname}/scripts/ace") + @editor = ace.edit @datarea + @editor.setOptions { + enableBasicAutocompletion: true, + enableLiveAutocompletion: true, + fontSize: "11pt" + } + @editor.getSession().setUseWrapMode true + @editor.session.setMode "ace/mode/dot" + @editor.setTheme "ace/theme/monokai" + @editor.on "input", () => + if @editormux + @editormux = false + return false + if not @currfile.dirty + @currfile.dirty = true + + + if not @currfile.basename + @editormux = true + @editor.setValue VizApp.dummydot + @renderSVG false + + + @editor.container.addEventListener "keydown", (e) => + @renderSVG true if e.keyCode is 13 + , true + + @bindKey "CTRL-R", () => @renderSVG false + @bindKey "ALT-G", () => @export "SVG" + @bindKey "ALT-P", () => @export "PNG" + @bindKey "ALT-N", () => @actionFile "#{@name}-New" + @bindKey "ALT-O", () => @actionFile "#{@name}-Open" + @bindKey "CTRL-S", () => @actionFile "#{@name}-Save" + @bindKey "ALT-W", () => @actionFile "#{@name}-Saveas" + + @on "hboxchange", () => + @editor.resize() + @calibrate() + @on "focus", () => @editor.focus() + (@find "btn-zoomin").onbtclick = (e) => + @pan.zoomIn() if @pan + (@find "btn-zoomout").onbtclick = (e) => + @pan.zoomOut() if @pan + (@find "btn-reset").onbtclick = (e) => + @pan.resetZoom() if @pan + + @open @currfile + + menu: () -> + + menu = [{ + text: "__(File)", + nodes: [ + { text: "__(New)", dataid: "#{@name}-New", shortcut: "A-N" }, + { text: "__(Open)", dataid: "#{@name}-Open", shortcut: "A-O" }, + { text: "__(Save)", dataid: "#{@name}-Save", shortcut: "C-S" }, + { text: "__(Save as)",dataid: "#{@name}-Saveas" , shortcut: "A-W" }, + { text: "__(Render)", dataid: "#{@name}-Render", shortcut: "C-R" }, + { + text: "__(Export as)", + nodes: [ + { text: "SVG", shortcut: "A-G" }, + { text: "PNG", shortcut: "A-P" } + ], + onchildselect: (e) => @export e.data.item.data.text + }, + ], + onchildselect: (e) => @actionFile e.data.item.data.dataid + }] + menu + open: (file) -> + return if file.path is "Untitled" + + file.dirty = false + file.read().then (d) => + @currfile = file + @editormux = true + @currfile.dirty = false + @editor.setValue d + @scheme.apptitle = "#{@currfile.basename}" + @renderSVG false + .catch (e) => @error e.toString(), e + save: (file) -> + + file.write "text/plain" + .then (d) => + file.dirty = false + file.text = file.basename + @scheme.apptitle = "#{@currfile.basename}" + .catch (e) => @error e.toString(), e + + actionFile: (e) -> + + saveas = () => + @openDialog "FileDialog",{title: __("Save as"), file: @currfile } + .then (d) => + @currfile.setPath "#{d.file.path}/#{d.name}" + @save @currfile + .catch (e) => @error e.toString(), e + + switch e + when "#{@name}-Open" + @openDialog "FileDialog", { title: __("Open file")} + .then ( d, f ) => + @open d.file.path.asFileHandle() + .catch (e) => @error e.toString(), e + + when "#{@name}-Save" + @currfile.cache = @editor.getValue() + return @save @currfile if @currfile.basename + saveas() + when "#{@name}-Saveas" + @currfile.cache = @editor.getValue() + saveas() + when "#{@name}-Render" + @renderSVG false + when "#{@name}-New" + @currfile = "Untitled".asFileHandle() + @currfile.cache = "" + @currfile.dirty = false + @editormux = true + @editor.setValue("") + + export: (t) -> + @openDialog "FileDialog", {title: __("Export as"), file: @currfile } + .then (d) => + fp = "#{d.file.path}/#{d.name}".asFileHandle() + viz = new Viz() + text = @editor.getValue() + switch t + when "SVG" + viz.renderSVGElement(text) + .then (svg) => + serializer = new XMLSerializer() + fp.cache = serializer.serializeToString(svg) + fp.write "text/plain" + .then (r) => + @notify __("File exported to SVG") + .catch (e) => @error __("Cannot export to {0}: {1}", t, e.toString()), e + .catch (error) => + @error error.toString(), error + + when "PNG" + # toDataURL("image/png") + viz.renderImageElement(text) + .then (img) => + xhr = new XMLHttpRequest() + xhr.responseType = 'blob' + + xhr.onload = () => + blob = xhr.response + reader = new FileReader() + + reader.onload = () => + base64data = reader.result + fp.cache = base64data + fp.write "base64" + .then (r) => + @notify __("File exported to PNG") + .catch (e) => @error __("Cannot export to {0}: {1}", t, e.toString()), e + reader.readAsDataURL(blob) + + xhr.open('GET', img.src) + xhr.send() + .catch (error) => + @error error.toString(), error + + .catch (e) => @error e.toString(), e + + + renderSVG: (silent) -> + + id = Math.floor(Math.random() * 100000) + 1 + text = @editor.getValue() + viz = new Viz() + viz.renderSVGElement(text) + .then (element) => + return if $(element).prop("tagName").toUpperCase() is "HTML" + $(@previewSVG).remove() if @previewSVG + @previewSVG = element + $(@preview).append element + @calibrate() + @pan = svgPanZoom element, { + zoomEnabled: true, + controlIconsEnabled: false, + fit: true, + center: true, + minZoom: 0.1 + } + .catch (error) => + @error error.toString(), error + + calibrate: () -> + svg = ($ @preview).children("svg")[0] + if svg + prs = [$(@preview).width(), $(@preview).height()] + $(svg).attr "width", prs[0] + "px" + $(svg).attr "height", prs[1] + "px" + + cleanup: (evt) -> + return unless @currfile + return unless @currfile.dirty + evt.preventDefault() + @ask {title: __("Quit"), text: __("Quit without saving ?") } + .then (d) => + if d + @currfile.dirty = false + @quit() + +VizApp.dummydot = """ +digraph D { + A [shape=diamond] + B [shape=box] + C [shape=circle] + A -> B [style=dashed, color=grey] + A -> C [color="black:invis:black"] + A -> D [penwidth=5, arrowhead=none] +} +""" +VizApp.dependencies = [ + "os://scripts/ace/ace.js" +] +this.OS.register "VizApp", VizApp diff --git a/VizApp/css/main.css b/VizApp/css/main.css new file mode 100644 index 0000000..c69c46b --- /dev/null +++ b/VizApp/css/main.css @@ -0,0 +1,23 @@ +afx-app-window[data-id="graph_editor_win"] div[data-id="preview"] +{ + display: flex; + align-items: center; + justify-content: center; + background-color: white; +} +afx-app-window[data-id="graph_editor_win"] afx-button button +{ + border-radius: 0; + padding-top:2px; + padding-bottom: 2px; +} +afx-app-window[data-id="graph_editor_win"] afx-resizer{ + background-color: transparent; +} +afx-app-window[data-id="graph_editor_win"] div[data-id="btn-container"]{ + background-color: transparent; + position: absolute; + bottom:10px; + right: 10px; + display: inline; +} diff --git a/VizApp/javascripts/lite.render.js b/VizApp/javascripts/lite.render.js new file mode 100644 index 0000000..c027a6a --- /dev/null +++ b/VizApp/javascripts/lite.render.js @@ -0,0 +1,90 @@ +/* +Viz.js 2.1.2 (Graphviz 2.40.1, Emscripten 1.37.36) +*/ +(function(global) { +var Module = function(Module) { + Module = Module || {}; +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+176368;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAWC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEED4NQAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAANQ5AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEDcOgAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAQAAAAAAAAABAAAAAAAAAAAAAAAAAPA/AQAAAAAAAAACAAAAAAAAAAAAAAAAAPA/AgAAAAAAAAADAAAAAAAAAAAAAAAAAOA/AwAAAAAAAAAEAAAAAAAAAAAAAAAAAPA/BAAAAAAAAAAFAAAAAAAAADMzMzMzM/M/BQAAAAAAAAAGAAAAAAAAAJqZmZmZmek/BgAAAAAAAAAHAAAAAAAAAAAAAAAAAPA/BwAAAAAAAAAIAAAAAAAAAAAAAAAAAOA/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAzMzMzMzPTvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAACamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzMzM+M/AAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiRSAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAACAZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACAZkCamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAACAZkB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAEXgBAO13AQBjQQEAHngBABZ4AQAkeAEAAAAAAGlFAQByRQEAeUUBAIdFAQCORQEAOngBAJVFAQCcRQEAAQAAAAgAAAD/////AAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAADpHAQAIAAAAAwAAAENHAQBHRwEACwAAAAYAAABcUwEAU0cBAAIAAAABAAAAVkcBAFpHAQAEAAAAAgAAAF9HAQBjRwEABAAAAAQAAABoRwEAbUcBAAUAAAAFAAAAc0cBAHdHAQAEAAAABwAAAHxHAQCARwEABQAAAAkAAACGRwEAikcBAAQAAAAKAAAAj0cBAJRHAQAEAAAADAAAAJlHAQBaTAEAAAAAAAEAAABiTAEAAQAAAAAAAAA4dwEAAQAAAAEAAAC11gEAAAAAAAAAAAAAAAAAAAAAAAAAAABGSwEAMQAAAAAAAAAAAAAAWXIBABAAAADw4gEAgAAAAD9LAQBAAAAAomUBABAAAABBSwEAQAAAAAAAAAAAAAAADUsBAAEAAAAUSwEAAgAAABlLAQADAAAAiWIBAAQAAADEYgEABQAAAB1LAQAGAAAAtdYBAAgAAAAhSwEAIQAAACVLAQAiAAAAKUsBACIAAAAtSwEAAQAAADJLAQAHAAAAOEsBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAJgAAAAAAAAAAAAAAAAAAAAAAAACEUAEAi1ABAAAAAABZUwEAXFMBAF9TAQAAAAAAAAAAAAEAAAACAAAA/////xxTAQAiUwEAtdYBAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACcAAAAMAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAiWIBAIxRAABABgAAAAAAAI1iAQCMUQAAcAYAAAAAAABbawEAjFEAAKAGAAAAAAAAlWIBAIxRAACgBgAAAAAAAJpiAQCMUQAA0AYAAAAAAAChYgEApFEAANAGAAAAAAAAp2IBAIxRAAAABwAAAAAAAKtiAQCMUQAAMAcAAAAAAAC11gEAjFEAAGAHAAAAAAAAtGIBAIxRAABgBwAAAAAAAL5iAQCMUQAAEAYAAAAAAADEYgEAjFEAAJAHAAAAAAAAzGIBAIxRAADABwAAAAAAANZiAQCMUQAA8AcAAAAAAADkYgEAjFEAACAIAAAAAAAA6mIBAIxRAABQCAAAAAAAAPNiAQCMUQAAgAgAAAAAAAD7YgEAjFEAALAIAAAAAAAABGMBAIxRAADgCAAAAAAAAAxjAQCMUQAAEAkAAAAAAAARYwEAjFEAAEAJAAAAAAAAFWMBAIxRAABwCQAAAAAAABxjAQCMUQAAoAkAAAAAAAAiYwEAjFEAANAJAAAAAAAALGMBALxRAAAACgAAAAAAADVjAQCMUQAAQAYAAAAAAAA6YwEAjFEAAEAGAAAAAAAARGMBAIxRAAAwCgAAAAAAAEtjAQCMUQAAYAoAAAAAAABYYwEAjFEAAJAKAAAAAAAAZmMBAIxRAADACgAAAAAAAHRjAQCMUQAA8AoAAAAAAACAYwEAjFEAACALAAAAAAAAjWMBAIxRAABQCwAAAAAAAJZjAQCMUQAAgAsAAAAAAACgYwEAjFEAALALAAAAAAAAqWMBAIxRAADgCwAAAAAAALFjAQCMUQAAEAwAAAAAAAC5YwEAjFEAAEAMAAAAAAAAwmMBAIxRAABwDAAAAAAAAMZjAQCMUQAAoAwAAAAAAADRYwEAjFEAANAMAAAAAAAA1WMBAIxRAAAADQAAAAAAAN9jAQCMUQAAMA0AAAAAAADoYwEAjFEAAGANAAAAAAAA8GMBAIxRAACQDQAAAAAAAP1jAQCMUQAAwA0AAAAAAAAJZAEAjFEAAPANAAAAAAAAFGQBAIxRAAAgDgAAAAAAACRkAQCMUQAAUA4AAAAAAAAyZAEAjFEAAIAOAAAAAAAAQWQBAIxRAACwDgAAAAAAAEtkAQCMUQAA4A4AAAAAAABUZAEAjFEAABAPAAAAAAAAXmQBAIxRAABADwAAAAAAAGhkAQCMUQAAcA8AAAAAAABvZAEAjFEAAKAPAAAAAAAAdmQBAIxRAADQDwAAAAAAAIBkAQDUUQAAAAAAAAAAAACHZAEA1FEAAAAAAAAAAAAAZWIBAOxRAAAAAAAAAAAAAI9kAQAEUgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATQAAAEwAAAAXAAAABQAAAAAAAAANAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATgAAAE8AAAAYAAAABgAAAAMAAAAOAAAAUAAAAFEAAAAXAAAABwAAAAAAAAAPAAAASwAAAEwAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAAJFlAQCYZQEAAAAAAKBlAQCiZQEAKuMBAKRlAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAADxZgEAAWcBAA5nAQAAAAAAAAAAAAQAAAATZwEAAAAAAAAAAAAeZwEAAWcBAA5nAQAAAAAANWcBAAUAAAATZwEAAAAAAD1nAQBEZwEAAWcBAFRnAQAAAAAAAAAAAAYAAAATZwEAoXYBAAAAAABZZwEAAWcBAFRnAQAAAAAANWcBAAcAAAATZwEAoXYBAD1nAQBwZwEAfWcBAFRnAQAAAAAAAAAAAAoAAACLZwEAoXYBAAAAAACRZwEAfWcBAFRnAQAAAAAAPWcBAAsAAACLZwEAoXYBAD1nAQCkZwEAfWcBALJnAQAAAAAAAAAAAAgAAACLZwEAAAAAAAAAAAC4ZwEAfWcBALJnAQAAAAAAPWcBAAkAAACLZwEAAAAAAD1nAQDMZwEAzGcBAAAAAAAAAAAAAAAAAAwAAADUZwEAAAAAAAAAAADeZwEAzGcBAKF2AQAAAAAAAAAAAA4AAADUZwEAoXYBAAAAAADrZwEAzGcBAKF2AQAAAAAANWcBAA8AAADUZwEAoXYBAD1nAQD/ZwEAzGcBAAAAAAAAAAAANWcBAA0AAADUZwEAAAAAAD1nAQAPaAEAD2gBAAAAAAAAAAAAAAAAABAAAAATZwEAAAAAAAAAAAAZaAEAD2gBAKF2AQAAAAAAAAAAABIAAAATZwEAoXYBAAAAAAAoaAEAD2gBAKF2AQAAAAAANWcBABMAAAATZwEAoXYBAD1nAQA+aAEAD2gBAAAAAABPaAEAAAAAABQAAAATZwEAAAAAAAAAAABZaAEAD2gBAKF2AQBPaAEAAAAAABYAAAATZwEAoXYBAAAAAABvaAEAD2gBAKF2AQBPaAEANWcBABcAAAATZwEAoXYBAD1nAQCMaAEAD2gBAAAAAABPaAEANWcBABUAAAATZwEAAAAAAD1nAQClaAEAD2gBAAAAAAAAAAAANWcBABEAAAATZwEAAAAAAD1nAQC3aAEAzWgBAKF2AQAAAAAAAAAAABoAAACLZwEAoXYBAAAAAADiaAEAzWgBAKF2AQAAAAAAPWcBABsAAACLZwEAoXYBAD1nAQD+aAEAzWgBAAAAAAAAAAAAPWcBABkAAACLZwEAAAAAAD1nAQAWaQEAzWgBAC1pAQAAAAAAAAAAABgAAACLZwEAAAAAAAAAAAAzaQEAQWkBAKF2AQAAAAAAAAAAAB4AAACLZwEAoXYBAAAAAABTaQEAQWkBAKF2AQAAAAAAPWcBAB8AAACLZwEAoXYBAD1nAQBnaQEAQWkBAAAAAAAAAAAAPWcBAB0AAACLZwEAAAAAAD1nAQB3aQEAQWkBAC1pAQAAAAAAAAAAABwAAACLZwEAAAAAAAAAAACGaQEAhmkBAAAAAAAAAAAAAAAAACAAAACNaQEAAAAAAAAAAACVaQEAoGkBAKF2AQAAAAAAAAAAAAIAAACLZwEAoXYBAAAAAACmaQEAoGkBAKF2AQAAAAAAPWcBAAMAAACLZwEAoXYBAD1nAQC3aQEAoGkBAAAAAAAAAAAAPWcBAAEAAACLZwEAAAAAAD1nAQBjawEAoGkBAAAAAAAAAAAAAAAAAAAAAACLZwEAAAAAAAAAAADEaQEA3mkBAO1pAQAAAAAAPWcBACEAAACLZwEAAAAAAD1nAQD0aQEAAWoBAAAAAAAAAAAAAAAAACIAAACNaQEAAAAAAAAAAAAIAAAA/////wAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAC/awEAxgAAAMVrAQDBAAAAzGsBAMIAAADSawEAwAAAANlrAQCRAwAA32sBAMUAAADlawEAwwAAAOxrAQDEAAAA8WsBAJIDAAD2awEAxwAAAP1rAQCnAwAAAWwBACEgAAAIbAEAlAMAAA5sAQDQAAAAEmwBAMkAAAAZbAEAygAAAB9sAQDIAAAAJmwBAJUDAAAubAEAlwMAADJsAQDLAAAAN2wBAJMDAAA9bAEAzQAAAERsAQDOAAAASmwBAMwAAABRbAEAmQMAAFZsAQDPAAAAW2wBAJoDAABhbAEAmwMAAGhsAQCcAwAAa2wBANEAAABybAEAnQMAAHVsAQBSAQAAe2wBANMAAACCbAEA1AAAAIhsAQDSAAAAj2wBAKkDAACVbAEAnwMAAJ1sAQDYAAAApGwBANUAAACrbAEA1gAAALBsAQCmAwAAtGwBAKADAAC3bAEAMyAAAL1sAQCoAwAAwWwBAKEDAADFbAEAYAEAAMxsAQCjAwAA0mwBAN4AAADYbAEApAMAANxsAQCYAwAA4mwBANoAAADpbAEA2wAAAO9sAQDZAAAA9mwBAKUDAAD+bAEA3AAAAANtAQCeAwAABm0BAN0AAAANbQEAeAEAABJtAQCWAwAAF20BAOEAAAAebQEA4gAAACRtAQC0AAAAKm0BAOYAAAAwbQEA4AAAADdtAQA1IQAAP20BALEDAABFbQEAJgAAAEltAQAnIgAATW0BACAiAABRbQEA5QAAAFdtAQBIIgAAXW0BAOMAAABkbQEA5AAAAGltAQAeIAAAb20BALIDAAB0bQEApgAAAHttAQAiIAAAgG0BACkiAACEbQEA5wAAAIttAQC4AAAAkW0BAKIAAACWbQEAxwMAAJptAQDGAgAAn20BAGMmAAClbQEARSIAAKptAQCpAAAAr20BALUhAAC1bQEAKiIAALltAQCkAAAAwG0BANMhAADFbQEAICAAAMxtAQCTIQAA0W0BALAAAADVbQEAtAMAANttAQBmJgAA4W0BAPcAAADobQEA6QAAAO9tAQDqAAAA9W0BAOgAAAD8bQEABSIAAAJuAQADIAAAB24BAAIgAAAMbgEAtQMAABRuAQBhIgAAGm4BALcDAAAebgEA8AAAACJuAQDrAAAAJ24BAKwgAAAsbgEAAyIAADJuAQCSAQAAN24BAAAiAAA+bgEAvQAAAEVuAQC8AAAATG4BAL4AAABTbgEARCAAAFluAQCzAwAAX24BAGUiAABibgEAPgAAAGVuAQDUIQAAam4BAJQhAABvbgEAZSYAAHZuAQAmIAAAfW4BAO0AAACEbgEA7gAAAIpuAQChAAAAkG4BAOwAAACXbgEAESEAAJ1uAQAeIgAAo24BACsiAACnbgEAuQMAAKxuAQC/AAAAs24BAAgiAAC4bgEA7wAAAL1uAQC6AwAAw24BANAhAADIbgEAuwMAAM9uAQApIwAA1G4BAKsAAADabgEAkCEAAN9uAQAIIwAA5W4BABwgAADrbgEAZCIAAO5uAQAKIwAA9W4BABciAAD8bgEAyiUAAABvAQAOIAAABG8BADkgAAALbwEAGCAAABFvAQA8AAAAFG8BAK8AAAAZbwEAFCAAAB9vAQC1AAAAJW8BALcAAADRdwEAEiIAACxvAQC8AwAAL28BAAciAAA1bwEAoAAAADpvAQATIAAAQG8BAGAiAABDbwEACyIAAEZvAQCsAAAASm8BAAkiAABQbwEAhCIAAFVvAQDxAAAAXG8BAL0DAABfbwEA8wAAAGZvAQD0AAAAbG8BAFMBAABybwEA8gAAAHlvAQA+IAAAf28BAMkDAACFbwEAvwMAAI1vAQCVIgAAk28BACgiAACWbwEAqgAAAJtvAQC6AAAAoG8BAPgAAACnbwEA9QAAAK5vAQCXIgAAtW8BAPYAAAC6bwEAtgAAAL9vAQACIgAAxG8BADAgAADLbwEApSIAANBvAQDGAwAA1G8BAMADAADXbwEA1gMAANtvAQCxAAAA4m8BAKMAAADobwEAMiAAAO5vAQAPIgAA828BAB0iAAD4bwEAyAMAAPxvAQAiAAAAAXABANIhAAAGcAEAGiIAAAxwAQAqIwAAEXABALsAAAAXcAEAkiEAABxwAQAJIwAAInABAB0gAAAocAEAHCEAAC1wAQCuAAAAMXABAAsjAAA4cAEAwQMAADxwAQAPIAAAQHABADogAABHcAEAGSAAAE1wAQAaIAAAU3ABAGEBAABacAEAxSIAAF9wAQCnAAAAZHABAK0AAABocAEAwwMAAG5wAQDCAwAAdXABADwiAAB5cAEAYCYAAIBwAQCCIgAAhHABAIYiAACJcAEAESIAAI1wAQCDIgAAkXABALkAAACWcAEAsgAAAJtwAQCzAAAAoHABAIciAAClcAEA3wAAAKtwAQDEAwAAr3ABADQiAAC2cAEAuAMAALxwAQDRAwAAxXABAAkgAADMcAEA/gAAANJwAQDcAgAA2HABANcAAADecAEAIiEAAORwAQDRIQAA6XABAPoAAADwcAEAkSEAAPVwAQD7AAAA+3ABAPkAAAACcQEAqAAAAAZxAQDSAwAADHEBAMUDAAAUcQEA/AAAABlxAQAYIQAAIHEBAL4DAAAjcQEA/QAAACpxAQClAAAALnEBAP8AAAAzcQEAtgMAADhxAQANIAAAPHEBAAwgAAAFAAAABgAAAAEBAAAIAAAACAAAAAAAAAAAAAAAKgAAAA0AAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAKwAAAA4AAAAAAAAAAAAAAAAAAACRdwEABwAAAJN3AQAIAAAAmHcBAAgAAACgdwEACQAAAKZ3AQAJAAAAr3cBAAoAAACydwEACgAAALh3AQALAAAAvXcBAAsAAADFdwEADAAAAMp3AQAMAAAA0XcBAA0AAADXdwEADQAAAON3AQAOAAAAUgAAACwAAAAtAAAAFAAAAC4AAABTAAAALwAAABUAAAAwAAAACAAAAAQAAAD/////AAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAO3kBAFVdyX/Jf/8ARnkBALst1L6u1P8AUXkBABR3/f3Ahv8AXHkBAFVdyX/Jf/8AZ3kBALst1L6u1P8AcnkBABR3/f3Ahv8AfXkBACpm////mf8AiHkBAFVdyX/Jf/8Ak3kBALst1L6u1P8AnnkBABR3/f3Ahv8AqXkBACpm////mf8AtHkBAJetsDhssP8Av3kBAFVdyX/Jf/8AynkBALst1L6u1P8A1XkBABR3/f3Ahv8A4HkBACpm////mf8A63kBAJetsDhssP8A9nkBAOj88PACf/8AAXoBAFVdyX/Jf/8ADHoBALst1L6u1P8AF3oBABR3/f3Ahv8AInoBACpm////mf8ALXoBAJetsDhssP8AOHoBAOj88PACf/8AQ3oBABHgv79bF/8ATnoBAFVdyX/Jf/8AWXoBALst1L6u1P8AZHoBABR3/f3Ahv8Ab3oBACpm////mf8AenoBAJetsDhssP8AhXoBAOj88PACf/8AkHoBABHgv79bF/8Am3oBAAAAZmZmZv8ApnoBAJMZ997r9/8AsHoBAI5L4Z7K4f8AunoBAJG8vTGCvf8AxHoBAJ8Q/+/z//8AznoBAI8u573X5/8A2HoBAI9/1muu1v8A4noBAJPQtSFxtf8A7HoBAJ8Q/+/z//8A9noBAI8u573X5/8AAHsBAI9/1muu1v8ACnsBAJG8vTGCvf8AFHsBAJXxnAhRnP8AHnsBAJ8Q/+/z//8AKHsBAJQr78bb7/8AMnsBAI5L4Z7K4f8APHsBAI9/1muu1v8ARnsBAJG8vTGCvf8AUHsBAJXxnAhRnP8AWnsBAJ8Q/+/z//8AZHsBAJQr78bb7/8AbnsBAI5L4Z7K4f8AeHsBAI9/1muu1v8AgnsBAJCpxkKSxv8AjHsBAJPQtSFxtf8AlnsBAJfxlAhFlP8AoHsBAJQI//f7//8AqnsBAJMZ997r9/8AtHsBAJQr78bb7/8AvnsBAI5L4Z7K4f8AyHsBAI9/1muu1v8A0nsBAJCpxkKSxv8A3HsBAJPQtSFxtf8A5nsBAJfxlAhFlP8A8HsBAJQI//f7//8A+nsBAJMZ997r9/8ABHwBAJQr78bb7/8ADnwBAI5L4Z7K4f8AGHwBAI9/1muu1v8AInwBAJCpxkKSxv8ALHwBAJPQtSFxtf8ANnwBAJXxnAhRnP8AQHwBAJjrawgwa/8ASnwBABfvVFQwBf8AVHwBAHf/PAA8MP8AX3wBABfsjIxRCv8AaXwBABjCv7+BLf8Ac3wBAB1w39/Cff8AfXwBAB409vbow/8Ah3wBAHkm6sfq5f8AkXwBAHhfzYDNwf8Am3wBAHyllzWXj/8ApXwBAHz8ZgFmXv8Ar3wBABfvVFQwBf8AuXwBAHz8ZgFmXv8AxHwBAHf/PAA8MP8Az3wBABfsjIxRCv8A2XwBABjCv7+BLf8A43wBAB1w39/Cff8A7XwBAB409vbow/8A93wBAAAA9fX19f8AAX0BAHkm6sfq5f8AC30BAHhfzYDNwf8AFX0BAHyllzWXj/8AH30BAByH2NizZf8AKH0BAAAA9fX19f8AMX0BAHt/tFq0rP8AOn0BABXXpqZhGv8AQ30BAB1w39/Cff8ATH0BAHhfzYDNwf8AVX0BAHn9hQGFcf8AXn0BABXXpqZhGv8AZ30BAB1w39/Cff8AcH0BAAAA9fX19f8AeX0BAHhfzYDNwf8Agn0BAHn9hQGFcf8Ai30BABfsjIxRCv8AlH0BAByH2NizZf8AnX0BAB409vbow/8Apn0BAHkm6sfq5f8Ar30BAHt/tFq0rP8AuH0BAHz8ZgFmXv8AwX0BABfsjIxRCv8Ayn0BAByH2NizZf8A030BAB409vbow/8A3H0BAAAA9fX19f8A5X0BAHkm6sfq5f8A7n0BAHt/tFq0rP8A930BAHz8ZgFmXv8AAH4BABfsjIxRCv8ACX4BABjCv7+BLf8AEn4BAB1w39/Cff8AG34BAB409vbow/8AJH4BAHkm6sfq5f8ALX4BAHhfzYDNwf8ANn4BAHyllzWXj/8AP34BAHz8ZgFmXv8ASH4BABfsjIxRCv8AUX4BABjCv7+BLf8AWn4BAB1w39/Cff8AY34BAB409vbow/8AbH4BAAAA9fX19f8AdX4BAHkm6sfq5f8Afn4BAHhfzYDNwf8Ah34BAHyllzWXj/8AkH4BAHz8ZgFmXv8AmX4BAIcU+eX1+f8Aon4BAHVK2JnYyf8Aq34BAGe5oiyiX/8AtH4BAIgO++34+/8AvX4BAH824rLi4v8Axn4BAHF4wmbCpP8Az34BAGK+iyOLRf8A2H4BAIgO++34+/8A4X4BAH824rLi4v8A6n4BAHF4wmbCpP8A834BAGe5oiyiX/8A/H4BAGb/bQBtLP8ABX8BAIgO++34+/8ADn8BAHci7Mzs5v8AF38BAHVK2JnYyf8AIH8BAHF4wmbCpP8AKX8BAGe5oiyiX/8AMn8BAGb/bQBtLP8AO38BAIgO++34+/8ARH8BAHci7Mzs5v8ATX8BAHVK2JnYyf8AVn8BAHF4wmbCpP8AX38BAGmfrkGudv8AaH8BAGK+iyOLRf8AcX8BAGb/WABYJP8Aen8BAIYG/ff8/f8Ag38BAIcU+eX1+f8AjH8BAHci7Mzs5v8AlX8BAHVK2JnYyf8Ann8BAHF4wmbCpP8Ap38BAGmfrkGudv8AsH8BAGK+iyOLRf8AuX8BAGb/WABYJP8Awn8BAIYG/ff8/f8Ay38BAIcU+eX1+f8A1H8BAHci7Mzs5v8A3X8BAHVK2JnYyf8A5n8BAHF4wmbCpP8A738BAGmfrkGudv8A+H8BAGK+iyOLRf8AAYABAGb/bQBtLP8ACoABAGX/RABEG/8AE4ABAJAU9ODs9P8AHIABAJRG2p682v8AJYABAMR7p4hWp/8ALoABAIgO++34+/8AN4ABAJI147PN4/8AQIABAKJKxoyWxv8ASYABAMqVnYhBnf8AUoABAIgO++34+/8AW4ABAJI147PN4/8AZIABAKJKxoyWxv8AbYABAMR7p4hWp/8AdoABANbhgYEPfP8Af4ABAIgO++34+/8AiIABAJQr5r/T5v8AkYABAJRG2p682v8AmoABAKJKxoyWxv8Ao4ABAMR7p4hWp/8ArIABANbhgYEPfP8AtYABAIgO++34+/8AvoABAJQr5r/T5v8Ax4ABAJRG2p682v8A0IABAKJKxoyWxv8A2YABAL5ksYxrsf8A4oABAMqVnYhBnf8A64ABANX8bm4Ba/8A9IABAIYG/ff8/f8A/YABAJAU9ODs9P8ABoEBAJQr5r/T5v8AD4EBAJRG2p682v8AGIEBAKJKxoyWxv8AIYEBAL5ksYxrsf8AKoEBAMqVnYhBnf8AM4EBANX8bm4Ba/8APIEBAIYG/ff8/f8ARYEBAJAU9ODs9P8AToEBAJQr5r/T5v8AV4EBAJRG2p682v8AYIEBAKJKxoyWxv8AaYEBAL5ksYxrsf8AcoEBAMqVnYhBnf8Ae4EBANbhgYEPfP8AhIEBANX/TU0AS/8AjYEBAHLTnhued/8Al4EBABL82dlfAv8AoYEBAK1fs3Vws/8Aq4EBAHLTnhued/8AtYEBABL82dlfAv8Av4EBAK1fs3Vws/8AyYEBAOnR5+cpiv8A04EBAHLTnhued/8A3YEBABL82dlfAv8A54EBAK1fs3Vws/8A8YEBAOnR5+cpiv8A+4EBAD7QpmamHv8ABYIBAHLTnhued/8AD4IBABL82dlfAv8AGYIBAK1fs3Vws/8AI4IBAOnR5+cpiv8ALYIBAD7QpmamHv8AN4IBAB/85uarAv8AQYIBAHLTnhued/8AS4IBABL82dlfAv8AVYIBAK1fs3Vws/8AX4IBAOnR5+cpiv8AaYIBAD7QpmamHv8Ac4IBAB/85uarAv8AfYIBABvSpqZ2Hf8Ah4IBAHLTnhued/8AkYIBABL82dlfAv8Am4IBAK1fs3Vws/8ApYIBAOnR5+cpiv8Ar4IBAD7QpmamHv8AuYIBAB/85uarAv8Aw4IBABvSpqZ2Hf8AzYIBAAAAZmZmZv8A14IBAEwZ8+Dz2/8A4IIBAF893ajdtf8A6YIBAIyqykOiyv8A8oIBAEER+fD56P8A+4IBAFcu5LrkvP8ABIMBAHtlzHvMxP8ADYMBAI3FviuMvv8AFoMBAEER+fD56P8AH4MBAFcu5LrkvP8AKIMBAHtlzHvMxP8AMYMBAIyqykOiyv8AOoMBAJHzrAhorP8AQ4MBAEER+fD56P8ATIMBAE0p68zrxf8AVYMBAF893ajdtf8AXoMBAHtlzHvMxP8AZ4MBAIyqykOiyv8AcIMBAJHzrAhorP8AeYMBAEER+fD56P8AgoMBAE0p68zrxf8Ai4MBAF893ajdtf8AlIMBAHtlzHvMxP8AnYMBAImg006z0/8ApoMBAI3FviuMvv8Ar4MBAJPynghYnv8AuIMBADwM/Pf88P8AwYMBAEwZ8+Dz2/8AyoMBAE0p68zrxf8A04MBAF893ajdtf8A3IMBAHtlzHvMxP8A5YMBAImg006z0/8A7oMBAI3FviuMvv8A94MBAJPynghYnv8AAIQBADwM/Pf88P8ACYQBAEwZ8+Dz2/8AEoQBAE0p68zrxf8AG4QBAF893ajdtf8AJIQBAHtlzHvMxP8ALYQBAImg006z0/8ANoQBAI3FviuMvv8AP4QBAJHzrAhorP8ASIQBAJbvgQhAgf8AUYQBAEoV9eX14P8AXIQBAFBI2aHZm/8AZ4QBAGKyozGjVP8AcoQBAEkP+O346f8AfYQBAE425Lrks/8AiIQBAFZoxHTEdv8Ak4QBAGK+iyOLRf8AnoQBAEkP+O346f8AqYQBAE425Lrks/8AtIQBAFZoxHTEdv8Av4QBAGKyozGjVP8AyoQBAGb/bQBtLP8A1YQBAEkP+O346f8A4IQBAE0s6cfpwP8A64QBAFBI2aHZm/8A9oQBAFZoxHTEdv8AAYUBAGKyozGjVP8ADIUBAGb/bQBtLP8AF4UBAEkP+O346f8AIoUBAE0s6cfpwP8ALYUBAFBI2aHZm/8AOIUBAFZoxHTEdv8AQ4UBAGCeq0GrXf8AToUBAGK+iyOLRf8AWYUBAGz/WgBaMv8AZIUBAEgH/Pf89f8Ab4UBAEoV9eX14P8AeoUBAE0s6cfpwP8AhYUBAFBI2aHZm/8AkIUBAFZoxHTEdv8Am4UBAGCeq0GrXf8ApoUBAGK+iyOLRf8AsYUBAGz/WgBaMv8AvIUBAEgH/Pf89f8Ax4UBAEoV9eX14P8A0oUBAE0s6cfpwP8A3YUBAFBI2aHZm/8A6IUBAFZoxHTEdv8A84UBAGCeq0GrXf8A/oUBAGK+iyOLRf8ACYYBAGb/bQBtLP8AFIYBAGX/RABEG/8AH4YBAAAA8PDw8P8AKYYBAAAAvb29vf8AM4YBAAAAY2NjY/8APYYBAAAA9/f39/8AR4YBAAAAzMzMzP8AUYYBAAAAlpaWlv8AW4YBAAAAUlJSUv8AZYYBAAAA9/f39/8Ab4YBAAAAzMzMzP8AeYYBAAAAlpaWlv8Ag4YBAAAAY2NjY/8AjYYBAAAAJSUlJf8Al4YBAAAA9/f39/8AoYYBAAAA2dnZ2f8Aq4YBAAAAvb29vf8AtYYBAAAAlpaWlv8Av4YBAAAAY2NjY/8AyYYBAAAAJSUlJf8A04YBAAAA9/f39/8A3YYBAAAA2dnZ2f8A54YBAAAAvb29vf8A8YYBAAAAlpaWlv8A+4YBAAAAc3Nzc/8ABYcBAAAAUlJSUv8AD4cBAAAAJSUlJf8AGYcBAAAA//////8AI4cBAAAA8PDw8P8ALYcBAAAA2dnZ2f8AN4cBAAAAvb29vf8AQYcBAAAAlpaWlv8AS4cBAAAAc3Nzc/8AVYcBAAAAUlJSUv8AX4cBAAAAJSUlJf8AaYcBAAAA//////8Ac4cBAAAA8PDw8P8AfYcBAAAA2dnZ2f8Ah4cBAAAAvb29vf8AkYcBAAAAlpaWlv8Am4cBAAAAc3Nzc/8ApYcBAAAAUlJSUv8Ar4cBAAAAJSUlJf8AuYcBAAAAAAAAAP8Aw4cBABUw/v7mzv8Az4cBABOT/f2ua/8A24cBAA7w5uZVDf8A54cBABMg/v7t3v8A84cBABR4/f2+hf8A/4cBABHC/f2NPP8AC4gBAA392dlHAf8AF4gBABMg/v7t3v8AI4gBABR4/f2+hf8AL4gBABHC/f2NPP8AO4gBAA7w5uZVDf8AR4gBAA36pqY2A/8AU4gBABMg/v7t3v8AX4gBABVb/f3Qov8Aa4gBABOT/f2ua/8Ad4gBABHC/f2NPP8Ag4gBAA7w5uZVDf8Aj4gBAA36pqY2A/8Am4gBABMg/v7t3v8Ap4gBABVb/f3Qov8As4gBABOT/f2ua/8Av4gBABHC/f2NPP8Ay4gBABDq8fFpE/8A14gBAA392dlIAf8A44gBAAz3jIwtBP8A74gBABUU///16/8A+4gBABUw/v7mzv8AB4kBABVb/f3Qov8AE4kBABOT/f2ua/8AH4kBABHC/f2NPP8AK4kBABDq8fFpE/8AN4kBAA392dlIAf8AQ4kBAAz3jIwtBP8AT4kBABUU///16/8AW4kBABUw/v7mzv8AZ4kBABVb/f3Qov8Ac4kBABOT/f2ua/8Af4kBABHC/f2NPP8Ai4kBABDq8fFpE/8Al4kBAA392dlIAf8Ao4kBAA36pqY2A/8Ar4kBAAz2f38nBP8Au4kBABk2/v7oyP8AxIkBABN5/f27hP8AzYkBAAXF4+NKM/8A1okBABol/v7w2f8A34kBABhz/f3Miv8A6IkBAA2k/PyNWf8A8YkBAAPa19cwH/8A+okBABol/v7w2f8AA4oBABhz/f3Miv8ADIoBAA2k/PyNWf8AFYoBAAXF4+NKM/8AHooBAAD/s7MAAP8AJ4oBABol/v7w2f8AMIoBABhf/f3Unv8AOYoBABN5/f27hP8AQooBAA2k/PyNWf8AS4oBAAXF4+NKM/8AVIoBAAD/s7MAAP8AXYoBABol/v7w2f8AZooBABhf/f3Unv8Ab4oBABN5/f27hP8AeIoBAA2k/PyNWf8AgYoBAAey7+9lSP8AiooBAAPa19cwH/8Ak4oBAAD/mZkAAP8AnIoBABgS///37P8ApYoBABk2/v7oyP8ArooBABhf/f3Unv8At4oBABN5/f27hP8AwIoBAA2k/PyNWf8AyYoBAAey7+9lSP8A0ooBAAPa19cwH/8A24oBAAD/mZkAAP8A5IoBABgS///37P8A7YoBABk2/v7oyP8A9ooBABhf/f3Unv8A/4oBABN5/f27hP8ACIsBAA2k/PyNWf8AEYsBAAey7+9lSP8AGosBAAPa19cwH/8AI4sBAAD/s7MAAP8ALIsBAAD/f38AAP8ANYsBAI5E46bO4/8AQYsBAL6Zmmo9mv8ATosBAJDTtB94tP8AWosBAEFh37Lfiv8AZosBAFK4oDOgLP8AcosBAABj+/uamf8AfosBAP7h4+MaHP8AiosBABeP/f2/b/8AlosBABX///9/AP8AoosBAMYq1sqy1v8ArosBAI5E46bO4/8AuosBAL6Zmmo9mv8Ax4sBACpm////mf8A1IsBAJDTtB94tP8A4IsBAEFh37Lfiv8A7IsBAFK4oDOgLP8A+IsBAABj+/uamf8ABIwBAP7h4+MaHP8AEIwBABeP/f2/b/8AHIwBABX///9/AP8AKIwBAMYq1sqy1v8ANIwBAI5E46bO4/8AQIwBAL6Zmmo9mv8ATYwBACpm////mf8AWowBAA/FsbFZKP8AZ4wBAJDTtB94tP8Ac4wBAEFh37Lfiv8Af4wBAFK4oDOgLP8Ai4wBAABj+/uamf8Al4wBAP7h4+MaHP8Ao4wBABeP/f2/b/8Ar4wBABX///9/AP8Au4wBAMYq1sqy1v8Ax4wBAI5E46bO4/8A0owBAJDTtB94tP8A3YwBAEFh37Lfiv8A6IwBAI5E46bO4/8A84wBAJDTtB94tP8A/owBAEFh37Lfiv8ACY0BAFK4oDOgLP8AFI0BAI5E46bO4/8AH40BAJDTtB94tP8AKo0BAEFh37Lfiv8ANY0BAFK4oDOgLP8AQI0BAABj+/uamf8AS40BAI5E46bO4/8AVo0BAJDTtB94tP8AYY0BAEFh37Lfiv8AbI0BAFK4oDOgLP8Ad40BAABj+/uamf8Ago0BAP7h4+MaHP8AjY0BAI5E46bO4/8AmI0BAJDTtB94tP8Ao40BAEFh37Lfiv8Aro0BAFK4oDOgLP8AuY0BAABj+/uamf8AxI0BAP7h4+MaHP8Az40BABeP/f2/b/8A2o0BAI5E46bO4/8A5Y0BAJDTtB94tP8A8I0BAEFh37Lfiv8A+40BAFK4oDOgLP8ABo4BAABj+/uamf8AEY4BAP7h4+MaHP8AHI4BABeP/f2/b/8AJ44BABX///9/AP8AMo4BAI5E46bO4/8APY4BAJDTtB94tP8ASI4BAEFh37Lfiv8AU44BAFK4oDOgLP8AXo4BAABj+/uamf8AaY4BAP7h4+MaHP8AdI4BABeP/f2/b/8Af44BABX///9/AP8Aio4BAMYq1sqy1v8AlY4BAANO+/u0rv8AoY4BAJI147PN4/8ArY4BAE0p68zrxf8AuY4BAANO+/u0rv8AxY4BAJI147PN4/8A0Y4BAE0p68zrxf8A3Y4BAMob5N7L5P8A6Y4BAANO+/u0rv8A9Y4BAJI147PN4/8AAY8BAE0p68zrxf8ADY8BAMob5N7L5P8AGY8BABhY/v7Zpv8AJY8BAANO+/u0rv8AMY8BAJI147PN4/8APY8BAE0p68zrxf8ASY8BAMob5N7L5P8AVY8BABhY/v7Zpv8AYY8BACoy////zP8AbY8BAANO+/u0rv8AeY8BAJI147PN4/8AhY8BAE0p68zrxf8AkY8BAMob5N7L5P8AnY8BABhY/v7Zpv8AqY8BACoy////zP8AtY8BABws5eXYvf8AwY8BAANO+/u0rv8AzY8BAJI147PN4/8A2Y8BAE0p68zrxf8A5Y8BAMob5N7L5P8A8Y8BABhY/v7Zpv8A/Y8BACoy////zP8ACZABABws5eXYvf8AFZABAOkj/f3a7P8AIZABAANO+/u0rv8ALZABAJI147PN4/8AOZABAE0p68zrxf8ARZABAMob5N7L5P8AUZABABhY/v7Zpv8AXZABACoy////zP8AaZABABws5eXYvf8AdZABAOkj/f3a7P8AgZABAAAA8vLy8v8AjZABAGw14rPizf8AmZABABFR/f3NrP8ApZABAJsf6MvV6P8AsZABAGw14rPizf8AvZABABFR/f3NrP8AyZABAJsf6MvV6P8A1ZABAOQr9PTK5P8A4ZABAGw14rPizf8A7ZABABFR/f3NrP8A+ZABAJsf6MvV6P8ABZEBAOQr9PTK5P8AEZEBADgt9eb1yf8AHZEBAGw14rPizf8AKZEBABFR/f3NrP8ANZEBAJsf6MvV6P8AQZEBAOQr9PTK5P8ATZEBADgt9eb1yf8AWZEBACNR///yrv8AZZEBAGw14rPizf8AcZEBABFR/f3NrP8AfZEBAJsf6MvV6P8AiZEBAOQr9PTK5P8AlZEBADgt9eb1yf8AoZEBACNR///yrv8ArZEBABkn8fHizP8AuZEBAGw14rPizf8AxZEBABFR/f3NrP8A0ZEBAJsf6MvV6P8A3ZEBAOQr9PTK5P8A6ZEBADgt9eb1yf8A9ZEBACNR///yrv8AAZIBABkn8fHizP8ADZIBAAAAzMzMzP8AGZIBAOb9jo4BUv8AI5IBAE2/ZCdkGf8ALpIBAObcxcUbff8AOJIBAOh23t53rv8AQpIBAOU+8fG22v8ATJIBAOkd/f3g7/8AVpIBADsm9eb10P8AYJIBAD1n4bjhhv8AapIBAD+mvH+8Qf8AdJIBAETFkk2SIf8AfpIBAOb9jo4BUv8AiJIBAETFkk2SIf8Ak5IBAE2/ZCdkGf8AnpIBAObcxcUbff8AqJIBAOh23t53rv8AspIBAOU+8fG22v8AvJIBAOkd/f3g7/8AxpIBAAAA9/f39/8A0JIBADsm9eb10P8A2pIBAD1n4bjhhv8A5JIBAD+mvH+8Qf8A7pIBAOdM6emjyf8A95IBAAAA9/f39/8AAJMBAD+B16HXav8ACZMBAOTc0NAci/8AEpMBAOU+8fG22v8AG5MBAD1n4bjhhv8AJJMBAEjGrE2sJv8ALZMBAOTc0NAci/8ANpMBAOU+8fG22v8AP5MBAAAA9/f39/8ASJMBAD1n4bjhhv8AUZMBAEjGrE2sJv8AWpMBAObcxcUbff8AY5MBAOdM6emjyf8AbJMBAOkd/f3g7/8AdZMBADsm9eb10P8AfpMBAD+B16HXav8Ah5MBAETFkk2SIf8AkJMBAObcxcUbff8AmZMBAOdM6emjyf8AopMBAOkd/f3g7/8Aq5MBAAAA9/f39/8AtJMBADsm9eb10P8AvZMBAD+B16HXav8AxpMBAETFkk2SIf8Az5MBAObcxcUbff8A2JMBAOh23t53rv8A4ZMBAOU+8fG22v8A6pMBAOkd/f3g7/8A85MBADsm9eb10P8A/JMBAD1n4bjhhv8ABZQBAD+mvH+8Qf8ADpQBAETFkk2SIf8AF5QBAObcxcUbff8AIJQBAOh23t53rv8AKZQBAOU+8fG22v8AMpQBAOkd/f3g7/8AO5QBAAAA9/f39/8ARJQBADsm9eb10P8ATZQBAD1n4bjhhv8AVpQBAD+mvH+8Qf8AX5QBAETFkk2SIf8AaJQBAM7/S0AAS/8AcpQBAGX/RABEG/8AfZQBAM6tg3Yqg/8Ah5QBAMdXq5lwq/8AkZQBAMczz8Klz/8Am5QBANIV6OfU6P8ApZQBAEwe8Nnw0/8Ar5QBAFBE26bboP8AuZQBAFh7rlquYf8Aw5QBAGHFeBt4N/8AzZQBAM7/S0AAS/8A15QBAGHFeBt4N/8A4pQBAGX/RABEG/8A7ZQBAM6tg3Yqg/8A95QBAMdXq5lwq/8AAZUBAMczz8Klz/8AC5UBANIV6OfU6P8AFZUBAAAA9/f39/8AH5UBAEwe8Nnw0/8AKZUBAFBE26bboP8AM5UBAFh7rlquYf8APZUBAMRGw6+Nw/8ARpUBAAAA9/f39/8AT5UBAFJav3+/e/8AWJUBAMmolHsylP8AYZUBAMczz8Klz/8AapUBAFBE26bboP8Ac5UBAGb/iACIN/8AfJUBAMmolHsylP8AhZUBAMczz8Klz/8AjpUBAAAA9/f39/8Al5UBAFBE26bboP8AoJUBAGb/iACIN/8AqZUBAM6tg3Yqg/8AspUBAMRGw6+Nw/8Au5UBANIV6OfU6P8AxJUBAEwe8Nnw0/8AzZUBAFJav3+/e/8A1pUBAGHFeBt4N/8A35UBAM6tg3Yqg/8A6JUBAMRGw6+Nw/8A8ZUBANIV6OfU6P8A+pUBAAAA9/f39/8AA5YBAEwe8Nnw0/8ADJYBAFJav3+/e/8AFZYBAGHFeBt4N/8AHpYBAM6tg3Yqg/8AJ5YBAMdXq5lwq/8AMJYBAMczz8Klz/8AOZYBANIV6OfU6P8AQpYBAEwe8Nnw0/8AS5YBAFBE26bboP8AVJYBAFh7rlquYf8AXZYBAGHFeBt4N/8AZpYBAM6tg3Yqg/8Ab5YBAMdXq5lwq/8AeJYBAMczz8Klz/8AgZYBANIV6OfU6P8AipYBAAAA9/f39/8Ak5YBAEwe8Nnw0/8AnJYBAFBE26bboP8ApZYBAFh7rlquYf8ArpYBAGHFeBt4N/8At5YBAL0L8uzn8v8AwJYBAJc926a92/8AyZYBAI3FviuMvv8A0pYBALkI9vHu9v8A25YBAJso4b3J4f8A5JYBAJFwz3Spz/8A7ZYBAI/3sAVwsP8A9pYBALkI9vHu9v8A/5YBAJso4b3J4f8ACJcBAJFwz3Spz/8AEZcBAI3FviuMvv8AGpcBAI/3jQRajf8AI5cBALkI9vHu9v8ALJcBAKgY5tDR5v8ANZcBAJc926a92/8APpcBAJFwz3Spz/8AR5cBAI3FviuMvv8AUJcBAI/3jQRajf8AWZcBALkI9vHu9v8AYpcBAKgY5tDR5v8Aa5cBAJc926a92/8AdJcBAJFwz3Spz/8AfZcBAI63wDaQwP8AhpcBAI/3sAVwsP8Aj5cBAI/4ewNOe/8AmJcBAOkI///3+/8AoZcBAL0L8uzn8v8AqpcBAKgY5tDR5v8As5cBAJc926a92/8AvJcBAJFwz3Spz/8AxZcBAI63wDaQwP8AzpcBAI/3sAVwsP8A15cBAI/4ewNOe/8A4JcBAOkI///3+/8A6ZcBAL0L8uzn8v8A8pcBAKgY5tDR5v8A+5cBAJc926a92/8ABJgBAJFwz3Spz/8ADZgBAI63wDaQwP8AFpgBAI/3sAVwsP8AH5gBAI/3jQRajf8AKJgBAI/5WAI4WP8AMZgBAMgO8Ozi8P8APJgBAJc926a92/8AR5gBAILQmRyQmf8AUpgBAM8I9/bv9/8AXZgBAJso4b3J4f8AaJgBAI+Az2epz/8Ac5gBAIL7igKBiv8AfpgBAM8I9/bv9/8AiZgBAJso4b3J4f8AlJgBAI+Az2epz/8An5gBAILQmRyQmf8AqpgBAHf8bAFsWf8AtZgBAM8I9/bv9/8AwJgBAKgY5tDR5v8Ay5gBAJc926a92/8A1pgBAI+Az2epz/8A4ZgBAILQmRyQmf8A7JgBAHf8bAFsWf8A95gBAM8I9/bv9/8AApkBAKgY5tDR5v8ADZkBAJc926a92/8AGJkBAI+Az2epz/8AI5kBAI63wDaQwP8ALpkBAIL7igKBiv8AOZkBAHb8ZAFkUP8ARJkBAOkI///3+/8AT5kBAMgO8Ozi8P8AWpkBAKgY5tDR5v8AZZkBAJc926a92/8AcJkBAI+Az2epz/8Ae5kBAI63wDaQwP8AhpkBAIL7igKBiv8AkZkBAHb8ZAFkUP8AnJkBAOkI///3+/8Ap5kBAMgO8Ozi8P8AspkBAKgY5tDR5v8AvZkBAJc926a92/8AyJkBAI+Az2epz/8A05kBAI63wDaQwP8A3pkBAIL7igKBiv8A6ZkBAHf8bAFsWf8A9JkBAHX7RgFGNv8A/5kBABLuf387CP8ACZoBAMP/Sy0AS/8AFJoBABT2s7NYBv8AHpoBABbo4OCCFP8AKJoBABeb/f24Y/8AMpoBABhI/v7gtv8APJoBAKUU69ja6/8ARpoBALEv0rKr0v8AUJoBALNUrIBzrP8AWpoBAL21iFQniP8AZJoBABLuf387CP8AbpoBAL21iFQniP8AeZoBAMP/Sy0AS/8AhJoBABT2s7NYBv8AjpoBABbo4OCCFP8AmJoBABeb/f24Y/8AopoBABhI/v7gtv8ArJoBAAAA9/f39/8AtpoBAKUU69ja6/8AwJoBALEv0rKr0v8AypoBALNUrIBzrP8A1JoBABe78fGjQP8A3ZoBAAAA9/f39/8A5poBALJFw5mOw/8A75oBABH95uZhAf8A+JoBABeb/f24Y/8AAZsBALEv0rKr0v8ACpsBALmbmV48mf8AE5sBABH95uZhAf8AHJsBABeb/f24Y/8AJZsBAAAA9/f39/8ALpsBALEv0rKr0v8AN5sBALmbmV48mf8AQJsBABT2s7NYBv8ASZsBABe78fGjQP8AUpsBABhI/v7gtv8AW5sBAKUU69ja6/8AZJsBALJFw5mOw/8AbZsBAL21iFQniP8AdpsBABT2s7NYBv8Af5sBABe78fGjQP8AiJsBABhI/v7gtv8AkZsBAAAA9/f39/8AmpsBAKUU69ja6/8Ao5sBALJFw5mOw/8ArJsBAL21iFQniP8AtZsBABT2s7NYBv8AvpsBABbo4OCCFP8Ax5sBABeb/f24Y/8A0JsBABhI/v7gtv8A2ZsBAKUU69ja6/8A4psBALEv0rKr0v8A65sBALNUrIBzrP8A9JsBAL21iFQniP8A/ZsBABT2s7NYBv8ABpwBABbo4OCCFP8AD5wBABeb/f24Y/8AGJwBABhI/v7gtv8AIZwBAAAA9/f39/8AKpwBAKUU69ja6/8AM5wBALEv0rKr0v8APJwBALNUrIBzrP8ARZwBAL21iFQniP8ATpwBALwO7+fh7/8AV5wBANZDycmUx/8AYJwBAOre3d0cd/8AaZwBALkI9vHu9v8AcpwBANMp2Ne12P8Ae5wBAOSL399lsP8AhJwBAO/ozs4SVv8AjZwBALkI9vHu9v8AlpwBANMp2Ne12P8An5wBAOSL399lsP8AqJwBAOre3d0cd/8AsZwBAOz/mJgAQ/8AupwBALkI9vHu9v8Aw5wBAMwm2tS52v8AzJwBANZDycmUx/8A1ZwBAOSL399lsP8A3pwBAOre3d0cd/8A55wBAOz/mJgAQ/8A8JwBALkI9vHu9v8A+ZwBAMwm2tS52v8AAp0BANZDycmUx/8AC50BAOSL399lsP8AFJ0BAOnR5+cpiv8AHZ0BAO/ozs4SVv8AJp0BAOz/kZEAP/8AL50BAMMF+ff0+f8AOJ0BALwO7+fh7/8AQZ0BAMwm2tS52v8ASp0BANZDycmUx/8AU50BAOSL399lsP8AXJ0BAOnR5+cpiv8AZZ0BAO/ozs4SVv8Abp0BAOz/kZEAP/8Ad50BAMMF+ff0+f8AgJ0BALwO7+fh7/8AiZ0BAMwm2tS52v8Akp0BANZDycmUx/8Am50BAOSL399lsP8ApJ0BAOnR5+cpiv8ArZ0BAO/ozs4SVv8Atp0BAOz/mJgAQ/8Av50BAPL/Z2cAH/8AyJ0BALQI9e/t9f8A1J0BAKgl3Ly93P8A4J0BALBksXVrsf8A7J0BALYH9/Lw9/8A+J0BAK0c4svJ4v8ABJ4BAK06yJ6ayP8AEJ4BALaAo2pRo/8AHJ4BALYH9/Lw9/8AKJ4BAK0c4svJ4v8ANJ4BAK06yJ6ayP8AQJ4BALBksXVrsf8ATJ4BALy5j1Qnj/8AWJ4BALYH9/Lw9/8AZJ4BAKoS69ra6/8AcJ4BAKgl3Ly93P8AfJ4BAK06yJ6ayP8AiJ4BALBksXVrsf8AlJ4BALy5j1Qnj/8AoJ4BALYH9/Lw9/8ArJ4BAKoS69ra6/8AuJ4BAKgl3Ly93P8AxJ4BAK06yJ6ayP8A0J4BAKxTuoB9uv8A3J4BALaAo2pRo/8A6J4BAL7YhkoUhv8A9J4BAL8C/fz7/f8AAJ8BALQI9e/t9f8ADJ8BAKoS69ra6/8AGJ8BAKgl3Ly93P8AJJ8BAK06yJ6ayP8AMJ8BAKxTuoB9uv8APJ8BALaAo2pRo/8ASJ8BAL7YhkoUhv8AVJ8BAL8C/fz7/f8AYJ8BALQI9e/t9f8AbJ8BAKoS69ra6/8AeJ8BAKgl3Ly93P8AhJ8BAK06yJ6ayP8AkJ8BAKxTuoB9uv8AnJ8BALaAo2pRo/8AqJ8BALy5j1Qnj/8AtJ8BAL//fT8Aff8AwJ8BAPL/Z2cAH/8Ayp8BAJbxYQUwYf8A1Z8BAPncsrIYK/8A358BAAWj1tZgTf8A6Z8BAA139PSlgv8A858BAA82/f3bx/8A/Z8BAI4g8NHl8P8AB6ABAI1X3pLF3v8AEaABAI+nw0OTw/8AG6ABAJTOrCFmrP8AJaABAPL/Z2cAH/8AL6ABAJTOrCFmrP8AOqABAJbxYQUwYf8ARaABAPncsrIYK/8AT6ABAAWj1tZgTf8AWaABAA139PSlgv8AY6ABAA82/f3bx/8AbaABAAAA9/f39/8Ad6ABAI4g8NHl8P8AgaABAI1X3pLF3v8Ai6ABAI+nw0OTw/8AlaABAAyW7++KYv8AnqABAAAA9/f39/8Ap6ABAI+Az2epz/8AsKABAPj/ysoAIP8AuaABAA139PSlgv8AwqABAI1X3pLF3v8Ay6ABAI/3sAVxsP8A1KABAPj/ysoAIP8A3aABAA139PSlgv8A5qABAAAA9/f39/8A76ABAI1X3pLF3v8A+KABAI/3sAVxsP8AAaEBAPncsrIYK/8ACqEBAAyW7++KYv8AE6EBAA82/f3bx/8AHKEBAI4g8NHl8P8AJaEBAI+Az2epz/8ALqEBAJTOrCFmrP8AN6EBAPncsrIYK/8AQKEBAAyW7++KYv8ASaEBAA82/f3bx/8AUqEBAAAA9/f39/8AW6EBAI4g8NHl8P8AZKEBAI+Az2epz/8AbaEBAJTOrCFmrP8AdqEBAPncsrIYK/8Af6EBAAWj1tZgTf8AiKEBAA139PSlgv8AkaEBAA82/f3bx/8AmqEBAI4g8NHl8P8Ao6EBAI1X3pLF3v8ArKEBAI+nw0OTw/8AtaEBAJTOrCFmrP8AvqEBAPncsrIYK/8Ax6EBAAWj1tZgTf8A0KEBAA139PSlgv8A2aEBAA82/f3bx/8A4qEBAAAA9/f39/8A66EBAI4g8NHl8P8A9KEBAI1X3pLF3v8A/aEBAI+nw0OTw/8ABqIBAJTOrCFmrP8AD6IBAPL/Z2cAH/8AGaIBAAAAGhoaGv8AJKIBAPncsrIYK/8ALqIBAAWj1tZgTf8AOKIBAA139PSlgv8AQqIBAA82/f3bx/8ATKIBAAAA4ODg4P8AVqIBAAAAurq6uv8AYKIBAAAAh4eHh/8AaqIBAAAATU1NTf8AdKIBAPL/Z2cAH/8AfqIBAAAATU1NTf8AiaIBAAAAGhoaGv8AlKIBAPncsrIYK/8AnqIBAAWj1tZgTf8AqKIBAA139PSlgv8AsqIBAA82/f3bx/8AvKIBAAAA//////8AxqIBAAAA4ODg4P8A0KIBAAAAurq6uv8A2qIBAAAAh4eHh/8A5KIBAAyW7++KYv8A7aIBAAAA//////8A9qIBAAAAmZmZmf8A/6IBAPj/ysoAIP8ACKMBAA139PSlgv8AEaMBAAAAurq6uv8AGqMBAAAAQEBAQP8AI6MBAPj/ysoAIP8ALKMBAA139PSlgv8ANaMBAAAA//////8APqMBAAAAurq6uv8AR6MBAAAAQEBAQP8AUKMBAPncsrIYK/8AWaMBAAyW7++KYv8AYqMBAA82/f3bx/8Aa6MBAAAA4ODg4P8AdKMBAAAAmZmZmf8AfaMBAAAATU1NTf8AhqMBAPncsrIYK/8Aj6MBAAyW7++KYv8AmKMBAA82/f3bx/8AoaMBAAAA//////8AqqMBAAAA4ODg4P8As6MBAAAAmZmZmf8AvKMBAAAATU1NTf8AxaMBAPncsrIYK/8AzqMBAAWj1tZgTf8A16MBAA139PSlgv8A4KMBAA82/f3bx/8A6aMBAAAA4ODg4P8A8qMBAAAAurq6uv8A+6MBAAAAh4eHh/8ABKQBAAAATU1NTf8ADaQBAPncsrIYK/8AFqQBAAWj1tZgTf8AH6QBAA139PSlgv8AKKQBAA82/f3bx/8AMaQBAAAA//////8AOqQBAAAA4ODg4P8AQ6QBAAAAurq6uv8ATKQBAAAAh4eHh/8AVaQBAAAATU1NTf8AXqQBAAMg/f3g3f8AZ6QBAPRc+vqftf8AcKQBAOPcxcUbiv8AeaQBAA0c/v7r4v8AgqQBAPxI+/u0uf8Ai6QBAO6T9/doof8AlKQBAOD9rq4Bfv8AnaQBAA0c/v7r4v8ApqQBAPxI+/u0uf8Ar6QBAO6T9/doof8AuKQBAOPcxcUbiv8AwaQBANX8enoBd/8AyqQBAA0c/v7r4v8A06QBAAM8/PzFwP8A3KQBAPRc+vqftf8A5aQBAO6T9/doof8A7qQBAOPcxcUbiv8A96QBANX8enoBd/8AAKUBAA0c/v7r4v8ACaUBAAM8/PzFwP8AEqUBAPRc+vqftf8AG6UBAO6T9/doof8AJKUBAObD3d00l/8ALaUBAOD9rq4Bfv8ANqUBANX8enoBd/8AP6UBAA4M///38/8ASKUBAAMg/f3g3f8AUaUBAAM8/PzFwP8AWqUBAPRc+vqftf8AY6UBAO6T9/doof8AbKUBAObD3d00l/8AdaUBAOD9rq4Bfv8AfqUBANX8enoBd/8Ah6UBAA4M///38/8AkKUBAAMg/f3g3f8AmaUBAAM8/PzFwP8AoqUBAPRc+vqftf8Aq6UBAO6T9/doof8AtKUBAObD3d00l/8AvaUBAOD9rq4Bfv8AxqUBANX8enoBd/8Az6UBAMf/akkAav8A2KUBAPX/paUAJv8A5KUBAKerlTE2lf8A8aUBAALQ19cwJ/8A/aUBAAq49PRtQ/8ACaYBABSd/f2uYf8AFaYBAB5u/v7gkP8AIaYBAIgY+ODz+P8ALaYBAIpD6avZ6f8AOaYBAI9x0XSt0f8ARaYBAJedtEV1tP8AUaYBAPX/paUAJv8AXaYBAJedtEV1tP8AaqYBAKerlTE2lf8Ad6YBAALQ19cwJ/8Ag6YBAAq49PRtQ/8Aj6YBABSd/f2uYf8Am6YBAB5u/v7gkP8Ap6YBACpA////v/8As6YBAIgY+ODz+P8Av6YBAIpD6avZ6f8Ay6YBAI9x0XSt0f8A16YBAA2k/PyNWf8A4qYBACpA////v/8A7aYBAI9W25G/2/8A+KYBAP7h19cZHP8AA6cBABSd/f2uYf8ADqcBAIpD6avZ6f8AGacBAJHBtix7tv8AJKcBAP7h19cZHP8AL6cBABSd/f2uYf8AOqcBACpA////v/8ARacBAIpD6avZ6f8AUKcBAJHBtix7tv8AW6cBAALQ19cwJ/8AZqcBAA2k/PyNWf8AcacBAB5u/v7gkP8AfKcBAIgY+ODz+P8Ah6cBAI9W25G/2/8AkqcBAJedtEV1tP8AnacBAALQ19cwJ/8AqKcBAA2k/PyNWf8As6cBAB5u/v7gkP8AvqcBACpA////v/8AyacBAIgY+ODz+P8A1KcBAI9W25G/2/8A36cBAJedtEV1tP8A6qcBAALQ19cwJ/8A9acBAAq49PRtQ/8AAKgBABSd/f2uYf8AC6gBAB5u/v7gkP8AFqgBAIgY+ODz+P8AIagBAIpD6avZ6f8ALKgBAI9x0XSt0f8AN6gBAJedtEV1tP8AQqgBAALQ19cwJ/8ATagBAAq49PRtQ/8AWKgBABSd/f2uYf8AY6gBAB5u/v7gkP8AbqgBACpA////v/8AeagBAIgY+ODz+P8AhKgBAIpD6avZ6f8Aj6gBAI9x0XSt0f8AmqgBAJedtEV1tP8ApagBAPX/paUAJv8AsagBAGv/aABoN/8AvqgBAALQ19cwJ/8AyqgBAAq49PRtQ/8A1qgBABSd/f2uYf8A4qgBAB9z/v7gi/8A7qgBADNq79nvi/8A+qgBAD6C2abZav8ABqkBAFN5vWa9Y/8AEqkBAGfTmBqYUP8AHqkBAPX/paUAJv8AKqkBAGfTmBqYUP8AN6kBAGv/aABoN/8ARKkBAALQ19cwJ/8AUKkBAAq49PRtQ/8AXKkBABSd/f2uYf8AaKkBAB9z/v7gi/8AdKkBACpA////v/8AgKkBADNq79nvi/8AjKkBAD6C2abZav8AmKkBAFN5vWa9Y/8ApKkBAA2k/PyNWf8Ar6kBACpA////v/8AuqkBAEKIz5HPYP8AxakBAP7h19cZHP8A0KkBABSd/f2uYf8A26kBAD6C2abZav8A5qkBAGLSlhqWQf8A8akBAP7h19cZHP8A/KkBABSd/f2uYf8AB6oBACpA////v/8AEqoBAD6C2abZav8AHaoBAGLSlhqWQf8AKKoBAALQ19cwJ/8AM6oBAA2k/PyNWf8APqoBAB9z/v7gi/8ASaoBADNq79nvi/8AVKoBAEKIz5HPYP8AX6oBAGfTmBqYUP8AaqoBAALQ19cwJ/8AdaoBAA2k/PyNWf8AgKoBAB9z/v7gi/8Ai6oBACpA////v/8AlqoBADNq79nvi/8AoaoBAEKIz5HPYP8ArKoBAGfTmBqYUP8At6oBAALQ19cwJ/8AwqoBAAq49PRtQ/8AzaoBABSd/f2uYf8A2KoBAB9z/v7gi/8A46oBADNq79nvi/8A7qoBAD6C2abZav8A+aoBAFN5vWa9Y/8ABKsBAGfTmBqYUP8AD6sBAALQ19cwJ/8AGqsBAAq49PRtQ/8AJasBABSd/f2uYf8AMKsBAB9z/v7gi/8AO6sBACpA////v/8ARqsBADNq79nvi/8AUasBAD6C2abZav8AXKsBAFN5vWa9Y/8AZ6sBAGfTmBqYUP8AcqsBAA0s/v7g0v8Ae6sBAAmL/PyScv8AhKsBAAHT3t4tJv8AjasBAA0l/v7l2f8AlqsBAAts/Pyukf8An6sBAAez+/tqSv8AqKsBAP3gy8sYHf8AsasBAA0l/v7l2f8AuqsBAAts/Pyukf8Aw6sBAAez+/tqSv8AzKsBAAHT3t4tJv8A1asBAP3npaUPFf8A3qsBAA0l/v7l2f8A56sBAAxc/Py7of8A8KsBAAmL/PyScv8A+asBAAez+/tqSv8AAqwBAAHT3t4tJv8AC6wBAP3npaUPFf8AFKwBAA0l/v7l2f8AHawBAAxc/Py7of8AJqwBAAmL/PyScv8AL6wBAAez+/tqSv8AOKwBAAPQ7+87LP8AQawBAP3gy8sYHf8ASqwBAPv/mZkADf8AU6wBAA4P///18P8AXKwBAA0s/v7g0v8AZawBAAxc/Py7of8AbqwBAAmL/PyScv8Ad6wBAAez+/tqSv8AgKwBAAPQ7+87LP8AiawBAP3gy8sYHf8AkqwBAPv/mZkADf8Am6wBAA4P///18P8ApKwBAA0s/v7g0v8ArawBAAxc/Py7of8AtqwBAAmL/PyScv8Av6wBAAez+/tqSv8AyKwBAAPQ7+87LP8A0awBAP3gy8sYHf8A2qwBAP3npaUPFf8A46wBAPn/Z2cADf8A7KwBAP7h5OQaHP8A9awBAJKyuDd+uP8A/qwBAFOTr02vSv8AB60BAP7h5OQaHP8AEK0BAJKyuDd+uP8AGa0BAFOTr02vSv8AIq0BAM+Eo5hOo/8AK60BAP7h5OQaHP8ANK0BAJKyuDd+uP8APa0BAFOTr02vSv8ARq0BAM+Eo5hOo/8AT60BABX///9/AP8AWK0BAP7h5OQaHP8AYa0BAJKyuDd+uP8Aaq0BAFOTr02vSv8Ac60BAM+Eo5hOo/8AfK0BABX///9/AP8Aha0BACrM////M/8Ajq0BAP7h5OQaHP8Al60BAJKyuDd+uP8AoK0BAFOTr02vSv8Aqa0BAM+Eo5hOo/8Asq0BABX///9/AP8Au60BACrM////M/8AxK0BAA/BpqZWKP8Aza0BAP7h5OQaHP8A1q0BAJKyuDd+uP8A360BAFOTr02vSv8A6K0BAM+Eo5hOo/8A8a0BABX///9/AP8A+q0BACrM////M/8AA64BAA/BpqZWKP8ADK4BAOh59/eBv/8AFa4BAP7h5OQaHP8AHq4BAJKyuDd+uP8AJ64BAFOTr02vSv8AMK4BAM+Eo5hOo/8AOa4BABX///9/AP8AQq4BACrM////M/8AS64BAA/BpqZWKP8AVK4BAOh59/eBv/8AXa4BAAAAmZmZmf8AZq4BAHJ4wmbCpf8Ab64BAAub/PyNYv8AeK4BAJxNy42gy/8Aga4BAHJ4wmbCpf8Aiq4BAAub/PyNYv8Ak64BAJxNy42gy/8AnK4BAORm5+eKw/8Apa4BAHJ4wmbCpf8Arq4BAAub/PyNYv8At64BAJxNy42gy/8AwK4BAORm5+eKw/8Aya4BADqb2KbYVP8A0q4BAHJ4wmbCpf8A264BAAub/PyNYv8A5K4BAJxNy42gy/8A7a4BAORm5+eKw/8A9q4BADqb2KbYVP8A/64BACLQ///ZL/8ACK8BAHJ4wmbCpf8AEa8BAAub/PyNYv8AGq8BAJxNy42gy/8AI68BAORm5+eKw/8ALK8BADqb2KbYVP8ANa8BACLQ///ZL/8APq8BABla5eXElP8AR68BAHJ4wmbCpf8AUK8BAAub/PyNYv8AWa8BAJxNy42gy/8AYq8BAORm5+eKw/8Aa68BADqb2KbYVP8AdK8BACLQ///ZL/8Afa8BABla5eXElP8Ahq8BAAAAs7Ozs/8Aj68BAHhU043Tx/8Ama8BANNSvbyAvf8ApK8BACpM////s/8Arq8BAK8l2r662v8AuK8BAASL+/uAcv8Awq8BAJBk04Cx0/8AzK8BABac/f20Yv8A1q8BADqG3rPeaf8A4K8BAOkv/PzN5f8A6q8BAAAA2dnZ2f8A9K8BAHhU043Tx/8A/q8BANNSvbyAvf8ACbABAE0p68zrxf8AFLABACpM////s/8AHrABAK8l2r662v8AKLABAASL+/uAcv8AMrABAJBk04Cx0/8APLABABac/f20Yv8ARrABADqG3rPeaf8AULABAOkv/PzN5f8AWrABAAAA2dnZ2f8AZLABAHhU043Tx/8AbrABANNSvbyAvf8AebABAE0p68zrxf8AhLABACWQ///tb/8Aj7ABACpM////s/8AmbABAK8l2r662v8Ao7ABAASL+/uAcv8ArbABAJBk04Cx0/8At7ABABac/f20Yv8AwbABADqG3rPeaf8Ay7ABAOkv/PzN5f8A1bABAAAA2dnZ2f8A37ABAHhU043Tx/8A6LABACpM////s/8A8bABAK8l2r662v8A+rABAHhU043Tx/8AA7EBACpM////s/8ADLEBAK8l2r662v8AFbEBAASL+/uAcv8AHrEBAHhU043Tx/8AJ7EBACpM////s/8AMLEBAK8l2r662v8AObEBAASL+/uAcv8AQrEBAJBk04Cx0/8AS7EBAHhU043Tx/8AVLEBACpM////s/8AXbEBAK8l2r662v8AZrEBAASL+/uAcv8Ab7EBAJBk04Cx0/8AeLEBABac/f20Yv8AgbEBAHhU043Tx/8AirEBACpM////s/8Ak7EBAK8l2r662v8AnLEBAASL+/uAcv8ApbEBAJBk04Cx0/8ArrEBABac/f20Yv8At7EBADqG3rPeaf8AwLEBAHhU043Tx/8AybEBACpM////s/8A0rEBAK8l2r662v8A27EBAASL+/uAcv8A5LEBAJBk04Cx0/8A7bEBABac/f20Yv8A9rEBADqG3rPeaf8A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JboBAI91+ofO+v8AN7oBAJQ4mXeImf8AS7oBAJQ4mXeImf8AX7oBAJc03rDE3v8Ac7oBACof////4P8AhLoBAFX//wD/AP8AjroBAFXAzTLNMv8AnboBABUU+vrw5v8AqLoBANT///8A//8AtboBAAD/gIAAAP8AwboBAHGAzWbNqv8A17oBAKr/zQAAzf8A57oBAMyY07pV0/8A+boBALd825Nw2/8AC7sBAGepszyzcf8AH7sBALCP7nto7v8ANLsBAG//+gD6mv8AS7sBAH2n0UjRzP8AYLsBAOTkx8cVhf8AdbsBAKrGcBkZcP8Ah7sBAGoJ//X/+v8AlrsBAAQe///k4f8ApbsBABpJ///ktf8As7sBABlR///erf8AxLsBAKr/gAAAgP8AzrsBABsX/f315v8A27sBACr/gICAAP8A5rsBADjAjmuOI/8A9bsBABv///+lAP8AAbwBAAv///9FAP8AELwBANZ72tpw1v8AHLwBACZI7u7oqv8AL7wBAFVk+5j7mP8APrwBAH9D7q/u7v8AUbwBAPF829twk/8AZLwBABop///v1f8AdLwBABRG///auf8Ag7wBABSwzc2FP/8AjbwBAPc////Ay/8Al7wBANRG3d2g3f8AobwBAIQ75rDg5v8AsbwBANT/gIAAgP8AvbwBAAD///8AAP8AxrwBAAA9vLyPj/8A1bwBAJ+14UFp4f8A5LwBABHci4tFE/8A9bwBAASK+vqAcv8AAb0BABOa9PSkYP8AEb0BAGeqiy6LV/8AH70BABEQ///17v8ALb0BAA23oKBSLf8AOb0BAAAAwMDAwP8ARb0BAIts64fO6/8AUr0BAK+PzWpazf8AYb0BAJQ4kHCAkP8AcL0BAJQ4kHCAkP8Af70BAAAF///6+v8Aib0BAGr//wD/f/8Amr0BAJKbtEaCtP8Aqb0BABhU0tK0jP8Asr0BAH//gACAgP8AvL0BANQd2Ni/2P8Ayb0BAAa4//9jR/8A1b0BAHu24EDg0P8A5L0BANRz7u6C7v8A8L0BABtE9fXes/8A+70BAAAA//////8ABr4BAAAA9fX19f8AFr4BACr/////AP8AIr4BADjAzZrNMv8AM74BAC1D/Pf8uf8APL4BAERb3a3djv8ARb4BAGKyozGjVP8ATr4BACoy////zP8AV74BAD5V5sLmmf8A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CQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/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aXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRleE9mICgnLicsIG1zaWUgKSkpCgAgICAgICB9CgAgICAgICBpZiAoaWV2ZXJzPj01KXsKACAgICAgICBmb3IgKHggaW4gVk1MeWVzKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUx5ZXNbeF0pOwoAICAgICAgICAgaWYgKGl0ZW0pIHsKACAgICAgICAgICAgaXRlbS5zdHlsZS52aXNpYmlsaXR5PSd2aXNpYmxlJzsKACAgICAgICAgIH0KACAgICAgICB9CgAgICAgICAgZm9yICh4IGluIFZNTG5vKXsKACAgICAgICAgIGl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChWTUxub1t4XSk7CgAgICAgICAgICAgIGl0ZW0uc3R5bGUudmlzaWJpbGl0eT0naGlkZGVuJzsKACAgICAgfWVsc2V7CgAgICAgIH0KACAgIH0KACAgIDwvU0NSSVBUPgoAPC9IRUFEPgA8Qk9EWSBvbmxvYWQ9J2Jyb3dzZXJjaGVjaygpOyc+CgA8RElWIGlkPSdfVk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmU7IHZpc2liaWxpdHk6aGlkZGVuACB3aWR0aDogJWRwdDsgaGVpZ2h0OiAlZHB0Ij4KADxTVFlMRT4KAHZcOiogeyBiZWhhdmlvcjogdXJsKCNkZWZhdWx0I1ZNTCk7ZGlzcGxheTppbmxpbmUtYmxvY2t9CgA8L1NUWUxFPgoAPHhtbDpuYW1lc3BhY2UgbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIiBwcmVmaXg9InYiIC8+CgAgPHY6Z3JvdXAgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyAAIHdpZHRoOiAlZHB0OyBoZWlnaHQ6ICVkcHQiACBjb29yZG9yaWdpbj0iMCwwIiBjb29yZHNpemU9IiVkLCVkIiA+ADxIVE1MPgoACjwhLS0gR2VuZXJhdGVkIGJ5IAAgdmVyc2lvbiAAICgAKQotLT4KAGFxdWEAZnVjaHNpYQBsaW1lAG9saXZlAHRlYWwAdm1sAHZtbDp2bWwALy8qKiogY29tbWVudDogJXMKAC8vKioqIHBvbHlsaW5lCgBzY2FsZSAgICA8JTkuM2YsICU5LjNmLCAlOS4zZj4KAHJvdGF0ZSAgIDwlOS4zZiwgJTkuM2YsICU5LjNmPgoAdHJhbnNsYXRlPCU5LjNmLCAlOS4zZiwgJTkuM2Y+CgBzcGhlcmVfc3dlZXAgewogICAgJXMKICAgICVkLAoAbGluZWFyX3NwbGluZQA8JTkuM2YsICU5LjNmLCAlOS4zZj4sICUuM2YKACVzICAgICVzACAgICB0b2xlcmFuY2UgMC4wMQogICAgJXMgICAgJXMgICAgJXMgICAgJXN9CgAlcyVzACVzIHRyYW5zbWl0ICUuM2YAUmVkAEdyZWVuAEJsdWUAcmdiPCU5LjNmLCAlOS4zZiwgJTkuM2Y+IHRyYW5zbWl0ICUuM2YAb29wcywgaW50ZXJuYWwgZXJyb3I6IHVuaGFuZGxlZCBjb2xvciB0eXBlPSVkICVzCgBndnJlbmRlcl9jb3JlX3Bvdi5jAHBvdl9jb2xvcl9hc19zdHIAcGlnbWVudCB7IGNvbG9yICVzIH0KAHBvdiByZW5kZXJlcjplbCAtICVzCgAvLyoqKiBiZXppZXIKAGJfc3BsaW5lACAgICAgICAgdG9sZXJhbmNlIDAuMDEKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogcG9seWdvbgoAICAgIHRvbGVyYW5jZSAwLjEKICAgICVzICAgICVzICAgICVzICAgICVzfQoAcG9seWdvbiB7ICVkLAoAPCU5LjNmLCAlOS4zZiwgJTkuM2Y+ACVzCiAgICAlcwAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogZWxsaXBzZQoAdG9ydXMgeyAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlc30KAHNwaGVyZSB7PCU5LjNmLCAlOS4zZiwgJTkuM2Y+LCAxLjAKICAgICVzICAgICVzICAgICVzICAgICVzfQoALy8qKiogdGV4dHNwYW46ICVzLCBmb250c2l6ZSA9ICUuM2YsIGZvbnRuYW1lID0gJXMKAHNjYWxlICUuM2YKAHRleHQgewogICAgdHRmICIlcyIsCiAgICAiJXMiLCAlLjNmLCAlLjNmCiAgICAlcyAgICAlcyAgICAlcyAgICAlcyAgICAlc30KACAgICBub19zaGFkb3cKAC8vKioqIGVuZF9lZGdlCgAvLyoqKiBiZWdpbl9lZGdlCgAvLyoqKiBlbmRfbm9kZQoALy8qKiogYmVnaW5fbm9kZTogJXMKAC8vKioqIGVuZF9jbHVzdGVyCgAvLyoqKiBiZWdpbl9jbHVzdGVyCgAvLyoqKiBlbmRfcGFnZQoALy8qKiogYmVnaW5fcGFnZQoALy8qKiogZW5kX2xheWVyCgAvLyoqKiBiZWdpbl9sYXllcjogJXMsICVkLyVkCgAvLyoqKiBlbmRfZ3JhcGgKAC8vKioqIGJlZ2luX2dyYXBoICVzCgBjYW1lcmEgeyBsb2NhdGlvbiA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICBsb29rX2F0ICA8JS4zZiAsICUuM2YgLCAlLjNmPgogICAgICAgICByaWdodCB4ICogaW1hZ2Vfd2lkdGggLyBpbWFnZV9oZWlnaHQKICAgICAgICAgYW5nbGUgJS4zZgp9CgAvL3NreQpwbGFuZSB7IDwwLCAxLCAwPiwgMSBob2xsb3cKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnQgeyBib3pvIHR1cmJ1bGVuY2UgMC45NQogICAgICAgICAgICBjb2xvcl9tYXAgewogICAgICAgICAgICAgICAgWzAuMDAgcmdiIDwwLjA1LCAwLjIwLCAwLjUwPl0KICAgICAgICAgICAgICAgIFswLjUwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC43NSByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwwLjI1LCAwLjI1LCAwLjI1Pl0KICAgICAgICAgICAgICAgIFsxLjAwIHJnYiA8MC41MCwgMC41MCwgMC41MD5dCiAgICAgICAgICAgIH0KICAgICAgICAgICAgc2NhbGUgPDEuMDAsIDEuMDAsIDEuNTA+ICogMi41MAogICAgICAgICAgICB0cmFuc2xhdGUgPDAuMDAsIDAuMDAsIDAuMDA+CiAgICAgICAgfQogICAgICAgIGZpbmlzaCB7IGFtYmllbnQgMSBkaWZmdXNlIDAgfQogICAgfQogICAgc2NhbGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKAHJvdGF0aW9uACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAaW5mbwBjb21wAGNudCA9PSBzegBtaW5jcm9zcy5jAGZpeExhYmVsT3JkZXIAcmVtaW5jcm9zcwBtaW5jcm9zcyAlczogJWQgY3Jvc3NpbmdzLCAlLjJmIHNlY3MuCgB2AG5laWdoYm9yAChydiA9PSAwKSB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGNvbnN0cmFpbmluZ19mbGF0X2VkZ2UoZyx2LGUpID09IEZBTFNFAGZsYXRfcmVvcmRlcgBORF9yYW5rKHYpID09IHIAcG9zdG9yZGVyAGZsYXRpbmRleChhZ2hlYWQoZSkpIDwgTS0+bnJvd3MAZmxhdF9zZWFyY2gAZmxhdGluZGV4KGFndGFpbChlKSkgPCBNLT5uY29scwBvdXQAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQgZm9yIG5vZGUgJyVzJy4KAG1lcmdlMjogZ3JhcGggJXMsIHJhbmsgJWQgaGFzIG9ubHkgJWQgPCAlZCBub2RlcwoAbWluY3Jvc3M6IHBhc3MgJWQgaXRlciAlZCB0cnlpbmcgJWQgY3VyX2Nyb3NzICVkIGJlc3RfY3Jvc3MgJWQKAE5EX29yZGVyKHYpIDwgTkRfb3JkZXIodykAYmFsYW5jZQB0cmFuc3Bvc2Vfc3RlcABzdXJwcmlzZQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGluc3RhbGxfaW5fcmFuawBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiByYW5rICVkIG5vdCBpbiByYW5rIHJhbmdlIFslZCwlZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogR0RfcmFuayhnKVslZF0udiArIE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhnKVslZF0uYXYgKyBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBfbmV3X3JhbmsAbWNsaW1pdAByYW5rKGcsIDIsIG5zaXRlcjIoZykpID09IDAAcG9zaXRpb24uYwBkb3RfcG9zaXRpb24AQVI9JTAuNGxmCSBBcmVhPSAlMC40bGYJAER1bW15PSVkCgBHb2luZyB0byBhcHBseSBhbm90aGVyIGV4cGFuc2lvbi4KAG5leHQjaXRlcj0lZAoAaHAAY29ubmVjdEdyYXBoAEVkZ2UgbGVuZ3RoICVmIGxhcmdlciB0aGFuIG1heGltdW0gJXUgYWxsb3dlZC4KQ2hlY2sgZm9yIG92ZXJ3aWRlIG5vZGUocykuCgBuc2xpbWl0AGNvbnRhaW5fbm9kZXMgY2x1c3QgJXMgcmFuayAlZCBtaXNzaW5nIG5vZGUKAG5zbGltaXQxAG5ld3JhbmsATWF4cmFuayA9ICVkLCBtaW5yYW5rID0gJWQKAGxlYWRlciAhPSBOVUxMAHJhbmsuYwBjbHVzdGVyX2xlYWRlcgAoTkRfVUZfc2l6ZShuKSA8PSAxKSB8fCAobiA9PSBsZWFkZXIpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAbWlubWF4X2VkZ2VzAGFndGFpbChlKSA9PSBVRl9maW5kKGFndGFpbChlKSkAcmFuawBzYW1lAG1pbgBzb3VyY2UAbWF4AHNpbmsAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwBsZXZlbCBncmFwaCByZWMAf3Jvb3QAf3RvcAB/Ym90AGNvbXBhY3QAX3dlYWtfJWQAcmFua2luZzogZmFpbHVyZSB0byBjcmVhdGUgc3Ryb25nIGNvbnN0cmFpbnQgZWRnZSBiZXR3ZWVuIG5vZGVzICVzIGFuZCAlcwoAJXMgaGFzIHVucmVjb2duaXplZCByYW5rPSVzAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAHNhbWVoZWFkAHNhbWV0YWlsAHRvbyBtYW55ICg+ICVkKSBzYW1le2hlYWQsdGFpbH0gZ3JvdXBzIGZvciBub2RlICVzCgBjb21iaUFSID0gJWxmCgAlbGYsJWQAdGhlIGFzcGVjdCBhdHRyaWJ1dGUgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIGltcGxlbWVudGF0aW9uIGZsYXdzIC0gYXR0cmlidXRlIGlnbm9yZWQuCgBFRF90b192aXJ0KGUpID09IE5VTEwAY2xhc3MyLmMAbWVyZ2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSA9PSBOVUxMAG1ha2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSAhPSBOVUxMAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBjbHVzdGVyLmMAbWFwX3BhdGgAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAbGhlYWQAbHRhaWwAJXMgLT4gJXM6IHNwbGluZSBzaXplID4gMSBub3Qgc3VwcG9ydGVkCgAlcyAtPiAlczogaGVhZCBub3QgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgaXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAYmV6LT5zZmxhZwBjb21wb3VuZC5jAG1ha2VDb21wb3VuZEVkZ2UAYmV6LT5lZmxhZwAlcyAtPiAlczogdGFpbCBub3QgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgaXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAc2VnbWVudCBbJXMsJXNdIGRvZXMgbm90IGludGVyc2VjdCBib3ggbGw9JXMsdXI9JXMKAGJveEludGVyc2VjdGYAKCUuNWcsJS41ZykAY2x1c3RlciBuYW1lZCAlcyBub3QgZm91bmQKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAHJlYnVpbHRkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgBORF9pbihyaWdodCkuc2l6ZSArIE5EX291dChyaWdodCkuc2l6ZSA9PSAwAGNvbmMuYwBtZXJnZXZpcnR1YWwAZG90OiBPdXQgb2YgbWVtb3J5CgBORF9vdXQodikuc2l6ZSA9PSAyAGZsYXQuYwBzZXRib3VuZHMAR0RfbWlucmFuayhnKSA9PSAwAGFib21pbmF0aW9uAEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnX2NyZWF0ZV9idWZmZXIoKQBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnZW5zdXJlX2J1ZmZlcl9zdGFjaygpADogACBpbiBsaW5lICVkACBuZWFyICcAIHNjYW5uaW5nIGEgcXVvdGVkIHN0cmluZyAobWlzc2luZyBlbmRxdW90ZT8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOiIAIHNjYW5uaW5nIGEgSFRNTCBzdHJpbmcgKG1pc3NpbmcgJz4nPyBiYWQgbmVzdGluZz8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOjwAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93ACIiAHN0cmljdABsaW5lbGVuZ3RoADsKACBba2V5PQBdACBbACwKAD0AXyVsZF9TVVNQRUNUAGRpAHN0cmljdCAAewoAXTsKABLu7hQJA+7+7u7uAe7u7gHu7gr+7hMZFe4TAe7u7u4LEe7u7u7u7u7u7gHu7hYJAQEdDxfu7hoXG+7uHO7u7u4BGfvu7u4B7hDu7h7u7u7uAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcRAgICAgICAgICAgICAhIQAhMCAhYCAgICAgICAgICAgICAgICAgICAgICAgICAhQCFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDgIPAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgECAwQFBgcICQoLDA0LAwQFDwcDDA0GDA0ODA0aFRYAAQADBw4GDwgMDRITKhARCRAvMBEyFxMNFBIuEhRBEzITLEAqQhksQkYiDA0OIw8JEBEKEBHJEBEtRUb8AQb2Dwf2JAIQES8wNk1OKCY7PCo2MTk9Py86QNhEMD4lN0M1Sys4SUwAAwkAAAABDgILDAgjJCU2Oz0ADRASGxYcEicyIhczHjwGBzUFDxEUGCkAEykAAAAAADcVKB0eACEmNB8wPhksABsAIBoqACs6Li8AMTg5LQACAgEAAwMBAAEAAQEBAAIBAQACAgMBAQAABQABAwEDBQMBAQEBAgABAAQCAAIBAQMCAQADAgEAAQEAAQEBAwAYGRkZGhscHB0dHh4fHyAgISEiIiMkJCYnJSUoKCkpKSoqKysrLCwtLS4vLzAxMTIzNDY1Nzc3ODg4OTk6Ou7u/+7u7u7u7h8g7gDv7u7uDO7u7ggN7u7u+O7u7u7u7vXu/wMIBCEFCxITJxQVFikyQRcYGRosMzRCR0gbShwdLh5PHyBrZXkAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAJXM6JXMAQ291bGQgbm90IG9wZW4gIiVzIiBmb3Igd3JpdGluZyA6ICVzCgBObyBsaWJ6IHN1cHBvcnQuCgAuJWQAbm9uYW1lLmd2AGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgBObyBsaWJ6IHN1cHBvcnQKAGd2cHJpbnRmOiAlcwoALTk5OTk5OTk5OTk5OTk5OS45OQBncmFwaHZpegAyLjQwLjEAMjAxNjEyMjUuMDMwNAByZW5kZXIAbGF5b3V0AGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwBMYXlvdXQgdHlwZTogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoAJWQgJWQgJWQgJWQATGF5b3V0IHdhcyBub3QgZG9uZQoAZmFpbHVyZSBtYWxsb2MnaW5nIGZvciByZXN1bHQgc3RyaW5nAGdjOiBPdXQgb2YgbWVtb3J5CgBfY2NfAG9yaWcAb3AAY2NvbXBzLmMAbWFwQ2x1c3QAY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AKCU0bGQpICU3bGQgbm9kZXMgJTdsZCBlZGdlcwoAICAgICAgICU3ZCBub2RlcyAlN2QgZWRnZXMgJTdsZCBjb21wb25lbnRzICVzCgBkZwBFcnJvcjogbm9kZSAiJXMiIGJlbG9uZ3MgdG8gdHdvIG5vbi1uZXN0ZWQgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAc29ydHYAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBhcnJheSBwYWNraW5nOiAlcyAlZCByb3dzICVkIGNvbHVtbnMKAGJiWyVzXSAlLjVnICUuNWcgJS41ZyAlLjVnCgBzdGVwIHNpemUgPSAlZAoAcG9zWyVkXSAlZCAlZAoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTAB0YXJnZXQAZWRnZXRhcmdldABsYWJlbHRhcmdldAB0YWlsdGFyZ2V0AGhlYWR0YXJnZXQAZWRnZXRvb2x0aXAAbGFiZWx0b29sdGlwAHRhaWx0b29sdGlwAGhlYWR0b29sdGlwAAFuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHRydW5jYXRpbmcgc3R5bGUgJyVzJwoAdW5tYXRjaGVkICcoJyBpbiBzdHlsZTogJXMKAGFsbABiZ2NvbG9yAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAbGFiZWwAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBncmFkaWVudGFuZ2xlAGZpbGxjb2xvcgBzdHlsZQBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHNpZGVzAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBmaXhlZHNpemUAbm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGlkAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAc2hhcGUAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAYm94AHBvbHlnb24Ab3ZhbABjaXJjbGUAcG9pbnQAZWdnAHRyaWFuZ2xlAHBsYWludGV4dABwbGFpbgBkaWFtb25kAHRyYXBleml1bQBwYXJhbGxlbG9ncmFtAGhvdXNlAHBlbnRhZ29uAGhleGFnb24Ac2VwdGFnb24Ab2N0YWdvbgBub3RlAHRhYgBmb2xkZXIAYm94M2QAY29tcG9uZW50AGN5bGluZGVyAHJlY3QAcmVjdGFuZ2xlAHNxdWFyZQBkb3VibGVjaXJjbGUAZG91Ymxlb2N0YWdvbgB0cmlwbGVvY3RhZ29uAGludnRyaWFuZ2xlAGludnRyYXBleml1bQBpbnZob3VzZQB1bmRlcmxpbmUATWRpYW1vbmQATXNxdWFyZQBNY2lyY2xlAHByb21vdGVyAGNkcwB0ZXJtaW5hdG9yAHV0cgBpbnN1bGF0b3IAcmlib3NpdGUAcm5hc3RhYgBwcm90ZWFzZXNpdGUAcHJvdGVpbnN0YWIAcHJpbWVyc2l0ZQByZXN0cmljdGlvbnNpdGUAZml2ZXBvdmVyaGFuZwB0aHJlZXBvdmVyaGFuZwBub3ZlcmhhbmcAYXNzZW1ibHkAc2lnbmF0dXJlAHJwcm9tb3RlcgBsYXJyb3cAcmFycm93AGxwcm9tb3RlcgByZWNvcmQATXJlY29yZABzdGFyACM4MDgwODAAI2ZjZmNmYwAjMzAzMDMwACNlOGU4ZTgAI2UwZTBlMAAjZjBmMGYwACMxMDEwMTAAI2Y4ZjhmOABpbiBub2RlICVzCgByb3VuZGVkAGRpYWdvbmFscwByYWRpYWwAc3RyaXBlZAB3ZWRnZWQAXwBub2RlICVzLCBwb3J0ICVzLCB1bnJlY29nbml6ZWQgY29tcGFzcyBwb2ludCAnJXMnIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcyB1bnJlY29nbml6ZWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBpbnZpcwAAZmlsbGVkAABzAGUAdwBzcGxpbmVzLmMAYmVnaW5wYXRoAFAtPmVuZC50aGV0YSA8IDIgKiBNX1BJAGVuZHBhdGgAbWFrZVNlbGZFZGdlAGdldHNwbGluZXBvaW50czogbm8gc3BsaW5lIHBvaW50cyBhdmFpbGFibGUgZm9yIGVkZ2UgKCVzLCVzKQoAcG9seWxpbmVNaWRwb2ludABzcGFuLT5mb250AHRleHRzcGFuLmMAdGV4dHNwYW5fc2l6ZQBmb250LT5uYW1lAGZvbnRuYW1lOiAiJXMiIHJlc29sdmVkIHRvOiAlcwoAZm9udG5hbWU6IHVuYWJsZSB0byByZXNvbHZlICIlcyIKAGNvdXIAYXJpYWwAaGVsdmV0aWNhAFtpbnRlcm5hbCB0aW1lc10AW2ludGVybmFsIGNvdXJpZXJdAFtpbnRlcm5hbCBhcmlhbF0AQXZhbnRHYXJkZS1Cb29rAFVSVyBHb3RoaWMgTABib29rAHNhbnMtU2VyaWYAQXZhbnRHYXJkZS1Cb29rT2JsaXF1ZQBvYmxpcXVlAGl0YWxpYwBBdmFudEdhcmRlLURlbWkAZGVtaQBBdmFudEdhcmRlLURlbWlPYmxpcXVlAEJvb2ttYW4tRGVtaQBVUlcgQm9va21hbiBMAHNlcmlmAEJvb2ttYW4tRGVtaUl0YWxpYwBCb29rbWFuLUxpZ2h0AGxpZ2h0AEJvb2ttYW4tTGlnaHRJdGFsaWMAQ291cmllcgBtb25vc3BhY2UAQ291cmllci1Cb2xkAENvdXJpZXItQm9sZE9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYQBIZWx2ZXRpY2EtQm9sZABIZWx2ZXRpY2EtQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdwBjb25kZW5zZWQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAEhlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAE5ld0NlbnR1cnlTY2hsYmstQm9sZABDZW50dXJ5IFNjaG9vbGJvb2sgTABOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMATmV3Q2VudHVyeVNjaGxiay1JdGFsaWMATmV3Q2VudHVyeVNjaGxiay1Sb21hbgByb21hbgBQYWxhdGluby1Cb2xkAFBhbGF0aW5vIExpbm90eXBlAFBhbGF0aW5vLUJvbGRJdGFsaWMAUGFsYXRpbm8tSXRhbGljAFBhbGF0aW5vLVJvbWFuAFN5bWJvbABmYW50YXN5AFRpbWVzLUJvbGQAVGltZXMAVGltZXMtQm9sZEl0YWxpYwBUaW1lcy1JdGFsaWMAWmFwZkNoYW5jZXJ5LU1lZGl1bUl0YWxpYwBVUlcgQ2hhbmNlcnkgTABtZWRpdW0AWmFwZkRpbmdiYXRzAERpbmdiYXRzAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAG1hcE4AQUVsaWcAQWFjdXRlAEFjaXJjAEFncmF2ZQBBbHBoYQBBcmluZwBBdGlsZGUAQXVtbABCZXRhAENjZWRpbABDaGkARGFnZ2VyAERlbHRhAEVUSABFYWN1dGUARWNpcmMARWdyYXZlAEVwc2lsb24ARXRhAEV1bWwAR2FtbWEASWFjdXRlAEljaXJjAElncmF2ZQBJb3RhAEl1bWwAS2FwcGEATGFtYmRhAE11AE50aWxkZQBOdQBPRWxpZwBPYWN1dGUAT2NpcmMAT2dyYXZlAE9tZWdhAE9taWNyb24AT3NsYXNoAE90aWxkZQBPdW1sAFBoaQBQaQBQcmltZQBQc2kAUmhvAFNjYXJvbgBTaWdtYQBUSE9STgBUYXUAVGhldGEAVWFjdXRlAFVjaXJjAFVncmF2ZQBVcHNpbG9uAFV1bWwAWGkAWWFjdXRlAFl1bWwAWmV0YQBhYWN1dGUAYWNpcmMAYWN1dGUAYWVsaWcAYWdyYXZlAGFsZWZzeW0AYWxwaGEAYW1wAGFuZABhbmcAYXJpbmcAYXN5bXAAYXRpbGRlAGF1bWwAYmRxdW8AYmV0YQBicnZiYXIAYnVsbABjYXAAY2NlZGlsAGNlZGlsAGNlbnQAY2hpAGNpcmMAY2x1YnMAY29uZwBjb3B5AGNyYXJyAGN1cABjdXJyZW4AZEFycgBkYWdnZXIAZGFycgBkZWcAZGVsdGEAZGlhbXMAZGl2aWRlAGVhY3V0ZQBlY2lyYwBlZ3JhdmUAZW1wdHkAZW1zcABlbnNwAGVwc2lsb24AZXF1aXYAZXRhAGV0aABldW1sAGV1cm8AZXhpc3QAZm5vZgBmb3JhbGwAZnJhYzEyAGZyYWMxNABmcmFjMzQAZnJhc2wAZ2FtbWEAZ2UAZ3QAaEFycgBoYXJyAGhlYXJ0cwBoZWxsaXAAaWFjdXRlAGljaXJjAGlleGNsAGlncmF2ZQBpbWFnZQBpbmZpbgBpbnQAaW90YQBpcXVlc3QAaXNpbgBpdW1sAGthcHBhAGxBcnIAbGFtYmRhAGxhbmcAbGFxdW8AbGFycgBsY2VpbABsZHF1bwBsZQBsZmxvb3IAbG93YXN0AGxvegBscm0AbHNhcXVvAGxzcXVvAGx0AG1hY3IAbWRhc2gAbWljcm8AbWlkZG90AG11AG5hYmxhAG5ic3AAbmRhc2gAbmUAbmkAbm90AG5vdGluAG5zdWIAbnRpbGRlAG51AG9hY3V0ZQBvY2lyYwBvZWxpZwBvZ3JhdmUAb2xpbmUAb21lZ2EAb21pY3JvbgBvcGx1cwBvcgBvcmRmAG9yZG0Ab3NsYXNoAG90aWxkZQBvdGltZXMAb3VtbABwYXJhAHBhcnQAcGVybWlsAHBlcnAAcGhpAHBpAHBpdgBwbHVzbW4AcG91bmQAcHJpbWUAcHJvZABwcm9wAHBzaQBxdW90AHJBcnIAcmFkaWMAcmFuZwByYXF1bwByYXJyAHJjZWlsAHJkcXVvAHJlYWwAcmVnAHJmbG9vcgByaG8AcmxtAHJzYXF1bwByc3F1bwBzYnF1bwBzY2Fyb24Ac2RvdABzZWN0AHNoeQBzaWdtYQBzaWdtYWYAc2ltAHNwYWRlcwBzdWIAc3ViZQBzdW0Ac3VwAHN1cDEAc3VwMgBzdXAzAHN1cGUAc3psaWcAdGF1AHRoZXJlNAB0aGV0YQB0aGV0YXN5bQB0aGluc3AAdGhvcm4AdGlsZGUAdGltZXMAdHJhZGUAdUFycgB1YWN1dGUAdWFycgB1Y2lyYwB1Z3JhdmUAdW1sAHVwc2loAHVwc2lsb24AdXVtbAB3ZWllcnAAeGkAeWFjdXRlAHllbgB5dW1sAHpldGEAendqAHp3bmoAVVRGOCBjb2RlcyA+IDQgYnl0ZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIChncmFwaCAlcykgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAEludmFsaWQgJWQtYnl0ZSBVVEY4IGZvdW5kIGluIGlucHV0IG9mIGdyYXBoICVzIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBiei5zaXplAG92ZXJsYXBfYmV6aWVyAHVydmVkAG9tcG91bmQAYWxzZQBpbmUAb25lAG8AcnRobwBvbHlsaW5lAHBsaW5lAHJ1ZQBlcwBVbmtub3duICJzcGxpbmVzIiB2YWx1ZTogIiVzIiAtIGlnbm9yZWQKAHNwbGluZXMAb2RiAE9ydGhvZ29uYWwgZWRnZXMgZG8gbm90IGN1cnJlbnRseSBoYW5kbGUgZWRnZSBsYWJlbHMuIFRyeSB1c2luZyB4bGFiZWxzLgoAb3J0aG8gJXMgJXMKAGNoYW5pAG9ydGhvLmMAY2hhblNlYXJjaABjcAAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoAJWQgJWQgdHJhbnNsYXRlCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAbmV3cGF0aCAlZCAlZCBtb3ZldG8KACVkICVkIGxpbmV0bwoAJWQgJWQgbGluZXRvIHN0cm9rZQoAY2hhbm5lbCAlZCAoJWYsJWYpCgAgLT4KACAgICAgACgoJWYsJWYpLCglZiwlZikpICVzICVzAEJfUklHSFQAQl9ET1dOAEJfTEVGVABCX1VQAEJfTk9ERQBzZWcAbmV4dF9zZWcAZGVjaWRlX3BvaW50AGluY29tcGFyYWJsZSBzZWdtZW50cyAhISAtLSBBYm9ydGluZwoAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAGlzX3BhcmFsbGVsAGdyYXBoIEcgewoAIG5vZGVbc2hhcGU9cG9pbnRdCgAgICVkIFtwb3M9IiVkLCVkIl0KACAgJWQgLS0gJWRbbGVuPSIlZiJdCgB9CgBjb2xvciAlcwAlcyBpcyBub3QgYSBrbm93biBjb2xvci4KAGVycm9yIGluIGNvbHhsYXRlKCkKAHNvbGlkAGludmlzaWJsZQBib2xkAHNldGxpbmV3aWR0aABmaWxsZWQAdW5maWxsZWQAdGFwZXJlZABndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAGd2cmVuZGVyLmMAZ3ZyZW5kZXJfdXNlcnNoYXBlAG5hbWUAbmFtZVswXQB3aWR0aABoZWlnaHQAYm90aABqb2IAZ3Zsb2FkaW1hZ2UuYwBndmxvYWRpbWFnZQB1cwB1cy0+bmFtZQB1cy0+bmFtZVswXQBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgBRAExlZnQAS1BfTGVmdABSaWdodABLUF9SaWdodABVcABLUF9VcABEb3duAEtQX0Rvd24AcGx1cwBLUF9BZGQAbWludXMAS1BfU3VidHJhY3QARgB0b29sdGlwAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AGhyZWYAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADEAMgAzADQANQA2ADcAOAA5ADEwADExADEyADEzADE0ADE1ADE2ADE3ADE4ADE5ADIwAEFnbm9kZWluZm9fdABBZ2VkZ2VpbmZvX3QAcm93ZwBjb2xnAEFncmFwaGluZm9fdAA8VEFCTEU+AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IAY29sb3IALT4ALS0AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpc3ludGF4IGVycm9yAG1lbW9yeSBleGhhdXN0ZWQAJXMgaW4gbGluZSAlZCAKAE5vdCBidWlsdCB3aXRoIGxpYmV4cGF0LiBUYWJsZSBmb3JtYXR0aW5nIGlzIG5vdCBhdmFpbGFibGUuCgByb3V0ZS5jAGxpYnBhdGgvJXM6JWQ6ICVzCgBzaG9ydGVzdC5jAHNvdXJjZSBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAY2Fubm90IGZpbmQgdHJpYW5nbGUgcGF0aABjYW5ub3QgbWFsbG9jIG9wcwBjYW5ub3QgcmVhbGxvYyBvcHMAdHJpYW5ndWxhdGlvbiBmYWlsZWQAY2Fubm90IG1hbGxvYyB0cmlzAGNhbm5vdCByZWFsbG9jIHRyaXMAY2Fubm90IG1hbGxvYyBkcS5wbmxzAGNhbm5vdCByZWFsbG9jIGRxLnBubHMAY2Fubm90IG1hbGxvYyBwbmxzAGNhbm5vdCBtYWxsb2MgcG5scHMAY2Fubm90IHJlYWxsb2MgcG5scwBjYW5ub3QgcmVhbGxvYyBwbmxwcwBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AABIQExQVFhcYGRobHB0eHyAhEBAiIxAkJSYnKCkqKxAsLS4RLzARETEREREyMzQ1Njc4OREQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOxA8PT4/QEEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQxAQRBBFRkcQSBBJEBAQEEpLTE0QEE4QT1AQEBAQURAQEBAQEBAQEBAQEBBSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBTEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVFVWVxAQWFkQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWhBbXF1eX2BhYhAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAD+/wD8AQAA+AEAAHgAAAAA//vf+wAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD8/+Cv/////////////9///////yBAsAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAD8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAACG/v///wBASQAAAAAAGADf/wDIAAAAAAAAAAEAPAAAAAAAAAAAAAAAABDgAR4AYP+/AAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAA+M8DAAAAAwAg/38AAABOAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAEAAgHgAwAAEAAAAAAAAAABAAIAAAAAD8DwAAAAAAAAAQACAAAAAAAAAAAAAAAAAAEAAgAAAAAAMAAAAAAAAAABAAIAAAAAD9AAAAAAAAAAAAACAAAAAA/wcAAAAAAAAAAAAgAAAAAAD/AAAAAAAAABAAIAAAAAAAAAAAAAAAAAAAACAAAAAAPwIAAAAAAAAAAAAEAAAAABAAAAAAAACAAIDA3wAMAAAAAAAAAAAAAAAAAB8AAAAAAAD+////APz//wAAAAAAAAAA/AAAAAAAAMD/3/8HAAAAAAAAAAAAAIAGAPwAABg+AACAvwDMAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABg////HwAA/wMAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABAAAYAAAAAAAAAAAAOAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAADAAAP5/LwAA/wP/fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOMQAAAAAAAAAAAAAAAAAAAAAAAMT/////AAAAwAAAAAAAAAAAAQDgnwAAAAB/PwAAAAAAAAAAAAAAAAAAAAAQABAAAPz///8fAAAAAAAMAAAAAAAAQAAM8AAAAAAAAMD4AAAAAAAAAMAAAAAAAAAAAP8A////IRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////38AAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAD4ADgAOAAYID4/////P//////fx/88X//fwAA////AwAA/////wEAewPQwa9CAAwfvP//AAAAAAAC//////////////////////////////////////////////////////////8PAP////9/AAAA/wcAAP////////////8/AAAAAAAA/P///v////////////////////////////////////////////////////8f/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADghwP+AAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAD//////3//DwAAAAAAAAAA////+/////////////8PAP//////////////////////////////////PwAAAP8PHv///wH8weAAAAAAAAAAAAAAAB4BAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAD/////DwAAAP///3////////////////////////////////////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAD///////9/AAAAAAAAwADgAAAAAAAAAAAAAACAD3AAAAAAAAAAAAAAAAAAAP8A//9/AAMAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAABECAAAAA//AwAAAAAAAPAAAAAAAAAAAAAQwAAA//8DBwAAAAAA+AAAAAAIgAAAAAAAAAAAAAAIAP8/AMAAAAAAAAAAAAAAAAAAAADwAACACwAAAAAAAACAAgAAwAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA/P8DAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw////A38A//////f/fw8AAAAAAAAAAAAAAAAAAAAAAID+/wD8AQAA+AEAAPg/AAAAAAAAAAAAAAAAAAAAf38AMIf//////4//AAAAAAAA4P//B/8PAAAAAAAA//////8/AAAAAA8AAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwI8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf/AP8BAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP/z/PwAAAAMAAAAAAAD+AwAAAAAAAAAAAAAAAAAYAA8AAAAAAAAAAAAAAAAAAADhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAP///////////////////////////////////////z8A/////3/+////////////////////////////PwAAAAD//////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////9/AP//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAgAACAAAAAgAACAAAAAgAAAAAIAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//////8P////////////////DwD/f/5//v/+/wAAAAD/B////3//////////D///////BwAAAAAAAAAAwP///wcA//////8H/wEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAv///////////H///DwD/////3wcAAP//AQD/////////f/3/////////////////////////////Hv////////8/DwD///8AAAAAAAAAAAAAAAAAAAAAAAD4///////////h/wAAAAAAAP//////////PwAAAAAAAAD//////////////////w8AAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAATENfQUxMAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBhbG51bQBhbHBoYQBibGFuawBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAQy5VVEYtOAAAAAAAAAAAAEMAL3Byb2Mvc2VsZi9mZC8AcndhAGluZmluaXR5AG5hbgAJAAoADQAMAAcAGwBbWzphbG51bTpdX10AW15bOmFsbnVtOl1fXQBbWzpzcGFjZTpdXQBbXls6c3BhY2U6XV0AW1s6ZGlnaXQ6XV0AW15bOmRpZ2l0Ol1dAC90bXAvdG1wZmlsZV9YWFhYWFgAdys=";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort("trap!")}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=0;h=ls()|0;qs(h,10904);qs(h,17148);_l(1)|0;Zl(16)|0;fp(1);while(1){a=Tn(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){ms(h,a,d)|0;ps(h,a,b,f,g)|0;ir(h,a)|0}mn(a)|0;a=174185}l=i;return e|0}function Ab(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{wx(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)oB(f);break}case 4:case 5:case 6:{tx(f,e,d);Db(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Bb(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[41841]|0)){c[41841]=c[4442];c[41842]=9;c[41843]=17}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=167364;switch(c[a+64>>2]|0){case 2:{jx(a,d,a,0);break}case 3:{jx(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))$p(d,a)|0;break}case 6:case 5:case 4:{Cb(d);if(!(c[a+152>>2]&134217728))$p(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Cb(b){b=b|0;var d=0,e=0;d=c[41845]|0;if((d|0)!=(c[41844]|0)){e=c[c[41876]>>2]|0;if(!e){e=uB(b,0,84827,174185)|0;c[c[41876]>>2]=e;d=c[41845]|0}if(d>>>0>=(c[41846]|0)>>>0){em(167376,1)|0;d=c[41845]|0}a[d>>0]=0;d=c[41844]|0;c[41845]=d;Dm(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[41876]|0)+4>>2]|0;d=c[41861]|0;if(d>>>0>=(c[41862]|0)>>>0){em(167440,1)|0;d=c[41861]|0}a[d>>0]=0;d=c[41860]|0;c[41861]=d;Dm(b,e,d)|0}Mm(b,59577,c[(c[41876]|0)+8236>>2]|0,174185)|0;d=0;while(1){if((d|0)==8)break;hm(167376+(d<<4)|0);d=d+1|0}$I(c[41876]|0);h[1]=1.0;h[5]=1.0;c[41877]=0;c[41881]=0;return}function Db(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=_I(8240)|0;c[41876]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=59593;break}case 5:{b[i+8232>>1]=12;g=59597;break}default:{g=Jm(d,59577)|0;if((g|0?a[g>>0]|0:0)?(h=Eb(g)|0,(h&65535)>10):0){i=c[41876]|0;b[i+8232>>1]=h;break a}g=Eb(59589)|0;i=c[41876]|0;b[i+8232>>1]=g;g=59589}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=uB(d,0,84827,174185)|0;i=c[41876]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=uB(d,0,59601,174185)|0;c[(c[41876]|0)+4>>2]=g;i=uB(d,1,84827,174185)|0;c[(c[41876]|0)+8>>2]=i;i=uB(d,1,59601,174185)|0;c[(c[41876]|0)+12>>2]=i;i=uB(d,2,84827,174185)|0;g=c[41876]|0;c[g+16>>2]=i;if(!f)h=0;else{h=uB(d,2,59609,174185)|0;g=c[41876]|0}c[g+20>>2]=h;if(!e)h=0;else{h=uB(d,2,59617,174185)|0;g=c[41876]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=uB(d,2,59601,174185)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=uB(d,2,59625,174185)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=uB(d,2,59634,174185)|0;g=c[41876]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;dm(167376+(g<<4)|0,1024,(c[41876]|0)+40+(g<<10)|0);g=g+1|0}return}function Eb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;$l(0,59643,h)|0}a[g+f>>0]=0;i=(sM(g)|0)&65535;l=j;return i|0}function Fb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[41876]>>2]|0;b=c[41849]|0;if(b>>>0>=(c[41850]|0)>>>0){em(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Dm(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[41876]|0)+4>>2]|0;b=c[41865]|0;if(b>>>0>=(c[41866]|0)>>>0){em(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Dm(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[41878]=0;c[41882]=0;return}function Gb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+8>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){em(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Dm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+12>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){em(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Dm(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[41885]=0;c[41887]=0;return}function Hb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+16>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){em(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Dm(e,d,b)|0}b=c[41853]|0;if((c[41852]|0)!=(b|0)){d=c[(c[41876]|0)+24>>2]|0;if(b>>>0>=(c[41854]|0)>>>0){em(167408,1)|0;b=c[41853]|0}a[b>>0]=0;b=c[41852]|0;c[41853]=b;Dm(e,d,b)|0}b=c[41857]|0;if((c[41856]|0)!=(b|0)){d=c[(c[41876]|0)+20>>2]|0;if(b>>>0>=(c[41858]|0)>>>0){em(167424,1)|0;b=c[41857]|0}a[b>>0]=0;b=c[41856]|0;c[41857]=b;Dm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+28>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){em(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Dm(e,d,b)|0}b=c[41869]|0;if((c[41868]|0)!=(b|0)){d=c[(c[41876]|0)+36>>2]|0;if(b>>>0>=(c[41870]|0)>>>0){em(167472,1)|0;b=c[41869]|0}a[b>>0]=0;b=c[41868]|0;c[41869]=b;Dm(e,d,b)|0}b=c[41873]|0;if((c[41872]|0)!=(b|0)){d=c[(c[41876]|0)+32>>2]|0;if(b>>>0>=(c[41874]|0)>>>0){em(167488,1)|0;b=c[41873]|0}a[b>>0]=0;b=c[41872]|0;c[41873]=b;Dm(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[41886]=0;c[41888]=0;c[41879]=0;c[41880]=0;c[41883]=0;c[41884]=0;return}function Ib(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11344+(o<<2)>>2]|0;gm(p,59746)|0;g=f+4|0;Rb(k,+h[(c[g>>2]|0)+16>>3]);gm(p,k)|0;Ub(d,174185,c[c[g>>2]>>2]|0);Ob(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[41876]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11392+((i&65535)+-15<<2)>>2]&g,n=167508+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;qL(k,59749,r)|0;gm(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];gm(p,59755)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Qb(p,j);c[s>>2]=q;qL(k,87254,s)|0;gm(p,k)|0;Rb(k,+h[f+32>>3]);gm(p,k)|0;Ub(d,174185,c[f>>2]|0);l=t;return}function Jb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Nb(a);Ob(a);if(!d){a=c[11344+(e<<2)>>2]|0;gm(a,59743)|0}else{if((d|1|0)==3)Wb(a,d,b,2);else Xb(a);a=c[11344+(e<<2)>>2]|0;gm(a,59740)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Qb(a,f);Rb(g,+h[b+16>>3]-+h[b>>3]);gm(a,g)|0;Rb(g,+h[b+24>>3]-+h[b+8>>3]);gm(a,g)|0;l=i;return}function Kb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Nb(a);Ob(a);if(!d)Pb(a,112,b,c);else{if((d|1|0)==3)Wb(a,d,b,c);else Xb(a);Pb(a,80,b,c)}return}function Lb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Nb(a);Ob(a);if(!f)Pb(a,66,b,c);else{if((f|1|0)==3)Wb(a,f,b,c);else Xb(a);Pb(a,98,b,c)}return}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;Nb(a);Ob(a);Pb(a,76,b,c);return}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;dm(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;gm(m,59706)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];qL(f,59720,i)|0;Sb(f,0);gm(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){em(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){em(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;Ub(b,59725,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(yJ(d,95923)|0)){d=i;continue a}break}case 98:{if(!(yJ(d,95905)|0)){d=i;continue a}break}case 115:{if(!(yJ(d,95910)|0)){d=i;continue a}break}default:{}}gm(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){em(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){em(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}gm(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){em(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){em(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;Ub(b,59725,d);d=i}hm(m)}l=n;return}function Ob(a){a=a|0;Tb((c[a+16>>2]|0)+16|0);Ub(a,68667,173886);return}function Pb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11344+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){em(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;qL(i,59670,j)|0;gm(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Qb(h,j);b=b+1|0}l=k;return}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;Rb(d,+h[b>>3]);gm(a,d)|0;Rb(d,+ix(+h[b+8>>3]));gm(a,d)|0;l=c;return}function Rb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;qL(a,59675,d)|0;Sb(a,1);l=c;return}function Sb(b,c){b=b|0;c=c|0;var d=0,e=0;d=XJ(b,46)|0;if(!d){if(c|0){d=b+(sJ(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function Tb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;qL(173886,68547,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;qL(173886,59688,i)|0}l=j;return}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;Vb(c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=sJ(e)|0;c[h>>2]=d;c[h+4>>2]=i;qL(g,59681,h)|0;gm(b,g)|0;gm(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){em(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function Wb(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[41876]|0)+8232>>1]|0)<14)Xb(b);else{dm(w,1024,x+96|0);v=(d|0)==2;if(v){KB(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){em(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];Qb(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Qb(w,t)}else{KB(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){em(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];Qb(w,t);Yb(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Qb(w,t);Yb(w,q)}gm(w,59731)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){Zb(w,j,f);Zb(w,+g[d>>2],u+96|0)}else{Zb(w,0.0,f);Zb(w,1.0,u+96|0)}im(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){em(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){em(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){em(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;Ub(b,59728,v);hm(w)}l=x;return}function Xb(a){a=a|0;Tb((c[a+16>>2]|0)+56|0);Ub(a,59728,173886);return}function Yb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;Rb(d,b);gm(a,d)|0;l=c;return}function Zb(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;qL(e,59734,f)|0;Sb(e,1);Tb(c);Vb(a,e,173886);l=d;return}function _b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;gm(g,59843)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Qb(g,i);Rb(f,+h[d+16>>3]-+h[d>>3]);gm(g,f)|0;Rb(f,+h[d+24>>3]-+h[d+8>>3]);gm(g,f)|0;Ub(a,174185,c[b+8>>2]|0);l=e;return}function $b(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=zr(c[a>>2]|0)|0;ns(b,c[(c[a+16>>2]|0)+8>>2]|0,60630,0)|0;Ar(b);break}case 1:{wx(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function ac(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[41889]|0)){c[41889]=c[4442];c[41890]=9;c[41891]=17}c[(c[e+64>>2]|0)+8>>2]=167556;bc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;cc(e,b,1,d);l=f;return}function bc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Kp(a)|0;while(1){if(!d)break;bc(d,0);d=Lp(d)|0}a:do if(b|0){b=eo(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Qm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Sm(a,d)|0}b=fo(a,b)|0}}while(0);return}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Rl(11764,c[4345]|0)|0;To(a,1,86799,12,0);To(a,2,86799,12,0);To(a,0,86799,-12,0);f=dc(a,0,m)|0;j=eo(a)|0;i=0;g=0;while(1){if(!j)break;if(!(WJ(En(j)|0,93039,7)|0)){k=g;g=ec(m,En(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(Mo(j,86799,0)|0)+8>>2]=g;h=Qm(a,j)|0;g=i;while(1){if(!h)break;c[(Mo(h,86799,0)|0)+8>>2]=g;h=Sm(a,h)|0;g=g+1|0}j=fo(a,j)|0;i=g;g=k}Ll(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;fc(b,m);nr(b,82337)|0;gc(a,b,d,e);hc(a,b,e);nr(b,82308)|0;fc(b,c[e>>2]|0);if(n){c[o>>2]=f;tr(b,59846,o)}else{c[p>>2]=c[(Mo(a,86799,0)|0)+8>>2];tr(b,59866,p)}jc(a,b,d,ic(a,b,d,e)|0,e);kc(a,b,d,e);nr(b,134901)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;fc(b,p);if(n)nr(b,95830)|0;else nr(b,68190)|0;l=q;return}function dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((to(a)|0)!=(a|0)){e=b+1|0;c[(Mo(a,86799,0)|0)+8>>2]=b;if(!(WJ(En(a)|0,93039,7)|0)){b=En(a)|0;wc(d,b,c[(Mo(a,86799,0)|0)+8>>2]|0);b=e}else b=e}e=Kp(a)|0;while(1){if(!e)break;a=dc(e,b,d)|0;e=Lp(e)|0;b=a}return b|0}function ec(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function fc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;nr(a,60598)|0;b=b+-1|0}return}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=En(a)|0;fc(b,c[e>>2]|0);c[i>>2]=nc(j,e)|0;tr(b,59954,i);if(d|0){nr(b,82308)|0;fc(b,c[e>>2]|0);j=(rn(a)|0)!=0;c[f>>2]=j?92685:122100;tr(b,60568,f);fc(b,c[e>>2]|0);j=(tn(a)|0)!=0;c[g>>2]=j?92685:122100;tr(b,60585,g)}l=h;return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=to(b)|0;j=c[b>>2]&3;f=Em(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=Km(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(yJ(g,86240)|0)break}nr(d,82308)|0;fc(d,c[e>>2]|0);c[m>>2]=nc(c[h>>2]|0,e)|0;tr(d,60004,m);if(a[k>>0]|0?pc(c[h>>2]|0)|0:0){qc(Km(b,f)|0,d,e);break}c[n>>2]=nc(Km(b,f)|0,e)|0;tr(d,60011,n)}while(0);f=Em(i,j,f)|0}}while(0);l=o;return}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=Kp(a)|0;if(f){nr(b,82308)|0;g=c[e>>2]|0;c[e>>2]=g+1;fc(b,g);g=(d|0)!=0;if(g){nr(b,59928)|0;a=0;d=f}else{nr(b,59988)|0;fc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else nr(b,82308)|0;if(g)oc(d,b,e);else{c[h>>2]=c[(Mo(d,86799,0)|0)+8>>2];tr(b,122187,h)}d=Lp(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;nr(b,134901)|0;fc(b,c[e>>2]|0);nr(b,82303)|0;a=1}}else a=0;l=i;return a|0}function jc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=eo(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;nr(b,134901)|0;fc(b,c[f>>2]|0);nr(b,82303)|0}}else{nr(b,82308)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;fc(b,e);nr(b,59928)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;fc(b,e);nr(b,59942)|0;fc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(WJ(En(g)|0,93039,7)|0){do if(e)if(h){nr(b,82308)|0;break}else{nr(b,86030)|0;break}else e=1;while(0);mc(g,b,d,f)}g=fo(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;nr(b,134901)|0;fc(b,c[f>>2]|0);nr(b,82303)|0}return}function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=eo(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Qm(a,f)|0)break;f=fo(a,f)|0}nr(b,82308)|0;i=c[e>>2]|0;c[e>>2]=i+1;fc(b,i);nr(b,59878)|0;i=(d|0)!=0;if(i)g=0;else{fc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Qm(a,f)|0;while(1){if(!h)break;do if(g)if(i){nr(b,82308)|0;break}else{nr(b,86030)|0;break}else g=1;while(0);lc(h,b,d,e);h=Sm(a,h)|0}f=fo(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;nr(b,134901)|0;fc(b,c[e>>2]|0);nr(b,82303)|0}while(0);return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(Mo(a,86799,0)|0)+8>>2];tr(b,122187,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;fc(b,i);nr(b,82337)|0;fc(b,c[e>>2]|0);c[f>>2]=c[(Mo(a,86799,0)|0)+8>>2];tr(b,59890,f);fc(b,c[e>>2]|0);c[g>>2]=c[(Mo(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,86799,0)|0)+8>>2];tr(b,59904,g);fc(b,c[e>>2]|0);c[h>>2]=c[(Mo(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,86799,0)|0)+8>>2];tr(b,59917,h);hc(a,b,e);nr(b,134901)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;fc(b,i);nr(b,68190)|0}l=j;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(Mo(a,86799,0)|0)+8>>2];tr(b,122187,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;fc(b,h);nr(b,82337)|0;fc(b,c[e>>2]|0);c[f>>2]=c[(Mo(a,86799,0)|0)+8>>2];tr(b,59890,f);fc(b,c[e>>2]|0);c[g>>2]=nc(En(a)|0,e)|0;tr(b,59954,g);hc(a,b,e);nr(b,134901)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;fc(b,h);nr(b,68190)|0}l=i;return}function nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=zB(b)|0;if(!(c[41892]|0)){dm(167568,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{gm(167568,59967)|0;break}case 92:{gm(167568,81579)|0;break}case 47:{gm(167568,59970)|0;break}case 8:{gm(167568,59973)|0;break}case 12:{gm(167568,59976)|0;break}case 10:{gm(167568,59979)|0;break}case 13:{gm(167568,59982)|0;break}case 9:{gm(167568,59985)|0;break}default:{d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){em(167568,1)|0;d=c[41893]|0}c[41893]=d+1;a[d>>0]=f}}e=e+1|0}d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){em(167568,1)|0;d=c[41893]|0}a[d>>0]=0;d=c[41892]|0;c[41893]=d;if(a[g>>0]|0)$I(b);return d|0}function oc(a,b,c){a=a|0;b=b|0;c=c|0;cc(a,b,0,c);a=Kp(a)|0;while(1){if(!a)break;nr(b,82308)|0;oc(a,b,c);a=Lp(a)|0}return}function pc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(yJ(c,60525)|0)){b=1;break a}break}case 2:{if(!(yJ(c,60531)|0)){b=1;break a}break}case 1:{if(!(yJ(c,60538)|0)){b=1;break a}return (yJ(c,60552)|0)==0|0}case 4:{if(!(yJ(c,60545)|0)){b=1;break a}b=(yJ(c,60560)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=xt(b)|0;if(!h){c[f>>2]=b;$l(0,60016,f)|0;break}nr(d,134901)|0;g=c[e>>2]|0;c[e>>2]=g+1;fc(d,g);nr(d,60043)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else nr(d,82308)|0;rc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;nr(d,134901)|0;fc(d,c[e>>2]|0);nr(d,82303)|0;yt(h)}while(0);l=i;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;fc(b,e);nr(b,82337)|0;fc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;tr(b,60046,f);fc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;tr(b,60059,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;tr(b,60046,z);fc(b,c[d>>2]|0);sc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;tr(b,60046,i);fc(b,c[d>>2]|0);sc(b,a+8|0);break}case 6:{tr(b,60094,A+56|0);fc(b,c[d>>2]|0);sc(b,a+8|0);break}case 7:{tr(b,60106,A+64|0);fc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;tr(b,60118,j);fc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;tr(b,60140,k);fc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];tr(b,60156,m);fc(b,c[d>>2]|0);c[n>>2]=nc(c[a+40>>2]|0,d)|0;tr(b,60173,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;tr(b,60046,o);fc(b,c[d>>2]|0);tr(b,60187,A+120|0);fc(b,c[d>>2]|0);c[p>>2]=nc(c[a+8>>2]|0,d)|0;tr(b,60204,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;tr(b,60046,q);fc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{tr(b,60187,A+144|0);fc(b,c[d>>2]|0);c[r>>2]=nc(c[a+16>>2]|0,d)|0;tr(b,60204,r);break a}case 1:{tr(b,60219,A+160|0);fc(b,c[d>>2]|0);tc(b,a+16|0,d);break a}default:{tr(b,60238,A+168|0);fc(b,c[d>>2]|0);uc(b,a+16|0,d);break a}}}case 10:{tr(b,60257,s);fc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];tr(b,60269,t);fc(b,c[d>>2]|0);c[u>>2]=nc(c[a+16>>2]|0,d)|0;tr(b,60285,u);break}case 11:{tr(b,60299,v);fc(b,c[d>>2]|0);c[w>>2]=nc(c[a+8>>2]|0,d)|0;tr(b,60311,w);break}case 15:{tr(b,60326,x);fc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];tr(b,60338,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;fc(b,z);nr(b,68190)|0;l=A;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;tr(a,60499,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)tr(a,86030,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;tr(a,60511,g);b=b+1|0}tr(a,60452,i);l=j;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;fc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;tr(a,60455,i);fc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;tr(a,60477,f);fc(a,c[d>>2]|0);vc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;fc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;tr(a,60354,j);fc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;tr(a,60382,f);fc(a,c[d>>2]|0);vc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;tr(a,60410,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)tr(a,86030,i);o=+g[d+(f<<3)>>2];n=nc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;tr(a,60421,j);f=f+1|0}tr(a,60452,k);l=m;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=bb[c[a>>2]&31](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;$l(0,60601,f)|0}}else{f=aJ(1,16)|0;c[f+8>>2]=HL(b)|0;c[f+12>>2]=d;bb[c[a>>2]&31](a,f,1)|0}l=g;return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;$I(c[b+8>>2]|0);$I(b);return}function yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;nr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;tr(a,61466,g);c[e>>2]=En(c[f+8>>2]|0)|0;tr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;tr(a,61514,d);nr(a,61527)|0;nr(a,61537)|0;nr(a,61545)|0;nr(a,61553)|0;nr(a,61561)|0;nr(a,61569)|0;nr(a,61577)|0;nr(a,61581)|0;nr(a,61586)|0;l=b;return}function zc(a){a=a|0;nr(a,61437)|0;return}function Ac(a){a=a|0;c[41896]=2;return}function Bc(a){a=a|0;c[41896]=1;return}function Cc(a){a=a|0;c[41896]=2;return}function Dc(a){a=a|0;c[41896]=0;return}function Ec(a){a=a|0;c[41896]=2;return}function Fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[41896]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((sJ(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=Pc(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;tr(b,61382,o);l=p;return}function Gc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(yJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Oc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;tr(b,61325,j);k=10}break}default:ma(123205,60722,163,60753)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41896]|0;Mc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));tr(a,61260,f);l=e;return}function Ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41896]|0;Mc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;tr(a,61164,g);Nc(a,b,d,1);l=f;return}function Jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[41896]|0;if((d|0)<=3)ma(60715,60722,360,60742);t=_I((d*140|0)+140|0)|0;Mc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(qL(t,73932,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;QA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(qL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;tr(a,61215,A);c[z>>2]=t;tr(a,73939,z);$I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;tr(a,73944,B);e=e+1|0}nr(a,134901)|0;l=C;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41896]|0;Mc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;tr(a,61164,f);Nc(a,b,d,0);l=e;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;tr(a,61158,e);l=d;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));tr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));tr(a,73932,i)}nr(a,134901)|0;l=j;return}function Oc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41897]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[170808+(g<<1)>>1]|0)-d|0;n=(b[171320+(g<<1)>>1]|0)-e|0;j=(b[171832+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41897]=k+1;if((k|0)==256)g=i;else{b[170808+(g<<1)>>1]=d;b[171320+(g<<1)>>1]=e;b[171832+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function Pc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41898]|0;if(!d){c[41899]=64;d=_I(64)|0;c[41898]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41899]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41899]=d;d=bJ(c[41898]|0,d)|0;c[41898]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;qL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41898]|0}function Qc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{nr(b,61053)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){nr(b,61067)|0;nr(b,sw(c[d>>2]|0)|0)|0;nr(b,134901)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){nr(b,61067)|0;nr(b,sw(c[d>>2]|0)|0)|0;nr(b,87638)|0;nr(b,sw(En(c[e+8>>2]|0)|0)|0)|0;nr(b,134901)|0}break}case 3:{f=sw(En(c[e+8>>2]|0)|0)|0;nr(b,61076)|0;nr(b,f)|0;nr(b,61086)|0;nr(b,f)|0;nr(b,61041)|0;break}default:{}}return}function Rc(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{Tc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{Tc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);nr(a,61045)|0;break}default:{}}return}function Sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;Tc(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function Tc(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[41900]|0)<(f|0)){c[41900]=m;o=bJ(c[41901]|0,m<<3)|0;c[41901]=o}else o=c[41901]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;tr(b,60787,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;tr(b,60808,v);break a}case 2:{c[q>>2]=g;tr(b,60828,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[41901]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;tr(b,60836,w);m=m+1|0}nr(b,134901)|0;break a}default:ma(123205,60843,63,60863)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;tr(b,60880,r);break}else ma(123205,60843,75,60863)}if((m&-2|0)==2){switch(d|0){case 1:{nr(b,60913)|0;break}case 0:{nr(b,60934)|0;break}case 2:{nr(b,60953)|0;break}default:ma(123205,60843,91,60863)}if(k|0?a[k>>0]|0:0){nr(b,66433)|0;nr(b,vw(k)|0)|0;nr(b,83714)|0}if(e?a[g>>0]|0:0){nr(b,60972)|0;nr(b,vw(g)|0)|0;nr(b,83714)|0}if(j|0?a[j>>0]|0:0){nr(b,67392)|0;nr(b,sw(j)|0)|0;nr(b,83714)|0}if(i|0?a[i>>0]|0:0){nr(b,60980)|0;nr(b,sw(i)|0)|0;nr(b,83714)|0}nr(b,60989)|0;nr(b,60997)|0;b:do switch(d|0){case 1:{f=c[41901]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;tr(b,61007,s);break}case 0:{v=c[41901]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;tr(b,61016,t);break}case 2:{w=c[41901]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;tr(b,61028,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[41901]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;tr(b,61034,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){nr(b,66257)|0;break}else{nr(b,61041)|0;break}}}while(0);l=y;return}function Uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;nr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;tr(a,61466,g);c[e>>2]=En(c[f+8>>2]|0)|0;tr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;tr(a,61514,d);nr(a,61527)|0;nr(a,61537)|0;nr(a,61545)|0;nr(a,61553)|0;nr(a,61561)|0;nr(a,61569)|0;nr(a,61577)|0;nr(a,61581)|0;nr(a,61586)|0;l=b;return}function Vc(a){a=a|0;nr(a,61437)|0;return}function Wc(a){a=a|0;c[41902]=2;return}function Xc(a){a=a|0;c[41902]=1;return}function Yc(a){a=a|0;c[41902]=2;return}function Zc(a){a=a|0;c[41902]=0;return}function _c(a){a=a|0;c[41902]=2;return}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[41902]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=jd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;tr(b,61382,m);l=n;return}function ad(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(yJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(id(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;tr(b,61325,j);k=10}break}case 0:{f=0;k=10;break}default:ma(123205,61346,168,61365)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41902]|0;gd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));tr(a,61260,f);l=e;return}function cd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41902]|0;gd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;tr(a,61164,g);hd(a,b,d,1);l=f;return}function dd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[41902]|0;t=_I((d*140|0)+140|0)|0;gd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(qL(t,73932,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;QA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(qL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;tr(a,61215,A);c[z>>2]=t;tr(a,73939,z);$I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;tr(a,73944,B);e=e+1|0}nr(a,134901)|0;l=C;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41902]|0;gd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;tr(a,61164,f);hd(a,b,d,0);l=e;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;tr(a,61158,e);l=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));tr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));tr(a,73932,i)}nr(a,134901)|0;l=j;return}function id(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41903]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[172344+(g<<1)>>1]|0)-d|0;n=(b[172856+(g<<1)>>1]|0)-e|0;j=(b[173368+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41903]=k+1;if((k|0)==256)g=i;else{b[172344+(g<<1)>>1]=d;b[172856+(g<<1)>>1]=e;b[173368+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function jd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41904]|0;if(!d){c[41905]=64;d=_I(64)|0;c[41904]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41905]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41905]=d;d=bJ(c[41904]|0,d)|0;c[41904]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;qL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41904]|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;nr(a,66165)|0;if((c[a+64>>2]|0)==2)nr(a,66180)|0;else nr(a,134901)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;tr(a,66191,b);l=d;return}function ld(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;nr(a,66119)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];tr(a,66130,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;tr(a,62499,f)}nr(a,66145)|0;nr(a,66158)|0;l=g;return}function md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[173896]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=En(c[h>>2]|0)|0;tr(b,62430,i);d=b+64|0;if((c[d>>2]|0)==2)nr(b,62463)|0;else nr(b,62445)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;tr(b,62499,f);break}else{nr(b,62475)|0;break}while(0);nr(b,62529)|0;fy(b,c[(c[e>>2]|0)+24>>2]|0,12928);hy(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;fy(b,0,i)}}c[41906]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[173896]|0)){nr(b,62549)|0;a[173896]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=iy(d,c[41906]|0)|0;tr(b,62562,j)}l=k;return}function nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;tr(a,62414,f);l=b;return}function od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;tr(a,62041,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;tr(a,62058,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?62092:62102;tr(a,62111,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;tr(a,62136,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;tr(a,62175,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;tr(a,62195,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;tr(a,62235,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;hb[t&31](62278,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;tr(a,62373,r)}l=s;return}function pd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){nr(a,61965)|0;fy(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}nr(a,61982)|0;nr(a,62009)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];tr(a,62024,d);l=e;return}function qd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=En(c[(c[a+16>>2]|0)+8>>2]|0)|0;tr(a,61958,d);nr(a,61951)|0;l=b;return}function rd(a){a=a|0;nr(a,77394)|0;return}function sd(a){a=a|0;nr(a,61951)|0;return}function td(a){a=a|0;nr(a,77394)|0;return}function ud(a){a=a|0;nr(a,61951)|0;return}function vd(a){a=a|0;nr(a,77394)|0;return}function wd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){nr(a,61847)|0;xr(a,c[g>>2]|0,2);nr(a,61858)|0;c[d>>2]=iy(b,c[41906]|0)|0;tr(a,61862,d)}l=e;return}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Ed(b,f+16|0);i=e+4|0;ur(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];tr(b,61806,j);i=iy(c[e>>2]|0,c[41906]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];wr(b,j);nr(b,61821)|0;ur(b,+h[f>>3]);c[k>>2]=i;tr(b,61830,k)}l=m;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Ed(a,e+56|0);xr(a,f,2);nr(a,61764)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Fd(a);Ed(a,(c[b>>2]|0)+16|0);xr(a,f,2);nr(a,61784)|0}l=g;return}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Ed(a,f+56|0);nr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];wr(a,i);nr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];wr(a,i);nr(a,61703)|0;e=e+1|0}nr(a,61730)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Fd(a);Ed(a,(c[g>>2]|0)+16|0);nr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];wr(a,i);nr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];wr(a,i);nr(a,61703)|0;e=e+1|0}nr(a,61746)|0}l=j;return}function Ad(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Ed(a,j+56|0);nr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];wr(a,f);nr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;xr(a,b+(e<<4)|0,3);nr(a,61720)|0;e=e+3|0}nr(a,61730)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Fd(a);Ed(a,(c[i>>2]|0)+16|0);nr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];wr(a,f);nr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;xr(a,b+(e<<4)|0,3);nr(a,61720)|0;e=e+3|0}nr(a,61712)|0}l=k;return}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Fd(a);Ed(a,(c[e>>2]|0)+16|0);nr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];wr(a,f);nr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];wr(a,f);nr(a,61703)|0;e=e+1|0}nr(a,61712)|0}l=g;return}function Cd(a,b){a=a|0;b=b|0;nr(a,61682)|0;nr(a,b)|0;nr(a,134901)|0;return}function Dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Ed(a,j+56|0);nr(a,77289)|0;xr(a,d,e);nr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];wr(a,g);c[k>>2]=e;c[k+4>>2]=b;tr(a,61599,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Fd(a);Ed(a,(c[i>>2]|0)+16|0);nr(a,77289)|0;xr(a,d,e);nr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];wr(a,g);c[m>>2]=e;c[m+4>>2]=b;tr(a,61615,m)}l=n;return}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=96286;break}case 2:{d=96273;break}case 3:{d=96237;break}default:d=61651}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;tr(a,61658,e)}l=f;return}function Fd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;ur(b,+h[i+152>>3]);nr(b,61632)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(yJ(f,95910)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;tr(b,61647,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(yJ(f,119127)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;tr(b,81633,k);d=i}l=m;return}function Gd(b){b=b|0;var d=0;nr(b,67671)|0;d=Jm(c[(c[b>>2]|0)+168>>2]|0,67727)|0;if(d|0?a[d>>0]|0:0){nr(b,67738)|0;nr(b,d)|0;nr(b,67762)|0}nr(b,67783)|0;nr(b,67831)|0;nr(b,67885)|0;d=b+12|0;nr(b,sw(c[c[c[d>>2]>>2]>>2]|0)|0)|0;nr(b,71014)|0;nr(b,sw(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;nr(b,71024)|0;nr(b,sw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;nr(b,68267)|0;nr(b,68291)|0;return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;nr(b,67506)|0;d=d+8|0;if(a[(En(c[d>>2]|0)|0)>>0]|0){nr(b,68230)|0;nr(b,sw(En(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;tr(b,67511,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;tr(b,67527,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;tr(b,67560,g);nr(b,67591)|0;nr(b,67627)|0;nr(b,69221)|0;l=i;return}function Id(a){a=a|0;nr(a,67498)|0;return}function Jd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ee(a,b,0,86583,c[(c[a+16>>2]|0)+8>>2]|0);nr(a,69221)|0;return}function Kd(a){a=a|0;nr(a,67346)|0;return}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;ee(b,c[g+212>>2]|0,0,96286,c[d>>2]|0);nr(b,67450)|0;ur(b,+h[b+488>>3]);nr(b,87638)|0;ur(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);tr(b,67469,f);ur(b,+h[b+504>>3]);nr(b,87638)|0;ur(b,-+h[b+512>>3]);nr(b,67493)|0;if(a[(En(c[d>>2]|0)|0)>>0]|0){nr(b,67402)|0;nr(b,sw(En(c[d>>2]|0)|0)|0)|0;nr(b,67410)|0}l=e;return}function Md(a){a=a|0;nr(a,67346)|0;return}function Nd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ee(a,c[d+212>>2]|0,0,93039,c[b>>2]|0);nr(a,69221)|0;nr(a,67402)|0;nr(a,sw(En(c[b>>2]|0)|0)|0)|0;nr(a,67410)|0;return}function Od(a){a=a|0;nr(a,67346)|0;return}function Pd(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;ee(a,c[d+212>>2]|0,b,96273,c[e>>2]|0);nr(a,69221)|0;nr(a,67402)|0;nr(a,sw(En(c[e>>2]|0)|0)|0)|0;nr(a,67410)|0;return}function Qd(a){a=a|0;nr(a,67346)|0;return}function Rd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ee(a,c[d+212>>2]|0,0,96237,c[b>>2]|0);nr(a,69221)|0;nr(a,67402)|0;b=rw(87129,c[b>>2]|0)|0;nr(a,sw(b)|0)|0;$I(b);nr(a,67410)|0;return}function Sd(a){a=a|0;nr(a,67346)|0;return}function Td(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;nr(b,67352)|0;if(f|0){nr(b,67355)|0;nr(b,sw(f)|0)|0;nr(b,83714)|0}nr(b,67245)|0;nr(b,69182)|0;if(c|0?a[c>>0]|0:0){nr(b,67363)|0;nr(b,c)|0;nr(b,83714)|0}if(d|0?a[d>>0]|0:0){nr(b,67377)|0;nr(b,tw(d,1)|0)|0;nr(b,83714)|0}if(e|0?a[e>>0]|0:0){nr(b,67392)|0;nr(b,sw(e)|0)|0;nr(b,83714)|0}nr(b,69221)|0;return}function Ud(a){a=a|0;nr(a,69176)|0;nr(a,67346)|0;return}function Vd(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;nr(e,66877)|0;switch(a[g+48>>0]|0){case 108:{nr(e,66883)|0;break}case 114:{nr(e,66904)|0;break}default:nr(e,66923)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){nr(e,66945)|0;ur(e,+h[f>>3]);nr(e,66950)|0;ur(e,-G);nr(e,83714)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];tr(e,66956,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;tr(e,66973,p)}nr(e,83714)|0;if(f|0){c[r>>2]=f;tr(e,66977,r)}if(k|0){c[s>>2]=k;tr(e,66995,s)}if(!j)j=0;else{c[q>>2]=j;tr(e,67014,q)}}else{c[i>>2]=c[f>>2];tr(e,67031,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))tr(e,67049,t);if(!((j|0)!=0|(z&2|0)==0))tr(e,67069,u);if(z&100|0){tr(e,67090,v);if(!(z&4))f=0;else{tr(e,91030,w);f=1}if(z&64){c[y>>2]=f|0?86030:174185;tr(e,67109,y);f=1}if(z&32|0){c[A>>2]=f|0?86030:174185;tr(e,67120,A)}tr(e,83714,B)}if(z&8|0)tr(e,67135,C);if(z&16|0)tr(e,67159,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];tr(e,67181,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(jK(f,122106)|0){c[J>>2]=f;tr(e,67199,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;tr(e,67210,F);break}default:ma(123205,66391,486,67232)}nr(e,67245)|0;if(b[H>>1]&512){c[K>>2]=sw(c[I+212>>2]|0)|0;tr(e,67247,K);nr(e,67296)|0;ur(e,-G);nr(e,67314)|0}nr(e,tw(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)tr(e,67317,L);nr(e,67337)|0;l=M;return}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=be(a,b,2)|0;break}case 3:{d=ce(a)|0;break}default:d=0}nr(a,66841)|0;$d(a,c,d);nr(a,66850)|0;ur(a,+h[b>>3]);nr(a,66856)|0;c=b+8|0;ur(a,-+h[c>>3]);nr(a,66863)|0;ur(a,+h[b+16>>3]-+h[b>>3]);nr(a,66870)|0;ur(a,+h[b+24>>3]-+h[c>>3]);nr(a,66257)|0;return}function Xd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=be(a,b,c)|0;break}case 3:{e=ce(a)|0;break}default:e=0}nr(a,66832)|0;$d(a,d,e);nr(a,66247)|0;e=0;while(1){if((e|0)>=(c|0))break;ur(a,+h[b+(e<<4)>>3]);nr(a,86030)|0;ur(a,-+h[b+(e<<4)+8>>3]);nr(a,87638)|0;e=e+1|0}ur(a,+h[b>>3]);nr(a,86030)|0;ur(a,-+h[b+8>>3]);nr(a,66257)|0;return}function Yd(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=be(a,d,e)|0;break}case 3:{f=ce(a)|0;break}default:f=0}nr(a,66427)|0;if(b[g+260>>1]&512){nr(a,66433)|0;nr(a,sw(c[g+212>>2]|0)|0)|0;nr(a,66439)|0}$d(a,h,f);nr(a,66444)|0;de(a,d,e);nr(a,66257)|0;return}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;nr(a,66237)|0;$d(a,0,0);nr(a,66247)|0;d=0;while(1){if((d|0)>=(c|0))break;ur(a,+h[b+(d<<4)>>3]);nr(a,86030)|0;ur(a,-+h[b+(d<<4)+8>>3]);nr(a,87638)|0;d=d+1|0}nr(a,66257)|0;return}function _d(a,b){a=a|0;b=b|0;nr(a,66231)|0;nr(a,sw(b)|0)|0;nr(a,68291)|0;return}function $d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;nr(b,66262)|0;a:do switch(d|0){case 2:{c[f>>2]=e;tr(b,66270,f);break}case 3:{c[g>>2]=e;tr(b,66281,g);break}case 0:{nr(b,120501)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ae(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;tr(b,66292,j)}}}while(0);nr(b,66311)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ae(b,k);d=m+152|0;if(+h[d>>3]!=1.0){nr(b,66322)|0;ur(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=66362;tr(b,66339,o);break}case 2:{c[n>>2]=66366;tr(b,66339,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;tr(b,66370,p)}while(0);nr(b,83714)|0;l=q;return}function ae(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{nr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){nr(b,122171)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;tr(b,68547,f);break a}default:ma(123205,66391,117,66411)}while(0);l=g;return}function be(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[41908]|0;c[41908]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;KB(d,k,e,f,0);c[o>>2]=q;tr(b,66664,o);nr(b,66729)|0;ur(b,+h[k>>3]);nr(b,66734)|0;ur(b,+h[k+8>>3]);nr(b,66741)|0;ur(b,+h[k+16>>3]);nr(b,66748)|0;ur(b,+h[k+24>>3]);nr(b,66755)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;tr(b,66760,i)}else nr(b,66536)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));ae(b,o);nr(b,66572)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;tr(b,84631,m)}else s=7;while(0);if((s|0)==7)nr(b,66587)|0;nr(b,66590)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;tr(b,66760,n)}else nr(b,66596)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));ae(b,o);nr(b,66572)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;tr(b,84631,r)}else s=14;while(0);if((s|0)==14)nr(b,66587)|0;nr(b,66800)|0;l=t;return q|0}function ce(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[41907]|0;c[41907]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;tr(b,66452,k);nr(b,66536)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ae(b,k);nr(b,66572)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;tr(b,84631,j)}else p=6;while(0);if((p|0)==6)nr(b,66587)|0;nr(b,66590)|0;nr(b,66596)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));ae(b,k);nr(b,66572)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;tr(b,84631,o)}else p=10;while(0);if((p|0)==10)nr(b,66587)|0;nr(b,66632)|0;l=q;return n|0}function de(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;tr(a,66449,g);ur(a,+h[b+(f<<4)>>3]);nr(a,86030)|0;ur(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function ee(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;nr(b,67420)|0;nr(b,sw(d)|0)|0;if(e|0){c[h>>2]=sw(e)|0;tr(b,67428,h)}c[i>>2]=f;tr(b,67432,i);d=Jm(g,67444)|0;if(d|0?a[d>>0]|0:0){nr(b,87638)|0;nr(b,sw(d)|0)|0}nr(b,83714)|0;l=j;return}function fe(a){a=a|0;var b=0;nr(a,68251)|0;b=a+12|0;nr(a,pe(c[c[c[b>>2]>>2]>>2]|0)|0)|0;nr(a,71014)|0;nr(a,pe(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;nr(a,71024)|0;nr(a,pe(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;nr(a,68267)|0;return}function ge(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;nr(b,68228)|0;d=d+8|0;if(a[(En(c[d>>2]|0)|0)>>0]|0){nr(b,68230)|0;nr(b,pe(En(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;tr(b,68239,e);c[41909]=0;l=f;return}function he(a){a=a|0;c[41909]=1;return}function ie(a){a=a|0;c[41909]=-1;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){qe(b);nr(b,68167)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];wr(b,i);nr(b,68181)|0;nr(b,c[e>>2]|0)|0;nr(b,68190)|0;nr(b,67988)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));re(b,i);nr(b,68192)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;nr(b,83714)|0;nr(b,k)|0;nr(b,83714)|0;c[m>>2]=j;tr(b,68201,m);switch(a[e+48>>0]|0){case 108:{nr(b,68206)|0;break}case 114:{nr(b,68217)|0;break}default:{}}se(b);nr(b,134901)|0}l=n;return}function ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;qe(a);nr(a,68153)|0;xr(a,b,2);nr(a,67988)|0;do if(!d)if(!(c[41909]|0)){nr(a,82272)|0;break}else{nr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));re(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;nr(a,68099)|0;ur(a,+h[g+152>>3]);nr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));re(a,f);b=c[i>>2]|0;if((b|0)==1){nr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)nr(a,68005)|0;se(a);nr(a,134901)|0}l=j;return}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){qe(a);nr(a,68125)|0;xr(a,b,d);nr(a,67988)|0;do if(!e)if(!(c[41909]|0)){nr(a,82272)|0;break}else{nr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));re(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;nr(a,68099)|0;ur(a,+h[g+152>>3]);nr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));re(a,f);b=c[i>>2]|0;if((b|0)==1){nr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)nr(a,68005)|0;se(a);nr(a,134901)|0}l=j;return}function me(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){qe(a);nr(a,67974)|0;xr(a,b,d);nr(a,67988)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));re(a,i);nr(a,68099)|0;ur(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){nr(a,67996)|0;e=c[k>>2]|0}if((e|0)==2)nr(a,68005)|0;nr(a,68108)|0;se(a);nr(a,134901)|0}l=m;return}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){qe(a);nr(a,67974)|0;xr(a,b,d);nr(a,67988)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));re(a,g);b=c[h>>2]|0;if((b|0)==1){nr(a,67996)|0;b=c[h>>2]|0}if((b|0)==2)nr(a,68005)|0;se(a);nr(a,134901)|0}l=i;return}function oe(a,b){a=a|0;b=b|0;nr(a,67971)|0;nr(a,pe(b)|0)|0;nr(a,134901)|0;return}function pe(a){a=a|0;return a|0}function qe(b){b=b|0;if(!(a[b+144>>0]|0))nr(b,68096)|0;else nr(b,c[b+148>>2]|0)|0;return}function re(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{nr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){nr(b,82272)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;tr(b,68547,f);break a}default:ma(123205,68014,49,68078)}while(0);l=g;return}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=96273;e=f+8|0;break}case 10:{b=0;d=96273;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=96237;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=96237;e=f+8|0;break}case 0:{b=1;d=96286;e=f+8|0;break}case 4:{b=0;d=68050;e=f+8|0;break}case 1:{b=1;d=96286;e=f+8|0;break}case 5:{b=0;d=96286;e=f+8|0;break}default:ma(123205,68014,106,68033)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;tr(a,68062,g);l=h;return}function te(a){a=a|0;var b=0;nr(a,70986)|0;nr(a,70994)|0;b=a+12|0;nr(a,Ee(c[c[c[b>>2]>>2]>>2]|0)|0)|0;nr(a,71014)|0;nr(a,Ee(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;nr(a,71024)|0;nr(a,Ee(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;nr(a,71027)|0;return}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[41913]=~~(+h[b+232>>3]-+h[b+216>>3]);c[41912]=~~(+h[b+224>>3]-+h[b+208>>3]);nr(b,69673)|0;nr(b,69680)|0;d=En(c[d+8>>2]|0)|0;if(a[d>>0]|0){nr(b,69749)|0;nr(b,Ee(d)|0)|0;nr(b,69757)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;tr(b,69766,e);nr(b,69786)|0;nr(b,69821)|0;nr(b,69849)|0;nr(b,69855)|0;nr(b,69898)|0;nr(b,69939)|0;nr(b,69958)|0;nr(b,69975)|0;nr(b,70023)|0;nr(b,70076)|0;nr(b,70152)|0;nr(b,70228)|0;nr(b,70237)|0;nr(b,70260)|0;nr(b,70287)|0;nr(b,70340)|0;nr(b,70362)|0;nr(b,70407)|0;nr(b,70419)|0;nr(b,70429)|0;nr(b,70455)|0;nr(b,70340)|0;nr(b,70507)|0;nr(b,70407)|0;nr(b,70419)|0;nr(b,70551)|0;nr(b,70260)|0;nr(b,70287)|0;nr(b,70340)|0;nr(b,70507)|0;nr(b,70407)|0;nr(b,70419)|0;nr(b,70429)|0;nr(b,70455)|0;nr(b,70340)|0;nr(b,70362)|0;nr(b,70407)|0;nr(b,70419)|0;nr(b,70564)|0;nr(b,70572)|0;nr(b,70578)|0;nr(b,70592)|0;nr(b,70600)|0;nr(b,70633)|0;e=(c[41913]|0)+10|0;c[f>>2]=c[41912];c[f+4>>2]=e;tr(b,70710,f);nr(b,70740)|0;nr(b,70749)|0;nr(b,70807)|0;nr(b,70817)|0;nr(b,70882)|0;f=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=f;tr(b,70919,g);g=c[41913]|0;c[i>>2]=c[41912];c[i+4>>2]=g;tr(b,70947,i);l=j;return}function ve(a){a=a|0;nr(a,69224)|0;nr(a,69236)|0;nr(a,69244)|0;nr(a,69307)|0;nr(a,69236)|0;nr(a,69352)|0;nr(a,69401)|0;nr(a,69455)|0;nr(a,69236)|0;nr(a,69555)|0;nr(a,69604)|0;nr(a,69236)|0;nr(a,69656)|0;return}function we(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;nr(b,69182)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Ee(d)|0;tr(b,69185,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Ee(e)|0;tr(b,69196,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Ee(f)|0;tr(b,69208,i)}nr(b,69221)|0;l=j;return}function xe(a){a=a|0;nr(a,69176)|0;return}function ye(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i>3]=i}B=j+-8.0;k=+((c[41913]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);tr(b,68838,n);h[o>>3]=B;h[o+8>>3]=k;tr(b,68775,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;tr(b,68799,p);nr(b,68873)|0;nr(b,68907)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];tr(b,68997,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;tr(b,69016,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;tr(b,69033,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;tr(b,69051,v)}}else{c[q>>2]=c[g>>2];tr(b,68997,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];tr(b,69067,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(jK(g,122106)|0){c[z>>2]=g;tr(b,69087,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;tr(b,69097,y);break}default:ma(123205,68561,438,69118)}nr(b,69131)|0;nr(b,Ee(c[f>>2]|0)|0)|0;nr(b,69142)|0;nr(b,69165)|0;l=A;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;nr(a,68739)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[41913]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;tr(a,68775,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;tr(a,68799,f);Ie(a,d);nr(a,68621)|0;Ge(a);nr(a,68827)|0;l=e;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;nr(a,68344)|0;n=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=n;tr(a,68597,g);Ie(a,e);nr(a,68621)|0;Ge(a);nr(a,68624)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){nr(a,68651)|0;h[j>>3]=i;h[j+8>>3]=f;tr(a,68717,j);nr(a,68728)|0}else{h[k>>3]=i;h[k+8>>3]=f;tr(a,68717,k)}if((e|0)==(g|0))nr(a,68731)|0;e=e+1|0}nr(a,68460)|0;l=m;return}function Be(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;nr(a,68344)|0;h=c[41913]|0;c[e>>2]=c[41912];c[e+4>>2]=h;tr(a,68597,e);Ie(a,g);nr(a,68621)|0;Ge(a);nr(a,68624)|0;Je(a,b,d);nr(a,68637)|0;l=f;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;nr(a,68344)|0;g=c[41913]|0;c[f>>2]=c[41912];c[f+4>>2]=g;tr(a,68381,f);nr(a,68421)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){nr(a,68433)|0;m=+((c[41913]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;tr(a,68437,i);nr(a,68448)|0}else{m=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;tr(a,68437,j)}if((e|0)==(f|0))nr(a,68452)|0;e=e+1|0}nr(a,68456)|0;Ge(a);nr(a,68460)|0;l=k;return}function De(a,b){a=a|0;b=b|0;nr(a,68279)|0;nr(a,Ee(b)|0)|0;nr(a,68291)|0;return}function Ee(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[41910]|0;if(!d){c[41911]=64;d=xw(64)|0;c[41910]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[41911]|0;if((q|0)>(b+-8|0)){d=b<<1;c[41911]=d;d=zw(c[41910]|0,d)|0;c[41910]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=87187;t=26;break b}case 62:{e=4;b=87170;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=87181;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=87150;t=26;break b}case 39:{e=5;b=87175;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=PN(j|0,f|0,6)|0;g=IN(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Fe(p)|0)==0;e=b?5:1;b=b?87164:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?87157:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=NN(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=MN(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){YL(68297,46,1,c[13918]|0)|0;Ma(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[41910]|0}return 0}function Fe(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Ge(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;nr(a,68472)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));He(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;tr(a,68490,j)}switch(c[i+144>>2]|0){case 1:{nr(a,68507)|0;break}case 2:{nr(a,68525)|0;break}default:{}}nr(a,68542)|0;l=k;return}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{nr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){nr(b,120501)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;tr(b,68547,f);break a}default:ma(123205,68561,94,68581)}while(0);l=g;return}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)nr(a,68700)|0;else{d=c[a+16>>2]|0;nr(a,68670)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));He(a,f);nr(a,68697)|0}l=g;return}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=68651;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[41913]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;tr(a,68654,g);e=(f|0)==0?68667:174185;f=f+1|0}nr(a,83714)|0;l=i;return}function Ke(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;nr(a,73284)|0;nr(a,73299)|0;nr(a,73338)|0;nr(a,73387)|0;c[e>>2]=122106;c[e+4>>2]=73475;tr(a,73456,e);c[d>>2]=121990;c[d+4>>2]=73481;tr(a,73456,d);l=b;return}function Le(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=En(c[(c[a+16>>2]|0)+8>>2]|0)|0;tr(a,72237,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;tr(a,72259,d);nr(a,72406)|0;nr(a,73236)|0;l=b;return}function Me(a){a=a|0;nr(a,72220)|0;return}function Ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;tr(a,72190,h);g[41914]=+(O(d,-10)|0);l=f;return}function Oe(a){a=a|0;nr(a,72173)|0;return}function Pe(a){a=a|0;nr(a,72155)|0;return}function Qe(a){a=a|0;nr(a,72139)|0;return}function Re(a){a=a|0;nr(a,72118)|0;g[41914]=+g[41914]+-2.0;return}function Se(a){a=a|0;nr(a,72099)|0;return}function Te(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=En(c[(c[a+16>>2]|0)+8>>2]|0)|0;tr(a,72077,d);l=b;return}function Ue(a){a=a|0;nr(a,72061)|0;return}function Ve(a){a=a|0;nr(a,72043)|0;g[41914]=+g[41914]+-5.0;return}function We(a){a=a|0;nr(a,72027)|0;g[41914]=+g[41914]+5.0;return}function Xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;tr(b,71873,n);g[41915]=+g[41914]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=bf(b,71925,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=bf(b,71142,m)|0;f=+g[41915];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=bf(b,71174,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=cf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=72012;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=bf(b,71937,q)|0;nr(b,q)|0;$I(q);$I(i);$I(o);$I(d);$I(n);l=r;return}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;nr(a,71750)|0;g[41915]=+g[41914]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=bf(a,71110,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=bf(a,71142,e)|0;A=+g[41915];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=bf(a,71174,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=cf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=bf(a,71765,n)|0;nr(a,w)|0;$I(b);$I(e);$I(f);$I(v);$I(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=bf(a,71110,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=bf(a,71142,r)|0;A=+g[41915];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=bf(a,71174,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=cf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=bf(a,71811,y)|0;nr(a,y)|0;$I(f);$I(e);$I(b);$I(x);$I(y)}l=z;return}function Ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;nr(a,71615)|0;g[41915]=+g[41914]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=bf(a,71110,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=bf(a,71142,m)|0;L=+g[41915]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=bf(a,71174,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=cf(a,B,0.0)|0;c[f>>2]=71237;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=bf(a,71206,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=bf(a,71251,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=bf(a,71280,r)|0;$I(M);$I(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=bf(a,71251,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=bf(a,71280,t)|0;$I(x);$I(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=bf(a,71630,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=bf(a,71335,v)|0;$I(x);nr(a,M)|0;$I(k);$I(m);$I(n);$I(j);$I(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=bf(a,71110,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=bf(a,71142,z)|0;N=+g[41915]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=bf(a,71174,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=cf(a,B,.25)|0;c[D>>2]=d;i=0;f=bf(a,71675,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=bf(a,71690,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=bf(a,71712,H)|0;$I(D);$I(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=bf(a,71722,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=bf(a,71335,J)|0;$I(I);nr(a,M)|0;$I(n);$I(m);$I(k);$I(j);$I(M)}l=K;return}function _e(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;nr(a,71542)|0;g[41915]=+g[41914]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=bf(a,71110,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=bf(a,71142,s)|0;C=+g[41915]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=bf(a,71174,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=cf(a,e,0.0)|0;c[k>>2]=71556;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=bf(a,71206,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=bf(a,71251,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=bf(a,71280,w)|0;$I(k);$I(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=bf(a,71251,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=bf(a,71280,y)|0;$I(k);$I(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=bf(a,71565,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=bf(a,71335,A)|0;$I(b);nr(a,d)|0;$I(r);$I(s);$I(t);$I(n);$I(d);l=B;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;nr(a,71094)|0;g[41915]=+g[41914]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=bf(a,71110,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=bf(a,71142,n)|0;w=+g[41915];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=bf(a,71174,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=cf(a,e,0.0)|0;c[m>>2]=71237;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=bf(a,71206,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=bf(a,71251,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=bf(a,71280,s)|0;$I(x);$I(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=bf(a,71289,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=bf(a,71335,u)|0;$I(t);nr(a,x)|0;$I(q);$I(n);$I(o);$I(i);$I(x);l=v;return}function af(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;tr(a,71075,e);l=d;return}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=MK(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=_I(g+1|0)|0;c[f>>2]=d;rL(a,b,f)|0;break}else{a=HL(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=zJ(c[(kJ()|0)>>2]|0)|0;hb[a&31](71520,h);a=HL(174185)|0}while(0);l=i;return a|0}function cf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(yJ(f,121094)|0)){c[k>>2]=71357;h[k+8>>3]=e;f=bf(a,71340,k)|0;break a}if(!(yJ(f,118224)|0)){c[m>>2]=71361;h[m+8>>3]=e;f=bf(a,71340,m)|0;break a}if(!(yJ(f,116223)|0)){c[p>>2]=71367;h[p+8>>3]=e;f=bf(a,71340,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=bf(a,71340,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=bf(a,71372,i)|0;break}default:{p=c[13918]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;AL(p,71411,j)|0;ma(123205,71461,436,71481)}}while(0);c[o>>2]=f;p=bf(a,71498,o)|0;$I(f);l=q;return p|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=73927;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;tr(a,76546,g);f=En(c[f+8>>2]|0)|0;c[e>>2]=73927;c[e+4>>2]=f;tr(a,76578,e);c[d>>2]=73927;tr(a,76592,d);l=b;return}function ef(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=73927;tr(a,76494,d);l=b;return}function ff(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4007]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}sf();c[4007]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;tr(a,74114,m);c[n>>2]=73927;tr(a,74129,n);if(d>0.0){b=+GJ(d);h[16877]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[16877]=b;h[B>>3]=b;h[B+8>>3]=b;tr(a,74298,B);c[S>>2]=73927;tr(a,74333,S);c[o>>2]=73927;tr(a,74391,o);c[p>>2]=73927;tr(a,74451,p);c[q>>2]=73927;tr(a,74500,q);c[r>>2]=73927;tr(a,74539,r);c[s>>2]=73927;tr(a,74590,s);c[t>>2]=73927;tr(a,74652,t);c[u>>2]=73927;tr(a,74762,u);c[v>>2]=73927;tr(a,74853,v);c[w>>2]=73927;tr(a,74907,w);c[x>>2]=73927;tr(a,74976,x);tr(a,75012,y);c[z>>2]=73927;tr(a,75137,z);c[A>>2]=73927;tr(a,75166,A);tr(a,75206,C);c[E>>2]=73927;tr(a,75299,E);c[F>>2]=73927;tr(a,75358,F);c[G>>2]=73927;tr(a,75439,G);tr(a,75509,H);c[I>>2]=73927;tr(a,75598,I);c[J>>2]=73927;tr(a,75703,J);c[K>>2]=73927;tr(a,75779,K);c[L>>2]=73927;tr(a,75818,L);c[M>>2]=73927;tr(a,75917,M);c[N>>2]=73927;tr(a,75963,N);tr(a,76052,O);c[P>>2]=73927;tr(a,76093,P);c[Q>>2]=73927;tr(a,76176,Q);c[R>>2]=73927;tr(a,76277,R);h[T>>3]=e;h[T+8>>3]=d;tr(a,76341,T);tr(a,76369,U);tr(a,76377,V);l=W;return}function gf(a){a=a|0;var b=0;b=l;l=l+16|0;tr(a,74107,b);l=b;return}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[41916]|0;if(d|0?(yJ(d,f)|0)==0:0)break;c[o>>2]=qf(f)|0;tr(b,74006,o);o=c[m>>2]|0;c[41916]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[41917]|0)){j=+h[16877];c[p>>2]=f;h[p+8>>3]=j;tr(b,74014,p);c[41917]=f}c[q>>2]=rf(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;tr(b,74035,q);l=r;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?73948:174185;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;tr(a,73954,f);l=e;return}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;of(c[a+16>>2]|0,e+8|0,e);pf(a,b,d,1);l=e;return}function lf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=_I((d*140|0)+140|0)|0;of(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(qL(j,73932,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;QA(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(qL(e,73932,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;tr(a,73939,q);$I(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;tr(a,73944,s);e=e+1|0}nr(a,134901)|0;l=t;return}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;of(c[a+16>>2]|0,e+8|0,e);pf(a,b,d,0);l=e;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=73927;c[e+4>>2]=b;tr(a,73920,e);l=d;return}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));tr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));tr(a,73932,i)}nr(a,134901)|0;l=j;return}function qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15756;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(yJ(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=74088;c[f+4>>2]=b;$l(1,74062,f)|0;d=IL(b,45)|0;if(!d){d=74105;break}a[d>>0]=0}l=h;return d|0}function rf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41918]|0;if(!d){c[41919]=64;d=_I(64)|0;c[41918]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41919]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41919]=d;d=bJ(c[41918]|0,d)|0;c[41918]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;qL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41918]|0}function sf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=74088;c[b+4>>2]=76485;$l(0,76467,b)|0;l=a;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;tr(a,77065,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;tr(a,77107,f);l=e;return}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;tr(a,77152,f);nr(a,77244)|0;l=e;return}function vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function wf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)ma(96061,77249,212,77268);if(!b)ma(96091,77249,213,77268);p=b+8|0;if(!(c[p>>2]|0))ma(96094,77249,214,77268);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){tr(a,77289,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;tr(a,77292,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;tr(a,77292,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;tr(a,77299,n)}tr(a,77289,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;tr(a,77292,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;tr(a,77292,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;tr(a,77314,s)}l=t;return}function xf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)ma(96061,77249,153,77330);if(!d)ma(96091,77249,154,77330);if(!(c[d+8>>2]|0))ma(96094,77249,155,77330);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==84)g=18;else{gb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((Nr(d)|0)<<24>>24))break;f=AN(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){$L(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=qJ(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=84;Or(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;tr(b,77348,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];tr(b,77379,m)}else gy(b,d);tr(b,77394,n)}l=o;return}function yf(a){a=a|0;oJ(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)ma(96061,77249,121,77404);e=c[a+16>>2]|0;if(!e)ma(84921,77249,123,77404);if(!b)ma(96091,77249,124,77404);d=b+8|0;if(!(c[d>>2]|0))ma(96094,77249,125,77404);if(!(c[e+8>>2]|0))ma(123690,77249,128,77404);else{tr(a,77424,g);tr(a,77433,g+8|0);tr(a,77460,g+16|0);tr(a,77485,g+24|0);tr(a,77514,g+32|0);tr(a,77542,g+40|0);c[f>>2]=c[d>>2];tr(a,77549,f);tr(a,77588,g+56|0);tr(a,95830,g+64|0);l=g;return}}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)ma(96061,77249,97,77593);if(!b)ma(96091,77249,98,77593);e=c[b+8>>2]|0;if(!e)ma(96094,77249,99,77593);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;tr(a,77612,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;tr(a,77670,g);l=i;return}}function Bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)ma(96061,77249,53,77702);if(!b)ma(96091,77249,54,77702);e=b+8|0;if(!(c[e>>2]|0))ma(96094,77249,55,77702);nr(a,77721)|0;nr(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;tr(a,77850,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;tr(a,77741,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;tr(a,77820,m)}nr(a,77929)|0;l=o;return}function Cf(a){a=a|0;var b=0,c=0;b=eo(a)|0;while(1){if(!b)break;Df(b);b=fo(a,b)|0}c=eo(a)|0;while(1){if(!c)break;b=Qm(a,c)|0;while(1){if(!b)break;Ef(b);b=Sm(a,b)|0}c=fo(a,c)|0}return}function Df(a){a=a|0;var b=0,d=0;Oo(a,122241,304,1)|0;XA(a);LB(a,c[(c[(so(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=ww(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=ww(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=ww(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=ww(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=ww(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Ef(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;Oo(d,122254,176,1)|0;YA(d)|0;h=EA(d,c[42219]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=GA(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[42213]|0,174185)|0;i=GA(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[42213]|0,174185)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Ak(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(EA(d,c[42232]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(EA(d,c[42220]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Ff(a){a=a|0;var b=0,d=0;Gf(c[(c[a+16>>2]|0)+192>>2]|0);d=eo(a)|0;while(1){if(!d)break;b=Qm(a,d)|0;while(1){if(!b)break;sB(b);b=Sm(a,b)|0}Hf(d);d=fo(a,d)|0}If(a);return}function Gf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Jf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){$I(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){$I(e);d=c[f>>2]|0}$I(d);$I(b);b=g}return}function Hf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){$I(d);b=c[e>>2]|0}pw(c[b+104>>2]|0);pw(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)gb[c[(c[b+4>>2]|0)+4>>2]&127](a);Qo(a,122241)|0;return}function If(a){a=a|0;var d=0,e=0,f=0;d=Kp(a)|0;while(1){if(!d)break;If(d);d=Lp(d)|0}if(Oo(a,122277,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){$I(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){$I(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){$I(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;$I(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){$I(e+-64|0);break}else{$I(e);break}}while(0);if((to(a)|0)!=(a|0)){pw(c[(c[f>>2]|0)+12>>2]|0);Qo(a,122277)|0}}return}function Jf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;Yg(b);$I(c[b+16>>2]|0);$I(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;Yg(b);$I(c[b+16>>2]|0);$I(b);b=a}return}function Kf(a){a=a|0;if(nn(a)|0)Lf(a);ay(a);return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=ft(a,-1,8)|0;d=gt(a,0,f)|0;et(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Mf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=Cs(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Mf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Mf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Nf(b,a);Mf(b);d=d+1|0;b=c[g>>2]|0}Of(a);dt(c[g>>2]|0,e,a,f)|0;Pf(a);Qf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;$I(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);If(c[f>>2]|0);ro(a,c[f>>2]|0)|0;b=b+1|0}$I(e)}l=h;return}function Mf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=EA(a,zm(a,0,77944,0)|0,-1,1)|0;JB(a,10);d=zk(a,e)|0;Sf(a,a);Cf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){lj(a,d);if(f){d=3;break}if(c[g>>2]|0){$l(0,77950,k)|0;c[e>>2]=0;d=0}vh(a,(d|0)!=0&1);if(h){d=7;break}yi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)Tf(a,1);else if((d|0)==7)Tf(a,2);else if((d|0)==9)Tf(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)Uf(a);fk(a);Yf(a);if((JA(Jm(a,78041)|0)|0)<<24>>24)$k(a)}l=m;return}function Nf(b,d){b=b|0;d=d|0;var e=0,f=0;Oo(b,122277,280,1)|0;e=ww(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Of(a){a=a|0;var b=0,d=0,e=0;b=ww((nn(a)|0)<<4)|0;d=eo(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=fo(a,d)|0}return}function Pf(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(eo(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=eo(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=fo(a,d)|0}$I(e);return}function Qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=ww((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=Bs(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;Rf(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function Rf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Oo(d,122277,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=ww((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=Bs(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;Rf(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function Sf(a,b){a=a|0;b=b|0;if((to(a)|0)!=(a|0))Oo(a,122277,280,1)|0;if((a|0)==(b|0))c[(c[(to(a)|0)+16>>2]|0)+188>>2]=a;a=Kp(a)|0;while(1){if(!a)break;Sf(a,b);a=Lp(a)|0}return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=zm(a,1,80018,174185)|0;g=zm(a,1,78084,174185)|0;h=(b|0)>0;d=(b|0)==1;b=eo(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],qL(e,122187,j)|0,Dm(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];qL(e,122187,k)|0;Dm(b,g,e)|0}b=fo(a,b)|0}l=m;return}function Uf(a){a=a|0;var b=0,c=0,d=0;c=Jp(a,79522,0)|0;if(c|0){b=eo(c)|0;while(1){if(!b)break;d=fo(c,b)|0;eh(a,b);Vf(a,b);Hf(b);qo(a,b)|0;b=d}Np(a,c)|0}return}function Vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)ma(78050,78057,248,78067);return}function Wf(a){a=a|0;return c[(c[(to(a)|0)+16>>2]|0)+188>>2]|0}function Xf(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function Yf(a){a=a|0;Zf(a,1);return}function Zf(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){_f(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{$l(0,78090,f)|0;A=9}}else if(X<<16>>16==8){_f(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){MB(d,0);n=0;m=0;k=0;break}else{$f(d);MB(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){Zk(d);if(my()|0)break;W=ww(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=ww(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?($a[c[17228>>2]&31](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{ag(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=zw(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;ag(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=zw(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}ag(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=zw(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)ma(78158,78171,313,78184);c[Y>>2]=H;c[F>>2]=I;sL(E,L,4,10);c[W+84>>2]=ww((D<<5)+11520|0)|0;c[Y+16>>2]=ww(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){cg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=dg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;UN(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(dg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;UN(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Xf(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Xf(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=ww(w<<2)|0;c[f>>2]=dg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}vy(d,f,w,P,17224);if((w|0)>1)$I(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){eg(d,Y,W,M,x,w,P);x=u;continue}else{fg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);Sz(W,M,x,w,y,+((f|0)/2|0|0),17224);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)cB(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){cg(g);cB(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{gg(d);n=W;k=W}}f:do if((c[42242]|0)!=0|(c[42243]|0)!=0?(c[42248]|0)!=0|(c[42247]|0)!=0:0){j=eo(d)|0;while(1){if(!j)break f;g:do if(c[42242]|0){f=Tm(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){_z(i,1)|0;cB(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Um(d,f)|0}}while(0);h:do if(c[42243]|0){f=Qm(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?_z(f,0)|0:0)cB(d,c[(c[g>>2]|0)+104>>2]|0);f=Sm(d,f)|0}}while(0);j=fo(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{$I(m);$I(c[n+84>>2]|0);$I(k);$I(c[Y+16>>2]|0);ny()}}c[42182]=1;c[42183]=1}while(0);l=Z;return}function _f(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=eo(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=fo(a,b)|0}return}function $f(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;cg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}cB(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)ma(78358,78171,234,78377);else if((d|0)==12)return}function ag(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function bg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=dg(C)|0;r=dg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){UN(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{UN(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Xf(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Xf(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function cg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function dg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function eg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){UN(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Eg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Fg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Hg(b,d,e,o,q,y,1);Hg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[16878]=G;h[16879]=E;k=k+1|0;C=+(k|0);D=v*C;h[16880]=F+D;C=E+m*C;h[16881]=C;h[16882]=G;h[16883]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[16884]=G;h[16885]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[16888]=G;h[16887]=F;h[16886]=E-D;h[16889]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Mz(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=135024+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];Mz(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Mz(e,x);o=n}if(p)n=oy(e,A)|0;else n=uy(e,A)|0;o=c[A>>2]|0;if(!o)break a;Kz(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17224);c[q>>2]=0}}Gg(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Dg(b,f,g,i,q,j);l=B;return}function fg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[41920]|0)){c[41920]=xw(32e3)|0;c[41921]=xw(32e3)|0;c[41922]=2e3;c[41923]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;UN(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{UN(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){UN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;UN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=dg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=jg(b,K,c[41920]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;kg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];Nz(e,K,1,T,lg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];mg(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if(($a[c[17228>>2]&31](p)|0)<<24>>24)break b;o=t|1;ca=135024+(t<<5)|0;ng(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=og(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=135024+(o<<5)|0;kg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}kg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];Qz(e,u,1,U,lg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];mg(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;pg(e,I,u,T,U,o);if(!G){k=uy(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];VN(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=oy(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[41922]|0)){c[41922]=p<<1;t=zw(c[41920]|0,p<<5)|0;c[41920]=t;o=c[X>>2]|0}else t=c[41920]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=qg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;rg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;kg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];Nz(e,o,1,T,lg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];mg(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=135024+(t<<5)|0;ng(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];kg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;Qz(e,r?Y:u,1,U,lg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];mg(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}pg(e,I,u,T,U,k);if(G)q=oy(e,X)|0;else q=uy(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];VN(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[41922]|0)){c[41922]=n<<1;p=zw(c[41920]|0,n<<5)|0;c[41920]=p;k=c[X>>2]|0}else p=c[41920]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;rg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){Kz(K,c[_>>2]|0,c[41920]|0,v,17224);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[41922]|0;if((k|0)>(c[41923]|0)){c[41923]=k;o=zw(c[41921]|0,k<<4)|0;c[41921]=o;n=c[41920]|0}else o=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}Kz(K,c[_>>2]|0,o,v,17224);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;UN(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}Kz(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17224);q=q+1|0}}while(0);l=ba;return}function gg(a){a=a|0;var b=0,d=0,e=0;b=eo(a)|0;while(1){if(!b)break;d=Qm(a,b)|0;while(1){if(!d)break;if(($a[c[4306]&31](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)hg(e);d=Sm(a,d)|0}b=fo(a,b)|0}return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=xw(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}ig(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;$I(c[d+(b*48|0)>>2]|0);b=b+1|0}$I(d);c[a>>2]=g;return}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=xw(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Bg(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Bg(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Bg(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Bg(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(so(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Cg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function kg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=xg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=yg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=xg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=yg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function lg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{wg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{wg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function og(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function pg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=tg(b,-1)|0;b=tg(b,1)|0;if(!((h|0)!=0?!($z(h)|0):0))i=3;do if((i|0)==3){if(b|0?($z(b)|0)==0:0)break;h=ug(d,-1)|0;b=ug(d,1)|0;if(h|0?($z(h)|0)==0:0)break;if(b|0?($z(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];Mz(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=135024+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];Mz(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];Mz(a,j);h=b}vg(a,d,i)}while(0);l=k;return}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function rg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if(($a[c[17228>>2]&31](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){sg(j,i,~~((f+g)*.5),~~f);break}else{sg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0>3]=e+16.0;g=j}return}function wg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function xg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Ag(b,d,e,f)|0)<<24>>24!=0);return b|0}function yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(zg(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(zg(d,e)|0)==0;return (e?0:d)|0}}return d|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function Ag(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Dg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((Cy(J)|0)!=2?(Cy(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Fg(J,B,d,e,f,i);break}else{Kg(J,B,d,e,f,i,g);break}y=ww(156)|0;z=Lg(b,y)|0;t=Jp(z,78320,1)|0;Oo(t,122277,280,1)|0;Lm(t,80018,80032)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=Mg(t,q)|0;u=Mg(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=Ng(z,t,u,o)|0;else k=Ng(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=bn(z,t,u,0,1)|0;else x=g;Dm(x,c[42219]|0,78324)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;JB(z,i);Cf(z);lj(z,0);vh(z,0);yi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}fk(z);Zf(z,0);ay(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=Jz(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];fu((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Og(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;cB(b,T)}}r=r+1|0}Pg(z,y)}else Q=3;while(0);if((Q|0)==3?(c[41924]|0)==0:0){c[41924]=1;$l(0,78197,O)|0;Q=En(J)|0;S=(rn(b)|0)!=0;T=En(B)|0;c[P>>2]=Q;c[P+4>>2]=S?122546:122549;c[P+8>>2]=T;$l(3,78303,P)|0}l=R;return}function Eg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Hg(b,d,e,p,f,t,1);Hg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[16878]=A;h[16879]=+h[t+56+(m<<5)+24>>3];h[16880]=E;h[16881]=B;h[16882]=A;h[16883]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[16884]=A;h[16885]=D;h[16886]=C;h[16889]=B;h[16887]=+h[v+56+(i<<5)+24>>3];h[16888]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];Mz(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=135024+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];Mz(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];Mz(e,u);j=i}if((g|0)==10)j=oy(e,w)|0;else j=uy(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Bg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Bg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)Kz(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17224);l=z;return}function Fg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Bg(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Bg(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Jg(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Jg(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Jg(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Jg(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Jg(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Jg(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Jg(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Jg(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;Kz(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17224);i=i+z;b=b+1|0}l=N;return}function Gg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Ig(a,d,e,q,j,w,1);Ig(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[16878]=D;h[16881]=B;m=m+1|0;z=+(m|0);A=s*z;h[16880]=C+A;z=B-n*z;h[16879]=z;h[16882]=D;h[16885]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[16884]=D;h[16883]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[16888]=D;h[16889]=C;h[16886]=B-A;h[16887]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Mz(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=135024+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];Mz(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Mz(e,t);p=o}if(a)o=uy(e,v)|0;else o=oy(e,v)|0;p=c[v>>2]|0;if(!p)break;Kz(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17224);c[d>>2]=0}l=x;return}function Hg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;kg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))Qz(d,f,2,g,0);else Nz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];mg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Ig(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;kg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))Qz(d,f,2,g,0);else Nz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];mg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Jg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Kg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=ww(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}sL(U,g,4,11);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Bg(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Bg(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];Kz(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17224);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=ky(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;Kz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=ky(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;Kz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0;p=t}$I(U)}while(0);l=Y;return}function Lg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(rn(b)|0)==0;j=j?17648:17640;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=hn(78335,f,0)|0;Oo(f,122277,280,1)|0;zm(f,0,80018,174185)|0;j=ww(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=Em(to(b)|0,1,0)|0;while(1){if(!e)break;zm(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Em(to(b)|0,1,e)|0}e=Em(to(b)|0,2,0)|0;while(1){if(!e)break;zm(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Em(to(b)|0,2,e)|0}if(!(zm(f,2,96251,0)|0))zm(f,2,96251,174185)|0;if(!(zm(f,2,96242,0)|0))zm(f,2,96242,174185)|0;Qg(f,d);l=g;return f|0}function Mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=oo(a,En(b)|0,1)|0;Oo(a,122241,304,1)|0;Nm(b,a)|0;if((Cy(b)|0)==2){f=b+16|0;b=xw((sJ(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];qL(b,78330,d)|0;Lm(a,86240,b)|0}l=e;return a|0}function Ng(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=bn(a,b,c,0,1)|0;Oo(c,122254,176,1)|0;Nm(d,c)|0;return c|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Bg(a,f,g);l=i;return}function Pg(a,b){a=a|0;b=b|0;c[42234]=c[b>>2];c[42238]=c[b+4>>2];c[42239]=c[b+8>>2];c[42219]=c[b+12>>2];c[42220]=c[b+16>>2];c[42226]=c[b+20>>2];c[42225]=c[b+24>>2];c[42224]=c[b+28>>2];c[42250]=c[b+32>>2];c[42242]=c[b+36>>2];c[42227]=c[b+40>>2];c[42237]=c[b+44>>2];c[42246]=c[b+48>>2];c[42245]=c[b+52>>2];c[42244]=c[b+56>>2];c[42249]=c[b+60>>2];c[42243]=c[b+64>>2];c[42228]=c[b+68>>2];c[42190]=c[b+72>>2];c[42191]=c[b+76>>2];c[42192]=c[b+80>>2];c[42202]=c[b+84>>2];c[42195]=c[b+88>>2];c[42196]=c[b+92>>2];c[42197]=c[b+96>>2];c[42199]=c[b+100>>2];c[42200]=c[b+104>>2];c[42203]=c[b+108>>2];c[42206]=c[b+112>>2];c[42204]=c[b+116>>2];c[42205]=c[b+120>>2];c[42208]=c[b+124>>2];c[42207]=c[b+128>>2];c[42209]=c[b+132>>2];c[42210]=c[b+136>>2];c[42201]=c[b+140>>2];c[42213]=c[b+144>>2];c[42185]=c[b+148>>2];c[42182]=c[b+152>>2];$I(b);Ff(a);mn(a)|0;return}function Qg(a,b){a=a|0;b=b|0;c[b>>2]=c[42234];c[b+4>>2]=c[42238];c[b+8>>2]=c[42239];c[b+12>>2]=c[42219];c[b+16>>2]=c[42220];c[b+20>>2]=c[42226];c[b+24>>2]=c[42225];c[b+28>>2]=c[42224];c[b+32>>2]=c[42250];c[b+36>>2]=c[42242];c[b+40>>2]=c[42227];c[b+44>>2]=c[42237];c[b+48>>2]=c[42246];c[b+52>>2]=c[42245];c[b+56>>2]=c[42244];c[b+60>>2]=c[42249];c[b+64>>2]=c[42243];c[b+68>>2]=c[42228];c[b+72>>2]=c[42190];c[b+76>>2]=c[42191];c[b+80>>2]=c[42192];c[b+84>>2]=c[42202];c[b+88>>2]=c[42195];c[b+92>>2]=c[42196];c[b+96>>2]=c[42197];c[b+100>>2]=c[42199];c[b+104>>2]=c[42200];c[b+108>>2]=c[42203];c[b+112>>2]=c[42206];c[b+116>>2]=c[42204];c[b+120>>2]=c[42205];c[b+124>>2]=c[42208];c[b+128>>2]=c[42207];c[b+132>>2]=c[42209];c[b+136>>2]=c[42210];c[b+140>>2]=c[42201];c[b+144>>2]=c[42213];c[b+152>>2]=c[42182];c[b+148>>2]=c[42185];c[42234]=0;c[42238]=zm(a,2,80259,0)|0;c[42239]=zm(a,2,80268,0)|0;b=zm(a,2,86614,0)|0;c[42219]=b;if(!b)c[42219]=zm(a,2,86614,174185)|0;c[42220]=0;c[42226]=0;c[42225]=zm(a,2,86494,0)|0;c[42224]=zm(a,2,86485,0)|0;c[42250]=zm(a,2,86790,0)|0;c[42242]=0;c[42227]=zm(a,2,86240,0)|0;c[42237]=zm(a,2,78340,0)|0;c[42246]=0;c[42245]=zm(a,2,86690,0)|0;c[42244]=zm(a,2,86676,0)|0;c[42249]=zm(a,2,86781,0)|0;c[42243]=0;c[42228]=0;c[42190]=zm(a,1,96049,0)|0;c[42191]=zm(a,1,96043,0)|0;c[42192]=zm(a,1,90671,0)|0;c[42202]=0;c[42195]=zm(a,1,86485,0)|0;c[42196]=zm(a,1,86494,0)|0;c[42197]=0;c[42199]=zm(a,1,86240,0)|0;c[42200]=0;c[42203]=0;c[42206]=zm(a,1,86446,0)|0;c[42204]=zm(a,1,86529,0)|0;c[42205]=zm(a,1,86535,0)|0;c[42208]=zm(a,1,86547,0)|0;c[42207]=zm(a,1,86385,0)|0;c[42209]=zm(a,1,86552,0)|0;c[42210]=zm(a,1,78352,0)|0;c[42201]=0;c[42213]=0;c[42185]=zm(a,0,86446,0)|0;return}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(fg)a=-1;else a=i>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function Tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Ug(a,f,b,e)|0;l=d;return b|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Ug(a,f,b,e)|0;l=d;return b|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=xw((c[d+184>>2]<<2)+8|0)|0;else b=zw(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=xw((c[b+176>>2]<<2)+8|0)|0;else b=zw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function Yg(a){a=a|0;if(!a)ma(78393,78403,117,78412);else{Xg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);Xg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function Zg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=xw((c[d+208>>2]<<2)+8|0)|0;else b=zw(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function _g(a){a=a|0;$g(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=xw((e<<2)+8|0)|0;else d=zw(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function ah(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=ww(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=ww(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function bh(a,b,c){a=a|0;b=b|0;c=c|0;return Wg(ah(a,b,c)|0)|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))ma(78429,78403,215,78445);else return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))ma(78455,78403,220,78462);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)ma(78475,78403,221,78462);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function eh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(fh(a,b)|0))ma(78494,78403,231,78515);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function fh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function gh(b){b=b|0;var d=0,e=0,f=0,g=0;d=ww(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=ww(304)|0;c[d+24>>2]=to(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=ww(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=ww(20)|0;c[(c[e>>2]|0)+180>>2]=f;ch(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=xw((c[e+192>>2]<<2)+8|0)|0;else e=zw(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=xw((c[e+200>>2]<<2)+8|0)|0;else e=zw(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(Wf(b)|0)+16>>2]|0)+240>>0]=1;return}function ih(a){a=a|0;var b=0,d=0;if(!a)ma(78393,78403,269,78532);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;Xg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);Xg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;kh(a,b);break}else ma(80440,78403,340,78570);else $l(0,78549,f)|0;while(0);l=f;return}function kh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function lh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;mh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))nh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;mh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function mh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function nh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)ma(78393,78403,128,78583);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))Xg(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){Xg(d,a);b=c[a>>2]|0}f=f+1|0}return}function oh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[17644]|0;a[n+1>>0]=a[17645]|0;a[n+2>>0]=a[17646]|0;a[n+3>>0]=a[17647]|0;d=hn(78605,n,0)|0}c[o>>2]=g;qL(m,122187,o)|0;t=oo(d,m,1)|0;Oo(t,78608,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((nn(d)|0)>1)ph(d,h);mn(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=eo(a)|0;a:while(1){if(!h)break;i=fo(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))bn(a,h,g,0,1)|0}else{bn(a,g,h,0,1)|0;d=1}g=fo(a,g)|0}}do if(d|0){h=Jp(a,78613,1)|0;j=ww((nn(a)|0)<<2)|0;i=ww((nn(a)|0)<<2)|0;f=b+4|0;e=eo(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?pn(a,e,1,1)|0:0){c:do if(qh(a,e,h,i)|0){g=nn(h)|0;if((rh(a,h,j)|0)!=(g|0)){d=17;break b}sL(i,g,4,12);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);th(h)}e=fo(a,e)|0}if((d|0)==17)ma(78618,78628,265,78639);else if((d|0)==23){$I(j);break}}while(0);return}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((nn(d)|0)<<2)>>2]=h;jo(d,b,1)|0;h=Qm(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(qh(a,g,d,e)|0)+f|0;h=Sm(a,h)|0}h=Tm(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(qh(a,g,d,e)|0)+f|0;h=Um(a,h)|0}return f|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=uh(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];qo(b,e)|0;e=Qm(a,e)|0;while(1){if(!e)break;g=Sm(a,e)|0;en(a,e)|0;e=g}f=f+1|0}return f|0}function sh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function th(a){a=a|0;var b=0,c=0;b=eo(a)|0;while(1){if(!b)break;c=fo(a,b)|0;qo(a,b)|0;b=c}return}function uh(a,b){a=a|0;b=b|0;var c=0;c=eo(b)|0;while(1){if(!c){c=0;break}if(!(pn(a,c,1,0)|0))break;c=fo(b,c)|0}return c|0}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;wh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;xh(b,f);f=f+1|0;e=(yh(b,0,d)|0)+e|0}zh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Ah(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=Jm(b,78653)|0;if(f|0?(JA(f)|0)<<24>>24==0:0)break;Zk(b);a[173897]=1;e=yh(b,2,d)|0}while(0);Bh(b,e);return}function wh(d){d=d|0;var e=0;if(0)yA();a[173897]=0;c[41927]=d;e=((on(Wf(d)|0)|0)<<2)+4|0;c[41926]=ww(e)|0;c[41925]=ww(e)|0;ri(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)si(d);Gk(d);ul(d,1);ti(d);Ih(d);e=c[e>>2]|0;c[41928]=b[e+236>>1];c[41929]=b[e+238>>1];return}function xh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=Yh(0)|0;Zh(a)}else e=2147483647;m=c[13918]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[42181]|0;if((k|0)==2)if((e|0)>(b|0)){$h(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((Wf(a)|0)==(a|0))_h(a,k);if(!k)Jh(a);Kh(a);g=Yh(0)|0;if((g|0)>(b|0)){f=e;e=g}else{Zh(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;AL(m,79046,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[41930]|0))break;ai(a,j);e=Yh(0)|0;if((e|0)>(b|0))g=i;else{Zh(a);g=+h[20878]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))$h(a);if((b|0)>0){bi(a,0);e=Yh(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;ci(a);b=b+1|0}}while(0);l=o;return e|0}function zh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;Xh(a);k=a+16|0;d=c[k>>2]|0;m=c[13918]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=En(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;AL(m,78996,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Tk(a);Ih(a);Jh(a);Kh(a);f=a+16|0;d=yh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Ah(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Lh(a);return d|0}function Bh(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[41925]|0;if(f|0){$I(f);c[41925]=0}f=c[41926]|0;if(f|0){$I(f);c[41926]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Ch(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){ih(i);$I(c[j>>2]|0);$I(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Dh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[13918]|0;d=En(d)|0;r=+zA();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;AL(o,78664,p)|0}l=q;return}function Ch(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Ch(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Eh(a,j,-1)|0;j=Eh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(Wf(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Dh(a){a=a|0;if(a|0){$I(c[a+8>>2]|0);$I(a)}return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Fh(b,c)|0;if(!b)break;if(Gh(a,b)|0){d=b;continue}e=(Hh(a,b)|0)==0;d=e?d:b}return d|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)ma(78703,78628,1023,78705);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else ma(78714,78628,1029,78705);else g=0}return g|0}function Gh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(Co(b,d)|0)!=0&1;else b=0;return b|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(Co(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Ih(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[42185]|0;a:do if((d|0)!=0|(c[42206]|0)!=0){d=GA(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(yJ(d,78916)|0)){Sh(b,1);break a}break}case 105:{if(!(yJ(d,83705)|0)){Sh(b,0);break a}break}default:{}}c[e>>2]=d;$l(1,78920,e)|0;break}d=Kp(b)|0;while(1){if(!d)break;if(!(Dj(d)|0))Ih(d);d=Lp(d)|0}if(c[42206]|0)Th(b)}while(0);l=f;return}function Jh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Qh(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){Rh(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Kh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=xw(e)|0;else p=zw(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((Mh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((Mh(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Nh(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(Mh(d,g)|0){t=37;break a}ih(g);Oh(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)ma(78762,78628,1561,78801);if(h|0)$I(q)}return}function Lh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Mh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Ph(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Ph(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Nh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Mh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Nh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else ma(78814,78628,1490,78830);return 0}function Oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}jh(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=xw((c[e+208>>2]<<2)+8|0)|0;else e=zw(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=ah(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];hh(b,m)}return}function Ph(a,b){a=a|0;b=b|0;var c=0;c=Gh(a,b)|0;return Hh(a,b)|0|c|0}function Qh(a,b){a=a|0;b=b|0;var d=0;d=ww(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=ww(O(b,a)|0)|0;return d|0}function Rh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(Wf(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((Co(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(Co(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;ih(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Oh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;Rh(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)ma(78840,78628,1251,78872);else if((q|0)==12)ma(78884,78628,1252,78872);else if((q|0)==16)ma(78840,78628,1260,78872);else if((q|0)==18)ma(78884,78628,1261,78872)}else p=e;while(0);a[p+158>>0]=0;return}function Sh(a,b){a=a|0;b=b|0;var c=0;c=eo(a)|0;while(1){if(!c)break;Uh(a,c,b);c=fo(a,c)|0}return}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=eo(b)|0;while(1){if(!d)break;e=GA(d,c[42206]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(yJ(e,78916)|0)){Uh(b,d,1);break a}break}case 105:{if(!(yJ(e,83705)|0)){Uh(b,d,0);break a}break}default:{}}h=En(d)|0;c[f>>2]=e;c[f+4>>2]=h;$l(1,78951,f)|0}while(0);d=fo(b,d)|0}l=g;return}function Uh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[41926]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Vh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Vh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;sL(j,d,4,13);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(Vg(e,d)|0)break a;i=ah(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;hh(b,i);f=f+1|0}}}while(0);return}function Vh(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function Wh(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function Xh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[41928];b[f+238>>1]=c[41929]}return}function Yh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[41927]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=pi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function Zh(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function _h(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=AA(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;CA(o,g);while(1){f=DA(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){Yk(d,f,e,o);continue}else{ni(d,f);oi(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(DA(o)|0)$l(1,79159,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;hi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((Wf(d)|0)==(d|0)?(Yh(0)|0)>0:0)bi(d,0);BA(o);l=r;return}function $h(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;sL(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,14);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function ai(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[41927]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[41927]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;ki(a,d,g,(ji(a,d,d-f|0)|0)&255);d=d+f|0}bi(a,g^1);return}function bi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(ii(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function ci(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(di(d,i,j)|0)continue;if(p){f=ei(i,j)|0;h=ei(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(fi(i,j)|0)+f|0;h=(fi(j,i)|0)+h|0}if((h|0)<=(f|0))break}gi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)ma(79110,78628,721,79136);else if((e|0)==16)return}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[173897]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function fi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}hi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))hi(e,f)}return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[41927]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function ii(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(di(d,j,k)|0)continue;if(r){f=ei(j,k)|0;g=ei(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(fi(j,k)|0)+f|0;g=(fi(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}hi(j,k);i=f-g+i|0;g=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)ma(79110,78628,770,79144);else if((f|0)==17)return i|0;return 0}function ji(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[41925]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{sL(p,a,4,12);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(li(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function ki(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(di(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}hi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function li(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function mi(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))ma(79224,78628,1346,79260);g=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=En(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;$l(1,79276,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;$l(1,79349,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=En(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;$l(1,79410,o)|0}}else{n=En(a)|0;o=En(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;$l(1,79169,f)|0}while(0);l=p;return}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;CA(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;CA(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function pi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[41931]|0)>(d|0))q=c[41932]|0;else{d=d+1|0;c[41931]=d;f=c[41932]|0;if(!f)d=xw(d<<2)|0;else d=zw(f,d<<2)|0;c[41932]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(qi(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(qi(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function qi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function ri(a){a=a|0;var b=0.0,d=0.0;c[41930]=8;c[42181]=24;h[20878]=.995;a=Jm(a,79532)|0;if(a|0?(b=+tM(a),b>0.0):0){d=b*+(c[41930]|0);c[41930]=~~(d>1.0?d:1.0);b=b*+(c[42181]|0);c[42181]=~~(b>1.0?b:1.0)}return}function si(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=ww(e<<2)|0;ui(a,d,e,0)|0;$I(d);return} +function Vq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[83089]|0):0)?!(yJ(f,83089)|0):0)){h=zm(c[c[42039]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=zm(c[c[42039]>>2]|0,b,f,174185)|0;c[d>>2]=266;cp(c[42038]|0,f)|0}d=d+12|0}return}function Wq(a){a=a|0;Xq(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function Xq(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{Xq(c[a+4>>2]|0);break}case 266:case 267:{cp(c[42038]|0,c[a+8>>2]|0)|0;break}default:{}}_n(c[42038]|0,a);a=b}return}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=sJ(a)|0;d=d+2+(sJ(b)|0)|0;if(d>>>0<1025)e=g;else e=_I(d)|0;c[f>>2]=a;c[f+4>>2]=b;qL(e,83126,f)|0;d=ap(c[42038]|0,e)|0;cp(c[42038]|0,a)|0;cp(c[42038]|0,b)|0;if((e|0)!=(g|0))$I(e);l=h;return d|0}function Zq(a,b){a=a|0;b=b|0;return Tq(259,a,b)|0}function _q(a){a=a|0;return Tq(265,a,0)|0}function $q(a){a=a|0;return Tq(262,a,0)|0}function ar(a){a=a|0;var b=0,d=0;b=(c[42039]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)Dm(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function br(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=eo(d)|0;while(1){if(!f)break a;cr(a,b,jo(c[c[42039]>>2]|0,f,0)|0,0,e);f=fo(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=jo(c[c[42039]>>2]|0,c[f+4>>2]|0,0)|0;cr(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function cr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=bn(c[c[42039]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;dr(d,96242,a?e:b);dr(d,96251,a?b:e);ar(d)}return}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=zm(c[c[42039]>>2]|0,2,b,0)|0;if(!e)e=zm(c[c[42039]>>2]|0,2,b,174185)|0;Dm(a,e,d)|0}return}function er(a,b,d){a=a|0;b=b|0;d=d|0;c[42007]=b;c[42038]=a;c[41987]=0;a=d|0?d:17656;c[42041]=a;hp(a,b);Cq()|0;a=c[41987]|0;if(!a){Gp();a=c[41987]|0}return a|0}function fr(a,b){a=a|0;b=b|0;return er(0,a,b)|0}function gr(a,b){a=a|0;b=b|0;b=Kr(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;Oo(b,122277,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((to(b)|0)!=(b|0))c[(c[(to(b)|0)+16>>2]|0)+144>>2]=a;e=Jm(b,83342)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(gr(a,e)|0)==999):0){d=Lr(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;$l(1,83869,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{Gv(1);ew(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(to(b)|0)+16>>2]|0)+8>>2]=d;Fz();d=c[e>>2]|0;if(d|0?(gb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;Gv(0);d=0}}l=i;return d|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0;if(Oo(b,122277,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){gb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)jw(b)}return 0}function jr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){gb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)kr(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[13885];g=12;break}f=bM(e,91556)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=zJ(c[(kJ()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;hb[j&31](83132,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{hb[c[(c[b+12>>2]|0)+16>>2]&31](83170,j);d=1}l=k;return d|0}function kr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;qL(g,83188,e)|0}e=c[b+20>>2]|0;e=e|0?e:83192;d=sJ(e)|0;i=sJ(g)|0;f=b+52|0;i=d+1+i+(sJ(c[f>>2]|0)|0)|0;d=i+11|0;if((c[42042]|0)>>>0<(i+1|0)>>>0){c[42042]=d;d=bJ(c[42043]|0,d)|0;c[42043]=d}else d=c[42043]|0;yK(d,e)|0;JL(c[42043]|0,g)|0;d=c[42043]|0;d=d+(sJ(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=HL(c[f>>2]|0)|0;f=c[42043]|0;while(1){e=IL(d,58)|0;if(!e)break;JL(f,e+1|0)|0;i=c[42043]|0;g=i+(sJ(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}JL(f,d)|0;$I(d);c[b+32>>2]=c[42043];l=h;return}function lr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83170,f);Ma(1)}if((mr(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;hb[f&31](83202,g);Ma(1)}}else e=0;l=h;return e|0}function mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=YL(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0>>0){g=e+4096+g&-4096;c[f>>2]=g;f=bJ(h,g)|0;c[j>>2]=f;if(!f){hb[c[(c[b+12>>2]|0)+16>>2]&31](83227,n);Ma(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);UN(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=bb[f&31](b,d,e)|0;while(0);l=o;return e|0}function nr(a,b){a=a|0;b=b|0;var c=0;c=sJ(b)|0;b=(lr(a,b,c)|0)==(c|0);return (b?1:-1)|0}function or(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(lr(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function pr(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=QL(d)|0;else b=0;return b|0}function qr(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);pr(a)|0;return}function rr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83254,e);Ma(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)gb[b&127](a);else{pr(a)|0;sr(a)}l=e;return}function sr(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[13885]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){ML(f)|0;c[e>>2]=0}c[d>>2]=0}return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=MK(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=xw(e+1|0)|0;c[g>>2]=d;f=e;e=rL(e,b,g)|0}else f=h;lr(a,f,e)|0;if((f|0)!=(h|0))$I(f)}else{c[f>>2]=zJ(c[(kJ()|0)>>2]|0)|0;$l(1,83271,f)|0}l=i;return}function ur(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=vr(e,b)|0;lr(a,f,c[e>>2]|0)|0;l=d;return}function vr(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=123205;e=1}else{l=(f|0)<0;k=4;i=0;e=173952;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=173952-e|0}}else{f=83286;e=18}else{f=83285;e=19}c[b>>2]=e;return f|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=vr(e,+h[b>>3])|0;lr(a,f,c[e>>2]|0)|0;lr(a,87638,1)|0;b=vr(e,+h[b+8>>3])|0;lr(a,b,c[e>>2]|0)|0;l=d;return}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];wr(a,f);e=e+1|0;if((e|0)>=(d|0))break;lr(a,87638,1)|0}l=g;return}function yr(a,b){a=a|0;b=b|0;var d=0;d=ww(392)|0;if(d|0){c[d>>2]=19212;c[d+16>>2]=22;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function zr(a){a=a|0;var b=0,d=0,e=0,f=0;b=ww(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function Ar(a){a=a|0;Hr(a);$I(a);return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=ww(632)|0;c[(c[42044]|0)+4>>2]=d}}}else{d=ww(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42044]=d;c[d+32>>2]=b;c[d>>2]=a;return}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42045]|0;if(e){d=c[e+4>>2]|0;if(!d){d=ww(632)|0;c[(c[42045]|0)+4>>2]=d}}}else{d=ww(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42045]=d;c[d+52>>2]=b;c[d>>2]=a;return (Kr(a,3,b)|0)!=0|0}function Dr(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function Er(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function Fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=zw(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function Gr(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)$I(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function Hr(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;Gr(b+604|0);Gr(b+592|0);$I(c[b+584>>2]|0);$I(c[b+588>>2]|0);$I(b);b=e}c[42045]=0;c[42044]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function Ir(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;nL(k,e,63)|0;i=XJ(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}nL(m,c[d+4>>2]|0,63)|0;d=XJ(m,58)|0;if(d|0)a[d>>0]=0;if((yJ(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;nL(m,c[b+4>>2]|0,63)|0;b=XJ(m,58)|0;if(b|0)a[b>>0]=0;if(yJ(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=xw(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function Jr(a,b){a=a|0;b=b|0;b=l;l=l+16|0;$l(1,83366,b)|0;l=b;return 0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;nL(o,e,63)|0;e=XJ(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=XJ(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}nL(p,c[e+4>>2]|0,63)|0;e=XJ(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(yJ(p,o)|0)){g=(e|0)!=0;if(i&g?yJ(e,f)|0:0)break;if(!j?yJ(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(Kr(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(Jr(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[13918]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[19224+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;AL(q,83397,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function Lr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[4811]|0){dm(168184,0,0);c[4811]=0}h=HL(e)|0;e=XJ(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=HL(c[b+4>>2]|0)|0;b=XJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(jK(h,d)|0)!=0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){em(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;gm(168184,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){em(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=58;gm(168184,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}$I(d);g=c[g>>2]|0}$I(h);if(e<<24>>24){g=0;i=19}}else{$I(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=HL(c[b+4>>2]|0)|0;b=XJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(jK(g,d)|0)==0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){em(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;gm(168184,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=174185;break}}e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){em(168184,1)|0;e=c[42047]|0}a[e>>0]=0;e=c[42046]|0;c[42047]=e}while(0);return e|0}function Mr(b){b=b|0;var d=0;if(!b)ma(96030,83414,573,83428);if(!(a[b>>0]|0))ma(96035,83414,574,83428);d=c[42050]|0;if(!d)b=0;else b=bb[c[d>>2]&31](d,b,512)|0;return b|0}function Nr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)ma(96091,83414,589,83445);g=b+8|0;e=c[g>>2]|0;if(!e)ma(96094,83414,590,83445);if(!(a[e>>0]|0))ma(96103,83414,591,83445);h=b+20|0;f=c[h>>2]|0;do if(!f){d=SA(e)|0;if(!d){c[i>>2]=c[g>>2];$l(0,83469,i)|0;d=0;break}i=bM(d,123632)|0;c[h>>2]=i;if(!i){c[j>>2]=zJ(c[(kJ()|0)>>2]|0)|0;c[j+4>>2]=d;$l(0,83494,j)|0;d=0;break}d=c[42051]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[42051]=d+1;d=1;break}}else{pM(f,0,0)|0;if(!(c[h>>2]|0))ma(83515,83414,614,83445);else d=1}while(0);l=k;return d|0}function Or(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){ML(e)|0;c[d>>2]=0}return}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function Qr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[42178]|0,(c[42052]|0)!=(g|0)):0)?(c[42052]=g,i=c[42050]|0,i|0):0){Ll(i)|0;c[42050]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=Rr(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];Pr(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function Rr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)ma(96030,83414,638,83521);if(!(c[42050]|0))c[42050]=Rl(19248,c[4353]|0)|0;b=Mr(a)|0;a:do if(!b){b=ww(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=ap(0,a)|0;if(!((Nr(b)|0)<<24>>24)){Sr(b);b=0;break}if(!(c[b+20>>2]|0))ma(83515,83414,653,83521);do switch(Tr(b)|0){case 0:{a=Qy(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];$l(0,83538,e)|0;Sr(b);b=0;break a}break}case 2:{Ur(b);break}case 3:{Vr(b);break}case 1:{Wr(b);break}case 4:{Xr(b);break}case 6:{Yr(b);break}case 11:{Zr(b);break}case 8:{_r(b);break}case 5:{$r(b);break}case 12:{as(b);break}default:{}}while(0);Or(b);e=c[42050]|0;bb[c[e>>2]&31](e,b,1)|0}}else Or(b);while(0);l=f;return b|0}function Sr(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)cp(0,b)|0;$I(a);return}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(xN(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(eL(f,c[19284+(d<<4)>>2]|0,c[19284+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[19284+(d<<4)+12>>2];b=c[19284+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(eL(f+8|0,83754,4)|0)break a;c[e>>2]=83759;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(hL(g,200,c[h>>2]|0)|0)){i=11;break}if(!(eL(g,83749,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=86879;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=83764;c[a+24>>2]=0;b=0}l=j;return b|0}function Ur(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;pM(c[e>>2]|0,6,0)|0;if((js(c[e>>2]|0,2,b)|0)<<24>>24?(js(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Vr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;pM(c[e>>2]|0,16,0)|0;if((bs(c[e>>2]|0,4,b)|0)<<24>>24?(bs(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;pM(c[g>>2]|0,16,0)|0;if((((js(c[g>>2]|0,2,b)|0)<<24>>24?(js(c[g>>2]|0,2,d)|0)<<24>>24:0)?(js(c[g>>2]|0,2,e)|0)<<24>>24:0)?(js(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((bs(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(XJ(83737,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((bs(g,2,e)|0)<<24>>24))break;pM(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((bs(c[j>>2]|0,3,i)|0)<<24>>24?(bs(c[j>>2]|0,2,f)|0)<<24>>24:0)?(bs(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(bs(g,3,i)|0)<<24>>24:0)?(bs(c[j>>2]|0,2,f)|0)<<24>>24:0)?(bs(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function Yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;pM(c[i>>2]|0,0,0)|0;while(1){if(!(hL(b,1024,c[i>>2]|0)|0))break;d=iL(b,83722)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((dM(d,89345,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function Zr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;pM(c[e>>2]|0,15,0)|0;h=(CN(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){pM(f,24,0)|0;if((js(c[e>>2]|0,4,b)|0)<<24>>24?(js(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{pM(f,26,0)|0;if((js(c[e>>2]|0,2,b)|0)<<24>>24?(js(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function _r(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[42053]|0)){if(FM(168216,83607,1)|0){c[d>>2]=83607;$l(1,83634,d)|0}c[42053]=168216}m=b+20|0;pM(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(hL(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(rN(168216,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(yJ(e,96043)|0))break;if(!(yJ(e,96049)|0))break c;if(yJ(e,83681)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((dM(f,83689,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((dM(f,83671,A)|0)!=2){c[D>>2]=s;if((dM(f,86246,D)|0)==1){e=1;f=is(+h[s>>3],83678)|0}else{e=g;f=j}}else{e=1;f=is(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((dM(f,83671,E)|0)!=2){c[B>>2]=s;if((dM(f,86246,B)|0)==1){d=1;e=is(+h[s>>3],83678)|0}else e=k}else{d=1;e=is(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function $r(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;pM(c[e>>2]|0,0,0)|0;if(!(cs(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function as(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;pM(c[e>>2]|0,6,0)|0;if((bs(c[e>>2]|0,1,b)|0)<<24>>24?(bs(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=CN(a)|0;if(LL(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(hL(e,1024,a)|0)){a=1;break}f=iL(e,83597)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=ds(d,b)|0}l=h;return a|0}function ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;es(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(fs(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,gs(b,f),(hs(f,d)|0)==0):0)?(gs(b,f),(hs(f,d+8|0)|0)==0):0)?(gs(b,f),(hs(f,d+16|0)|0)==0):0){gs(b,f);e=(hs(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function es(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(fs(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(YJ(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function fs(b){b=b|0;var d=0;d=b+4|0;if(!(hL(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;es(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(fs(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function hs(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+uM(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function is(a,b){a=+a;b=b|0;var c=0.0;do if(!(yJ(b,83705)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(yJ(b,83708)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(yJ(b,83711)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(yJ(b,83678)|0?yJ(b,83714)|0:0)if(!(yJ(b,83716)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(yJ(b,83719)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=CN(a)|0;if(LL(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)ML(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)gb[e&127](b);$I(b);return}function ls(){var a=0;zm(0,1,86240,90527)|0;a=yr(0,1)|0;tE(a,0);return a|0}function ms(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((gr(b,e)|0)!=999)if((hr(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));qL(g,83918,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));qL(g,83918,i)|0}Mm(d,87705,g,174185)|0;b=0}else{b=Lr(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;$l(1,83869,f)|0;b=-1}l=k;return b|0}function ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Cr(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=cD(b,c[b+52>>2]|0)|0;if((Oo(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){cm(83930,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=Hv(a,f)|0;eD(b);Hr(a);b=h}l=i;return b|0}function os(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Cr(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=cD(b,c[b+52>>2]|0)|0;if((Oo(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){cm(83930,g);b=-1}else h=5;if((h|0)==5){Br(a,e);h=Hv(a,f)|0;eD(b);rr(b);Hr(a);b=h}l=i;return b|0}function ps(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;Cr(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=cD(j,c[j+52>>2]|0)|0;if((Oo(b,122277,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){cm(83930,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=_I(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=Hv(a,b)|0;eD(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}Hr(a);break}$l(1,83951,h)|0;b=-1}while(0);l=m;return b|0}function qs(a,b){a=a|0;b=b|0;rE(a,0,b);return}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(zs(a)|0)!=0:0))a=84007;e=sJ(a)|0;if((e|0)>=104){d=xw(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){yK(d,a)|0;c[b>>2]=e}return d|0}function ss(a,b){a=a|0;b=b|0;jo(b,a,1)|0;return}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function us(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;xs(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=ys(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)hb[f&31](k,d);h=Vm(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(ab[c[j>>2]&63](f,-1)|0))xs(e,f);h=Wm(a,h,k)|0}}return b|0}function vs(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;ws(a);a=b}return}function ws(a){a=a|0;$I(c[a>>2]|0);$I(a);return}function xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=xw(16)|0;if(!e){$l(1,83988,f)|0;Ua(168248,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=xw(4e6)|0;c[e>>2]=d;if(!d){$l(1,83988,j)|0;Ua(168248,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}ab[c[a+16>>2]&63](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function zs(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(hK(c&255)|0)){b=0;break}}return b|0}function As(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=eo(a)|0;while(1){if(!f)break;e=Qm(b,f)|0;while(1){if(!e)break;if(jo(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){fn(a,e,1)|0;d=d+1|0}e=Sm(b,e)|0}f=fo(a,f)|0}return d|0}function Bs(a){a=a|0;a=Mo(a,84012,0)|0;if(!a)ma(84017,84020,529,84029);else return c[a+8>>2]|0;return 0}function Cs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(nn(b)|0){To(b,0,84038,-12,0);To(b,1,84050,16,0);o=rs(e,f,t)|0;k=Ds(b)|0;m=xw((nn(k)|0)<<2)|0;ts(p,u+4144|0,u+48|0,23,22);h=eo(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[13918]|0;e=0;while(1){if(!h)break;if(!(ab[c[n>>2]&63](h,-1)|0)){c[q>>2]=e;qL(i,84952,q)|0;v=Jp(k,o,1)|0;w=Jp(b,o,1)|0;Oo(w,84038,12,0)|0;a[(Mo(w,84038,0)|0)+8>>0]=1;f=us(k,h,v,p)|0;Fs(v,w);g=Gs(w)|0;Hs(b,w);c[m+(e<<2)>>2]=w;ro(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;AL(j,84062,r)|0}e=e+1|0}h=fo(k,h)|0}if(0){r=nn(b)|0;v=on(b)|0;w=En(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;AL(j,84092,s)|0}mn(k)|0;Uo(b,0,84038);Uo(b,1,84050);vs(p);f=zw(m,e<<2)|0;if((o|0)!=(t|0))$I(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function Ds(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[17652]|0;a[h+1>>0]=a[17653]|0;a[h+2>>0]=a[17654]|0;a[h+3>>0]=a[17655]|0;h=hn(84139,h,0)|0;Ks(h,b);d=eo(b)|0;while(1){if(!d)break;if(!(c[(Mo(d,84050,0)|0)+12>>2]|0)){g=oo(h,En(d)|0,1)|0;Oo(g,84050,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(Mo(d,84050,0)|0)+12>>2]=g}d=fo(b,d)|0}e=eo(b)|0;while(1){if(!e)break;f=c[(Mo(e,84050,0)|0)+12>>2]|0;d=Qm(b,e)|0;while(1){if(!d)break;g=c[(Mo(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,84050,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){bn(h,f,g,0,1)|0;break}else{bn(h,g,f,0,1)|0;break}while(0);d=Sm(b,d)|0}e=fo(b,e)|0}l=i;return h|0}function Es(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function Fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=eo(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)jo(b,f,1)|0;else{d=eo(f)|0;while(1){if(!d)break a;jo(b,d,1)|0;d=fo(f,d)|0}}while(0);e=fo(a,e)|0}return}function Gs(a){a=a|0;return As(a,c[a+60>>2]|0)|0}function Hs(a,b){a=a|0;b=b|0;Is(a,b,0);return}function Is(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=Kp(b)|0;while(1){if(!b)break;if((a[(Mo(b,84038,0)|0)+8>>0]|0)==0?(f=Js(b,c,d)|0,f|0):0){if(g)e=(WJ(En(b)|0,93039,7)|0)==0;else e=1;Is(b,f,e&1)}b=Lp(b)|0}return}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=eo(a)|0;while(1){if(!g)break;f=oo(b,En(g)|0,0)|0;if(f){if(!e)e=Jp(b,En(a)|0,1)|0;jo(e,f,1)|0}g=fo(a,g)|0}if((d|0)!=0&(e|0)==0)e=Jp(b,En(a)|0,1)|0;if(e|0?(As(e,a)|0,Nm(a,e)|0,(WJ(En(e)|0,93039,7)|0)==0):0)c[(Oo(e,84012,12,0)|0)+8>>2]=a;return e|0}function Ks(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=Kp(b)|0;e=c[13918]|0;while(1){if(!d)break;a:do if(!(WJ(En(d)|0,93039,7)|0)){f=oo(a,En(d)|0,1)|0;Oo(f,84050,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=eo(d)|0;while(1){if(!b)break a;if(c[(Mo(b,84050,0)|0)+12>>2]|0){k=En(b)|0;j=En(d)|0;i=En(c[(Mo(b,84050,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;AL(e,84142,g)|0}c[(Mo(b,84050,0)|0)+12>>2]=f;b=fo(d,b)|0}}else Ks(a,d);while(0);d=Lp(d)|0}l=h;return}function Ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){Dx(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){Dx(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function Ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=Ns(a,b,d,e)|0;break}m=xw(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;eB(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=ww(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=Jm(c[b+(d<<2)>>2]|0,84209)|0;if(g|0?(c[k>>2]=j,g=(dM(g,122187,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=Os(a,m,e)|0;if(c[h>>2]&2)$I(c[e+24>>2]|0)}else d=0;$I(m)}while(0);l=n;return d|0}function Ns(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[13918]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;eB(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=En(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;AL(E,84276,u)|0}n=n+1|0}q=xw(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=Rs(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;AL(E,84304,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=ww(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=En(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Ss(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Ts(e,i,j,p,f,B)}g=g+1|0}j=ww(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}sL(j,b,4,23);k=xx()|0;g=ww(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Vs(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;Ws(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;Ws(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);$I(j);i=0;while(1){if((i|0)>=(b|0))break;$I(c[m+(i<<4)+4>>2]|0);i=i+1|0}$I(m);Ax(k);$I(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;AL(E,84320,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function Os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=ww(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[13918]|0;c[g>>2]=k|0?84215:84225;c[g+4>>2]=w;c[g+8>>2]=f;AL(v,84238,g)|0}t=ww((f<<3)+8|0)|0;u=ww((w<<3)+8|0)|0;v=ww(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=ww(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))sL(s,a,4,25)}else{c[42101]=e;sL(s,a,4,24)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}$I(v);$I(s);$I(t);$I(u);l=z;return x|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[42101]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function Qs(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (ed)<<31>>31)|0}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[13918]|0;YL(84463,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;AL(m,84491,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;AL(m,84517,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;AL(m,84539,q)|0}}else{h[m>>3]=j;$l(1,84436,m)|0;d=-1}l=s;return d|0}function Ss(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=xx()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;Dx(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=Hx(r)|0;j=Gx(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[13918]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;AL(f,84395,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;AL(f,84422,t)|0;a=a+1|0}}while(0);Ax(r);l=u;return}function Ts(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=xx()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=xw((nn(b)|0)<<2)|0;a=0;g=eo(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=fo(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;Dx(L,g,a);a=a+1|0}g=g+1|0}a=eo(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=fo(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=eo(b)|0;while(1){if(!o)break;PA(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Zs(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Dx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Qm(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];_s(a,F,L,D,B,e,G);a=Sm(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Qm(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];_s(a,F,L,D,B,e,G)}a=Sm(C,a)|0}}while(0);o=fo(b,o)|0}a=0;g=eo(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=fo(b,g)|0}$I(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=eo(b)|0;while(1){if(!o)break a;PA(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Zs(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Dx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Qm(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];_s(a,F,L,D,B,e,G);a=Sm(C,a)|0}o=fo(b,o)|0}}while(0);i=d+4|0;c[i>>2]=Hx(L)|0;j=d+8|0;c[j>>2]=Gx(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[13918]|0;d=En(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;AL(f,84395,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;AL(f,84422,O)|0;a=a+1|0}}while(0);Ax(L);l=P;return}function Us(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function Vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];Bx(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[13918]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;AL(k,84369,i)|0}l=j;return}function Ws(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(Xs((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(Xs(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(Xs(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(Xs(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(Xs(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(Xs(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(Xs(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(Xs(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(Xs(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(Xs(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(Xs(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(Xs(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function Xs(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(Ex(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];Bx(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[13918]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;AL(j,84335,s)|0;j=1}else j=1}l=t;return j|0}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function _s(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ls(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ls(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ls(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){PA(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ls(w,x,d)}l=A;return}function $s(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=eo(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Qm(g,i)|0;while(1){if(!f)break b;at(f,k,l);f=Sm(g,f)|0}}while(0);i=fo(r,i)|0}bt(r,k,l);j=j+1|0}}while(0);return f|0}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function bt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;bt(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ms(a,b,d,e)|0;if(!f)a=1;else{a=$s(a,b,f,d,c[e+12>>2]|0)|0;$I(f)}return a|0}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=ct(a,b,d,e)|0;if(!n){eB(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)ma(84553,84559,1400,84566);d=ft(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[13918]|0;c[f>>2]=d;AL(h,84578,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;gt(a,b,e)|0;l=g;return c[e+16>>2]|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=Jm(b,84708)|0;a:do if(g){c[h>>2]=f;h=(dM(g,122187,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function gt(a,b,c){a=a|0;b=b|0;c=c|0;return ht(Jm(a,84591)|0,b,c)|0}function ht(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)ma(84553,84559,1292,84600);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(WJ(b,84618,5)|0)){c[p>>2]=4;m=it(b+5|0,e)|0;c[k>>2]=j;m=(dM(m,122187,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(WJ(b,84624,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(dM(b+5|0,84631,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(yJ(b,93039)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(yJ(b,96286)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(yJ(b,96273)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[13918]|0;YL(84634,11,1,d)|0;c[s>>2]=jt(c[p>>2]|0)|0;AL(d,84646,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];AL(d,84659,t)|0}c[q>>2]=c[n>>2];AL(d,84672,q)|0;c[r>>2]=c[o>>2];AL(d,84685,r)|0}l=u;return c[p>>2]|0}function it(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function jt(a){a=a|0;switch(a|0){case 1:{a=93039;break}case 2:{a=96273;break}case 3:{a=96286;break}case 4:{a=84618;break}case 5:{a=84624;break}default:a=84698}return a|0}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=aJ(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=aJ(100,j)|0}else{h=d+100|0;i=bJ(c[e+8>>2]|0,O(h,j)|0)|0;WN(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=lt(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=bJ(i,O(f,j)|0)|0;WN(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){$I(i);$I(e);e=0;break}else{c[e+8>>2]=bJ(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function lt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((YJ(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=ot(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=pt(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=ot(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=pt(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=qt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=qt(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=rt(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=qt(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=ot(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=qt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=ot(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=ot(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=ot(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=st(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+uM(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+uM(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+uM(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+uM(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=tt(a,j)|0;do if(a){d=c[j>>2]|0;i=aJ(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+uM(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+uM(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;$I(i);a=0;break}else if((d|0)==7){c[j>>2]=f;$I(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function ot(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=tt(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=aJ(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){$I(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function pt(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=ut(b+1|0,d)|0;break}case 40:{b=vt(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(hK(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function qt(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+uM(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=tt(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function st(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=ZJ(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function tt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=CL(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=qt(a,n)|0;do if(((((i|0)!=0?(j=qt(i,b+16|0)|0,(j|0)!=0):0)?(e=qt(j,b+24|0)|0,(e|0)!=0):0)?(f=qt(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=tt(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=aJ(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=qt(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=ot(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){$I(f);a=0;break}else if((d|0)==12){$I(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=qt(a,b+8|0)|0;do if(((((((k|0)!=0?(m=qt(k,b+16|0)|0,(m|0)!=0):0)?(e=qt(m,b+24|0)|0,(e|0)!=0):0)?(f=qt(e,b+32|0)|0,(f|0)!=0):0)?(i=qt(f,b+40|0)|0,(i|0)!=0):0)?(j=qt(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=tt(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=aJ(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=qt(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=ot(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){$I(i);a=0;break}else if((d|0)==14){$I(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function wt(a,b,c){a=a|0;b=b|0;c=c|0;return kt(a,b,c,0)|0}function xt(a){a=a|0;return wt(a,0,0)|0}function yt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)gb[e&127](d);zt(d);b=b+1|0}$I(f);$I(a)}return}function zt(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{$I(c[a+8+4>>2]|0);break}case 5:case 4:{$I(c[a+8+4>>2]|0);break}case 6:{$I(c[a+8+4>>2]|0);break}case 7:{$I(c[a+40>>2]|0);break}case 9:case 8:{$I(c[a+8>>2]|0);break}case 14:case 13:{At(a+8|0);break}case 10:{$I(c[a+16>>2]|0);break}case 11:{$I(c[a+8>>2]|0);break}case 12:{$I(c[a+40>>2]|0);break}default:{}}return}function At(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;$I(c[d+(a<<3)+4>>2]|0);a=a+1|0}$I(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;$I(c[b+(a<<3)+4>>2]|0);a=a+1|0}$I(b);break}default:{}}return}function Bt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(rn(so(b)|0)|0)!=0&1;f=c[42229]|0;a:do if(f|0?(h=Km(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=19444;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(yJ(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[42240]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=Km(b,f)|0,a[j>>0]|0):0)Ct(j,e);f=c[42241]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=Km(b,f)|0,a[m>>0]|0):0)Ct(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=so(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;Bt(bn(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function Ct(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=Dt(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;$l(0,84713,m)|0}l=o;return}function Dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=Et(a,19504,e)|0;if((d|0)==(a|0)){while(1){d=Et(a,19520,e)|0;if((a|0)==(d|0))break;else a=d}d=Et(a,19568,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function Et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=sJ(e)|0;if(!(WJ(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function Ft(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1336;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+FA(a,c[42233]|0,1.0,0.0))}function Gt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){ID(a,o+16|0,3,g>>>4&1^1);break}else{ID(a,o+32|0,3,g>>>4&1^1);break}else ID(a,o,3,g>>>4&1^1);while(0);l=p;return}function Ht(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){ID(a,w,9,1);break}else{ID(a,w+48|0,6,1);break}else ID(a,w,6,1);while(0);l=x;return}function It(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}ID(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;LD(a,p,2);l=q;return}function Jt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}ID(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;LD(a,n,2);l=o;return}function Kt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){ID(a,i,4,d);break}else{ID(a,i,3,d);break}}else ID(a,d,3,g>>>4&1^1);while(0);l=j;return}function Lt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;HD(a,i,2,f>>>4&1^1);l=g;return}function Mt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;LD(a,r,2);if(!(g&64)){if(g&128|0)QA(s,q,3,.5,q,0)}else QA(s,q,3,.5,0,q);KD(a,q,4,0,0,0);l=t;return}function Nt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;LD(a,i,2);l=g;return}function Ot(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+Ft(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;Gz(j,26,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function Pt(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function Qt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+Ft(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;Gz(k,26,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function Rt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+Ft(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+Ft(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+Ft(a,g);q=+Ft(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function St(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o>3]=i>3]=f>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function Tt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;GD(a,c[(c[a>>2]|0)+336>>2]|0);PD(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];Ut(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function Ut(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1336;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];jb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function Vt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=Jm(b,84815)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=Jm(b,84827)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=wt(e,0,120)|0;if(!d){c[f>>2]=En(b)|0;$l(0,84834,f)|0;c[g>>2]=e;$l(3,84887,g)|0}}l=i;return d|0}function Wt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=ww(304)|0;if(!f)$l(1,84895,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function Xt(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)ma(84921,84925,117,84932);else{$I(c[b+212>>2]|0);$I(c[b+208>>2]|0);$I(c[b+216>>2]|0);$I(c[b+220>>2]|0);$I(c[b+224>>2]|0);$I(c[b+228>>2]|0);$I(c[b+232>>2]|0);$I(c[b+236>>2]|0);$I(c[b+240>>2]|0);$I(c[b+244>>2]|0);$I(c[b+248>>2]|0);$I(c[b+252>>2]|0);$I(c[b+256>>2]|0);$I(c[b+272>>2]|0);$I(c[b+284>>2]|0);$I(c[b+280>>2]|0);c[a>>2]=c[b>>2];$I(b);return}}function Yt(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=rw(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=rw(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=rw(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=HL(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=rw(h,j)|0;d=1}return d|0}function Zt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;_t(b,e);b=Jm(d,86799)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){gm(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){em(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){gm(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){em(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(Do(d)|0){case 0:{f=(g|0)==(d|0)?96286:84946;b=(c[d>>2]|0)>>>4;break}case 1:{f=96273;b=(c[d>>2]|0)>>>4;break}case 2:{f=96237;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}gm(e,f)|0;c[i>>2]=b;qL(h,84952,i)|0;gm(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){em(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function _t(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){gm(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){em(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;qL(g,84956,h)|0;gm(d,g)|0}l=i;return}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=au(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)PD(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{ED(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=$E(p,k,m,i,e)|0;KD(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);YI(b)}i=e;f=f+12|0}if(n)PD(a,r);bu(j)}l=s;return o|0}function au(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=ww(12)|0;i=HL(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=ww((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=EL(f,93017)|0;if(!f){f=20;break}j=+cu(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[4920]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;$l(0,84967,n)|0;c[4920]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[4920]|0))d=1;else{c[o>>2]=b;$l(1,85002,o)|0;c[4920]=0;d=2}bu(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function bu(a){a=a|0;$I(c[a+4>>2]|0);$I(c[a+8>>2]|0);$I(a);return}function cu(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=XJ(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+uM(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=au(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)PD(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){ED(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;ID(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)PD(a,s);bu(i)}l=t;return q|0}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;$I(c[g>>2]|0);d=ww(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))gD(a,d,d,2)|0;if(!f)_v(d)}return}function fu(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(k>i|k>3],!(k>m|k>3],!(n>i|n>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+dw(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+dw(f,e,d)<4.0&1;l=b;return a|0}function hu(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[42184]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;MD(b,GA(d,zm(d,0,86595,0)|0,174185)|0);c[b+160>>2]=0;iu(b,d);if(j&2|0)ju(b,d);e=eo(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=fo(d,e)|0}ku(b,k);while(1){if(!((lu(b)|0)<<24>>24))break;if((mu(b)|0)>1)lD(b);nu(b);while(1){if(!((ou(b)|0)<<24>>24))break;pu(b,d);qu(b)}if((mu(b)|0)>1)mD(b);ru(b,k)}su(b);l=m;return}function iu(a,b){a=a|0;b=b|0;var d=0;d=Wt(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;rv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);hD(a,b);return}function ju(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;ED(b,119592);d=Jm(c,85423)|0;if(d|0?a[d>>0]|0:0)ED(b,d);d=Jm(c,86503)|0;if(d|0?a[d>>0]|0:0)CD(b,d);Dv(b,c);g=eo(c)|0;while(1){if(!g)break;d=Jm(g,122540)|0;if(d|0?a[d>>0]|0:0)CD(b,d);d=Jm(g,122531)|0;if(d|0?a[d>>0]|0:0)ED(b,d);d=Jm(g,86469)|0;do if(d|0?a[d>>0]|0:0){if(!(XJ(d,58)|0)){CD(b,d);break}e=HL(d)|0;d=e;while(1){d=EL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}CD(b,d);d=0}$I(e)}while(0);d=Jm(g,86503)|0;if(d|0?a[d>>0]|0:0)CD(b,d);f=Qm(c,g)|0;while(1){if(!f)break;d=Jm(f,122540)|0;do if(d|0?a[d>>0]|0:0){if(!(XJ(d,58)|0)){CD(b,d);break}e=HL(d)|0;d=e;while(1){d=EL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}CD(b,d);d=0}$I(e)}while(0);d=Jm(f,86503)|0;if(d|0?a[d>>0]|0:0)CD(b,d);f=Sm(c,f)|0}g=fo(c,g)|0}return}function ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];$l(0,85598,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];$l(0,85598,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function lu(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function mu(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function nu(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function ou(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function pu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{dm(m,128,f);g=n+212|0;h=c[g>>2]|0;_t(d,m);gm(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){em(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}_E(Jm(e,85048)|0);uu(d);jD(d);CD(d,122106);ED(d,119592);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=ww((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){_v(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))gD(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];eu(d,k);xD(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);vu(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)qw(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;yD(d)}while(0);wu(d,e,o);kD(d);if(h|0){hm(m);c[n+212>>2]=h}l=p;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];tu(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((ou(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];tu(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function ru(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function su(a){a=a|0;iD(a);Xt(a);return}function tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function uu(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];Cv(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];Cv(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[42184])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[42184]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function vu(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=Jm(d,85423)|0;if(!e){j=1;e=121990}else{i=(a[e>>0]|0)==0;j=i&1;e=i?121990:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(yJ(e,122171)|0)==0;k=m?121990:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(yJ(e,122171)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((yv(k,o,p)|0)<<24>>24)){ED(b,k);CD(b,122171);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];JD(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;ED(b,i);CD(b,122171);xv(d,r)|0;e=c[o+4>>2]|0;h=EA(d,c[42188]|0,0,0)|0;f=+g[p>>2];if(!e)FD(b,122106,h,f);else FD(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];JD(b,q,r);$I(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)Av(b,e);l=s;return}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)xu(a,b,d);a:do if(!(d&1)){if(d&16|0){rD(a);f=eo(b)|0;while(1){if(!f)break;e=Qm(b,f)|0;while(1){if(!e)break;zu(a,e);e=Sm(b,e)|0}f=fo(b,f)|0}sD(a);pD(a);e=eo(b)|0;while(1){if(!e)break;yu(a,e);e=fo(b,e)|0}qD(a);break}if(!(d&8)){f=eo(b)|0;while(1){if(!f)break a;yu(a,f);e=Qm(b,f)|0;while(1){if(!e)break;yu(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);zu(a,e);e=Sm(b,e)|0}f=fo(b,f)|0}}pD(a);e=eo(b)|0;while(1){if(!e)break;if((Au(b,e)|0)<<24>>24)yu(a,e);e=fo(b,e)|0}qD(a);rD(a);f=eo(b)|0;while(1){if(!f)break;e=Qm(b,f)|0;while(1){if(!e)break;if((Bu(b,e)|0)<<24>>24)zu(a,e);e=Sm(b,e)|0}f=fo(b,f)|0}sD(a)}else{pD(a);e=eo(b)|0;while(1){if(!e)break;yu(a,e);e=fo(b,e)|0}qD(a);rD(a);f=eo(b)|0;while(1){if(!f)break;e=Qm(b,f)|0;while(1){if(!e)break;zu(a,e);e=Sm(b,e)|0}f=fo(b,f)|0}sD(a)}while(0);if(g)xu(a,b,d);return}function xu(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((vv(e,u)|0)<<24>>24){if(L)xu(e,u,i);wv(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;_E(Jm(u,85048)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];eu(e,w);xD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=xv(u,H)|0;if(!j)p=0;else{GD(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=HA(u,0,91300)|0;k=HA(u,0,91308)|0;O=29;break}if(j&8|0){j=HA(u,0,91316)|0;k=HA(u,0,91324)|0;O=29;break}if(j&4|0){j=HA(u,0,91332)|0;k=HA(u,0,91340)|0;O=29;break}j=Jm(u,122540)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=Jm(u,122531)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=Jm(u,86469)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=Jm(u,85423)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=HA(u,0,91284)|0;k=HA(u,0,91292)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;O=31}if((O|0)==31){O=0;if(!((yv(n,J,w)|0)<<24>>24)){ED(e,n);k=1}else{ED(e,c[J>>2]|0);k=c[G>>2]|0;m=EA(u,c[42188]|0,0,0)|0;o=+g[w>>2];if(!k)FD(e,122106,m,o);else FD(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[42187]|0;if((m|0?(z=Km(u,m)|0,z|0):0)?a[z>>0]|0:0)PD(e,+FA(u,c[42187]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=EA(u,c[42186]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)CD(e,122171);else CD(e,j);zy(e,I,4,p,k)}}else{if(!(p&64)){if(EA(u,c[42186]|0,1,0)|0){CD(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];JD(e,w,k);break}if(!k)break;CD(e,122171);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];JD(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(EA(u,c[42186]|0,1,0)|0))CD(e,122171);else CD(e,j);if((du(e,I,n,0)|0)>1){c[N>>2]=En(u)|0;$l(3,85431,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];JD(e,w,0)}while(0);$I(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)qw(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];eu(e,w);xD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}yD(e)}a:do if(!F){k=eo(u)|0;while(1){if(!k)break a;yu(e,k);j=Qm(u,k)|0;while(1){if(!j)break;zu(e,j);j=Sm(u,j)|0}k=fo(u,k)|0}}while(0);zv(e,f);if(!L)xu(e,u,i)}v=v+1|0}l=P;return}function yu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(nv(b,so(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(ov(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;MD(b,En(d)|0);e=GA(d,c[42214]|0,174185)|0;if(a[e>>0]|0)MD(b,e);e=GA(d,c[42202]|0,174185)|0;b:do if(a[e>>0]|0){Eu(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(yJ(f,119127)|0))break a}}while(0);pv(b,d);hb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)qw(b,10,e);qv(b)}while(0);l=j;return}function zu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((Cu(d,g)|0)<<24>>24?(f=d+-48|0,(Du(b,d)|0)<<24>>24):0){i=d+48|0;e=sJ(En(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=_I(e+3+(sJ(En(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;yK(e,En(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(rn(so(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(sJ(e)|0)|0;if(i){a[g>>0]=a[122549]|0;a[g+1>>0]=a[122550]|0;a[g+2>>0]=a[122551]|0}else{a[g>>0]=a[122546]|0;a[g+1>>0]=a[122547]|0;a[g+2>>0]=a[122548]|0}JL(e,En(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;MD(b,e);$I(e);e=GA(d,c[42236]|0,174185)|0;if(a[e>>0]|0)MD(b,e);e=GA(d,c[42230]|0,174185)|0;b:do if(!(a[e>>0]|0))e=0;else{Eu(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=168408;break b}if((a[f>>0]|0)!=105)continue;if(!(yJ(f,119127)|0))break a}}while(0);Fu(b,d,e);Gu(b,d,e);Hu(b)}while(0);l=h;return}function Au(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Co(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Co(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Cu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(mv(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((DB(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(DB(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function Du(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=GA(d,c[42235]|0,174185)|0,(iv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=GA(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[42212]|0,174185)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((iv(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function Eu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[85305]|0){dm(168672,128,173952);a[85305]=0}dm(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(gv(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){em(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;c[168408+(e<<2)>>2]=c[42169];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){em(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;gm(168672,d)|0;d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){em(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;$l(1,85306,k)|0;c[42102]=0;hm(j)}else if((d|0)==9){c[m>>2]=b;$l(1,85340,m)|0;c[42102]=0;hm(j)}else if((d|0)==12){c[n>>2]=b;$l(0,85368,n)|0;c[42165]=0;hm(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;$l(1,85391,o)|0;c[42102]=0;hm(j);break}c[168408+(e<<2)>>2]=0;hm(j);d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){em(168672,1)|0;d=c[42169]|0}a[d>>0]=0;c[42169]=c[42168]}while(0);l=p;return 168408}function Fu(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=Wt(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(KA(Jm(f,85121)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)GD(d,g);g=c[42251]|0;if((g|0?(i=Km(f,g)|0,i|0):0)?a[i>>0]|0:0)PD(d,+FA(f,c[42251]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(so(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{dm(o,128,p);c[z+212>>2]=rw(Zt(d,f,o)|0,f)|0;hm(o);g=Jm(f,96264)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=Jm(f,96269)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=rw(g,f)|0;g=Jm(f,85134)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=Jm(f,85143)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=HL(i)|0;q=39}}while(0);if((q|0)==36){g=rw(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=Jm(f,85151)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=Jm(f,85161)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=HL(i)|0;q=47}}while(0);if((q|0)==44){g=rw(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=Jm(f,85170)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=Jm(f,85179)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=HL(i)|0}while(0);if((q|0)==52){c[z+220>>2]=rw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=Jm(f,85187)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=Jm(f,85196)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=HL(i)|0}while(0);if((q|0)==59){c[z+224>>2]=rw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=Jm(f,85204)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=rw(g,f)|0;else i=0;g=Jm(f,85211)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=rw(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=HL(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=Jm(f,85222)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=rw(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=HL(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=Jm(f,85234)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=rw(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=HL(i)|0;g=Jm(f,85245)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=rw(g,f)|0;break}if(i)c[z+256>>2]=HL(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=Jm(f,96229)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=Jm(f,85256)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=HL(g)|0}while(0);if((q|0)==94){p=_u(g,f)|0;c[z+228>>2]=rw(p,f)|0;$I(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=Jm(f,85268)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=_u(g,f)|0;c[z+232>>2]=rw(p,f)|0;$I(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=HL(r)|0;g=Jm(f,85281)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=_u(g,f)|0;c[z+236>>2]=rw(r,f)|0;$I(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=HL(s)|0;g=Jm(f,85293)|0;if(g|0?a[g>>0]|0:0){s=_u(g,f)|0;c[z+240>>2]=rw(s,f)|0;$I(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=HL(g)|0}while(0);$I(j);$I(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;$u(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;gD(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);vD(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))xD(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function Gu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];_E(Jm(e,85048)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+FA(e,c[42233]|0,1.0,0.0);k=GA(e,c[42221]|0,174185)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(yJ(i,95939)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(Ou(b,e,f,k,q+1|0,N,M)|0))break;else m=122106;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=HA(e,c[42222]|0,m)|0}else{j=91340;g=91332;k=168892;i=168892;p=18}else{j=91324;g=91316;k=168892;i=168892;p=18}else{j=91308;g=91300;k=168892;i=168892;p=18}else{j=91292;g=91284;k=168892;i=168892;p=18}if((p|0)==18){i=c[i>>2]|0;i=HA(e,i,Pu(m,g)|0)|0;g=HA(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{CD(b,i);j=g}}if((j|0)!=(m|0))ED(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?122106:i;g=(a[j>>0]|0)==0?122106:j;CD(b,122171);ED(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=eA(O,Qu(e)|0,M,0,0)|0;ID(b,c[J+8>>2]|0,c[J>>2]|0,1);Ru(J);CD(b,i);if((g|0)!=(i|0))ED(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];Tt(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];Tt(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){CD(b,i);ED(b,j);break}CD(b,122106);if(!(a[j>>0]|0)){ED(b,122106);break}else{ED(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){KD(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];Tt(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];Tt(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;GD(b,f)}}else KD(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=_I(A)|0;A=_I(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=_I(n)|0;c[z+(o*48|0)>>2]=m;n=_I(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Su(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Su(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];Tu(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Su(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=HL(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=EL(i,93017)|0;if(!i)break;e=(a[i>>0]|0)==0?122106:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){CD(b,e);ED(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}KD(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){CD(b,g);ED(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];Tt(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){CD(b,r);ED(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];Tt(b,3,K,L,N,M,g)}$I(s);g=0;while(1){if((g|0)>=(I|0))break;$I(c[z+(g*48|0)>>2]|0);$I(c[A+(g*48|0)>>2]|0);g=g+1|0}$I(z);$I(A)}while(0);l=P;return}function Hu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(yD(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);xD(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);yD(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Iu(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Iu(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((JA(GA(v,c[42231]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Ju(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((JA(GA(v,c[42231]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Ju(a,j,11,k,i,h,e,g,d);Ju(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);Ju(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);wD(a);Xt(a);l=x;return}function Iu(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];Nu(a,h)}l=j;return}function Ju(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=ww((sJ(j)|0)+11|0)|0;switch(e|0){case 11:{m=86240;break}case 7:{m=86656;break}case 6:{m=86666;break}default:ma(123205,84925,2730,85060)}c[o>>2]=j;c[o+4>>2]=m;qL(n,85076,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){Ku(b,d);xD(b,g,h,i,n)}qw(b,e,d);if(k|0)Lu(b,d,k);if(j){if(!m){Ku(b,d);xD(b,g,h,i,n)}yD(b)}$I(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;$I(c[i>>2]|0);d=ww(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))gD(a,d,d,2)|0;if(!f)_v(d)}return}function Lu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(YJ(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;Mu(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;Mu(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];WA(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];GD(b,c[(c[b>>2]|0)+336>>2]|0);CD(b,c[d+8>>2]|0);LD(b,i,3)}l=o;return}function Mu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;$I(c[j>>2]|0);d=ww(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))gD(a,d,d,2)|0;if(!f)_v(d)}return}function Ou(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=au(e,f,k)|0;if((e|0)>1){z=b+48|0;A=so(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=En(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(rn(A)|0)!=0;B=En(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?85095:85100;c[j+8>>2]=B;$l(3,85105,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{CD(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){Yu(F,n,H,E);k=c[H>>2]|0;KD(a,k,c[t>>2]|0,0,0,0);$I(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];Yu(G,n/(m+n),H,E);$I(c[G>>2]|0);f=c[H>>2]|0;KD(a,f,c[t>>2]|0,0,0,0);$I(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;$I(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;KD(a,o,c[A>>2]|0,0,0,0);$I(o)}if(c[u>>2]|0){CD(a,c[c[s>>2]>>2]|0);ED(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];Tt(a,2,C,D,h,i,o)}if(c[v>>2]|0){CD(a,e);ED(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];Tt(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;GD(a,d)}while(0);p=p+1|0}bu(r);e=0}l=J;return e|0}function Pu(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((sJ(d)|0)+1|0,e)|0;b=f+10|0;if((c[42166]|0)<(f|0)){c[42166]=b;b=bJ(c[42167]|0,b)|0;c[42167]=b}else b=c[42167]|0;yK(b,d)|0;while(1){e=e+-1|0;b=c[42167]|0;if(!e)break;f=b+(sJ(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;JL(b,d)|0}return b|0}function Qu(b){b=b|0;var d=0,e=0;d=c[42229]|0;a:do if(!d)e=7;else{d=Km(b,d)|0;switch(a[d>>0]|0){case 110:if(!(yJ(d,120501)|0)){d=1;break a}else{e=7;break a}case 102:if(!(yJ(d,85082)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(yJ(d,85090)|0)){d=3;break a}if(!(yJ(d,96056)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(rn(so(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function Ru(a){a=a|0;if(a|0){$I(c[a+8>>2]|0);$I(a)}return}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function Tu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function Uu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function Vu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function Wu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function Xu(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function Yu(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=ww(64)|0;c[e+4>>2]=4;n=ww(64)|0;c[e>>2]=n;QA(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=ww(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+Zu(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=ww(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=ww(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];QA(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);$I(n)}l=p;return}function Zu(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function _u(b,d){b=b|0;d=d|0;d=to(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=zB(b)|0;else d=wB(b,d)|0;return fv(d)|0}function $u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=xw(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=av(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;bv(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}cv(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;$I(g);h=s;g=s}l=q;return}function av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(gu(a)|0)){QA(f,a,3,.5,d,e);d=av(e,av(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=ev(f,b)|0}l=g;return d|0}function bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+dv(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function cv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=zw(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=zw(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function ev(a,b){a=a|0;b=b|0;var d=0;d=xw(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function fv(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function gv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(YJ(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((hv(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){em(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function hv(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function iv(a,b){a=a|0;b=b|0;return jv(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function jv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;dm(n,128,o+24|0);gm(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){em(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=GL(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=GL(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=GL(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=kv(b,g,0)|0;f=kv(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(kv(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}hm(n);l=o;return f|0}function kv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(yJ(d,85419)|0)==0:0))f=3;a:do if((f|0)==3){if((lv(d)|0)<<24>>24){e=sM(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(yJ(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function lv(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function mv(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function nv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=GA(e,c[42212]|0,174185)|0,(iv(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Vm(d,e)|0))f=1;else{f=Vm(d,e)|0;while(1){if(!f){f=0;break a}g=GA(f,c[42235]|0,174185)|0;if(!(a[g>>0]|0)){f=1;break a}if((iv(b,g)|0)<<24>>24){f=1;break a}f=Wm(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(mv(f,e)|0)&255;l=d;return b|0}function pv(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=Wt(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(so(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;rv(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=Cy(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=sv(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((tv(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=Jm(d,87739)|0;if(!g)g=0;else g=sM(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=ww(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=ww(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=uv(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=ww(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=ww(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=ww(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))gD(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);_E(Jm(d,85048)|0);tD(a,d);return}function qv(a){a=a|0;uD(a);Xt(a);return}function rv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=Jm(e,96264)|0;i=Jm(e,96229)|0;k=Jm(e,85204)|0;dm(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=Jm(e,96269)|0;g=Zt(b,e,j)|0;if(!i)d=0;else d=_u(i,e)|0;Yt(b,h,f,d,k,g,e)|0;$I(d);hm(j);l=m;return}function sv(b){b=b|0;var d=0,e=0;b=HA(b,c[42202]|0,174185)|0;a:do if(!(a[b>>0]|0))b=0;else{Eu(b)|0;b=0;d=168408;while(1){e=c[d>>2]|0;if(!e)break a;e=(yJ(e,95923)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function tv(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function uv(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=ww(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function vv(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=GA(d,zm(d,0,86583,0)|0,174185)|0,(iv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=eo(d)|0;while(1){if(!e){e=0;break a}if((nv(b,d,e)|0)<<24>>24){e=1;break a}e=fo(d,e)|0}}else e=0;else e=1;while(0);return e|0}function wv(a,b){a=a|0;b=b|0;var d=0;d=Wt(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;rv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);nD(a,b);return}function xv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=Jm(b,86479)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){Eu(b)|0;e=168408;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=168408;break a}if(!(yJ(f,95923)|0)){g=10;break}if(!(yJ(f,91378)|0)){f=e;g=12;break}if(!(yJ(f,91385)|0)){f=e;g=14;break}if(!(yJ(f,91360)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(au(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)$l(0,85446,i)|0;m=xw((sJ(b)|0)+1|0)|0;c[d>>2]=m;yK(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((sJ(m)|0)+1)|0;c[d+4>>2]=m;yK(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);bu(j);b=1}else{c[d>>2]=0;bu(j);b=0}l=k;return b|0}function zv(a,b){a=a|0;b=b|0;oD(a,b);Xt(a);return}function Av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=xw(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(mv(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];HD(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(mv(s,p)|0))d=j;else{d=r+8|0;f=Bv(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;ID(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(mv(s,p)|0))d=j;else{d=r+8|0;f=Bv(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;KD(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(mv(s,p)|0))d=j;else{d=r+8|0;f=Bv(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;LD(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(mv(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];BD(a,p,d);d=j}break}case 8:{ED(a,c[r+8>>2]|0);d=1;break}case 9:{CD(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);ED(a,c[z+4>>2]|0);FD(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);ED(a,j);FD(a,n,d,o);d=3;break}case 14:{$l(0,85512,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{$l(0,85552,w)|0;e=0;d=j}break}case 11:{Eu(c[r+8>>2]|0)|0;GD(a,168408);i=168408;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)GD(a,c[(c[a>>2]|0)+336>>2]|0);$I(f);l=x;return}function Bv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=zw(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function Cv(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function Dv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;Dv(b,e);d=Jm(e,122540)|0;if(d|0?a[d>>0]|0:0)CD(b,d);d=Jm(e,122531)|0;if(d|0?a[d>>0]|0:0)CD(b,d);d=Jm(e,85423)|0;if(d|0?a[d>>0]|0:0)CD(b,d);d=Jm(e,86469)|0;if(d|0?a[d>>0]|0:0)ED(b,d);d=Jm(e,86503)|0;if(d|0?a[d>>0]|0:0)CD(b,d);f=f+1|0}return}function Ev(a){a=a|0;var b=0,d=0,e=0;b=c[42172]|0;if(!b){b=Rl(19684,c[4345]|0)|0;c[42172]=b}if(!(bb[c[b>>2]&31](b,a,4)|0)){d=c[42172]|0;e=c[d>>2]|0;b=HL(a)|0;bb[e&31](d,b,1)|0;b=1}else b=0;return b|0}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;$I(b);return}function Gv(a){a=a|0;var b=0;b=c[42173]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[42173]=b,(b|0)==0):0){cL(1,c[42174]|0)|0;$I(c[42174]|0)}}else{c[42173]=b+1;if(!b){c[42174]=HL(cL(1,0)|0)|0;cL(1,134865)|0}}return}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)yA();do if((Oo(b,122277,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){Iv(b);Jv(a,b);Kv(a,b);Gv(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=Dr(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=24748;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=cD(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=Lv(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(yJ(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[42175]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}eD(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[42175]=0;g=27}if((g|0)==27?(g=0,(dD(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=24860;Mv(i);Nv(i);Ov(i,b);Pv(i,b);Qv(i,b);if(!(c[f>>2]&128))hu(i,b);c[42175]=i}i=Er(a)|0}if((g|0)==13){$l(1,85710,s)|0;Gv(0);if(!0){d=-1;break}d=c[13918]|0;s=En(b)|0;v=+zA();c[t>>2]=s;h[t+8>>3]=v;AL(d,85681,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];$l(1,85731,p)|0;Gv(0);if(!0){d=-1;break}d=c[13918]|0;t=En(b)|0;v=+zA();c[q>>2]=t;h[q+8>>3]=v;AL(d,85681,q)|0;d=-1;break}else if((g|0)==33){Gv(0);if(!0){d=0;break}d=c[13918]|0;t=En(b)|0;v=+zA();c[r>>2]=t;h[r+8>>3]=v;AL(d,85681,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){$l(1,85633,d)|0;if(!0)d=-1;else{d=c[13918]|0;t=En(b)|0;v=+zA();c[e>>2]=t;h[e+8>>3]=v;AL(d,85681,e)|0;d=-1}}l=u;return d|0}function Iv(a){a=a|0;var b=0;b=eo(a)|0;while(1){if(!b)break;Vv(a,b);b=fo(a,b)|0}return}function Jv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=Jm(d,90530)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=dM(e,90537,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=Jm(d,86133)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=dM(e,90537,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=86137;f=Jm(d,86140)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[42186]=zm(d,0,86535,0)|0;c[42187]=zm(d,0,86520,0)|0;c[b+320>>2]=HA(0,c[42196]|0,93027)|0;h[b+328>>3]=+FA(0,c[42195]|0,14.0,1.0);c[b+336>>2]=19720;c[b+188>>2]=En(d)|0;l=o;return}function Kv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){$I(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){$I(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){$I(e);c[g>>2]=0}e=Jm(d,85884)|0;if(e){c[b+312>>2]=Tv(b,d,e)|0;e=Jm(d,85891)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=Uv(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function Lv(b){b=b|0;b=Jm(b,85852)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(yJ(b+1|0,85864)|0))b=1;else{b=0;break a}break}case 101:{if(!(yJ(b+1|0,85874)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function Mv(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function Nv(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function Ov(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function Pv(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(if&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=Jm(d,85783)|0;if(g){m=_I((sJ(g)|0)+1|0)|0;n=_I((sJ(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((dM(g,85792,s)|0)==4){g=oo(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((dM(g,85812,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;dM(g,85832,t)|0;break}g=oo(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);$I(m);$I(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function Qv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Rv(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]>3];h[I>>3]=o;e=p;f=I;m=+h[(g>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;Sv(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;Sv(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){Sv(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;Sv(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];$l(0,85763,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Rv(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];Rv(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];Rv(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];Rv(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];Cv(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];Cv(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function Rv(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function Sv(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function Tv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=Jm(d,86004)|0;i=b+296|0;c[i>>2]=(f|0)==0?86013:f;d=Jm(d,86017)|0;f=b+300|0;d=(d|0)==0?86030:d;c[f>>2]=d;d=KL(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];$l(0,86032,g)|0;c[f>>2]=174185}d=HL(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=EL(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=xw(f<<2)|0;else d=zw(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=zw(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=xw((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((jv(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;$l(0,85903,j)|0;$I(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function Vv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Qm(a,b)|0;while(1){if(!b)break;Wv(b);b=Sm(a,b)|0}return}function Wv(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)Xv(a);return}function Xv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)ma(86171,84925,3994,86185);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Yv(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Yv(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];St(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];St(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function Yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)ma(86201,84925,3968,86213);if(((k>>>0)%3|0|0)!=1)ma(86223,84925,3969,86213);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]>3];h[j>>3]=o;s=+h[(+h[f>>3]>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o>3];o=+h[e>>3];h[f>>3]=+h[(s>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function _v(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[42176]|0)!=(d|0)){TJ(+(d|0)*.15915494309189535,167112,167120);c[42176]=d}g=+h[b>>3];e=+h[20890];f=+h[b+8>>3];i=+h[20889];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];bw(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];bw(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function ew(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=ww(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=Jm(b,86250)|0;if(!e){e=Na(86259)|0;if(e|0)k=3}else k=3;if((k|0)==3)Va(86271,e|0,1)|0;e=(fw(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=Jm(b,86282)|0,c[42178]=e,(e|0)==0):0)c[42178]=c[42177];f=+FA(b,zm(b,0,86292,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=Jm(b,86300)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(yJ(e,86308)|0)){e=1;break a}break}case 66:{if(!(yJ(e,86311)|0)){e=2;break a}break}case 82:{e=(yJ(e,86314)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+FA(b,zm(b,0,86317,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=GA(b,zm(b,0,86325,0)|0,0)|0;if(e){c[g>>2]=i;if(dM(e,86246,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(iL(e,86333)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(EA(b,zm(b,0,86341,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=VA(GA(b,zm(b,0,86351,0)|0,0)|0,19732,19748)|0;c[(c[m>>2]|0)+244>>2]=i;gw(b);i=hw(b,86361,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;hw(b,86366,e+48|0)|0;e=JA(Jm(b,86371)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=Jm(b,86378)|0;do if(!e){e=Jm(b,86385)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=Jm(b,86397)|0;if(e|0){e=JA(e)|0;k=27}}else{e=(sM(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[42180]=VA(Jm(b,86407)|0,19764,19780)|0;a[174080]=JA(Jm(b,86419)|0)|0;c[42182]=0;c[42183]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=Jm(b,86431)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=Jm(b,86435)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+tM(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}iw(b);c[42185]=zm(b,0,86446,0)|0;c[42188]=zm(b,0,86455,0)|0;c[42189]=zm(b,0,90530,0)|0;c[42190]=zm(b,1,96049,0)|0;c[42191]=zm(b,1,96043,0)|0;c[42192]=zm(b,1,90671,0)|0;c[42193]=zm(b,1,122540,0)|0;c[42194]=zm(b,1,86469,0)|0;c[42202]=zm(b,1,86479,0)|0;c[42195]=zm(b,1,86485,0)|0;c[42196]=zm(b,1,86494,0)|0;c[42197]=zm(b,1,86503,0)|0;k=zm(b,1,86240,0)|0;c[42199]=k;if(!k)c[42199]=zm(b,1,86240,90527)|0;c[42200]=zm(b,1,86513,0)|0;c[42203]=zm(b,1,86341,0)|0;c[42217]=zm(b,1,86520,0)|0;c[42206]=zm(b,1,86446,0)|0;c[42198]=zm(b,1,90530,0)|0;c[42204]=zm(b,1,86529,0)|0;c[42205]=zm(b,1,86535,0)|0;c[42208]=zm(b,1,86547,0)|0;c[42207]=zm(b,1,86385,0)|0;c[42209]=zm(b,1,86552,0)|0;c[42210]=zm(b,1,86563,0)|0;c[42211]=zm(b,1,122089,0)|0;c[42201]=zm(b,1,86573,0)|0;c[42212]=zm(b,1,86583,0)|0;c[42213]=zm(b,1,86589,0)|0;c[42214]=zm(b,1,86595,0)|0;c[42215]=zm(b,1,86603,0)|0;c[42216]=zm(b,1,86612,0)|0;c[42218]=zm(b,1,86455,0)|0;c[42219]=zm(b,2,86614,0)|0;c[42221]=zm(b,2,122540,0)|0;c[42222]=zm(b,2,86469,0)|0;c[42224]=zm(b,2,86485,0)|0;c[42225]=zm(b,2,86494,0)|0;c[42226]=zm(b,2,86503,0)|0;c[42227]=zm(b,2,86240,0)|0;c[42228]=zm(b,2,86513,0)|0;c[42237]=zm(b,2,86621,0)|0;c[42229]=zm(b,2,86632,0)|0;c[42240]=zm(b,2,86636,0)|0;c[42241]=zm(b,2,86646,0)|0;c[42242]=zm(b,2,86656,0)|0;c[42243]=zm(b,2,86666,0)|0;c[42244]=zm(b,2,86676,0)|0;c[42245]=zm(b,2,86690,0)|0;c[42246]=zm(b,2,86704,0)|0;c[42247]=zm(b,2,86719,0)|0;c[42248]=zm(b,2,86733,0)|0;c[42220]=zm(b,2,86744,0)|0;c[42232]=zm(b,2,86341,0)|0;c[42230]=zm(b,2,86479,0)|0;c[42231]=zm(b,2,86751,0)|0;c[42233]=zm(b,2,86760,0)|0;c[42234]=zm(b,2,86770,0)|0;c[42235]=zm(b,2,86583,0)|0;c[42236]=zm(b,2,86595,0)|0;c[42249]=zm(b,2,86781,0)|0;c[42250]=zm(b,2,86790,0)|0;c[42251]=zm(b,2,86520,0)|0;e=Vt(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=Jm(b,86799)|0;if(e|0?a[e>>0]|0:0){b=rw(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function fw(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=HA(a,zm(a,0,86883,0)|0,86891)|0;if(((((((jK(a,86897)|0)!=0?(jK(a,86905)|0)!=0:0)?(jK(a,86912)|0)!=0:0)?(jK(a,86915)|0)!=0:0)?(jK(a,86926)|0)!=0:0)?(jK(a,86937)|0)!=0:0)?(jK(a,86947)|0)!=0:0)if((jK(a,86958)|0)!=0?(jK(a,86964)|0)!=0:0)if((jK(a,86891)|0)!=0?(jK(a,86969)|0)!=0:0){c[b>>2]=a;$l(0,86974,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function gw(b){b=b|0;var d=0.0,e=0,f=0;e=Jm(b,86841)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(yJ(e,86847)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(yJ(e,86852)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(yJ(e,86861)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(yJ(e,86868)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+tM(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=Jm(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(dM(b,86825,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(dM(b,86835,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function iw(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=Jm(b,86240)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(dp(d)|0)!=0;g=+FA(b,zm(b,0,86485,0)|0,14.0,1.0);i=HA(b,zm(b,0,86494,0)|0,93027)|0;d=mw(b,d,e?2:0,g,i,HA(b,zm(b,0,86503,0)|0,122106)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=Jm(b,90662)|0;e=(d|0)!=0;do if((to(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=Jm(b,86802)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((to(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(to(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function jw(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){yt(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}$I(c[b+92>>2]|0);b=c[e>>2]|0}while(0);$I(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;pw(c[e+12>>2]|0);Uo(a,0,122277);return}function kw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=xw((sJ(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;lw(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;lw(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;lw(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function lw(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=ww((k*56|0)+112|0)|0;else n=yw(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[41782]=c[e+4>>2];h[20893]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=bb[c[g>>2]&31](g,167128,1)|0;qA(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function mw(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=ww(88)|0;switch(Do(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=to(so(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=to(so(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=HL(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=HL(e)|0;a[t+82>>0]=1;if(!(UF(b,t)|0))break a;switch(Do(b)|0){case 0:{c[p>>2]=En(n)|0;$l(3,87017,p)|0;break a}case 1:{c[q>>2]=En(o)|0;$l(3,87039,q)|0;break a}case 2:{p=En(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(rn(s)|0)!=0;s=En(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?122546:122549;c[r+8>>2]=s;$l(3,87060,r)|0;break a}default:break a}}case 0:{i=nw(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=zB(i)|0;else i=wB(i,s)|0;$I(c[t>>2]|0);c[t>>2]=i;kw(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:ma(87087,87103,166,87112)}while(0);l=u;return t|0}function nw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(Do(d)|0){case 0:{i=En(d)|0;g=sJ(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174185;q=174185;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174185;q=174185;p=0;r=0;n=sJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174185;q=174185;p=0;r=0;n=2;w=87123;x=87129}break}case 1:{i=En(so(d)|0)|0;g=sJ(i)|0;j=En(d)|0;h=sJ(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=87135;m=87132;o=174185;q=174185;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174185;q=174185;p=0;r=0;n=sJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174185;q=174185;p=0;r=0;n=2;w=87123;x=87129}break}case 2:{h=d+48|0;i=En(to(so(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=sJ(i)|0;l=En(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=sJ(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=sJ(q)|0;m=En(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=sJ(o)|0;j=sJ(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=sJ(f)|0}else{n=2;f=87123}x=(rn(to(so(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=90527;w=f;x=x?122549:122546;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=87135;m=87132;j=90527;i=87126;o=174185;q=174185;p=0;r=0;n=2;w=87123;x=87129}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=xw(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)$I(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)gb[f&127](g);d=d+56|0;e=e+1|0}$I(a)}return}function pw(d){d=d|0;var e=0;if(d|0){$I(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)FF(e,1)}else ow(c[e>>2]|0,b[d+76>>1]|0);$I(d)}return}function qw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){zD(d,0);CD(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];BD(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}AD(d);i=18}}else{kF(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function rw(a,b){a=a|0;b=b|0;return nw(a,b,1)|0}function sw(a){a=a|0;return tw(a,0)|0}function tw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[42252]|0;if(!e){c[42253]=64;e=xw(64)|0;c[42252]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[42253]|0;if((i|0)>(b+-8|0)){e=b<<1;c[42253]=e;e=zw(c[42252]|0,e)|0;c[42252]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(uw(h)|0)!=0:0)k=18;else{f=5;d=87164}break}case 60:{f=4;d=87187;break}case 62:{f=4;d=87170;break}case 45:{f=5;d=87181;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=87157;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=87150;break a}case 39:{f=5;d=87175;break a}case 10:if(j){k=18;break a}else{f=5;d=87144;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:87138}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[42252]|0}function uw(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function vw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[42254]|0;if(!d){c[42255]=64;d=xw(64)|0;c[42254]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[42255]|0;if((i|0)>(f+-8|0)){d=f<<1;c[42255]=d;d=zw(c[42254]|0,d)|0;c[42254]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(uw(b)|0)){g=5;e=87164}else j=12;break}case 60:{g=4;e=87187;break}case 62:{g=4;e=87170;break}case 34:{g=6;e=87150;break}case 39:{g=5;e=87175;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[42254]|0}function ww(a){a=a|0;var b=0;if(!a)a=0;else{b=xw(a)|0;WN(b|0,0,a|0)|0;a=b}return a|0}function xw(a){a=a|0;if(a){a=_I(a)|0;if(!a){YL(96532,14,1,c[13918]|0)|0;a=0}}else a=0;return a|0}function yw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=bJ(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)WN(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else YL(96532,14,1,c[13918]|0)|0;return a|0}function zw(a,b){a=a|0;b=b|0;a=bJ(a,b)|0;if((b|0)!=0&(a|0)==0)YL(96532,14,1,c[13918]|0)|0;return a|0}function Aw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=_I(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ha(57,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=TN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[13918]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=87236;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;aa(13,j|0,87192,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ea(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=_(20,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=TN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ea(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[42256]=(e|0)>-1?e:30;t=SN(169028,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ea(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[13918]|0;m=0;while(1){o=0;j=Z(1)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=_(21,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=TN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ga(24,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;$(27,87236,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;aa(13,a|0,87254,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;aa(13,a|0,87254,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=TN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ea(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ea(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ea(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[42296]|0;g=c[42297]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=TN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=87236;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;aa(13,a|0,87258,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);$I(t|0);l=u;return f|0}function Bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function Cw(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[42299]=b;c[42306]=0;c[42297]=0;c[42296]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[42296]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[42297]=k;b=b+1|0;f=k}b=g+164|0}b=c[42307]|0;if(!b)b=xw(h<<2)|0;else b=zw(b,h<<2)|0;c[42307]=b;c[42308]=0;b=c[42301]|0;if(!b)b=xw(c[42296]<<2)|0;else b=zw(b,c[42296]<<2)|0;c[42301]=b;c[42300]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=ww((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=ww(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function Dw(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=AA(c[42296]|0)|0;a=(c[(c[42299]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){CA(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=DA(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){CA(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[42296]|0)){$l(1,87590,k)|0;a=(c[(c[42299]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=En(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;$l(3,87612,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);BA(m);l=o;return}function Ew(){var b=0,d=0,e=0;b=(c[(c[42299]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){$I(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function Fw(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[42299]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=ww(c[42296]<<2)|0;e=0;a=(c[(c[42299]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=Sw(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=Tw(f,e)|0;while(1){if((Uw(a)|0)<=1)break;Yw(a,c[(Xw(Ww(Vw(a)|0)|0)|0)+8>>2]|0)}$I(a);a=0;while(1){if((a|0)>=(e|0))break;$I(c[f+(a<<2)>>2]|0);a=a+1|0}$I(f);if((c[42300]|0)==((c[42296]|0)+-1|0)){Zw();return}else ma(87335,87365,523,87370)}function Gw(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[42306]|0;f=c[42300]|0;j=c[42301]|0;k=c[42256]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[42306]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[42306]=f}return a|0}function Hw(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[42302]=0;c[42303]=2147483647;d=c[a+16>>2]|0;c[42304]=c[d+284>>2];c[42305]=c[d+288>>2];if(b)Rw(a);else Qw(a);return c[42302]|0}function Iw(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){Mw(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){Mw(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){Mw(h,g);break}else{Mw(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=Nw(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((Nw(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;Ow(a,b);n=c[g+16>>2]|0;Pw(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{$l(1,87296,n)|0;Ua(169028,1)}}function Jw(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Lw();m=ww((c[42298]<<2)+4|0)|0;d=c[42298]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[42299]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[42298]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){$I(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){$I(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}$I(m);return}function Kw(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[42300]|0))break;a=c[(c[42301]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=Hw(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){Mw(g,f>>>1);break}else{Mw(a,(f|0)/-2|0);break}}while(0);b=b+1|0}Ew();return}function Lw(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[42298]=-2147483647;b=(c[(c[42299]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[42298]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[42298]=f-g;c[h>>2]=0}l=i;return}function Mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){Mw(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){Mw(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function Nw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function Ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[42301]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=Pw(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=Pw(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function Qw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42304]|0)>(j|0)|(j|0)>(c[42305]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42303]|0)|(c[42302]|0)==0):0){c[42302]=d;c[42303]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Qw(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42303]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Qw(b);a=c[i>>2]|0}d=d+1|0}return}function Rw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42304]|0)>(j|0)|(j|0)>(c[42305]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42303]|0)|(c[42302]|0)==0):0){c[42302]=d;c[42303]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Rw(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42303]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Rw(b);a=c[i>>2]|0}d=d+1|0}return}function Sw(a){a=a|0;var b=0;b=ww(16)|0;c[b>>2]=a;c[b+4>>2]=gx(a,b)|0;c[b+12>>2]=b;return b|0}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0;e=ww(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;Yw(e,d);d=d+-1|0}return e|0}function Uw(a){a=a|0;return c[a+4>>2]|0}function Vw(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;Yw(a,0);return b|0}function Ww(a){a=a|0;return fx(c[a>>2]|0,0,0)|0}function Xw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)ma(87384,87365,463,87398);g=a+48|0;d=bx(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=bx(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)cx(c[d>>2]|0,0,b);else cx(c[f>>2]|0,0,0-b|0);dx(a);return ex(d,f)|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function Zw(){Pw(c[(c[(c[42299]|0)+16>>2]|0)+192>>2]|0,0,1)|0;_w(c[(c[(c[42299]|0)+16>>2]|0)+192>>2]|0,0);return}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))_w(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){_w(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)$w(b);return}function $w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(ax(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(ax(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function bx(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){cx(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){cx(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function dx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){$l(1,87487,h)|0;Ua(169028,1)}g=c[42300]|0;c[d>>2]=g;d=c[42301]|0;c[42300]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[42307]|0;d=c[42308]|0;c[42308]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[42307]|0;d=c[42308]|0;c[42308]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){$l(1,87521,h+8|0)|0;Ua(169028,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){$l(1,87556,h+16|0)|0;Ua(169028,1)}else{l=h;return}}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else ma(87410,87365,327,87457);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else ma(87468,87365,335,87457)}else i=a;return i|0}function fx(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=bx(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=fx(h,a,d)|0}else if((bx(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=fx(i,a,d)|0}else if((bx(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function gx(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){dx(g);a=(gx(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){dx(f);a=(gx(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Jm(a,87620)|0;if(!d)d=30;else d=sM(d)|0;return Aw(a,b,c,d)|0}function ix(a){a=+a;return +((c[42184]|0)==0?a:+h[20895]-a)}function jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[42309]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];kx(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];lx(e,87631,+h[b+352>>3]);lx(e,87638,t*.013888888888888888);lx(e,87638,s*.013888888888888888);mx(e);i=eo(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){nx(e,87640,Xp(En(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];ox(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=so(i)|0;b=px(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=Xp(Km(i,c[42199]|0)|0)|0;lx(e,87638,+h[(c[g>>2]|0)+32>>3]);lx(e,87638,+h[(c[g>>2]|0)+40>>3]);nx(e,87638,b);nx(e,87638,HA(i,c[42202]|0,95889)|0);nx(e,87638,c[c[(c[g>>2]|0)+8>>2]>>2]|0);nx(e,87638,HA(i,c[42193]|0,122106)|0);b=HA(i,c[42194]|0,174185)|0;if(!(a[b>>0]|0))b=HA(i,c[42193]|0,119592)|0;nx(e,87638,b);mx(e)}i=fo(d,i)|0}o=f<<24>>24==0;n=eo(d)|0;while(1){if(!n)break;m=Qm(d,n)|0;while(1){if(!m)break;if(o){f=174185;j=174185}else{j=Jm(m,96242)|0;f=Jm(m,96251)|0;f=f|0?f:174185;j=j|0?j:174185}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}nx(e,0,96237);qx(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);qx(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);rx(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];ox(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=so(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;nx(e,87638,px(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];ox(e,q)}nx(e,87638,HA(m,c[42230]|0,95889)|0);nx(e,87638,HA(m,c[42221]|0,122106)|0);mx(e);m=Sm(d,m)|0}n=fo(d,n)|0}sx(87646,e);l=r;return}function kx(a){a=a|0;var b=0.0;if(c[42184]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[20895]=b;h[20896]=b*.013888888888888888}return}function lx(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)sx(b,a);h[e>>3]=c;qL(d,87652,e)|0;sx(d,a);l=f;return}function mx(b){b=b|0;a[174081]=10;ab[c[42309]&63](b,174081)|0;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)sx(b,a);sx(c,a);return}function ox(a,b){a=a|0;b=b|0;var d=0.0;lx(a,87638,+h[b>>3]*.013888888888888888);if(!(c[42184]|0))d=+h[b+8>>3];else d=+h[20895]-+h[b+8>>3];lx(a,87638,d*.013888888888888888);return}function px(a,b){a=a|0;b=b|0;var c=0;c=ap(a,b)|0;b=Xp(c)|0;cp(a,c)|0;return b|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=Xp(En(d)|0)|0;else{f=so(d)|0;d=px(f,(XJ(En(d)|0,58)|0)+1|0)|0}nx(b,87638,d);if(e|0?a[e>>0]|0:0)nx(b,93017,Xp(e)|0);return}function rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;sx(87638,a);c[f>>2]=b;qL(e,122187,f)|0;sx(e,a);l=d;return}function sx(a,b){a=a|0;b=b|0;ab[c[42309]&63](b,a)|0;return} +function FB(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)ma(94759,92694,1637,94767);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((Zv(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(HB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(HB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function HB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];St(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],St(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],St(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],St(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function IB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(jK(e,94782)|0)){d=4;break a}if(!(jK(e,94788)|0)){d=12;break a}break}case 70:case 102:{if(!(jK(b+1|0,94796)|0)){d=2;break a}break}case 76:case 108:{if(!(jK(b+1|0,94801)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(jK(e,94805)|0)){d=0;break a}if(!(jK(e,94809)|0)){d=2;break a}break}case 79:case 111:{if(!(jK(b+1|0,94811)|0)){d=8;break a}break}case 80:case 112:{if(!(jK(b+1|0,94816)|0)){d=6;break a}break}case 83:case 115:{if(!(jK(b+1|0,94824)|0)){d=10;break a}break}case 84:case 116:{if(!(jK(b+1|0,94830)|0)){d=10;break a}break}case 89:case 121:{if(!(jK(b+1|0,94834)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;$l(0,94837,f)|0}while(0);l=g;return d|0}function JB(d,f){d=d|0;f=f|0;var g=0;g=Jm(d,94878)|0;if(g)if(!(a[g>>0]|0))f=0;else f=IB(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function KB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function LB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function MB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=_I(40)|0;c[w>>2]=0;s=y;o=0;e=_(22,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=_(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=TN(c[f>>2]|0,w|0,x|0)|0;if(!e)Ua(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[174080]|0))t=0;else{o=0;e=Z(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=$(31,b|0,94886)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[42367]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[42367]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(11,0,94890,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=$(32,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[42367]&2|0){o=0;ga(25,c[13918]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=_(24,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=$(33,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=TN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[42179]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[174080]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(15,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=TN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=TN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=aa(15,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=TN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=TN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=_(25,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=TN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=$(34,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=TN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=$(35,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=_(26,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ja(25,v|0,n|0,8,36);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;fa(87,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[13918]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[42367]&16|0:0){o=0;ga(25,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ja(26,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ha(60,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ha(60,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=aa(16,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ja(27,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;fa(88,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ea(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=_(27,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=_(28,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ha(61,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=SN(169472,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;fa(89,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[42367]&4|0){o=0;ka(7,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;la(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[174080]|0))e=0;else{o=0;fa(90,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;fa(91,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;fa(91,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(92,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(91,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}$I(w|0);l=y;return}function NB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;XL(95757,a)|0;XL(95768,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){GC(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{IC(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;AL(a,95788,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;AL(a,95808,p)|0;d=d+1|0}XL(95830,a)|0;l=q;return}function OB(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function PB(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function QB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;GC(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){EC(j,h,c[h+24>>2]|0);ZC(b,f,h,0.0)|0;break}else{EC(j,h,i);ZC(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;GC(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;EC(h,g,e);ZC(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function SB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=ww((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;EC(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=FC(j,i)|0;vG(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){EC(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{GC(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}HC(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){EC(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];HC(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=bJ(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function TB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Rl(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=ww(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];zC(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function UB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Rl(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=ww(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];zC(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function VB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;yC(cC(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function WB(a){a=a|0;var b=0,d=0;d=a+20|0;eC(c[d>>2]|0);b=a+24|0;eC(c[b>>2]|0);fC(c[d>>2]|0);fC(c[b>>2]|0);gC(c[d>>2]|0,a);gC(c[b>>2]|0,a);hC(c[d>>2]|0);hC(c[b>>2]|0);return}function XB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;XL(95005,a)|0;c[n>>2]=10;c[n+4>>2]=10;AL(a,95411,n)|0;XL(123076,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;AL(a,123095,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];dC(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}XL(95428,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;AL(a,123132,y)|0;h[u>>3]=+h[(+h[u>>3]>3];h[v>>3]=+h[(+h[v>>3]>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;AL(a,95453,x)|0;l=z;return}function YB(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[13918]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];ZB(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];ZB(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)$I(i);p=xw(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+($B(u,d)|0);j=+h[I>>3]}else{j=+_B(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+($B(q,d)|0);else j=+_B(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+($B(q,d)|0);j=+h[J>>3]}else{j=+_B(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=En(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=En(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;AL(G,94964,M)|0}Kz(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,24664);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];dA(b,z,E,F)}v=v+1|0}$I(o);l=N;return}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function _B(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=cC(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function $B(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=cC(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function aC(a){a=a|0;return 0}function bC(a){a=a|0;return 0}function cC(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b+8|0,512)|0;if(!a)ma(94977,94983,423,94991);a=c[a+16>>2]|0;a=bb[c[a>>2]&31](a,b+16|0,512)|0;if(!a)ma(95002,94983,425,94991);else return a|0;return 0}function dC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=$B(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+_B(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;AL(d,95504,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=$B(m,g)|0;else f=~~+_B(m,g);B=+(f|0);D=p>3]=D;k=+(j|0);C=q>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;AL(d,95526,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=$B(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+_B(m,g)}A=~~k;C=+(A|0);h[i>>3]=p>3]=q>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;AL(d,95540,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function eC(a){a=a|0;var b=0;a=Pl(a)|0;while(1){if(!a)break;b=Pl(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=JC(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function fC(a){a=a|0;var b=0;a=Pl(a)|0;while(1){if(!a)break;b=Pl(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)xC(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function gC(a,b){a=a|0;b=b|0;var d=0;d=Pl(a)|0;while(1){if(!d)break;a=Pl(c[d+16>>2]|0)|0;while(1){if(!a)break;lC(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function hC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Pl(a)|0;while(1){if(!e)break;i=e+8|0;f=Pl(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[42367]&8|0)iC(f,~~+h[i>>3]);g=f+32|0;OC(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function iC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[13918]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;AL(i,95561,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Tl(e)|0){jC(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);XL(95581,i)|0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d)break b;XL(95586,i)|0;jC(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);XL(134901,i)|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function jC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=kC(c[d+32>>2]|0)|0;e=kC(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;AL(b,95592,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=kC(c[d+32>>2]|0)|0;i=kC(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;AL(b,95592,e)|0}l=g;return}function kC(a){a=a|0;switch(a|0){case 0:{a=95643;break}case 1:{a=95638;break}case 2:{a=95631;break}case 3:{a=95624;break}case 4:{a=95616;break}default:a=0}return a|0}function lC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((NC(u,j,k)|0)==0?(NC(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,mC(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;nC(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;nC(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{oC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);oC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;pC(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{oC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);oC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{oC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);oC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{oC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);oC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{oC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);oC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;pC(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function mC(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))ma(95714,94983,843,95745);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function nC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=qC(b,e)|0;if(!b){h=0;break}d=qC(d,f)|0;if(!d){i=6;break}if(!(mC(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)ma(123205,94983,871,95663);else if((i|0)==7)h=sC(b,rC(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function oC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=cC(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;LC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=qC(b,e)|0;m=qC(d,f)|0;do if(!(a[b>>0]|0)){j=cC(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(NC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(NC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=cC(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(NC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(NC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){LC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{LC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function pC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(mC(b,d)|0))break;g=qC(b,1)|0;d=qC(d,e)|0;b=g}g=c[(cC(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;MC(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function qC(a,b){a=a|0;b=b|0;if(!a)ma(95650,94983,798,95654);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function rC(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=tC(b,c,3,1)|0;else b=tC(b,c,4,2)|0;l=f;return b|0}$l(1,95676,e)|0;Ua(169472,1);return 0}function sC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=qC(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function tC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j>3],i=+h[b+24>>3],!(g>i)):0){if(k>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j>2]|0)==(d|0);d=wC(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=wC(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=vC(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(vC(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=vC(f,o,d)|0;break}else{b=0-(vC(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function uC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=wC(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(wC(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function vC(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function wC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function xC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(rC(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{LC(d,a,b);break}case -1:{LC(d,b,a);break}default:{}}b=b+1|0}}return}function yC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=xw(d<<2)|0;else a=zw(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function zC(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=bb[c[a>>2]&31](a,f,512)|0;if(!e){e=ww(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Rl(24712,c[4345]|0)|0;bb[c[a>>2]&31](a,e,1)|0}f=c[e+16>>2]|0;bb[c[f>>2]&31](f,b,1)|0;l=g;return}function AC(a,b,d){a=a|0;b=b|0;d=d|0;KC(c[b+32>>2]|0);$I(c[b+28>>2]|0);$I(b);return}function BC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function CC(a,b,d){a=a|0;b=b|0;d=d|0;Ll(c[b+16>>2]|0)|0;$I(b);return}function DC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f>31)|0}function EC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function FC(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function GC(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function HC(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function IC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=ww(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=ww(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=gG()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function KC(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Ll(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}$I(e);$I(a);return}function LC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,1)|0;l=e;return}function MC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;bb[c[g>>2]&31](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,2)|0;l=e;return}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(bb[c[d>>2]&31](d,f,512)|0)!=0&1;l=e;return d|0}function OC(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=PC(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=QC(a,d,b,e)|0;d=d+1|0}while(1){d=RC(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}SC(e)}}return}function PC(a){a=a|0;var b=0;b=ww(8)|0;c[b+4>>2]=ww(a<<2)|0;c[b>>2]=-1;return b|0}function QC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Pl(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=QC(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;TC(e,b);return d+1|0}function RC(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function SC(a){a=a|0;$I(c[a+4>>2]|0);$I(a);return}function TC(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function UC(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function VC(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function WC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=ww(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=ww((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function XC(a){a=a|0;var b=0;b=ww(24)|0;c[b>>2]=0;c[b+16>>2]=ww(a*40|0)|0;return b|0}function YC(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function ZC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;_C(b,f);_C(d,f);return a|0}function _C(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function $C(a){a=a|0;var b=0;b=a+16|0;$I(c[(c[b>>2]|0)+28>>2]|0);$I(c[b>>2]|0);$I(c[a+20>>2]|0);$I(a);return}function aD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}oG();a:do if(!(rG(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=tG()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=bD(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(rG(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;uG(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function cD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;Kr(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function dD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(jr(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){gb[d&127](a);a=0}else a=0;else a=1;return a|0}function eD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;rr(a);return}function fD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function gD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function hD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)gb[d&127](a);return}function iD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)gb[d&127](a);qr(a);return}function jD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)gb[d&127](a);return}function kD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)gb[d&127](a);return}function lD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;kb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function mD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)gb[d&127](a);return}function nD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)gb[d&127](a);return}function oD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)gb[d&127](a);return}function pD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)gb[d&127](a);return}function qD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)gb[d&127](a);return}function rD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)gb[d&127](a);return}function sD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)gb[d&127](a);return}function tD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)gb[d&127](a);return}function uD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)gb[d&127](a);return}function vD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)gb[d&127](a);return}function wD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)gb[d&127](a);return}function xD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)lb[h&7](a,b,d,e,f);return}function yD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)gb[d&127](a);return}function zD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)hb[e&31](a,b);return}function AD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)gb[d&127](a);return}function BD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];fD(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];ib[g&127](b,f,e)}}while(0);l=k;return}function CD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=XJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(DD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function DD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=SE(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(wM(e,f,c[a+20>>2]|0,4,37)|0)!=0:0))h=3;a:do if((h|0)==3){switch(TE(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{$l(1,95868,g)|0;break a}}a=xw((sJ(b)|0)+16|0)|0;c[i>>2]=b;qL(a,95833,i)|0;if(Ev(a)|0){c[j>>2]=b;$l(0,95842,j)|0}$I(a)}while(0);l=k;return}function ED(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=XJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(DD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function FD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(DD(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)hb[f&31](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function GD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(yJ(b,95889)|0)){c[j>>2]=3;b=f;continue b}if(!(yJ(b,95910)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+tM(d);b=f;continue b}break}case 100:{if(!(yJ(b,122119)|0)){c[j>>2]=1;b=f;continue b}if(!(yJ(b,122112)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(yJ(b,119127)|0?yJ(b,95895)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(yJ(b,95905)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(yJ(b,95923)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(yJ(b,95930)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(yJ(b,95939)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;$l(0,95947,k)|0;b=f}}while(0);l=m;return}function HD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){gD(a,g,g,2)|0;f=c[i>>2]|0}ib[f&127](a,g,e)}l=j;return}function ID(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[42407]|0)<(d|0)){c[42407]=e;e=zw(c[42408]|0,e<<4)|0;c[42408]=e}else e=c[42408]|0;gD(a,b,e,d)|0;kb[c[n>>2]&31](a,e,d,f)}else kb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];ID(a,f,4,d);l=e;return}function KD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){mb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[42407]|0)<(d|0)){c[42407]=h;h=zw(c[42408]|0,h<<4)|0;c[42408]=h}else h=c[42408]|0;gD(a,b,h,d)|0;mb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function LD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){ib[f&127](a,b,d);break}e=d+10|0;if((c[42407]|0)<(d|0)){c[42407]=e;e=zw(c[42408]|0,e<<4)|0;c[42408]=e}else e=c[42408]|0;gD(a,b,e,d)|0;ib[c[g>>2]&127](a,e,d)}while(0);return}function MD(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)hb[f&31](b,d);return}function ND(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)ma(96061,96e3,691,96011);if(!d)ma(96030,96e3,692,96011);if(!(a[d>>0]|0))ma(96035,96e3,693,96011);D=Mr(d)|0;if(!D){if((C|0)!=0&(Qy(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)lb[m&7](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];Pr(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(OD(i)|0){case 1:if(q>3]=j;k=k-t;h[n>>3]=k}if(o>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];fD(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];fD(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];QD(b,D,B,g,G)}}}l=F;return}function OD(b){b=b|0;if(a[b>>0]|0)if(jK(b,96043)|0)if(jK(b,96049)|0)if(!(jK(b,96056)|0))b=4;else b=(JA(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function PD(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function QD(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)ma(96061,96065,52,96079);if(!d)ma(96091,96065,53,96079);i=c[d+8>>2]|0;if(!i)ma(96094,96065,54,96079);if(!(a[i>>0]|0))ma(96103,96065,55,96079);yK(h,c[d+28>>2]|0)|0;i=h+(sJ(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;JL(h,g)|0;if((RD(b,h)|0)==999){c[j>>2]=h;$l(0,96115,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];kb[m&31](b,d,k,f)}l=n;return}function RD(a,b){a=a|0;b=b|0;b=Kr(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function SD(a){a=a|0;return 1}function TD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function UD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function VD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function WD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function XD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function YD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function ZD(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function _D(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;oE(b,d)}hu(b,d);a[b+540>>0]=1;return}function $D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];hE(b,f);nE(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];hE(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function aE(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function bE(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];hE(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;return}function dE(a){a=a|0;return}function eE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=bM(d,123632)|0;if(d|0){i=fr(d,0)|0;ML(d)|0;f=5}}else{i=fr(c[13853]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){gb[h&127](d);d=c[g>>2]|0}jw(d);mn(c[g>>2]|0)|0}To(i,0,122277,280,1);To(i,1,122241,304,1);To(i,2,122254,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((ms(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function fE(a,b){a=a|0;b=b|0;a=c[a>>2]|0;ms(a,c[a+168>>2]|0,b)|0;return}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}os(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function hE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];iE(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=jE(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){kE(b);c[e>>2]=d;lE(b);a[b+537>>0]=1}l=f;return}function iE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function jE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=eo(a)|0;a:while(1){if(!e){e=9;break}d=Qm(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((EB(d,f)|0)<<24>>24){e=6;break a}d=Sm(a,d)|0}e=fo(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=go(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((BB(d,f)|0)<<24>>24){e=12;break}d=ho(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=mE(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function kE(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(Do(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function lE(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){$I(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(Do(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=zm(d,0,96229,0)|0;if(!b)break a;c[e>>2]=rw(Km(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=zm(so(d)|0,1,96229,0)|0;if(!b)break a;c[e>>2]=rw(Km(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=zm(so(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,96229,0)|0;if(!b)break a;c[e>>2]=rw(Km(d,b)|0,d)|0;break a}default:break a}while(0);return}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=mE(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function nE(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(Do(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){$I(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(Do(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;oE(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;pE(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;qE(b,d);break b}default:break b}while(0);return}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((to(b)|0)==(b|0))if(!(rn(b)|0)){Fr(d,0,96286);break}else{Fr(d,0,96278);break}else Fr(d,0,96292);while(0);Fr(d,1,En(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=Em(b,0,d)|0;if(!d)break;Fr(f,e,c[d+8>>2]|0);Fr(f,e+1|0,Km(b,d)|0);Fr(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=zm(b,0,96264,0)|0;if(!d){d=zm(b,0,96269,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=rw(Km(b,d)|0,b)|0;return}function pE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;Fr(f,0,96273);Fr(f,1,En(b)|0);c[a+596>>2]=2;f=a+604|0;g=to(so(b)|0)|0;e=2;d=0;while(1){d=Em(g,1,d)|0;if(!d)break;Fr(f,e,c[d+8>>2]|0);Fr(f,e|1,Km(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=zm(so(b)|0,1,96264,0)|0;if(!d){d=zm(so(b)|0,1,96269,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=rw(Km(b,d)|0,b)|0;return}function qE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;Fr(h,0,96237);k=b+48|0;Fr(h,1,En(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(rn(so(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;Fr(h,3,k?122546:122549);k=b+-48|0;Fr(h,4,En(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=to(so(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=Em(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(yJ(f,96242)|0)){l=5;break}if(!(yJ(f,96251)|0)){l=7;break}if(yJ(f,96260)|0)break;Fr(h,6,Km(b,d)|0)}if((l|0)==5){l=0;Fr(h,2,Km(b,d)|0)}else if((l|0)==7){l=0;Fr(h,5,Km(b,d)|0)}Fr(i,g,c[e>>2]|0);Fr(i,g+1|0,Km(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=zm(so(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96264,0)|0;if(!d){d=zm(so(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96269,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=rw(Km(b,d)|0,b)|0;return}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=sE(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;Ir(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function sE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=xw(12)|0;if(!b)b=0;else b=HL(b)|0;c[e+4>>2]=b;c[e+8>>2]=HL(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function tE(b,c){b=b|0;c=c|0;uE(b);a[b+44>>0]=0;vE(b)|0;uA(b)|0;return}function uE(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?iL(e,96301)|0:0)rE(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function vE(a){a=a|0;var b=0;b=Kr(a,2,96314)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function wE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=ab[e&63](b,d)|0;else a=0;return a|0}function xE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function yE(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (zE(~~(d>b?d:b)>>>0)|0)+1|0}function zE(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function AE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=BE(b,d,e,f,g)|0;e=CE(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){DE(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}EE(p)}l=r;return e|0}function BE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=ww(28)|0;j=Rl(24896,c[4348]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=kH()|0;c[g+24>>2]=j;if(!j){YL(96532,14,1,c[13918]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{YL(96532,14,1,c[13918]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Ll(a)|0;a=c[g+24>>2]|0;if(a|0)mH(a)|0;$I(g);g=0}return g|0}function CE(a){a=a|0;var b=0;b=NE(a)|0;if((b|0)>=0){OE(a);PE(a);b=Ll(c[a+20>>2]|0)|0}return b|0}function DE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)ma(96325,96335,445,96345);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];FE(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];FE(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];FE(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];FE(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];FE(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];FE(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];FE(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];FE(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}FE(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;FE(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;FE(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;FE(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function EE(a){a=a|0;mH(c[a+24>>2]|0)|0;$I(a);return}function FE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)ma(96325,96335,382,96354);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((GE(e,k)|0)!=0&1)|0}while(0);m=m+1|0}HE(e,q);m=c[d+24>>2]|0;m=oH(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){IE(j,s);n=+JE(q,s);if(n>0.0){g=g+1|0;i=+KE(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(HE(j,s),r=+JE(q,s),r>0.0):0){g=g+1|0;i=+LE(e,j,q,r,f)+i}}k=c[k>>2]|0}jH(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}ma(96391,96335,219,96428);return 0}function HE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function IE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function JE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function KE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=ME(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{IE(a,i);g=+JE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(HE(a,i),h=+JE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function LE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=ME(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{IE(a,i);g=+JE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(HE(a,i),h=+JE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function ME(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))ma(96370,96335,276,96380);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(ij?2:1;break}e=kg){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=yE(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=ww(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;QE(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=RE(d,g)|0;n=c[j>>2]|0;if(!(bb[c[n>>2]&31](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function OE(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;pH(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}return}function PE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Tl(c[e>>2]|0)|0;d=0;while(1){if(!(Tl(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}bb[c[g>>2]&31](g,a,4096)|0;$I(a);d=d+1|0}if((h|0)==8)ma(96441,96335,616,96444);if((f|0)==(d|0))return;else ma(96456,96335,623,96444)}function QE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)ma(96468,96335,264,96495);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)ma(96505,96335,266,96495);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function RE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function SE(b){b=b|0;var d=0,e=0,f=0,g=0;d=sJ(b)|0;if(d>>>0>=(c[42409]|0)>>>0){d=d+11|0;c[42409]=d;d=zw(c[42410]|0,d)|0;c[42410]=d;if(!d)d=0;else e=4}else{d=c[42410]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(lK(f)|0)e=(kK(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function TE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((dM(r,96547,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;UE(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;VE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=sJ(r)|0;if(b>>>0>=(c[42411]|0)>>>0){b=b+11|0;c[42411]=b;b=zw(c[42412]|0,b)|0;c[42412]=b;if(!b){b=-1;break}}else b=c[42412]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((dM(b,96561,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{WE(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{WE(k,j,g,C,D,E);VE(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{WE(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{WE(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=XE(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[42413]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(yJ(u,i)|0)==0:0)){b=wM(v,24932,2491,12,38)|0;c[42413]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;VE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function UE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=bc?b:c;m=ma?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function VE(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b>3]=c;b=+h[f>>3];c=b>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function WE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function XE(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(WJ(e,122058,4)|0)==0)):0)?!(d<<24>>24==108|(WJ(e,122063,4)|0)==0):0)?(WJ(e,122068,8)|0)!=0:0){do if(d<<24>>24==47){d=XJ(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(qK(122077,e,4)|0)==0;b=e?d+1|0:b;break}d=c[42414]|0;if((d|0?a[d>>0]|0:0)?qK(122077,d,3)|0:0){b=ZE(d,b+2|0)|0;break}b=b+2|0}}else{d=c[42414]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(qK(122077,d,3)|0)!=0:0)b=ZE(d,b)|0}while(0);b=SE(b)|0}return b|0}function YE(a,b){a=a|0;b=b|0;return jK(c[a>>2]|0,c[b>>2]|0)|0}function ZE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=sJ(a)|0;g=(sJ(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[42415]|0)>>>0)d=c[42416]|0;else{c[42415]=d;d=zw(c[42416]|0,d)|0;c[42416]=d}c[e>>2]=a;c[e+4>>2]=b;qL(d,122082,e)|0;l=f;return c[42416]|0}function _E(a){a=a|0;c[42414]=a;return}function $E(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;aF(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=bF(g)|0;l=f;return a|0}function aF(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;hF(a);iF(a);jF(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function bF(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=ww(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+cF(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);dF(q,c,n);eF(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;fF(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}gF(q);return q|0}function cF(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10328:10584;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function dF(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[42417]=100;e=ww(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function eF(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;fF(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function fF(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[42417]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[42417]=k<<1;j=bJ(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function gF(a){a=a|0;var b=0;b=c[a>>2]|0;eF(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=bJ(c[a>>2]|0,c[a+4>>2]<<4)|0;c[42417]=0;return}function hF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function iF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function jF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function kF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;lF(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+mF(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+mF(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=Jm(c[(c[j>>2]|0)+8>>2]|0,122089)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=122100;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;GD(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)CD(b,122106);else CD(b,f);oF(b,e,m);if(a[j>>0]|0)$I(c[i>>2]|0)}else nF(b,c[d>>2]|0,m);pF(b);l=n;return}function lF(a){a=a|0;var d=0,e=0,f=0;d=Wt(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function mF(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function nF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];BF(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function oF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)qF(g,j,167296);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=rF(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=sF(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];JD(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];zy(e,tF(p,t,o)|0,4,4,j)}$I(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;uF(e,j,g);i=i+4|0}i=c[r>>2]|0;PD(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}vF(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];wF(e,f,t)}}if(s|0)xF(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],rF(e,g,f,t,w)|0):0)xF(e,w);if(c[u>>2]|0)yF(g,167296);l=y;return}function pF(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;Xt(a);return}function qF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function rF(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{dm(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=HL(Zt(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}gm(t,h)|0;i=c[42418]|0;c[42418]=i+1;c[k>>2]=i;qL(j,122183,k)|0;gm(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){em(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=Yt(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)hm(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];eu(d,n);xD(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function sF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((yv(b,f,i)|0)<<24>>24)){ED(a,b);b=1}else{ED(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)FD(a,122106,d,h);else FD(a,b,d,h);b=e>>>1&1|2}CD(a,122171);l=j;return b|0}function tF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function uF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=rF(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=sF(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];JD(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];zy(e,tF(p,r,n)|0,4,4,i)}$I(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];wF(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{oF(e,c[i>>2]|0,g);break a}case 3:{AF(e,c[i>>2]|0,g);break a}default:{nF(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)xF(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],rF(e,g,f,r,s)|0):0)xF(e,s);l=v;return}function vF(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?122106:j;ED(f,q);CD(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];zF(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];zF(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function wF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;CD(e,(m|0)==0?122106:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))GD(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=122112;k=4}}else{i=122119;k=4}if((k|0)==4)c[j>>2]=i;GD(e,j)}k=f+33|0;PD(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];JD(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];tF(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{LD(e,j,2);break a}case 3:{LD(e,n+32|0,2);break a}case 1:{LD(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];LD(e,n,2);break a}case 11:{LD(e,j,3);break a}case 5:{LD(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];LD(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];LD(e,n,3);break a}case 13:{LD(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];LD(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];LD(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];LD(e,n,4);break a}case 9:{LD(e,j,2);LD(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];LD(e,n,2);LD(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];zy(e,tF(n,o,m)|0,4,4,0)}while(0);l=p;return}function xF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{yD(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){$I(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){$I(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){$I(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){$I(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function yF(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function zF(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];JD(a,g,1);l=f;return}function AF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)ma(122126,122134,623,122146);if(!(a[e>>0]|0))ma(122160,122134,624,122146);else{ND(b,e,g,4,1,f);l=i;return}}function BF(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];zD(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;CD(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];BD(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}AD(d);l=R;return}function CF(a){a=a|0;$I(c[a>>2]|0);$I(c[a+4>>2]|0);$I(c[a+8>>2]|0);$I(c[a+16>>2]|0);$I(c[a+12>>2]|0);$I(c[a+20>>2]|0);$I(c[a+24>>2]|0);return}function DF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;$I(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)gb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)$I(d);$I(a)}return}function EF(a){a=a|0;$I(c[a+32>>2]|0);$I(a);return}function FF(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{GF(c[b>>2]|0);break}case 3:{EF(c[b>>2]|0);break}default:DF(c[b>>2]|0)}if(d|0)$I(b);return}function GF(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Ll(c[e>>2]|0)|0;else{b=c[e>>2]|0;$I(c[a+92>>2]|0);$I(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;HF(d);b=b+4|0}$I(c[e>>2]|0)}CF(a);$I(a);return}function HF(a){a=a|0;FF(a+88|0,0);CF(a);$I(a);return}function IF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=JF(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function JF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(jK(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=KF(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function KF(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(jK(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=JF(c[b+88>>2]|0,d)|0;else b=0;return b|0}function LF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function MF(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=ww((c[d+100>>2]<<2)+4|0)|0;n=ww((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function NF(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[54824+(a<<2)>>2]|0;else{c[b>>2]=a;qL(174085,122187,b)|0;a=174085}l=d;return a|0}function OF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=oo(d,NF(f)|0,1)|0;Oo(i,122241,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=ww((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=ww((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=oo(b,NF(f)|0,1)|0;Oo(i,122241,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=ww((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=ww((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=oo(d,NF(e[o>>1]|0)|0,0)|0;o=oo(d,NF((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;PF(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=oo(b,NF(e[o>>1]|0)|0,0)|0;o=oo(b,NF((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;PF(b,n,o,~~+h[g+72>>3]);f=f+4|0}QF(d);QF(b);return}function PF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=bn(a,d,f,0,0)|0;if(!h){i=bn(a,d,f,0,1)|0;Oo(i,122254,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=xw((c[a+184>>2]<<2)+8|0)|0;else a=zw(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=xw((c[a+176>>2]<<2)+8|0)|0;else a=zw(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function QF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(bn(a,d,h,0,0)|0){d=h;continue}g=bn(a,d,h,0,1)|0;Oo(g,122254,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=xw((c[d+184>>2]<<2)+8|0)|0;else d=zw(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=xw((c[d+176>>2]<<2)+8|0)|0;else d=zw(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function RF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function SF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4411];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=ww((e<<2)+4|0)|0;c[b+96>>2]=ww((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=hn(122267,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=hn(122272,g,0)|0;Oo(f,122277,280,1)|0;Oo(g,122277,280,1)|0;OF(b,f,g);hx(f,2,2147483647)|0;hx(g,2,2147483647)|0;RF(b,f,g);TF(f,g)}else MF(b);l=h;return}function TF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){$I(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){$I(e);d=c[f>>2]|0}d=d+164|0}mn(a)|0;mn(b)|0;return}function UF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(Do(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=so(b)|0;break}case 2:{e=so(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=cI(c[d>>2]|0,o,k)|0;if(!f){dm(n,128,g);a[d+82>>0]=0;e=HL(VF(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=zB(e)|0;else e=wB(e,c[i>>2]|0)|0;$I(c[d>>2]|0);c[d>>2]=e;kw(c[(c[m+16>>2]|0)+144>>2]|0,d);hm(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?WF(b)|0:0){i=HL(WF(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=XF(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;YF(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];ZF(m,n,15)}else{_F(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;YF(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){$I(c[d>>2]|0);c[d>>2]=HL(122290)|0}e=c[o>>2]|0}l=p;return e|0}function VF(b,d){b=b|0;d=d|0;var e=0;a:do switch(Do(b)|0){case 0:{gm(d,En(b)|0)|0;break}case 1:{gm(d,En(b)|0)|0;break}case 2:{gm(d,En(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;gm(d,En(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(rn(so(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){gm(d,122549)|0;break a}else{gm(d,122546)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){em(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function WF(b){b=b|0;var c=0,d=0;c=Jm(b,122531)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=Jm(b,122540)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function XF(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)qF(j,k,167328);c[g+80>>2]=i;k=cG(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;SF(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}$l(0,122331,t)|0;k=1;i=0;f=0;break}$l(0,122365,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)yF(j,167328);l=w;return k|0}function YF(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function ZF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=HL(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)ma(122298,122134,1761,122308);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)ma(122321,122134,1764,122308);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];$F(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function _F(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(yJ(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=rw(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=bb[c[i>>2]&31](i,I,1)|0;qA(J,d,H);Q=+h[J>>3];o=+h[v>>3];$I(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function $F(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=HL(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];ZF(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];aG(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;bG(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function aG(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function bG(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function cG(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=xx()|0;v=gG()|0;i=0;h=0;k=Pl(t)|0;while(1){if(!k)break;j=Pl(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)kG(v,h);k=c[k>>2]|0}h=ww((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Pl(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Pl(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=dG(d,n,f,g)|0|k;l=eG(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(lG(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Ll(t)|0;Ll(v)|0;Ax(u);return k|0}function dG(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=XF(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=fG(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{_F(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}$l(0,122416,s)|0;n=1;m=0.0;k=0.0;break}$l(0,122449,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(Fx(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;Dx(a,f,g);g=g+1|0}f=f+1|0}return c|0}function fG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;Qr(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];$l(1,122499,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function gG(){return Rl(54908,c[4345]|0)|0}function hG(a,b,d){a=a|0;b=b|0;d=d|0;d=ww(12)|0;c[d>>2]=c[b>>2];return d|0}function iG(a,b,c){a=a|0;b=b|0;c=c|0;$I(b);return}function jG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function kG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;bb[c[a>>2]&31](a,e,1)|0;l=d;return}function lG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(bb[c[a>>2]&31](a,e,512)|0)!=0&1;l=d;return b|0}function mG(a){a=a|0;var b=0;if(!(c[42419]|0)){b=ww((a<<2)+4|0)|0;c[42419]=b;c[b>>2]=169680;c[42430]=a}c[42431]=0;return}function nG(){$I(c[42419]|0);c[42419]=0;c[42431]=0;return}function oG(){c[42431]=0;return}function pG(){var a=0,b=0,d=0;b=c[42431]|0;d=c[42419]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)ma(123205,122552,59,122558);else if((a|0)==5)return}function qG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[42419]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function rG(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[42431]|0;if((b|0)==(c[42430]|0)){$l(1,122566,d)|0;a=1}else{b=b+1|0;c[42431]=b;c[(c[42419]|0)+(b<<2)>>2]=a;qG(b);pG();a=0}l=d;return a|0}function sG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[42419]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[42431]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function tG(){var a=0,b=0,d=0,e=0;b=c[42431]|0;if(!b)a=0;else{e=c[42419]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[42431]=b;if(b|0)sG(1);pG()}return a|0}function uG(a,b){a=a|0;b=b|0;c[a>>2]=b;qG(c[a+4>>2]|0);pG();return}function vG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}wG(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){wG(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function xG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=ww(28)|0;b=nn(a)|0;s=w+4|0;c[s>>2]=b;b=ww(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=eo(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n>3];h[v>>3]=B;A=+h[(o>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=fo(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=HG(D,f,t,u)|0;if(c[42367]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];yG(r,C,u,f,D)}e=w+8|0;c[e>>2]=ww((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}$I(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=zG(w,u)|0;l=x;return w|0}function yG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[13918]|0;XL(122581,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);AL(i,123011,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;AL(i,123059,r)|0;XL(123076,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;AL(i,123095,j)|0;d=d+1|0}XL(123113,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;AL(i,123132,o)|0;d=d+1|0}XL(123150,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;AL(i,123132,p)|0;XL(122897,i)|0;l=q;return}function zG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=XC(w<<2|2)|0;z=Rl(54944,c[4345]|0)|0;v=Rl(54980,c[4345]|0)|0;w=ww(w<<7)|0;f=ww(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=AG(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=AG(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=AG(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=AG(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=ww(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}f=g+(n*72|0)+64|0;d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;BG((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;WC(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;CG((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}Ll(z)|0;Ll(v)|0;$I(w);DG(y);UC(y);l=A;return y|0}function AG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=bb[c[d>>2]&31](d,e,512)|0;do if(!h){b=YC(b)|0;if(!f)ma(122994,122942,291,123001);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;bb[c[d>>2]&31](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function BG(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=ZC(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=ZC(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=ZC(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=ZC(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=ZC(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=ZC(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function DG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[13918]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,AL(g,122907,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,AL(g,122959,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)ma(122929,122942,311,122949);else if((b|0)==8)ma(122981,122942,313,122949);else if((b|0)==10){l=j;return}}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e>3];e=+h[c>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function FG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f>31}else a=-1;else a=1;return a|0}function GG(a){a=a|0;var b=0,d=0;d=a+8|0;$I(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;$I(c[(c[b>>2]|0)+36>>2]|0);$I(c[d>>2]|0);$I(c[b>>2]|0);$C(c[a+16>>2]|0);Ll(c[a+20>>2]|0)|0;Ll(c[a+24>>2]|0)|0;$I(a);return}function HG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=xw(i*56|0)|0;i=ww(i<<2)|0;g=f*5|1;j=xw(g*72|0)|0;m=g<<5;k=ww(m)|0;m=ww(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];IG(a,b,h,o,0);zM(173);JG(f,i);TG(f,o,i,g,j)|0;n=KG(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];IG(a,b,h,o,1);JG(f,i);TG(f,o,i,g,j)|0;f=KG(f,o,j,1,m)|0;g=ww(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((LG(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=zw(g,a<<5)|0;$I(o);$I(i);$I(j);$I(k);$I(m);c[d>>2]=a;l=p;return q|0}function IG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];RG(h,f,1,i);d=SG(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];RG(h,f,0,i);d=SG(e,d,i)|0;g=g+1|0}l=j;return}function JG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+BM()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function KG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=ww(j<<2)|0;c[42432]=ww(j<<4)|0;c[42433]=ww((a*56|0)+56|0)|0;j=ww(a<<2)|0;c[42434]=j;k=0;while(1){if((k|0)>(g|0))break;if(MG(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[42432]|0;i=c[42433]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[42435]=a;c[42436]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=NG(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=NG(l,f,0,b,d,0,k,g,e,1)|0;$I(l);$I(c[42432]|0);$I(c[42433]|0);$I(c[42434]|0);return g|0}function LG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function MG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function NG(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=OG(g,l,m)|0;d=NG(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=OG(g,m,l)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=NG(a,b,d,e,f,g,z,C,k,2)|0;d=NG(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=OG(g,l,m)|0;d=NG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=OG(g,m,l)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=NG(a,b,d,e,f,g,z,C,k,2)|0;d=NG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=OG(g,n,m)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=OG(g,m,n)|0;d=NG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=OG(g,m,n)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=OG(g,n,m)|0;d=NG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=OG(g,m,n)|0;d=NG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=OG(g,n,m)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=OG(g,m,n)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=OG(g,n,m)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=OG(g,n,m)|0;d=NG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=OG(g,m,n)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=OG(g,n,J)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=OG(g,J,n)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=OG(g,j,m)|0;d=NG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=NG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=OG(g,m,j)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=NG(a,b,d,e,f,g,z,C,k,2)|0;d=NG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=NG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function OG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[42436]|0)+1|0;c[42436]=e;m=c[42433]|0;PG(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[42435]|0;g=n+1|0;n=n+2|0;c[42435]=n;q=c[42432]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[42434]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function PG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[42433]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+QG(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+QG(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function QG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function RG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function SG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];VN(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function TG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[42437]=e<<1;c[42438]=e;k=ww(e*80|0)|0;c[42439]=1;c[42440]=1;WN(f|0,0,e*72|0)|0;g=UG(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=VG(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=WG(a,i+-1|0)|0;h=WG(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}XG(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;YG(e,b,f,k);e=e+1|0}i=i+1|0}e=WG(a,j)|0;while(1){if((e|0)>=(a|0))break;XG(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}$I(k);return c[42439]|0}function UG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=bH()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;fH(s,k,l);n=bH()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=bH()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;gH(r,k,l);c[e+(j*40|0)+28>>2]=f;l=bH()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=bH()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=bH()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=bH()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=aH(d)|0;i=aH(d)|0;m=aH(d)|0;o=aH(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];VN(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];VN(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function VG(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+DJ(b);a=a+1|0}return a+-1|0}function WG(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+DJ(c);a=a+1|0}return ~~+N(+(d/c))|0}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i>3]>+h[S>>3]:0){G=4;break}G=($G(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=ZG(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!($G(a,b,2)|0)){n=1;G=7}else{f=ZG(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=ZG(S,U,f,b,e)|0;f=aH(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=bH()|0;G=bH()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!($G(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!($G(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=ZG(U,S,c[S+40>>2]|0,b,e)|0;n=aH(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=bH()|0;F=bH()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=ZG(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(cH(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=bH()|0;p=bH()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=aH(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(_G(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(_G(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(dH(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(_G(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(_G(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(_G(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}YL(123235,19,1,c[13918]|0)|0}else{g=0;f=0}while(0);eH(a,F,o,1,d,e);eH(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function YG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((ZG(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((ZG(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function ZG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(_G(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(_G(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){YL(123169,35,1,c[13918]|0)|0;ma(123205,123207,349,123219)}return 0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function aH(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42439]|0;if((b|0)<(c[42438]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[42439]=b+1;l=e;return b|0}else{e=c[13918]|0;c[d>>2]=b;AL(e,123294,d)|0;ma(123205,123207,88,123332)}return 0}function bH(){var a=0;a=c[42440]|0;if((a|0)<(c[42437]|0)){c[42440]=a+1;return a|0}else{YL(123255,30,1,c[13918]|0)|0;ma(123205,123207,72,123286)}return 0}function cH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c>3]>=+h[b>>3]&1;else a=1;return a|0}function dH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(cd+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function eH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(cH(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function gH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function hH(a){a=a|0;var b=0;b=ww(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function iH(a,b){a=a|0;b=b|0;if(b){b=hH(b)|0;c[b>>2]=a;a=b}return a|0}function jH(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;$I(b)}while((a|0)!=0);return}function kH(){var a=0;a=ww(1992)|0;if(a|0)c[a>>2]=lH(a)|0;return a|0}function lH(a){a=a|0;var b=0;b=rH(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function mH(a){a=a|0;nH(a,c[a>>2]|0);$I(c[a>>2]|0);$I(a);return 0}function nH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(nH(a,f),$I(c[e>>2]|0),xH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(xH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function oH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)ma(123690,123340,194,123348);e=c[b+4>>2]|0;if((e|0)<=-1)ma(123360,123340,195,123348);if(!d)ma(123632,123340,196,123348);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(CH(d,b+8+(i*20|0)|0)|0)!=0:0){g=oH(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(CH(d,f)|0)!=0:0)e=iH(e,f)|0;g=g+1|0}}while(0);return e|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))ma(123546,123340,247,123374);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)ma(123421,123340,250,123374);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(qH(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=rH(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;uH(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];wH(a,m,g,0)|0;uH(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];wH(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}ma(123386,123340,248,123374);return 0}function qH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))ma(123464,123340,311,123478);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=vH(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(qH(a,b,d,c[h>>2]|0,n,g)|0)){BH(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{uH(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;uH(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=wH(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=wH(a,m,e,f)|0;break}else ma(123523,123340,341,123478);while(0);l=q;return j|0}ma(123491,123340,312,123478);return 0}function rH(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=_I(1288)|0;sH(a);return a|0}function sH(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;tH(a+8+(b*20|0)|0);b=b+1|0}return}function tH(a){a=a|0;yH(a);c[a+16>>2]=0;return}function uH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)ma(123690,123529,99,123536);yH(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){BH(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function vH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))ma(123546,123529,125,123553);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=AH(n)|0;BH(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(AH(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function wH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)ma(123712,123529,167,123564);if(!d)ma(123690,123529,168,123564);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)ma(123574,123529,178,123564)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)ma(123587,123529,187,123564);else{DH(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function xH(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))ma(123591,123529,201,123619);if(!(c[a+8+(b*20|0)+16>>2]|0))ma(124113,123529,202,123619);else{tH(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function yH(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function zH(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function AH(a){a=a|0;var b=0,d=0,e=0;if(!a)ma(123632,123634,128,123646);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function BH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))ma(123655,123634,195,123663);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function CH(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else ma(123675,123634,216,123682);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function DH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)ma(123690,123692,40,123702);if(!d)ma(123712,123692,41,123702);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;EH(a,b,d);d=a+1324|0;FH(a);f=AH(a+1852|0)|0;f=(AH(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=rH(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;GH(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else ma(123714,123692,86,123702)}function EH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)ma(123690,123692,106,124101);if(!d)ma(123712,123692,107,124101);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)ma(124113,123692,111,124101);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;BH(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=AH(d)|0;sH(b);l=h;return}function FH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;HH(a);IH(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;BH(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=AH(i)|0;d=c[o>>2]|0;BH(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=AH(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}JH(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))JH(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)ma(123857,123692,210,123943);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))ma(123954,123692,212,123943);else{l=u;return}}function GH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)ma(123690,123692,297,123754);if(!d)ma(123764,123692,298,123754);if(!e)ma(123766,123692,299,123754);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{wH(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{wH(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)ma(123768,123692,303,123754);else if((e|0)==14)return}function HH(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;zH(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function IH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=AH(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}BH(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=AH(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}JH(a,d,0);JH(a,b,1);l=o;return}function JH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)ma(124057,123692,257,124092);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{BH(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=AH(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function KH(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42441]=0;c[42442]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=_I(k*6|3)|0;if(h){UN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;UN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{$I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[58358+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[42442]|0;if((h|0)==-2){h=hI()|0;c[42442]=h}if((h|0)>=1)if(h>>>0<296)i=d[124132+h>>0]|0;else i=2;else{c[42442]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[124428+h>>0]|0):0){p=a[124700+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42442]=-2;g=g+4|0;c[g>>2]=0;j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[124972+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42442]|0;b:do switch(q|0){case 0:{c[42441]=(c[42441]|0)+1;dI(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[42442]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[58358+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=0;e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[125088+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[42443]=LH(c[g+-4>>2]|0,2)|0;break}case 3:{c[42443]=LH(c[g+-4>>2]|0,1)|0;break}case 5:{e=NH()|0;break}case 8:{OH(c[42444]|0);break}case 9:{PH(c[g>>2]|0);break}case 18:{QH(c[g>>2]|0);break}case 19:{RH();break}case 20:{QH(c[g>>2]|0);break}case 21:{RH();break}case 22:{QH(c[g>>2]|0);break}case 23:{RH();break}case 24:{QH(c[g>>2]|0);break}case 25:{RH();break}case 26:{QH(c[g>>2]|0);break}case 27:{RH();break}case 28:{QH(c[g>>2]|0);break}case 29:{RH();break}case 30:{QH(c[g>>2]|0);break}case 31:{RH();break}case 32:{QH(c[g>>2]|0);break}case 33:{RH();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[42444]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){em(e,1)|0;i=c[42444]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(SH(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[42445];e=Rl(55016,c[4344]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[42445]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[42446]>>2];e=c[g>>2]|0;break}case 39:{e=c[42444]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){em(e,1)|0;i=c[42444]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(SH(p)|0){s=56;break a}e=c[42445]|0;c[42445]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{TH();break}case 52:{e=UH()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{VH(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{VH(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{VH(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{VH(c[g>>2]|0,NH()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[125260+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[58590+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[124428+h>>0]|0)==(p|0):0){e=a[124700+h>>0]|0;j=q;h=i;break}e=a[125330+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){MH();e=1;s=96}else if((s|0)==51){dI(125158);MH();e=1;s=96}else if((s|0)==56){dI(125209);MH();e=1;s=96}else if((s|0)==95){dI(125382);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))$I(f);l=t;return e|0}function LH(b,d){b=b|0;d=d|0;var e=0;e=ww(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function MH(){var a=0,b=0;a=c[42445]|0;b=c[42443]|0;if(b|0){FF(b,1);c[42443]=0}c[13767]=62;while(1){if(!a)break;b=c[a+80>>2]|0;ZH(a);a=b}c[13767]=51;c[13776]=63;b=c[42448]|0;bb[c[b>>2]&31](b,0,64)|0;c[13776]=51;c[13785]=64;b=c[42449]|0;bb[c[b>>2]&31](b,0,64)|0;c[13785]=51;aI();return}function NH(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[42449]|0;f=ww(40)|0;if(Tl(c[42448]|0)|0)PH(0);a=Tl(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=ww(a*24|0)|0;a=0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);bb[c[a>>2]&31](e,0,64)|0;return f|0}function OH(b){b=b|0;var d=0,e=0,f=0;e=ww(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){em(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=HL(b)|0;c[e+12>>2]=c[c[42446]>>2];f=c[42448]|0;bb[c[f>>2]&31](f,e,1)|0;return}function PH(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=ww(32)|0;j=c[42448]|0;e=Tl(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=ww(56)|0;b[i+12>>1]=1;h=HL(174185)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[42446]>>2]}else{b[i+12>>1]=e;c[k>>2]=ww(e*56|0)|0;d=0;e=Pl(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);bb[c[j>>2]&31](j,0,64)|0;k=c[42449]|0;bb[c[k>>2]&31](k,i,1)|0;return}function QH(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=ww(8)|0;f=c[c[42446]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[42447]|0)+144>>2]|0;c[i>>2]=bb[c[f>>2]&31](f,g,1)|0;c[i+4>>2]=c[42446];c[42446]=i;l=j;return}function RH(){var a=0,b=0;b=c[42446]|0;a=c[b+4>>2]|0;$I(b);c[42446]=a;return}function SH(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function TH(){var b=0,d=0,e=0;e=Rl(55052,c[4344]|0)|0;b=c[42445]|0;d=ww(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function UH(){var a=0;a=c[(c[42445]|0)+84>>2]|0;return bb[c[a>>2]&31](a,0,256)|0}function VH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=ww(16)|0;f=c[42445]|0;h=c[f+84>>2]|0;h=c[(bb[c[h>>2]&31](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;bb[c[h>>2]&31](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function WH(a,b,c){a=a|0;b=b|0;c=c|0;$I(b);return}function XH(a,b,d){a=a|0;b=b|0;d=d|0;Ll(c[b+8>>2]|0)|0;$I(b);return}function YH(a,b,d){a=a|0;b=b|0;d=d|0;bI(c[b+8>>2]|0);$I(b);return}function ZH(a){a=a|0;Ll(c[a+84>>2]|0)|0;CF(a);$I(a);return}function _H(a,b,d){a=a|0;b=b|0;d=d|0;$I(c[b+8>>2]|0);$I(b);return}function $H(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;$I(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}$I(c[h>>2]|0)}$I(d);return}function aI(){var a=0,b=0;a=c[42446]|0;while(1){b=c[a+4>>2]|0;if(!b)break;$I(a);a=b}return}function bI(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{ZH(c[d>>2]|0);break}case 2:{DF(c[d>>2]|0);break}default:{}}CF(b);$I(b);return}function cI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[42446]=g;c[42445]=0;c[42443]=0;c[42447]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[42448]=Rl(55088,c[4344]|0)|0;c[42449]=Rl(55124,c[4344]|0)|0;dm(e,128,f+24|0);c[42444]=e;if(!(fI(a,e,d)|0)){KH()|0;c[b>>2]=gI()|0;a=c[42443]|0}else{c[b>>2]=2;a=0}Ll(c[42448]|0)|0;Ll(c[42449]|0)|0;c[42448]=0;c[42449]=0;c[42446]=0;hm(e);l=f;return a|0}function dI(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(a[169800]|0)){a[169800]=1;c[d>>2]=b;c[d+4>>2]=0;$l(1,125399,d)|0;eI()}else{l=e;return}}function eI(){Ta()}function fI(a,b,d){a=a|0;b=b|0;d=d|0;a=l;l=l+16|0;if(!(c[42451]|0)){$l(0,125415,a)|0;c[42451]=(c[42451]|0)+1}l=a;return 1}function gI(){return 1}function hI(){return -1}function iI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=_I(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=SN(169808,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=TN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ga(26,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=TN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ga(26,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=TN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[42491]=0;o=0;fa(93,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=TN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[42492]|0;d=c[42491]|0;c[42491]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=da(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=TN(c[g>>2]|0,s|0,j|0)|0;if(!h)Ua(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[42491];c[f>>2]=c[42492];d=0}$I(s|0);l=u;return d|0}function jI(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function kI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42495]|0)<(a|0)){b=c[42492]|0;if(!b){e=_I(a<<4)|0;c[42492]=e;if(!e){e=c[13918]|0;c[d>>2]=125476;c[d+4>>2]=531;c[d+8>>2]=125611;AL(e,125484,d)|0;Ua(169808,1)}}else{d=bJ(b,a<<4)|0;c[42492]=d;if(!d){d=c[13918]|0;c[e>>2]=125476;c[e+4>>2]=537;c[e+8>>2]=125629;AL(d,125484,e)|0;Ua(169808,1)}}c[42495]=a}l=f;return}function lI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[42494]|0;do if((c[42493]|0)<(e|0)){if(!i){i=_I(e*40|0)|0;c[42494]=i;if(!i){i=-1;break}}else{i=bJ(i,e*40|0)|0;c[42494]=i;if(!i){i=-1;break}}c[42493]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+mI(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+nI(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];oI(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+pI(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];oI(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];qI(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(rI(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];oI(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];sI(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];oI(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];tI(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[42494]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+uI(T);V=+nI(T);W=+pI(T);T=+vI(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+mI(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];tI(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];jI(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];tI(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];jI(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];sI(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];jI(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];lI(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];lI(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function mI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function nI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function oI(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function pI(a){a=+a;return +(a*a*3.0*(1.0-a))}function qI(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+BI(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+BI(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+BI(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+CI(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];oI(s,B,I);I=+DI(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];oI(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];sI(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];tI(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+BI(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+BI(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+mI(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];oI(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];oI(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function rI(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+wI(B,4),D<+wI(i,j)+-.001):0){d=0;break}if(xI(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){kI((c[42491]|0)+4|0);e=c[42492]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42491]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42491]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){kI((c[42491]|0)+4|0);e=c[42492]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42491]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42491]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function tI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function uI(a){a=+a;a=1.0-a;return +(a*a*a)}function vI(a){a=+a;return +(a*a*a)}function wI(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function xI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=yI(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function yI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;zI(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=VI(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(zI(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)AI(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{zI(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=VI(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(zI(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)AI(j,d,u);b=b+1|0}b=c[u>>2]|0;break}zI(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=VI(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;AI(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;AI(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])AI(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function zI(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function AI(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function BI(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function CI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function DI(a){a=+a;return +(a*a*((1.0-a)*3.0+a))} +function tx(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;Gv(1);kx(d);dm(H,1024,Y+240|0);uB(d,1,87657,174185)|0;uB(d,1,87661,174185)|0;c[42191]=uB(d,1,96043,174185)|0;c[42190]=uB(d,1,96049,174185)|0;uB(d,2,87657,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){uB(d,1,87667,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){uB(d,2,87671,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){uB(d,2,87667,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){uB(d,2,87674,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){uB(d,2,87682,174185)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=uB(d,0,87671,174185)|0;w=uB(d,0,87690,174185)|0;v=uB(d,0,87697,174185)|0}z=uB(d,0,87705,174185)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=eo(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[42184]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;qL(G,87708,J)|0;gm(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;qL(G,87723,Q)|0;gm(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;Lm(y,87657,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;qL(G,87729,X)|0;Lm(y,87657,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;qL(G,87652,K)|0;Dm(s,c[42190]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;qL(G,87652,L)|0;Dm(s,c[42191]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;qL(G,87729,M)|0;Lm(s,87667,G)|0;j=c[t>>2]|0}if(yJ(c[c[j+8>>2]>>2]|0,91264)|0){if(c[42215]|0?(Py(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=Jm(s,87739)|0;if(!j)j=8;else j=sM(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[42184]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[20896]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;qL(G,87752,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[42184]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[20896]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;qL(G,87752,O)|0}gm(H,G)|0;n=n+1|0}k=c[42215]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Dm(s,k,t)|0}}else{ux(y,c[j+12>>2]|0,H);im(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Lm(s,87661,t)|0}a:do if((c[42182]|0)>0){t=Qm(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[42184]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[20895]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;qL(G,87762,P)|0;gm(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[42184]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[20895]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;qL(G,87775,R)|0;gm(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;qL(G,87729,S)|0;gm(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){em(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;Lm(t,87657,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;qL(G,87729,T)|0;Lm(t,87671,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;qL(G,87729,U)|0;Lm(t,87667,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;qL(G,87729,V)|0;Lm(t,87674,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[42184]|0)==0?q:+h[20895]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;qL(G,87729,W)|0;Lm(t,87682,G)|0}while(0);t=Sm(d,t)|0}}else j=u;while(0);u=j;y=fo(d,y)|0}vx(d,z,x,w,v);hm(H);if(b[(c[I>>2]|0)+136>>1]&1)oB(d);c[f>>2]=i;c[g>>2]=u;Gv(0);l=Y;return}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[42184]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[20895]-+h[b+24>>3]-g;g=+h[20895]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;qL(j,87813,k)|0;gm(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;ux(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function vx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[42184]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[20895];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;qL(n,87788,j)|0;Dm(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[42184]|0)==0?t:+h[20895]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;qL(n,87729,p)|0;Dm(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;qL(n,87808,q)|0;Dm(b,f,n)|0;h[o>>3]=t*.013888888888888888;qL(n,87808,o)|0;Dm(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;vx(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function wx(a){a=a|0;var b=0;b=l;l=l+16|0;tx(a,b,b+4|0);l=b;return}function xx(){return Rl(19796,c[4345]|0)|0}function yx(a,b,c){a=a|0;b=b|0;c=c|0;$I(b);return}function zx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function Ax(a){a=a|0;Ll(a)|0;return}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=Cx(e)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))$I(b);l=d;return}function Cx(a){a=a|0;var b=0,d=0,e=0;b=ww(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Dx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=Cx(f)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))$I(b);l=e;return}function Ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(bb[c[a>>2]&31](a,e,4)|0)!=0&1;l=d;return b|0}function Fx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(bb[c[a>>2]&31](a,f,4)|0)!=0&1;l=e;return d|0}function Gx(a){a=a|0;return Tl(a)|0}function Hx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=ww((Tl(a)|0)<<3)|0;b=d;a=Pl(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){Jx(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];Kx(d,q);p=d+16|0;Jx(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];Kx(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{Jx(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];Kx(d,q);n=d+16|0;Jx(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];Kx(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];Kx(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ix(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function Jx(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Kx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[42310]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];bw(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[20897];e=b+8|0;h[e>>3]=+h[e>>3]-+h[20898];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function Lx(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[42310]=m&3;m=m&1;a[174083]=m;if(!(m<<24>>24))Nx(b);else Mx(b);Ox(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[174083]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[42310]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[42310]|0){case 0:{q=m+16|0;c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}case 1:{Jx(o,-+h[m+40>>3],+h[m+16>>3]);c[41794]=c[o>>2];c[41795]=c[o+4>>2];c[41796]=c[o+8>>2];c[41797]=c[o+12>>2];break}case 2:{Jx(p,+h[m+16>>3],-+h[m+40>>3]);c[41794]=c[p>>2];c[41795]=c[p+4>>2];c[41796]=c[p+8>>2];c[41797]=c[p+12>>2];break}case 3:{Jx(q,+h[m+24>>3],+h[m+16>>3]);c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}default:{}}Px(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];Qx(b,s)}if(!0){l=w;return}if(!(a[174083]|0)){n=+h[20898];k=+h[20897];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;qL(s,88049,v)|0}else{k=+h[20897];n=+h[20898];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;qL(s,87834,u)|0}HL(s)|0;Ta()}function Mx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((to(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Mx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Nx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((to(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Nx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Ox(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[42183]|0)!=0:0)){u=g<<16>>16==0;n=eo(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Qm(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Sm(e,m)|0}n=fo(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=Sx(e)|0;t=j+i|0;if(t|0){q=h+j+o+(nn(e)|0)|0;r=ww(q*40|0)|0;s=ww(t*40|0)|0;Jx(M,2147483647.0,2147483647.0);g=M+16|0;Jx(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=eo(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];Vx(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Ux(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Qm(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){aA(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Vx(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];$l(0,88861,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Ux(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Wx(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];Vx(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];$l(0,88896,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Ux(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Xx(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];Vx(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];$l(0,88936,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Ux(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){aA(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];Vx(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];$l(0,88976,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Ux(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Sm(e,m)|0}n=fo(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));Yx(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=IA(e,zm(e,0,89012,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];AE(r,q,s,t,O)|0;if(0)Zx(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;_x(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];cB(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;$l(0,89057,R)|0}}else{R=c[13918]|0;c[Q>>2]=f;c[Q+4>>2]=t;AL(R,89024,Q)|0}$I(r);$I(s)}}l=S;return}function Px(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[20897]!=0.0|+h[20898]!=0.0|(c[42310]|0)!=0){d=eo(a)|0;while(1){if(!d)break;if(c[42310]|0)LB(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Kx(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Kx(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[42182]|0)==1){b=Qm(a,d)|0;while(1){if(!b)break a;Rx(b);b=Sm(a,b)|0}}while(0);d=fo(a,d)|0}Ix(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function Qx(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function Rx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[174080]|0)==0?(a[d+112>>0]|0)!=6:0){q=En(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=En(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;$l(1,88844,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Kx(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Kx(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Kx(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Kx(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Kx(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Kx(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Kx(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function Sx(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((to(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(Sx(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function Tx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174083]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];$x(b,e,i);l=g;return}function Ux(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174083]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];$x(b,e,i);l=g;return}function Vx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[174083]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function Wx(a,b){a=a|0;b=b|0;b=$z(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Xx(a,b){a=a|0;b=b|0;var d=0;b=$z(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Yx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Yx(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((to(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];Ux(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function Zx(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[13918]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;AL(q,89099,o)|0;a:do if(0>=2){YL(89159,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=174185;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;AL(q,89168,p)|0;o=o+1|0;a=a+40|0}YL(89211,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;AL(q,89220,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function _x(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function ay(a){a=a|0;Lx(a,1);return}function by(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=SA(Jm(a,90560)|0)|0;if(b){b=cy(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=ww(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=En(a)|0;$l(0,89268,d)|0}l=e;return}function cy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[42311]|0;if(!d){d=Rl(19832,c[4345]|0)|0;c[42311]=d}d=bb[c[d>>2]&31](d,b,512)|0;do if(!d){g=bM(b,123632)|0;if(!g){c[e>>2]=b;$l(0,89317,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(hL(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(dM(f,89345,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(iL(f,89374)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;$l(0,89379,i)|0;d=0}else f=12;if((f|0)==12){q=xw(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[42312]|0;c[42312]=o+1;c[q+12>>2]=o;$L(AN(g)|0,j)|0;o=c[j+36>>2]|0;n=xw(o+1|0)|0;c[q+52>>2]=n;pM(g,0,0)|0;xN(n,o,1,g)|0;a[n+o>>0]=0;o=c[42311]|0;bb[c[o>>2]&31](o,q,1)|0;a[q+16>>0]=d;d=q}ML(g)|0}while(0);l=p;return d|0}function dy(a,b,d){a=a|0;b=b|0;d=d|0;$I(c[b+52>>2]|0);return}function ey(a){a=a|0;$I(c[(c[a+16>>2]|0)+12>>2]|0);return}function fy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;nr(b,f)|0;nr(b,134901)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=SA(f)|0;if(!e){c[k>>2]=f;$l(0,89418,k)|0;break}g=bM(e,123632)|0;if(!g){c[m>>2]=e;$l(0,89446,m)|0;break}while(1){f=RA(g)|0;if(!f)break;nr(b,f)|0}nr(b,134901)|0;ML(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function gy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((qK(e,89474,3)|0)!=0?(qK(e,89478,5)|0)!=0:0)?(qK(e,89484,3)|0)!=0:0)?(qK(e,89488,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}or(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;or(b,10)|0}return}function hy(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[42311]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];tr(b,89496,e);nr(b,89514)|0;gy(b,d);nr(b,89532)|0;nr(b,89547)|0}g=c[42311]|0;d=bb[c[g>>2]&31](g,d,8)|0}}while(0);l=f;return}function iy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=AB(b)|0;break}default:{switch(jy(b)|0){case 2:break;case 1:{f=AB(b)|0;break a}default:{f=b;break a}}if(!(c[42313]|0)){$l(0,89559,e)|0;c[42313]=1;f=b}else f=b}}while(0);if(!(c[42314]|0))dm(169256,0,0);d=c[42315]|0;if(d>>>0>=(c[42316]|0)>>>0){em(169256,1)|0;d=c[42315]|0}c[42315]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[42315]|0;if(d>>>0>=(c[42316]|0)>>>0){em(169256,1)|0;d=c[42315]|0}c[42315]=d+1;a[d>>0]=92;break}default:{}}d=c[42315]|0;if(d>>>0>=(c[42316]|0)>>>0){em(169256,1)|0;d=c[42315]|0}h=a[e>>0]|0;c[42315]=d+1;a[d>>0]=h;e=e+1|0}d=c[42315]|0;if(d>>>0>=(c[42316]|0)>>>0){em(169256,1)|0;d=c[42315]|0}c[42315]=d+1;a[d>>0]=41;if((f|0)!=(b|0))$I(f);d=c[42315]|0;if(d>>>0>=(c[42316]|0)>>>0){em(169256,1)|0;d=c[42315]|0}a[d>>0]=0;h=c[42314]|0;c[42315]=h;l=g;return h|0}function jy(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function ky(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((EI(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[42319]|0;if((a|0)>(c[42318]|0)){if(!f)a=xw(a<<5)|0;else a=zw(f,a<<5)|0;c[42319]=a;g=c[b>>2]|0;c[42318]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((iI(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];ZI(i,m)}a=m+4|0;if(!(ly(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[42320]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function ly(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42321]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=zw(c[42320]|0,a<<4)|0;c[42320]=b;if(!b){$l(1,89649,d)|0;a=1;break}else{c[42321]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function my(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[42322]|0;c[42322]=d+1;do if((d|0)<=0){d=xw(4800)|0;c[42320]=d;if(!d){$l(1,89672,a)|0;a=1;break}c[42321]=300;c[42323]=0;c[42324]=0;if(0){yA();a=0}else a=0}else a=0;while(0);l=b;return a|0}function ny(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[42322]|0;c[42322]=d+-1;if((d|0)<=1?($I(c[42320]|0),0):0){d=c[13918]|0;g=c[42323]|0;f=c[42324]|0;e=+zA();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;AL(d,89710,a)|0}l=b;return}function oy(a,b){a=a|0;b=b|0;return py(a,b,0)|0}function py(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[42323]=(c[42323]|0)+1;H=c[b+80>>2]|0;c[42324]=(c[42324]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){$l(1,89753,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(qy(H,B,b)|0)){g=H<<3;if((g|0)>(c[42325]|0)){f=c[42326]|0;if(!f)f=xw(H<<7)|0;else f=zw(f,H<<7)|0;c[42326]=f;c[42325]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=En(f)|0;$l(1,89860,i)|0;f=0;break}o=H+-1|0;q=c[42326]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;$l(1,89795,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;$l(1,89795,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((EI(t,u,I)|0)<0){$l(1,89899,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[42319]|0;if((g|0)>(c[42318]|0)){if(!f)f=xw(g<<5)|0;else f=zw(f,g<<5)|0;c[42319]=f;g=c[i>>2]|0;c[42318]=g}j=c[42326]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((iI(f,g,G,w,y)|0)<0){$l(1,89938,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];ZI(G,y)}n=y+4|0;if(!(ly(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[42320]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;ry(B,H,c[42320]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=En(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=En(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;$l(0,89976,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];ZI(G,J);ry(B,H,c[J>>2]|0,c[J+4>>2]|0,10);$I(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[42320]|0}else f=0}else f=0}while(0);l=L;return f|0}function qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[13918]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;AL(M,90176,I)|0;sy(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=ty(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=ty(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;$l(1,90130,H)|0;sy(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){YL(90219,42,1,M)|0;sy(d);g=+h[b>>3];f=+h[d>>3]}if(f>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){YL(90262,39,1,M)|0;sy(d);g=+h[e>>3];f=+h[i>>3]}if(f>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){$l(1,90085,k)|0;sy(d);e=1}l=R;return e|0}function ry(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]>3]=m}f=f+1|0}g=g+1|0}}return}function sy(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[13918]|0;f=b+80|0;c[g>>2]=c[f>>2];AL(e,90302,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;AL(e,90313,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?90344:90356;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;AL(e,90372,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?90344:90356;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;AL(e,90423,j)|0;l=m;return}function ty(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function uy(a,b){a=a|0;b=b|0;return py(a,b,1)|0}function vy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];wy(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];wy(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[174080]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];ZI(A,B);Kz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else Kz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];dA(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){xy(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];yy(G,A)}Kz(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];dA(b,j,z,A)}while(0);l=K;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function xy(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[20899]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[20900]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[41798];c[a+4>>2]=c[41799];c[a+8>>2]=c[41800];c[a+12>>2]=c[41801];return}function yy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function zy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)Ay(a,b,d,f);else{D=ww((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];By(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];By(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];By(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];By(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=ww(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];ID(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];LD(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];LD(a,B,4);$I(G);break}else ma(90472,90483,737,90492)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=ww(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;ID(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=ww(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];ID(a,G,d,f);$I(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=ww(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;ID(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=ww(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;ID(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=ww(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;ID(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=ww(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;ID(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;LD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;LD(a,B,2);$I(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=xw((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];KD(a,G,j,0,0,f&255);$I(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}ID(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];LD(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=ww(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];ID(a,i,g,f);$I(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];LD(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];LD(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=ww(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}ID(a,i,g,f);$I(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];LD(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=ww(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];ID(a,G,6,f);$I(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];LD(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];LD(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];LD(a,B,2);break}else ma(90472,90483,714,90492)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=ww(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}ID(a,i,g,f);$I(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=ww(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;ID(a,u,d,f);$I(u);G=ww(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;ID(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=ww(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;ID(a,w,d,f);$I(w);G=ww(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;ID(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=ww(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;ID(a,y,d,f);$I(y);y=ww(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;ID(a,y,d,f);$I(y);y=ww(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;ID(a,y,d,f);$I(y);G=ww(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;ID(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;LD(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;LD(a,B,2);$I(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=ww(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;ID(a,u,d,f);$I(u);G=ww(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;ID(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;LD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 268435456:break;default:break a}G=ww(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];ID(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;LD(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;LD(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;LD(a,B,2);$I(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=ww(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;ID(a,y,d,f);$I(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];LD(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;LD(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;LD(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=ww(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;ID(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;LD(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;LD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=ww(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;ID(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;LD(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;LD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=ww(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;ID(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;LD(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=ww(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;ID(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;LD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;LD(a,B,2);$I(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=ww(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;ID(a,G,d,f);$I(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=ww(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;ID(a,G,d,f);$I(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=ww(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];ID(a,G,d,f);$I(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=ww(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];ID(a,G,d,f);$I(G);break}}while(0);$I(D)}l=E;return}function Ay(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];KD(a,b,d,0,0,e&255);KD(a,g,7,0,0,0);l=f;return}function By(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function Cy(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=75)if((a|0)==78)a=2;else return ((a|0)==77?3:(a|0)==80?4:0)|0;else a=1}else a=0;return a|0}function Dy(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=ww(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1552;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(JA(Jm(b,90545)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+Ny(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=EA(b,c[42205]|0,d,0)|0;V=+FA(b,c[42207]|0,0.0,-360.0)+m;if(!e){U=+FA(b,c[42208]|0,0.0,-100.0);I=EA(b,c[42204]|0,4,0)|0;T=+FA(b,c[42209]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=Jm(b,90530)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=dM(d,90537,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(so(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+Oy(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+Oy(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=Jm(b,93847)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){Qr(A,so(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=En(b)|0;c[G>>2]=e;c[G+4>>2]=d;$l(0,90621,G)|0;e=0;d=0;break}else{a[(c[(so(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(yJ(d,90553)|0)==0:0){e=Jm(b,90560)|0;Qr(D,so(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=En(b)|0;c[H>>2]=e|0?e:90570;c[H+4>>2]=d;$l(0,90576,H)|0;e=0;d=0;break}else{a[(c[(so(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=Jm(b,90662)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];hb[p&31](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=GA(b,c[42210]|0,122100)|0;if((a[g>>0]|0)==115?(yJ(g,90671)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((JA(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=En(b)|0;M=En(so(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;$l(0,90677,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((JA(GA(b,c[42201]|0,122100)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P1;g=j?W:1;a:do if((e|0)<3){g=ww(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=ww(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+RJ(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;TJ((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;TJ(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;TJ(+K(+o,+x)+v,R,S);x=+RJ(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{hb[c[i+4>>2]&31](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);TJ(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function Ey(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(so(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[42327]=f;f=sJ(f)|0;f=ww(((f|0)>1?f:1)+1|0)|0;b=Gy(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];$l(1,90506,e)|0;c[42327]=90527;b=Gy(a,d,1,f)|0}$I(f);Hy(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((JA(GA(a,c[42210]|0,122100)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(JA(GA(a,c[42201]|0,122100)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];Iy(b,j,a);Jy(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];Ky(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function Fy(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=ww(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+FA(a,c[42191]|0,1797693134862315708145274.0e284,0.0);b=+FA(a,c[42190]|0,1797693134862315708145274.0e284,0.0);f=f0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=EA(a,c[42205]|0,g,0)|0;i=ww((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function Gy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=ww(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[42327]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=ww(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[42327]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[42327]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[42327]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=Gy(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=HL(f)|0;c[42327]=(c[42327]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[42327]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=ww(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=HL(f)|0;c[k+52>>2]=mw(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[42327]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[42327]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[42327]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[42327]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[42327]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[42327]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){Ly(g,r);g=0}else if((E|0)==27){Ly(g,r);g=0}else if((E|0)==34){Ly(g,r);g=0}else if((E|0)==36){Ly(g,r);g=0}else if((E|0)==38){Ly(g,r);g=0}else if((E|0)==51){c[42327]=i+1;c[g+48>>2]=m}else if((E|0)==59){Ly(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;Hy(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=Jm(d,90530)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=dM(j,90537,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function Iy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))Jy(p,q,+h[b+8>>3]+ +(d|0));else Jy(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];Iy(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function Jy(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Ky(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];Jy(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;Jy(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];Ky(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function Ly(a,b){a=a|0;b=b|0;My(a);$I(b);return}function My(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;My(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}$I(c[a+60>>2]|0);pw(c[a+52>>2]|0);$I(c[e>>2]|0);$I(a);return}function Ny(a){a=a|0;var b=0.0,d=0.0;d=+FA(a,c[42191]|0,0.0,.01);b=+FA(a,c[42190]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function Oy(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==75&1;return a|0}function Qy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[42328]|0;a:do if(!f)d=0;else{g=c[42329]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(yJ(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(SA(Jm(d,90560)|0)|0)if((a[b>>0]|0)==101?(yJ(b,90725)|0)==0:0){d=101;g=6}else{b=90553;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(yJ(b,90553)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=19868;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(yJ(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=Sy(b)|0;return b|0}function Sy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=Qy(b)|0;if(!d){f=c[42329]|0;d=f+1|0;c[42329]=d;e=c[42328]|0;if(!e)d=xw(d<<2)|0;else d=zw(e,d<<2)|0;c[42328]=d;d=ww(16)|0;c[(c[42328]|0)+(f<<2)>>2]=d;c[d>>2]=c[4967];c[d+4>>2]=c[4968];c[d+8>>2]=c[4969];c[d+12>>2]=c[4970];e=HL(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(yJ(b,90553)|0)==0:0){e=1;break}c[g>>2]=c[4967];c[g+4>>2]=e;$l(0,90730,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function Ty(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function Uy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function Vy(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){$I(c[a+44>>2]|0);$I(a)}return}function Wy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4144;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?91400:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=IF(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(iz(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=En(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;$l(0,91402,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1600)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(iz(d,0,g,e,c[n>>2]|0,h)|0)jz(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function Xy(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[42332]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];bw(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[42332]|0)){f=c[42333]|0;g=c[42335]|0;i=c[42334]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[42336]=g;i=c[g+44>>2]|0;c[42334]=i;f=c[g+8>>2]|0;c[42333]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[42335]=g;c[42332]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[41802];c[p+4>>2]=c[41803];c[p+8>>2]=c[41804];c[p+12>>2]=c[41805];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((hz(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function Yy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=LF(b,d,0,f,g)|0;else b=0;return b|0}function Zy(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){xD(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[42330]|0)<(K|0)){i=K+5|0;c[42330]=i;j=c[42331]|0;if(!j)i=xw(i<<4)|0;else i=zw(j,i<<4)|0;c[42331]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=_y(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=HA(f,0,91300)|0;CD(e,s);ED(e,HA(f,0,91308)|0);j=0;i=1;break}if(i&8|0){s=HA(f,0,91316)|0;CD(e,s);ED(e,HA(f,0,91324)|0);j=0;i=1;break}if(i&4|0){s=HA(f,0,91332)|0;CD(e,s);ED(e,HA(f,0,91340)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=$y(f)|0;i=1}else{j=$y(f)|0;if(!((yv(j,L,n)|0)<<24>>24)){ED(e,j);i=1}else{ED(e,c[L>>2]|0);i=c[L+4>>2]|0;m=EA(f,c[42218]|0,0,0)|0;k=+g[n>>2];if(!i)FD(e,122106,m,k);else FD(e,i,m,k);i=(D&2)>>>1|2}}s=az(e,f)|0}else{s=HA(f,0,91284)|0;CD(e,s);ED(e,HA(f,0,91292)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(yJ(m,90553)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{CD(e,122171);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[42331]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(XJ(j,58)|0)!=0:0)if(($t(e,o,j)|0)>1){c[z>>2]=En(f)|0;$l(3,91348,z)|0;i=0}else i=0;HD(e,c[42331]|0,K,i&255);if(!y)bz(e,f)}else{if(!x){if((t|0)==0?(du(e,o,j,1)|0)>1:0){c[A>>2]=En(f)|0;$l(3,91348,A)|0}ID(e,c[42331]|0,K,0);break}if(!p){CD(e,122171);ID(e,c[42331]|0,K,i&255);CD(e,s);LD(e,(c[42331]|0)+32|0,2);break}i=i&255;if(q){ID(e,o,K,i);break}else{zy(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=Jm(f,93847)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(yJ(m,90553)|0)==0:0){m=Jm(f,90560)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[42331]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(XJ(j,58)|0)!=0:0)if(($t(e,n,j)|0)>1){c[G>>2]=En(f)|0;$l(3,91348,G)|0;i=0}else i=0;HD(e,c[42331]|0,K,i&255);if(y)break;bz(e,f);break}if(x)if(!(D&12)){ID(e,n,K,m);break}else{zy(e,n,K,D,m);break}else{if((du(e,n,j,1)|0)>1){c[H>>2]=En(f)|0;$l(3,91348,H)|0}ID(e,c[42331]|0,K,0);break}}while(0);R=c[42331]|0;ND(e,o,R,K,i,GA(f,c[42211]|0,122100)|0)}$I(c[L>>2]|0);qw(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)xD(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);yD(e)}l=P;return}function _y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=ez(d,f)|0;if(e|0)GD(b,e);e=c[42217]|0;if((e|0?(g=Km(d,e)|0,g|0):0)?a[g>>0]|0:0)PD(b,+FA(d,c[42217]|0,1.0,0.0));l=h;return c[f>>2]|0}function $y(a){a=a|0;return dz(a,119592)|0}function az(b,d){b=b|0;d=d|0;d=HA(d,c[42193]|0,174185)|0;d=a[d>>0]|0?d:122106;CD(b,d);return d|0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];cz(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;LD(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;LD(a,e,2);l=d;return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function dz(b,d){b=b|0;d=d|0;var e=0;e=HA(b,c[42194]|0,174185)|0;if(!(a[e>>0]|0)){e=HA(b,c[42193]|0,174185)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function ez(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=HA(b,c[42202]|0,174185)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=Eu(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(yJ(f,95923)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(yJ(f,91360)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(yJ(f,91378)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(yJ(f,91368)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(yJ(f,119127)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((yJ(f,91385)|0)==0?fz(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((yJ(f,91393)|0)==0?gz(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function fz(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function gz(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function hz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function iz(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];Jy(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{kz(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{kz(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{kz(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;kz(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{kz(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{kz(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{kz(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{kz(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];aw(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=lz(g,c[(c[(so(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+mz(j,c[(c[(so(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function jz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=En(a)|0;c[e+4>>2]=b;$l(0,91463,e)|0;l=d;return}function kz(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(so(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];aw(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];Gz(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bw(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function lz(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function mz(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function nz(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];bw(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function oz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){xD(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;AL(g,91494,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];qw(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)xD(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);yD(a)}}l=n;return}function pz(a){a=a|0;My(c[(c[a+16>>2]|0)+12>>2]|0);return}function qz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4144;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?91400:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=wz(i,f)|0;if(!j){if(iz(e,i+16|0,h,f,15,0)|0)jz(e,f)}else if(iz(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=En(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;$l(0,91402,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function rz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];bw(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function sz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];cw(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function tz(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)xD(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=_y(d,e)|0;az(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=$y(e)|0;if(!((yv(i,s,n)|0)<<24>>24)){ED(d,i);i=1}else{ED(d,c[s>>2]|0);i=c[s+4>>2]|0;j=EA(e,c[42218]|0,0,0)|0;k=+g[n>>2];if(!i)FD(d,122106,j,k);else FD(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(yJ(j,91271)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];JD(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];zy(d,r,4,f,i)}uz(d,e,o);$I(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)xD(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);yD(d)}l=w;return}function uz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];vz(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];cz(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];qw(b,10,c[j>>2]|0);az(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];cz(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];cz(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];LD(b,q,2)}uz(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function wz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(yJ(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=wz(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function xz(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function yz(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function zz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(so(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];bw(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[42337]|0)){d=+h[20903];e=+h[20904];i=+h[20905]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[42338]=b;c[42339]=c[b+44>>2];c[42340]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(so(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?167248:167256)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?167256:167248)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{bB(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(so(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?167248:167256)>>3]=i;h[(o?167256:167248)>>3]=f}d=+h[20906];if(d==0.0){h[20906]=1.0;d=1.0}e=+h[20907];if(e==0.0){h[20907]=1.0;e=1.0}d=i/d;h[20903]=d;e=f/e;h[20904]=e;i=i*.5;h[20905]=i;h[20908]=f*.5;o=O((c[(c[42338]|0)+4>>2]|0)+-1|0,c[42340]|0)|0;c[42341]=(o|0)>0?o:0;c[42337]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[20908],!(e>p)):0){o=c[42340]|0;if((o|0)<3){a=+RJ(f/i,d/p)<1.0;break}b=(c[42342]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[42339]|0;m=c[42341]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(hz(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[41818];c[u+4>>2]=c[41819];c[u+8>>2]=c[41820];c[u+12>>2]=c[41821];n=(hz(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[41818],c[t+4>>2]=c[41819],c[t+8>>2]=c[41820],c[t+12>>2]=c[41821],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(hz(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(hz(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[42342]=g;a=0;break}else if((b|0)==31){c[42342]=j;a=1;break}}else a=0}else a=0}else{c[42337]=0;a=0}while(0);l=x;return a&1|0}function Az(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];bw(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[42345]|0))d=+h[20911];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[20911]=d;c[42345]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+RJ(g,e)<=d&1}else{c[42345]=0;a=0}l=j;return a|0}function Bz(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){xD(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[42343]|0)<(p|0)){g=p+2|0;c[42343]=g;i=c[42344]|0;if(!i)g=xw(g<<4)|0;else g=zw(i,g<<4)|0;c[42344]=g}ez(f,j)|0;if(!(c[j>>2]&32))GD(e,21040);else GD(e,21036);g=c[42217]|0;if(g|0)PD(e,+FA(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){CD(e,HA(f,0,91300)|0);g=HA(f,0,91308)|0;ED(e,g);break}if(g&8|0){CD(e,HA(f,0,91316)|0);g=HA(f,0,91324)|0;ED(e,g);break}if(!(g&4)){g=dz(f,122106)|0;ED(e,g);az(e,f)|0;break}else{CD(e,HA(f,0,91332)|0);g=HA(f,0,91340)|0;ED(e,g);break}}else{CD(e,HA(f,0,91284)|0);g=HA(f,0,91292)|0;ED(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{CD(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[42344]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}HD(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)xD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);yD(e)}l=t;return}function Cz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=Dz(b,e,f)|0;c[h+36>>2]=c[f+36>>2];iz(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function Dz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(so(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Ez(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Ez(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function Fz(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];zz(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];Az(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];Xy(0,b)|0;l=a;return}function Gz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;QA(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((ab[b&63](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=ab[k&63](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;Iz(f,a,b,k)}l=m;return}function Iz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}Gz(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function Jz(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=ww(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=xw(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=zw(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=ww(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function Kz(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=so(m)|0;B=Jz(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[q&63](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;Iz(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[g&63](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;Iz(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;Lz(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];fu((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function Lz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=($a[c[i>>2]&31](o)|0)&255;else j=0;Bt(o,m,n);k=i+4|0;if(($a[c[k>>2]&31](d)|0)<<24>>24)c[n>>2]=0;if(($a[c[k>>2]&31](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=Qt(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=Ot(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)Rt(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function Nz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){Cz(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];Oz(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+Pz(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(so(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(so(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(so(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=db[n&3](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,569,91568);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Pz(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function Qz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){Cz(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];Oz(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+Pz(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else ma(91578,91558,606,91602)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(so(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(so(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(so(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=db[o&3](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,765,91602);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function Rz(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(so(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function Sz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){Uz(d,e,f,g,h,i);break}if(!(k&1))ma(123205,91558,1231,91610);else{Wz(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){Vz(d,e,f,g,h,i);break}Uz(d,e,f,g,h,i)}while(0);if((l|0)==6)Tz(d,e,f,g,h,i);return}function Tz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(Xz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Yz(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;Yz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Yz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Yz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Yz(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(so(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Kz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Uz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(Xz(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;Yz(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;Yz(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Yz(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;Yz(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];Yz(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(so(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;Kz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function Vz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(Xz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Yz(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;Yz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Yz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Yz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Yz(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(so(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Kz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Wz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(Xz(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;Yz(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;Yz(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];Yz(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;Yz(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];Yz(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(so(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;Kz(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function Xz(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21064+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21064+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21096+(d<<5)+(b<<2)>>2]|0;return d|0}function Yz(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Zz(b){b=b|0;var d=0,e=0;if((c[42248]|0)!=0|(c[42247]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?_z(b,1)|0:0){e=so(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;cB(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?_z(b,0)|0:0){e=so(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;cB(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function _z(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[42248]|0;if(!((e|0)!=0?(a[(Km(b,e)|0)>>0]|0)!=0:0)){e=c[42247]|0;if(!e){e=0;break}if(!(a[(Km(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=$z(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}QA(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}QA(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+FA(b,c[42248]|0,-25.0,-180.0)*.017453292519943295+r;j=+FA(b,c[42247]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function $z(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=En(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=En(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;$l(1,91623,f)|0;d=0}l=h;return d|0}function aA(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;bA(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];WA(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{cA(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function cA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)ma(123523,91558,1316,91685)}function dA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zz(b);return}function eA(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=fA(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+gA(+(n+-1|0),C);A=n+1|0;L=~~+gA(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+hA(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+hA(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+Za[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+gA(q+-1.5707963267948966,6.283185307179586);b=1;p=+gA(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=ww(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];iA(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)jA(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)kA(o,m,l,j,i,k);else{iA(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;iA(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)jA(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)kA(o,k,l,j,i,i+3.141592653589793);lA(J);return o|0}function fA(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=mA()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];nA(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}QA(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+oA(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];nA(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}pA(o);l=q;return o|0}function gA(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function hA(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function iA(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=zw(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function jA(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){kA(h,a,b,c,e+i,i);break}else{iA(h,+E(+i)*c+a,+F(+i)*c+a);break}}else iA(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function kA(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;iA(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);iA(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function lA(a){a=a|0;$I(c[a>>2]|0);$I(a);return}function mA(){var a=0;a=ww(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=ww(128e3)|0;return a|0}function nA(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=zw(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function oA(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function pA(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=zw(c[a>>2]|0,b<<6)|0;return}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)ma(91702,91713,203,91724);e=c[h>>2]|0;if(!e)ma(91738,91713,206,91724);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=rA(e)|0;if(!0)e=0;else{e=(Ev(c[h>>2]|0)|0)==0;e=e?0:g}if(!((wE(b,d,e)|0)<<24>>24))sA(d,e);do if(e|0){f=c[g>>2]|0;b=c[13918]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;AL(b,91781,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;AL(b,91749,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function rA(a){a=a|0;var b=0;b=c[42346]|0;if((b|0)!=0?(jK(b,a)|0)==0:0)a=c[42355]|0;else{$I(b);c[42346]=HL(a)|0;a=wM(169384,21352,35,36,29)|0;c[42355]=a}return a|0}function sA(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(qK(e,91815,4)|0)if((qK(e,91820,5)|0)!=0?(qK(e,91826,9)|0)!=0:0){g=4184;e=91836}else{g=8280;e=91872}else{g=6232;e=91853}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function tA(a,b){a=a|0;b=b|0;return jK(c[a>>2]|0,c[b>>2]|0)|0}function uA(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=14;c[a+124>>2]=58;c[a+128>>2]=20;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Rl(b,c[4345]|0)|0;c[a+144>>2]=b;return b|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;d=aJ(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=HL(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=HL(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function wA(a,b,d){a=a|0;b=b|0;d=d|0;$I(c[b>>2]|0);$I(c[b+4>>2]|0);$I(b);return}function xA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=yJ(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=yJ(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(gf&1}}while(0);return a|0}function yA(){Wa(169424)|0;return}function zA(){var a=0,b=0;b=l;l=l+16|0;a=b;Wa(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[42356]|0)-(c[42357]|0)|0)*.016666666666666666)}function AA(a){a=a|0;var b=0,d=0;b=ww(16)|0;a=(a|0)>2?a:2;d=ww(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function BA(a){a=a|0;$I(c[a>>2]|0);$I(a);return}function CA(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function DA(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function EA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=Km(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=CL(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function FA(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=Km(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+uM(h,g);e=(h|0)==(c[g>>2]|0)?e:j>0]|0)!=0:0)d=b;return d|0}function IA(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=JA(Km(a,b)|0)|0;return a|0}function JA(a){a=a|0;return KA(a,0)|0}function KA(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((jK(b,122100)|0)!=0?(jK(b,92682)|0)!=0:0)if((jK(b,92685)|0)!=0?(jK(b,92690)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(sM(b)|0)&255}else c=1;else c=0;return c|0}function LA(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=LA(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=LA(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function NA(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function OA(a,b){a=a|0;b=b|0;if((LA(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else ma(92702,92694,194,92718)}function PA(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function QA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function RA(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[42360]|0;f=d+1024|0;if((d-e|0)<1024){c[42360]=f;f=zw(c[42361]|0,f)|0;c[42361]=f;d=c[42360]|0}else f=c[42361]|0;d=hL(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(sJ(d)|0)+e|0;d=c[42361]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[42361]|0;return ((e|0)>0?d:0)|0}function SA(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[42178]|0;e=c[42363]|0;if((c[42362]|0)==(d|0))d=e;else{if(e){$I(c[e>>2]|0);$I(c[42363]|0);c[42363]=0;d=c[42178]|0}c[42362]=d;if(!d)break;if(!(a[d>>0]|0))break;d=TA(d)|0;c[42363]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=UA(d,c[42364]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function TA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=HL(a)|0;d=0;while(1){b=EL(b,93017)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=xw(a)|0;else a=zw(d,a)|0;c[a+(g<<2)>>2]=b;f=sJ(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[42364]=e;return f|0}function UA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[42365]|0;c[42365]=bJ(h,b+2+(sJ(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[42365]|0;c[e>>2]=b;c[e+4>>2]=93015;c[e+8>>2]=d;qL(h,93008,e)|0;if(!(aM(c[42365]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[42365]|0;l=g;return a|0}function VA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(yJ(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;QA(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k>3]=m;h[a+8>>3]=n;l=z;return}function XA(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+FA(b,c[42191]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+FA(b,c[42190]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=Ry(HA(b,c[42192]|0,93019)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=Km(b,c[42199]|0)|0;d=+FA(b,c[42195]|0,14.0,1.0);e=HA(b,c[42196]|0,93027)|0;f=HA(b,c[42197]|0,122106)|0;i=(dp(l)|0)!=0;k=(Cy(b)|0)==2;i=mw(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[42200]|0;if((i|0?(j=Km(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(dp(j)|0)!=0;l=mw(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(so(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(EA(b,c[42203]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;gb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function YA(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=so(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[42227]|0;if(((d|0)!=0?(e=Km(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){ZA(b,m);t=(dp(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=mw(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=JA(GA(b,c[42237]|0,122100)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[42228]|0;if((f|0?(j=Km(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){ZA(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(dp(j)|0)!=0;j=mw(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[42242]|0;if(((d|0)!=0?(k=Km(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){_A(b,m,n);j=(dp(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=mw(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[42243]|0;if((f|0?(q=Km(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){_A(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(dp(q)|0)!=0;q=mw(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=Jm(b,96242)|0;d=d|0?d:174185;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;$A(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((aB(b,c[42249]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=Jm(b,96251)|0;d=d|0?d:174185;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;$A(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((aB(b,c[42250]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function ZA(a,b){a=a|0;b=b|0;h[b>>3]=+FA(a,c[42224]|0,14.0,1.0);c[b+8>>2]=HA(a,c[42225]|0,93027)|0;c[b+12>>2]=HA(a,c[42226]|0,122106)|0;return}function _A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))ZA(a,b);h[d>>3]=+FA(a,c[42244]|0,+h[b>>3],1.0);c[d+8>>2]=HA(a,c[42245]|0,c[e>>2]|0)|0;c[d+12>>2]=HA(a,c[42246]|0,c[b+12>>2]|0)|0;return}function $A(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=XJ(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;kb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{kb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function aB(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=Km(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(JA(d)|0)<<24>>24==0&1;else b=0;return b|0}function bB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];dB(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function eB(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((nn(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){fB(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;fB(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{fB(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;fB(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=eo(b)|0;while(1){if(!n)break;PA(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];gB(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];hB(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Qm(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Sm(b,m)|0}n=fo(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]>3];h[D>>3]=+h[(+h[D>>3]>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];dB(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function fB(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function iB(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(qK(En(a)|0,93039,7)|0)==0&1;return a|0}function jB(a){a=a|0;var b=0;b=Rl(22612,c[4345]|0)|0;mB(a,b);return b|0}function kB(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function lB(a,b,c){a=a|0;b=b|0;c=c|0;c=bn(so(b)|0,b,c,0,1)|0;Oo(c,122254,176,1)|0;Nm(a,c)|0;return c|0}function mB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=En(a)|0;if(!(bb[c[b>>2]&31](b,d,512)|0)){i=ww(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;bb[c[b>>2]&31](b,i,1)|0}else{c[g>>2]=d;$l(0,93062,g)|0}mB(a,b);e=e+1|0}l=h;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;$I(b);return}function oB(a){a=a|0;var b=0,c=0,d=0;d=Jp(a,93047,1)|0;Oo(d,122277,280,1)|0;b=eo(a)|0;while(1){if(!b)break;c=Qm(a,b)|0;while(1){if(!c)break;pB(c,d);c=Sm(a,c)|0}b=fo(a,b)|0}b=eo(d)|0;while(1){if(!b)break;c=fo(d,b)|0;qB(b);ro(a,b)|0;b=c}mn(d)|0;return}function pB(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=rB(f,d)|0;e=lB(b,f,rB(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;sB(b)}return}function qB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){$I(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){gb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}pw(c[b+104>>2]|0);pw(c[(c[e>>2]|0)+108>>2]|0);Qo(a,122241)|0;return}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=so(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){jo(d,b,1)|0;b=XJ(En(b)|0,58)|0;if(!b)ma(96030,92694,1225,93114);d=b+1|0;b=oo(f,d,0)|0;if(!b){b=oo(f,d,1)|0;Oo(b,122241,304,1)|0;d=Em(f,1,0)|0;while(1){if(!d)break a;g=Km(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))Dm(b,d,e)|0;d=Em(f,1,d)|0}}}while(0);return b|0}function sB(a){a=a|0;var b=0;b=a+16|0;$I(c[(c[b>>2]|0)+144>>2]|0);tB(a);pw(c[(c[b>>2]|0)+96>>2]|0);pw(c[(c[b>>2]|0)+108>>2]|0);pw(c[(c[b>>2]|0)+100>>2]|0);pw(c[(c[b>>2]|0)+104>>2]|0);Qo(a,122254)|0;return}function tB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;$I(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}$I(a);$I(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function uB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=zm(a,b,c,0)|0;if(!e)e=zm(a,b,c,d)|0;return e|0}function vB(a,b){a=a|0;b=b|0;return yJ(c[a>>2]|0,c[b>>2]|0)|0}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[42366]|0)!=(d|0)){c[42366]=d;a[174084]=0}dm(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=yB(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){em(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){em(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){em(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[174084]|0)){c[j>>2]=En(d)|0;$l(0,94529,j)|0;a[174084]=1}h=-1;e=xB(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){em(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[174084]|0)){g=En(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;$l(0,94650,k)|0;a[174084]=1}e=xB(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){em(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){em(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=HL(n)|0;hm(o);l=q;return p|0}function xB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=zB(g)|0;h=d+4|0;i=d+8|0;e=sJ(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){em(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;$I(g);l=j;return k|0}function yB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=wM(h,22648,252,8,30)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function zB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;dm(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=yB(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){em(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){em(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){em(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){em(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){em(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){em(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){em(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=HL(h)|0;hm(i);l=k;return j|0}function AB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;dm(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){em(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){em(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){em(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=HL(f)|0;hm(g);l=i;return h|0}function BB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];CB(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];gB(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=ab[d&63](f,e)|0}else d=0;l=n;return d|0}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function DB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];gB(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];hB(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function EB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(FB(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((GB(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(DB(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0} +function ti(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=ww((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=eo(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Qm(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Sm(a,f)|0}g=fo(a,g)|0}f=ww((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=ww((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}$I(i);return}function ui(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=ui(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((Wf(a)|0)!=(a|0)){WN(d|0,0,e<<2|0)|0;g=eo(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Qm(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Sm(a,i)|0}g=fo(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=Jp(Wf(a)|0,79522,1)|0;g=oo(f,0,1)|0;Oo(g,122241,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=ww(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=ww(20)|0;c[(c[l>>2]|0)+180>>2]=k;jo(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function vi(a){a=a|0;var b=0,d=0;Lh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;vi(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function wi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=xi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17236+(d*12|0)+((xi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function xi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function yi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){Zk(b);zi(b);if(a[174080]|0)ll(b);Ai(b);if(Dl(b)|0)zi(b);Bi(b);if(hx(b,2,Ci(b)|0)|0?(Di(b),hx(b,2,Ci(b)|0)|0):0)ma(79540,79568,134,79579);Ei(b);Fi(b,d);Gi(b)}return}function zi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]>3]=j;h[p>>3]=j}if(+h[r>>3]>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=EA(f,c[42189]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=fj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){gj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Ai(a){a=a|0;var b=0,d=0,e=0;bj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){cj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{cj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Bi(a){a=a|0;Pi(a);Qi(a);Ri(a);Si(a);Ti(a);return}function Ci(a){a=a|0;var b=0,c=0.0;b=Jm(a,79768)|0;if(!b)a=2147483647;else{c=+tM(b);a=~~(c*+(nn(a)|0))}return a|0}function Di(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=gh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Ni(o,f,0.0,0)|0;Ni(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)ma(79676,79568,111,79679);else if((s|0)==19)return}function Ei(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Fi(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Hi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Ii(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Ji(a,f,i)}while(0);if(d|0)Ki(a,d);return}function Gi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;$I(c[e+16>>2]|0);$I(e);d=d+1|0}if(f){$I(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){$I(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;$I(e);$I(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Hi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Mi(a,b);return}function Ii(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Li(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Li(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Ji(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Ji(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ki(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[13918]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;AL(n,79592,f)|0;c[g>>2]=lk(a)|0;AL(n,79617,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){YL(79627,34,1,c[13918]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[13918]|0;c[j>>2]=c[b+24>>2];AL(n,79662,j)|0}l=m;return}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Mi(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(Wf(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function Ni(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=ww(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=ww(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Oi(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;Wg(i)|0;return i|0}function Oi(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;$l(1,79692,d)|0;l=b;return}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=ww((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=ww(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Qi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(Rz(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];Ni(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!($i(g,f)|0))Ni(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!($i(d,f)|0)){Ni(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=Tg(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))Ni(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i65535){Oi(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=gh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Ni(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Ni(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function Si(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){Wi(a);Xi(a);Yi(a);Zi(a)}return}function Ti(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){Ui(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Ni(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function Ui(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=EA(a,c[42189]|0,8,0)|0;Vi(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=En(a)|0;c[m+4>>2]=e;$l(1,79776,m)|0;break}else{Ni(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Ni(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function Vi(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=gh(Wf(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=gh(Wf(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(Wf(b)|0)!=(b|0):0)?(c[(c[(to(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Ni(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function Wi(a){a=a|0;var b=0,d=0;do if((Wf(a)|0)!=(a|0)){Ui(a);a=a+16|0;b=c[a>>2]|0;b=Tg(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;Ni(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Wi(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Xi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=EA(d,c[42189]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(Wf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(_i(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Ni(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(Wf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(Wf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(_i(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Ni(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;Xi(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function Yi(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=EA(a,c[42189]|0,8,0)|0;Vi(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;Vi(e);f=c[b>>2]|0;g=e+16|0;Ni(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;Ni(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;Yi(e);a=a+1|0}return}function Zi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=EA(a,c[42189]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;Vi(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Ni(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}Zi(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function _i(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(Co(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(Co(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function $i(a,b){a=a|0;b=b|0;return aj(a,b)|0}function aj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(aj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function bj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=xw((i<<2)+4|0)|0;else d=zw(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];dj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Tm(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(LA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];ej(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;lh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=xw((c[e+176>>2]<<2)+8|0)|0;else e=zw(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Um(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Qm(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(LA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];ej(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;lh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=xw((c[e+184>>2]<<2)+8|0)|0;else e=zw(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Sm(a,i)|0}}}while(0);l=o;return}function dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;LB(b,c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(so(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function ej(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=Wf(b)|0;g=LA(d)|0;if((g|0)!=(d|0))dh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];dj(a,d,h);l=i;return}function fj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(Wf(a)|0)+16>>2]|0)+196>>2]|0;if((Wf(a)|0)==(a|0))j=8.0;else j=+(EA(a,c[42189]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=fj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((Wf(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(to(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((Wf(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function gj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(Wf(a)|0)+16>>2]|0)+196>>2]|0;if((Wf(a)|0)==(a|0))e=0;else e=EA(a,c[42189]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;gj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((Wf(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)hj(a,~~p,d);if((Wf(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function hj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(Wf(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function ij(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function jj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=eo(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=fo(a,h)|0}c[e+264>>2]=d;return}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=Jm(a,79821)|0;if(!b)b=2147483647;else{g=+tM(b);b=~~(g*+(nn(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];hx(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function lj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(Jm(a,79830)|0))nj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;mj(a,d)}if(0){g=c[13918]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;AL(g,79838,e)|0}l=f;return}function mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[41933]=0;a[h>>0]=a[17644]|0;a[h+1>>0]=a[17645]|0;a[h+2>>0]=a[17646]|0;a[h+3>>0]=a[17647]|0;h=hn(80048,h,0)|0;Oo(h,80077,280,1)|0;Ao(h,17332,17272);oj(b);e=Jm(b,79821)|0;if(!e)f=2147483647;else{j=+tM(e);f=~~(j*+(nn(b)|0))}Ej(b,0);Fj(b,h);Gj(b,h);Hj(b,h,0,0);Ij(h);g=Jj(h)|0;Kj(h);if(d|0){yk(h);mk(h)}e=Jm(b,87620)|0;if(!e)e=-1;else e=sM(e)|0;Aw(h,1,f,e)|0;Lj(b,h,g);mn(h)|0;l=i;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;oj(a);do if(!b){pj(a,a);Bk(a);qj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;ul(a,0);b=0}else{yk(a);mk(a);pj(a,a);Bk(a);qj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;ul(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);jk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(rj(a,f)|0)ul(a,0);if(!b)kj(a);else nk(a,b);sj(a,b);tj(a);l=g;return}function oj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=eo(d)|0;while(1){if(!g)break;f=Qm(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Sm(d,f)|0}g=fo(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function pj(a,b){a=a|0;b=b|0;var d=0;b=Kp(b)|0;while(1){if(!b)break;d=Bj(b)|0;do if(d)if((d|0)==7&(c[42180]|0)==100){xj(a,b);break}else{Cj(a,b,d);break}else pj(a,b);while(0);b=Lp(b)|0}return}function qj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=LA(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=LA(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(LA(h)|0)){g=9;break}ik(d);d=c[e>>2]|0}if((g|0)==9)ma(79941,79881,346,79973);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(LA(i)|0))break;ik(d);d=c[e>>2]|0}ma(79986,79881,353,79973)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function rj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=eo(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(LA(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=bh(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=bh(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=fo(a,g)|0}}while(0);return (d|0)!=0|0}function sj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=eo(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=LA(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:NA(g)}g=fo(d,g)|0}if((Wf(d)|0)==(d|0)){if((c[42180]|0)==100)e=1;else{wj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;vj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function tj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;uj((c[i>>2]|0)+172|0);uj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=eo(b)|0;while(1){if(!i)break;h=Qm(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=eo(b)|0;while(1){if(!d)break;e=Qm(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Sm(b,e)|0}d=fo(b,d)|0}$I(c[k>>2]|0);$I(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Sm(b,h)|0}i=fo(b,i)|0}$I(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function uj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function vj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;vj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function wj(b){b=b|0;var d=0;d=Kp(Wf(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)xj(b,d);d=Lp(d)|0}return}function xj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,yj(a,b),eo(b)|0):0){zj(a,b);if((c[42180]|0)==100){nj(b,0);Aj(b);break}else{jj(b);break}}while(0);return}function yj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=eo(d)|0;while(1){if(!g)break;i=fo(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{ro(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(Co(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))ro(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=eo(d)|0;while(1){if(!e)break;b=Qm(Wf(d)|0,e)|0;while(1){if(!b)break;if(Co(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)fn(d,b,1)|0;b=Sm(Wf(d)|0,b)|0}e=fo(d,e)|0}return}function zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=ww((a<<2)+8|0)|0;else a=yw(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;iw(b);return}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)ma(79866,79881,238,79888);c[g+264>>2]=h;d=eo(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}MA(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=fo(b,d)|0}if((d|0)==11)ma(79903,79881,242,79888);else if((d|0)==13)return}function Bj(b){b=b|0;var d=0;if(!(Dj(b)|0)){d=VA(Jm(b,80018)|0,17284,17308)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Cj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=eo(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=fo(d,f)|0;if(!f)break;MA(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=MA(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=MA(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Dj(a){a=a|0;return (WJ(En(a)|0,93039,7)|0)==0|0}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(Zj(b)|0)){do if(iB(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;_j(b,d);d=b;break}while(0);e=Kp(b)|0;while(1){if(!e)break;Ej(e,d);e=Lp(e)|0}a:do if(iB(b)|0){e=eo(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=fo(b,e)|0}}while(0);switch($j(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{ak(b)|0;break}case 6:break;default:{e=En(b)|0;f=Jm(b,80018)|0;c[g>>2]=e;c[g+4>>2]=f;$l(0,80201,g)|0}}if((k|0)==19){k=ak(b)|0;k=bk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=ak(b)|0;k=bk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((iB(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=ak(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0;c[41933]=0;d=eo(a)|0;while(1){if(!d)break;if((Mj(d)|0)==(d|0)){e=Pj(b,En(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=fo(a,d)|0}d=eo(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Mj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=fo(a,d)|0}return}function Gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=eo(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Qm(a,h)|0;while(1){if(!i)break;do if((Uj(i)|0)==0?(j=i+-48|0,k=c[(c[(Mj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(Vj(i)|0)){if((Tj(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(Tj(f)|0)==0:0){Wj(b,d,k,i);break}Xj(b,d,k,i);break}else{f=Mj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Mj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}Wj(b,d,e,i);break}}while(0);i=Sm(a,i)|0}h=fo(a,h)|0}return}function Hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((iB(a)|0)!=0?(Tj(a)|0)!=0:0){g=eo(a)|0;while(1){if(!g)break;if(!(Tm(a,g)|0)){f=c[(c[(Mj(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=Pj(b,80099)|0;bn(b,d,f,0,1)|0}if(!(Qm(a,g)|0)){f=c[(c[(Mj(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=Pj(b,80104)|0;bn(b,f,e,0,1)|0}g=fo(a,g)|0}if((e|0)!=0&(d|0)!=0){Sj(bn(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=Kp(a)|0;while(1){if(!d)break;Hj(d,b,f,e);d=Lp(d)|0}return}function Ij(b){b=b|0;var d=0,e=0;d=eo(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=fo(b,d)|0}d=eo(b)|0;while(1){if(!d)break;Qj(b,d);d=fo(b,d)|0}return}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0;b=eo(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=fo(a,b)|0}b=0;e=eo(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Oj(a,e,d);b=d}e=fo(a,e)|0}a:do if((b|0)>1){f=Pj(a,80093)|0;d=1;e=eo(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){bn(a,f,e,0,1)|0;d=d+1|0}e=fo(a,e)|0}}while(0);return b|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=eo(a)|0;while(1){if(!g)break;h=g+16|0;f=Qm(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=xw((c[b+184>>2]<<2)+8|0)|0;else b=zw(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=xw((c[b+176>>2]<<2)+8|0)|0;else b=zw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Sm(a,f)|0}g=fo(a,g)|0}return}function Lj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=ww((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=eo(a)|0;while(1){if(!h)break;j=c[(c[(c[(Mj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=fo(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=eo(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=fo(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=eo(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=fo(a,f)|0}}while(0);Nj(a,f);i=eo(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){$I(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)$I(f);i=fo(d,i)|0}$I(c[(c[(eo(a)|0)+16>>2]|0)+112>>2]|0);f=eo(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=fo(a,f)|0}if(j)$I(o);return}function Mj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Mj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Nj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Nj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=eo(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=fo(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Qm(a,b)|0;while(1){if(!e)break;Oj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Sm(a,e)|0}e=Tm(a,b)|0;while(1){if(!e)break a;Oj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Um(a,e)|0}}while(0);return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=oo(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=ww(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=ww(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[41933]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[41933]=f;c[b+164>>2]=0;return f|0}function Qj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Qm(b,d)|0;while(1){if(!d)break;e=Sm(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){Rj(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Qj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function Rj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=bn(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=bn(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;Sj(d,e[g+170>>1]|0,c[g+156>>2]|0);ro(a,b)|0;return}function Sj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function Tj(a){a=a|0;return (KA(Jm(a,80109)|0,0)|0)&255|0}function Uj(b){b=b|0;var d=0,e=0;d=c[42234]|0;if((((d|0)!=0?(e=Km(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(JA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Vj(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=Yj(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function Wj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=bn(a,b,d,0,0)|0;if(!g){g=bn(a,d,b,0,0)|0;if(!g){g=bn(a,b,d,0,1)|0;if(!g){b=En(b)|0;f=En(d)|0;c[h>>2]=b;c[h+4>>2]=f;$l(1,80126,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;Sj(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function Xj(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Tm(a,d)|0;while(1){if(!h){k=6;break}n=Qm(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Um(a,h)|0}if((k|0)==6){n=c[41934]|0;c[41934]=n+1;c[j>>2]=n;qL(i,80117,j)|0;i=Pj(a,i)|0;n=bn(a,i,d,0,1)|0;i=bn(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function Zj(a){a=a|0;return (eo(a)|0)==0|0}function _j(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;zj(b,a);yj(b,a);return}function $j(b){b=b|0;var c=0;b=Jm(b,80018)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(yJ(b,80028)|0)if(yJ(b,80032)|0)if(yJ(b,80039)|0)if(yJ(b,80043)|0)if(!(yJ(b,80023)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function ak(a){a=a|0;var b=0,c=0;c=eo(a)|0;a:do if(!c)b=0;else{b=Mj(c)|0;while(1){c=fo(a,c)|0;if(!c)break a;bk(b,c)|0}}while(0);return b|0}function bk(a,b){a=a|0;b=b|0;if(b){a=Mj(a)|0;c[(c[(Mj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function ck(a,b,d){a=a|0;b=b|0;d=d|0;Oo(b,80077,c[d>>2]|0,1)|0;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;Oo(b,80244,c[d+4>>2]|0,1)|0;return}function ek(a,b,d){a=a|0;b=b|0;d=d|0;Oo(b,80229,c[d+8>>2]|0,1)|0;return}function fk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[42238]=zm(b,2,80259,0)|0;k=zm(b,2,80268,0)|0;c[42239]=k;a:do if((k|0)!=0|(c[42238]|0)!=0){k=eo(b)|0;while(1){if(!k)break a;j=0;d=0;i=Vm(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[42238]|0;do if((f|0)==(k|0)&(g|0)!=0){f=Km(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=gk(m,d,k,i,f)|0;break b}}while(0);f=c[42239]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=Km(i,f)|0,(a[o>>0]|0)!=0):0)e=gk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Wm(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)hk(k,e);e=c[e>>2]|0;if(e|0)$I(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)hk(k,d);d=c[d>>2]|0;if(d|0)$I(d);e=e+1|0}k=fo(b,k)|0}}while(0);l=p;return}function gk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(yJ(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=xw((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=zw(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=En(e)|0;c[k>>2]=5;c[k+4>>2]=r;$l(1,80277,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=ww(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){Bt(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+Ft(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+RJ(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+RJ(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(so(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(so(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;Hz(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;Bt(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function ik(a){a=a|0;var b=0,d=0,e=0;Yg(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=Tg(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;bh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else jh(a,b);return}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;kk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function kk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))kk(d)}else{ik(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=eo(a)|0;b=0;while(1){if(!e)break;d=Qm(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Sm(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=fo(a,e)|0}return b|0}function mk(b){b=b|0;var d=0,e=0,f=0,g=0;e=eo(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=fo(b,e)|0}return}function nk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;ok(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[13918]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=eo(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=fo(a,d)|0}kj(a);e=+pk(a);h[m>>3]=e;if(0){h[o>>3]=e;AL(n,80329,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}qk(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}kj(a);rk(a);sk();h[m>>3]=+pk(a);l=q;return}function ok(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[41938]=xw((nn(a)|0)*24|0)|0;c[41937]=0;b=eo(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=fo(a,b)|0}i=eo(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=ww(4)|0;g=c[41938]|0;k=c[41937]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[41937]=k+1}else{g=LA(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[41938]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l>2]=d;break}d=ww(c[b+216>>2]<<2)|0;e=c[41938]|0;f=c[41937]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[41937]=f+1}while(0);i=fo(a,i)|0}return}function pk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;rk(a);g=c[41935]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[41936]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d=(nn(a)|0))break;c[(c[41939]|0)+(b<<2)>>2]=b;b=b+1|0}rk(a);tk(a);uk(a);return}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[41935]=0;b=c[41936]|0;if(b|0){e=0;while(1){if((e|0)>=(c[41937]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){$I(d);b=c[41936]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){$I(d);b=c[41936]|0}e=e+1|0}$I(b)}c[41936]=ww((c[41937]|0)*40|0)|0;b=0;while(1){d=c[41937]|0;if((b|0)>=(d|0))break;k=ww(d<<2)|0;c[(c[41936]|0)+(b*40|0)+4>>2]=k;k=ww(c[41937]<<2)|0;l=c[41936]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=eo(a)|0;while(1){if(!e)break;d=Qm(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[41936]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Sm(a,d)|0}e=fo(a,e)|0}i=c[41937]|0;k=c[41938]|0;l=c[41936]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[41935]|0))c[41935]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function sk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[41935]|0;l=c[41936]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function tk(a){a=a|0;var b=0;b=c[41939]|0;sL(b,nn(a)|0,4,15);return}function uk(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[41935]|0;k=c[41936]|0;g=c[41939]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){sL(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,16);g=c[41936]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(bh(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[41936]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function vk(a,b){a=a|0;b=b|0;a=wk(c[a>>2]|0)|0;b=wk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function wk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=so(e)|0;e=Qm(g,e)|0;while(1){if(!e)break;e=Sm(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function xk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[41936]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e>2]|0)+216>>2]=0;b=fo(a,b)|0}return}function zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=Jm(a,84624)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(dM(a,80344,e)|0)>=1):0)$l(0,80351,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Ak(b){b=b|0;var d=0,e=0;d=c[42234]|0;if((((d|0)!=0?(e=Km(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(JA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;Wk(a);b=eo(a)|0;while(1){if(!b)break;d=Qm(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Ak(d)|0)==0:0)?(e=d+48|0,f=LA(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=LA(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=Tg(f,h)|0;if(!i){bh(f,h,d)|0;break}else{jh(d,i);break}}i=c[d>>2]&3;Ck(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Sm(a,d)|0}b=fo(a,b)|0}return}function Ck(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=gh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=LA(d)|0;d=LA(f)|0;f=Ni(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Ni(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Dk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)ma(80440,80462,148,80471);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Ek(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Ek(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(ij(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Gk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;Wk(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;Xk(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=eo(b)|0;while(1){if(!h)break;g=Qm(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Sm(b,g)|0}h=fo(b,h)|0}m=eo(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(LA(m)|0):0){ch(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Qm(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Hk(l)|0){if(!(Fk(d,l)|0)){Ik(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Dk(b,l,e,0);Zg(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;jh(l,d);Zg(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){jh(l,d);Zg(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(ij(l,d)|0)!=0:0)if(!(a[174080]|0)){Dk(b,l,c[(c[o>>2]|0)+172>>2]|0,1);Zg(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){Zg(l);d=l;break}e=LA(e)|0;f=LA(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){hh(b,l);d=l;break}if((h|0)>(g|0)){Jk(b,e,f,l);d=l;break}e=bn(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Jk(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(ij(l,e)|0))break;if(!(a[174080]|0)){Zg(l);Dk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Jk(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Sm(b,l)|0}m=fo(b,m)|0}if((Wf(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=xw(4)|0;else d=zw(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Hk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Mk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Mk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=Tg(f,e)|0;if(h|0){Dk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Jk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)ma(80483,80462,89,80508);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Kk(a,e)|0;else f=Lk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;wi(bh(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))ma(80519,80462,103,80508);else return}function Kk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=gh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(to(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(to(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Lk(a){a=a|0;var b=0;b=gh(a)|0;Ek(a,b);return b|0}function Mk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=LA(b)|0;return b|0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=Wf(a)|0;h=eo(a)|0;while(1){if(!h)break;b=Vm(j,h)|0;i=0;while(1){if(!b)break;l=Wm(j,b,h)|0;if(Co(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Fk(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Dk(a,k,b,0);_g(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Ok(b,e,k);b=l;i=k;continue}else{Ok(e,b,k);b=l;i=k;continue}b=Vg(b,e)|0;if(!b){hh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}_g(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}jh(k,b);m=i;b=l;i=m}h=fo(a,h)|0}return}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Pk(a)|0;e=Pk(b)|0;Qk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Pk(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Qk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))ma(80544,80572,81,80582);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=Tg(d,e)|0,j|0):0)?ij(f,j)|0:0){jh(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Zg(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=Wf(d)|0;j=g+-48|0;i=Rk(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(bh(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=Tg(d,e)|0;if(g|0?ij(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Zg(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=bh(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=bh(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;Yg(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(bh(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;Yg(g)}}}while(0);return}function Rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;Sk(a,e,c[b+236>>2]|0,2);b=gh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function Tk(a){a=a|0;var b=0;Gk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];ti(a);_h(a,0);Uk(a);Nk(a);Vk(a);return}function Uk(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Wf(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;Sk(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=to(k)|0;eh(d,e);ch(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function Vk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;Yg(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;Yg(d);d=c[g>>2]|0}eh(Wf(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function Wk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=eo(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){NA(f);d=c[e>>2]|0}c[d+212>>2]=0;f=fo(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=eo(h)|0;a:while(1){if(!d)break;j=fo(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=En(d)|0;g=En(b)|0;c[n>>2]=f;c[n+4>>2]=g;$l(0,80591,n)|0;ro(h,d)|0;d=j;continue}OA(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Qm(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Sm(h,g)|0}}k=k+1|0}l=o;return}function Xk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=ww((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=gh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(bh(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=eo(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Qm(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Sm(e,f)|0}j=fo(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function Yk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;ni(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;oi(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=eo(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Qm(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Sm(b,g)|0}h=fo(b,h)|0}_k(b);return}function _k(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;_k(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=eo(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Qm(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Sm(b,h)|0}i=fo(b,i)|0}return}function $k(a){a=a|0;var b=0,c=0,d=0;d=jB(a)|0;c=eo(a)|0;while(1){if(!c)break;b=Qm(a,c)|0;while(1){if(!b)break;al(b,d);b=Sm(a,b)|0}c=fo(a,c)|0}Ll(d)|0;return}function al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=bl(Jm(a,80645)|0,b)|0;q=bl(Jm(a,80651)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=En(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=En(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;$l(0,80657,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=xw(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(cl(H,h)|0)){o=En(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=En(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Jm(a,80645)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;$l(0,80698,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(cl(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(cl(H,h)|0){o=En(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=En(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Jm(a,80645)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;$l(0,80741,n)|0;K=26;break}if(!(c[C>>2]|0))ma(80783,80794,369,80805);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];dl(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];el(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];el(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];el(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(Ot(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(fl((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];dl(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else ma(80822,80794,387,80805);else{if(f)b=Ot(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(cl(H,f)|0)){G=En(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=En(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Jm(a,80651)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;$l(0,80833,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(cl(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(cl(H,f)|0){G=En(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=En(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Jm(a,80651)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;$l(0,80876,x)|0;K=52;break}if(!(c[v>>2]|0))ma(80822,80794,429,80805);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];dl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];el(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];el(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];el(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=Qt(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(fl(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=Qt(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))ma(80783,80794,452,80805);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];dl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=xw(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}$I(c[I>>2]|0);$I(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function bl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=kB(d,b)|0;if(!d){c[e>>2]=b;$l(0,80996,e)|0;d=0}}else d=0;l=f;return d|0}function cl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=kl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=kl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=kl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=kl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;$l(1,80918,B)|0;ma(123205,80794,78,80970)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function fl(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+gl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)QA(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+gl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}QA(i,a,3,.5,j,k);g=(c+b)*.5;b=+gl(j,b,g,d,e,f);if(!(b>=0.0))b=+gl(k,g,c,d,e,f)}while(0);l=m;return +b}function hl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(il(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}QA(i,a,3,.5,j,k);g=(c+b)*.5;b=+hl(j,b,g,d,e,f);if(!(b>=0.0))b=+hl(k,g,c,d,e,f)}while(0);l=m;return +b}function il(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function jl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=fb&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=fb&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;qL(b,80984,d)|0;l=c;return b|0}function ll(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=_I(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(18,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(17,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=TN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(19,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(18,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=TN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=SN(167760,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=TN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;aa(11,3,81024,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=TN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;fa(85,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=TN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);$I(t|0);l=v;return}function ml(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((ml(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(tl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Xf(g,h)|0)==0&1}else a=0;l=i;return a|0}function ol(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=bh(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;jh(f,d);Yg(f)}Yg(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=bh(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;jh(f,d);Yg(f)}Yg(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}eh(a,o);l=l+1|0}if((r|0)==23)ma(81160,81204,115,81211);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function pl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((pl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(tl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Xf(g,h)|0)==0&1}else a=0;l=i;return a|0}function rl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}jj(d);j=eo(d)|0;while(1){if(!j)break;sl(d,j);i=Qm(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;sl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Sm(d,i)|0}j=fo(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(Wf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(Wf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(Co(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(Co(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(Co(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=En(d)|0;c[p+4>>2]=i;$l(0,81124,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=En(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;$l(1,81066,o)|0;Ua(167760,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;rl(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function sl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function tl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;vl(j,k+512|0,k);e=(a[173898]|0)+1<<24>>24;a[173898]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=eo(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(LA(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[173898]|0)):0){wl(b);xl(j,b,g);yl(b)}d=fo(b,d)|0}zl(j);l=k;return}function vl(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function wl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[41979]=0;return}function xl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Al(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Bl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[173898]|0))continue;Cl(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[173898]|0)?(e|0)==(LA(e)|0):0)Al(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function yl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=xw(a<<2)|0;else a=zw(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function zl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;$I(c[a>>2]|0);$I(a);a=b}return}function Al(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=ww(16)|0;if(!f)$l(1,83988,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=ww(4e6)|0;c[f>>2]=b;if(!b){$l(1,81224,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[173898]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[173898]|0;b=c[41979]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[41979]=d;c[g+164>>2]=0;return}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}El(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){El(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Fl(b)}while(0);vi(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Gl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Gl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){oh(b);Ch(b)}return e|0}function El(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(Wf(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function Fl(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)ma(81281,81264,190,81300);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=xw(d<<6)|0;else a=zw(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=ww(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Gl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=Wf(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Hl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Il(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=bh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=bh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]>3]=f;c[g+112>>2]=b}return}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Jl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Kl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Kl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Il(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=xw((c[e>>2]<<2)+8|0)|0;else f=zw(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=gh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Jl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)ma(81244,81264,63,81271);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Jl(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=cb[b&31](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Xl(a,0)|0;f=(b|0)==0;if(f){bb[c[c[a+16>>2]>>2]&31](a,0,64)|0;if((Tl(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;cb[c[e>>2]&31](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;cb[c[e>>2]&31](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)cb[c[a+12>>2]&31](a,a,0,h)|0}else $I(a);b=c[g>>2]|0;if(!b)b=0;else{cb[b&31](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Ml(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Sl(a,0)|0;e=c[n+32>>2]|0;if(e|0?(cb[e&31](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?19:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Pl(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Vl(0,e,g)|0;else e=bb[f&31](a,e,b)|0;c[h+4>>2]=e}bb[m&31](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?19:n}while(0);return b|0}function Nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=_I(c)|0;else if(a){$I(b);a=0;break}else{a=bJ(b,c)|0;break}while(0);return a|0}function Ol(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Pl(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Sl(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;ib[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}cb[c[j>>2]&31](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=bb[e&31](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=cb[c[a+12>>2]&31](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}ib[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=yJ(b,f)|0;break}else{f=eL(b,f,n)|0;break}else f=cb[o&31](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,e,r);if((c[q>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,r)|0}return e|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=_I(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Ml(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=cb[d&31](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{$I(f);e=cb[c[d>>2]&31](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Ml(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=cb[c[d+12>>2]&31](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){$I(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)cb[e&31](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;bb[f&31](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Tl(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Sl(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Ul(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Ul(a){a=a|0;var b=0;if(!a)return 0;else{b=Ul(c[a+4>>2]|0)|0;return b+1+(Ul(c[a>>2]|0)|0)|0}return 0}function Vl(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Sl(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;ib[f&127](a,g,E)}if((c[x>>2]|0)<0)cb[c[j>>2]&31](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=bb[c[a>>2]&31](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=yJ(e,f)|0;break}else{f=eL(e,f,B)|0;break}else f=cb[C&31](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=bb[c[a>>2]&31](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=yJ(s,i)|0;break}else{i=eL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=yJ(s,i)|0;break}else{i=eL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=yJ(s,i)|0;break}else{i=eL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=yJ(s,i)|0;break}else{i=eL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)ib[e&127](a,g,E);if((c[x>>2]|0)<0){cb[c[a+12>>2]&31](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=bb[h&31](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=cb[c[a+12>>2]&31](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){ib[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=yJ(f,h)|0;break}else{h=eL(f,h,B)|0;break}else h=cb[C&31](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,g,E);if((c[x>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Sl(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Sl(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=12;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=bb[c[c[n+16>>2]>>2]&31](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=yJ(k,f)|0;break}else{g=eL(k,f,i)|0;break}else g=cb[j&31](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=bb[c[c[f+16>>2]>>2]&31](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(bb[c[c[g+16>>2]>>2]&31](g,e,4)|0)break;g=c[g+28>>2]|0}e=bb[c[c[h>>2]>>2]&31](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=bb[c[c[f+16>>2]>>2]&31](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=bb[c[c[a+16>>2]>>2]&31](a,b,d)|0;while(0);return e|0}function Zl(a){a=a|0;var b=0;b=c[41980]|0;c[41980]=a;return b|0}function _l(a){a=a|0;var b=0;b=c[41981]|0;c[41981]=a;return b|0}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=am(a,b,f)|0;l=e;return d|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[41983]|0:(a|0)==2?1:a;c[41983]=h;i=c[41984]|0;c[41984]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[41981]|0)>>>0){a=c[41982]|0;if(!a){a=BN()|0;c[41982]=a;if(!a){a=1;break}}if(!f){EN(a)|0;a=c[41982]|0}NK(a,b,d)|0;a=0}else{if(c[41980]|0){bm(a,b,d);a=0;break}if(f)a=c[13918]|0;else{i=c[13918]|0;c[e>>2]=(a|0)==1?81312:81318;AL(i,81326,e)|0;a=i}NK(a,b,d)|0;a=0}while(0);l=g;return a|0}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[41985]|0)==0?(f=_I(c[4354]|0)|0,c[41985]=f,(f|0)==0):0)XL(81331,c[13918]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){$a[c[41980]&31]((a|0)==1?81312:81318)|0;$a[c[41980]&31](81990)|0}while(1){a=MK(c[41985]|0,c[4354]|0,b,d)|0;e=c[4354]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4354]=f;if(!(bJ(c[41985]|0,f)|0)){e=9;break}}if((e|0)==7){$a[c[41980]&31](c[41985]|0)|0;break}else if((e|0)==9){XL(81331,c[13918]|0)|0;break}}while(0);return}function cm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;am(1,a,e)|0;l=d;return}function dm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=_I(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=_I(e)|0;UN(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=bJ(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){em(a,d)|0;e=c[f>>2]|0}UN(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function gm(a,b){a=a|0;b=b|0;return fm(a,b,sJ(b)|0)|0}function hm(a){a=a|0;if(c[a+12>>2]|0)$I(c[a>>2]|0);return}function im(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function jm(a,b,d){a=a|0;b=b|0;d=d|0;cp(c[41987]|0,c[b+8>>2]|0)|0;cp(c[41987]|0,c[b+12>>2]|0)|0;_n(c[41987]|0,b);return}function km(a,b){a=a|0;b=b|0;var c=0;c=Mo(a,81379,0)|0;if((b|0)!=0&(c|0)==0){lm(a);c=Mo(a,81379,0)|0}return c|0}function lm(a){a=a|0;var b=0,c=0,d=0;d=to(a)|0;xq(d,d,86,0,1)|0;c=eo(d)|0;while(1){if(!c)break;nm(a,c);b=Qm(d,c)|0;while(1){if(!b)break;om(a,b);b=Sm(d,b)|0}c=fo(d,c)|0}return}function mm(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;tm(b);c=Mp(b)|0;qm((c|0)==0?b:c,b);return}function nm(a,b){a=a|0;b=b|0;var d=0;d=pm(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))qm(a,b);return}function om(a,b){a=a|0;b=b|0;var d=0;d=pm(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))qm(a,b);return}function pm(a){a=a|0;return Mo(a,81367,0)|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Oo(b,81367,16,0)|0;f=rm(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=to(a)|0;c[e>>2]=rm(a,c[b>>2]&3)|0;a=sm(b)|0;d=d+12|0;c[d>>2]=Zn(so(b)|0,((a|0)>4?a:4)<<2)|0;a=bb[c[f>>2]&31](f,0,128)|0;while(1){if(!a)break a;e=so(b)|0;e=ap(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=bb[c[f>>2]&31](f,a,8)|0}}while(0);return}function rm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=km(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;$l(1,81392,d)|0;a=0;break a}}while(0);l=e;return a|0}function sm(a){a=a|0;var b=0;b=to(so(a)|0)|0;a=rm(b,c[a>>2]&3)|0;if(!a)a=0;else a=Tl(a)|0;return a|0}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;d=Oo(a,81379,20,0)|0;e=d+8|0;c[e>>2]=Qp(a,17420,c[4353]|0)|0;f=d+12|0;c[f>>2]=Qp(a,17420,c[4353]|0)|0;d=d+16|0;c[d>>2]=Qp(a,17420,c[4353]|0)|0;b=Mp(a)|0;if(!b){b=c[41986]|0;if(!((b|0)==0|(b|0)==(a|0))){b=km(b,0)|0;um(c[b+8>>2]|0,c[e>>2]|0,a,1);um(c[b+12>>2]|0,c[f>>2]|0,a,2);um(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=km(b,0)|0;Xl(c[e>>2]|0,c[a+8>>2]|0)|0;Xl(c[f>>2]|0,c[a+12>>2]|0)|0;Xl(c[d>>2]|0,c[a+16>>2]|0)|0}return}function um(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=bb[c[b>>2]&31](b,0,128)|0;while(1){if(!g)break;h=vm(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;bb[c[d>>2]&31](d,h,1)|0;g=bb[c[b>>2]&31](b,g,8)|0}return}function vm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Zn(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=ap(b,d)|0;c[h+12>>2]=ap(b,e)|0;c[h+16>>2]=f;return h|0}function wm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function xm(a,b){a=a|0;b=b|0;var c=0;c=Xl(a,0)|0;b=wm(a,b)|0;Xl(a,c)|0;return b|0}function ym(a,b){a=a|0;b=b|0;a=pm(a)|0;if(!a)a=0;else a=wm(c[a+8>>2]|0,b)|0;return a|0}function zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[41986]|0;if(!b){a[g>>0]=a[17456]|0;a[g+1>>0]=a[17457]|0;a[g+2>>0]=a[17458]|0;a[g+3>>0]=a[17459]|0;b=hn(0,g,0)|0;c[41986]=b}}if(!f)b=Bm(b,d,e)|0;else b=Am(b,d,e,f)|0;l=h;return b|0}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=to(a)|0;km(a,1)|0;g=rm(a,b)|0;f=xm(g,d)|0;a:do if(!f){f=wm(g,d)|0;if(f|0){f=vm(a,d,e,c[f+16>>2]|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;h=16;break}g=rm(i,b)|0;f=vm(a,d,e,Tl(g)|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;switch(b|0){case 0:{xq(i,i,52,f,1)|0;h=16;break a}case 1:{d=eo(i)|0;while(1){if(!d){h=16;break a}Cm(a,d,f);d=fo(i,d)|0}}case 2:case 3:{g=eo(i)|0;while(1){if(!g){h=16;break a}d=Qm(i,g)|0;while(1){if(!d)break;Cm(a,d,f);d=Sm(i,d)|0}g=fo(i,g)|0}}default:break a}}else{h=f+12|0;cp(a,c[h>>2]|0)|0;c[h>>2]=ap(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)Dm(a,f,e)|0;wo(a,a,f);return f|0}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;a=rm(a,b)|0;if(!a)a=0;else a=wm(a,c)|0;return a|0}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=pm(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=cb[c[(c[g>>2]|0)+8>>2]&31](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=ap(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=so(a)|0;g=(pm(a)|0)+12|0;i=b+16|0;cp(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=ap(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(km(h,0)|0)+16>>2]|0;f=b+8|0;g=xm(e,c[f>>2]|0)|0;if(!g){i=vm(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;bb[c[e>>2]&31](e,i,1)|0;break}else{i=g+12|0;cp(h,c[i>>2]|0)|0;c[i>>2]=ap(h,d)|0;break}}while(0);wo(h,a,b);return 0}function Em(a,b,d){a=a|0;b=b|0;d=d|0;a=rm(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=bb[b&31](a,0,128)|0;break}else{a=bb[b&31](a,d,8)|0;break}}else a=0;while(0);return a|0}function Fm(a){a=a|0;var b=0;c[41987]=a;b=pm(a)|0;if(b|0){Gm(a,b);Qo(a,c[b>>2]|0)|0}b=km(a,0)|0;if(b)if(((Sp(a,c[b+8>>2]|0)|0)==0?(Sp(a,c[b+12>>2]|0)|0)==0:0)?(Sp(a,c[b+16>>2]|0)|0)==0:0){Qo(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function Gm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=so(a)|0;e=sm(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;cp(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}_n(f,d);return}function Hm(a){a=a|0;var b=0;b=pm(a)|0;if(b|0){Gm(a,b);Qo(a,81367)|0}return}function Im(a){a=a|0;var b=0;b=pm(a)|0;if(b|0){Gm(a,b);Qo(a,81367)|0}return}function Jm(a,b){a=a|0;b=b|0;b=ym(a,b)|0;if(!b)b=0;else{a=c[(pm(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function Km(a,b){a=a|0;b=b|0;a=c[(pm(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;b=ym(a,b)|0;if(!b)b=-1;else{Dm(a,b,c)|0;b=0}return b|0}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=so(a)|0;f=zm(f,c[a>>2]&3,b,0)|0;if(!f){f=so(a)|0;f=zm(f,c[a>>2]&3,b,e)|0}Dm(a,f,d)|0;return 0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=so(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=Em(g,f&3,e)|0;if(!e)break a;d=ym(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=Km(a,e)|0;Dm(b,d,f)|0;if(dp(f)|0)ep(Km(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Pm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0>>0|(a|0)==(f|0)&g>>>0>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0>>0|(e|0)==(i|0)&a>>>0>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Qm(a,b){a=a|0;b=b|0;var d=0;b=Rm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Sl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Ol(c[d>>2]|0)|0}return b|0}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,d,4)|0}l=e;return a|0}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Rm(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Sl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Ol(c[e>>2]|0)|0}return a|0}function Tm(a,b){a=a|0;b=b|0;var d=0;b=Rm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Sl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Ol(c[d>>2]|0)|0}return b|0}function Um(a,b){a=a|0;b=b|0;var d=0,e=0;d=Rm(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Sl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Ol(c[e>>2]|0)|0}return a|0}function Vm(a,b){a=a|0;b=b|0;var c=0;c=Qm(a,b)|0;if(!c)c=Tm(a,b)|0;return c|0}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Sm(a,b)|0;if(!b){b=0;do{if(!b)b=Tm(a,d)|0;else b=Um(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Um(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Xm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((tn(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],($m(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Ym(a,b){a=a|0;b=b|0;_m(a,b);return}function Zm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;jo(b,d,1)|0;jo(b,e,1)|0;h=Zn(b,96)|0;i=h+48|0;l=ln(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;_m(b,h);if(a[b+24>>0]&64){Oo(h,81367,16,0)|0;om(b,h)}uo(b,h);return h|0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if($m(a,e,f,d)|0)break;j=Rm(a,e)|0;m=a+44|0;an(c[m>>2]|0,j+32|0,g);k=a+48|0;an(c[k>>2]|0,j+24|0,g);j=Rm(a,f)|0;an(c[m>>2]|0,j+28|0,h);an(c[k>>2]|0,j+20|0,h);a=Mp(a)|0}l=i;return}function $m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Rm(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Sl(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,f,4)|0;c[g>>2]=Ol(c[e>>2]|0)|0}else a=0;l=h;return a|0}function an(a,b,d){a=a|0;b=b|0;d=d|0;Sl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,1)|0;c[b>>2]=Ol(a)|0;return}function bn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(Bn(a,2,e,k,0)|0))if(!e){if(f|0?(tn(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=$m(a,b,d,i)|0;b:do if(!g){if(sn(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=$m(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=to(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=$m(g,b,d,i)|0;if(!g){if(!(sn(a)|0))break;g=to(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=$m(g,d,b,i)|0;if(!g)break}Ym(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Xm(a,b,d)|0)!=0?(Bn(a,2,e,k,1)|0)!=0:0){g=k;g=Zm(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;Fn(a,2,g)}else g=0;l=n;return g|0}function cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Rm(a,c[d+40>>2]|0)|0;f=a+44|0;dn(c[f>>2]|0,h+32|0,g);e=a+48|0;dn(c[e>>2]|0,h+24|0,g);b=Rm(a,b)|0;dn(c[f>>2]|0,b+28|0,d);dn(c[e>>2]|0,b+20|0,d);return}function dn(a,b,d){a=a|0;b=b|0;d=d|0;Sl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,2)|0;c[b>>2]=Ol(a)|0;return}function en(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if($m(b,h,g,f)|0){if((to(b)|0)==(b|0)){if(a[b+24>>0]&64)Im(d);yo(b,d);Wo(d);h=d+8|0;Dn(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(xq(b,d,53,0,0)|0))if((to(b)|0)==(b|0)){_n(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=jo(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=jo(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=$m(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{_m(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=JN(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function hn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=jn(e)|0;f=ab[c[(c[j>>2]|0)+4>>2]&63](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=ab[c[c[j+4>>2]>>2]&63](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(Bn(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=kn(f)|0;Fn(k,0,f);l=h;return k|0}function jn(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?17792:e}else e=17792;g=$a[c[e>>2]&31](b)|0;f=ab[c[e+4>>2]&63](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?17668:g;b=c[b+8>>2]|0;b=(b|0)==0?17768:b}else{c[f+4>>2]=17668;b=17768}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function kn(b){b=b|0;var d=0,e=0;c[b+36>>2]=Qp(b,17848,c[4353]|0)|0;c[b+40>>2]=Qp(b,17812,c[4353]|0)|0;d=(to(b)|0)==(b|0);c[b+44>>2]=Qp(b,d?17460:17496,c[4353]|0)|0;d=(to(b)|0)==(b|0);c[b+48>>2]=Qp(b,d?17532:17568,c[4353]|0)|0;c[b+52>>2]=Qp(b,17604,c[4353]|0)|0;d=Mp(b)|0;if(!((d|0)!=0?(e=ln(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,bb[c[e>>2]&31](e,b,1)|0,!(a[d+24>>0]&64)):0))mm(b);uo(b,b);return b|0}function ln(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=IN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function mn(b){b=b|0;var d=0,e=0,f=0,g=0;f=Mp(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){yo(b,b);g=b+8|0;Dn(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;gb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=Kp(b)|0;while(1){if(!d)break;e=Lp(d)|0;mn(d)|0;d=e}d=eo(b)|0;while(1){if(!d)break;e=fo(b,d)|0;qo(b,d)|0;d=e}On(b);yo(b,b);if(((((Sp(b,c[b+40>>2]|0)|0)==0?(Sp(b,c[b+36>>2]|0)|0)==0:0)?(Sp(b,c[b+48>>2]|0)|0)==0:0)?(Sp(b,c[b+44>>2]|0)|0)==0:0)?(Sp(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?Fm(b)|0:0){d=-1;break}Wo(b);e=b+8|0;Dn(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){Np(f,b)|0;_n(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;Bo(b,c[f>>2]|0)|0}gb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Xo(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;hb[c[f>>2]&31](g,b);hb[c[f>>2]&31](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function nn(a){a=a|0;return Tl(c[a+40>>2]|0)|0}function on(a){a=a|0;var b=0,c=0,d=0;b=0;c=eo(a)|0;while(1){if(!c)break;d=(pn(a,c,0,1)|0)+b|0;b=d;c=fo(a,c)|0}return b|0}function pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Rm(a,b)|0;if(f){if(!e)b=0;else b=qn(c[a+44>>2]|0,f+32|0)|0;if(d)b=(qn(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function qn(a,b){a=a|0;b=b|0;var d=0;Sl(a,c[b>>2]|0)|0;d=Tl(a)|0;c[b>>2]=Ol(a)|0;return d|0}function rn(b){b=b|0;return a[b+24>>0]&1|0}function sn(a){a=a|0;return (rn(a)|0)==0|0}function tn(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function un(a,b){a=a|0;b=b|0;return a|0}function vn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1328;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=IN(d|0,f|0,2,0)|0;e=1328;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Zo(a,d)|0;else a=ap(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)cp(a,c)|0;return}function yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function zn(a){a=a|0;return}function An(a,b,c){a=a|0;b=b|0;c=c|0;return}function Bn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=Gn(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;Hn(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return cb[c[(c[a+4>>2]|0)+8>>2]&31](c[a+16>>2]|0,b,d,e)|0}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Mn(a,b,d,e)|0;a=c[a+64>>2]|0;kb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function En(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=so(a)|0;f=a+8|0;b=f;b=Kn(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=cb[d&31](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;qL(173899,81419,g)|0;b=173899}}while(0);l=h;return b|0}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;ib[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function Gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Zo(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=bb[c[b>>2]&31](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function Hn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Zn(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=ap(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=Qp(a,17696,c[4353]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=Qp(a,17732,c[4353]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}bb[c[f>>2]&31](f,h,1)|0;bb[c[b>>2]&31](b,h,1)|0;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0>>0|(a|0)==(d|0)&b>>>0>>0)<<31>>31)|0}function Jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0>>0)<<31>>31)|0}function Kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Ln(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=bb[c[a>>2]&31](a,f,4)|0}l=g;return a|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=Ln(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;bb[c[d>>2]&31](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;bb[c[e>>2]&31](e,b,2)|0;cp(a,c[b+24>>2]|0)|0;_n(a,b);b=1}return b|0}function Nn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[41987]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=bb[c[e>>2]&31](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;Mn(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function On(a){a=a|0;c[41987]=a;a=a+64|0;Pn((c[a>>2]|0)+56|0);Pn((c[a>>2]|0)+68|0);return}function Pn(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Ll(e)|0;c[d>>2]=0}b=b+1|0}return}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(hL(b,c,a)|0))a=0;else a=sJ(b)|0;return a|0}function Rn(a,b){a=a|0;b=b|0;return XL(b,a)|0}function Sn(a){a=a|0;return QL(a)|0}function Tn(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4446]=c[4443];c[4447]=c[4444];c[e>>2]=a;c[e+4>>2]=sJ(a)|0;c[e+8>>2]=0;c[d>>2]=17792;c[d+4>>2]=17668;c[d+8>>2]=17780;a=fr(e,d)|0;gp(0);l=b;return a|0}function Un(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Vn(a){a=a|0;return 0}function Wn(a,b){a=a|0;b=b|0;a=_I(b)|0;WN(a|0,0,b|0)|0;return a|0}function Xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=bJ(b,d)|0;if(d>>>0>c>>>0)WN(a+c|0,0,d-c|0)|0;return a|0}function Yn(a,b){a=a|0;b=b|0;$I(b);return}function Zn(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=ab[c[(c[a>>2]|0)+4>>2]&63](c[a+12>>2]|0,b)|0;if(!a)$l(1,81425,d)|0;l=d;return a|0}function _n(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;hb[c[(c[a>>2]|0)+12>>2]&31](c[a+12>>2]|0,b)}return}function $n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>>0|(a|0)==(d|0)&b>>>0>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function ao(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))_n(c[a+24>>2]|0,b);return}function bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0>>0?-1:b>>>0>e>>>0&1)|0}function co(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=167040;c[e>>2]=b;c[e+4>>2]=d;c[41992]=167032;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,167952,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function eo(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function fo(a,b){a=a|0;b=b|0;var d=0;b=Rm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function go(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function ho(a,b){a=a|0;b=b|0;var d=0;b=Rm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=co(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=to(a)|0;if((e|0)!=(a|0)?(f=co(e,b,c)|0,f|0):0){jo(a,f,1)|0;e=f;break}if(!(Cn(a,1,b,c)|0))e=0;else{e=ln(a,1)|0;e=ko(a,b,c,e,z)|0;lo(a,e);mo(a,e)}}while(0);return e|0}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=to(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=co(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=Mp(a)|0;if(!e)e=0;else{d=jo(e,b,d)|0;no(a,d);return d|0}}}else e=0;return e|0}function ko(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=Zn(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=to(b)|0;if(a[(to(b)|0)+24>>0]&64)Oo(g,81367,16,0)|0;return g|0}function lo(a,b){a=a|0;b=b|0;do{no(a,b);a=Mp(a)|0}while((a|0)!=0);return}function mo(b,c){b=b|0;c=c|0;if(a[(to(b)|0)+24>>0]&64)nm(b,c);uo(b,c);return}function no(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Tl(c[e>>2]|0)|0;if((to(a)|0)==(a|0))d=b+28|0;else d=Zn(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;bb[c[e>>2]&31](e,d,1)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=to(a)|0;if(Bn(a,1,b,g,0)|0){e=g;e=co(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=co(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=jo(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(Bn(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=ln(a,1)|0;e=ko(a,h,i,e,z)|0;lo(a,e);mo(a,e);Fn(a,1,e)}else e=0;l=j;return e|0}function po(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[42001]=b;d=Vm(a,b)|0;while(1){if(!d)break;e=Wm(a,d,b)|0;cn(a,d,0);d=e}e=c[a+40>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;return}function qo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(co(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((to(b)|0)==(b|0)){e=Vm(b,d)|0;while(1){if(!e)break;g=Wm(b,e,d)|0;en(b,e)|0;e=g}if(a[b+24>>0]&64)Hm(d);yo(b,d);Wo(d);g=f;Dn(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(xq(b,d,54,0,0)|0))if((to(b)|0)==(b|0)){_n(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((Mp(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{$l(1,81451,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=qo(a,b)|0;break a}case 2:case 3:{f=en(a,b)|0;break a}case 0:{f=mn(b)|0;break a}default:{}}while(0);l=h;return f|0}function so(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function to(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function uo(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Eo(b,d,100,0);else vo(b,d,c[e+48>>2]|0);return}function vo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){vo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))Eo(b,d,101,e);else xo(b,d,e,c[f+48>>2]|0);return}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){xo(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)kb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function yo(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Eo(b,d,102,0);else zo(b,d,c[e+48>>2]|0);return}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){zo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Zn(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];_n(a,d);d=0}while(0);return d|0}function Co(a,b){a=a|0;b=b|0;var d=0;d=to(a)|0;a:do if((d|0)==(to(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=Mp(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(io(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(fn(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function Do(a){a=a|0;return c[a>>2]&3|0}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=Oo(a,81475,44,0)|0;switch(c|0){case 100:{e=Fo(f,b,100)|0;if(!(Go(e,b)|0))Ho(e,a,b,d)|0;break}case 101:{if(((Go(Fo(f,b,100)|0,b)|0)==0?(Go(Fo(f,b,102)|0,b)|0)==0:0)?(e=Fo(f,b,101)|0,(Go(e,b)|0)==0):0)Ho(e,a,b,d)|0;break}case 102:{Io(Fo(f,b,100)|0,b);Io(Fo(f,b,101)|0,b);e=Fo(f,b,102)|0;if(!(Go(e,b)|0))Ho(e,a,b,d)|0;break}default:$l(1,81487,g)|0}l=h;return}function Fo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){$l(1,81521,e)|0;d=0}a=c[d>>2]|0;if(!a){a=so(b)|0;a=Qp(a,17884,c[4353]|0)|0;c[d>>2]=a}l=g;return a|0}function Go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=Jo(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function Ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Zn(so(d)|0,32)|0;c[f+20>>2]=d;g=Jo(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=Zn(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}bb[c[a>>2]&31](a,f,1)|0;return f|0}function Io(a,b){a=a|0;b=b|0;b=Go(a,b)|0;if(b|0)bb[c[a>>2]&31](a,b,2)|0;return}function Jo(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;Lo(b);_n(c[b+16>>2]|0,b);return}function Lo(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;_n(c[b>>2]|0,a);a=d}return}function Mo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(yJ(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}No(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else $l(1,81546,i)|0}while(0);l=k;return f|0}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=so(a)|0;f=Mo(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=Zn(h,d)|0;c[d>>2]=ap(h,b)|0;switch(c[a>>2]&3){case 0:{Po(a,d);g=d;break a}case 1:{Po(a,d);g=d;break a}case 2:case 3:{Po(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)Mo(a,b,1)|0;return g|0}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))No(a,b,0);return}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0;e=so(a)|0;d=Mo(a,b,0)|0;if(!d)b=-1;else{Ro(a,d);if(!(c[a>>2]&3)){So(e,a,d);b=d}else{xq(to(e)|0,a,55,d,0)|0;b=d}cp(e,c[d>>2]|0)|0;_n(e,b);b=0}return b|0}function Ro(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function So(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;No(b,(a|0)==(d|0)?0:a,0)}return}function To(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{Oo(a,c,g,e)|0;if(!f){b=Kp(a)|0;while(1){if(!b)break a;To(b,0,c,d,e);b=Lp(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=eo(a)|0;while(1){if(!b)break a;b:do if(d)Oo(b,c,g,e)|0;else{f=Qm(a,b)|0;while(1){if(!f)break b;Oo(f,c,g,e)|0;f=Sm(a,f)|0}}while(0);b=fo(a,b)|0}}default:{}}while(0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{xq(a,a,56,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=eo(a)|0;while(1){if(!d)break a;b:do if(e)Qo(d,c)|0;else{b=Qm(a,d)|0;while(1){if(!b)break b;Qo(b,c)|0;b=Sm(a,b)|0}}while(0);d=fo(a,d)|0}}default:{}}while(0);return}function Vo(a,b,c){a=a|0;b=b|0;c=c|0;Qo(b,c)|0;return}function Wo(a){a=a|0;var b=0,d=0,e=0;d=so(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;cp(d,c[e>>2]|0)|0;_n(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Xo(a){a=a|0;return Sp(a,Yo(a)|0)|0}function Yo(a){a=a|0;var b=0,d=0;if(!a)d=168024;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=Qp(a,17920,c[4353]|0)|0;c[d>>2]=b;a=167096;c[a>>2]=-2147483648;c[a+4>>2]=0;a=167104;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Zo(a,b){a=a|0;b=b|0;return _o(Yo(a)|0,b)|0}function _o(a,b){a=a|0;b=b|0;a=$o(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function ap(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Yo(a)|0;d=$o(e,b)|0;if(!d){d=(sJ(b)|0)+24|0;if(!a)d=_I(d)|0;else d=Zn(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;yK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{e=d+8|0;b=e;b=IN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Yo(a)|0;d=$o(e,b)|0;if(!d){d=(sJ(b)|0)+24|0;if(!a)d=_I(d)|0;else d=Zn(a,d)|0;g=167096;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;yK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{g=d+8|0;f=g;f=IN(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Yo(a)|0,e=$o(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=IN(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=167104,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){Rp(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function dp(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=167096;a=c[b>>2]&c[a>>2]}return a|0}function ep(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=167096;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function fp(a){a=a|0;c[4489]=a;return}function gp(a){a=a|0;c[42011]=a;c[4489]=1;return}function hp(a,b){a=a|0;b=b|0;c[42012]=a;c[42013]=b;c[42014]=0;return}function ip(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[42015]|0)){c[42015]=1;if(!(c[42016]|0))c[42016]=1;if(!(c[42007]|0))c[42007]=c[13853];if(!(c[42008]|0))c[42008]=c[13885];k=c[42017]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){jp();k=kp(c[42007]|0,16384)|0;c[c[42017]>>2]=k}lp()}a:while(1){j=c[42018]|0;a[j>>0]=a[173931]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;f=j;b:while(1){h=f;while(1){f=c[17960+(d[h>>0]<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=h}c:while(1){g=f&255;do{f=g+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(f<<1)>>1]|0))break c;k=b[57612+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[18984+(g<<2)>>2]|0}e=b[57822+(f<<1)>>1]|0;f=h+1|0;if((b[56866+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[56680+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[56680+(c[42019]<<1)>>1]|0;f=c[42020]|0}else e=e<<16>>16;c[42009]=j;i=f;c[42010]=i-k;a[173931]=a[f>>0]|0;a[f>>0]=0;c[42018]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[42009]|0;a[f>>0]=a[173931]|0;e=c[42017]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[42022]=n;c[g>>2]=c[42007];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[42022]|0;if((c[42018]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(up()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[42018]=c[42009];e=(((c[42016]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[173931]|0;f=c[42020]|0;e=c[42019]|0}if((m|0)==128){m=0;g=i-h|0;h=c[42009]|0;f=h+(g+-1)|0;c[42018]=f;e=sp()|0;i=tp(e)|0;j=c[42009]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[42017]>>2]|0)+4>>2]|0)+(c[42022]|0)|0;c[42018]=f;e=sp()|0;j=c[42009]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[42018]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[42009]|0)+(i-h+-1)|0;c[42018]=f;e=sp()|0;j=c[42009]|0;continue}}switch(m|0){case 29:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 32:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=3;continue a}case 35:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;continue a}case 42:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;mp();continue a}case 47:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=5;op();continue a}case 89:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;qp(83714);continue a}case 92:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;qp(81579);continue a}case 95:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 98:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;qp(e);continue a}case 101:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=7;c[42021]=1;op();continue a}case 104:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;n=(c[42021]|0)+-1|0;c[42021]=n;if(!n){m=108;break a}qp(c[42009]|0);continue a}case 109:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42021]=(c[42021]|0)+1;qp(e);continue a}case 112:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;qp(e);c[4489]=(c[4489]|0)+1;continue a}case 115:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;qp(e);continue a}case 121:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;YL(e,f,1,c[42008]|0)|0;continue a}}}switch(m|0){case 27:{e=c[42010]|0;if(!e)l=-1;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[42010]|0;if(!e)l=259;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[42010]|0;if(!e)l=260;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=258;l=258}else l=258;break}case 61:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=261;l=261}else l=261;break}case 65:{e=c[42010]|0;if(!e)l=263;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[42010]|0;if(!e)l=262;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==261?264:45;break}case 72:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==258?264:45;break}case 75:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42037]=ap(c[41987]|0,e)|0;l=267;break}case 78:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(np()|0){m=(c[42010]|0)+-1|0;a[f>>0]=a[173931]|0;n=j+m|0;c[42018]=n;c[42009]=j;c[42010]=m;a[173931]=a[n>>0]|0;a[n>>0]=0;c[42018]=n}c[42037]=ap(c[41987]|0,c[42009]|0)|0;l=267;break}case 86:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;pp();l=268;break}case 108:{c[42016]=1;rp();l=268;break}case 118:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{vp(81582);break}}return l|0}function jp(){var a=0,b=0,d=0;b=c[42017]|0;do if(!b){a=Cp(4)|0;c[42017]=a;if(!a)vp(81940);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[42028]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=wp(b,a<<2)|0;c[42017]=b;if(!b)vp(81940);else{d=b+(c[42028]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[42028]=a;return}function kp(a,b){a=a|0;b=b|0;var d=0;d=Cp(48)|0;if(!d)vp(81895);c[d+12>>2]=b;b=Cp(b+2|0)|0;c[d+4>>2]=b;if(!b)vp(81895);else{c[d+20>>2]=1;yp(d,a);return d|0}return 0}function lp(){var b=0,d=0;d=c[42017]|0;b=c[d>>2]|0;c[42022]=c[b+16>>2];b=c[b+8>>2]|0;c[42018]=b;c[42009]=b;c[42007]=c[c[d>>2]>>2];a[173931]=a[b>>0]|0;return}function mp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[42009]|0;b=h+1|0;i=(WJ(b,81879,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=dM(b,81884,f)|0;if((f|0)>0?(c[4489]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;Bp(d,b-d|0)}}l=g;return}function np(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[42009]|0)+((c[42010]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(Ap()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[42011]|0;dm(h,1024,b);gm(h,81790)|0;gm(h,c[42009]|0)|0;c[f>>2]=c[4489];qL(d,81834,f)|0;gm(h,d)|0;gm(h,(k|0)==0?81784:k)|0;gm(h,81851)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){em(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;$l(0,81876,i)|0;hm(h);b=1}l=j;return b|0}function op(){var b=0;b=c[42023]|0;if(!b){b=_I(1024)|0;c[42023]=b;c[42025]=b+1024}c[42024]=b;a[b>>0]=0;return}function pp(){c[42037]=ap(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function qp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[42024]|0;d=c[42023]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[42024]=e;f=c[42025]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0>>0);c[42024]=e;f=d;i=g-f<<1;d=bJ(d,i)|0;c[42023]=d;c[42025]=d+i;e=d+(e-f)|0;f=3}c[42024]=e;return}function rp(){c[42037]=bp(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function sp(){var d=0,e=0,f=0,g=0,h=0;h=c[42018]|0;g=c[42009]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[17960+((d&255)<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=g}a:while(1){f=d&255;do{d=f+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(d<<1)>>1]|0))break a;d=b[57612+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[18984+(f<<2)>>2]|0}g=g+1|0;e=b[57822+(d<<1)>>1]|0}return e|0}function tp(a){a=a|0;var d=0;if(b[56680+(a<<1)>>1]|0){d=c[42018]|0;c[42019]=a;c[42020]=d}while(1){d=(b[56866+(a<<1)>>1]|0)+1|0;if((a|0)==(b[57076+(d<<1)>>1]|0))break;a=b[57612+(a<<1)>>1]|0}d=b[57822+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function up(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[42017]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[42009]|0;l=c[42018]|0;k=l;if(l>>>0>(i+((c[42022]|0)+1)|0)>>>0)vp(81637);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[42022]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=wp(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[42018]=j;f=c[c[42017]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=bb[c[c[(c[42012]|0)+8>>2]>>2]&31](c[42013]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[42017]>>2]|0;c[42022]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}vp(81693)}while(0);do if((m|0)==17)if(!l){xp(c[42007]|0);b=1;d=c[42022]|0;e=c[c[42017]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=wp(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[42017]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)vp(81737);else{n=c[42022]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[42022]=n;a[o+n>>0]=0;o=c[42017]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[42022]|0)+1)>>0]=0;c[42009]=c[(c[o>>2]|0)+4>>2]}return b|0}function vp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[13918]|0;c[b>>2]=a;AL(d,81633,b)|0;Ma(2)}function wp(a,b){a=a|0;b=b|0;return bJ(a,b)|0}function xp(a){a=a|0;var b=0,d=0,e=0;d=c[42017]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{jp();b=kp(c[42007]|0,16384)|0;d=c[42017]|0;c[d>>2]=b;if(!d)b=0;else e=4}yp(b,a);lp();return}function yp(a,b){a=a|0;b=b|0;var d=0;d=c[(kJ()|0)>>2]|0;zp(a);c[a>>2]=b;c[a+40>>2]=1;b=c[42017]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(kJ()|0)>>2]=d;return}function zp(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[42017]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))lp()}return}function Ap(){var b=0,d=0;d=c[42009]|0;b=(c[42010]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function Bp(a,b){a=a|0;b=b|0;var d=0;d=c[42026]|0;if((d|0)<(b|0)){if(!d)d=_I(b+1|0)|0;else d=bJ(c[42027]|0,b+1|0)|0;c[42027]=d;c[42026]=b}else d=c[42027]|0;yK(d,a)|0;c[42011]=c[42027];return}function Cp(a){a=a|0;return _I(a)|0}function Dp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;dm(j,1024,m+1080|0);e=c[42011]|0;if(e|0){gm(j,e)|0;gm(j,81990)|0}gm(j,b)|0;c[f>>2]=c[4489];qL(d,81993,f)|0;gm(j,d)|0;a:do if(!(a[c[42009]>>0]|0))switch(((c[42016]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;qL(d,82013,g)|0;gm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=sJ(b)|0;gm(j,82075)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;gm(j,b)|0;break a}case 3:{c[h>>2]=16384;qL(d,82094,h)|0;gm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=sJ(b)|0;gm(j,82162)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;gm(j,b)|0;break a}case 1:{c[i>>2]=16384;qL(d,82181,i)|0;gm(j,d)|0;break a}default:break a}else{gm(j,82005)|0;gm(j,c[42009]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){em(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){em(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){em(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;$l(1,81876,k)|0;hm(j);l=m;return}function Ep(){Fp(c[42009]|0);return}function Fp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[42018]|0;a[j>>0]=a[173931]|0;i=c[42017]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[42022]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[42022]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)vp(82240);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[42009]=l;a[173931]=a[b>>0]|0;c[42018]=b;return}function Gp(){var a=0;a=c[42017]|0;if(!a)a=0;else a=c[a>>2]|0;zp(a);return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;Tp(a,c[g>>2]|0,17604);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=bb[c[d>>2]&31](d,f,4)|0;l=e;return d|0}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Hp(b,d,e)|0;if(!f){f=Zn(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;kn(f)|0}return f|0}function Jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(Bn(a,0,b,f,0)|0)!=0:0)?(e=f,e=Hp(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(Bn(a,0,b,f,1)|0)!=0:0){e=f;e=Ip(a,c[e>>2]|0,c[e+4>>2]|0)|0;Fn(a,0,e)}else e=0;l=g;return e|0}function Kp(a){a=a|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,0,128)|0}function Lp(a){a=a|0;var b=0;b=Mp(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=bb[c[b>>2]&31](b,a,8)|0}return a|0}function Mp(a){a=a|0;return c[a+56>>2]|0}function Np(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,b,2)|0}function Op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[42029]|0;e=(b|0)!=0;do if(!a)if(e){$I(b);a=0;break}else{a=_I(d)|0;break}else if(e){_n(a,b);a=0;break}else{a=Zn(a,d)|0;break}while(0);return a|0}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;a=c[42029]|0;if(!a)$I(b);else _n(a,b);return}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=2;c[42029]=a;d=Rl(b,d)|0;c[e>>2]=f;c[42029]=0;return d|0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;c[42029]=a;return bb[c[b>>2]&31](b,d,2)|0}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Ml(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=2;c[42029]=a;if(!(Ll(b)|0)){c[d>>2]=e;c[42029]=0;a=0}else a=1;return a|0}function Tp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Ml(b,0,0)|0)!=(c|0):0)Ml(b,c,0)|0;return}function Up(a,b){a=a|0;b=b|0;if(!(dp(a)|0))b=Wp(a,b)|0;else Vp(a,b)|0;return b|0}function Vp(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(hK(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[4795]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(hK(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(hK(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((hK(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(hK(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=19184;while(1){f=c[e>>2]|0;if(!f)break a;if(!(jK(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=82272;while(0);return b|0}function Xp(a){a=a|0;return Up(a,Yp(a)|0)|0}function Yp(a){a=a|0;var b=0;b=((sJ(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[42031]|0;if(b>>>0>(c[42030]|0)>>>0){if(!a)a=_I(b)|0;else a=bJ(a,b)|0;c[42031]=a;c[42030]=b}return a|0}function Zp(a,b){a=a|0;b=b|0;a=Kp(a)|0;while(1){if(!a){a=0;break}if((_p(a)|0)==0?jo(a,b,0)|0:0){a=1;break}a=Lp(a)|0}return a|0}function _p(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=En(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=pm(b)|0;b:do if(d|0?(f=pm(Mp(b)|0)|0,f|0):0){h=Tl(c[(pm(to(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?yJ(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=km(b,0)|0;if(d)if((Tl(c[d+8>>2]|0)|0)>0)d=0;else return (Tl(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function $p(b,d){b=b|0;d=d|0;var e=0,f=0;c[42032]=0;e=Jm(b,82282)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=CL(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[4795]=f;aq(b,1);if(((bq(b,d,1)|0)!=-1?(cq(b,d)|0)!=-1:0)?(dq(b,d)|0)!=-1:0){c[4795]=128;b=$a[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&31](d)|0}else b=-1;return b|0}function aq(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Kp(a)|0;while(1){if(!d)break;aq(d,0);d=Lp(d)|0}a:do if(b|0){b=eo(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Qm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Sm(a,d)|0}b=fo(a,b)|0}}while(0);return}function bq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(Mp(b)|0)!=0:0){i=0;g=174185;k=94336}else{k=(a[b+24>>0]&1)==0?174185:82326;g=(tn(b)|0)==0;c[42033]=zm(b,2,96242,0)|0;c[42034]=zm(b,2,96251,0)|0;i=1;g=g?174185:82329}f=En(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=87638}else{h=0;j=174185;f=174185}do if((eq(b,d)|0)!=-1?(fq(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((fq(b,d,k)|0)==-1){f=-1;break}if((fq(b,d,87631)|0)==-1){f=-1;break}}if(!g?(qq(b,d,f)|0)==-1:0){f=-1;break}if(((fq(b,d,j)|0)!=-1?(fq(b,d,82337)|0)!=-1:0)?(c[42032]=(c[42032]|0)+1,(vq(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((gq(a,b)|0)==-1)d=-1;else{k=km(to(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=eo(a)|0;while(1){if(!h){d=0;break a}if(hq(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((iq(h,b,d)|0)==-1){d=-1;break a}}g=Qm(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(hq(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((iq(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(jq(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((kq(g,b,e)|0)==-1){d=-1;break a}}g=Sm(a,g)|0}h=fo(a,h)|0}}while(0);return d|0}function dq(a,b){a=a|0;b=b|0;c[42032]=(c[42032]|0)+-1;if((eq(a,b)|0)==-1)a=-1;else a=((fq(a,b,95830)|0)==-1)<<31>>31;return a|0}function eq(a,b){a=a|0;b=b|0;var d=0;d=c[42032]|0;while(1){if((d|0)<=0){d=0;break}if((fq(a,b,134899)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function fq(a,b,d){a=a|0;b=b|0;d=d|0;return ab[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&63](b,d)|0}function gq(a,b){a=a|0;b=b|0;a=Kp(a)|0;while(1){if(!a){a=0;break}if(!(_p(a)|0)){if((bq(a,b,0)|0)==-1){a=-1;break}if((cq(a,b)|0)==-1){a=-1;break}if((dq(a,b)|0)==-1){a=-1;break}}else gq(a,b)|0;a=Lp(a)|0}return a|0}function hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((Zp(a,b)|0)==0?(sq(a,b,c,d)|0)!=0:0)if((tq(a,b)|0)==0?(uq(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=so(a)|0;do if((eq(d,b)|0)!=-1?(lq(a,b)|0)!=-1:0){if((nq(a)|0)==0?(oq(a,b,c)|0)==-1:0){a=-1;break}a=fq(d,b,82293)|0}else a=-1;while(0);return a|0}function jq(a,b){a=a|0;b=b|0;a=Kp(a)|0;while(1){if(!a){a=1;break}if((_p(a)|0)==0?fn(a,b,0)|0:0){a=0;break}a=Lp(a)|0}return a|0}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=so(g)|0;do if((((((eq(f,b)|0)!=-1?(lq(g,b)|0)!=-1:0)?(mq(a,b,c[42033]|0)|0)!=-1:0)?(g=(rn(so(g)|0)|0)!=0,(fq(f,b,g?85095:85100)|0)!=-1):0)?(lq(e,b)|0)!=-1:0)?(mq(a,b,c[42034]|0)|0)!=-1:0){if(!(nq(a)|0)){if((oq(a,b,d)|0)==-1){a=-1;break}}else if((pq(a,b,1)|0)==-1){a=-1;break}a=fq(f,b,82293)|0}else a=-1;while(0);return a|0}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=En(a)|0;f=so(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;qL(d,82313,g)|0;if((fq(f,b,d)|0)==-1)a=-1;else h=4}else if((qq(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function mq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=so(b)|0,f=Km(b,d)|0,(a[f>>0]|0)!=0):0)if((fq(e,c,93017)|0)==-1)b=-1;else{do if(dp(f)|0){if((qq(e,c,f)|0)==-1){b=-1;break a}}else{b=XJ(f,58)|0;if(!b)if((rq(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((rq(e,c,f,0)|0)==-1){b=-1;break a}if((fq(e,c,93017)|0)==-1){b=-1;break a}if((rq(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function nq(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(pq(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=pm(a)|0;j=so(a)|0;c:do if(f){i=f+12|0;h=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[42033]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[42034]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((fq(j,b,82308)|0)==-1){e=-1;break b}if((eq(j,b)|0)==-1){e=-1;break b}}else{if((eq(j,b)|0)==-1){e=-1;break b}if((fq(j,b,82305)|0)==-1){e=-1;break b}c[42032]=(c[42032]|0)+1}if((qq(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((fq(j,b,82311)|0)==-1){e=-1;break b}if((qq(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=bb[c[d>>2]&31](d,h,8)|0}}while(0);if((e|0)>0){if((fq(j,b,82303)|0)==-1){e=-1;break}c[42032]=(c[42032]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function pq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=En(b)|0;b=so(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((fq(b,c,82296)|0)!=-1?(qq(b,c,e)|0)!=-1:0)if((d|0)!=0?(fq(b,c,82303)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function qq(a,b,c){a=a|0;b=b|0;c=c|0;return rq(a,b,c,1)|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=Wp(c,Yp(c)|0)|0;else c=Xp(c)|0;return fq(a,b,c)|0}function sq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0>>0:0))b=0;else{b=Tm(a,b)|0;while(1){if(!b){b=1;break a}if(0>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0>>0:0)){b=0;break a}b=Um(a,b)|0}}while(0);return b|0}function tq(a,b){a=a|0;b=b|0;if(!(Tm(a,b)|0))a=(Qm(a,b)|0)==0&1;else a=0;return a|0}function uq(a){a=a|0;var b=0,d=0,e=0;a=pm(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}}while(0);return a|0}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=km(a,0)|0;if(e)if(((wq(a,b,96286,c[e+16>>2]|0,d)|0)!=-1?(wq(a,b,96273,c[e+8>>2]|0,d)|0)!=-1:0)?(wq(a,b,96237,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function wq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Xl(f,0)|0;k=(l|0)==0;j=bb[c[f>>2]&31](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=bb[c[l>>2]&31](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((fq(b,d,82308)|0)==-1){g=-1;break}if((eq(b,d)|0)==-1){g=-1;break}}else{if((eq(b,d)|0)==-1){g=-1;break}if((fq(b,d,e)|0)==-1){g=-1;break}if((fq(b,d,82305)|0)==-1){g=-1;break}c[42032]=(c[42032]|0)+1}if((qq(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((fq(b,d,82311)|0)==-1){g=-1;break}if((qq(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=bb[c[f>>2]&31](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[42032]=(c[42032]|0)+-1;if((g|0)!=1){if((fq(b,d,134901)|0)==-1){g=-1;break}if((eq(b,d)|0)==-1){g=-1;break}}g=(fq(b,d,82340)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Xl(f,l)|0;g=0}while(0);return g|0}function xq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=19;break}case 1:{g=20;break}case 3:case 2:{g=21;break}default:{}}b=ab[g&63](a,b)|0;if(!b)b=-1;else{Bq(a,b,d,e,g,f);b=0}return b|0}function yq(a,b){a=a|0;b=b|0;if((so(b)|0)!=(a|0))b=fn(a,b,0)|0;return b|0}function zq(a,b){a=a|0;b=b|0;if((so(b)|0)!=(a|0))b=jo(a,b,0)|0;return b|0}function Aq(a,b){a=a|0;b=b|0;return a|0}function Bq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)ib[c&127](a,b,d);g=Kp(a)|0;while(1){if(!g)break;i=ab[e&63](g,b)|0;if(i|0)Bq(g,i,c,d,e,f);g=Lp(g)|0}if(!h)ib[c&127](a,b,d);return}function Cq(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42035]=0;c[42036]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=_I(k*6|3)|0;if(h){UN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;UN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{$I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[82344+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[42036]|0;if((h|0)==-2){h=ip()|0;c[42036]=h}if((h|0)>=1)if(h>>>0<269)i=d[82424+h>>0]|0;else i=2;else{c[42036]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[82693+h>>0]|0):0){p=a[82753+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42036]=-2;g=g+4|0;c[g>>2]=c[42037];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[82813+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42036]|0;b:do switch(q|0){case 0:{c[42035]=(c[42035]|0)+1;Dp(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[42036]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[82344+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[42037];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[82893+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{Dq();Eq();break}case 3:{if(c[42038]|0){Dq();Eq();mn(c[42038]|0)|0;c[41987]=0;c[42038]=0}break}case 6:{Fq(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){Hq();break c}else{Gq();break c}case 24:{Iq();break}case 25:{Iq();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{Jq(c[g>>2]|0,0,0);break}case 31:{Jq(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{Jq(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{Kq(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{Kq(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{Lq(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{Lq(c[g>>2]|0,0);break}case 51:{Mq(c[g>>2]|0);break}case 52:{Nq();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=Oq(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[82956+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[83019+e>>0]|0)|0;if(h>>>0<60?(d[82693+h>>0]|0)==(p|0):0){e=a[82753+h>>0]|0;j=q;h=i;break}e=a[83054+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){Dp(125382);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))$I(f);l=t;return e|0}function Dq(){var a=0,b=0;a=c[42039]|0;while(1){if(!a)break;Wq(a+8|0);Wq((c[42039]|0)+24|0);Wq((c[42039]|0)+16|0);b=Pq(c[42039]|0)|0;c[42039]=b;a=b}return}function Eq(){Ep();Nn(c[42038]|0);return}function Fq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[42038]|0;if(!f){a[168160]=d&1|(e&255)<<1&2|a[168160]&-12|8;f=c[42041]|0;a[g>>0]=a[168160]|0;a[g+1>>0]=a[168161]|0;a[g+2>>0]=a[168162]|0;a[g+3>>0]=a[168163]|0;f=hn(b,g,f)|0;c[42038]=f}c[41987]=f;c[42039]=Qq(c[42039]|0,f)|0;cp(0,b)|0;l=h;return}function Gq(){var b=0,d=0,e=0,f=0,g=0,h=0;Vq(2);e=c[42039]|0;f=a[83089]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(yJ(g,83089)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=eo(e)|0;while(1){if(!d)continue a;g=jo(c[c[42039]>>2]|0,d,0)|0;br(g,0,c[b>>2]|0,h);d=fo(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;br(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}Wq((c[42039]|0)+8|0);Wq((c[42039]|0)+16|0);Wq((c[42039]|0)+24|0);c[(c[42039]|0)+4>>2]=0;return}function Hq(){var a=0;Vq(1);a=(c[42039]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;ar(c[a+4>>2]|0);a=a+12|0}Wq((c[42039]|0)+8|0);Wq((c[42039]|0)+24|0);Wq((c[42039]|0)+16|0);c[(c[42039]|0)+4>>2]=0;return}function Iq(){var a=0,b=0;a=c[42039]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=$q(b)|0;a=c[42039]|0}c[a+4>>2]=0}else{b=_q(b)|0;a=c[42039]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)Sq(a+16|0,b);return}function Jq(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=Yq(b,d)|0;d=Zq(oo(c[c[42039]>>2]|0,a,1)|0,b)|0;Sq((c[42039]|0)+8|0,d);cp(c[42038]|0,a)|0;return}function Kq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)Uq();d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))Uq();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;Vq(g);b=c[42039]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[42038]|0))){d=zm(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[42039]|0;if((c[b>>2]|0)!=(c[42038]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}Wq(b+24|0);return}function Lq(a,b){a=a|0;b=b|0;b=Rq(a,b)|0;Sq((c[42039]|0)+24|0,b);return}function Mq(a){a=a|0;var b=0;b=c[42039]|0;c[42039]=Qq(b,Jp(c[b>>2]|0,a,1)|0)|0;cp(c[42038]|0,a)|0;return}function Nq(){var a=0,b=0;a=c[42039]|0;b=c[a>>2]|0;a=Pq(a)|0;c[42039]=a;c[a+4>>2]=b;return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=sJ(a)|0;d=d+1+(sJ(b)|0)|0;if(d>>>0<1025)d=f;else d=_I(d)|0;yK(d,a)|0;JL(d,b)|0;e=ap(c[42038]|0,d)|0;cp(c[42038]|0,a)|0;cp(c[42038]|0,b)|0;if((d|0)!=(f|0))$I(d);l=g;return e|0}function Pq(a){a=a|0;var b=0;b=c[(c[42039]|0)+32>>2]|0;_n(c[42038]|0,a);return b|0}function Qq(a,b){a=a|0;b=b|0;var d=0;d=Zn(c[42038]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function Rq(a,b){a=a|0;b=b|0;return Tq(267,a,b)|0}function Sq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function Tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Zn(c[42038]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function Uq(){var a=0;a=l;l=l+16|0;$l(0,83093,a)|0;l=a;return} +function EI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=_I(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=SN(169984,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;fa(94,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[42535]=0;c[42536]=0;o=0;fa(95,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[42538]|0)/2|0;c[42539]=m;c[42540]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=aa(17,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[42542]|0;e=c[42543]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[42535]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[42535]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[42542]|0;e=c[42543]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[42535]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[42535]=g+1;g=f}}while(0);o=0;ga(27,e|0,c[42535]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[42536]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ga(28,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[42536]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=$(39,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=TN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[13918]|0;o=0;c[C>>2]=125503;c[C+4>>2]=192;c[C+8>>2]=125514;aa(13,e|0,125484,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=$(39,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=TN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[13918]|0;o=0;c[D>>2]=125503;c[D+4>>2]=200;c[D+8>>2]=125547;aa(13,e|0,125484,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=$(40,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=TN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[13918]|0;o=0;c[E>>2]=125503;c[E+4>>2]=207;c[E+8>>2]=125585;aa(13,e|0,125484,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=TN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ga(29,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[42541]=c[42539];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[42545]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[42537]|0;k=c[e+(c[42540]<<2)>>2]|0;o=0;e=aa(17,u|0,c[c[e+(c[42539]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=TN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=aa(17,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=TN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[42537]|0;if((c[m+(c[42539]<<2)>>2]|0)!=(n|0)?(c[m+(c[42540]<<2)>>2]|0)!=(n|0):0){o=0;j=_(29,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[42541]|0)){e=0;break}c[42541]=j;e=0;break}o=0;k=_(29,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=TN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[42541]|0)){e=0;break}c[42541]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[42545]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;fa(96,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=TN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[42544]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[42544]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[42544]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}$I(G|0);l=H;return e|0}function FI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[42548]|0)<(a|0)){b=c[42542]|0;if(!b){g=_I(a<<3)|0;c[42542]=g;if(!g){g=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=523;c[d+8>>2]=125753;AL(g,125484,d)|0;Ua(169984,1)}g=_I(a<<2)|0;c[42543]=g;if(!g){g=c[13918]|0;c[f>>2]=125503;c[f+4>>2]=527;c[f+8>>2]=125772;AL(g,125484,f)|0;Ua(169984,1)}}else{f=bJ(b,a<<3)|0;c[42542]=f;if(!f){f=c[13918]|0;c[g>>2]=125503;c[g+4>>2]=533;c[g+8>>2]=125792;AL(f,125484,g)|0;Ua(169984,1)}g=bJ(c[42543]|0,a<<2)|0;c[42543]=g;if(!g){g=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=539;c[e+8>>2]=125812;AL(g,125484,e)|0;Ua(169984,1)}}c[42548]=a}l=h;return}function GI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42538]|0)<(a|0)){b=c[42537]|0;if(!b){e=_I(a<<2)|0;c[42537]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=573;c[d+8>>2]=125708;AL(e,125484,d)|0;Ua(169984,1)}}else{d=bJ(b,a<<2)|0;c[42537]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=580;c[e+8>>2]=125730;AL(d,125484,e)|0;Ua(169984,1)}}c[42538]=a}l=f;return}function HI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function II(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(QI(e,g,a,b)|0))e=f;else break}RI(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[13918]|0;c[h>>2]=125503;c[h+4>>2]=324;c[h+8>>2]=125648;AL(a,125484,h)|0}else if((b|0)==9)RI(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[42545]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function KI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[42545]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((HI(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function LI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42545]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(LI((e-d|0)/52|0,b)|0){d=1;break a}d=c[42545]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function MI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42546]|0)<(a|0)){b=c[42544]|0;if(!b){e=_I(a<<4)|0;c[42544]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=593;c[d+8>>2]=125611;AL(e,125484,d)|0;Ua(169984,1)}}else{d=bJ(b,a<<4)|0;c[42544]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=599;c[e+8>>2]=125629;AL(d,125484,e)|0;Ua(169984,1)}}c[42546]=a}l=f;return}function NI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42540]|0;e=c[42539]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[42537]|0)+(e<<2)>>2];a=170156;d=-1}else{a=170156;d=-1}else if(f){c[b+4>>2]=c[(c[42537]|0)+(d<<2)>>2];a=170160;d=1}else{a=170160;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[42537]|0)+(f<<2)>>2]=b;return}function OI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[42541]|0;g=c[42537]|0;b=c[42539]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((HI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[42540]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((HI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function PI(a,b){a=a|0;b=b|0;c[((a|0)==1?170160:170156)>>2]=b;return}function QI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(HI(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((HI(i,j,f)|0)==1){f=HI(j,i,g)|0;g=1;h=5}else f=0;else{f=HI(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(TI(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function RI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[42536]|0;f=c[42547]|0;if((e|0)<(f|0))h=e;else{SI(f+20|0);h=c[42536]|0}g=c[42545]|0;c[42536]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function SI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42547]|0)<(a|0)){b=c[42545]|0;if(!b){e=_I(a*52|0)|0;c[42545]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=552;c[d+8>>2]=125669;AL(e,125484,d)|0;Ua(169984,1)}}else{d=bJ(b,a*52|0)|0;c[42545]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=558;c[e+8>>2]=125688;AL(d,125484,e)|0;Ua(169984,1)}}c[42547]=a}l=f;return}function TI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=HI(a,b,c)|0;if((((f|0)!=3?(g=HI(a,b,d)|0,(g|0)!=3):0)?(h=HI(c,d,a)|0,(h|0)!=3):0)?(e=HI(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((UI(a,b,c)|0)==0?(UI(a,b,d)|0)==0:0)?(UI(c,d,a)|0)==0:0)return (UI(c,d,b)|0)!=0|0;return 1}function UI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((HI(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function VI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=WI(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+KJ(i);d=+KJ(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+KJ(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function WI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=XI(a,b)|0;while(0);return a|0}function XI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function YI(a){a=a|0;$I(c[a>>2]|0);$I(a);return}function ZI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[42550]|0;if((i|0)>(c[42549]|0)){if(!d)d=_I(i<<4)|0;else d=bJ(d,i<<4)|0;c[42550]=d;c[42549]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];VN(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];VN(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];VN(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function _I(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[42551]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=170244+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[42551]=o&~(1<>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[42553]|0;if(m>>>0>n>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=170244+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[42556]|0;b=n>>>3;d=170244+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42553]=h;c[42556]=f;w=i;l=x;return w|0}j=c[42552]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[170508+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=170508+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[42552]=j&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[42556]|0;b=n>>>3;d=170244+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42553]=h;c[42556]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[42552]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(n|o|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[170508+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[170508+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[42553]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=170508+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=170244+(b<<1<<2)|0;a=c[42551]|0;b=1<>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=170508+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[42553]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[42556]|0;if(b>>>0>15){w=a+n|0;c[42556]=w;c[42553]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[42553]=0;c[42556]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[42554]|0;if(i>>>0>n>>>0){u=i-n|0;c[42554]=u;w=c[42557]|0;v=w+n|0;c[42557]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[42669]|0)){c[42671]=4096;c[42670]=4096;c[42672]=-1;c[42673]=-1;c[42674]=0;c[42662]=0;c[42669]=p&-16^1431655768;a=4096}else a=c[42671]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[42661]|0;if(a|0?(o=c[42659]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[42662]&4)){d=c[42557]|0;c:do if(d){e=170652;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=XN(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=XN(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[42670]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[42659]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[42661]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=XN(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[42671]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((XN(a|0)|0)==(-1|0)){XN(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[42662]=c[42662]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=XN(m|0)|0,s=XN(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[42659]|0)+h|0;c[42659]=b;if(b>>>0>(c[42660]|0)>>>0)c[42660]=b;j=c[42557]|0;do if(j){b=170652;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[42554]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[42557]=v;c[42554]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[42558]=c[42673];break}if(g>>>0<(c[42555]|0)>>>0)c[42555]=g;a=g+h|0;b=170652;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=170652;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[42556]|0)==(b|0)){w=(c[42553]|0)+i|0;c[42553]=w;c[42556]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[42551]=c[42551]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=170508+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[42552]=c[42552]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=170244+(b<<1<<2)|0;a=c[42551]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(u|v|b)+(w<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=170508+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[42552]|0;d=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[42554]|0)+i|0;c[42554]=w;c[42557]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=170652;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[42557]=v;c[42554]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[42558]=c[42673];d=a+4|0;c[d>>2]=27;c[b>>2]=c[42663];c[b+4>>2]=c[42664];c[b+8>>2]=c[42665];c[b+12>>2]=c[42666];c[42663]=g;c[42664]=h;c[42666]=0;c[42665]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=170244+(b<<1<<2)|0;a=c[42551]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=170508+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[42552]|0;a=1<>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[42555]|0;if((w|0)==0|g>>>0>>0)c[42555]=g;c[42663]=g;c[42664]=h;c[42666]=0;c[42560]=c[42669];c[42559]=-1;c[42564]=170244;c[42563]=170244;c[42566]=170252;c[42565]=170252;c[42568]=170260;c[42567]=170260;c[42570]=170268;c[42569]=170268;c[42572]=170276;c[42571]=170276;c[42574]=170284;c[42573]=170284;c[42576]=170292;c[42575]=170292;c[42578]=170300;c[42577]=170300;c[42580]=170308;c[42579]=170308;c[42582]=170316;c[42581]=170316;c[42584]=170324;c[42583]=170324;c[42586]=170332;c[42585]=170332;c[42588]=170340;c[42587]=170340;c[42590]=170348;c[42589]=170348;c[42592]=170356;c[42591]=170356;c[42594]=170364;c[42593]=170364;c[42596]=170372;c[42595]=170372;c[42598]=170380;c[42597]=170380;c[42600]=170388;c[42599]=170388;c[42602]=170396;c[42601]=170396;c[42604]=170404;c[42603]=170404;c[42606]=170412;c[42605]=170412;c[42608]=170420;c[42607]=170420;c[42610]=170428;c[42609]=170428;c[42612]=170436;c[42611]=170436;c[42614]=170444;c[42613]=170444;c[42616]=170452;c[42615]=170452;c[42618]=170460;c[42617]=170460;c[42620]=170468;c[42619]=170468;c[42622]=170476;c[42621]=170476;c[42624]=170484;c[42623]=170484;c[42626]=170492;c[42625]=170492;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[42557]=v;c[42554]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[42558]=c[42673]}while(0);b=c[42554]|0;if(b>>>0>n>>>0){u=b-n|0;c[42554]=u;w=c[42557]|0;v=w+n|0;c[42557]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(kJ()|0)>>2]=12;w=0;l=x;return w|0}function $I(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[42555]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[42556]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[42553]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[42551]=c[42551]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=170508+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[42552]=c[42552]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[42557]|0)==(j|0)){j=(c[42554]|0)+b|0;c[42554]=j;c[42557]=i;c[i+4>>2]=j|1;if((i|0)!=(c[42556]|0))return;c[42556]=0;c[42553]=0;return}if((c[42556]|0)==(j|0)){j=(c[42553]|0)+b|0;c[42553]=j;c[42556]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[42551]=c[42551]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=170508+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[42552]=c[42552]&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[42556]|0)){c[42553]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=170244+(a<<1<<2)|0;b=c[42551]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;a=14-(g|h|a)+(j<
>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=170508+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[42552]|0;d=1<>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[42552]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[42559]|0)+-1|0;c[42559]=j;if(!j)a=170660;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[42559]=-1;return}function aJ(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=_I(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;WN(a|0,0,d|0)|0;return a|0}function bJ(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=_I(b)|0;return b|0}if(b>>>0>4294967231){c[(kJ()|0)>>2]=12;b=0;return b|0}d=cJ(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=_I(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;UN(d|0,a|0,(e>>>0>>0?e:b)|0)|0;$I(a);b=d;return b|0}function cJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[42671]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;dJ(k,d);return a|0}if((c[42557]|0)==(i|0)){k=(c[42554]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[42557]=e;c[42554]=d;return a|0}if((c[42556]|0)==(i|0)){e=(c[42553]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[42553]=d;c[42556]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[42551]=c[42551]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=170508+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[42552]=c[42552]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;dJ(i,k);return a|0}return 0}function dJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[42556]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[42553]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[42551]=c[42551]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=170508+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[42552]=c[42552]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[42557]|0)==(i|0)){i=(c[42554]|0)+b|0;c[42554]=i;c[42557]=h;c[h+4>>2]=i|1;if((h|0)!=(c[42556]|0))return;c[42556]=0;c[42553]=0;return}if((c[42556]|0)==(i|0)){i=(c[42553]|0)+b|0;c[42553]=i;c[42556]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[42551]=c[42551]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=170508+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[42552]=c[42552]&~(1<>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[42556]|0)){c[42553]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=170244+(b<<1<<2)|0;a=c[42551]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;b=14-(e|g|b)+(i<>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=170508+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[42552]|0;d=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function eJ(a,b){a=a|0;b=b|0;if(a>>>0<9){b=_I(b)|0;return b|0}else{b=fJ(a,b)|0;return b|0}return 0}function fJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(kJ()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=_I(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;dJ(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;dJ(f,i)}i=b+8|0;return i|0}function gJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=lJ(c[a+60>>2]|0)|0;a=jJ(Da(6,d|0)|0)|0;l=b;return a|0}function hJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=jJ(ua(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function iJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((jJ(ta(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function jJ(a){a=a|0;if(a>>>0>4294963200){c[(kJ()|0)>>2]=0-a;a=-1}return a|0}function kJ(){return 170700}function lJ(a){a=a|0;return a|0}function mJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=9;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ca(54,f|0)|0):0)a[b+75>>0]=-1;f=nJ(b,d,e)|0;l=g;return f|0}function nJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=jJ(va(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=jJ(va(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function oJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=jJ(Ea(91,e|0)|0)|0;l=d;return b|0}function pJ(){return}function qJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(kJ()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=jJ(wa(192,h|0)|0)|0}else{c[(kJ()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function rJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(sJ(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function sJ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function tJ(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[125833+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=125921;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=125921;else{f=125921;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return uJ(f,c[e+20>>2]|0)|0}function uJ(a,b){a=a|0;b=b|0;return vJ(a,b)|0}function vJ(a,b){a=a|0;b=b|0;if(!b)b=0;else b=wJ(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function wJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=xJ(c[b+8>>2]|0,o)|0;f=xJ(c[b+12>>2]|0,o)|0;g=xJ(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=xJ(c[b+(g<<2)>>2]|0,o)|0;g=xJ(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=yJ(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=xJ(c[b+(f<<2)>>2]|0,o)|0;f=xJ(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function xJ(a,b){a=a|0;b=b|0;var c=0;c=RN(a|0)|0;return ((b|0)==0?a:c)|0}function yJ(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function zJ(a){a=a|0;return tJ(a,c[(AJ()|0)+188>>2]|0)|0}function AJ(){return BJ()|0}function BJ(){return 55800}function CJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function DJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function EJ(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=ON(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+EJ(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function FJ(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function GJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function HJ(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=ON(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=IJ(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=ON(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=ON(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function IJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[56044+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[56060+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+JJ(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+JJ(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[56060+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+JJ(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+JJ(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10840+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function JJ(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=PN(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function KJ(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=IN(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function LJ(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function MJ(a,b){a=+a;b=+b;return +(+LJ(a,b))}function NJ(a,b){a=+a;b=b|0;return +(+JJ(a,b))}function OJ(a,b){a=+a;b=+b;return +(+PJ(a,b))}function PJ(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=ON(i|0,l|0,52)|0;e=e&2047;m=ON(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=PN(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=QJ(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=PN(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=PN(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=PN(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=PN(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=PN(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=PN(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=PN(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=JN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=PN(f|0,d|0,1)|0;g=z;e=e+-1|0;f=JN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=PN(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=IN(f|0,d|0,0,-1048576)|0;d=z;e=PN(e|0,0,52)|0;d=d|z;e=o|e}else{e=ON(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function QJ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function RJ(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0>>0|(g|0)==(f|0)&t>>>0>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=ON(s|0,r|0,52)|0;i=ON(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}SJ(m,n,b);SJ(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function SJ(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function TJ(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+CJ(a,0.0,0);h[d>>3]=+FJ(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=HJ(a,g)|0;m=g+8|0;e=+CJ(+h[g>>3],+h[m>>3],1);a=+FJ(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function UJ(a,b){a=+a;b=b|0;return +(+EJ(a,b))}function VJ(a){a=a|0;if(a>>>0<131072)a=(d[127725+((d[127725+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function WJ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function XJ(b,c){b=b|0;c=c|0;b=rJ(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function YJ(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function ZJ(a,b,c){a=a|0;b=b|0;c=c|0;c=aK(a,b,c,-1,0)|0;return c|0}function _J(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function $J(a){a=a|0;return (a+-48|0)>>>0<10|0}function aK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;bK(h,0);d=cK(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function bK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function cK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(kJ()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0}while((YJ(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=dK(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0;if((d[130894+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){bK(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[130894+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;bK(b,0);c[(kJ()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=dK(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=HN(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=IN(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=dK(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[131150+((e*23|0)>>>5&7)>>0]|0;f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=dK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=ON(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0>>0|(m|0)==(k|0)&l>>>0>>0)){f=k;n=72;break}else j=k;while(1){i=PN(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=dK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=dK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=MN(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=HN(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=IN(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=dK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[130894+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0}while(e>>>0>(d[130894+i>>0]|0)>>>0);c[(kJ()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(kJ()|0)>>2]=34;g=IN(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(kJ()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=JN(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function dK(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=eK(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function eK(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((fK(a)|0)==0?(bb[c[a+32>>2]&31](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function fK(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)bb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function gK(a){a=a|0;return (a+-48|0)>>>0<10|0}function hK(a){a=a|0;if(!(iK(a)|0))a=($J(a)|0)!=0&1;else a=1;return a|0}function iK(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function jK(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=kK(f)|0,(f|0)!=(kK(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=kK(b&255)|0;return g-(kK(d[c>>0]|0)|0)|0}function kK(a){a=a|0;var b=0;b=(lK(a)|0)==0;return (b?a:a|32)|0}function lK(a){a=a|0;return (a+-65|0)>>>0<26|0}function mK(a){a=a|0;return nK(a,0)|0}function nK(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(oK(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[59170+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[59170+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[59170+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[58682+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[58682+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[58682+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function oK(a){a=a|0;if(a>>>0<131072)a=(d[131159+((d[131159+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function pK(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function qK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=kK(f)|0,(g|0)!=(kK(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=kK(b&255)|0;b=b-(kK(d[c>>0]|0)|0)|0}return b|0}function rK(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function sK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?170768:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(wK()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[55208+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(kJ()|0)>>2]=84;f=-1}l=k;return f|0}function tK(a,b){a=a|0;b=b|0;if(!a)a=0;else a=uK(a,b,0)|0;return a|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(vK()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(kJ()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(kJ()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function vK(){return BJ()|0}function wK(){return BJ()|0}function xK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(134135)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134142+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134214)|0;if(d|0?a[d>>0]|0:0)break;d=134219}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=134219;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((yJ(k,134219)|0)!=0?(yJ(k,134227)|0)!=0:0){d=c[42693]|0;if(d|0)do{if(!(yJ(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);pa(170776);d=c[42693]|0;c:do if(d|0){while(1){if(!(yJ(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Fa(170776);break b}while(0);d:do if(((c[42678]|0)==0?(g=Na(134233)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=rJ(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){UN(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;UN(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=qa(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=_I(28)|0;if(!d){oJ(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;UN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42693];c[42693]=d;break}}else m=41;while(0);if((m|0)==41){d=_I(28)|0;if(d){c[d>>2]=c[13790];c[d+4>>2]=c[13791];o=d+8|0;UN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42693];c[42693]=d}}Fa(170776);d=(b|0)==0&(d|0)==0?55160:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=55160;break}d=0}while(0);l=p;return d|0}function yK(a,b){a=a|0;b=b|0;zK(a,b)|0;return a|0}function zK(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function AK(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function BK(a){a=a|0;if(!a)a=0;else a=(CK(56324,a)|0)!=0&1;return a|0}function CK(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((pK(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function DK(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=EK(a)|0;break}case 2:{a=oK(a)|0;break}case 3:{a=FK(a)|0;break}case 4:{a=GK(a)|0;break}case 5:{a=gK(a)|0;break}case 6:{a=HK(a)|0;break}case 7:{a=IK(a)|0;break}case 8:{a=rK(a)|0;break}case 9:{a=VJ(a)|0;break}case 10:{a=BK(a)|0;break}case 11:{a=JK(a)|0;break}case 12:{a=KK(a)|0;break}default:a=0}while(0);return a|0}function EK(a){a=a|0;if(!(gK(a)|0))a=(oK(a)|0)!=0&1;else a=1;return a|0}function FK(a){a=a|0;return AK(a)|0}function GK(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function HK(a){a=a|0;if(!(BK(a)|0))a=(rK(a)|0)!=0&1;else a=0;return a|0}function IK(a){a=a|0;return (mK(a)|0)!=(a|0)|0}function JK(a){a=a|0;return (LK(a)|0)!=(a|0)|0}function KK(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function LK(a){a=a|0;return nK(a,1)|0}function MK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=56412;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(kJ()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=NK(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function NK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((OK(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=PK(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=OK(b,d,n,q,p)|0;if(h){bb[c[b+36>>2]&31](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=OK(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)QK(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function OK(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(kJ()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)RK(d,r,j);if(j|0)continue;u=($J(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<>24==42){if(($J(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=SK(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=SK(D)|0;j=c[D>>2]|0;break}if($J(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(134246+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}TK(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=VK(j,k,x)|0;m=y-o|0;q=0;n=134710;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=JN(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=134710;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?134710:134712):134711;v=67;break d}}case 117:{k=E;m=0;n=134710;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=134710;o=x;k=1;break}case 109:{k=zJ(c[(kJ()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:134720;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){XK(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=YK(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=134710;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=UK(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?134710:134710+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=WK(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=_J(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=134710;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=tK(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}XK(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=tK(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}RK(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;XK(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;XK(d,32,m,s,j);RK(d,n,q);XK(d,48,m,s,j^65536);XK(d,48,o,p,0);RK(d,r,p);XK(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;TK(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function PK(a){a=a|0;return 0}function QK(a){a=a|0;return}function RK(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))_K(b,d,a)|0;return}function SK(b){b=b|0;var d=0,e=0;if(!($J(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while(($J(a[e>>0]|0)|0)!=0)}return d|0}function TK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function UK(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[134758+(b&15)>>0]|0|f;b=ON(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function VK(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=ON(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function WK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=NN(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=MN(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function XK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;WN(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{RK(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}RK(a,f,e)}l=g;return}function YK(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;ZK(e)|0;if((z|0)<0){e=-e;C=1;B=134727}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?134728:134733):134730}ZK(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;XK(b,32,f,j,h&-65537);RK(b,B,C);RK(b,e!=e|0.0!=0.0?(G?134895:134754):G?134746:134750,3);XK(b,32,f,j,h^8192)}else{r=+UJ(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=WK(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[134758+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;XK(b,32,f,F,h);RK(b,s,q);XK(b,48,f,F,h^65536);RK(b,G,k);XK(b,48,j-k|0,0,0);RK(b,o,E);XK(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=PN(c[j>>2]|0,0,o|0)|0;x=IN(x|0,z|0,m|0,0)|0;y=z;v=NN(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=MN(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=WK(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;XK(b,32,f,j,h);RK(b,B,C);XK(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=WK(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){WN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}RK(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)RK(b,134774,1);if(n>>>0>>0&(k|0)>0)while(1){m=WK(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){WN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}RK(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0>>0&(k|0)>9)){k=m;break}else k=m}XK(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=WK(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;RK(b,m,1);if(s&(k|0)<1){m=n;break}RK(b,134774,1);m=n}else{if(m>>>0<=G>>>0)break;WN(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;RK(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}XK(b,48,k+18|0,18,0);RK(b,v,E-v|0)}XK(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function ZK(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function _K(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!($K(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=bb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=bb[c[e+36>>2]&31](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);UN(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function $K(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;UN(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function bL(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=134776;f=97;while(1){if(e<<24>>24==f<<24>>24?(yJ(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function cL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{pa(170784);if((b|0)!=6){d=dL(b,d)|0;Fa(170784);break}if(!d){d=176258;b=0}else{b=g;e=134849;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=rJ(d,59)|0;e=b-d|0;if((e|0)<16){UN(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}dL(f,g)|0;f=f+1|0}while((f|0)!=6);d=176258;b=0}while(1){f=c[170744+(b<<2)>>2]|0;f=f|0?f+8|0:134865;e=sJ(f)|0;UN(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;Fa(170784);d=176258}while(0);l=h;return d|0}function dL(a,b){a=a|0;b=b|0;if(!b)a=c[170744+(a<<2)>>2]|0;else{b=xK(a,b)|0;c[170744+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:134865)|0}function eL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function fL(a){a=a|0;return gL(a)|0}function gL(a){a=a|0;return QN(a|0)|0}function hL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=PK(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)QK(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=_J(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0>>0?i:g;UN(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=eK(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)QK(f)}return b|0}function iL(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=XJ(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=jL(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=kL(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=lL(b,c)|0;break}else{b=mL(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function jL(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function kL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function lL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function mL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(eL(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0>>0){i=_J(g,0,k)|0;if(i)if((i-h|0)>>>0>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function nL(a,b,c){a=a|0;b=b|0;c=c|0;oL(a,b,c)|0;return a|0}function oL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);WN(b|0,0,e|0)|0;return b|0}function pL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function qL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=rL(a,b,f)|0;l=e;return d|0}function rL(a,b,c){a=a|0;b=b|0;c=c|0;return MK(a,2147483647,b,c)|0}function sL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)tL(a,d,e,f,j);else vL(a,d,e,k,f,0,j);if((f|0)==1){wL(k,1);f=0;break}else{wL(k,b);f=1;break}}else{tL(a,d,e,f,j);uL(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}vL(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){wL(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;uL(k,1);vL(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);wL(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;vL(h,d,e,k,n,1,j);a=h;f=n;continue}b=xL(k)|0;uL(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function tL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((ab[d&63](a,g)|0)>-1?(ab[d&63](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((ab[d&63](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);zL(b,m,e);l=n;return}function uL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function vL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(ab[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((ab[d&63](g,j)|0)>-1){i=10;break a}if((ab[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=xL(n)|0;uL(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((ab[d&63](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){zL(b,o,e);tL(a,b,d,f,h)}l=p;return}function wL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=yL(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function yL(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;UN(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;UN(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function AL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=NK(a,b,f)|0;l=e;return d|0}function BL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;oa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function CL(a,b,c){a=a|0;b=b|0;c=c|0;c=aK(a,b,c,-2147483648,0)|0;return c|0}function DL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){WN(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=rJ(b,e<<24>>24)|0;l=h;return e-b|0}function EL(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[42698]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(pL(b,d)|0)|0;if(!(a[b>>0]|0)){c[42698]=0;b=0;break}d=b+(DL(b,d)|0)|0;c[42698]=d;if(!(a[d>>0]|0)){c[42698]=0;break}else{c[42698]=d+1;a[d>>0]=0;break}}while(0);return b|0}function FL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function GL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(pL(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(DL(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function HL(a){a=a|0;var b=0,c=0;b=(sJ(a)|0)+1|0;c=_I(b)|0;if(!c)a=0;else a=UN(c|0,a|0,b|0)|0;return a|0}function IL(a,b){a=a|0;b=b|0;return FL(a,b,(sJ(a)|0)+1|0)|0}function JL(a,b){a=a|0;b=b|0;yK(a+(sJ(a)|0)|0,b)|0;return a|0}function KL(b,c){b=b|0;c=c|0;c=b+(DL(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function LL(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(PK(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function ML(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=PK(a)|0;else f=0;NL(a);g=(c[a>>2]&1|0)!=0;if(!g){e=OL()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;PL()}b=QL(a)|0;b=$a[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d|0)$I(d);if(g){if(f|0)QK(a)}else $I(a);return b|0}function NL(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(SL()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function OL(){pa(170796);return 170804}function PL(){Fa(170796);return}function QL(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=RL(a)|0;break}d=(PK(a)|0)==0;b=RL(a)|0;if(!d)QK(a)}else{if(!(c[13917]|0))b=0;else b=QL(c[13917]|0)|0;a=c[(OL()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=PK(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=RL(a)|0|b;if(d|0)QK(a);a=c[a+56>>2]|0}while((a|0)!=0);PL()}while(0);return b|0}function RL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)bb[c[a+40>>2]&31](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function SL(){return BJ()|0}function TL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(XJ(134882,a[d>>0]|0)|0){e=_I(1156)|0;if(!e)e=0;else{WN(e|0,0,124)|0;if(!(XJ(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(XJ(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;za(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=za(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;za(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ca(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=6;c[e+36>>2]=9;c[e+40>>2]=7;c[e+12>>2]=15;if(!(c[42677]|0))c[e+76>>2]=-1;UL(e)|0}}else{c[(kJ()|0)>>2]=22;e=0}l=k;return e|0}function UL(a){a=a|0;var b=0,d=0;b=OL()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;PL();return a|0}function VL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(WL()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[55208+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(kJ()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function WL(){return BJ()|0}function XL(a,b){a=a|0;b=b|0;var c=0;c=sJ(a)|0;return ((YL(a,1,c,b)|0)!=(c|0))<<31>>31|0}function YL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(PK(e)|0)==0;a=_K(a,f,e)|0;if(!g)QK(e)}else a=_K(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function ZL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!($K(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((bb[c[b+36>>2]&31](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function _L(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=134867;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=ya(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(za(221,e|0)|0)>=0):0){_L(e,a);c[f>>2]=e;c[f+4>>2]=b;b=jJ(xa(195,f|0)|0)|0}else b=jJ(d)|0;l=g;return b|0}function aM(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=jJ(Aa(33,e|0)|0)|0;l=d;return b|0}function bM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(XJ(134882,a[d>>0]|0)|0){f=cM(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=jJ(Ba(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;za(221,g|0)|0}b=TL(e,d)|0;if(!b){c[h>>2]=e;Da(6,h|0)|0;b=0}}else b=0}else{c[(kJ()|0)>>2]=22;b=0}l=i;return b|0}function cM(b){b=b|0;var c=0,d=0,e=0;d=(XJ(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(XJ(b,120)|0)==0;d=e?d:d|128;b=(XJ(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function dM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=eM(a,b,f)|0;l=e;return d|0}function eM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=18;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=gM(e,b,d)|0;l=g;return h|0}function fM(a,b,c){a=a|0;b=b|0;c=c|0;return oM(a,b,c)|0}function gM(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=PK(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(YJ(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if($J(n&255)|0?(a[p+2>>0]|0)==36:0){w=hM(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!($J(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while(($J(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{iM(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{bK(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=dK(b)|0}while((YJ(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}bK(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0>>0)c[y>>2]=p+1;else{if((dK(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){WN(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;WN(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=_I(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=dK(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(sK(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=bJ(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(jM(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=_I(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=dK(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=bJ(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=dK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+kM(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=cK(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{iM(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;bK(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=dK(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(YJ(d[k>>0]|0)|0))break;else m=k}bK(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=dK(b)|0}while((YJ(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){$I(j);$I(i)}}else e=0;while(0);if(K|0)QK(b);l=L;return e|0}function hM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function iM(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function jM(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function kM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=dK(b)|0}while((YJ(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=dK(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[134886+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=dK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[134895+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=dK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=dK(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=dK(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(kJ()|0)>>2]=22;bK(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=dK(b)|0;if((e|32|0)==120){g=+lM(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+mM(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(kJ()|0)>>2]=22;bK(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function lM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=dK(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=dK(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=dK(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=dK(a)|0;l=IN(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=IN(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=dK(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else bK(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=IN(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=nM(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){bK(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=PN(q|0,p|0,2)|0;l=IN(l|0,z|0,-32,-1)|0;l=IN(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(kJ()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(kJ()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=IN(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=JN(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=IN(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+MJ(+JJ(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(kJ()|0)>>2]=34;h=+NJ(h,l)}while(0);return +h}function mM(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=dK(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=dK(a)|0;if((b|0)==48){k=0;b=0;while(1){k=IN(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=dK(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=IN(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=dK(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=nM(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){bK(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=IN(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(kJ()|0)>>2]=22;bK(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(kJ()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0>>0){c[(kJ()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[56536+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[56536+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[56536+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=PN(c[p>>2]|0,0,29)|0;k=IN(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=MN(k|0,m|0,1e9,0)|0;k=NN(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[56568+(p<<2)>>2]|0;if(n>>>0>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+MJ(+JJ(1.0,105-n|0),j);r=+OJ(j,+JJ(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+OJ(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(kJ()|0)>>2]=34}while(0);i=+NJ(i,b)}while(0);l=J;return +i}function nM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=dK(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=dK(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=dK(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=HN(g|0,b|0,10,0)|0;g=z;e=IN(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=IN(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=dK(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=dK(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=JN(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=_J(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;UN(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function pM(a,b,c){a=a|0;b=b|0;c=c|0;return qM(a,b,c)|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(PK(a)|0)==0;b=rM(a,b,d)|0;if(!e)QK(a)}else b=rM(a,b,d)|0;return b|0}function rM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((bb[c[a+40>>2]&31](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function sM(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(YJ(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!($J(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while(($J(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function tM(a){a=a|0;return +(+uM(a,0))}function uM(a,b){a=a|0;b=b|0;return +(+vM(a,b,1))}function vM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;bK(h,0);e=+kM(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function wM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=ab[e&63](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function xM(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=HN((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=IN(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=ON(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function yM(a){a=a|0;UN(173880,58668,6)|0;UN(58668,a|0,6)|0;return 173880}function zM(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;yM(d)|0;l=c;return}function AM(a){a=a|0;var b=0;b=xM(a,58674)|0;b=PN(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function BM(){return +(+AM(58668))}function CM(a,b){a=a|0;b=b|0;if(!a)b=aJ(1,24)|0;else WN(b|0,0,24)|0;return b|0}function DM(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{$I(c[b>>2]|0);d=b;b=c[b+4>>2]|0;$I(d)}while((b|0)!=0);$I(a);return}function EM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=_I(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=_I(g)|0;c[j>>2]=b;d=b;if(!b){$I(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)WN(b|0,0,d|0)|0}else b=0;while(0);return b|0}function FM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=GM()|0;a:do if(!t)b=12;else{u=CM(0,0)|0;if(!u){HM(t);b=12;break}WN(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=IM(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=aJ(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=JM(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=_I((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;WN(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=aJ(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=aJ(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=JM(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=KM(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=LM(u,0,0,b)|0;if((b|0)!=0?(s=MM(u,i,b)|0,(s|0)!=0):0){b=NM(u,t,s)|0;if(!b){o=_I(c[p>>2]<<2)|0;if(o){q=_I(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)WN(o|0,0,b<<2|0)|0;OM(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=aJ(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=OM(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=aJ(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=_I(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}UN(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;DM(u);HM(t);$I(o);$I(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);DM(u);HM(t);if(h|0)$I(f);if(i|0)$I(e);c[a+4>>2]=g;PM(a)}while(0);l=v;return b|0}function GM(){var a=0,b=0;a=_I(20)|0;do if(a){b=_I(2048)|0;c[a+16>>2]=b;if(!b){$I(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function HM(a){a=a|0;$I(c[a+16>>2]|0);$I(a);return}function IM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=TM(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=LM(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=gN(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=hN(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=LM(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=bN(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=MM(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=cN(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=cN(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=iN(b,d,UM(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=VM(t)|0;h=h+-1|0;i=VM(t)|0}if((j|0)==40){f=1;d=cN(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=SM(t,f)|0;if(d|0)break a;d=SM(t,g)|0;if(d|0)break a;d=TM(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function JM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=RM(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=_I((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=_I((c[g>>2]<<2)+4|0)|0;if(!A){$I(z);g=12;break}c[A>>2]=-1;B=_I((c[g>>2]<<3)+8|0)|0;if(!B){$I(z);$I(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);SM(d,e)|0;g=TM(d,0)|0;a:do if((g|0)!=0|(RM(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(UM(d)|0){case 6:{i=UM(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=VM(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=_I((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=TM(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=TM(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=dN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}eN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=SM(d,q)|0;if(!g){g=TM(d,5)|0;if(!g){g=SM(d,j)|0;if(!g){g=TM(d,0)|0;if(!g){i=k+20|0;g=TM(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=TM(d,g)|0;if(!g){g=TM(d,4)|0;if(!g){g=SM(d,k)|0;if(!g){p=i;g=TM(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=TM(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=TM(d,m)|0;if(g|0){p=t;o=s;break c}g=TM(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=SM(d,q)|0;if(!g){g=TM(d,1)|0;if(!g){g=SM(d,c[i>>2]|0)|0;if(!g){g=TM(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=dN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}eN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=TM(d,i?p:t)|0;if(!g){g=TM(d,i?t:m)|0;if(!g){g=SM(d,e)|0;if(!g){g=TM(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=SM(d,q)|0;if(!g){g=SM(d,j)|0;if(!g){g=SM(d,k)|0;if(!g){g=TM(d,3)|0;if(!g){g=SM(d,j)|0;if(!g){g=TM(d,0)|0;if(g|0){p=t;o=s;break c}g=TM(d,2)|0;if(g|0){p=t;o=s;break c}g=SM(d,k)|0;if(g|0){p=t;o=s;break c}g=TM(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=dN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}eN(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=VM(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(UM(d)|0)+i;i=0;l=-1}else{q=UM(d)|0;r=UM(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=UM(d)|0;j=UM(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=VM(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=VM(d)|0;o=VM(d)|0;g=VM(d)|0;e=UM(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=VM(d)|0;i=UM(d)|0;k=UM(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=fN(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=fN(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(RM(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(eN(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;$I(z);$I(A);$I(B)}while(0);return g|0}function KM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=RM(b)|0;c[t>>2]=0;c[x>>2]=0;d=SM(b,d)|0;a:do if(!d){d=TM(b,0)|0;if(!d){b:do if((RM(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=UM(b)|0;r=VM(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=SM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=TM(b,0)|0;if(d|0)break b;d=SM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=SM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=TM(b,0)|0;if(d|0)break b;d=SM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=TM(b,j)|0;if(d|0)break b;d=SM(b,r)|0;if(d|0)break b;d=TM(b,1)|0;if(d|0)break b;d=SM(b,c[h>>2]|0)|0;if(d|0)break b;d=TM(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=TM(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=UM(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=aN(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=MM(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=aN(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=aN(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=bN(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=aN(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=MM(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=LM(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=cN(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=MM(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((RM(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function LM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=EM(a,0,0,1,20)|0;a=$M(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=EM(a,0,0,1,8)|0;a=$M(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function NM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=RM(b)|0;d=SM(b,d)|0;a:do if(!d){d=TM(b,0)|0;if(!d)if((RM(b)|0)>(m|0)){b:while(1){h=UM(b)|0;i=VM(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=WM(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=WM(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=XM(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=XM(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=WM(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=WM(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=SM(b,i)|0;if(d|0)break a;d=TM(b,1)|0;if(d|0)break a;e=i+4|0;d=SM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=TM(b,0)|0;if(d|0)break a;d=SM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=TM(b,0)|0;if(!d)break c;else break a}case 1:{d=SM(b,i)|0;if(d|0)break a;d=TM(b,2)|0;if(d|0)break a;e=i+4|0;d=SM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=TM(b,0)|0;if(d|0)break a;d=SM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=TM(b,0)|0;if(!d)break c;else break a}case 2:{d=SM(b,i)|0;if(d|0)break a;d=TM(b,3)|0;if(d|0)break a;d=SM(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=TM(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=YM(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=YM(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=ZM(b,d,0,0,j)|0;if(d|0)break b;e=_I((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=ZM(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=YM(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;$I(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=ZM(b,d,0,0,j)|0;if(d|0)break b;e=_I((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=ZM(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=YM(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;$I(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((RM(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)$I(e);else if((n|0)==52)$I(e)}else d=0}while(0);l=o;return d|0}function OM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=QM(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=OM(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=QM(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=OM(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){$I(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){$I(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)$I(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)$I(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}$I(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){$I(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0>>0)}$I(a)}a=c[h+32>>2]|0;if(a|0)$I(a);a=c[h+20>>2]|0;if(a|0)$I(a);a=c[h+36>>2]|0;if(a|0)$I(a);$I(h)}return}function QM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=_I(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)$I(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=_I((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function RM(a){a=a|0;return c[a+12>>2]|0}function SM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=_M(a,e)|0;l=d;return b|0}function TM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=_M(a,e)|0;l=d;return b|0}function UM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function VM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function WM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=EM(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function XM(a){a=a|0;a=EM(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function YM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=EM(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=EM(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=EM(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function ZM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=RM(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=SM(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((RM(a)|0)>(o|0))while(1){b=VM(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=SM(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=SM(a,k)|0,g|0):0)break a;if((RM(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function _M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=bJ(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];_M(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function $M(a,b,d){a=a|0;b=b|0;d=d|0;a=EM(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function aN(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=RM(d)|0;SM(d,e)|0;e=TM(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((RM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(UM(d)|0){case 1:{i=7;break c}case 0:{e=VM(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((RM(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=VM(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=SM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=TM(d,0)|0;if(e|0){f=o;break a}e=bN(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((RM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=LM(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=cN(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=SM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=TM(d,0)|0;if(e|0){f=o;break a}e=SM(d,m+4|0)|0;if(e|0){f=o;break a}e=TM(d,1)|0;if(e|0){f=o;break a}e=SM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=TM(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=MM(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=SM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=TM(d,0)|0;if(e|0){f=o;break a}e=SM(d,k)|0;if(e|0){f=o;break a}e=TM(d,1)|0;if(e|0){f=o;break a}e=SM(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=TM(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function bN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=EM(b,0,0,1,16)|0;b=$M(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=EM(a,0,0,1,8)|0;a=$M(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=EM(a,0,0,0,8)|0;if(((e|0)!=0?(d=LM(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=EM(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function eN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function fN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=EM(a,0,0,0,8)|0;if(((e|0)!=0?(d=LM(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=EM(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function gN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=kN(b,d+1|0)|0;break}case 92:{e=d+1|0;f=lN(e)|0;if(f|0){e=gN(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=LM(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=LM(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=LM(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=LM(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=mN(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=LM(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=LM(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=LM(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=LM(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=LM(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=cN(c[b>>2]|0,f,e)|0;else e=0}else e=LM(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=LM(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=LM(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=LM(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=VL(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((JK(c[j>>2]|0)|0)==0?(IK(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=mK(c[j>>2]|0)|0;g=mK(c[j>>2]|0)|0;f=b+24|0;g=LM(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=LK(c[j>>2]|0)|0;d=LK(c[j>>2]|0)|0;d=LM(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=cN(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=LM(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function hN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=jN(b,i)|0;if((a[b>>0]|0)==44){b=jN(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function iN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=LM(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=MM(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function jN(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if($J(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!($J(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function kN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=_I(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=nN(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){sL(c[r>>2]|0,c[h>>2]|0,4,41);d=pN(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=EM(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}UN(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=$M(c[b>>2]|0,0,j)|0;e=cN(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);$I(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function lN(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[56576+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[56576+(b<<3)+4>>2]|0}function mN(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function nN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=VL(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}UN(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=bL(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=VL(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=pN(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(qN(e,m,g)|0)!=0:0){g=12;break a}}j=VL(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function oN(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function pN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=bJ(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=EM(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function qN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(IK(b)|0)){if(!(JK(b)|0)){b=b+1|0;break}f=LK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((LK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=mK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((mK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=pN(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function rN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=_I(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=tN(i,b,g,f,k)|0;else a=sN(i,b,g,f,k)|0;if(!a)uN(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)$I(d)}l=n;return a|0}function sN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=CM(0,0)|0;a:do if(U){p=EM(U,0,0,0,32)|0;if(!p){DM(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=_I(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=_I(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=_I(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)WN(g|0,0,n<<2|0)|0;G=e+q|0;e=VL(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(EK(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(EK(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(EK(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(EK(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(EK(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(EK(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(EK(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(EK(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=EM(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=EM(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(wN(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;uN(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(WJ(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=VL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=VL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(EK(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(EK(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(EK(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(EK(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(EK(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(EK(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(EK(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(EK(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(DK(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=LK(q)|0;e=w+24|0;if(DK(x,c[e>>2]|0)|0)break;x=mK(q)|0;if(!(DK(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(vN(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=EM(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=EM(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){DM(U);if(j|0)$I(i);if(m|0)$I(h);if(!k){e=12;break a}$I(g);e=12;break a}else if((C|0)==60){DM(U);if(j|0)$I(i);if(m|0)$I(h);if(!k){e=12;break a}$I(g);e=12;break a}else if((C|0)==145){DM(U);if(j|0)$I(i);if(m|0)$I(h);if(!k){e=12;break a}$I(g);e=12;break a}else if((C|0)==152){DM(U);if(j|0)$I(i);if(m|0)$I(h);if(!k){e=12;break a}$I(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);DM(U);if(j|0)$I(i);if(m|0)$I(h);if(k)$I(g)}else e=12;while(0);l=V;return e|0} +function tN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=_I(e)|0;if(!U)e=12;else{WN(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=VL(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(EK(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(EK(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(EK(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(EK(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(EK(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(EK(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(EK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(EK(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)WN(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=VL(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(EK(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(EK(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(EK(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(EK(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(EK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(EK(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(EK(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(EK(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(DK(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=LK(h)|0;a=k+24|0;if(DK(A,c[a>>2]|0)|0)break;A=mK(h)|0;if(!(DK(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(vN(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(wN(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);$I(U)}l=W;return e|0}function uN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0>>0&j>>>0>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0>>0&d>>>0>>0)}else d=0}else d=0;if(d>>>0>>0)WN(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function vN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(DK(b,d)|0){d=1;break a}}else{e=mK(b)|0;if(DK(e,c[a>>2]|0)|0){d=1;break a}e=LK(b)|0;if(DK(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function wN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function xN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=PK(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;UN(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(fK(f)|0)break;h=bb[c[i>>2]&31](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)QK(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)QK(f);return e|0}function yN(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(PK(a)|0)==0;a=zN(a)|0}else a=zN(a)|0;return a|0}function zN(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=bb[c[a+40>>2]&31](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function AN(a){a=a|0;(c[a+76>>2]|0)>-1?PK(a)|0:0;return c[a+60>>2]|0}function BN(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=134988;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){BL(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=jJ(Ba(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;sa(10,h|0)|0;b=TL(f,135008)|0;if(!b){c[i>>2]=f;Da(6,i|0)|0;b=0}}l=k;return b|0}function CN(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(PK(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=eK(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=eK(a)|0;break}}while(0);return b|0}function DN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(PK(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=ZL(d,b)|0;QK(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=ZL(d,b)|0}while(0);return e|0}function EN(a){a=a|0;return yN(a)|0}function FN(){}function GN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=GN(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function JN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function KN(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function LN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=KN(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((KN(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=IN(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;JN(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=JN(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function MN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return LN(a,b,c,d,0)|0}function NN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;LN(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<>>c-32|0}function PN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<>>32-c;return a<>8&255|0}function RN(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function SN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=bJ(d|0,8*(e+1|0)|0)|0;d=SN(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function TN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function UN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function VN(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else UN(b,c,d)|0;return b|0}function WN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function XN(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;ra(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;ra(12);return -1}return d|0}function YN(a){a=a|0;return +Ya[a&1]()}function ZN(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +Za[a&7](+b,+c,+d)}function _N(a){a=a|0;return _a[a&3]()|0}function $N(a,b){a=a|0;b=b|0;return $a[a&31](b|0)|0}function aO(a,b,c){a=a|0;b=b|0;c=c|0;return ab[a&63](b|0,c|0)|0}function bO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bb[a&31](b|0,c|0,d|0)|0}function cO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return cb[a&31](b|0,c|0,d|0,e|0)|0}function dO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return db[a&3](b|0,c|0,d|0,e|0,f|0)|0}function eO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return eb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function fO(a){a=a|0;fb[a&15]()}function gO(a,b){a=a|0;b=b|0;gb[a&127](b|0)}function hO(a,b,c){a=a|0;b=b|0;c=c|0;hb[a&31](b|0,c|0)}function iO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ib[a&127](b|0,c|0,d|0)}function jO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;jb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function kO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;kb[a&31](b|0,c|0,d|0,e|0)}function lO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;lb[a&7](b|0,c|0,d|0,e|0,f|0)}function mO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;mb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function nO(){S(0);return 0.0}function oO(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function pO(){S(2);return 0}function qO(a){a=a|0;S(3);return 0}function rO(a,b){a=a|0;b=b|0;S(4);return 0}function sO(a,b,c){a=a|0;b=b|0;c=c|0;S(5);return 0}function tO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(6);return 0}function uO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(7);return 0}function vO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(8);return 0}function wO(){S(9)}function xO(a){a=a|0;S(10)}function yO(a,b){a=a|0;b=b|0;S(11)}function zO(a,b,c){a=a|0;b=b|0;c=c|0;S(12)}function AO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(13)}function BO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(14)}function CO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(15)}function DO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(16)} + +// EMSCRIPTEN_END_FUNCS +var Ya=[nO,zA];var Za=[oO,Vu,Uu,Wu,Xu,oO,oO,oO];var _a=[pO,Gw,xx,pO];var $a=[qO,Sg,lg,Sn,Vn,aC,bC,SD,TD,UD,VD,WD,XD,YD,ZD,gJ,ub,pr,ml,pl,Cw,Hw,on,xw,eo,OB,ww,TB,UB,OI,qO,qO];var ab=[rO,un,Rn,Wn,zz,Az,rz,nz,Xy,nr,bg,Rg,sh,Wh,mi,xk,vk,nl,ql,Aq,zq,yq,Es,Us,Ps,Qs,Pt,XL,DN,tA,vB,Jm,xG,Qm,Sm,fo,PB,yJ,YE,KI,LI,oN,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO];var bb=[sO,Ql,Wl,Qn,Un,hG,hJ,iJ,mJ,nJ,aL,$l,Yl,AL,vA,Fx,aD,HI,fM,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO];var cb=[tO,Om,Op,Pm,gn,wn,yn,Jn,In,Xn,$n,bo,zx,DC,BC,xE,jG,FG,EG,Nl,xA,tO,tO,tO,tO,tO,tO,tO,tO,tO,tO,tO];var db=[uO,vn,Yy,sz];var eb=[vO,lI];var fb=[wO,yA,Dw,Ew,Fw,Jw,Kw,Lw,nG,wO,wO,wO,wO,wO,wO,wO];var gb=[xO,Ab,Bb,Fb,Gb,Hb,$b,ac,yc,zc,Ac,Bc,Cc,Dc,Ec,Qc,Rc,Uc,Vc,Wc,Xc,Yc,Zc,_c,kd,ld,md,od,pd,qd,rd,sd,td,ud,vd,Gd,Hd,Id,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Ud,fe,ge,he,ie,te,ue,ve,xe,Ke,Le,Me,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,df,ef,ff,gf,Kf,Ff,zn,Dy,Vy,Fy,Ey,pz,by,ey,_D,dE,yf,rl,mm,mG,VC,WB,Ax,$I,GG,kI,FI,GI,MI,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO,xO];var hb=[yO,Gc,Lc,ad,fd,Cd,_d,oe,De,af,nf,Yn,Zy,Bz,tz,oz,Ty,Uy,xz,yz,bE,fE,cm,ss,Iw,NB,jI,II,JI,NI,PI,yO];var ib=[zO,Ib,Jb,Mb,xc,Fc,Hc,Kc,$c,bd,ed,xd,yd,Bd,Vd,Wd,Zd,je,ke,ne,ye,ze,Ce,Xe,Ye,$e,hf,jf,mf,ck,dk,ek,jm,An,ao,Ko,Pp,ks,Fv,yx,dy,nB,CC,AC,$D,aE,cE,eE,gE,iG,XH,WH,Cm,cn,po,So,Vo,Bw,wA,Dx,RB,VB,YH,_H,$H,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO,zO];var jb=[AO,Gt,Ht,It,Jt,Kt,Lt,Mt,Nt,AO,AO,AO,AO,AO,AO,AO];var kb=[BO,Kb,Ic,cd,nd,zd,Jd,Xd,le,Ae,Ne,Ze,kf,Bf,Af,zf,xf,wf,vf,_b,uf,tf,xn,Wy,qz,sL,QB,SB,BO,BO,BO,BO];var lb=[CO,Sc,wd,Dd,Td,we,ol,XB];var mb=[DO,Lb,Jc,dd,Ad,Yd,me,Be,_e,lf,YB,DO,DO,DO,DO,DO];return{___errno_location:kJ,___muldi3:HN,___udivdi3:MN,___uremdi3:NN,_bitshift64Lshr:ON,_bitshift64Shl:PN,_dtdisc:Ml,_dtextract:Ol,_dtopen:Rl,_free:$I,_htons:fL,_i64Add:IN,_i64Subtract:JN,_llvm_bswap_i16:QN,_llvm_bswap_i32:RN,_malloc:_I,_memalign:eJ,_memcpy:UN,_memmove:VN,_memset:WN,_realloc:bJ,_saveSetjmp:SN,_sbrk:XN,_testSetjmp:TN,_vizCreateFile:wb,_vizLastErrorMessage:vb,_vizRenderFromString:zb,_vizSetNop:yb,_vizSetY_invert:xb,dynCall_d:YN,dynCall_dddd:ZN,dynCall_i:_N,dynCall_ii:$N,dynCall_iii:aO,dynCall_iiii:bO,dynCall_iiiii:cO,dynCall_iiiiii:dO,dynCall_iiiiiii:eO,dynCall_v:fO,dynCall_vi:gO,dynCall_vii:hO,dynCall_viii:iO,dynCall_viiiddi:jO,dynCall_viiii:kO,dynCall_viiiii:lO,dynCall_viiiiii:mO,establishStackSpace:qb,getTempRet0:tb,runPostSets:FN,setTempRet0:sb,setThrew:rb,stackAlloc:nb,stackRestore:pb,stackSave:ob}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _dtdisc=Module["_dtdisc"]=asm["_dtdisc"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _dtopen=Module["_dtopen"]=asm["_dtopen"];var _free=Module["_free"]=asm["_free"];var _htons=Module["_htons"]=asm["_htons"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _vizSetNop=Module["_vizSetNop"]=asm["_vizSetNop"];var _vizSetY_invert=Module["_vizSetY_invert"]=asm["_vizSetY_invert"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["Pointer_stringify"]=Pointer_stringify;Module["UTF8ToString"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() + + + + + return Module; +}; + +function render(instance, src, options) { + var i; + for (i = 0; i < options.files.length; i++) { + instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]); + } + + instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]); + instance['ccall']('vizSetNop', 'number', ['number'], [options.nop ? options.nop : 0]); + + var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]); + var resultString = instance['Pointer_stringify'](resultPointer); + instance['ccall']('free', 'number', ['number'], [resultPointer]); + + var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []); + var errorMessageString = instance['Pointer_stringify'](errorMessagePointer); + instance['ccall']('free', 'number', ['number'], [errorMessagePointer]); + + if (errorMessageString != '') { + throw new Error(errorMessageString); + } + + return resultString; +} + +if (typeof importScripts === "function") { + var instance = Module(); + + onmessage = function(event) { + var id = event.data.id; + var src = event.data.src; + var options = event.data.options; + + try { + var result = render(instance, src, options); + postMessage({ id: id, result: result }); + } catch (e) { + var error; + if (e instanceof Error) { + error = { message: e.message, fileName: e.fileName, lineNumber: e.lineNumber }; + } else { + error = { message: e.toString() }; + } + postMessage({ id: id, error: error }); + } + } +} + +if (typeof exports === 'object' && typeof module !== 'undefined') { + module.exports = { render: render, Module: Module }; +} else if (typeof define === 'function' && define.amd) { + define(function() { return { render: render, Module: Module }; }); +} + +if (typeof global.Viz !== 'undefined') { + global.Viz.render = render; + global.Viz.Module = Module; +} + +})(typeof self !== 'undefined' ? self : this); diff --git a/VizApp/javascripts/svg-pan-zoom.js b/VizApp/javascripts/svg-pan-zoom.js new file mode 100644 index 0000000..ffe765a --- /dev/null +++ b/VizApp/javascripts/svg-pan-zoom.js @@ -0,0 +1,1900 @@ +// svg-pan-zoom v3.5.2 +// https://github.com/ariutta/svg-pan-zoom +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= 0; i--) { + if (this.eventListeners.hasOwnProperty(haltEventListeners[i])) { + delete this.eventListeners[haltEventListeners[i]] + } + } + } + } + + // Bind eventListeners + for (var event in this.eventListeners) { + // Attach event to eventsListenerElement or SVG if not available + (this.options.eventsListenerElement || this.svg) + .addEventListener(event, this.eventListeners[event], false) + } + + // Zoom using mouse wheel + if (this.options.mouseWheelZoomEnabled) { + this.options.mouseWheelZoomEnabled = false // set to false as enable will set it back to true + this.enableMouseWheelZoom() + } +} + +/** + * Enable ability to zoom using mouse wheel + */ +SvgPanZoom.prototype.enableMouseWheelZoom = function() { + if (!this.options.mouseWheelZoomEnabled) { + var that = this + + // Mouse wheel listener + this.wheelListener = function(evt) { + return that.handleMouseWheel(evt); + } + + // Bind wheelListener + Wheel.on(this.options.eventsListenerElement || this.svg, this.wheelListener, false) + + this.options.mouseWheelZoomEnabled = true + } +} + +/** + * Disable ability to zoom using mouse wheel + */ +SvgPanZoom.prototype.disableMouseWheelZoom = function() { + if (this.options.mouseWheelZoomEnabled) { + Wheel.off(this.options.eventsListenerElement || this.svg, this.wheelListener, false) + this.options.mouseWheelZoomEnabled = false + } +} + +/** + * Handle mouse wheel event + * + * @param {Event} evt + */ +SvgPanZoom.prototype.handleMouseWheel = function(evt) { + if (!this.options.zoomEnabled || this.state !== 'none') { + return; + } + + if (this.options.preventMouseEventsDefault){ + if (evt.preventDefault) { + evt.preventDefault(); + } else { + evt.returnValue = false; + } + } + + // Default delta in case that deltaY is not available + var delta = evt.deltaY || 1 + , timeDelta = Date.now() - this.lastMouseWheelEventTime + , divider = 3 + Math.max(0, 30 - timeDelta) + + // Update cache + this.lastMouseWheelEventTime = Date.now() + + // Make empirical adjustments for browsers that give deltaY in pixels (deltaMode=0) + if ('deltaMode' in evt && evt.deltaMode === 0 && evt.wheelDelta) { + delta = evt.deltaY === 0 ? 0 : Math.abs(evt.wheelDelta) / evt.deltaY + } + + delta = -0.3 < delta && delta < 0.3 ? delta : (delta > 0 ? 1 : -1) * Math.log(Math.abs(delta) + 10) / divider + + var inversedScreenCTM = this.svg.getScreenCTM().inverse() + , relativeMousePoint = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(inversedScreenCTM) + , zoom = Math.pow(1 + this.options.zoomScaleSensitivity, (-1) * delta); // multiplying by neg. 1 so as to make zoom in/out behavior match Google maps behavior + + this.zoomAtPoint(zoom, relativeMousePoint) +} + +/** + * Zoom in at a SVG point + * + * @param {SVGPoint} point + * @param {Float} zoomScale Number representing how much to zoom + * @param {Boolean} zoomAbsolute Default false. If true, zoomScale is treated as an absolute value. + * Otherwise, zoomScale is treated as a multiplied (e.g. 1.10 would zoom in 10%) + */ +SvgPanZoom.prototype.zoomAtPoint = function(zoomScale, point, zoomAbsolute) { + var originalState = this.viewport.getOriginalState() + + if (!zoomAbsolute) { + // Fit zoomScale in set bounds + if (this.getZoom() * zoomScale < this.options.minZoom * originalState.zoom) { + zoomScale = (this.options.minZoom * originalState.zoom) / this.getZoom() + } else if (this.getZoom() * zoomScale > this.options.maxZoom * originalState.zoom) { + zoomScale = (this.options.maxZoom * originalState.zoom) / this.getZoom() + } + } else { + // Fit zoomScale in set bounds + zoomScale = Math.max(this.options.minZoom * originalState.zoom, Math.min(this.options.maxZoom * originalState.zoom, zoomScale)) + // Find relative scale to achieve desired scale + zoomScale = zoomScale/this.getZoom() + } + + var oldCTM = this.viewport.getCTM() + , relativePoint = point.matrixTransform(oldCTM.inverse()) + , modifier = this.svg.createSVGMatrix().translate(relativePoint.x, relativePoint.y).scale(zoomScale).translate(-relativePoint.x, -relativePoint.y) + , newCTM = oldCTM.multiply(modifier) + + if (newCTM.a !== oldCTM.a) { + this.viewport.setCTM(newCTM) + } +} + +/** + * Zoom at center point + * + * @param {Float} scale + * @param {Boolean} absolute Marks zoom scale as relative or absolute + */ +SvgPanZoom.prototype.zoom = function(scale, absolute) { + this.zoomAtPoint(scale, SvgUtils.getSvgCenterPoint(this.svg, this.width, this.height), absolute) +} + +/** + * Zoom used by public instance + * + * @param {Float} scale + * @param {Boolean} absolute Marks zoom scale as relative or absolute + */ +SvgPanZoom.prototype.publicZoom = function(scale, absolute) { + if (absolute) { + scale = this.computeFromRelativeZoom(scale) + } + + this.zoom(scale, absolute) +} + +/** + * Zoom at point used by public instance + * + * @param {Float} scale + * @param {SVGPoint|Object} point An object that has x and y attributes + * @param {Boolean} absolute Marks zoom scale as relative or absolute + */ +SvgPanZoom.prototype.publicZoomAtPoint = function(scale, point, absolute) { + if (absolute) { + // Transform zoom into a relative value + scale = this.computeFromRelativeZoom(scale) + } + + // If not a SVGPoint but has x and y then create a SVGPoint + if (Utils.getType(point) !== 'SVGPoint') { + if('x' in point && 'y' in point) { + point = SvgUtils.createSVGPoint(this.svg, point.x, point.y) + } else { + throw new Error('Given point is invalid') + } + } + + this.zoomAtPoint(scale, point, absolute) +} + +/** + * Get zoom scale + * + * @return {Float} zoom scale + */ +SvgPanZoom.prototype.getZoom = function() { + return this.viewport.getZoom() +} + +/** + * Get zoom scale for public usage + * + * @return {Float} zoom scale + */ +SvgPanZoom.prototype.getRelativeZoom = function() { + return this.viewport.getRelativeZoom() +} + +/** + * Compute actual zoom from public zoom + * + * @param {Float} zoom + * @return {Float} zoom scale + */ +SvgPanZoom.prototype.computeFromRelativeZoom = function(zoom) { + return zoom * this.viewport.getOriginalState().zoom +} + +/** + * Set zoom to initial state + */ +SvgPanZoom.prototype.resetZoom = function() { + var originalState = this.viewport.getOriginalState() + + this.zoom(originalState.zoom, true); +} + +/** + * Set pan to initial state + */ +SvgPanZoom.prototype.resetPan = function() { + this.pan(this.viewport.getOriginalState()); +} + +/** + * Set pan and zoom to initial state + */ +SvgPanZoom.prototype.reset = function() { + this.resetZoom() + this.resetPan() +} + +/** + * Handle double click event + * See handleMouseDown() for alternate detection method + * + * @param {Event} evt + */ +SvgPanZoom.prototype.handleDblClick = function(evt) { + if (this.options.preventMouseEventsDefault) { + if (evt.preventDefault) { + evt.preventDefault() + } else { + evt.returnValue = false + } + } + + // Check if target was a control button + if (this.options.controlIconsEnabled) { + var targetClass = evt.target.getAttribute('class') || '' + if (targetClass.indexOf('svg-pan-zoom-control') > -1) { + return false + } + } + + var zoomFactor + + if (evt.shiftKey) { + zoomFactor = 1/((1 + this.options.zoomScaleSensitivity) * 2) // zoom out when shift key pressed + } else { + zoomFactor = (1 + this.options.zoomScaleSensitivity) * 2 + } + + var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(this.svg.getScreenCTM().inverse()) + this.zoomAtPoint(zoomFactor, point) +} + +/** + * Handle click event + * + * @param {Event} evt + */ +SvgPanZoom.prototype.handleMouseDown = function(evt, prevEvt) { + if (this.options.preventMouseEventsDefault) { + if (evt.preventDefault) { + evt.preventDefault() + } else { + evt.returnValue = false + } + } + + Utils.mouseAndTouchNormalize(evt, this.svg) + + // Double click detection; more consistent than ondblclick + if (this.options.dblClickZoomEnabled && Utils.isDblClick(evt, prevEvt)){ + this.handleDblClick(evt) + } else { + // Pan mode + this.state = 'pan' + this.firstEventCTM = this.viewport.getCTM() + this.stateOrigin = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(this.firstEventCTM.inverse()) + } +} + +/** + * Handle mouse move event + * + * @param {Event} evt + */ +SvgPanZoom.prototype.handleMouseMove = function(evt) { + if (this.options.preventMouseEventsDefault) { + if (evt.preventDefault) { + evt.preventDefault() + } else { + evt.returnValue = false + } + } + + if (this.state === 'pan' && this.options.panEnabled) { + // Pan mode + var point = SvgUtils.getEventPoint(evt, this.svg).matrixTransform(this.firstEventCTM.inverse()) + , viewportCTM = this.firstEventCTM.translate(point.x - this.stateOrigin.x, point.y - this.stateOrigin.y) + + this.viewport.setCTM(viewportCTM) + } +} + +/** + * Handle mouse button release event + * + * @param {Event} evt + */ +SvgPanZoom.prototype.handleMouseUp = function(evt) { + if (this.options.preventMouseEventsDefault) { + if (evt.preventDefault) { + evt.preventDefault() + } else { + evt.returnValue = false + } + } + + if (this.state === 'pan') { + // Quit pan mode + this.state = 'none' + } +} + +/** + * Adjust viewport size (only) so it will fit in SVG + * Does not center image + */ +SvgPanZoom.prototype.fit = function() { + var viewBox = this.viewport.getViewBox() + , newScale = Math.min(this.width/viewBox.width, this.height/viewBox.height) + + this.zoom(newScale, true) +} + +/** + * Adjust viewport size (only) so it will contain the SVG + * Does not center image + */ +SvgPanZoom.prototype.contain = function() { + var viewBox = this.viewport.getViewBox() + , newScale = Math.max(this.width/viewBox.width, this.height/viewBox.height) + + this.zoom(newScale, true) +} + +/** + * Adjust viewport pan (only) so it will be centered in SVG + * Does not zoom/fit/contain image + */ +SvgPanZoom.prototype.center = function() { + var viewBox = this.viewport.getViewBox() + , offsetX = (this.width - (viewBox.width + viewBox.x * 2) * this.getZoom()) * 0.5 + , offsetY = (this.height - (viewBox.height + viewBox.y * 2) * this.getZoom()) * 0.5 + + this.getPublicInstance().pan({x: offsetX, y: offsetY}) +} + +/** + * Update content cached BorderBox + * Use when viewport contents change + */ +SvgPanZoom.prototype.updateBBox = function() { + this.viewport.simpleViewBoxCache() +} + +/** + * Pan to a rendered position + * + * @param {Object} point {x: 0, y: 0} + */ +SvgPanZoom.prototype.pan = function(point) { + var viewportCTM = this.viewport.getCTM() + viewportCTM.e = point.x + viewportCTM.f = point.y + this.viewport.setCTM(viewportCTM) +} + +/** + * Relatively pan the graph by a specified rendered position vector + * + * @param {Object} point {x: 0, y: 0} + */ +SvgPanZoom.prototype.panBy = function(point) { + var viewportCTM = this.viewport.getCTM() + viewportCTM.e += point.x + viewportCTM.f += point.y + this.viewport.setCTM(viewportCTM) +} + +/** + * Get pan vector + * + * @return {Object} {x: 0, y: 0} + */ +SvgPanZoom.prototype.getPan = function() { + var state = this.viewport.getState() + + return {x: state.x, y: state.y} +} + +/** + * Recalculates cached svg dimensions and controls position + */ +SvgPanZoom.prototype.resize = function() { + // Get dimensions + var boundingClientRectNormalized = SvgUtils.getBoundingClientRectNormalized(this.svg) + this.width = boundingClientRectNormalized.width + this.height = boundingClientRectNormalized.height + + // Recalculate original state + var viewport = this.viewport + viewport.options.width = this.width + viewport.options.height = this.height + viewport.processCTM() + + // Reposition control icons by re-enabling them + if (this.options.controlIconsEnabled) { + this.getPublicInstance().disableControlIcons() + this.getPublicInstance().enableControlIcons() + } +} + +/** + * Unbind mouse events, free callbacks and destroy public instance + */ +SvgPanZoom.prototype.destroy = function() { + var that = this + + // Free callbacks + this.beforeZoom = null + this.onZoom = null + this.beforePan = null + this.onPan = null + this.onUpdatedCTM = null + + // Destroy custom event handlers + if (this.options.customEventsHandler != null) { // jshint ignore:line + this.options.customEventsHandler.destroy({ + svgElement: this.svg + , eventsListenerElement: this.options.eventsListenerElement + , instance: this.getPublicInstance() + }) + } + + // Unbind eventListeners + for (var event in this.eventListeners) { + (this.options.eventsListenerElement || this.svg) + .removeEventListener(event, this.eventListeners[event], false) + } + + // Unbind wheelListener + this.disableMouseWheelZoom() + + // Remove control icons + this.getPublicInstance().disableControlIcons() + + // Reset zoom and pan + this.reset() + + // Remove instance from instancesStore + instancesStore = instancesStore.filter(function(instance){ + return instance.svg !== that.svg + }) + + // Delete options and its contents + delete this.options + + // Delete viewport to make public shadow viewport functions uncallable + delete this.viewport + + // Destroy public instance and rewrite getPublicInstance + delete this.publicInstance + delete this.pi + this.getPublicInstance = function(){ + return null + } +} + +/** + * Returns a public instance object + * + * @return {Object} Public instance object + */ +SvgPanZoom.prototype.getPublicInstance = function() { + var that = this + + // Create cache + if (!this.publicInstance) { + this.publicInstance = this.pi = { + // Pan + enablePan: function() {that.options.panEnabled = true; return that.pi} + , disablePan: function() {that.options.panEnabled = false; return that.pi} + , isPanEnabled: function() {return !!that.options.panEnabled} + , pan: function(point) {that.pan(point); return that.pi} + , panBy: function(point) {that.panBy(point); return that.pi} + , getPan: function() {return that.getPan()} + // Pan event + , setBeforePan: function(fn) {that.options.beforePan = fn === null ? null : Utils.proxy(fn, that.publicInstance); return that.pi} + , setOnPan: function(fn) {that.options.onPan = fn === null ? null : Utils.proxy(fn, that.publicInstance); return that.pi} + // Zoom and Control Icons + , enableZoom: function() {that.options.zoomEnabled = true; return that.pi} + , disableZoom: function() {that.options.zoomEnabled = false; return that.pi} + , isZoomEnabled: function() {return !!that.options.zoomEnabled} + , enableControlIcons: function() { + if (!that.options.controlIconsEnabled) { + that.options.controlIconsEnabled = true + ControlIcons.enable(that) + } + return that.pi + } + , disableControlIcons: function() { + if (that.options.controlIconsEnabled) { + that.options.controlIconsEnabled = false; + ControlIcons.disable(that) + } + return that.pi + } + , isControlIconsEnabled: function() {return !!that.options.controlIconsEnabled} + // Double click zoom + , enableDblClickZoom: function() {that.options.dblClickZoomEnabled = true; return that.pi} + , disableDblClickZoom: function() {that.options.dblClickZoomEnabled = false; return that.pi} + , isDblClickZoomEnabled: function() {return !!that.options.dblClickZoomEnabled} + // Mouse wheel zoom + , enableMouseWheelZoom: function() {that.enableMouseWheelZoom(); return that.pi} + , disableMouseWheelZoom: function() {that.disableMouseWheelZoom(); return that.pi} + , isMouseWheelZoomEnabled: function() {return !!that.options.mouseWheelZoomEnabled} + // Zoom scale and bounds + , setZoomScaleSensitivity: function(scale) {that.options.zoomScaleSensitivity = scale; return that.pi} + , setMinZoom: function(zoom) {that.options.minZoom = zoom; return that.pi} + , setMaxZoom: function(zoom) {that.options.maxZoom = zoom; return that.pi} + // Zoom event + , setBeforeZoom: function(fn) {that.options.beforeZoom = fn === null ? null : Utils.proxy(fn, that.publicInstance); return that.pi} + , setOnZoom: function(fn) {that.options.onZoom = fn === null ? null : Utils.proxy(fn, that.publicInstance); return that.pi} + // Zooming + , zoom: function(scale) {that.publicZoom(scale, true); return that.pi} + , zoomBy: function(scale) {that.publicZoom(scale, false); return that.pi} + , zoomAtPoint: function(scale, point) {that.publicZoomAtPoint(scale, point, true); return that.pi} + , zoomAtPointBy: function(scale, point) {that.publicZoomAtPoint(scale, point, false); return that.pi} + , zoomIn: function() {this.zoomBy(1 + that.options.zoomScaleSensitivity); return that.pi} + , zoomOut: function() {this.zoomBy(1 / (1 + that.options.zoomScaleSensitivity)); return that.pi} + , getZoom: function() {return that.getRelativeZoom()} + // CTM update + , setOnUpdatedCTM: function(fn) {that.options.onUpdatedCTM = fn === null ? null : Utils.proxy(fn, that.publicInstance); return that.pi} + // Reset + , resetZoom: function() {that.resetZoom(); return that.pi} + , resetPan: function() {that.resetPan(); return that.pi} + , reset: function() {that.reset(); return that.pi} + // Fit, Contain and Center + , fit: function() {that.fit(); return that.pi} + , contain: function() {that.contain(); return that.pi} + , center: function() {that.center(); return that.pi} + // Size and Resize + , updateBBox: function() {that.updateBBox(); return that.pi} + , resize: function() {that.resize(); return that.pi} + , getSizes: function() { + return { + width: that.width + , height: that.height + , realZoom: that.getZoom() + , viewBox: that.viewport.getViewBox() + } + } + // Destroy + , destroy: function() {that.destroy(); return that.pi} + } + } + + return this.publicInstance +} + +/** + * Stores pairs of instances of SvgPanZoom and SVG + * Each pair is represented by an object {svg: SVGSVGElement, instance: SvgPanZoom} + * + * @type {Array} + */ +var instancesStore = [] + +var svgPanZoom = function(elementOrSelector, options){ + var svg = Utils.getSvg(elementOrSelector) + + if (svg === null) { + return null + } else { + // Look for existent instance + for(var i = instancesStore.length - 1; i >= 0; i--) { + if (instancesStore[i].svg === svg) { + return instancesStore[i].instance.getPublicInstance() + } + } + + // If instance not found - create one + instancesStore.push({ + svg: svg + , instance: new SvgPanZoom(svg, options) + }) + + // Return just pushed instance + return instancesStore[instancesStore.length - 1].instance.getPublicInstance() + } +} + +module.exports = svgPanZoom; + +},{"./control-icons":2,"./shadow-viewport":3,"./svg-utilities":5,"./uniwheel":6,"./utilities":7}],5:[function(require,module,exports){ +var Utils = require('./utilities') + , _browser = 'unknown' + ; + +// http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser +if (/*@cc_on!@*/false || !!document.documentMode) { // internet explorer + _browser = 'ie'; +} + +module.exports = { + svgNS: 'http://www.w3.org/2000/svg' +, xmlNS: 'http://www.w3.org/XML/1998/namespace' +, xmlnsNS: 'http://www.w3.org/2000/xmlns/' +, xlinkNS: 'http://www.w3.org/1999/xlink' +, evNS: 'http://www.w3.org/2001/xml-events' + + /** + * Get svg dimensions: width and height + * + * @param {SVGSVGElement} svg + * @return {Object} {width: 0, height: 0} + */ +, getBoundingClientRectNormalized: function(svg) { + if (svg.clientWidth && svg.clientHeight) { + return {width: svg.clientWidth, height: svg.clientHeight} + } else if (!!svg.getBoundingClientRect()) { + return svg.getBoundingClientRect(); + } else { + throw new Error('Cannot get BoundingClientRect for SVG.'); + } + } + + /** + * Gets g element with class of "viewport" or creates it if it doesn't exist + * + * @param {SVGSVGElement} svg + * @return {SVGElement} g (group) element + */ +, getOrCreateViewport: function(svg, selector) { + var viewport = null + + if (Utils.isElement(selector)) { + viewport = selector + } else { + viewport = svg.querySelector(selector) + } + + // Check if there is just one main group in SVG + if (!viewport) { + var childNodes = Array.prototype.slice.call(svg.childNodes || svg.children).filter(function(el){ + return el.nodeName !== 'defs' && el.nodeName !== '#text' + }) + + // Node name should be SVGGElement and should have no transform attribute + // Groups with transform are not used as viewport because it involves parsing of all transform possibilities + if (childNodes.length === 1 && childNodes[0].nodeName === 'g' && childNodes[0].getAttribute('transform') === null) { + viewport = childNodes[0] + } + } + + // If no favorable group element exists then create one + if (!viewport) { + var viewportId = 'viewport-' + new Date().toISOString().replace(/\D/g, ''); + viewport = document.createElementNS(this.svgNS, 'g'); + viewport.setAttribute('id', viewportId); + + // Internet Explorer (all versions?) can't use childNodes, but other browsers prefer (require?) using childNodes + var svgChildren = svg.childNodes || svg.children; + if (!!svgChildren && svgChildren.length > 0) { + for (var i = svgChildren.length; i > 0; i--) { + // Move everything into viewport except defs + if (svgChildren[svgChildren.length - i].nodeName !== 'defs') { + viewport.appendChild(svgChildren[svgChildren.length - i]); + } + } + } + svg.appendChild(viewport); + } + + // Parse class names + var classNames = []; + if (viewport.getAttribute('class')) { + classNames = viewport.getAttribute('class').split(' ') + } + + // Set class (if not set already) + if (!~classNames.indexOf('svg-pan-zoom_viewport')) { + classNames.push('svg-pan-zoom_viewport') + viewport.setAttribute('class', classNames.join(' ')) + } + + return viewport + } + + /** + * Set SVG attributes + * + * @param {SVGSVGElement} svg + */ + , setupSvgAttributes: function(svg) { + // Setting default attributes + svg.setAttribute('xmlns', this.svgNS); + svg.setAttributeNS(this.xmlnsNS, 'xmlns:xlink', this.xlinkNS); + svg.setAttributeNS(this.xmlnsNS, 'xmlns:ev', this.evNS); + + // Needed for Internet Explorer, otherwise the viewport overflows + if (svg.parentNode !== null) { + var style = svg.getAttribute('style') || ''; + if (style.toLowerCase().indexOf('overflow') === -1) { + svg.setAttribute('style', 'overflow: hidden; ' + style); + } + } + } + +/** + * How long Internet Explorer takes to finish updating its display (ms). + */ +, internetExplorerRedisplayInterval: 300 + +/** + * Forces the browser to redisplay all SVG elements that rely on an + * element defined in a 'defs' section. It works globally, for every + * available defs element on the page. + * The throttling is intentionally global. + * + * This is only needed for IE. It is as a hack to make markers (and 'use' elements?) + * visible after pan/zoom when there are multiple SVGs on the page. + * See bug report: https://connect.microsoft.com/IE/feedback/details/781964/ + * also see svg-pan-zoom issue: https://github.com/ariutta/svg-pan-zoom/issues/62 + */ +, refreshDefsGlobal: Utils.throttle(function() { + var allDefs = document.querySelectorAll('defs'); + var allDefsCount = allDefs.length; + for (var i = 0; i < allDefsCount; i++) { + var thisDefs = allDefs[i]; + thisDefs.parentNode.insertBefore(thisDefs, thisDefs); + } + }, this.internetExplorerRedisplayInterval) + + /** + * Sets the current transform matrix of an element + * + * @param {SVGElement} element + * @param {SVGMatrix} matrix CTM + * @param {SVGElement} defs + */ +, setCTM: function(element, matrix, defs) { + var that = this + , s = 'matrix(' + matrix.a + ',' + matrix.b + ',' + matrix.c + ',' + matrix.d + ',' + matrix.e + ',' + matrix.f + ')'; + + element.setAttributeNS(null, 'transform', s); + if ('transform' in element.style) { + element.style.transform = s; + } else if ('-ms-transform' in element.style) { + element.style['-ms-transform'] = s; + } else if ('-webkit-transform' in element.style) { + element.style['-webkit-transform'] = s; + } + + // IE has a bug that makes markers disappear on zoom (when the matrix "a" and/or "d" elements change) + // see http://stackoverflow.com/questions/17654578/svg-marker-does-not-work-in-ie9-10 + // and http://srndolha.wordpress.com/2013/11/25/svg-line-markers-may-disappear-in-internet-explorer-11/ + if (_browser === 'ie' && !!defs) { + // this refresh is intended for redisplaying the SVG during zooming + defs.parentNode.insertBefore(defs, defs); + // this refresh is intended for redisplaying the other SVGs on a page when panning a given SVG + // it is also needed for the given SVG itself, on zoomEnd, if the SVG contains any markers that + // are located under any other element(s). + window.setTimeout(function() { + that.refreshDefsGlobal(); + }, that.internetExplorerRedisplayInterval); + } + } + + /** + * Instantiate an SVGPoint object with given event coordinates + * + * @param {Event} evt + * @param {SVGSVGElement} svg + * @return {SVGPoint} point + */ +, getEventPoint: function(evt, svg) { + var point = svg.createSVGPoint() + + Utils.mouseAndTouchNormalize(evt, svg) + + point.x = evt.clientX + point.y = evt.clientY + + return point + } + + /** + * Get SVG center point + * + * @param {SVGSVGElement} svg + * @return {SVGPoint} + */ +, getSvgCenterPoint: function(svg, width, height) { + return this.createSVGPoint(svg, width / 2, height / 2) + } + + /** + * Create a SVGPoint with given x and y + * + * @param {SVGSVGElement} svg + * @param {Number} x + * @param {Number} y + * @return {SVGPoint} + */ +, createSVGPoint: function(svg, x, y) { + var point = svg.createSVGPoint() + point.x = x + point.y = y + + return point + } +} + +},{"./utilities":7}],6:[function(require,module,exports){ +// uniwheel 0.1.2 (customized) +// A unified cross browser mouse wheel event handler +// https://github.com/teemualap/uniwheel + +module.exports = (function(){ + + //Full details: https://developer.mozilla.org/en-US/docs/Web/Reference/Events/wheel + + var prefix = "", _addEventListener, _removeEventListener, onwheel, support, fns = []; + + // detect event model + if ( window.addEventListener ) { + _addEventListener = "addEventListener"; + _removeEventListener = "removeEventListener"; + } else { + _addEventListener = "attachEvent"; + _removeEventListener = "detachEvent"; + prefix = "on"; + } + + // detect available wheel event + support = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel" + document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel" + "DOMMouseScroll"; // let's assume that remaining browsers are older Firefox + + + function createCallback(element,callback,capture) { + + var fn = function(originalEvent) { + + !originalEvent && ( originalEvent = window.event ); + + // create a normalized event object + var event = { + // keep a ref to the original event object + originalEvent: originalEvent, + target: originalEvent.target || originalEvent.srcElement, + type: "wheel", + deltaMode: originalEvent.type == "MozMousePixelScroll" ? 0 : 1, + deltaX: 0, + delatZ: 0, + preventDefault: function() { + originalEvent.preventDefault ? + originalEvent.preventDefault() : + originalEvent.returnValue = false; + } + }; + + // calculate deltaY (and deltaX) according to the event + if ( support == "mousewheel" ) { + event.deltaY = - 1/40 * originalEvent.wheelDelta; + // Webkit also support wheelDeltaX + originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX ); + } else { + event.deltaY = originalEvent.detail; + } + + // it's time to fire the callback + return callback( event ); + + }; + + fns.push({ + element: element, + fn: fn, + capture: capture + }); + + return fn; + } + + function getCallback(element,capture) { + for (var i = 0; i < fns.length; i++) { + if (fns[i].element === element && fns[i].capture === capture) { + return fns[i].fn; + } + } + return function(){}; + } + + function removeCallback(element,capture) { + for (var i = 0; i < fns.length; i++) { + if (fns[i].element === element && fns[i].capture === capture) { + return fns.splice(i,1); + } + } + } + + function _addWheelListener( elem, eventName, callback, useCapture ) { + + var cb; + + if (support === "wheel") { + cb = callback; + } else { + cb = createCallback(elem,callback,useCapture); + } + + elem[ _addEventListener ]( prefix + eventName, cb, useCapture || false ); + + } + + function _removeWheelListener( elem, eventName, callback, useCapture ) { + + var cb; + + if (support === "wheel") { + cb = callback; + } else { + cb = getCallback(elem,useCapture); + } + + elem[ _removeEventListener ]( prefix + eventName, cb, useCapture || false ); + + removeCallback(elem,useCapture); + + } + + function addWheelListener( elem, callback, useCapture ) { + _addWheelListener( elem, support, callback, useCapture ); + + // handle MozMousePixelScroll in older Firefox + if( support == "DOMMouseScroll" ) { + _addWheelListener( elem, "MozMousePixelScroll", callback, useCapture); + } + } + + function removeWheelListener(elem,callback,useCapture){ + _removeWheelListener(elem,support,callback,useCapture); + + // handle MozMousePixelScroll in older Firefox + if( support == "DOMMouseScroll" ) { + _removeWheelListener(elem, "MozMousePixelScroll", callback, useCapture); + } + } + + return { + on: addWheelListener, + off: removeWheelListener + }; + +})(); + +},{}],7:[function(require,module,exports){ +module.exports = { + /** + * Extends an object + * + * @param {Object} target object to extend + * @param {Object} source object to take properties from + * @return {Object} extended object + */ + extend: function(target, source) { + target = target || {}; + for (var prop in source) { + // Go recursively + if (this.isObject(source[prop])) { + target[prop] = this.extend(target[prop], source[prop]) + } else { + target[prop] = source[prop] + } + } + return target; + } + + /** + * Checks if an object is a DOM element + * + * @param {Object} o HTML element or String + * @return {Boolean} returns true if object is a DOM element + */ +, isElement: function(o){ + return ( + o instanceof HTMLElement || o instanceof SVGElement || o instanceof SVGSVGElement || //DOM2 + (o && typeof o === 'object' && o !== null && o.nodeType === 1 && typeof o.nodeName === 'string') + ); + } + + /** + * Checks if an object is an Object + * + * @param {Object} o Object + * @return {Boolean} returns true if object is an Object + */ +, isObject: function(o){ + return Object.prototype.toString.call(o) === '[object Object]'; + } + + /** + * Checks if variable is Number + * + * @param {Integer|Float} n + * @return {Boolean} returns true if variable is Number + */ +, isNumber: function(n) { + return !isNaN(parseFloat(n)) && isFinite(n); + } + + /** + * Search for an SVG element + * + * @param {Object|String} elementOrSelector DOM Element or selector String + * @return {Object|Null} SVG or null + */ +, getSvg: function(elementOrSelector) { + var element + , svg; + + if (!this.isElement(elementOrSelector)) { + // If selector provided + if (typeof elementOrSelector === 'string' || elementOrSelector instanceof String) { + // Try to find the element + element = document.querySelector(elementOrSelector) + + if (!element) { + throw new Error('Provided selector did not find any elements. Selector: ' + elementOrSelector) + return null + } + } else { + throw new Error('Provided selector is not an HTML object nor String') + return null + } + } else { + element = elementOrSelector + } + + if (element.tagName.toLowerCase() === 'svg') { + svg = element; + } else { + if (element.tagName.toLowerCase() === 'object') { + svg = element.contentDocument.documentElement; + } else { + if (element.tagName.toLowerCase() === 'embed') { + svg = element.getSVGDocument().documentElement; + } else { + if (element.tagName.toLowerCase() === 'img') { + throw new Error('Cannot script an SVG in an "img" element. Please use an "object" element or an in-line SVG.'); + } else { + throw new Error('Cannot get SVG.'); + } + return null + } + } + } + + return svg + } + + /** + * Attach a given context to a function + * @param {Function} fn Function + * @param {Object} context Context + * @return {Function} Function with certain context + */ +, proxy: function(fn, context) { + return function() { + return fn.apply(context, arguments) + } + } + + /** + * Returns object type + * Uses toString that returns [object SVGPoint] + * And than parses object type from string + * + * @param {Object} o Any object + * @return {String} Object type + */ +, getType: function(o) { + return Object.prototype.toString.apply(o).replace(/^\[object\s/, '').replace(/\]$/, '') + } + + /** + * If it is a touch event than add clientX and clientY to event object + * + * @param {Event} evt + * @param {SVGSVGElement} svg + */ +, mouseAndTouchNormalize: function(evt, svg) { + // If no clientX then fallback + if (evt.clientX === void 0 || evt.clientX === null) { + // Fallback + evt.clientX = 0 + evt.clientY = 0 + + // If it is a touch event + if (evt.touches !== void 0 && evt.touches.length) { + if (evt.touches[0].clientX !== void 0) { + evt.clientX = evt.touches[0].clientX + evt.clientY = evt.touches[0].clientY + } else if (evt.touches[0].pageX !== void 0) { + var rect = svg.getBoundingClientRect(); + + evt.clientX = evt.touches[0].pageX - rect.left + evt.clientY = evt.touches[0].pageY - rect.top + } + // If it is a custom event + } else if (evt.originalEvent !== void 0) { + if (evt.originalEvent.clientX !== void 0) { + evt.clientX = evt.originalEvent.clientX + evt.clientY = evt.originalEvent.clientY + } + } + } + } + + /** + * Check if an event is a double click/tap + * TODO: For touch gestures use a library (hammer.js) that takes in account other events + * (touchmove and touchend). It should take in account tap duration and traveled distance + * + * @param {Event} evt + * @param {Event} prevEvt Previous Event + * @return {Boolean} + */ +, isDblClick: function(evt, prevEvt) { + // Double click detected by browser + if (evt.detail === 2) { + return true; + } + // Try to compare events + else if (prevEvt !== void 0 && prevEvt !== null) { + var timeStampDiff = evt.timeStamp - prevEvt.timeStamp // should be lower than 250 ms + , touchesDistance = Math.sqrt(Math.pow(evt.clientX - prevEvt.clientX, 2) + Math.pow(evt.clientY - prevEvt.clientY, 2)) + + return timeStampDiff < 250 && touchesDistance < 10 + } + + // Nothing found + return false; + } + + /** + * Returns current timestamp as an integer + * + * @return {Number} + */ +, now: Date.now || function() { + return new Date().getTime(); + } + + // From underscore. + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. +// jscs:disable +// jshint ignore:start +, throttle: function(func, wait, options) { + var that = this; + var context, args, result; + var timeout = null; + var previous = 0; + if (!options) options = {}; + var later = function() { + previous = options.leading === false ? 0 : that.now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + return function() { + var now = that.now(); + if (!previous && options.leading === false) previous = now; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + } +// jshint ignore:end +// jscs:enable + + /** + * Create a requestAnimationFrame simulation + * + * @param {Number|String} refreshRate + * @return {Function} + */ +, createRequestAnimationFrame: function(refreshRate) { + var timeout = null + + // Convert refreshRate to timeout + if (refreshRate !== 'auto' && refreshRate < 60 && refreshRate > 1) { + timeout = Math.floor(1000 / refreshRate) + } + + if (timeout === null) { + return window.requestAnimationFrame || requestTimeout(33) + } else { + return requestTimeout(timeout) + } + } +} + +/** + * Create a callback that will execute after a given timeout + * + * @param {Function} timeout + * @return {Function} + */ +function requestTimeout(timeout) { + return function(callback) { + window.setTimeout(callback, timeout) + } +} + +},{}]},{},[1]); + diff --git a/VizApp/javascripts/viz.js b/VizApp/javascripts/viz.js new file mode 100644 index 0000000..d9e55bd --- /dev/null +++ b/VizApp/javascripts/viz.js @@ -0,0 +1,333 @@ +/* +Viz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) +Copyright (c) 2014-2018 Michael Daines +Licensed under MIT license + +This distribution contains other software in object code form: + +Graphviz +Licensed under Eclipse Public License - v 1.0 +http://www.graphviz.org + +Expat +Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. +Licensed under MIT license +http://www.libexpat.org + +zlib +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler +http://www.zlib.net/zlib_license.html +*/ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.Viz = factory()); +}(this, (function () { 'use strict'; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; + } : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + + var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } + }; + + var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + }(); + + var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + var WorkerWrapper = function () { + function WorkerWrapper(worker) { + var _this = this; + + classCallCheck(this, WorkerWrapper); + + this.worker = worker; + this.listeners = []; + this.nextId = 0; + + this.worker.addEventListener('message', function (event) { + var id = event.data.id; + var error = event.data.error; + var result = event.data.result; + + _this.listeners[id](error, result); + delete _this.listeners[id]; + }); + } + + createClass(WorkerWrapper, [{ + key: 'render', + value: function render(src, options) { + var _this2 = this; + + return new Promise(function (resolve, reject) { + var id = _this2.nextId++; + + _this2.listeners[id] = function (error, result) { + if (error) { + reject(new Error(error.message, error.fileName, error.lineNumber)); + return; + } + resolve(result); + }; + + _this2.worker.postMessage({ id: id, src: src, options: options }); + }); + } + }]); + return WorkerWrapper; + }(); + + var ModuleWrapper = function ModuleWrapper(module, render) { + classCallCheck(this, ModuleWrapper); + + var instance = module(); + this.render = function (src, options) { + return new Promise(function (resolve, reject) { + try { + resolve(render(instance, src, options)); + } catch (error) { + reject(error); + } + }); + }; + }; + + // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding + + + function b64EncodeUnicode(str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) { + return String.fromCharCode('0x' + p1); + })); + } + + function defaultScale() { + if ('devicePixelRatio' in window && window.devicePixelRatio > 1) { + return window.devicePixelRatio; + } else { + return 1; + } + } + + function svgXmlToImageElement(svgXml) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$scale = _ref.scale, + scale = _ref$scale === undefined ? defaultScale() : _ref$scale, + _ref$mimeType = _ref.mimeType, + mimeType = _ref$mimeType === undefined ? "image/png" : _ref$mimeType, + _ref$quality = _ref.quality, + quality = _ref$quality === undefined ? 1 : _ref$quality; + + return new Promise(function (resolve, reject) { + var svgImage = new Image(); + + svgImage.onload = function () { + var canvas = document.createElement('canvas'); + canvas.width = svgImage.width * scale; + canvas.height = svgImage.height * scale; + + var context = canvas.getContext("2d"); + context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); + + canvas.toBlob(function (blob) { + var image = new Image(); + image.src = URL.createObjectURL(blob); + image.width = svgImage.width; + image.height = svgImage.height; + + resolve(image); + }, mimeType, quality); + }; + + svgImage.onerror = function (e) { + var error; + + if ('error' in e) { + error = e.error; + } else { + error = new Error('Error loading SVG'); + } + + reject(error); + }; + + svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml); + }); + } + + function svgXmlToImageElementFabric(svgXml) { + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref2$scale = _ref2.scale, + scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale, + _ref2$mimeType = _ref2.mimeType, + mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType, + _ref2$quality = _ref2.quality, + quality = _ref2$quality === undefined ? 1 : _ref2$quality; + + var multiplier = scale; + + var format = void 0; + if (mimeType == 'image/jpeg') { + format = 'jpeg'; + } else if (mimeType == 'image/png') { + format = 'png'; + } + + return new Promise(function (resolve, reject) { + fabric.loadSVGFromString(svgXml, function (objects, options) { + // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one element back even given an empty graph, so we will assume an error in this case. + if (objects.length == 0) { + reject(new Error('Error loading SVG with Fabric')); + } + + var element = document.createElement("canvas"); + element.width = options.width; + element.height = options.height; + + var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); + var obj = fabric.util.groupSVGElements(objects, options); + canvas.add(obj).renderAll(); + + var image = new Image(); + image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality }); + image.width = options.width; + image.height = options.height; + + resolve(image); + }); + }); + } + + var Viz = function () { + function Viz() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + workerURL = _ref3.workerURL, + worker = _ref3.worker, + Module = _ref3.Module, + render = _ref3.render; + + classCallCheck(this, Viz); + + if (typeof workerURL !== 'undefined') { + this.wrapper = new WorkerWrapper(new Worker(workerURL)); + } else if (typeof worker !== 'undefined') { + this.wrapper = new WorkerWrapper(worker); + } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') { + this.wrapper = new ModuleWrapper(Module, render); + } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') { + this.wrapper = new ModuleWrapper(Viz.Module, Viz.render); + } else { + throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.'); + } + } + + createClass(Viz, [{ + key: 'renderString', + value: function renderString(src) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref4$format = _ref4.format, + format = _ref4$format === undefined ? 'svg' : _ref4$format, + _ref4$engine = _ref4.engine, + engine = _ref4$engine === undefined ? 'dot' : _ref4$engine, + _ref4$files = _ref4.files, + files = _ref4$files === undefined ? [] : _ref4$files, + _ref4$images = _ref4.images, + images = _ref4$images === undefined ? [] : _ref4$images, + _ref4$yInvert = _ref4.yInvert, + yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert, + _ref4$nop = _ref4.nop, + nop = _ref4$nop === undefined ? 0 : _ref4$nop; + + for (var i = 0; i < images.length; i++) { + files.push({ + path: images[i].path, + data: '\n\n' + }); + } + + return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert, nop: nop }); + } + }, { + key: 'renderSVGElement', + value: function renderSVGElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + var parser = new DOMParser(); + return parser.parseFromString(str, 'image/svg+xml').documentElement; + }); + } + }, { + key: 'renderImageElement', + value: function renderImageElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var scale = options.scale, + mimeType = options.mimeType, + quality = options.quality; + + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === "object" && fabric.loadSVGFromString) { + return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality }); + } else { + return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality }); + } + }); + } + }, { + key: 'renderJSONObject', + value: function renderJSONObject(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var format = options.format; + + + if (format !== 'json' || format !== 'json0') { + format = 'json'; + } + + return this.renderString(src, _extends({}, options, { format: format })).then(function (str) { + return JSON.parse(str); + }); + } + }]); + return Viz; + }(); + + return Viz; + +}))); diff --git a/VizApp/package.json b/VizApp/package.json new file mode 100644 index 0000000..39168e7 --- /dev/null +++ b/VizApp/package.json @@ -0,0 +1,14 @@ +{ + "app":"VizApp", + "name":"Viz editor", + "description":"Create graph with dot language", + "info":{ + "author": "Xuan Sang LE", + "email": "xsang.le@gmail.com", + "licences": "GPLv3" + }, + "version":"0.0.1-a", + "category":"Office", + "iconclass": "fa fa-sitemap", + "mimes":["text/.*graphviz"] +} diff --git a/VizApp/project.json b/VizApp/project.json new file mode 100644 index 0000000..3c9c844 --- /dev/null +++ b/VizApp/project.json @@ -0,0 +1,11 @@ +{ + "name": "VizApp", + "root": "home://workspace/antosdk-apps/Viz", + "css": ["css/main.css"], + "javascripts": [ + "javascripts/svg-pan-zoom.js", + "javascripts/viz.js", + "javascripts/lite.render.js"], + "coffees": ["coffees/main.coffee"], + "copies": ["assets/scheme.html", "package.json", "README.md"] +} \ No newline at end of file diff --git a/packages.json b/packages.json index 54d720a..a83f7ee 100644 --- a/packages.json +++ b/packages.json @@ -161,13 +161,22 @@ "version": "0.0.4-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/TinyEditor/build/release/TinyEditor.zip" }, + { + "pkgname": "VizApp", + "name": "Viz editor", + "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/VizApp/README.md", + "category": "Office", + "author": "Xuan Sang LE", + "version": "0.0.1-a", + "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/VizApp/build/release/VizApp.zip" + }, { "pkgname": "vTerm", "name": "Virtual Terminal", "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/README.md", "category": "System", "author": "Xuan Sang LE", - "version": "0.1.4-a", + "version": "0.1.5-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/build/release/vTerm.zip" }, { diff --git a/vTerm/build/debug/main.js b/vTerm/build/debug/main.js index 96889f1..0ea800b 100644 --- a/vTerm/build/debug/main.js +++ b/vTerm/build/debug/main.js @@ -1 +1 @@ -var e,t;(function(){var e;e=class extends this.OS.application.BaseApplication{constructor(e){super("vTerm",e)}main(){var e;return this.mterm=this.find("myterm"),this.term=new Terminal({cursorBlink:!0}),this.fitAddon=new FitAddon.FitAddon,this.term.loadAddon(this.fitAddon),this.term.setOption("fontSize","12"),this.term.open(this.mterm),this.sub=void 0,this.term.onKey(e=>{if(this.sub)return this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(e.key))}),this.on("focus",()=>this.term.focus()),this.mterm.contextmenuHandle=(e,t)=>(t.items=[{text:"__(Copy)",id:"copy"},{text:"__(Paste)",id:"paste"}],t.onmenuselect=e=>{if(e)return this.mctxHandle(e.data.item.data)},t.show(e)),this.resizeContent(),this.systemsetting.desktop.menu[this.name]||(this.systemsetting.desktop.menu[this.name]={text:"__(Open terminal)",app:"vTerm"}),this.on("hboxchange",e=>this.resizeContent()),e=()=>Antunnel.tunnel?(this.tunnel=Antunnel.tunnel,this.openSession()):(this.error(__("The Antunnel service is not started, please start it first")),this._gui.pushService("Antunnel/AntunnelService").catch(e=>this.error(e.toString(),e)),this.quit()),window.Antunnel?e():(console.log("require Antunnel"),this._api.requires("pkg://Antunnel/main.js").then(()=>e()).catch(e=>(this.error(__("Unable to load Antunnel: {0}",e.toString()),e),this.quit())))}mctxHandle(e){var t;switch(e.id){case"paste":return this._api.getClipboard().then(e=>{if(e&&""!==e)return this.sub&&this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(e)),this.term.focus()}).catch(e=>this.error(__("Unable to paste"),e));case"copy":if(!(t=this.term.getSelection())||""===t)return;return this._api.setClipboard(t)}}resizeContent(){var e,t,r;if(this.fitAddon.fit(),t=this.term.cols,r=this.term.rows,this.sub)return(e=new Uint8Array(8)).set(Antunnel.Msg.bytes_of(t),0),e.set(Antunnel.Msg.bytes_of(r),4),this.sub.send(Antunnel.Msg.CTRL,e)}openSession(){return this.term.clear(),this.term.focus(),this.sub=new Antunnel.Subscriber("vterm"),this.sub.onopen=()=>(console.log("Subscribed"),this.resizeContent($(this.mterm).width(),$(this.mterm).height()),this.term.focus()),this.sub.onerror=e=>(this.error(__("Unable to connect to: vterm"),e),this.sub=void 0),this.sub.onmessage=e=>{if(this.term&&e.data)return this.term.write(new TextDecoder("utf-8").decode(e.data))},this.sub.onclose=()=>(this.sub=void 0,this.notify(__("Terminal connection closed")),this.quit()),this.tunnel.subscribe(this.sub)}cleanup(e){if(this.sub)return this.sub.close()}},this.OS.register("vTerm",e)}).call(this),e=window,t=function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var i=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core,t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),i=Math.max(0,parseInt(t.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue("padding-top"))+parseInt(n.getPropertyValue("padding-bottom"))),s=i-(parseInt(n.getPropertyValue("padding-right"))+parseInt(n.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(s/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}},e}();t.FitAddon=i}])},"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FitAddon=t():e.FitAddon=t(),function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(window,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=33)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var i=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(14);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var i=function(){function e(){this.fg=0,this.bg=0,this.extended=new n}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=i;var n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else t[i++]=s}return i},e}();t.StringToUtf32=i;var n=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},function(e,t,r){"use strict";var i,n,o,s;function a(e){var t=e.toString(16);return t.length<2?"0"+t:t}function c(e,t){return e>>0}}(i=t.channels||(t.channels={})),(n=t.color||(t.color={})).blend=function(e,t){var r=(255&t.rgba)/255;if(1===r)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*r),u=c+Math.round((o-c)*r),f=l+Math.round((s-l)*r);return{css:i.toCss(h,u,f),rgba:i.toRgba(h,u,f)}},n.ensureContrastRatio=function(e,t,r){var i=s.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return s.toColor(i>>24&255,i>>16&255,i>>8&255)},n.opaque=function(e){var t=(255|e.rgba)>>>0,r=s.toChannels(t),n=r[0],o=r[1],a=r[2];return{css:i.toCss(n,o,a),rgba:t}},(t.css||(t.css={})).toColor=function(e){return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0}},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}function r(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,i,n){var s=o.relativeLuminance(e>>8),a=o.relativeLuminance(i>>8);if(c(s,a)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,r){return{css:i.toCss(e,t,r),rgba:i.toRgba(e,t,r)}}}(s=t.rgba||(t.rgba={})),t.toPaddedHex=a,t.contrastRatio=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var i="undefined"==typeof navigator,n=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function s(e,t){return e.indexOf(t)>=0}t.isFirefox=!!~n.indexOf("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(n),t.isMac=s(["Macintosh","MacIntel","MacPPC","Mac68K"],o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=s(["Windows","Win16","Win32","WinCE"],o),t.isLinux=o.indexOf("Linux")>=0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(t.C0||(t.C0={})),function(e){e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"}(t.C1||(t.C1={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(3),n=r(9),o=r(24),s=r(6),a=r(27),c=r(10),l=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e,t;null===(e=this._canvas.parentElement)||void 0===e||e.removeChild(this._canvas),null===(t=this._charAtlas)||void 0===t||t.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="middle",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=l},function(e,t,r){"use strict";function i(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(r,e,n)};return r.toString=function(){return e},t.serviceRegistry.set(e,r),r}},function(e,t,r){"use strict";function i(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t>22||1}return o},e}();t.BufferLine=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;var o,s=r(12),a=r(19),c=r(38),l=r(2),h=r(15),u=r(8),f=r(16),_=r(0),d=r(3),p=r(4),v=r(6),g=r(21),y=r(23),b={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function m(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var S=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(e){var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");case'"p':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");case"m":return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}}else this._data=new Uint32Array(0)},e}(),C=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var y=e.call(this)||this;y._bufferService=t,y._charsetService=r,y._coreService=i,y._dirtyRowService=n,y._logService=o,y._optionsService=l,y._coreMouseService=h,y._unicodeService=d,y._parser=v,y._parseBuffer=new Uint32Array(4096),y._stringDecoder=new u.StringToUtf32,y._utf8Decoder=new u.Utf8ToUtf32,y._workCell=new p.CellData,y._windowTitle="",y._iconName="",y._windowTitleStack=[],y._iconNameStack=[],y._curAttrData=f.DEFAULT_ATTR_DATA.clone(),y._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),y._onRequestBell=new _.EventEmitter,y._onRequestRefreshRows=new _.EventEmitter,y._onRequestReset=new _.EventEmitter,y._onRequestScroll=new _.EventEmitter,y._onRequestSyncScrollBar=new _.EventEmitter,y._onRequestWindowsOptionsReport=new _.EventEmitter,y._onA11yChar=new _.EventEmitter,y._onA11yTab=new _.EventEmitter,y._onCursorMove=new _.EventEmitter,y._onLineFeed=new _.EventEmitter,y._onScroll=new _.EventEmitter,y._onTitleChange=new _.EventEmitter,y.register(y._parser),y._parser.setCsiHandlerFallback((function(e,t){y._logService.debug("Unknown CSI code: ",{identifier:y._parser.identToString(e),params:t.toArray()})})),y._parser.setEscHandlerFallback((function(e){y._logService.debug("Unknown ESC code: ",{identifier:y._parser.identToString(e)})})),y._parser.setExecuteHandlerFallback((function(e){y._logService.debug("Unknown EXECUTE code: ",{code:e})})),y._parser.setOscHandlerFallback((function(e,t,r){y._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),y._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),y._logService.debug("Unknown DCS code: ",{identifier:y._parser.identToString(e),action:t,payload:r})})),y._parser.setPrintHandler((function(e,t,r){return y.print(e,t,r)})),y._parser.setCsiHandler({final:"@"},(function(e){return y.insertChars(e)})),y._parser.setCsiHandler({intermediates:" ",final:"@"},(function(e){return y.scrollLeft(e)})),y._parser.setCsiHandler({final:"A"},(function(e){return y.cursorUp(e)})),y._parser.setCsiHandler({intermediates:" ",final:"A"},(function(e){return y.scrollRight(e)})),y._parser.setCsiHandler({final:"B"},(function(e){return y.cursorDown(e)})),y._parser.setCsiHandler({final:"C"},(function(e){return y.cursorForward(e)})),y._parser.setCsiHandler({final:"D"},(function(e){return y.cursorBackward(e)})),y._parser.setCsiHandler({final:"E"},(function(e){return y.cursorNextLine(e)})),y._parser.setCsiHandler({final:"F"},(function(e){return y.cursorPrecedingLine(e)})),y._parser.setCsiHandler({final:"G"},(function(e){return y.cursorCharAbsolute(e)})),y._parser.setCsiHandler({final:"H"},(function(e){return y.cursorPosition(e)})),y._parser.setCsiHandler({final:"I"},(function(e){return y.cursorForwardTab(e)})),y._parser.setCsiHandler({final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({prefix:"?",final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({prefix:"?",final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({final:"L"},(function(e){return y.insertLines(e)})),y._parser.setCsiHandler({final:"M"},(function(e){return y.deleteLines(e)})),y._parser.setCsiHandler({final:"P"},(function(e){return y.deleteChars(e)})),y._parser.setCsiHandler({final:"S"},(function(e){return y.scrollUp(e)})),y._parser.setCsiHandler({final:"T"},(function(e){return y.scrollDown(e)})),y._parser.setCsiHandler({final:"X"},(function(e){return y.eraseChars(e)})),y._parser.setCsiHandler({final:"Z"},(function(e){return y.cursorBackwardTab(e)})),y._parser.setCsiHandler({final:"`"},(function(e){return y.charPosAbsolute(e)})),y._parser.setCsiHandler({final:"a"},(function(e){return y.hPositionRelative(e)})),y._parser.setCsiHandler({final:"b"},(function(e){return y.repeatPrecedingCharacter(e)})),y._parser.setCsiHandler({final:"c"},(function(e){return y.sendDeviceAttributesPrimary(e)})),y._parser.setCsiHandler({prefix:">",final:"c"},(function(e){return y.sendDeviceAttributesSecondary(e)})),y._parser.setCsiHandler({final:"d"},(function(e){return y.linePosAbsolute(e)})),y._parser.setCsiHandler({final:"e"},(function(e){return y.vPositionRelative(e)})),y._parser.setCsiHandler({final:"f"},(function(e){return y.hVPosition(e)})),y._parser.setCsiHandler({final:"g"},(function(e){return y.tabClear(e)})),y._parser.setCsiHandler({final:"h"},(function(e){return y.setMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"h"},(function(e){return y.setModePrivate(e)})),y._parser.setCsiHandler({final:"l"},(function(e){return y.resetMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"l"},(function(e){return y.resetModePrivate(e)})),y._parser.setCsiHandler({final:"m"},(function(e){return y.charAttributes(e)})),y._parser.setCsiHandler({final:"n"},(function(e){return y.deviceStatus(e)})),y._parser.setCsiHandler({prefix:"?",final:"n"},(function(e){return y.deviceStatusPrivate(e)})),y._parser.setCsiHandler({intermediates:"!",final:"p"},(function(e){return y.softReset(e)})),y._parser.setCsiHandler({intermediates:" ",final:"q"},(function(e){return y.setCursorStyle(e)})),y._parser.setCsiHandler({final:"r"},(function(e){return y.setScrollRegion(e)})),y._parser.setCsiHandler({final:"s"},(function(e){return y.saveCursor(e)})),y._parser.setCsiHandler({final:"t"},(function(e){return y.windowOptions(e)})),y._parser.setCsiHandler({final:"u"},(function(e){return y.restoreCursor(e)})),y._parser.setCsiHandler({intermediates:"'",final:"}"},(function(e){return y.insertColumns(e)})),y._parser.setCsiHandler({intermediates:"'",final:"~"},(function(e){return y.deleteColumns(e)})),y._parser.setExecuteHandler(s.C0.BEL,(function(){return y.bell()})),y._parser.setExecuteHandler(s.C0.LF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.VT,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.FF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.CR,(function(){return y.carriageReturn()})),y._parser.setExecuteHandler(s.C0.BS,(function(){return y.backspace()})),y._parser.setExecuteHandler(s.C0.HT,(function(){return y.tab()})),y._parser.setExecuteHandler(s.C0.SO,(function(){return y.shiftOut()})),y._parser.setExecuteHandler(s.C0.SI,(function(){return y.shiftIn()})),y._parser.setExecuteHandler(s.C1.IND,(function(){return y.index()})),y._parser.setExecuteHandler(s.C1.NEL,(function(){return y.nextLine()})),y._parser.setExecuteHandler(s.C1.HTS,(function(){return y.tabSet()})),y._parser.setOscHandler(0,new g.OscHandler((function(e){y.setTitle(e),y.setIconName(e)}))),y._parser.setOscHandler(1,new g.OscHandler((function(e){return y.setIconName(e)}))),y._parser.setOscHandler(2,new g.OscHandler((function(e){return y.setTitle(e)}))),y._parser.setEscHandler({final:"7"},(function(){return y.saveCursor()})),y._parser.setEscHandler({final:"8"},(function(){return y.restoreCursor()})),y._parser.setEscHandler({final:"D"},(function(){return y.index()})),y._parser.setEscHandler({final:"E"},(function(){return y.nextLine()})),y._parser.setEscHandler({final:"H"},(function(){return y.tabSet()})),y._parser.setEscHandler({final:"M"},(function(){return y.reverseIndex()})),y._parser.setEscHandler({final:"="},(function(){return y.keypadApplicationMode()})),y._parser.setEscHandler({final:">"},(function(){return y.keypadNumericMode()})),y._parser.setEscHandler({final:"c"},(function(){return y.fullReset()})),y._parser.setEscHandler({final:"n"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"o"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"|"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"}"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"~"},(function(){return y.setgLevel(1)})),y._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return y.selectDefaultCharset()})),y._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return y.selectDefaultCharset()}));var b=function(e){m._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),m._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),m._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),m._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),m._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),m._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),m._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},m=this;for(var C in a.CHARSETS)b(C);return y._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return y.screenAlignmentPattern()})),y._parser.setErrorHandler((function(e){return y._logService.error("Parsing error: ",e),e})),y._parser.setDcsHandler({intermediates:"$",final:"q"},new S(y._bufferService,y._coreService,y._logService,y._optionsService)),y}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.parse=function(e){var t=this._bufferService.buffer,r=t.x,i=t.y;if(this._logService.debug("parsing data",e),this._parseBuffer.length131072)for(var n=0;n0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.addCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.addCsiHandler(e,t):this._parser.addCsiHandler(e,(function(e){return!m(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.addDcsHandler=function(e,t){return this._parser.addDcsHandler(e,new y.DcsHandler(t))},t.prototype.addEscHandler=function(e,t){return this._parser.addEscHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._parser.addOscHandler(e,new g.OscHandler(t))},t.prototype.bell=function(){this._onRequestBell.fire()},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire()},t.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(t.x>0&&t.x--);if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}this._restrictCursor()},t.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var e=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e)}},t.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},t.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1))},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1)},t.prototype.cursorForward=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.cursorBackward=function(e){this._moveCursor(-(e.params[0]||1),0)},t.prototype.cursorNextLine=function(e){this.cursorDown(e),this._bufferService.buffer.x=0},t.prototype.cursorPrecedingLine=function(e){this.cursorUp(e),this._bufferService.buffer.x=0},t.prototype.cursorCharAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.cursorPosition=function(e){this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1)},t.prototype.charPosAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.hPositionRelative=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.linePosAbsolute=function(e){this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1)},t.prototype.vPositionRelative=function(e){this._moveCursor(0,e.params[0]||1)},t.prototype.hVPosition=function(e){this.cursorPosition(e)},t.prototype.tabClear=function(e){var t=e.params[0];0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={})},t.prototype.cursorForwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},t.prototype.cursorBackwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop()},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c"))},t.prototype.sendDeviceAttributesSecondary=function(e){e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c"))},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg);for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t)},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}},t.prototype.softReset=function(e){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;this._optionsService.options.cursorBlink=r},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0))},t.prototype.windowOptions=function(e){if(m(e.params[0],this._optionsService.options.windowOptions)){var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},t.prototype.saveCursor=function(e){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},t.prototype.restoreCursor=function(e){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},t.prototype.setTitle=function(e){this._windowTitle=e,this._onTitleChange.fire(e)},t.prototype.setIconName=function(e){this._iconName=e},t.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},t.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},t.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},t.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET)},t.prototype.selectCharset=function(e){2===e.length?"/"!==e[0]&&this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET):this.selectDefaultCharset()},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor()},t.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor()},t.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){this._charsetService.setgLevel(e)},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>2147483647?2147483647:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>2147483647?2147483647:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var r=this._digitIsSub?this._subParams:this.params,i=r[t-1];r[t-1]=~i?Math.min(10*i+e,2147483647):e}},e}();t.Params=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(22),n=r(8),o=function(){function e(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},e.prototype._start=function(){var e=this._handlers[this._id];if(e)for(var t=e.length-1;t>=0;t--)e[t].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype._end=function(e){var t=this._handlers[this._id];if(t){for(var r=t.length-1;r>=0&&!1===t[r].end(e);r--);for(r--;r>=0;r--)t[r].end(!1)}else this._handlerFb(this._id,"END",e)},e.prototype.start=function(){this.reset(),this._id=-1,this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(e)),this._id=-1,this._state=0)},e}();t.OscParser=o;var s=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data)),this._data="",this._hitLimit=!1,t},e}();t.OscHandler=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(8),n=r(20),o=r(22),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e){if(this._active.length){for(var t=this._active.length-1;t>=0&&!1===this._active[t].unhook(e);t--);for(t--;t>=0;t--)this._active[t].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.clone(),this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data,this._params?this._params:new n.Params)),this._params=void 0,this._data="",this._hitLimit=!1,t},e}();t.DcsHandler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(25),n=r(42),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l1)for(var u=this._getJoinedRanges(i,a,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,a,o,t,n),f=0;f=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.addCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.addDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.addEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.addOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(35),s=r(36),a=r(37),c=r(12),l=r(18),h=r(39),u=r(49),f=r(50),_=r(11),d=r(7),p=r(17),v=r(53),g=r(54),y=r(55),b=r(56),m=r(58),S=r(0),C=r(16),w=r(26),E=r(59),L=r(5),A=r(60),R=r(61),x=r(62),k=r(63),D=r(64),T="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new S.EventEmitter,r._onKey=new S.EventEmitter,r._onRender=new S.EventEmitter,r._onSelectionChange=new S.EventEmitter,r._onTitleChange=new S.EventEmitter,r._onFocus=new S.EventEmitter,r._onBlur=new S.EventEmitter,r._onA11yCharEmitter=new S.EventEmitter,r._onA11yTabEmitter=new S.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(x.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestScroll((function(e,t){return r.scroll(e,t||void 0)}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(S.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(S.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(S.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(S.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t,r,i;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._renderService)||void 0===t||t.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(r=this.element)||void 0===r?void 0:r.parentNode)||void 0===i||i.removeChild(this.element))},t.prototype._setup=function(){e.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(t.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),t.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},t.prototype._updateOptions=function(t){var r,i,n,o;switch(e.prototype._updateOptions.call(this,t),t){case"fontFamily":case"fontSize":null===(r=this._renderService)||void 0===r||r.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(n=this.viewport)||void 0===n||n.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},t.prototype._onTextAreaFocus=function(e){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},t.prototype.blur=function(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()},t.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},t.prototype._initGlobal=function(){var e=this;this._bindKeys(),this.register(d.addDisposableDomListener(this.element,"copy",(function(t){e.hasSelection()&&a.copyHandler(t,e._selectionService)})));var t=function(t){return a.handlePasteEvent(t,e.textarea,e._coreService)};this.register(d.addDisposableDomListener(this.textarea,"paste",t)),this.register(d.addDisposableDomListener(this.element,"paste",t)),_.isFirefox?this.register(d.addDisposableDomListener(this.element,"mousedown",(function(t){2===t.button&&a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))):this.register(d.addDisposableDomListener(this.element,"contextmenu",(function(t){a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))),_.isLinux&&this.register(d.addDisposableDomListener(this.element,"auxclick",(function(t){1===t.button&&a.moveTextAreaUnderMouseCursor(t,e.textarea,e.screenElement)})))},t.prototype._bindKeys=function(){var e=this;this.register(d.addDisposableDomListener(this.textarea,"keyup",(function(t){return e._keyUp(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keydown",(function(t){return e._keyDown(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keypress",(function(t){return e._keyPress(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"compositionstart",(function(){return e._compositionHelper.compositionstart()}))),this.register(d.addDisposableDomListener(this.textarea,"compositionupdate",(function(t){return e._compositionHelper.compositionupdate(t)}))),this.register(d.addDisposableDomListener(this.textarea,"compositionend",(function(){return e._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return e._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(t){return e._queueLinkification(t.start,t.end)})))},t.prototype.open=function(e){var t=this;if(!e)throw new Error("Terminal requires a parent element.");T.body.contains(e)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);var r=T.createDocumentFragment();this._viewportElement=T.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this._viewportScrollArea=T.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=T.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=T.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement),this.textarea=T.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.register(d.addDisposableDomListener(this.textarea,"focus",(function(e){return t._onTextAreaFocus(e)}))),this.register(d.addDisposableDomListener(this.textarea,"blur",(function(){return t._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(k.CoreBrowserService,this.textarea);this._instantiationService.setService(L.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(A.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(L.ICharSizeService,this._charSizeService),this._compositionView=T.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(r),this._theme=this.options.theme||this._theme,this._colorManager=new w.ColorManager(T,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(e){return t._colorManager.onOptionsChange(e)}))),this._colorManager.setTheme(this._theme);var n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(L.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(e){return t._onRender.fire(e)}))),this.onResize((function(e){return t._renderService.resize(e.cols,e.rows)})),this._soundService=this._instantiationService.createInstance(v.SoundService),this._instantiationService.setService(L.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(R.MouseService),this._instantiationService.setService(L.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(s.Viewport,(function(e,r){return t.scrollLines(e,r)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return t.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){return t._renderService.onCursorMove()}))),this.register(this.onResize((function(){return t._renderService.onResize(t.cols,t.rows)}))),this.register(this.onBlur((function(){return t._renderService.onBlur()}))),this.register(this.onFocus((function(){return t._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return t.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(f.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(L.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(e){return t.scrollLines(e.amount,e.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return t._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(e){return t._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(e){t.textarea.value=e,t.textarea.focus(),t.textarea.select()}))),this.register(this.onScroll((function(){t.viewport.syncScrollArea(),t._selectionService.refresh()}))),this.register(d.addDisposableDomListener(this._viewportElement,"scroll",(function(){return t._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(g.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return t._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(d.addDisposableDomListener(this.element,"mousedown",(function(e){return t._selectionService.onMouseDown(e)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},t.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(h.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(b.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error('Unrecognized rendererType "'+this.options.rendererType+'"')}},t.prototype._setTheme=function(e){var t,r,i;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(r=this._renderService)||void 0===r||r.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},t.prototype.bindMouse=function(){var e=this,t=this,r=this.element;function i(e){var r,i,n=t._mouseService.getRawByteCoords(e,t.screenElement,t.cols,t.rows);if(!n)return!1;switch(e.overrideType||e.type){case"mousemove":i=32,void 0===e.buttons?(r=3,void 0!==e.button&&(r=e.button<3?e.button:3)):r=1&e.buttons?0:4&e.buttons?1:2&e.buttons?2:3;break;case"mouseup":i=0,r=e.button<3?e.button:3;break;case"mousedown":i=1,r=e.button<3?e.button:3;break;case"wheel":0!==e.deltaY&&(i=e.deltaY<0?0:1),r=4;break;default:return!1}return!(void 0===i||void 0===r||r>4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(var e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(5),s=r(1),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._charSizeService=n,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,this._clearTextareaPosition(),e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){var e;t._isSendingComposition&&(t._isSendingComposition=!1,e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start),t._coreService.triggerDataEvent(e,!0))}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&e._coreService.triggerDataEvent(r,!0)}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*r,n=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},e.prototype._clearTextareaPosition=function(){this._textarea.style.left="",this._textarea.style.top=""},i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,o.ICharSizeService),n(5,s.ICoreService)],e)}();t.CompositionHelper=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t,!0)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},function(e,t,r){"use strict";function i(e){return e.replace(/\r?\n/g,"\r")}function n(e,t){return t?"[200~"+e+"[201~":e}function o(e,t,r){e=n(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function s(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.position="absolute",t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus(),setTimeout((function(){t.style.position="",t.style.width="",t.style.height="",t.style.left="",t.style.top="",t.style.zIndex=""}),200)}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=n,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=s,t.rightClickHandler=function(e,t,r,i,n){s(e,t,r),n&&!i.isClickInSelection(e)&&i.selectWordAtCursor(e),t.value=i.selectionText,t.select()}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(2),s=r(15),a=r(20),c=r(21),l=r(23),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;in||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return(r<<=8)|o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.addEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setEscHandler=function(e,t){this._escHandlers[this._identifier(e,[48,126])]=[t]},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.addCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setCsiHandler=function(e,t){this._csiHandlers[this._identifier(e)]=[t]},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.addDcsHandler=function(e,t){return this._dcsParser.addHandler(this._identifier(e),t)},r.prototype.setDcsHandler=function(e,t){this._dcsParser.setHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.addOscHandler=function(e,t){return this._oscParser.addHandler(e,t)},r.prototype.setOscHandler=function(e,t){this._oscParser.setHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},r.prototype.parse=function(e,t){for(var r=0,i=0,n=this.currentState,o=this._oscParser,s=this._dcsParser,a=this._collect,c=this._params,l=this._transitions.table,h=0;h>4){case 2:for(var u=h+1;;++u){if(u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:h,code:r,currentState:n,collect:a,params:c,abort:!1}).abort)return;break;case 7:for(var f=this._csiHandlers[a<<8|r],_=f?f.length-1:-1;_>=0&&!1===f[_](c);_--);_<0&&this._csiHandlerFb(a<<8|r,c),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(r-48)}}while(++h47&&r<60);h--;break;case 9:a<<=8,a|=r;break;case 10:for(var d=this._escHandlers[a<<8|r],p=d?d.length-1:-1;p>=0&&!1===d[p]();p--);p<0&&this._escHandlerFb(a<<8|r),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),a=0;break;case 12:s.hook(a<<8|r,c);break;case 13:for(var v=h+1;;++v)if(v>=t||24===(r=e[v])||26===r||27===r||r>127&&r<160){s.put(e,h,v),h=v-1;break}break;case 14:s.unhook(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var g=h+1;;g++)if(g>=t||(r=e[g])<32||r>127&&r<=159){o.put(e,h,g),h=g-1;break}break;case 6:o.end(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0}n=15&i}this._collect=a,this.currentState=n},r}(o.Disposable);t.EscapeSequenceParser=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(40),c=r(46),l=r(47),h=r(48),u=r(28),f=r(2),_=r(5),d=r(1),p=r(24),v=r(0),g=1,y=function(e){function t(t,r,i,n,o,s,f,_,d){var p=e.call(this)||this;p._colors=t,p._screenElement=r,p._bufferService=o,p._charSizeService=s,p._optionsService=f,p._id=g++,p._onRequestRedraw=new v.EventEmitter;var y=p._optionsService.options.allowTransparency;return p._characterJoinerRegistry=new u.CharacterJoinerRegistry(p._bufferService),p._renderLayers=[new a.TextRenderLayer(p._screenElement,0,p._colors,p._characterJoinerRegistry,y,p._id,p._bufferService,f),new c.SelectionRenderLayer(p._screenElement,1,p._colors,p._id,p._bufferService,f),new h.LinkRenderLayer(p._screenElement,2,p._colors,p._id,i,n,p._bufferService,f),new l.CursorRenderLayer(p._screenElement,3,p._colors,p._id,p._onRequestRedraw,p._bufferService,f,_,d)],p.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},p._devicePixelRatio=window.devicePixelRatio,p._updateDimensions(),p.onOptionsChanged(),p}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),e.prototype.dispose.call(this),p.removeTerminalFromCache(this._id)},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._bufferService.cols,this._bufferService.rows))},t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._colors),e.reset()}))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._renderLayers.forEach((function(e){return e.resize(r.dimensions)})),this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.onCharSizeChanged=function(){this.onResize(this._bufferService.cols,this._bufferService.rows)},t.prototype.onBlur=function(){this._runOperation((function(e){return e.onBlur()}))},t.prototype.onFocus=function(){this._runOperation((function(e){return e.onFocus()}))},t.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1),this._runOperation((function(i){return i.onSelectionChanged(e,t,r)}))},t.prototype.onCursorMove=function(){this._runOperation((function(e){return e.onCursorMove()}))},t.prototype.onOptionsChanged=function(){this._runOperation((function(e){return e.onOptionsChanged()}))},t.prototype.clear=function(){this._runOperation((function(e){return e.reset()}))},t.prototype._runOperation=function(e){this._renderLayers.forEach((function(t){return e(t)}))},t.prototype.renderRows=function(e,t){this._renderLayers.forEach((function(r){return r.onGridChanged(e,t)}))},t.prototype._updateDimensions=function(){this._charSizeService.hasValidSize&&(this.dimensions.scaledCharWidth=Math.floor(this._charSizeService.width*window.devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharTop=1===this._optionsService.options.lineHeight?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCharLeft=Math.floor(this._optionsService.options.letterSpacing/2),this.dimensions.scaledCanvasHeight=this._bufferService.rows*this.dimensions.scaledCellHeight,this.dimensions.scaledCanvasWidth=this._bufferService.cols*this.dimensions.scaledCellWidth,this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols)},t.prototype.registerCharacterJoiner=function(e){return this._characterJoinerRegistry.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._characterJoinerRegistry.deregisterCharacterJoiner(e)},o([s(4,d.IBufferService),s(5,_.ICharSizeService),s(6,d.IOptionsService),s(7,d.ICoreService),s(8,_.ICoreBrowserService)],t)}(f.Disposable);t.Renderer=y},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var o=r(41),s=r(13),a=r(6),c=r(3),l=r(28),h=r(4),u=function(e){function t(t,r,i,n,s,a,c,l){var u=e.call(this,t,"text",r,s,i,a,c,l)||this;return u._characterWidth=0,u._characterFont="",u._characterOverlapCache={},u._workCell=new h.CellData,u._state=new o.GridCache,u._characterJoinerRegistry=n,u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r,i){for(var n=e;n<=t;n++)for(var o=n+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(o),a=r?r.getJoinedCharacters(o):[],h=0;h0&&h===a[0][0]){f=!0;var d=a.shift();u=new l.JoinedCellData(this._workCell,s.translateToString(!0,d[0],d[1]),d[1]-d[0]),_=d[1]-1}!f&&this._isOverlapping(u)&&_this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},t}(s.BaseRenderLayer);t.TextRenderLayer=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var i=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var o=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){if(this._ctx.fillStyle=this._colors.selection.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===s?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},t}(r(13).BaseRenderLayer);t.SelectionRenderLayer=o},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(13),s=r(4),a=function(e){function t(t,r,i,n,o,a,c,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,a,c)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new s.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=a;var c=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),600)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(13),s=r(9),a=r(25),c=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(0),s=r(1),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t))&&"break"!==a(););},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(11),c=r(51),l=r(4),h=r(0),u=r(5),f=r(1),_=r(29),d=r(52),p=r(2),v=String.fromCharCode(160),g=new RegExp(v,"g"),y=function(e){function t(t,r,i,n,o,s,a){var u=e.call(this)||this;return u._element=t,u._screenElement=r,u._bufferService=i,u._coreService=n,u._mouseService=o,u._optionsService=s,u._renderService=a,u._dragScrollAmount=0,u._enabled=!0,u._workCell=new l.CellData,u._mouseDownTimeStamp=0,u._onLinuxMouseSelection=u.register(new h.EventEmitter),u._onRedrawRequest=u.register(new h.EventEmitter),u._onSelectionChange=u.register(new h.EventEmitter),u._onRequestScrollLines=u.register(new h.EventEmitter),u._mouseMoveListener=function(e){return u._onMouseMove(e)},u._mouseUpListener=function(e){return u._onMouseUp(e)},u._coreService.onUserInput((function(){u.hasSelection&&u.clearSelection()})),u._trimListener=u._bufferService.buffer.lines.onTrim((function(e){return u._onTrim(e)})),u.register(u._bufferService.buffers.onBufferActivate((function(e){return u._onBufferActivate(e)}))),u.enable(),u._model=new c.SelectionModel(u._bufferService),u._activeSelectionMode=0,u}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0),c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}e[1]!==t[1]&&(c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(e){return e.replace(g," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype.isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype.selectWordAtCursor=function(e){var t=this._getMouseBufferCoords(e);t&&(this._selectWordAt(t,!1),this._model.selectionEnd=void 0,this.refresh(!0))},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=1,this._selectWordAt(t,!0))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500){if(e.altKey&&this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,m=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var S=n.lines.get(e[1]-1);if(S&&o.isWrapped&&32!==S.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,m+=w}}}if(i&&b+m===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(m+=L.length)}}return{start:b,length:m}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},o([s(2,f.IBufferService),s(3,f.ICoreService),s(4,u.IMouseService),s(5,f.IOptionsService),s(6,u.IRenderService)],t)}(p.Disposable);t.SelectionService=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var i=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(12);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;return c=n(r,i,s,a).length>0?i-o(s,i):t,e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(1),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);t&&t.tooltipCallback&&t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&ie;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&this._liveRegion.parentNode&&this._accessibilityTreeRoot.removeChild(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerHTML=" ":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(57),c=r(9),l=r(2),h=r(5),u=r(1),f=r(0),_=r(10),d=1,p=function(e){function t(t,r,i,n,o,s,c,l,h){var u=e.call(this)||this;return u._colors=t,u._element=r,u._screenElement=i,u._viewportElement=n,u._linkifier=o,u._linkifier2=s,u._charSizeService=c,u._optionsService=l,u._bufferService=h,u._terminalClass=d++,u._rowElements=[],u._rowContainer=document.createElement("div"),u._rowContainer.classList.add("xterm-rows"),u._rowContainer.style.lineHeight="normal",u._rowContainer.setAttribute("aria-hidden","true"),u._refreshRowElements(u._bufferService.cols,u._bufferService.rows),u._selectionContainer=document.createElement("div"),u._selectionContainer.classList.add("xterm-selection"),u._selectionContainer.setAttribute("aria-hidden","true"),u.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},u._updateDimensions(),u._injectCss(),u._rowFactory=new a.DomRendererRowFactory(document,u._optionsService,u._colors),u._element.classList.add("xterm-dom-renderer-owner-"+u._terminalClass),u._screenElement.appendChild(u._rowContainer),u._screenElement.appendChild(u._selectionContainer),u._linkifier.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u._linkifier2.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier2.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),this._screenElement.removeChild(this._rowContainer),this._screenElement.removeChild(this._selectionContainer),this._screenElement.removeChild(this._themeStyleElement),this._screenElement.removeChild(this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){var e=this;this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this._rowElements.forEach((function(t){t.style.width=e.dimensions.canvasWidth+"px",t.style.height=e.dimensions.actualCellHeight+"px",t.style.lineHeight=e.dimensions.actualCellHeight+"px",t.style.overflow="hidden"})),this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));var t=this._terminalSelector+" .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: "+this.dimensions.actualCellWidth+"px}";this._dimensionsStyleElement.innerHTML=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.setColors=function(e){this._colors=e,this._injectCss()},t.prototype._injectCss=function(){var e=this;this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));var t=this._terminalSelector+" .xterm-rows { color: "+this._colors.foreground.css+"; font-family: "+this._optionsService.options.fontFamily+"; font-size: "+this._optionsService.options.fontSize+"px;}";t+=this._terminalSelector+" span:not(."+a.BOLD_CLASS+") { font-weight: "+this._optionsService.options.fontWeight+";}"+this._terminalSelector+" span."+a.BOLD_CLASS+" { font-weight: "+this._optionsService.options.fontWeightBold+";}"+this._terminalSelector+" span."+a.ITALIC_CLASS+" { font-style: italic;}",t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+"; } 50% { background-color: "+this._colors.cursorAccent.css+"; color: "+this._colors.cursor.css+"; }}",t+=this._terminalSelector+" .xterm-rows:not(.xterm-focus) ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { outline: 1px solid "+this._colors.cursor.css+"; outline-offset: -1px;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+":not(."+a.CURSOR_STYLE_BLOCK_CLASS+") { animation: blink_box_shadow_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { animation: blink_block_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+";}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BAR_CLASS+" { box-shadow: "+this._optionsService.options.cursorWidth+"px 0 0 "+this._colors.cursor.css+" inset;}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_UNDERLINE_CLASS+" { box-shadow: 0 -1px 0 "+this._colors.cursor.css+" inset;}",t+=this._terminalSelector+" .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}"+this._terminalSelector+" .xterm-selection div { position: absolute; background-color: "+this._colors.selection.css+";}",this._colors.ansi.forEach((function(r,i){t+=e._terminalSelector+" .xterm-fg-"+i+" { color: "+r.css+"; }"+e._terminalSelector+" .xterm-bg-"+i+" { background-color: "+r.css+"; }"})),t+=this._terminalSelector+" .xterm-fg-"+c.INVERTED_DEFAULT_COLOR+" { color: "+_.color.opaque(this._colors.background).css+"; }"+this._terminalSelector+" .xterm-bg-"+c.INVERTED_DEFAULT_COLOR+" { background-color: "+this._colors.foreground.css+"; }",this._themeStyleElement.innerHTML=t},t.prototype.onDevicePixelRatioChange=function(){this._updateDimensions()},t.prototype._refreshRowElements=function(e,t){for(var r=this._rowElements.length;r<=t;r++){var i=document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},t.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){this._rowElements.forEach((function(e){return e.innerHTML=""}))},t.prototype.renderRows=function(e,t){for(var r=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),n=this._optionsService.options.cursorBlink,o=e;o<=t;o++){var s=this._rowElements[o];s.innerHTML="";var a=o+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.lines.get(a),l=this._optionsService.options.cursorStyle;s.appendChild(this._rowFactory.createRow(c,a===r,l,i,n,this.dimensions.actualCellWidth,this._bufferService.cols))}},Object.defineProperty(t.prototype,"_terminalSelector",{get:function(){return".xterm-dom-renderer-owner-"+this._terminalClass},enumerable:!1,configurable:!0}),t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype._onLinkHover=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)},t.prototype._onLinkLeave=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)},t.prototype._setCellUnderline=function(e,t,r,i,n,o){for(;e!==t||r!==i;){var s=this._rowElements[r];if(!s)return;var a=s.children[e];a&&(a.style.textDecoration=o?"underline":"none"),++e>=n&&(e=0,r++)}},o([s(6,h.ICharSizeService),s(7,u.IOptionsService),s(8,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var i=r(9),n=r(3),o=r(4),s=r(10);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var a=function(){function e(e,t,r){this._document=e,this._optionsService=t,this._colors=r,this._workCell=new o.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,o,a,l,h,u){for(var f=this._document.createDocumentFragment(),_=0,d=Math.min(e.length,u)-1;d>=0;d--)if(e.loadCell(d,this._workCell).getCode()!==n.NULL_CELL_CODE||r&&d===a){_=d+1;break}for(d=0;d<_;d++){e.loadCell(d,this._workCell);var p=this._workCell.getWidth();if(0!==p){var v=this._document.createElement("span");if(p>1&&(v.style.width=h*p+"px"),r&&d===a)switch(v.classList.add(t.CURSOR_CLASS),l&&v.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":v.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":v.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:v.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&v.classList.add(t.BOLD_CLASS),this._workCell.isItalic()&&v.classList.add(t.ITALIC_CLASS),this._workCell.isDim()&&v.classList.add(t.DIM_CLASS),this._workCell.isUnderline()&&v.classList.add(t.UNDERLINE_CLASS),this._workCell.isInvisible()?v.textContent=n.WHITESPACE_CELL_CHAR:v.textContent=this._workCell.getChars()||n.WHITESPACE_CELL_CHAR;var g=this._workCell.getFgColor(),y=this._workCell.getFgColorMode(),b=this._workCell.getBgColor(),m=this._workCell.getBgColorMode(),S=!!this._workCell.isInverse();if(S){var C=g;g=b,b=C;var w=y;y=m,m=w}switch(y){case 16777216:case 33554432:this._workCell.isBold()&&g<8&&this._optionsService.options.drawBoldTextInBrightColors&&(g+=8),this._applyMinimumContrast(v,this._colors.background,this._colors.ansi[g])||v.classList.add("xterm-fg-"+g);break;case 50331648:var E=s.rgba.toColor(g>>16&255,g>>8&255,255&g);this._applyMinimumContrast(v,this._colors.background,E)||this._addStyle(v,"color:#"+c(g.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(v,this._colors.background,this._colors.foreground)||S&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(m){case 16777216:case 33554432:v.classList.add("xterm-bg-"+b);break;case 50331648:this._addStyle(v,"background-color:#"+c(b.toString(16),"0",6));break;case 0:default:S&&v.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}f.appendChild(v)}}return f},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=s.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},e}();function c(e,t,r){for(;e.length"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)r&&!e.altKey&&!e.ctrlKey&&e.metaKey?65===e.keyCode&&(s.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(30),c=r(0),l=r(2),h=r(31),u=r(7),f=r(1),_=r(5),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=0===e.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){this._renderer.dispose(),e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},t.prototype.registerCharacterJoiner=function(e){return this._renderer.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._renderer.deregisterCharacterJoiner(e)},o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(1),s=r(0),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(5),s=r(29),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(1),c=r(0),l=r(2),h=r(7),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var i=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(2),s=r(1),a=r(65),c=r(66),l=r(67),h=r(73),u=r(74),f=r(0),_=r(75),d=r(76),p=r(77),v=r(79),g=r(80),y=r(18),b=r(81),m=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r._writeBuffer=new b.WriteBuffer((function(e){return r._inputHandler.parse(e)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e){this._writeBuffer.writeSync(e)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this._bufferService.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},t.prototype.scrollLines=function(e,t){var r=this._bufferService.buffer;if(e<0){if(0===r.ydisp)return;this._bufferService.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this._bufferService.isUserScrolling=!1);var i=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),i!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))},t.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},t.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},t.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},t.prototype.scrollToLine=function(e){var t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)},t.prototype.addEscHandler=function(e,t){return this._inputHandler.addEscHandler(e,t)},t.prototype.addDcsHandler=function(e,t){return this._inputHandler.addDcsHandler(e,t)},t.prototype.addCsiHandler=function(e,t){return this._inputHandler.addCsiHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._inputHandler.addOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.addCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){t.forEach((function(e){return e.dispose()}))}}}},t}(o.Disposable);t.CoreTerminal=m},function(e,t,r){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(1),c=r(68),l=r(0),h=r(2);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(69),s=r(0),a=function(e){function t(t,r){var i=e.call(this)||this;return i._onBufferActivate=i.register(new s.EventEmitter),i._normal=new o.Buffer(!0,t,r),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,t,r),i._activeBuffer=i._normal,i.setupTabStops(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(2).Disposable);t.BufferSet=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(70),n=r(16),o=r(4),s=r(3),a=r(71),c=r(72),l=r(19),h=r(6);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=_.length-1,b=_[y];0===b&&(b=_[--y]);for(var m=l.length-d-1,S=f;m>=0;){var C=Math.min(S,b);if(l[y].copyCellsFrom(l[m],S-C,b-C,C,!0),0==(b-=C)&&(b=_[--y]),0==(S-=C)){m--;var w=Math.max(m,0);S=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],A=[];for(v=0;v=0;v--)if(D&&D.start>x+T){for(var O=D.newLines.length-1;O>=0;O--)this.lines.set(v--,D.newLines[O]);v++,L.push({index:x+1,amount:D.newLines.length}),T+=D.newLines.length,D=i[++k]}else this.lines.set(v,A[x--]);var M=0;for(v=L.length-1;v>=0;v--)L[v].index+=M,this.lines.onInsertEmitter.fire(L[v]),M+=L[v].amount;var P=Math.max(0,R+o-this.lines.maxLength);P>0&&this.lines.onTrimEmitter.fire(P)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(0),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i=a&&n0&&(m>u||0===h[m].getTrimmedLength());m--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?r-1:r;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(0),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},t._nextId=1,t}(r(2).Disposable);t.Marker=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(0),n=r(11),o=r(32);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["cols","rows"],a=function(){function e(e){var r=this;this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS),Object.keys(e).forEach((function(t){if(t in r.options){var i=e[t];r.options[t]=i}}))}return Object.defineProperty(e.prototype,"onOptionChange",{get:function(){return this._onOptionChange.event},enumerable:!1,configurable:!0}),e.prototype.setOption=function(e,r){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');if(-1!==s.indexOf(e))throw new Error('Option "'+e+'" can only be set in the constructor');this.options[e]!==r&&(r=this._sanitizeAndValidateOption(e,r),this.options[e]!==r&&(this.options[e]=r,this._onOptionChange.fire(e)))},e.prototype._sanitizeAndValidateOption=function(e,r){switch(e){case"bellStyle":case"cursorStyle":case"fontWeight":case"fontWeightBold":case"rendererType":case"wordSeparator":r||(r=t.DEFAULT_OPTIONS[e]);break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw new Error(e+" cannot be less than 1, value: "+r);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,4294967295))<0)throw new Error(e+" cannot be less than 0, value: "+r);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw new Error(e+" cannot be less than or equal to 0, value: "+r)}return r},e.prototype.getOption=function(e){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');return this.options[e]},e}();t.OptionsService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(1),c=r(0),l=r(32),h=r(2),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(1),s=r(0),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){var r=this;this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null,Object.keys(a).forEach((function(e){return r.addProtocol(e,a[e])})),Object.keys(h).forEach((function(e){return r.addEncoding(e,h[e])})),this.reset()}return e.prototype.addProtocol=function(e,t){this._protocols[e]=t},e.prototype.addEncoding=function(e,t){this._encodings[e]=t},Object.defineProperty(e.prototype,"activeProtocol",{get:function(){return this._activeProtocol},set:function(e){if(!this._protocols[e])throw new Error('unknown protocol "'+e+'"');this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"areMouseEventsActive",{get:function(){return 0!==this._protocols[this._activeProtocol].events},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeEncoding",{get:function(){return this._activeEncoding},set:function(e){if(!this._encodings[e])throw new Error('unknown encoding "'+e+'"');this._activeEncoding=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null},Object.defineProperty(e.prototype,"onProtocolChange",{get:function(){return this._onProtocolChange.event},enumerable:!1,configurable:!0}),e.prototype.triggerMouseEvent=function(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(1),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(0),n=r(78),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(15),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var i=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(3);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return e.prototype.writeSync=function(e){if(this._writeBuffer.length){for(var t=this._bufferOffset;t5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(){for(var e=this,t=Date.now();this._writeBuffer.length>this._bufferOffset;){var r=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(r),this._pendingData-=r.length,i&&i(),Date.now()-t>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return e._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var i=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r{if(this.sub)return this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(e.key))}),this.on("focus",()=>this.term.focus()),this.mterm.contextmenuHandle=(e,t)=>(t.items=[{text:"__(Copy)",id:"copy"},{text:"__(Paste)",id:"paste"}],t.onmenuselect=e=>{if(e)return this.mctxHandle(e.data.item.data)},t.show(e)),this.resizeContent(),this.systemsetting.desktop.menu[this.name]||(this.systemsetting.desktop.menu[this.name]={text:"__(Open terminal)",app:"vTerm"}),this.on("hboxchange",e=>this.resizeContent()),e=()=>Antunnel.tunnel?(this.tunnel=Antunnel.tunnel,this.openSession()):(this.error(__("The Antunnel service is not started, please start it first")),this._gui.pushService("Antunnel/AntunnelService").catch(e=>this.error(e.toString(),e)),this.quit()),window.Antunnel?e():(console.log("require Antunnel"),this._api.requires("pkg://Antunnel/main.js").then(()=>e()).catch(e=>(this.error(__("Unable to load Antunnel: {0}",e.toString()),e),this.quit())))}mctxHandle(e){var t,r;switch(e.id){case"paste":return t=e=>{if(e&&""!==e)return e=e.replace(/\n/g,"\r"),this.sub&&this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(e)),this.term.focus()},this._api.getClipboard().then(e=>t(e)).catch(e=>(this.error(__("Unable to paste"),e),this.openDialog("TextDialog",{title:"Paste text"}).then(e=>t(e)).catch(e=>this.error(e.toString(),e))));case"copy":if(!(r=this.term.getSelection())||""===r)return;return this._api.setClipboard(r)}}resizeContent(){var e,t,r;if(this.fitAddon.fit(),t=this.term.cols,r=this.term.rows,this.sub)return(e=new Uint8Array(8)).set(Antunnel.Msg.bytes_of(t),0),e.set(Antunnel.Msg.bytes_of(r),4),this.sub.send(Antunnel.Msg.CTRL,e)}openSession(){return this.term.clear(),this.term.focus(),this.sub=new Antunnel.Subscriber("vterm"),this.sub.onopen=()=>(console.log("Subscribed"),this.resizeContent($(this.mterm).width(),$(this.mterm).height()),this.term.focus()),this.sub.onerror=e=>(this.error(__("Unable to connect to: vterm"),e),this.sub=void 0),this.sub.onmessage=e=>{if(this.term&&e.data)return this.term.write(new TextDecoder("utf-8").decode(e.data))},this.sub.onclose=()=>(this.sub=void 0,this.notify(__("Terminal connection closed")),this.quit()),this.tunnel.subscribe(this.sub)}cleanup(e){if(this.sub)return this.sub.close()}},this.OS.register("vTerm",e)}).call(this),e=window,t=function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var i=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core,t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),i=Math.max(0,parseInt(t.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue("padding-top"))+parseInt(n.getPropertyValue("padding-bottom"))),s=i-(parseInt(n.getPropertyValue("padding-right"))+parseInt(n.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(s/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}},e}();t.FitAddon=i}])},"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FitAddon=t():e.FitAddon=t(),function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(window,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=33)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var i=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(14);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var i=function(){function e(){this.fg=0,this.bg=0,this.extended=new n}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=i;var n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else t[i++]=s}return i},e}();t.StringToUtf32=i;var n=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},function(e,t,r){"use strict";var i,n,o,s;function a(e){var t=e.toString(16);return t.length<2?"0"+t:t}function c(e,t){return e>>0}}(i=t.channels||(t.channels={})),(n=t.color||(t.color={})).blend=function(e,t){var r=(255&t.rgba)/255;if(1===r)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*r),u=c+Math.round((o-c)*r),f=l+Math.round((s-l)*r);return{css:i.toCss(h,u,f),rgba:i.toRgba(h,u,f)}},n.ensureContrastRatio=function(e,t,r){var i=s.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return s.toColor(i>>24&255,i>>16&255,i>>8&255)},n.opaque=function(e){var t=(255|e.rgba)>>>0,r=s.toChannels(t),n=r[0],o=r[1],a=r[2];return{css:i.toCss(n,o,a),rgba:t}},(t.css||(t.css={})).toColor=function(e){return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0}},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}function r(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,i,n){var s=o.relativeLuminance(e>>8),a=o.relativeLuminance(i>>8);if(c(s,a)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,r){return{css:i.toCss(e,t,r),rgba:i.toRgba(e,t,r)}}}(s=t.rgba||(t.rgba={})),t.toPaddedHex=a,t.contrastRatio=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var i="undefined"==typeof navigator,n=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function s(e,t){return e.indexOf(t)>=0}t.isFirefox=!!~n.indexOf("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(n),t.isMac=s(["Macintosh","MacIntel","MacPPC","Mac68K"],o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=s(["Windows","Win16","Win32","WinCE"],o),t.isLinux=o.indexOf("Linux")>=0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(t.C0||(t.C0={})),function(e){e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"}(t.C1||(t.C1={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(3),n=r(9),o=r(24),s=r(6),a=r(27),c=r(10),l=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e,t;null===(e=this._canvas.parentElement)||void 0===e||e.removeChild(this._canvas),null===(t=this._charAtlas)||void 0===t||t.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="middle",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=l},function(e,t,r){"use strict";function i(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(r,e,n)};return r.toString=function(){return e},t.serviceRegistry.set(e,r),r}},function(e,t,r){"use strict";function i(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t>22||1}return o},e}();t.BufferLine=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;var o,s=r(12),a=r(19),c=r(38),l=r(2),h=r(15),u=r(8),f=r(16),_=r(0),d=r(3),p=r(4),v=r(6),g=r(21),y=r(23),b={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function m(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var S=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(e){var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");case'"p':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");case"m":return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}}else this._data=new Uint32Array(0)},e}(),C=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var y=e.call(this)||this;y._bufferService=t,y._charsetService=r,y._coreService=i,y._dirtyRowService=n,y._logService=o,y._optionsService=l,y._coreMouseService=h,y._unicodeService=d,y._parser=v,y._parseBuffer=new Uint32Array(4096),y._stringDecoder=new u.StringToUtf32,y._utf8Decoder=new u.Utf8ToUtf32,y._workCell=new p.CellData,y._windowTitle="",y._iconName="",y._windowTitleStack=[],y._iconNameStack=[],y._curAttrData=f.DEFAULT_ATTR_DATA.clone(),y._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),y._onRequestBell=new _.EventEmitter,y._onRequestRefreshRows=new _.EventEmitter,y._onRequestReset=new _.EventEmitter,y._onRequestScroll=new _.EventEmitter,y._onRequestSyncScrollBar=new _.EventEmitter,y._onRequestWindowsOptionsReport=new _.EventEmitter,y._onA11yChar=new _.EventEmitter,y._onA11yTab=new _.EventEmitter,y._onCursorMove=new _.EventEmitter,y._onLineFeed=new _.EventEmitter,y._onScroll=new _.EventEmitter,y._onTitleChange=new _.EventEmitter,y.register(y._parser),y._parser.setCsiHandlerFallback((function(e,t){y._logService.debug("Unknown CSI code: ",{identifier:y._parser.identToString(e),params:t.toArray()})})),y._parser.setEscHandlerFallback((function(e){y._logService.debug("Unknown ESC code: ",{identifier:y._parser.identToString(e)})})),y._parser.setExecuteHandlerFallback((function(e){y._logService.debug("Unknown EXECUTE code: ",{code:e})})),y._parser.setOscHandlerFallback((function(e,t,r){y._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),y._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),y._logService.debug("Unknown DCS code: ",{identifier:y._parser.identToString(e),action:t,payload:r})})),y._parser.setPrintHandler((function(e,t,r){return y.print(e,t,r)})),y._parser.setCsiHandler({final:"@"},(function(e){return y.insertChars(e)})),y._parser.setCsiHandler({intermediates:" ",final:"@"},(function(e){return y.scrollLeft(e)})),y._parser.setCsiHandler({final:"A"},(function(e){return y.cursorUp(e)})),y._parser.setCsiHandler({intermediates:" ",final:"A"},(function(e){return y.scrollRight(e)})),y._parser.setCsiHandler({final:"B"},(function(e){return y.cursorDown(e)})),y._parser.setCsiHandler({final:"C"},(function(e){return y.cursorForward(e)})),y._parser.setCsiHandler({final:"D"},(function(e){return y.cursorBackward(e)})),y._parser.setCsiHandler({final:"E"},(function(e){return y.cursorNextLine(e)})),y._parser.setCsiHandler({final:"F"},(function(e){return y.cursorPrecedingLine(e)})),y._parser.setCsiHandler({final:"G"},(function(e){return y.cursorCharAbsolute(e)})),y._parser.setCsiHandler({final:"H"},(function(e){return y.cursorPosition(e)})),y._parser.setCsiHandler({final:"I"},(function(e){return y.cursorForwardTab(e)})),y._parser.setCsiHandler({final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({prefix:"?",final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({prefix:"?",final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({final:"L"},(function(e){return y.insertLines(e)})),y._parser.setCsiHandler({final:"M"},(function(e){return y.deleteLines(e)})),y._parser.setCsiHandler({final:"P"},(function(e){return y.deleteChars(e)})),y._parser.setCsiHandler({final:"S"},(function(e){return y.scrollUp(e)})),y._parser.setCsiHandler({final:"T"},(function(e){return y.scrollDown(e)})),y._parser.setCsiHandler({final:"X"},(function(e){return y.eraseChars(e)})),y._parser.setCsiHandler({final:"Z"},(function(e){return y.cursorBackwardTab(e)})),y._parser.setCsiHandler({final:"`"},(function(e){return y.charPosAbsolute(e)})),y._parser.setCsiHandler({final:"a"},(function(e){return y.hPositionRelative(e)})),y._parser.setCsiHandler({final:"b"},(function(e){return y.repeatPrecedingCharacter(e)})),y._parser.setCsiHandler({final:"c"},(function(e){return y.sendDeviceAttributesPrimary(e)})),y._parser.setCsiHandler({prefix:">",final:"c"},(function(e){return y.sendDeviceAttributesSecondary(e)})),y._parser.setCsiHandler({final:"d"},(function(e){return y.linePosAbsolute(e)})),y._parser.setCsiHandler({final:"e"},(function(e){return y.vPositionRelative(e)})),y._parser.setCsiHandler({final:"f"},(function(e){return y.hVPosition(e)})),y._parser.setCsiHandler({final:"g"},(function(e){return y.tabClear(e)})),y._parser.setCsiHandler({final:"h"},(function(e){return y.setMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"h"},(function(e){return y.setModePrivate(e)})),y._parser.setCsiHandler({final:"l"},(function(e){return y.resetMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"l"},(function(e){return y.resetModePrivate(e)})),y._parser.setCsiHandler({final:"m"},(function(e){return y.charAttributes(e)})),y._parser.setCsiHandler({final:"n"},(function(e){return y.deviceStatus(e)})),y._parser.setCsiHandler({prefix:"?",final:"n"},(function(e){return y.deviceStatusPrivate(e)})),y._parser.setCsiHandler({intermediates:"!",final:"p"},(function(e){return y.softReset(e)})),y._parser.setCsiHandler({intermediates:" ",final:"q"},(function(e){return y.setCursorStyle(e)})),y._parser.setCsiHandler({final:"r"},(function(e){return y.setScrollRegion(e)})),y._parser.setCsiHandler({final:"s"},(function(e){return y.saveCursor(e)})),y._parser.setCsiHandler({final:"t"},(function(e){return y.windowOptions(e)})),y._parser.setCsiHandler({final:"u"},(function(e){return y.restoreCursor(e)})),y._parser.setCsiHandler({intermediates:"'",final:"}"},(function(e){return y.insertColumns(e)})),y._parser.setCsiHandler({intermediates:"'",final:"~"},(function(e){return y.deleteColumns(e)})),y._parser.setExecuteHandler(s.C0.BEL,(function(){return y.bell()})),y._parser.setExecuteHandler(s.C0.LF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.VT,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.FF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.CR,(function(){return y.carriageReturn()})),y._parser.setExecuteHandler(s.C0.BS,(function(){return y.backspace()})),y._parser.setExecuteHandler(s.C0.HT,(function(){return y.tab()})),y._parser.setExecuteHandler(s.C0.SO,(function(){return y.shiftOut()})),y._parser.setExecuteHandler(s.C0.SI,(function(){return y.shiftIn()})),y._parser.setExecuteHandler(s.C1.IND,(function(){return y.index()})),y._parser.setExecuteHandler(s.C1.NEL,(function(){return y.nextLine()})),y._parser.setExecuteHandler(s.C1.HTS,(function(){return y.tabSet()})),y._parser.setOscHandler(0,new g.OscHandler((function(e){y.setTitle(e),y.setIconName(e)}))),y._parser.setOscHandler(1,new g.OscHandler((function(e){return y.setIconName(e)}))),y._parser.setOscHandler(2,new g.OscHandler((function(e){return y.setTitle(e)}))),y._parser.setEscHandler({final:"7"},(function(){return y.saveCursor()})),y._parser.setEscHandler({final:"8"},(function(){return y.restoreCursor()})),y._parser.setEscHandler({final:"D"},(function(){return y.index()})),y._parser.setEscHandler({final:"E"},(function(){return y.nextLine()})),y._parser.setEscHandler({final:"H"},(function(){return y.tabSet()})),y._parser.setEscHandler({final:"M"},(function(){return y.reverseIndex()})),y._parser.setEscHandler({final:"="},(function(){return y.keypadApplicationMode()})),y._parser.setEscHandler({final:">"},(function(){return y.keypadNumericMode()})),y._parser.setEscHandler({final:"c"},(function(){return y.fullReset()})),y._parser.setEscHandler({final:"n"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"o"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"|"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"}"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"~"},(function(){return y.setgLevel(1)})),y._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return y.selectDefaultCharset()})),y._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return y.selectDefaultCharset()}));var b=function(e){m._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),m._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),m._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),m._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),m._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),m._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),m._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},m=this;for(var C in a.CHARSETS)b(C);return y._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return y.screenAlignmentPattern()})),y._parser.setErrorHandler((function(e){return y._logService.error("Parsing error: ",e),e})),y._parser.setDcsHandler({intermediates:"$",final:"q"},new S(y._bufferService,y._coreService,y._logService,y._optionsService)),y}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.parse=function(e){var t=this._bufferService.buffer,r=t.x,i=t.y;if(this._logService.debug("parsing data",e),this._parseBuffer.length131072)for(var n=0;n0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.addCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.addCsiHandler(e,t):this._parser.addCsiHandler(e,(function(e){return!m(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.addDcsHandler=function(e,t){return this._parser.addDcsHandler(e,new y.DcsHandler(t))},t.prototype.addEscHandler=function(e,t){return this._parser.addEscHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._parser.addOscHandler(e,new g.OscHandler(t))},t.prototype.bell=function(){this._onRequestBell.fire()},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire()},t.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(t.x>0&&t.x--);if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}this._restrictCursor()},t.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var e=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e)}},t.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},t.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1))},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1)},t.prototype.cursorForward=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.cursorBackward=function(e){this._moveCursor(-(e.params[0]||1),0)},t.prototype.cursorNextLine=function(e){this.cursorDown(e),this._bufferService.buffer.x=0},t.prototype.cursorPrecedingLine=function(e){this.cursorUp(e),this._bufferService.buffer.x=0},t.prototype.cursorCharAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.cursorPosition=function(e){this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1)},t.prototype.charPosAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.hPositionRelative=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.linePosAbsolute=function(e){this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1)},t.prototype.vPositionRelative=function(e){this._moveCursor(0,e.params[0]||1)},t.prototype.hVPosition=function(e){this.cursorPosition(e)},t.prototype.tabClear=function(e){var t=e.params[0];0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={})},t.prototype.cursorForwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},t.prototype.cursorBackwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop()},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c"))},t.prototype.sendDeviceAttributesSecondary=function(e){e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c"))},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg);for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t)},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}},t.prototype.softReset=function(e){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;this._optionsService.options.cursorBlink=r},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0))},t.prototype.windowOptions=function(e){if(m(e.params[0],this._optionsService.options.windowOptions)){var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},t.prototype.saveCursor=function(e){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},t.prototype.restoreCursor=function(e){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},t.prototype.setTitle=function(e){this._windowTitle=e,this._onTitleChange.fire(e)},t.prototype.setIconName=function(e){this._iconName=e},t.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},t.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},t.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},t.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET)},t.prototype.selectCharset=function(e){2===e.length?"/"!==e[0]&&this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET):this.selectDefaultCharset()},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor()},t.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor()},t.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){this._charsetService.setgLevel(e)},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>2147483647?2147483647:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>2147483647?2147483647:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var r=this._digitIsSub?this._subParams:this.params,i=r[t-1];r[t-1]=~i?Math.min(10*i+e,2147483647):e}},e}();t.Params=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(22),n=r(8),o=function(){function e(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},e.prototype._start=function(){var e=this._handlers[this._id];if(e)for(var t=e.length-1;t>=0;t--)e[t].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype._end=function(e){var t=this._handlers[this._id];if(t){for(var r=t.length-1;r>=0&&!1===t[r].end(e);r--);for(r--;r>=0;r--)t[r].end(!1)}else this._handlerFb(this._id,"END",e)},e.prototype.start=function(){this.reset(),this._id=-1,this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(e)),this._id=-1,this._state=0)},e}();t.OscParser=o;var s=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data)),this._data="",this._hitLimit=!1,t},e}();t.OscHandler=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(8),n=r(20),o=r(22),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e){if(this._active.length){for(var t=this._active.length-1;t>=0&&!1===this._active[t].unhook(e);t--);for(t--;t>=0;t--)this._active[t].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.clone(),this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data,this._params?this._params:new n.Params)),this._params=void 0,this._data="",this._hitLimit=!1,t},e}();t.DcsHandler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(25),n=r(42),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l1)for(var u=this._getJoinedRanges(i,a,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,a,o,t,n),f=0;f=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.addCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.addDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.addEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.addOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(35),s=r(36),a=r(37),c=r(12),l=r(18),h=r(39),u=r(49),f=r(50),_=r(11),d=r(7),p=r(17),v=r(53),g=r(54),y=r(55),b=r(56),m=r(58),S=r(0),C=r(16),w=r(26),E=r(59),L=r(5),A=r(60),R=r(61),x=r(62),k=r(63),D=r(64),T="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new S.EventEmitter,r._onKey=new S.EventEmitter,r._onRender=new S.EventEmitter,r._onSelectionChange=new S.EventEmitter,r._onTitleChange=new S.EventEmitter,r._onFocus=new S.EventEmitter,r._onBlur=new S.EventEmitter,r._onA11yCharEmitter=new S.EventEmitter,r._onA11yTabEmitter=new S.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(x.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestScroll((function(e,t){return r.scroll(e,t||void 0)}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(S.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(S.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(S.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(S.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t,r,i;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._renderService)||void 0===t||t.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(r=this.element)||void 0===r?void 0:r.parentNode)||void 0===i||i.removeChild(this.element))},t.prototype._setup=function(){e.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(t.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),t.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},t.prototype._updateOptions=function(t){var r,i,n,o;switch(e.prototype._updateOptions.call(this,t),t){case"fontFamily":case"fontSize":null===(r=this._renderService)||void 0===r||r.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(n=this.viewport)||void 0===n||n.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},t.prototype._onTextAreaFocus=function(e){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},t.prototype.blur=function(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()},t.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},t.prototype._initGlobal=function(){var e=this;this._bindKeys(),this.register(d.addDisposableDomListener(this.element,"copy",(function(t){e.hasSelection()&&a.copyHandler(t,e._selectionService)})));var t=function(t){return a.handlePasteEvent(t,e.textarea,e._coreService)};this.register(d.addDisposableDomListener(this.textarea,"paste",t)),this.register(d.addDisposableDomListener(this.element,"paste",t)),_.isFirefox?this.register(d.addDisposableDomListener(this.element,"mousedown",(function(t){2===t.button&&a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))):this.register(d.addDisposableDomListener(this.element,"contextmenu",(function(t){a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))),_.isLinux&&this.register(d.addDisposableDomListener(this.element,"auxclick",(function(t){1===t.button&&a.moveTextAreaUnderMouseCursor(t,e.textarea,e.screenElement)})))},t.prototype._bindKeys=function(){var e=this;this.register(d.addDisposableDomListener(this.textarea,"keyup",(function(t){return e._keyUp(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keydown",(function(t){return e._keyDown(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keypress",(function(t){return e._keyPress(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"compositionstart",(function(){return e._compositionHelper.compositionstart()}))),this.register(d.addDisposableDomListener(this.textarea,"compositionupdate",(function(t){return e._compositionHelper.compositionupdate(t)}))),this.register(d.addDisposableDomListener(this.textarea,"compositionend",(function(){return e._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return e._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(t){return e._queueLinkification(t.start,t.end)})))},t.prototype.open=function(e){var t=this;if(!e)throw new Error("Terminal requires a parent element.");T.body.contains(e)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);var r=T.createDocumentFragment();this._viewportElement=T.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this._viewportScrollArea=T.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=T.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=T.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement),this.textarea=T.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.register(d.addDisposableDomListener(this.textarea,"focus",(function(e){return t._onTextAreaFocus(e)}))),this.register(d.addDisposableDomListener(this.textarea,"blur",(function(){return t._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(k.CoreBrowserService,this.textarea);this._instantiationService.setService(L.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(A.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(L.ICharSizeService,this._charSizeService),this._compositionView=T.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(r),this._theme=this.options.theme||this._theme,this._colorManager=new w.ColorManager(T,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(e){return t._colorManager.onOptionsChange(e)}))),this._colorManager.setTheme(this._theme);var n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(L.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(e){return t._onRender.fire(e)}))),this.onResize((function(e){return t._renderService.resize(e.cols,e.rows)})),this._soundService=this._instantiationService.createInstance(v.SoundService),this._instantiationService.setService(L.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(R.MouseService),this._instantiationService.setService(L.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(s.Viewport,(function(e,r){return t.scrollLines(e,r)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return t.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){return t._renderService.onCursorMove()}))),this.register(this.onResize((function(){return t._renderService.onResize(t.cols,t.rows)}))),this.register(this.onBlur((function(){return t._renderService.onBlur()}))),this.register(this.onFocus((function(){return t._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return t.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(f.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(L.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(e){return t.scrollLines(e.amount,e.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return t._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(e){return t._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(e){t.textarea.value=e,t.textarea.focus(),t.textarea.select()}))),this.register(this.onScroll((function(){t.viewport.syncScrollArea(),t._selectionService.refresh()}))),this.register(d.addDisposableDomListener(this._viewportElement,"scroll",(function(){return t._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(g.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return t._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(d.addDisposableDomListener(this.element,"mousedown",(function(e){return t._selectionService.onMouseDown(e)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},t.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(h.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(b.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error('Unrecognized rendererType "'+this.options.rendererType+'"')}},t.prototype._setTheme=function(e){var t,r,i;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(r=this._renderService)||void 0===r||r.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},t.prototype.bindMouse=function(){var e=this,t=this,r=this.element;function i(e){var r,i,n=t._mouseService.getRawByteCoords(e,t.screenElement,t.cols,t.rows);if(!n)return!1;switch(e.overrideType||e.type){case"mousemove":i=32,void 0===e.buttons?(r=3,void 0!==e.button&&(r=e.button<3?e.button:3)):r=1&e.buttons?0:4&e.buttons?1:2&e.buttons?2:3;break;case"mouseup":i=0,r=e.button<3?e.button:3;break;case"mousedown":i=1,r=e.button<3?e.button:3;break;case"wheel":0!==e.deltaY&&(i=e.deltaY<0?0:1),r=4;break;default:return!1}return!(void 0===i||void 0===r||r>4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),0))},t.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(var e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(5),s=r(1),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._charSizeService=n,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,this._clearTextareaPosition(),e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){var e;t._isSendingComposition&&(t._isSendingComposition=!1,e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start),t._coreService.triggerDataEvent(e,!0))}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&e._coreService.triggerDataEvent(r,!0)}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*r,n=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},e.prototype._clearTextareaPosition=function(){this._textarea.style.left="",this._textarea.style.top=""},i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,o.ICharSizeService),n(5,s.ICoreService)],e)}();t.CompositionHelper=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t,!0)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},function(e,t,r){"use strict";function i(e){return e.replace(/\r?\n/g,"\r")}function n(e,t){return t?"[200~"+e+"[201~":e}function o(e,t,r){e=n(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function s(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.position="absolute",t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus(),setTimeout((function(){t.style.position="",t.style.width="",t.style.height="",t.style.left="",t.style.top="",t.style.zIndex=""}),200)}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=n,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=s,t.rightClickHandler=function(e,t,r,i,n){s(e,t,r),n&&!i.isClickInSelection(e)&&i.selectWordAtCursor(e),t.value=i.selectionText,t.select()}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(2),s=r(15),a=r(20),c=r(21),l=r(23),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;in||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return(r<<=8)|o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.addEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setEscHandler=function(e,t){this._escHandlers[this._identifier(e,[48,126])]=[t]},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.addCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setCsiHandler=function(e,t){this._csiHandlers[this._identifier(e)]=[t]},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.addDcsHandler=function(e,t){return this._dcsParser.addHandler(this._identifier(e),t)},r.prototype.setDcsHandler=function(e,t){this._dcsParser.setHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.addOscHandler=function(e,t){return this._oscParser.addHandler(e,t)},r.prototype.setOscHandler=function(e,t){this._oscParser.setHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},r.prototype.parse=function(e,t){for(var r=0,i=0,n=this.currentState,o=this._oscParser,s=this._dcsParser,a=this._collect,c=this._params,l=this._transitions.table,h=0;h>4){case 2:for(var u=h+1;;++u){if(u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:h,code:r,currentState:n,collect:a,params:c,abort:!1}).abort)return;break;case 7:for(var f=this._csiHandlers[a<<8|r],_=f?f.length-1:-1;_>=0&&!1===f[_](c);_--);_<0&&this._csiHandlerFb(a<<8|r,c),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(r-48)}}while(++h47&&r<60);h--;break;case 9:a<<=8,a|=r;break;case 10:for(var d=this._escHandlers[a<<8|r],p=d?d.length-1:-1;p>=0&&!1===d[p]();p--);p<0&&this._escHandlerFb(a<<8|r),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),a=0;break;case 12:s.hook(a<<8|r,c);break;case 13:for(var v=h+1;;++v)if(v>=t||24===(r=e[v])||26===r||27===r||r>127&&r<160){s.put(e,h,v),h=v-1;break}break;case 14:s.unhook(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var g=h+1;;g++)if(g>=t||(r=e[g])<32||r>127&&r<=159){o.put(e,h,g),h=g-1;break}break;case 6:o.end(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0}n=15&i}this._collect=a,this.currentState=n},r}(o.Disposable);t.EscapeSequenceParser=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(40),c=r(46),l=r(47),h=r(48),u=r(28),f=r(2),_=r(5),d=r(1),p=r(24),v=r(0),g=1,y=function(e){function t(t,r,i,n,o,s,f,_,d){var p=e.call(this)||this;p._colors=t,p._screenElement=r,p._bufferService=o,p._charSizeService=s,p._optionsService=f,p._id=g++,p._onRequestRedraw=new v.EventEmitter;var y=p._optionsService.options.allowTransparency;return p._characterJoinerRegistry=new u.CharacterJoinerRegistry(p._bufferService),p._renderLayers=[new a.TextRenderLayer(p._screenElement,0,p._colors,p._characterJoinerRegistry,y,p._id,p._bufferService,f),new c.SelectionRenderLayer(p._screenElement,1,p._colors,p._id,p._bufferService,f),new h.LinkRenderLayer(p._screenElement,2,p._colors,p._id,i,n,p._bufferService,f),new l.CursorRenderLayer(p._screenElement,3,p._colors,p._id,p._onRequestRedraw,p._bufferService,f,_,d)],p.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},p._devicePixelRatio=window.devicePixelRatio,p._updateDimensions(),p.onOptionsChanged(),p}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),e.prototype.dispose.call(this),p.removeTerminalFromCache(this._id)},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._bufferService.cols,this._bufferService.rows))},t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._colors),e.reset()}))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._renderLayers.forEach((function(e){return e.resize(r.dimensions)})),this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.onCharSizeChanged=function(){this.onResize(this._bufferService.cols,this._bufferService.rows)},t.prototype.onBlur=function(){this._runOperation((function(e){return e.onBlur()}))},t.prototype.onFocus=function(){this._runOperation((function(e){return e.onFocus()}))},t.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1),this._runOperation((function(i){return i.onSelectionChanged(e,t,r)}))},t.prototype.onCursorMove=function(){this._runOperation((function(e){return e.onCursorMove()}))},t.prototype.onOptionsChanged=function(){this._runOperation((function(e){return e.onOptionsChanged()}))},t.prototype.clear=function(){this._runOperation((function(e){return e.reset()}))},t.prototype._runOperation=function(e){this._renderLayers.forEach((function(t){return e(t)}))},t.prototype.renderRows=function(e,t){this._renderLayers.forEach((function(r){return r.onGridChanged(e,t)}))},t.prototype._updateDimensions=function(){this._charSizeService.hasValidSize&&(this.dimensions.scaledCharWidth=Math.floor(this._charSizeService.width*window.devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharTop=1===this._optionsService.options.lineHeight?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCharLeft=Math.floor(this._optionsService.options.letterSpacing/2),this.dimensions.scaledCanvasHeight=this._bufferService.rows*this.dimensions.scaledCellHeight,this.dimensions.scaledCanvasWidth=this._bufferService.cols*this.dimensions.scaledCellWidth,this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols)},t.prototype.registerCharacterJoiner=function(e){return this._characterJoinerRegistry.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._characterJoinerRegistry.deregisterCharacterJoiner(e)},o([s(4,d.IBufferService),s(5,_.ICharSizeService),s(6,d.IOptionsService),s(7,d.ICoreService),s(8,_.ICoreBrowserService)],t)}(f.Disposable);t.Renderer=y},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var o=r(41),s=r(13),a=r(6),c=r(3),l=r(28),h=r(4),u=function(e){function t(t,r,i,n,s,a,c,l){var u=e.call(this,t,"text",r,s,i,a,c,l)||this;return u._characterWidth=0,u._characterFont="",u._characterOverlapCache={},u._workCell=new h.CellData,u._state=new o.GridCache,u._characterJoinerRegistry=n,u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r,i){for(var n=e;n<=t;n++)for(var o=n+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(o),a=r?r.getJoinedCharacters(o):[],h=0;h0&&h===a[0][0]){f=!0;var d=a.shift();u=new l.JoinedCellData(this._workCell,s.translateToString(!0,d[0],d[1]),d[1]-d[0]),_=d[1]-1}!f&&this._isOverlapping(u)&&_this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},t}(s.BaseRenderLayer);t.TextRenderLayer=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var i=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var o=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){if(this._ctx.fillStyle=this._colors.selection.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===s?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&e[0]===t[0]&&e[1]===t[1]},t}(r(13).BaseRenderLayer);t.SelectionRenderLayer=o},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(13),s=r(4),a=function(e){function t(t,r,i,n,o,a,c,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,a,c)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new s.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=a;var c=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),600)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(13),s=r(9),a=r(25),c=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(0),s=r(1),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t))&&"break"!==a(););},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(11),c=r(51),l=r(4),h=r(0),u=r(5),f=r(1),_=r(29),d=r(52),p=r(2),v=String.fromCharCode(160),g=new RegExp(v,"g"),y=function(e){function t(t,r,i,n,o,s,a){var u=e.call(this)||this;return u._element=t,u._screenElement=r,u._bufferService=i,u._coreService=n,u._mouseService=o,u._optionsService=s,u._renderService=a,u._dragScrollAmount=0,u._enabled=!0,u._workCell=new l.CellData,u._mouseDownTimeStamp=0,u._onLinuxMouseSelection=u.register(new h.EventEmitter),u._onRedrawRequest=u.register(new h.EventEmitter),u._onSelectionChange=u.register(new h.EventEmitter),u._onRequestScrollLines=u.register(new h.EventEmitter),u._mouseMoveListener=function(e){return u._onMouseMove(e)},u._mouseUpListener=function(e){return u._onMouseUp(e)},u._coreService.onUserInput((function(){u.hasSelection&&u.clearSelection()})),u._trimListener=u._bufferService.buffer.lines.onTrim((function(e){return u._onTrim(e)})),u.register(u._bufferService.buffers.onBufferActivate((function(e){return u._onBufferActivate(e)}))),u.enable(),u._model=new c.SelectionModel(u._bufferService),u._activeSelectionMode=0,u}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0),c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}e[1]!==t[1]&&(c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]),c&&c.isWrapped?i[i.length-1]+=o:i.push(o))}return i.map((function(e){return e.replace(g," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype.isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype.selectWordAtCursor=function(e){var t=this._getMouseBufferCoords(e);t&&(this._selectWordAt(t,!1),this._model.selectionEnd=void 0,this.refresh(!0))},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=1,this._selectWordAt(t,!0))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500){if(e.altKey&&this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,m=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var S=n.lines.get(e[1]-1);if(S&&o.isWrapped&&32!==S.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,m+=w}}}if(i&&b+m===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(m+=L.length)}}return{start:b,length:m}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},o([s(2,f.IBufferService),s(3,f.ICoreService),s(4,u.IMouseService),s(5,f.IOptionsService),s(6,u.IRenderService)],t)}(p.Disposable);t.SelectionService=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var i=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(12);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;return c=n(r,i,s,a).length>0?i-o(s,i):t,e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(1),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);t&&t.tooltipCallback&&t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&ie;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0))},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&this._liveRegion.parentNode&&this._accessibilityTreeRoot.removeChild(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerHTML=" ":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(57),c=r(9),l=r(2),h=r(5),u=r(1),f=r(0),_=r(10),d=1,p=function(e){function t(t,r,i,n,o,s,c,l,h){var u=e.call(this)||this;return u._colors=t,u._element=r,u._screenElement=i,u._viewportElement=n,u._linkifier=o,u._linkifier2=s,u._charSizeService=c,u._optionsService=l,u._bufferService=h,u._terminalClass=d++,u._rowElements=[],u._rowContainer=document.createElement("div"),u._rowContainer.classList.add("xterm-rows"),u._rowContainer.style.lineHeight="normal",u._rowContainer.setAttribute("aria-hidden","true"),u._refreshRowElements(u._bufferService.cols,u._bufferService.rows),u._selectionContainer=document.createElement("div"),u._selectionContainer.classList.add("xterm-selection"),u._selectionContainer.setAttribute("aria-hidden","true"),u.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},u._updateDimensions(),u._injectCss(),u._rowFactory=new a.DomRendererRowFactory(document,u._optionsService,u._colors),u._element.classList.add("xterm-dom-renderer-owner-"+u._terminalClass),u._screenElement.appendChild(u._rowContainer),u._screenElement.appendChild(u._selectionContainer),u._linkifier.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u._linkifier2.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier2.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),this._screenElement.removeChild(this._rowContainer),this._screenElement.removeChild(this._selectionContainer),this._screenElement.removeChild(this._themeStyleElement),this._screenElement.removeChild(this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){var e=this;this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this._rowElements.forEach((function(t){t.style.width=e.dimensions.canvasWidth+"px",t.style.height=e.dimensions.actualCellHeight+"px",t.style.lineHeight=e.dimensions.actualCellHeight+"px",t.style.overflow="hidden"})),this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));var t=this._terminalSelector+" .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: "+this.dimensions.actualCellWidth+"px}";this._dimensionsStyleElement.innerHTML=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.setColors=function(e){this._colors=e,this._injectCss()},t.prototype._injectCss=function(){var e=this;this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));var t=this._terminalSelector+" .xterm-rows { color: "+this._colors.foreground.css+"; font-family: "+this._optionsService.options.fontFamily+"; font-size: "+this._optionsService.options.fontSize+"px;}";t+=this._terminalSelector+" span:not(."+a.BOLD_CLASS+") { font-weight: "+this._optionsService.options.fontWeight+";}"+this._terminalSelector+" span."+a.BOLD_CLASS+" { font-weight: "+this._optionsService.options.fontWeightBold+";}"+this._terminalSelector+" span."+a.ITALIC_CLASS+" { font-style: italic;}",t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+"; } 50% { background-color: "+this._colors.cursorAccent.css+"; color: "+this._colors.cursor.css+"; }}",t+=this._terminalSelector+" .xterm-rows:not(.xterm-focus) ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { outline: 1px solid "+this._colors.cursor.css+"; outline-offset: -1px;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+":not(."+a.CURSOR_STYLE_BLOCK_CLASS+") { animation: blink_box_shadow_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { animation: blink_block_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+";}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BAR_CLASS+" { box-shadow: "+this._optionsService.options.cursorWidth+"px 0 0 "+this._colors.cursor.css+" inset;}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_UNDERLINE_CLASS+" { box-shadow: 0 -1px 0 "+this._colors.cursor.css+" inset;}",t+=this._terminalSelector+" .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}"+this._terminalSelector+" .xterm-selection div { position: absolute; background-color: "+this._colors.selection.css+";}",this._colors.ansi.forEach((function(r,i){t+=e._terminalSelector+" .xterm-fg-"+i+" { color: "+r.css+"; }"+e._terminalSelector+" .xterm-bg-"+i+" { background-color: "+r.css+"; }"})),t+=this._terminalSelector+" .xterm-fg-"+c.INVERTED_DEFAULT_COLOR+" { color: "+_.color.opaque(this._colors.background).css+"; }"+this._terminalSelector+" .xterm-bg-"+c.INVERTED_DEFAULT_COLOR+" { background-color: "+this._colors.foreground.css+"; }",this._themeStyleElement.innerHTML=t},t.prototype.onDevicePixelRatioChange=function(){this._updateDimensions()},t.prototype._refreshRowElements=function(e,t){for(var r=this._rowElements.length;r<=t;r++){var i=document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},t.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){this._rowElements.forEach((function(e){return e.innerHTML=""}))},t.prototype.renderRows=function(e,t){for(var r=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),n=this._optionsService.options.cursorBlink,o=e;o<=t;o++){var s=this._rowElements[o];s.innerHTML="";var a=o+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.lines.get(a),l=this._optionsService.options.cursorStyle;s.appendChild(this._rowFactory.createRow(c,a===r,l,i,n,this.dimensions.actualCellWidth,this._bufferService.cols))}},Object.defineProperty(t.prototype,"_terminalSelector",{get:function(){return".xterm-dom-renderer-owner-"+this._terminalClass},enumerable:!1,configurable:!0}),t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype._onLinkHover=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)},t.prototype._onLinkLeave=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)},t.prototype._setCellUnderline=function(e,t,r,i,n,o){for(;e!==t||r!==i;){var s=this._rowElements[r];if(!s)return;var a=s.children[e];a&&(a.style.textDecoration=o?"underline":"none"),++e>=n&&(e=0,r++)}},o([s(6,h.ICharSizeService),s(7,u.IOptionsService),s(8,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var i=r(9),n=r(3),o=r(4),s=r(10);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var a=function(){function e(e,t,r){this._document=e,this._optionsService=t,this._colors=r,this._workCell=new o.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,o,a,l,h,u){for(var f=this._document.createDocumentFragment(),_=0,d=Math.min(e.length,u)-1;d>=0;d--)if(e.loadCell(d,this._workCell).getCode()!==n.NULL_CELL_CODE||r&&d===a){_=d+1;break}for(d=0;d<_;d++){e.loadCell(d,this._workCell);var p=this._workCell.getWidth();if(0!==p){var v=this._document.createElement("span");if(p>1&&(v.style.width=h*p+"px"),r&&d===a)switch(v.classList.add(t.CURSOR_CLASS),l&&v.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":v.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":v.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:v.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&v.classList.add(t.BOLD_CLASS),this._workCell.isItalic()&&v.classList.add(t.ITALIC_CLASS),this._workCell.isDim()&&v.classList.add(t.DIM_CLASS),this._workCell.isUnderline()&&v.classList.add(t.UNDERLINE_CLASS),this._workCell.isInvisible()?v.textContent=n.WHITESPACE_CELL_CHAR:v.textContent=this._workCell.getChars()||n.WHITESPACE_CELL_CHAR;var g=this._workCell.getFgColor(),y=this._workCell.getFgColorMode(),b=this._workCell.getBgColor(),m=this._workCell.getBgColorMode(),S=!!this._workCell.isInverse();if(S){var C=g;g=b,b=C;var w=y;y=m,m=w}switch(y){case 16777216:case 33554432:this._workCell.isBold()&&g<8&&this._optionsService.options.drawBoldTextInBrightColors&&(g+=8),this._applyMinimumContrast(v,this._colors.background,this._colors.ansi[g])||v.classList.add("xterm-fg-"+g);break;case 50331648:var E=s.rgba.toColor(g>>16&255,g>>8&255,255&g);this._applyMinimumContrast(v,this._colors.background,E)||this._addStyle(v,"color:#"+c(g.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(v,this._colors.background,this._colors.foreground)||S&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(m){case 16777216:case 33554432:v.classList.add("xterm-bg-"+b);break;case 50331648:this._addStyle(v,"background-color:#"+c(b.toString(16),"0",6));break;case 0:default:S&&v.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}f.appendChild(v)}}return f},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=s.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},e}();function c(e,t,r){for(;e.length"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)r&&!e.altKey&&!e.ctrlKey&&e.metaKey?65===e.keyCode&&(s.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(30),c=r(0),l=r(2),h=r(31),u=r(7),f=r(1),_=r(5),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=0===e.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){this._renderer.dispose(),e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},t.prototype.registerCharacterJoiner=function(e){return this._renderer.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._renderer.deregisterCharacterJoiner(e)},o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(1),s=r(0),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(5),s=r(29),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(1),c=r(0),l=r(2),h=r(7),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var i=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(2),s=r(1),a=r(65),c=r(66),l=r(67),h=r(73),u=r(74),f=r(0),_=r(75),d=r(76),p=r(77),v=r(79),g=r(80),y=r(18),b=r(81),m=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r._writeBuffer=new b.WriteBuffer((function(e){return r._inputHandler.parse(e)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e){this._writeBuffer.writeSync(e)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this._bufferService.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},t.prototype.scrollLines=function(e,t){var r=this._bufferService.buffer;if(e<0){if(0===r.ydisp)return;this._bufferService.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this._bufferService.isUserScrolling=!1);var i=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),i!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))},t.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},t.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},t.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},t.prototype.scrollToLine=function(e){var t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)},t.prototype.addEscHandler=function(e,t){return this._inputHandler.addEscHandler(e,t)},t.prototype.addDcsHandler=function(e,t){return this._inputHandler.addDcsHandler(e,t)},t.prototype.addCsiHandler=function(e,t){return this._inputHandler.addCsiHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._inputHandler.addOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.addCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){t.forEach((function(e){return e.dispose()}))}}}},t}(o.Disposable);t.CoreTerminal=m},function(e,t,r){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(1),c=r(68),l=r(0),h=r(2);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(69),s=r(0),a=function(e){function t(t,r){var i=e.call(this)||this;return i._onBufferActivate=i.register(new s.EventEmitter),i._normal=new o.Buffer(!0,t,r),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,t,r),i._activeBuffer=i._normal,i.setupTabStops(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(2).Disposable);t.BufferSet=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(70),n=r(16),o=r(4),s=r(3),a=r(71),c=r(72),l=r(19),h=r(6);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=_.length-1,b=_[y];0===b&&(b=_[--y]);for(var m=l.length-d-1,S=f;m>=0;){var C=Math.min(S,b);if(l[y].copyCellsFrom(l[m],S-C,b-C,C,!0),0==(b-=C)&&(b=_[--y]),0==(S-=C)){m--;var w=Math.max(m,0);S=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],A=[];for(v=0;v=0;v--)if(D&&D.start>x+T){for(var O=D.newLines.length-1;O>=0;O--)this.lines.set(v--,D.newLines[O]);v++,L.push({index:x+1,amount:D.newLines.length}),T+=D.newLines.length,D=i[++k]}else this.lines.set(v,A[x--]);var M=0;for(v=L.length-1;v>=0;v--)L[v].index+=M,this.lines.onInsertEmitter.fire(L[v]),M+=L[v].amount;var P=Math.max(0,R+o-this.lines.maxLength);P>0&&this.lines.onTrimEmitter.fire(P)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(0),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i=a&&n0&&(m>u||0===h[m].getTrimmedLength());m--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?r-1:r;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(0),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},t._nextId=1,t}(r(2).Disposable);t.Marker=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(0),n=r(11),o=r(32);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["cols","rows"],a=function(){function e(e){var r=this;this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS),Object.keys(e).forEach((function(t){if(t in r.options){var i=e[t];r.options[t]=i}}))}return Object.defineProperty(e.prototype,"onOptionChange",{get:function(){return this._onOptionChange.event},enumerable:!1,configurable:!0}),e.prototype.setOption=function(e,r){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');if(-1!==s.indexOf(e))throw new Error('Option "'+e+'" can only be set in the constructor');this.options[e]!==r&&(r=this._sanitizeAndValidateOption(e,r),this.options[e]!==r&&(this.options[e]=r,this._onOptionChange.fire(e)))},e.prototype._sanitizeAndValidateOption=function(e,r){switch(e){case"bellStyle":case"cursorStyle":case"fontWeight":case"fontWeightBold":case"rendererType":case"wordSeparator":r||(r=t.DEFAULT_OPTIONS[e]);break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw new Error(e+" cannot be less than 1, value: "+r);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,4294967295))<0)throw new Error(e+" cannot be less than 0, value: "+r);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw new Error(e+" cannot be less than or equal to 0, value: "+r)}return r},e.prototype.getOption=function(e){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');return this.options[e]},e}();t.OptionsService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(1),c=r(0),l=r(32),h=r(2),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(1),s=r(0),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){var r=this;this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null,Object.keys(a).forEach((function(e){return r.addProtocol(e,a[e])})),Object.keys(h).forEach((function(e){return r.addEncoding(e,h[e])})),this.reset()}return e.prototype.addProtocol=function(e,t){this._protocols[e]=t},e.prototype.addEncoding=function(e,t){this._encodings[e]=t},Object.defineProperty(e.prototype,"activeProtocol",{get:function(){return this._activeProtocol},set:function(e){if(!this._protocols[e])throw new Error('unknown protocol "'+e+'"');this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"areMouseEventsActive",{get:function(){return 0!==this._protocols[this._activeProtocol].events},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeEncoding",{get:function(){return this._activeEncoding},set:function(e){if(!this._encodings[e])throw new Error('unknown encoding "'+e+'"');this._activeEncoding=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null},Object.defineProperty(e.prototype,"onProtocolChange",{get:function(){return this._onProtocolChange.event},enumerable:!1,configurable:!0}),e.prototype.triggerMouseEvent=function(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&e.row===t.row&&e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift},i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(1),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(0),n=r(78),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(15),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var i=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(3);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return e.prototype.writeSync=function(e){if(this._writeBuffer.length){for(var t=this._bufferOffset;t5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(){for(var e=this,t=Date.now();this._writeBuffer.length>this._bufferOffset;){var r=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(r),this._pendingData-=r.length,i&&i(),Date.now()-t>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return e._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var i=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r switch data.id when "paste" - @_api.getClipboard().then (text) => + cb = (text) => return unless text and text isnt "" + text = text.replace /\n/g, "\r" @sub.send Antunnel.Msg.DATA, new TextEncoder("utf-8").encode(text) if @sub @term.focus() - .catch (e) => @error __("Unable to paste"), e + + @_api.getClipboard() + .then (text) => + cb(text) + .catch (e) => + @error __("Unable to paste"), e + #ask for user to enter the text manually + @openDialog("TextDialog", { title: "Paste text"}) + .then (text) => + cb(text) + .catch (err) => @error err.toString(), err when "copy" text = @term.getSelection() return unless text and text isnt "" diff --git a/vTerm/package.json b/vTerm/package.json index 5cfeebf..1d46ce7 100644 --- a/vTerm/package.json +++ b/vTerm/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.1.4-a", + "version":"0.1.5-a", "category":"System", "iconclass":"fa fa-terminal", "mimes":["none"],