月球大数据地理空间分析展示平台-【中台】
WX
2023-07-19 e815dad728f0aba7b2bb2b2087dad4c36e68652f
1
var DracoDecoderModule=function(ai){ai=ai||{};var r0=typeof ai<"u"?ai:{},p4=!1,w4=!1;r0.onRuntimeInitialized=function(){p4=!0,w4&&typeof r0.onModuleLoaded=="function"&&r0.onModuleLoaded(r0)},r0.onModuleParsed=function(){w4=!0,p4&&typeof r0.onModuleLoaded=="function"&&r0.onModuleLoaded(r0)};function en(S){if(typeof S!="string")return!1;const K=S.split(".");return K.length<2||K.length>3?!1:K[0]==1&&K[1]>=0&&K[1]<=3?!0:!(K[0]!=0||K[1]>10)}r0.isVersionSupported=en;var $i={},ae;for(ae in r0)r0.hasOwnProperty(ae)&&($i[ae]=r0[ae]);r0.arguments=[],r0.thisProgram="./this.program",r0.quit=function(S,K){throw K},r0.preRun=[],r0.postRun=[];var gi=!1,Vi=!1,$e=!1,b1=!1;if(r0.ENVIRONMENT)if(r0.ENVIRONMENT==="WEB")gi=!0;else if(r0.ENVIRONMENT==="WORKER")Vi=!0;else if(r0.ENVIRONMENT==="NODE")$e=!0;else if(r0.ENVIRONMENT==="SHELL")b1=!0;else throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.");else gi=typeof window=="object",Vi=typeof importScripts=="function",$e=typeof process=="object"&&typeof require=="function"&&!gi&&!Vi,b1=!gi&&!$e&&!Vi;if($e){var K1,a1;r0.read=function(K,u0){var B0;return B0=ii(K),B0||(K1||(K1=require("fs")),a1||(a1=require("path")),K=a1.normalize(K),B0=K1.readFileSync(K)),u0?B0:B0.toString()},r0.readBinary=function(K){var u0=r0.read(K,!0);return u0.buffer||(u0=new Uint8Array(u0)),$2(u0.buffer),u0},process.argv.length>1&&(r0.thisProgram=process.argv[1].replace(/\\/g,"/")),r0.arguments=process.argv.slice(2),process.on("uncaughtException",function(S){if(!(S instanceof l1))throw S}),process.on("unhandledRejection",function(S,K){process.exit(1)}),r0.inspect=function(){return"[Emscripten Module object]"}}else if(b1)typeof read<"u"&&(r0.read=function(K){var u0=ii(K);return u0?Y4(u0):read(K)}),r0.readBinary=function(K){var u0;return u0=ii(K),u0||(typeof readbuffer=="function"?new Uint8Array(readbuffer(K)):(u0=read(K,"binary"),$2(typeof u0=="object"),u0))},typeof scriptArgs<"u"?r0.arguments=scriptArgs:typeof arguments<"u"&&(r0.arguments=arguments),typeof quit=="function"&&(r0.quit=function(S,K){quit(S)});else if(gi||Vi)r0.read=function(K){try{var u0=new XMLHttpRequest;return u0.open("GET",K,!1),u0.send(null),u0.responseText}catch(j){var B0=ii(K);if(B0)return Y4(B0);throw j}},Vi&&(r0.readBinary=function(K){try{var u0=new XMLHttpRequest;return u0.open("GET",K,!1),u0.responseType="arraybuffer",u0.send(null),new Uint8Array(u0.response)}catch(j){var B0=ii(K);if(B0)return B0;throw j}}),r0.readAsync=function(K,u0,B0){var j=new XMLHttpRequest;j.open("GET",K,!0),j.responseType="arraybuffer",j.onload=function(){if(j.status==200||j.status==0&&j.response){u0(j.response);return}var P0=ii(K);if(P0){u0(P0.buffer);return}B0()},j.onerror=B0,j.send(null)},r0.setWindowTitle=function(S){document.title=S};else throw new Error("not compiled for this environment");r0.print=typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null,r0.printErr=typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r0.print,r0.print=r0.print,r0.printErr=r0.printErr;for(ae in $i)$i.hasOwnProperty(ae)&&(r0[ae]=$i[ae]);$i=void 0;var rn=16;function tn(S){$2(!ir);var K=ge;return ge=ge+S+15&-16,K}function Mb(S){$2(De);var K=M2[De>>2],u0=K+S+15&-16;if(M2[De>>2]=u0,u0>=S2){var B0=T4();if(!B0)return M2[De>>2]=K,0}return K}function d4(S,K){K||(K=rn);var u0=S=Math.ceil(S/K)*K;return u0}function Yb(S){switch(S){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(S[S.length-1]==="*")return 4;if(S[0]==="i"){var K=parseInt(S.substr(1));return $2(K%8===0),K/8}else return 0}}}function p1(S){p1.shown||(p1.shown={}),p1.shown[S]||(p1.shown[S]=1,r0.printErr(S))}var Cb=1,zb=new Array(0),Qb={};function Jb(S,K,u0){return u0&&u0.length?r0["dynCall_"+S].apply(null,[K].concat(u0)):r0["dynCall_"+S].call(null,K)}var $1=8,e1=0,m4=0;function $2(S,K){S||Be("Assertion failed: "+K)}function fn(S){var K=r0["_"+S];return $2(K,"Cannot call unknown function "+S+", make sure it is exported"),K}var v4={stackSave:function(){J4()},stackRestore:function(){Q4()},arrayToC:function(S){var K=z4(S.length);return Tn(S,K),K},stringToC:function(S){var K=0;if(S!=null&&S!==0){var u0=(S.length<<2)+1;K=z4(u0),An(S,K,u0)}return K}},nn={string:v4.stringToC,array:v4.arrayToC};function Ob(S,K,u0,B0,j){var e2=fn(S),P0=[],g0=0;if(B0)for(var e=0;e<B0.length;e++){var C2=nn[u0[e]];C2?(g0===0&&(g0=J4()),P0[e]=C2(B0[e])):P0[e]=B0[e]}var J=e2.apply(null,P0);return K==="string"?J=i1(J):K==="boolean"&&(J=Boolean(J)),g0!==0&&Q4(g0),J}function Sb(S,K,u0,B0){switch(u0=u0||"i8",u0.charAt(u0.length-1)==="*"&&(u0="i32"),u0){case"i1":Te[S>>0]=K;break;case"i8":Te[S>>0]=K;break;case"i16":g1[S>>1]=K;break;case"i32":M2[S>>2]=K;break;case"i64":tempI64=[K>>>0,(tempDouble=K,+Un(tempDouble)>=1?tempDouble>0?(Fn(+B4(tempDouble/4294967296),4294967295)|0)>>>0:~~+D4((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],M2[S>>2]=tempI64[0],M2[S+4>>2]=tempI64[1];break;case"float":V4[S>>2]=K;break;case"double":j4[S>>3]=K;break;default:Be("invalid type for setValue: "+u0)}}var Xb=2,Pb=4;function i1(S,K){if(K===0||!S)return"";for(var u0=0,B0,j=0;B0=Re[S+j>>0],u0|=B0,!(B0==0&&!K||(j++,K&&j==K)););K||(K=j);var e2="";if(u0<128){for(var P0=1024,g0;K>0;)g0=String.fromCharCode.apply(String,Re.subarray(S,S+Math.min(K,P0))),e2=e2?e2+g0:g0,S+=P0,K-=P0;return e2}return ln(S)}var y4=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function c4(S,K){for(var u0=K;S[u0];)++u0;if(u0-K>16&&S.subarray&&y4)return y4.decode(S.subarray(K,u0));for(var B0,j,e2,P0,g0,e,C2="";;){if(B0=S[K++],!B0)return C2;if(!(B0&128)){C2+=String.fromCharCode(B0);continue}if(j=S[K++]&63,(B0&224)==192){C2+=String.fromCharCode((B0&31)<<6|j);continue}if(e2=S[K++]&63,(B0&240)==224?B0=(B0&15)<<12|j<<6|e2:(P0=S[K++]&63,(B0&248)==240?B0=(B0&7)<<18|j<<12|e2<<6|P0:(g0=S[K++]&63,(B0&252)==248?B0=(B0&3)<<24|j<<18|e2<<12|P0<<6|g0:(e=S[K++]&63,B0=(B0&1)<<30|j<<24|e2<<18|P0<<12|g0<<6|e))),B0<65536)C2+=String.fromCharCode(B0);else{var J=B0-65536;C2+=String.fromCharCode(55296|J>>10,56320|J&1023)}}}function ln(S){return c4(Re,S)}function R4(S,K,u0,B0){if(!(B0>0))return 0;for(var j=u0,e2=u0+B0-1,P0=0;P0<S.length;++P0){var g0=S.charCodeAt(P0);if(g0>=55296&&g0<=57343&&(g0=65536+((g0&1023)<<10)|S.charCodeAt(++P0)&1023),g0<=127){if(u0>=e2)break;K[u0++]=g0}else if(g0<=2047){if(u0+1>=e2)break;K[u0++]=192|g0>>6,K[u0++]=128|g0&63}else if(g0<=65535){if(u0+2>=e2)break;K[u0++]=224|g0>>12,K[u0++]=128|g0>>6&63,K[u0++]=128|g0&63}else if(g0<=2097151){if(u0+3>=e2)break;K[u0++]=240|g0>>18,K[u0++]=128|g0>>12&63,K[u0++]=128|g0>>6&63,K[u0++]=128|g0&63}else if(g0<=67108863){if(u0+4>=e2)break;K[u0++]=248|g0>>24,K[u0++]=128|g0>>18&63,K[u0++]=128|g0>>12&63,K[u0++]=128|g0>>6&63,K[u0++]=128|g0&63}else{if(u0+5>=e2)break;K[u0++]=252|g0>>30,K[u0++]=128|g0>>24&63,K[u0++]=128|g0>>18&63,K[u0++]=128|g0>>12&63,K[u0++]=128|g0>>6&63,K[u0++]=128|g0&63}}return K[u0]=0,u0-j}function An(S,K,u0){return R4(S,Re,K,u0)}function sn(S){for(var K=0,u0=0;u0<S.length;++u0){var B0=S.charCodeAt(u0);B0>=55296&&B0<=57343&&(B0=65536+((B0&1023)<<10)|S.charCodeAt(++u0)&1023),B0<=127?++K:B0<=2047?K+=2:B0<=65535?K+=3:B0<=2097151?K+=4:B0<=67108863?K+=5:K+=6}return K}var Hb=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function xb(S){return S}function qb(S){var K=/__Z[\w\d_]+/g;return S.replace(K,function(u0){var B0=u0;return u0===B0?u0:u0+" ["+B0+"]"})}function Lb(){var S=new Error;if(!S.stack){try{throw new Error(0)}catch(K){S=K}if(!S.stack)return"(no stack trace available)"}return S.stack.toString()}var on=65536,un=16777216,_n=16777216;function G4(S,K){return S%K>0&&(S+=K-S%K),S}var te,Te,Re,g1,kn,M2,hn,V4,j4;function bn(S){r0.buffer=te=S}function N4(){r0.HEAP8=Te=new Int8Array(te),r0.HEAP16=g1=new Int16Array(te),r0.HEAP32=M2=new Int32Array(te),r0.HEAPU8=Re=new Uint8Array(te),r0.HEAPU16=kn=new Uint16Array(te),r0.HEAPU32=hn=new Uint32Array(te),r0.HEAPF32=V4=new Float32Array(te),r0.HEAPF64=j4=new Float64Array(te)}var er,ge,ir,rr,w1,d1,tr,De;er=ge=rr=w1=d1=tr=De=0,ir=!1;function pn(){Be("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+S2+", (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 ")}r0.reallocBuffer||(r0.reallocBuffer=function(S){var K;try{if(ArrayBuffer.transfer)K=ArrayBuffer.transfer(te,S);else{var u0=Te;K=new ArrayBuffer(S);var B0=new Int8Array(K);B0.set(u0)}}catch{return!1}var j=Us(K);return j?K:!1});function T4(){var S=r0.usingWasm?on:un,K=2147483648-S;if(M2[De>>2]>K)return!1;var u0=S2;for(S2=Math.max(S2,_n);S2<M2[De>>2];)S2<=536870912?S2=G4(2*S2,S):S2=Math.min(G4((3*S2+2147483648)/4,S),K);var B0=r0.reallocBuffer(S2);return!B0||B0.byteLength!=S2?(S2=u0,!1):(bn(B0),N4(),!0)}var m1;try{m1=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),m1(new ArrayBuffer(4))}catch{m1=function(K){return K.byteLength}}var fr=r0.TOTAL_STACK||5242880,S2=r0.TOTAL_MEMORY||16777216;S2<fr&&r0.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+S2+"! (TOTAL_STACK="+fr+")"),r0.buffer?te=r0.buffer:(te=new ArrayBuffer(S2),r0.buffer=te),N4();function wn(){return S2}if(M2[0]=1668509029,g1[1]=25459,Re[2]!==115||Re[3]!==99)throw"Runtime error: expected the system to be little-endian!";function r1(S){for(;S.length>0;){var K=S.shift();if(typeof K=="function"){K();continue}var u0=K.func;typeof u0=="number"?K.arg===void 0?r0.dynCall_v(u0):r0.dynCall_vi(u0,K.arg):u0(K.arg===void 0?null:K.arg)}}var U4=[],F4=[],E4=[],dn=[],I4=[],Z4=!1,mn=!1;function vn(){if(r0.preRun)for(typeof r0.preRun=="function"&&(r0.preRun=[r0.preRun]);r0.preRun.length;)Vn(r0.preRun.shift());r1(U4)}function yn(){Z4||(Z4=!0,r1(F4))}function cn(){r1(E4)}function Rn(){r1(dn),mn=!0}function Gn(){if(r0.postRun)for(typeof r0.postRun=="function"&&(r0.postRun=[r0.postRun]);r0.postRun.length;)Nn(r0.postRun.shift());r1(I4)}function Vn(S){U4.unshift(S)}function jn(S){E4.unshift(S)}function Nn(S){I4.unshift(S)}function Tn(S,K){Te.set(S,K)}function Kb(S,K,u0){for(var B0=0;B0<S.length;++B0)Te[K++>>0]=S.charCodeAt(B0);u0||(Te[K>>0]=0)}if((!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(K,u0){var B0=K>>>16,j=K&65535,e2=u0>>>16,P0=u0&65535;return j*P0+(B0*P0+j*e2<<16)|0}),Math.imul=Math.imul,!Math.fround){var W4=new Float32Array(1);Math.fround=function(S){return W4[0]=S,W4[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(S){S=S>>>0;for(var K=0;K<32;K++)if(S&1<<31-K)return K;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(S){return S<0?Math.ceil(S):Math.floor(S)}),Math.trunc=Math.trunc;var Un=Math.abs,ab=Math.cos,$b=Math.sin,gb=Math.tan,ep=Math.acos,ip=Math.asin,rp=Math.atan,tp=Math.atan2,fp=Math.exp,np=Math.log,lp=Math.sqrt,D4=Math.ceil,B4=Math.floor,Ap=Math.pow,sp=Math.imul,op=Math.fround,up=Math.round,Fn=Math.min,_p=Math.max,kp=Math.clz32,hp=Math.trunc,ki=0,nr=null,t1=null;function En(S){ki++,r0.monitorRunDependencies&&r0.monitorRunDependencies(ki)}function In(S){if(ki--,r0.monitorRunDependencies&&r0.monitorRunDependencies(ki),ki==0&&(nr!==null&&(clearInterval(nr),nr=null),t1)){var K=t1;t1=null,K()}}r0.preloadedImages={},r0.preloadedAudios={};var Ge=null,lr="data:application/octet-stream;base64,";function M4(S){return String.prototype.startsWith?S.startsWith(lr):S.indexOf(lr)===0}er=$1,ge=er+17904,F4.push(),Ge="data:application/octet-stream;base64,8BIAADgTAAAYAAAAAAAAAMgSAABfEwAA8BIAAHwTAAAYAAAAAAAAAPASAAClEwAAQAAAAAAAAADIEgAAwRMAAPASAABVFAAAMAAAAAAAAADIEgAAdxQAAPASAACcFAAAMAAAAAAAAADwEgAAMSEAAFgAAAAAAAAA8BIAAMwUAACQAAAAAAAAAPASAAAlFQAAoAAAAAAAAADwEgAAeRUAALAAAAAAAAAA8BIAAK0VAADAAAAAAAAAAMgSAADYFQAA8BIAAPwVAADYAAAAAAAAAMgSAACaFgAA8BIAADgXAADwAAAAAAAAAPASAADQFwAAkAAAAAAAAADwEgAAWRgAAPAAAAAAAAAA8BIAAPMYAADwAAAAAAAAAPASAACFGQAA8AAAAAAAAADwEgAAKxoAAPAAAAAAAAAA8BIAAMYaAADwAAAAAAAAAPASAABcGwAAYAEAAAAAAADIEgAABxwAAPASAACyHAAAeAEAAAAAAADwEgAAVx0AAJAAAAAAAAAA8BIAAO0dAAB4AQAAAAAAAPASAACUHgAAeAEAAAAAAADwEgAAMx8AAHgBAAAAAAAA8BIAAOYfAAB4AQAAAAAAAPASAACOIAAAeAEAAAAAAADwEgAA8S0AAHAAAAAAAAAA8BIAAF0hAAD4AQAAAAAAAPASAADOIQAAoAAAAAAAAADwEgAAOiIAABgCAAAAAAAAyBIAAPAiAADwEgAApiMAADACAAAAAAAA8BIAAFYkAAD4AQAAAAAAAPASAAD3JAAAUAIAAAAAAADIEgAAuiUAAPASAAB9JgAAaAIAAAAAAADwEgAAOicAAPgBAAAAAAAA8BIAAOgnAACIAgAAAAAAAPASAABMKAAAoAAAAAAAAADwEgAAqygAAKgCAAAAAAAAyBIAAFQpAADwEgAA/SkAAMACAAAAAAAA8BIAAKAqAACIAgAAAAAAAPASAAA0KwAA4AIAAAAAAADIEgAA6isAAPASAACgLAAA+AIAAAAAAADwEgAAUC0AAIgCAAAAAAAA8BIAABwuAABwAAAAAAAAAPASAAC0LgAA2AMAAAAAAADwEgAAyi4AABgDAAAAAAAA8BIAALgxAACQAwAAAAAAAMgSAADrLgAA8BIAADMvAABgAwAAAAAAAMgSAAD9LwAAyBIAABcwAADwEgAAUjAAAGADAAAAAAAA8BIAAPswAABgAwAAAAAAAMgSAAAEMgAA8BIAADIyAACQAwAAAAAAAPASAACIMgAAkAMAAAAAAADwEgAA9TIAABgDAAAAAAAA8BIAANsyAABgAwAAAAAAAMgSAAAVMwAA8BIAAEg0AADYAwAAAAAAAPASAABqNAAA2AMAAAAAAADwEgAAkDQAABAEAAAAAAAAyBIAAJ40AADIEgAAsT4AAPASAAARPwAAMAQAAAAAAADwEgAAvj4AAEAEAAAAAAAAyBIAAN8+AADwEgAA7D4AACAEAAAAAAAA8BIAADM/AAAYBAAAAAAAAPASAABDPwAAWAQAAAAAAADwEgAAeD8AADAEAAAAAAAA8BIAAFQ/AAB4BAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAACAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAAIAAAACQAAAAYAAAAAAAAAWAAAAAkAAAAKAAAAAgAAAAoAAAADAAAABAAAAAsAAAAMAAAABQAAAP////8AAAAAYAAAAAsAAAAMAAAAAQAAAA0AAAAOAAAABQAAAAMAAAAEAAAADwAAABAAAAARAAAABwAAAAEAAAAAAAAAcAAAAA0AAAAOAAAABgAAAAoAAAADAAAABAAAABIAAAAMAAAABwAAAAgAAAABAAAACAAAABMAAAAAAAAAkAAAAA8AAAAQAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAACAAAAADwAAABEAAAANAAAACQAAAA4AAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAABAAAAAAAAAEABAAAPAAAAEgAAAA8AAAAJAAAAEAAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAIAAAAAAAAAMAEAAA8AAAATAAAAEQAAAAkAAAASAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAwAAAAAAAAAgAQAAFAAAABUAAAATAAAACQAAABQAAAAKAAAAFAAAABUAAAALAAAADAAAABcAAAAEAAAAAAAAABABAAAWAAAAFwAAABUAAAAJAAAAFgAAABcAAAAYAAAAGQAAAAsAAAAMAAAAGgAAAAUAAAAAAAAA8AAAAA8AAAAYAAAAAQAAAAkAAAABAAAACgAAABQAAAAVAAAACwAAAAwAAAAWAAAAAQAAAAAAAADgAAAAGQAAABoAAAAYAAAACQAAABkAAAAaAAAAGwAAABwAAAALAAAADAAAAB0AAAAGAAAAAAAAANgAAAAbAAAAHAAAAAEAAAAbAAAAAQAAAAAAAADIAAAAGwAAAB0AAAAeAAAAGwAAAAIAAAAAAAAAAAEAAB4AAAAfAAAAHAAAAAkAAAAdAAAAHgAAAB8AAAAgAAAACwAAAAwAAAAhAAAABwAAAAAAAADIAQAADwAAACAAAAAfAAAACQAAACAAAAAKAAAAFAAAABUAAAALAAAADAAAABYAAAAIAAAAAAAAALgBAAAPAAAAIQAAACEAAAAJAAAAIgAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAkAAAAAAAAAqAEAACIAAAAjAAAAIwAAAAkAAAAkAAAACgAAABQAAAAVAAAACwAAAAwAAAAiAAAACgAAAAAAAACYAQAAJAAAACUAAAAlAAAACQAAACYAAAAnAAAAIwAAACQAAAALAAAADAAAACUAAAALAAAAAAAAAHgBAAAPAAAAJgAAAAEAAAAJAAAAAQAAAAoAAAAUAAAAFQAAAAsAAAAMAAAAFgAAAAEAAAAAAAAAaAEAACcAAAAoAAAAKAAAAAkAAAApAAAAKgAAACYAAAAnAAAACwAAAAwAAAAoAAAADAAAAAAAAABgAQAAKQAAACoAAAABAAAAKwAAAAEAAAAAAAAAUAEAACkAAAArAAAAKQAAACsAAAADAAAAAAAAAIgBAAAsAAAALQAAACwAAAAJAAAALQAAAC4AAAAqAAAAKwAAAAsAAAAMAAAALAAAAA0AAAAAAAAA2AEAAA0AAAAuAAAACQAAAAoAAAADAAAACgAAABIAAAAMAAAABwAAAAsAAAACAAAALwAAAC0AAAAAAAAAeAIAAC8AAAAwAAAAMAAAADEAAAAyAAAAMwAAAC4AAAAvAAAANAAAADUAAAAwAAAADgAAAAAAAADoAQAALwAAADEAAAA2AAAANwAAADgAAAA5AAAAMQAAADIAAAA6AAAAOwAAADMAAAAPAAAAAAAAAFgCAAAyAAAAMwAAADwAAAA3AAAAPQAAAD4AAAA0AAAANQAAADoAAAA7AAAANgAAABAAAAAAAAAAQAIAADQAAAA1AAAANwAAAD8AAAAEAAAAAAAAACACAAA2AAAANwAAAEAAAAA3AAAAQQAAAEIAAAA4AAAAOQAAADoAAAA7AAAAOgAAABEAAAAAAAAACAIAADgAAAA5AAAAOwAAAEMAAAAFAAAAAAAAAOgCAAA6AAAAOwAAAEQAAAAxAAAARQAAAEYAAAA8AAAAPQAAADQAAAA1AAAAPgAAABIAAAAAAAAA0AIAADwAAAA9AAAAPwAAAEcAAAAGAAAAAAAAALACAAA+AAAAPwAAAEgAAAAxAAAASQAAAEoAAABAAAAAQQAAADQAAAA1AAAAQgAAABMAAAAAAAAAmAIAAEAAAABBAAAAQwAAAEsAAAAHAAAAAAAAAAgDAABCAAAAQwAAAAwAAAAKAAAAAwAAAA0AAAASAAAADAAAAAcAAAAOAAAAAQAAAAgAAABEAAAATAAAAEUAAAAAAAAAGAMAAEQAAABFAAAATQAAAE4AAAABAAAATwAAAFAAAABRAAAAUgAAAFMAAABGAAAARwAAAAEAAAAAAAAAKAMAAEYAAABHAAAATQAAAFQAAABIAAAATwAAAFAAAABRAAAAVQAAAFYAAABJAAAASgAAAFcAAAAAAAAAOAMAAEgAAABJAAAASwAAAEwAAABNAAAATgAAAFgAAABZAAAAWgAAAFsAAAD/////AAAAAFADAABKAAAASwAAAE8AAABcAAAAAAAAAEgDAABMAAAATQAAAE4AAAD/////AAAAAHADAABPAAAAUAAAAFAAAABdAAAAAAAAAGgDAABRAAAAUgAAAFMAAAAAAAAAgAMAAFQAAABVAAAAUQAAAF4AAAAAAAAAmAMAAFYAAABXAAAAUgAAAFMAAABUAAAAVQAAAF8AAABgAAAAYQAAAGIAAAAAAAAAqAMAAFgAAABZAAAAVgAAAFcAAABYAAAAWQAAAGMAAABkAAAAZQAAAGYAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAAC4AwAARAAAAFoAAABNAAAATgAAAFoAAABPAAAAUAAAAFEAAABSAAAAUwAAAEYAAABHAAAAZwAAAAAAAADIAwAAWwAAAFwAAABbAAAAaAAAAAAAAADYAwAARAAAAF0AAABpAAAATgAAAAEAAABqAAAAUAAAAFEAAABSAAAAAAAAAOADAABEAAAAXgAAAGkAAABOAAAAXAAAAGsAAABQAAAAUQAAAFIAAAAAAAAA8AMAAEQAAABfAAAAaQAAAE4AAABdAAAAbAAAAFAAAABRAAAAUgAAAP//////////AAAAAAAEAABgAAAAYQAAAAgAAAADAAAA/////wAAAAAQBAAAYgAAAGMAAAAJAAAABAAAANQOAAAFAAAAAAAAAAAAAABtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAOBBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVA8AAAUAAAAAAAAAAAAAAG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAQAAAA6EEAAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAAAAAAgBAAAZAAAAGUAAABmAAAAZwAAABMAAAABAAAAAQAAAAMAAAAAAAAASAQAAGQAAABoAAAAZgAAAGcAAAATAAAAAgAAAAIAAAAEAAAAAAAAAFgEAABpAAAAagAAAG4AAAAAAAAAaAQAAGkAAABrAAAAbgAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAEtkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyOiBjb21wcmVzc2lvbiBsZXZlbCAlaSBub3Qgc3VwcG9ydGVkLgoATWV0aG9kIG5vdCBzdXBwb3J0ZWQuIAoAVmVyc2lvbiBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0RlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ASW5wdXQgaXMgbm90IGEgbWVzaC4ASW5wdXQgaXMgbm90IGEgcG9pbnQgY2xvdWQuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxEZWNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU180MU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFByZWRpY3RpdmVEZWNvZGVyRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZURlY29kZXJFRUUATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbERlY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWREZWNvZGVyRQBGYWlsZWQgdG8gcGFyc2UgRHJhY28gaGVhZGVyLgBEUkFDTwBOb3QgYSBEcmFjbyBmaWxlLgBGYWlsZWQgdG8gZGVjb2RlIG1ldGFkYXRhLgBVc2luZyBpbmNvbXBhdGlibGUgZGVjb2RlciBmb3IgdGhlIGlucHV0IGdlb21ldHJ5LgBVbmtub3duIG1ham9yIHZlcnNpb24uAFVua25vd24gbWlub3IgdmVyc2lvbi4ARmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIGRlY29kZXIuAEZhaWxlZCB0byBkZWNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGRlY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRGVjb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvNE1lc2hFAE41ZHJhY28xMFBvaW50Q2xvdWRFAEZsb2F0UG9pbnRzVHJlZURlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var Zn=ge;ge+=16;function Wn(S){return C4(S)}function Dn(){throw e1=!0,"Pure virtual function called!"}function f1(){return!!f1.uncaught_exception}var pe={last:0,caught:[],infos:{},deAdjust:function(S){if(!S||pe.infos[S])return S;for(var K in pe.infos){var u0=+K,B0=pe.infos[u0];if(B0.adjusted===S)return u0}return S},addRef:function(S){if(!!S){var K=pe.infos[S];K.refcount++}},decRef:function(S){if(!!S){var K=pe.infos[S];$2(K.refcount>0),K.refcount--,K.refcount===0&&!K.rethrown&&(K.destructor&&r0.dynCall_vi(K.destructor,S),delete pe.infos[S],___cxa_free_exception(S))}},clearRef:function(S){if(!!S){var K=pe.infos[S];K.refcount=0}}};function Bn(S){throw pe.last||(pe.last=S),S+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function n1(){var S=pe.last;if(!S)return v1(0),0|0;var K=pe.infos[S],u0=K.type;if(!u0)return v1(0),S|0;var B0=Array.prototype.slice.call(arguments),j=r0.___cxa_is_pointer_type(u0);n1.buffer||(n1.buffer=C4(4)),M2[n1.buffer>>2]=S,S=n1.buffer;for(var e2=0;e2<B0.length;e2++)if(B0[e2]&&r0.___cxa_can_catch(B0[e2],u0,S))return S=M2[S>>2],K.adjusted=S,v1(B0[e2]),S|0;return S=M2[S>>2],v1(u0),S|0}function Mn(S,K,u0){throw pe.infos[S]={ptr:S,adjusted:S,type:K,destructor:u0,refcount:0,caught:!1,rethrown:!1},pe.last=S,"uncaught_exception"in f1?f1.uncaught_exception++:f1.uncaught_exception=1,S+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function Yn(){}var Y2={varargs:0,get:function(S){Y2.varargs+=4;var K=M2[Y2.varargs-4>>2];return K},getStr:function(){var S=i1(Y2.get());return S},get64:function(){var S=Y2.get(),K=Y2.get();return S>=0?$2(K===0):$2(K===-1),S},getZero:function(){$2(Y2.get()===0)}};function Cn(S,K){Y2.varargs=K;try{var u0=Y2.getStreamFromFD(),B0=Y2.get(),j=Y2.get(),e2=Y2.get(),P0=Y2.get(),g0=j;return FS.llseek(u0,g0,P0),M2[e2>>2]=u0.position,u0.getdents&&g0===0&&P0===0&&(u0.getdents=null),0}catch(e){return(typeof FS>"u"||!(e instanceof FS.ErrnoError))&&Be(e),-e.errno}}function zn(){var S=r0._fflush;S&&S(0);var K=ei.printChar;if(!!K){var u0=ei.buffers;u0[1].length&&K(1,10),u0[2].length&&K(2,10)}}function ei(S,K){Y2.varargs=K;try{var u0=Y2.get(),B0=Y2.get(),j=Y2.get(),e2=0;ei.buffers||(ei.buffers=[null,[],[]],ei.printChar=function(J,ji){var b2=ei.buffers[J];$2(b2),ji===0||ji===10?((J===1?r0.print:r0.printErr)(c4(b2,0)),b2.length=0):b2.push(ji)});for(var P0=0;P0<j;P0++){for(var g0=M2[B0+P0*8>>2],e=M2[B0+(P0*8+4)>>2],C2=0;C2<e;C2++)ei.printChar(u0,Re[g0+C2]);e2+=e}return e2}catch(J){return(typeof FS>"u"||!(J instanceof FS.ErrnoError))&&Be(J),-J.errno}}function Qn(S,K){Y2.varargs=K;try{return 0}catch(u0){return(typeof FS>"u"||!(u0 instanceof FS.ErrnoError))&&Be(u0),-u0.errno}}function Jn(S,K){Y2.varargs=K;try{var u0=Y2.getStreamFromFD();return FS.close(u0),0}catch(B0){return(typeof FS>"u"||!(B0 instanceof FS.ErrnoError))&&Be(B0),-B0.errno}}function On(){r0.abort()}var Sn=D4,Xn=B4;function Pn(){Be("trap!")}function Hn(S,K,u0){return Re.set(Re.subarray(K,K+u0),S),S}function xn(S){return r0.___errno_location&&(M2[r0.___errno_location()>>2]=S),S}De=tn(4),rr=w1=d4(ge),d1=rr+fr,tr=d4(d1),M2[De>>2]=tr,ir=!0;var qn=!1;function Ln(S,K,u0){var B0=u0>0?u0:sn(S)+1,j=new Array(B0),e2=R4(S,j,0,j.length);return K&&(j.length=e2),j}function Y4(S){for(var K=[],u0=0;u0<S.length;u0++){var B0=S[u0];B0>255&&(qn&&$2(!1,"Character code "+B0+" ("+String.fromCharCode(B0)+")  at offset "+u0+" not in 0x00-0xFF."),B0&=255),K.push(String.fromCharCode(B0))}return K.join("")}var Kn=typeof atob=="function"?atob:function(S){var K="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u0="",B0,j,e2,P0,g0,e,C2,J=0;S=S.replace(/[^A-Za-z0-9\+\/\=]/g,"");do P0=K.indexOf(S.charAt(J++)),g0=K.indexOf(S.charAt(J++)),e=K.indexOf(S.charAt(J++)),C2=K.indexOf(S.charAt(J++)),B0=P0<<2|g0>>4,j=(g0&15)<<4|e>>2,e2=(e&3)<<6|C2,u0=u0+String.fromCharCode(B0),e!==64&&(u0=u0+String.fromCharCode(j)),C2!==64&&(u0=u0+String.fromCharCode(e2));while(J<S.length);return u0};function an(S){if(typeof $e=="boolean"&&$e){var K;try{K=Buffer.from(S,"base64")}catch{K=new Buffer(S,"base64")}return new Uint8Array(K.buffer,K.byteOffset,K.byteLength)}try{for(var u0=Kn(S),B0=new Uint8Array(u0.length),j=0;j<u0.length;++j)B0[j]=u0.charCodeAt(j);return B0}catch{throw new Error("Converting base64 string to bytes failed.")}}function ii(S){if(!!M4(S))return an(S.slice(lr.length))}function $n(S,K){try{return r0.dynCall_ii(S,K)}catch(u0){if(typeof u0!="number"&&u0!=="longjmp")throw u0;r0.setThrew(1,0)}}function gn(S,K,u0){try{return r0.dynCall_iii(S,K,u0)}catch(B0){if(typeof B0!="number"&&B0!=="longjmp")throw B0;r0.setThrew(1,0)}}function el(S,K,u0,B0){try{return r0.dynCall_iiii(S,K,u0,B0)}catch(j){if(typeof j!="number"&&j!=="longjmp")throw j;r0.setThrew(1,0)}}function il(S,K,u0,B0,j,e2,P0){try{return r0.dynCall_iiiiiii(S,K,u0,B0,j,e2,P0)}catch(g0){if(typeof g0!="number"&&g0!=="longjmp")throw g0;r0.setThrew(1,0)}}function rl(S){try{r0.dynCall_v(S)}catch(K){if(typeof K!="number"&&K!=="longjmp")throw K;r0.setThrew(1,0)}}function tl(S,K){try{r0.dynCall_vi(S,K)}catch(u0){if(typeof u0!="number"&&u0!=="longjmp")throw u0;r0.setThrew(1,0)}}function fl(S,K,u0){try{r0.dynCall_vii(S,K,u0)}catch(B0){if(typeof B0!="number"&&B0!=="longjmp")throw B0;r0.setThrew(1,0)}}function nl(S,K,u0,B0){try{r0.dynCall_viii(S,K,u0,B0)}catch(j){if(typeof j!="number"&&j!=="longjmp")throw j;r0.setThrew(1,0)}}function ll(S,K,u0,B0,j){try{r0.dynCall_viiii(S,K,u0,B0,j)}catch(e2){if(typeof e2!="number"&&e2!=="longjmp")throw e2;r0.setThrew(1,0)}}function Al(S,K,u0,B0,j,e2){try{r0.dynCall_viiiii(S,K,u0,B0,j,e2)}catch(P0){if(typeof P0!="number"&&P0!=="longjmp")throw P0;r0.setThrew(1,0)}}function sl(S,K,u0,B0,j,e2,P0){try{r0.dynCall_viiiiii(S,K,u0,B0,j,e2,P0)}catch(g0){if(typeof g0!="number"&&g0!=="longjmp")throw g0;r0.setThrew(1,0)}}r0.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0,byteLength:m1},r0.asmLibraryArg={abort:Be,assert:$2,enlargeMemory:T4,getTotalMemory:wn,abortOnCannotGrowMemory:pn,invoke_ii:$n,invoke_iii:gn,invoke_iiii:el,invoke_iiiiiii:il,invoke_v:rl,invoke_vi:tl,invoke_vii:fl,invoke_viii:nl,invoke_viiii:ll,invoke_viiiii:Al,invoke_viiiiii:sl,__ZSt18uncaught_exceptionv:f1,___cxa_allocate_exception:Wn,___cxa_find_matching_catch:n1,___cxa_pure_virtual:Dn,___cxa_throw:Mn,___gxx_personality_v0:Yn,___resumeException:Bn,___setErrNo:xn,___syscall140:Cn,___syscall146:ei,___syscall54:Qn,___syscall6:Jn,_abort:On,_emscripten_memcpy_big:Hn,_llvm_ceil_f32:Sn,_llvm_floor_f64:Xn,_llvm_trap:Pn,flush_NO_FILESYSTEM:zn,DYNAMICTOP_PTR:De,tempDoublePtr:Zn,ABORT:e1,STACKTOP:w1,STACK_MAX:d1};var M0=function(S,K,u0){var B0=S.Int8Array,j=new B0(u0),e2=S.Int16Array,P0=new e2(u0),g0=S.Int32Array,e=new g0(u0),C2=S.Uint8Array,J=new C2(u0),ji=S.Uint16Array,b2=new ji(u0),S4=S.Uint32Array,Cs=new S4(u0),X4=S.Float32Array,q0=new X4(u0),P4=S.Float64Array,D2=new P4(u0),or=S.byteLength,ur=K.DYNAMICTOP_PTR|0,I2=K.tempDoublePtr|0,Xp=K.ABORT|0,U=K.STACKTOP|0,zs=K.STACK_MAX|0,H4=0,Qs=0,Pp=0,Hp=0,xp=S.NaN,qp=S.Infinity,Lp=0,Kp=0,ap=0,$p=0,gp=0,H=0,Ni=S.Math.floor,x4=S.Math.abs,_r=S.Math.sqrt,e5=S.Math.pow,i5=S.Math.cos,r5=S.Math.sin,t5=S.Math.tan,f5=S.Math.acos,n5=S.Math.asin,l5=S.Math.atan,A5=S.Math.atan2,s5=S.Math.exp,o5=S.Math.log,hi=S.Math.ceil,Z0=S.Math.imul,q4=S.Math.min,u5=S.Math.max,N2=S.Math.clz32,o0=S.Math.fround,Ue=K.abort,_5=K.assert,Js=K.enlargeMemory,Os=K.getTotalMemory,Ss=K.abortOnCannotGrowMemory,k5=K.invoke_ii,h5=K.invoke_iii,b5=K.invoke_iiii,p5=K.invoke_iiiiiii,w5=K.invoke_v,d5=K.invoke_vi,m5=K.invoke_vii,v5=K.invoke_viii,y5=K.invoke_viiii,c5=K.invoke_viiiii,R5=K.invoke_viiiiii,G5=K.__ZSt18uncaught_exceptionv,T2=K.___cxa_allocate_exception,V5=K.___cxa_find_matching_catch,Xs=K.___cxa_pure_virtual,U2=K.___cxa_throw,j5=K.___gxx_personality_v0,N5=K.___resumeException,L4=K.___setErrNo,Ps=K.___syscall140,K4=K.___syscall146,Hs=K.___syscall54,xs=K.___syscall6,qs=K._abort,Ls=K._emscripten_memcpy_big,T5=K._llvm_ceil_f32,U5=K._llvm_floor_f64,Ks=K._llvm_trap,F5=K.flush_NO_FILESYSTEM,E5=o0(0);const a0=o0(0);function as(i){return or(i)&16777215||or(i)<=16777215||or(i)>2147483648?!1:(j=new B0(i),P0=new e2(i),e=new g0(i),J=new C2(i),b2=new ji(i),Cs=new S4(i),q0=new X4(i),D2=new P4(i),u0=i,!0)}function $s(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,r>>>0>=262144?(h|0)!=1048576&&(e[c>>2]=y+1048576):u2(s,262144-r|0),r=i+28|0,y=i+32|0,i=e[r>>2]|0,c=(e[y>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[y>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,y=c,c=(e[h>>2]|0)+c|0,c>>>0>262144){n=0,b=38;break}if(y>>>0<c>>>0){h=e[s>>2]|0,i=y;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==262144|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function gs(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,r>>>0>=65536?(h|0)!=262144&&(e[c>>2]=y+262144):u2(s,65536-r|0),r=i+28|0,y=i+32|0,i=e[r>>2]|0,c=(e[y>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[y>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,y=c,c=(e[h>>2]|0)+c|0,c>>>0>65536){n=0,b=38;break}if(y>>>0<c>>>0){h=e[s>>2]|0,i=y;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==65536|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function eo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,r>>>0>=32768?(h|0)!=131072&&(e[c>>2]=y+131072):u2(s,32768-r|0),r=i+28|0,y=i+32|0,i=e[r>>2]|0,c=(e[y>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[y>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,y=c,c=(e[h>>2]|0)+c|0,c>>>0>32768){n=0,b=38;break}if(y>>>0<c>>>0){h=e[s>>2]|0,i=y;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==32768|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function a4(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if((r|0)<0||(t=i+12|0,n=e[t>>2]|0,f=e[i+8>>2]|0,l=f,o=n,n-f>>2>>>0<=r>>>0))return;if(f=l+(r<<2)|0,n=e[(e[f>>2]|0)+56>>2]|0,A=e[(e[l+(r<<2)>>2]|0)+60>>2]|0,l=f+4|0,(l|0)!=(o|0)){u=l,l=f;do s=e[u>>2]|0,e[u>>2]=0,_=e[l>>2]|0,e[l>>2]=s,_|0&&(s=_+88|0,h=e[s>>2]|0,e[s>>2]=0,h|0&&(s=e[h+8>>2]|0,s|0&&(e[h+12>>2]=s,Y(s)),Y(h)),h=e[_+68>>2]|0,h|0&&(e[_+72>>2]=h,Y(h)),h=_+64|0,s=e[h>>2]|0,e[h>>2]=0,s|0&&(h=e[s>>2]|0,h|0&&(e[s+4>>2]=h,Y(h)),Y(s)),Y(_)),u=u+4|0,l=l+4|0;while((u|0)!=(o|0));u=e[t>>2]|0,(u|0)==(l|0)?k=l:(b=l,p=u,w=19)}else b=f,p=o,w=19;if((w|0)==19){w=p;do w=w+-4|0,p=e[w>>2]|0,e[w>>2]=0,p|0&&(o=p+88|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&(o=e[f+8>>2]|0,o|0&&(e[f+12>>2]=o,Y(o)),Y(f)),f=e[p+68>>2]|0,f|0&&(e[p+72>>2]=f,Y(f)),f=p+64|0,o=e[f>>2]|0,e[f>>2]=0,o|0&&(f=e[o>>2]|0,f|0&&(e[o+4>>2]=f,Y(f)),Y(o)),Y(p));while((w|0)!=(b|0));k=b}e[t>>2]=k,k=e[i+4>>2]|0,k|0&&s3(k,A);e:do if((n|0)<5){A=e[i+20+(n*12|0)>>2]|0,k=i+20+(n*12|0)+4|0,t=e[k>>2]|0,b=t;i:do if((A|0)==(t|0))d=A;else for(w=A;;){if((e[w>>2]|0)==(r|0)){d=w;break i}if(w=w+4|0,(w|0)==(t|0))break e}while(0);(d|0)!=(t|0)&&(A=d+4|0,w=b-A|0,w|0&&q2(d|0,A|0,w|0)|0,e[k>>2]=d+(w>>2<<2))}while(0);if(d=e[i+24>>2]|0,n=e[i+20>>2]|0,w=n,(d|0)!=(n|0)){A=d-n>>2,n=0;do d=w+(n<<2)|0,p=e[d>>2]|0,(p|0)>(r|0)&&(e[d>>2]=p+-1),n=n+1|0;while(n>>>0<A>>>0)}if(A=e[i+36>>2]|0,n=e[i+32>>2]|0,w=n,(A|0)!=(n|0)){p=A-n>>2,n=0;do A=w+(n<<2)|0,d=e[A>>2]|0,(d|0)>(r|0)&&(e[A>>2]=d+-1),n=n+1|0;while(n>>>0<p>>>0)}if(p=e[i+48>>2]|0,n=e[i+44>>2]|0,w=n,(p|0)!=(n|0)){d=p-n>>2,n=0;do p=w+(n<<2)|0,A=e[p>>2]|0,(A|0)>(r|0)&&(e[p>>2]=A+-1),n=n+1|0;while(n>>>0<d>>>0)}if(d=e[i+60>>2]|0,n=e[i+56>>2]|0,w=n,(d|0)!=(n|0)){A=d-n>>2,n=0;do d=w+(n<<2)|0,p=e[d>>2]|0,(p|0)>(r|0)&&(e[d>>2]=p+-1),n=n+1|0;while(n>>>0<A>>>0)}if(A=e[i+72>>2]|0,n=e[i+68>>2]|0,i=n,(A|0)!=(n|0)){w=A-n>>2,n=0;do A=i+(n<<2)|0,p=e[A>>2]|0,(p|0)>(r|0)&&(e[A>>2]=p+-1),n=n+1|0;while(n>>>0<w>>>0)}}function io(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0;l=i+4|0,o=e[r>>2]|0,r=o;do if((o|0)!=(l|0)){if(A=o+16|0,u=j[A+11>>0]|0,s=u<<24>>24<0,_=s?e[o+20>>2]|0:u&255,u=j[f+11>>0]|0,h=u<<24>>24<0,k=h?e[f+4>>2]|0:u&255,u=_>>>0<k>>>0,b=u?_:k,p=(b|0)==0,!p&&(w=h?e[f>>2]|0:f,d=s?e[A>>2]|0:A,m=E2(w,d,b)|0,(m|0)!=0)){if((m|0)<0)break;c=d,y=w,V=23}else{if(k>>>0<_>>>0)break;p?V=24:(c=s?e[A>>2]|0:A,y=h?e[f>>2]|0:f,V=23)}if((V|0)==23&&(A=E2(c,y,b)|0,A?(A|0)>=0&&(V=42):V=24),(V|0)==24&&!u&&(V=42),(V|0)==42)return e[t>>2]=r,e[n>>2]=r,v=n,v|0;if(u=e[o+4>>2]|0,u){for(b=u;s=e[b>>2]|0,s;)b=s;T=b}else if(A=o+8|0,b=e[A>>2]|0,(e[b>>2]|0)==(o|0))T=b;else{b=A;do A=e[b>>2]|0,b=A+8|0,s=e[b>>2]|0;while((e[s>>2]|0)!=(A|0));T=s}do if((T|0)!=(l|0)){if(u=T+16|0,s=j[u+11>>0]|0,A=s<<24>>24<0,p=A?e[T+20>>2]|0:s&255,s=p>>>0<k>>>0?p:k,(s|0)!=0&&(_=E2(h?e[f>>2]|0:f,A?e[u>>2]|0:u,s)|0,(_|0)!=0)){if((_|0)<0)break}else V=36;if((V|0)==36&&k>>>0<p>>>0)break;return v=pr(i,t,f)|0,v|0}while(0);return e[o+4>>2]|0?(e[t>>2]=T,v=T,v|0):(e[t>>2]=r,v=o+4|0,v|0)}while(0);T=e[o>>2]|0;do if((e[i>>2]|0)==(o|0))R=r;else{if(T)for(n=T;;)if(y=e[n+4>>2]|0,y)n=y;else{N=n;break}else{l=o;do n=l,l=e[l+8>>2]|0;while((e[l>>2]|0)==(n|0));N=l}if(n=N,l=N+16|0,y=j[f+11>>0]|0,c=y<<24>>24<0,k=c?e[f+4>>2]|0:y&255,y=j[l+11>>0]|0,h=y<<24>>24<0,b=h?e[N+20>>2]|0:y&255,y=k>>>0<b>>>0?k:b,(y|0)!=0&&(p=E2(h?e[l>>2]|0:l,c?e[f>>2]|0:f,y)|0,(p|0)!=0)){if((p|0)<0){R=n;break}}else V=15;if((V|0)==15&&b>>>0<k>>>0){R=n;break}return v=pr(i,t,f)|0,v|0}while(0);return T?(e[t>>2]=R,v=R+4|0,v|0):(e[t>>2]=o,v=o,v|0)}function $4(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(l=U,U=U+32|0,o=l+12|0,A=l,e[r+40>>2]=t,t=r+32|0,e[t>>2]=n,e[r+4>>2]=f,F1(i,n,o),e[i>>2]|0){U=l;return}if(n=i+4|0,f=n+11|0,(j[f>>0]|0)<0&&Y(e[n>>2]|0),u=j[o+7>>0]|0,(K0[e[(e[r>>2]|0)+8>>2]&127](r)|0)!=(u&255|0)){s=v0(64)|0,e[A>>2]=s,e[A+8>>2]=-2147483584,e[A+4>>2]=50,_=s,h=13186,k=_+50|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[s+50>>0]=0,e[i>>2]=-1,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l;return}if(s=j[o+5>>0]|0,j[r+36>>0]=s,b=j[o+6>>0]|0,j[r+37>>0]=b,(s+-1&255)>1){p=v0(32)|0,e[A>>2]=p,e[A+8>>2]=-2147483616,e[A+4>>2]=22,_=p,h=13237,k=_+22|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[p+22>>0]=0,e[i>>2]=-5,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l;return}if(p=b&255,s<<24>>24==2&(u<<24>>24==0?3:2)>>>0<p>>>0){u=v0(32)|0,e[A>>2]=u,e[A+8>>2]=-2147483616,e[A+4>>2]=22,_=u,h=13260,k=_+22|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[u+22>>0]=0,e[i>>2]=-5,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l;return}if(u=((s&255)<<8|p)&65535,P0[(e[t>>2]|0)+38>>1]=u,(u&65535)>258&&(P0[o+10>>1]|0)<0){if(qo(i,r),e[i>>2]|0){U=l;return}(j[f>>0]|0)<0&&Y(e[n>>2]|0)}if(!(K0[e[(e[r>>2]|0)+12>>2]&127](r)|0)){f=v0(48)|0,e[A>>2]=f,e[A+8>>2]=-2147483600,e[A+4>>2]=33,_=f,h=13283,k=_+33|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[f+33>>0]=0,e[i>>2]=-1,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l;return}if(!(K0[e[(e[r>>2]|0)+20>>2]&127](r)|0)){f=v0(32)|0,e[A>>2]=f,e[A+8>>2]=-2147483616,e[A+4>>2]=31,_=f,h=13317,k=_+31|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[f+31>>0]=0,e[i>>2]=-1,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l;return}if(K0[e[(e[r>>2]|0)+24>>2]&127](r)|0){e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,U=l;return}r=v0(48)|0,e[A>>2]=r,e[A+8>>2]=-2147483600,e[A+4>>2]=34,_=r,h=13349,k=_+34|0;do j[_>>0]=j[h>>0]|0,_=_+1|0,h=h+1|0;while((_|0)<(k|0));j[r+34>>0]=0,e[i>>2]=-1,c2(n,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=l}function y1(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0;if(f=r+12|0,l=e[f>>2]|0,o=(e[t>>2]|0)-l|0,A=t+4|0,u=(e[A>>2]|0)-l|0,s=t,e[s>>2]=o,e[s+4>>2]=u,s=(o|0)>-1,_=(u|0)>-1,h=e[f>>2]|0,k=((_?u:0-u|0)+(s?o:0-o|0)|0)<=(h|0),k?(b=o,p=u):(s?_?(w=1,d=1):(o|0)<1?(w=-1,d=-1):m=6:(u|0)<1?(w=-1,d=-1):m=6,(m|0)==6&&(w=(o|0)>0?1:-1,d=(u|0)>0?1:-1),_=Z0(w,h)|0,s=Z0(d,h)|0,h=(o<<1)-_|0,e[t>>2]=h,o=(u<<1)-s|0,e[A>>2]=o,(Z0(w,d)|0)>-1?(d=0-o|0,e[t>>2]=d,c=d,y=0-h|0):(e[t>>2]=o,c=o,y=h),h=(c+_|0)/2|0,e[t>>2]=h,_=(y+s|0)/2|0,e[A>>2]=_,b=h,p=_),b?(_=(p|0)<1,h=(b|0)>0?(p>>31)+2|0:_?0:3,(b|0)<0&_?(V=1,v=b,T=p,R=h):(N=h,m=14)):p?(N=(p|0)>0?3:1,m=14):(V=1,v=b,T=p,R=0),(m|0)==14){switch(N|0){case 1:{G=p,F=0-b|0;break}case 2:{G=0-b|0,F=0-p|0;break}case 3:{G=0-p|0,F=b;break}default:G=b,F=p}p=t,e[p>>2]=G,e[p+4>>2]=F,V=0,v=G,T=F,R=N}if(N=(e[n>>2]|0)+v|0,e[i>>2]=N,v=(e[n+4>>2]|0)+T|0,T=i+4|0,e[T>>2]=v,n=e[f>>2]|0,(n|0)>=(N|0)?(N|0)<(0-n|0)?E=(e[r+4>>2]|0)+N|0:E=N:E=N-(e[r+4>>2]|0)|0,e[i>>2]=E,(n|0)>=(v|0)?(v|0)<(0-n|0)?Z=(e[r+4>>2]|0)+v|0:Z=v:Z=v-(e[r+4>>2]|0)|0,e[T>>2]=Z,V)Q=Z,z=E;else{switch((4-R|0)%4|0|0){case 1:{C=Z,W=0-E|0;break}case 2:{C=0-E|0,W=0-Z|0;break}case 3:{C=0-Z|0,W=E;break}default:C=E,W=Z}Z=i,e[Z>>2]=C,e[Z+4>>2]=W,Q=W,z=C}if(k){I=z,D=Q,L=I+l|0,O=D+l|0,x=i,X=x,e[X>>2]=L,B=x+4|0,M=B,e[M>>2]=O;return}(z|0)>-1?(Q|0)<=-1?(z|0)<1?(P=-1,q=-1):m=38:(P=1,q=1):(Q|0)<1?(P=-1,q=-1):m=38,(m|0)==38&&(P=(z|0)>0?1:-1,q=(Q|0)>0?1:-1),m=Z0(P,n)|0,k=Z0(q,n)|0,n=(z<<1)-m|0,e[i>>2]=n,z=(Q<<1)-k|0,e[T>>2]=z,(Z0(P,q)|0)>-1?(q=0-z|0,e[i>>2]=q,g=q,n0=0-n|0):(e[i>>2]=z,g=z,n0=n),n=(g+m|0)/2|0,e[i>>2]=n,m=(n0+k|0)/2|0,e[T>>2]=m,I=n,D=m,L=I+l|0,O=D+l|0,x=i,X=x,e[X>>2]=L,B=x+4|0,M=B,e[M>>2]=O}function c1(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(t=j[r+11>>0]|0,n=t<<24>>24<0,f=n?e[r>>2]|0:r,l=n?e[r+4>>2]|0:t&255,l>>>0>3){for(t=f,r=l,n=l;o=Z0(J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,1540483477)|0,r=(Z0(o>>>24^o,1540483477)|0)^(Z0(r,1540483477)|0),n=n+-4|0,!(n>>>0<=3);)t=t+4|0;t=l+-4|0,n=t&-4,A=t-n|0,u=f+(n+4)|0,s=r}else A=l,u=f,s=l;switch(A|0){case 3:{_=J[u+2>>0]<<16^s,h=7;break}case 2:{_=s,h=7;break}case 1:{k=s,h=8;break}default:b=s}if((h|0)==7&&(k=J[u+1>>0]<<8^_,h=8),(h|0)==8&&(b=Z0(k^J[u>>0],1540483477)|0),u=Z0(b>>>13^b,1540483477)|0,b=u>>>15^u,u=e[i+4>>2]|0,!u||(k=u+-1|0,_=(k&u|0)==0,_?w=b&k:b>>>0<u>>>0?w=b:w=(b>>>0)%(u>>>0)|0,s=e[(e[i>>2]|0)+(w<<2)>>2]|0,!s)||(i=e[s>>2]|0,!i))return p=0,p|0;if(s=(l|0)==0,_){_=i;e:for(;;){if(A=e[_+4>>2]|0,r=(b|0)==(A|0),!(r|(A&k|0)==(w|0))){p=0,h=45;break}do if(r&&(A=_+8|0,n=j[A+11>>0]|0,t=n<<24>>24<0,o=n&255,((t?e[_+12>>2]|0:o)|0)==(l|0))){if(n=e[A>>2]|0,d=t?n:A,m=n&255,t){if(s){p=_,h=45;break e}if(E2(d,f,l)|0)break;p=_,h=45;break e}if(s){p=_,h=45;break e}if((j[f>>0]|0)==m<<24>>24){m=A,A=o,o=f;do{if(A=A+-1|0,m=m+1|0,!A){p=_,h=45;break e}o=o+1|0}while((j[m>>0]|0)==(j[o>>0]|0))}}while(0);if(_=e[_>>2]|0,!_){p=0,h=45;break}}if((h|0)==45)return p|0}_=i;e:for(;;){i=e[_+4>>2]|0;do if((b|0)==(i|0)){if(k=_+8|0,r=j[k+11>>0]|0,o=r<<24>>24<0,m=r&255,((o?e[_+12>>2]|0:m)|0)==(l|0)){if(r=e[k>>2]|0,A=o?r:k,d=r&255,o){if(s){p=_,h=45;break e}if(E2(A,f,l)|0)break;p=_,h=45;break e}if(s){p=_,h=45;break e}if((j[f>>0]|0)==d<<24>>24){d=k,k=m,m=f;do{if(k=k+-1|0,d=d+1|0,!k){p=_,h=45;break e}m=m+1|0}while((j[d>>0]|0)==(j[m>>0]|0))}}}else if(i>>>0<u>>>0?c=i:c=(i>>>0)%(u>>>0)|0,(c|0)!=(w|0)){p=0,h=45;break e}while(0);if(_=e[_>>2]|0,!_){p=0,h=45;break}}return(h|0)==45?p|0:0}function g4(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(t=j[r+11>>0]|0,n=t<<24>>24<0,f=n?e[r>>2]|0:r,l=n?e[r+4>>2]|0:t&255,l>>>0>3){for(t=f,r=l,n=l;o=Z0(J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,1540483477)|0,r=(Z0(o>>>24^o,1540483477)|0)^(Z0(r,1540483477)|0),n=n+-4|0,!(n>>>0<=3);)t=t+4|0;t=l+-4|0,n=t&-4,A=t-n|0,u=f+(n+4)|0,s=r}else A=l,u=f,s=l;switch(A|0){case 3:{_=J[u+2>>0]<<16^s,h=7;break}case 2:{_=s,h=7;break}case 1:{k=s,h=8;break}default:b=s}if((h|0)==7&&(k=J[u+1>>0]<<8^_,h=8),(h|0)==8&&(b=Z0(k^J[u>>0],1540483477)|0),u=Z0(b>>>13^b,1540483477)|0,b=u>>>15^u,u=e[i+4>>2]|0,!u||(k=u+-1|0,_=(k&u|0)==0,_?w=b&k:b>>>0<u>>>0?w=b:w=(b>>>0)%(u>>>0)|0,s=e[(e[i>>2]|0)+(w<<2)>>2]|0,!s)||(i=e[s>>2]|0,!i))return p=0,p|0;if(s=(l|0)==0,_){_=i;e:for(;;){if(A=e[_+4>>2]|0,r=(A|0)==(b|0),!(r|(A&k|0)==(w|0))){p=0,h=45;break}do if(r&&(A=_+8|0,n=j[A+11>>0]|0,t=n<<24>>24<0,o=n&255,((t?e[_+12>>2]|0:o)|0)==(l|0))){if(n=e[A>>2]|0,d=t?n:A,m=n&255,t){if(s){p=_,h=45;break e}if(E2(d,f,l)|0)break;p=_,h=45;break e}if(s){p=_,h=45;break e}if((j[f>>0]|0)==m<<24>>24){m=A,A=o,o=f;do{if(A=A+-1|0,m=m+1|0,!A){p=_,h=45;break e}o=o+1|0}while((j[m>>0]|0)==(j[o>>0]|0))}}while(0);if(_=e[_>>2]|0,!_){p=0,h=45;break}}if((h|0)==45)return p|0}_=i;e:for(;;){i=e[_+4>>2]|0;do if((i|0)==(b|0)){if(k=_+8|0,r=j[k+11>>0]|0,o=r<<24>>24<0,m=r&255,((o?e[_+12>>2]|0:m)|0)==(l|0)){if(r=e[k>>2]|0,A=o?r:k,d=r&255,o){if(s){p=_,h=45;break e}if(E2(A,f,l)|0)break;p=_,h=45;break e}if(s){p=_,h=45;break e}if((j[f>>0]|0)==d<<24>>24){d=k,k=m,m=f;do{if(k=k+-1|0,d=d+1|0,!k){p=_,h=45;break e}m=m+1|0}while((j[d>>0]|0)==(j[m>>0]|0))}}}else if(i>>>0<u>>>0?c=i:c=(i>>>0)%(u>>>0)|0,(c|0)!=(w|0)){p=0,h=45;break e}while(0);if(_=e[_>>2]|0,!_){p=0,h=45;break}}return(h|0)==45?p|0:0}function ro(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0;if(t=U,U=U+48|0,n=t+32|0,f=t+28|0,l=t+16|0,o=t,A=i+16|0,u=e[A>>2]|0,u|0){s=e[r>>2]|0,_=A,h=u;do u=(e[h+16>>2]|0)<(s|0),_=u?_:h,h=e[(u?h+4|0:h)>>2]|0;while((h|0)!=0);if((_|0)!=(A|0)&&(s|0)>=(e[_+16>>2]|0))return k=_,b=k+20|0,U=t,b|0}if(zf(l),e[o>>2]=e[r>>2],r=o+4|0,e[o+8>>2]=0,_=o+12|0,e[_>>2]=0,s=o+8|0,e[r>>2]=s,h=e[l>>2]|0,u=l+4|0,(h|0)!=(u|0))for(p=s,w=h;;){if(h=w+16|0,e[f>>2]=p,e[n>>2]=e[f>>2],qu(r,n,h,h)|0,h=e[w+4>>2]|0,h){for(m=h;y=e[m>>2]|0,y;)m=y;c=m}else if(d=w+8|0,m=e[d>>2]|0,(e[m>>2]|0)==(w|0))c=m;else{m=d;do d=e[m>>2]|0,m=d+8|0,y=e[m>>2]|0;while((e[y>>2]|0)!=(d|0));c=y}if((c|0)==(u|0))break;w=c}c=i+12|0,w=e[A>>2]|0;do if(w){for(n=e[o>>2]|0,f=i+16|0,p=w;;){if(h=e[p+16>>2]|0,(n|0)<(h|0))if(y=e[p>>2]|0,y)v=p,T=y;else{V=21;break}else{if((h|0)>=(n|0)){V=25;break}if(R=p+4|0,h=e[R>>2]|0,h)v=R,T=h;else{V=24;break}}f=v,p=T}if((V|0)==21){N=p,G=p;break}else if((V|0)==24){N=p,G=R;break}else if((V|0)==25){N=p,G=f;break}}else N=A,G=A;while(0);return A=e[G>>2]|0,A?E=A:(V=v0(32)|0,e[V+16>>2]=e[o>>2],R=V+20|0,e[R>>2]=e[r>>2],T=V+24|0,v=e[o+8>>2]|0,e[T>>2]=v,w=e[_>>2]|0,e[V+28>>2]=w,w?(e[v+8>>2]=T,e[r>>2]=s,e[s>>2]=0,e[_>>2]=0):e[R>>2]=T,e[V>>2]=0,e[V+4>>2]=0,e[V+8>>2]=N,e[G>>2]=V,N=e[e[c>>2]>>2]|0,N?(e[c>>2]=N,F=e[G>>2]|0):F=V,br(e[i+16>>2]|0,F),F=i+20|0,e[F>>2]=(e[F>>2]|0)+1,E=V),Ji(o+4|0,e[s>>2]|0),Ji(l,e[u>>2]|0),k=E,b=k+20|0,U=t,b|0}function et(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0;if(l=i,o=r,A=o,u=t,s=n,_=s,!A)return h=(f|0)!=0,_?h?(e[f>>2]=i|0,e[f+4>>2]=r&0,k=0,b=0,H=k,b|0):(k=0,b=0,H=k,b|0):(h&&(e[f>>2]=(l>>>0)%(u>>>0),e[f+4>>2]=0),k=0,b=(l>>>0)/(u>>>0)>>>0,H=k,b|0);h=(_|0)==0;do if(u){if(!h){if(p=(N2(_|0)|0)-(N2(A|0)|0)|0,p>>>0<=31){w=p+1|0,d=31-p|0,m=p-31>>31,c=w,y=l>>>(w>>>0)&m|A<<d,V=A>>>(w>>>0)&m,v=0,T=l<<d;break}return f?(e[f>>2]=i|0,e[f+4>>2]=o|r&0,k=0,b=0,H=k,b|0):(k=0,b=0,H=k,b|0)}if(d=u-1|0,d&u|0){m=(N2(u|0)|0)+33-(N2(A|0)|0)|0,w=64-m|0,p=32-m|0,R=p>>31,N=m-32|0,G=N>>31,c=m,y=p-1>>31&A>>>(N>>>0)|(A<<p|l>>>(m>>>0))&G,V=G&A>>>(m>>>0),v=l<<w&R,T=(A<<w|l>>>(N>>>0))&R|l<<p&m-33>>31;break}return f|0&&(e[f>>2]=d&l,e[f+4>>2]=0),(u|0)==1?(k=o|r&0,b=i|0|0,H=k,b|0):(d=xf(u|0)|0,k=A>>>(d>>>0)|0,b=A<<32-d|l>>>(d>>>0)|0,H=k,b|0)}else{if(h)return f|0&&(e[f>>2]=(A>>>0)%(u>>>0),e[f+4>>2]=0),k=0,b=(A>>>0)/(u>>>0)>>>0,H=k,b|0;if(!l)return f|0&&(e[f>>2]=0,e[f+4>>2]=(A>>>0)%(_>>>0)),k=0,b=(A>>>0)/(_>>>0)>>>0,H=k,b|0;if(d=_-1|0,!(d&_))return f|0&&(e[f>>2]=i|0,e[f+4>>2]=d&A|r&0),k=0,b=A>>>((xf(_|0)|0)>>>0),H=k,b|0;if(d=(N2(_|0)|0)-(N2(A|0)|0)|0,d>>>0<=30){m=d+1|0,p=31-d|0,c=m,y=A<<p|l>>>(m>>>0),V=A>>>(m>>>0),v=0,T=l<<p;break}return f?(e[f>>2]=i|0,e[f+4>>2]=o|r&0,k=0,b=0,H=k,b|0):(k=0,b=0,H=k,b|0)}while(0);if(!c)F=T,E=v,Z=V,Q=y,z=0,C=0;else{r=t|0|0,t=s|n&0,n=i0(r|0,t|0,-1,-1)|0,s=H,o=T,T=v,v=V,V=y,y=c,c=0;do i=o,o=T>>>31|o<<1,T=c|T<<1,l=V<<1|i>>>31|0,i=V>>>31|v<<1|0,H0(n|0,s|0,l|0,i|0)|0,A=H,_=A>>31|((A|0)<0?-1:0)<<1,c=_&1,V=H0(l|0,i|0,_&r|0,(((A|0)<0?-1:0)>>31|((A|0)<0?-1:0)<<1)&t|0)|0,v=H,y=y-1|0;while((y|0)!=0);F=o,E=T,Z=v,Q=V,z=0,C=c}return c=E,E=0,f|0&&(e[f>>2]=Q,e[f+4>>2]=Z),k=(c|0)>>>31|(F|E)<<1|(E<<1|c>>>31)&0|z,b=(c<<1|0>>>31)&-2|C,H=k,b|0}function it(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;if(t=i+4|0,!r){n=e[i>>2]|0,e[i>>2]=0,n|0&&Y(n),e[t>>2]=0;return}r>>>0>1073741823&&(n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105)),n=v0(r<<2)|0,f=e[i>>2]|0,e[i>>2]=n,f|0&&Y(f),e[t>>2]=r,t=0;do e[(e[i>>2]|0)+(t<<2)>>2]=0,t=t+1|0;while((t|0)!=(r|0));if(t=i+8|0,f=e[t>>2]|0,!!f&&(n=e[f+4>>2]|0,l=r+-1|0,o=(l&r|0)==0,o?A=n&l:n>>>0<r>>>0?A=n:A=(n>>>0)%(r>>>0)|0,e[(e[i>>2]|0)+(A<<2)>>2]=t,t=e[f>>2]|0,!!t))for(n=A,A=t,t=f;;){f=e[A+4>>2]|0,o?u=f&l:f>>>0<r>>>0?u=f:u=(f>>>0)%(r>>>0)|0;do if((u|0)==(n|0))s=n,_=A;else{if(f=(e[i>>2]|0)+(u<<2)|0,!(e[f>>2]|0)){e[f>>2]=t,s=u,_=A;break}f=e[A>>2]|0;e:do if(!f)h=A;else{if(k=A+8|0,b=j[k+11>>0]|0,p=b<<24>>24<0,w=b&255,b=p?e[A+12>>2]|0:w,d=(b|0)==0,p)for(p=A,m=f;;){if(c=m+8|0,y=j[c+11>>0]|0,V=y<<24>>24<0,(b|0)!=((V?e[m+12>>2]|0:y&255)|0)){h=p;break e}if(!d&&E2(e[k>>2]|0,V?e[c>>2]|0:c,b)|0){h=p;break e}if(c=e[m>>2]|0,c)V=m,m=c,p=V;else{h=m;break e}}if(d)for(p=A,m=f;;){if(V=j[m+8+11>>0]|0,(V<<24>>24<0?e[m+12>>2]|0:V&255)|0){h=p;break e}if(V=e[m>>2]|0,V)c=m,m=V,p=c;else{h=m;break e}}for(p=A,m=f;;){if(d=m+8|0,c=j[d+11>>0]|0,V=c<<24>>24<0,(b|0)!=((V?e[m+12>>2]|0:c&255)|0)){h=p;break e}if(c=V?e[d>>2]|0:d,(j[c>>0]|0)!=(e[k>>2]&255)<<24>>24){h=p;break e}for(d=k,V=w,y=c;V=V+-1|0,d=d+1|0,!!V;)if(y=y+1|0,(j[d>>0]|0)!=(j[y>>0]|0)){h=p;break e}if(y=e[m>>2]|0,y)d=m,m=y,p=d;else{h=m;break}}}while(0);e[t>>2]=e[h>>2],e[h>>2]=e[e[(e[i>>2]|0)+(u<<2)>>2]>>2],e[e[(e[i>>2]|0)+(u<<2)>>2]>>2]=A,s=n,_=t}while(0);if(A=e[_>>2]|0,A)n=s,t=_;else break}}function to(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0;if(r=U,U=U+16|0,t=r,n=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,(n|0)<=0)return f=1,U=r,f|0;for(l=i+36|0,o=i+48|0,A=t+8|0,u=t+4|0,s=t+11|0,_=0;;){if(h=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+40|0,(e[h>>2]|0)!=0&&(h=e[(e[l>>2]|0)+(_<<2)>>2]|0,k=e[h+8>>2]|0,b=Zt(h)|0,(b|0)!=0)){h=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+40|0,p=e[h>>2]|0,h=e[k+56>>2]|0,k=v0(32)|0,e[t>>2]=k,e[A>>2]=-2147483616,e[u>>2]=24,w=k,d=11931,m=w+24|0;do j[w>>0]=j[d>>0]|0,w=w+1|0,d=d+1|0;while((w|0)<(m|0));j[k+24>>0]=0,d=p+16|0,w=e[d>>2]|0;e:do if(w){m=d,c=w;do y=(e[c+16>>2]|0)<(h|0),m=y?m:c,c=e[(y?c+4|0:c)>>2]|0;while((c|0)!=0);if((m|0)!=(d|0)&&(h|0)>=(e[m+16>>2]|0)&&(c=m+20|0,y=e[m+24>>2]|0,(y|0)!=0)){for(V=y;;){if(y=V+16|0,v=j[y+11>>0]|0,T=v<<24>>24<0,R=T?e[V+20>>2]|0:v&255,v=R>>>0<24,N=v?R:24,G=(N|0)==0,!G&&(F=T?e[y>>2]|0:y,E=E2(k,F,N)|0,(E|0)!=0)?(E|0)<0?Z=16:(Q=F,Z=19):R>>>0<=24?G?Z=20:(Q=T?e[y>>2]|0:y,Z=19):Z=16,(Z|0)==16)Z=0,z=V;else if((Z|0)==19)if(Z=0,y=E2(Q,k,N)|0,y)if((y|0)<0)Z=22;else break;else Z=20;if((Z|0)==20)if(Z=0,v)Z=22;else break;if((Z|0)==22&&(Z=0,z=V+4|0),V=e[z>>2]|0,!V){Z=25;break e}}C=W1(c,t,0)|0}else Z=25}else Z=25;while(0);(Z|0)==25&&(Z=0,C=W1(p,t,0)|0),(j[s>>0]|0)<0&&Y(e[t>>2]|0),C?vt(e[(e[(e[l>>2]|0)+(_<<2)>>2]|0)+8>>2]|0,b):Z=30}else Z=30;if((Z|0)==30&&(Z=0,k=e[(e[l>>2]|0)+(_<<2)>>2]|0,!(_2[e[(e[k>>2]|0)+24>>2]&127](k,o)|0))){f=0,Z=32;break}if(_=_+1|0,(_|0)>=(n|0)){f=1,Z=32;break}}return(Z|0)==32?(U=r,f|0):0}function fo(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0;f=U,U=U+64|0,l=f,o=l,A=o+52|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(A|0));e:do if(xt(l,t)|0&&tt(l,t)|0){if(o=(i|0)==0,o)bi(t,0,0)|0;else{if(!(e[l+12>>2]|0)){u=0;break}if(bi(t,0,0)|0,!o)for(o=l+44|0,A=l+48|0,s=l+40|0,_=l+16|0,h=l+28|0,k=(r|0)>0,b=t+36|0,p=t+32|0,w=t+24|0,d=t+28|0,m=0,c=0,y=e[A>>2]|0;;){i:do if(y>>>0<16384)for(V=e[o>>2]|0,v=y;;){if((V|0)<=0){T=v;break i}if(R=e[s>>2]|0,V=V+-1|0,e[o>>2]=V,N=v<<8|J[R+V>>0],e[A>>2]=N,N>>>0>=16384){T=N;break}else v=N}else T=y;while(0);v=T&4095,V=e[(e[_>>2]|0)+(v<<2)>>2]|0,N=e[h>>2]|0,y=(Z0(e[N+(V<<3)>>2]|0,T>>>12)|0)+v-(e[N+(V<<3)+4>>2]|0)|0,e[A>>2]=y;i:do if(k){if(N=(j[b>>0]|0)==0,(V|0)<=0)for(v=0,R=c;;){if(N){u=0;break e}if(G=R+1|0,e[n+(R<<2)>>2]=0,v=v+1|0,(v|0)>=(r|0)){F=G;break i}else R=G}for(R=0,v=c;;){if(N){u=0;break e}for(G=e[w>>2]|0,E=e[d>>2]|0,Z=0,Q=0,z=e[p>>2]|0;C=G+(z>>>3)|0,C>>>0<E>>>0?(W=(J[C>>0]|0)>>>(z&7)&1,C=z+1|0,e[p>>2]=C,I=W,D=C):(I=0,D=z),Z=I<<Q|Z,Q=Q+1|0,(Q|0)!=(V|0);)z=D;if(z=v+1|0,e[n+(v<<2)>>2]=Z,R=R+1|0,(R|0)>=(r|0)){F=z;break}else v=z}}else F=c;while(0);if(m=m+r|0,m>>>0>=i>>>0)break;c=F}}li(t),u=1}else u=0;while(0);return t=e[l+28>>2]|0,t|0&&(e[l+32>>2]=t,Y(t)),t=e[l+16>>2]|0,t|0&&(e[l+20>>2]=t,Y(t)),t=e[l>>2]|0,t?(e[l+4>>2]=t,Y(t),U=f,u|0):(U=f,u|0)}function Ti(i,r){i=i|0,r=r|0;var t=0;return!(f2(i,r)|0)||!(f2(i+16|0,r)|0)||!(f2(i+32|0,r)|0)||!(f2(i+48|0,r)|0)||!(f2(i+64|0,r)|0)||!(f2(i+80|0,r)|0)||!(f2(i+96|0,r)|0)||!(f2(i+112|0,r)|0)||!(f2(i+128|0,r)|0)||!(f2(i+144|0,r)|0)||!(f2(i+160|0,r)|0)||!(f2(i+176|0,r)|0)||!(f2(i+192|0,r)|0)||!(f2(i+208|0,r)|0)||!(f2(i+224|0,r)|0)||!(f2(i+240|0,r)|0)||!(f2(i+256|0,r)|0)||!(f2(i+272|0,r)|0)||!(f2(i+288|0,r)|0)||!(f2(i+304|0,r)|0)||!(f2(i+320|0,r)|0)||!(f2(i+336|0,r)|0)||!(f2(i+352|0,r)|0)||!(f2(i+368|0,r)|0)||!(f2(i+384|0,r)|0)||!(f2(i+400|0,r)|0)||!(f2(i+416|0,r)|0)||!(f2(i+432|0,r)|0)||!(f2(i+448|0,r)|0)||!(f2(i+464|0,r)|0)||!(f2(i+480|0,r)|0)||!(f2(i+496|0,r)|0)?(t=0,t|0):(t=f2(i+512|0,r)|0,t|0)}function no(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0;if(l=i+8|0,e[l>>2]=f,o=i+32|0,A=i+36|0,u=e[o>>2]|0,s=(e[A>>2]|0)-u>>2,s>>>0>=f>>>0?s>>>0>f>>>0&&(e[A>>2]=u+(f<<2)):u2(o,f-s|0),s=f>>>0>1073741823?-1:f<<2,o=B2(s)|0,E0(o|0,0,s|0)|0,s=e[l>>2]|0,(s|0)>0){u=i+16|0,A=i+32|0,_=i+12|0,h=0;do{k=e[o+(h<<2)>>2]|0,b=e[u>>2]|0;do if((k|0)<=(b|0))if(p=e[_>>2]|0,w=e[A>>2]|0,d=w+(h<<2)|0,(k|0)<(p|0)){e[d>>2]=p,m=w;break}else{e[d>>2]=k,m=w;break}else w=e[A>>2]|0,e[w+(h<<2)>>2]=b,m=w;while(0);h=h+1|0,c=e[l>>2]|0}while((h|0)<(c|0));if((c|0)>0){h=i+20|0,A=0;do b=(e[r+(A<<2)>>2]|0)+(e[m+(A<<2)>>2]|0)|0,k=t+(A<<2)|0,e[k>>2]=b,(b|0)<=(e[u>>2]|0)?(b|0)<(e[_>>2]|0)&&(y=(e[h>>2]|0)+b|0,V=19):(y=b-(e[h>>2]|0)|0,V=19),(V|0)==19&&(V=0,e[k>>2]=y),A=A+1|0,k=e[l>>2]|0;while((A|0)<(k|0));v=k}else v=c}else v=s;if((f|0)>=(n|0))return i2(o),1;for(s=0-f|0,c=i+16|0,A=i+32|0,y=i+12|0,h=i+20|0,i=f,_=v;;){if(v=t+(i<<2)|0,u=v+(s<<2)|0,m=r+(i<<2)|0,(_|0)>0){k=0;do{b=e[u+(k<<2)>>2]|0,w=e[c>>2]|0;do if((b|0)<=(w|0))if(d=e[y>>2]|0,p=e[A>>2]|0,T=p+(k<<2)|0,(b|0)<(d|0)){e[T>>2]=d,R=p;break}else{e[T>>2]=b,R=p;break}else p=e[A>>2]|0,e[p+(k<<2)>>2]=w,R=p;while(0);k=k+1|0,N=e[l>>2]|0}while((k|0)<(N|0));if((N|0)>0){k=0;do u=(e[m+(k<<2)>>2]|0)+(e[R+(k<<2)>>2]|0)|0,w=v+(k<<2)|0,e[w>>2]=u,(u|0)<=(e[c>>2]|0)?(u|0)<(e[y>>2]|0)&&(G=(e[h>>2]|0)+u|0,V=38):(G=u-(e[h>>2]|0)|0,V=38),(V|0)==38&&(V=0,e[w>>2]=G),k=k+1|0,w=e[l>>2]|0;while((k|0)<(w|0));F=w}else F=N}else F=_;if(i=i+f|0,(i|0)>=(n|0))break;_=F}return i2(o),1}function kr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0;t=U,U=U+32|0,n=t+24|0,f=t+20|0,l=t+8|0,o=t+4|0,A=t,e[n>>2]=0,t2(n,e[i>>2]|0)|0;e:do if(e[n>>2]|0){for(u=0;;){if(u=u+1|0,!(vo(i,r)|0)){s=0;break}if(u>>>0>=(e[n>>2]|0)>>>0)break e}return U=t,s|0}while(0);e[f>>2]=0,t2(f,e[i>>2]|0)|0;e:do if(!(e[f>>2]|0))_=1;else for(n=l+11|0,u=0;;){e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,h=e[i>>2]|0,k=h+8|0,b=e[k+4>>2]|0,p=h+16|0,w=p,d=e[w>>2]|0,m=e[w+4>>2]|0;do if((b|0)>(m|0)|((b|0)==(m|0)?(e[k>>2]|0)>>>0>d>>>0:0)){if(w=j[(e[h>>2]|0)+d>>0]|0,c=i0(d|0,m|0,1,0)|0,y=p,e[y>>2]=c,e[y+4>>2]=H,y=w&255,Si(l,y,0),w<<24>>24){if(c=e[i>>2]|0,V=Pr(l,0)|0,v=c+8|0,T=e[v>>2]|0,R=e[v+4>>2]|0,v=c+16|0,N=v,G=e[N>>2]|0,F=w&255,w=i0(G|0,e[N+4>>2]|0,F|0,0)|0,N=H,(R|0)<(N|0)|(R|0)==(N|0)&T>>>0<w>>>0){E=1;break}S0(V|0,(e[c>>2]|0)+G|0,y|0)|0,y=v,G=i0(e[y>>2]|0,e[y+4>>2]|0,F|0,0)|0,F=v,e[F>>2]=G,e[F+4>>2]=H}F=v0(40)|0,e[F>>2]=0,e[F+4>>2]=0,e[F+8>>2]=0,e[F+12>>2]=0,e[F+16>>2]=1065353216,G=F+20|0,e[G>>2]=0,e[G+4>>2]=0,e[G+8>>2]=0,e[G+12>>2]=0,e[F+36>>2]=1065353216,e[o>>2]=F,kr(i,F)|0?(F=e[o>>2]|0,e[o>>2]=0,e[A>>2]=F,zu(r,l,A)|0,Dr(A),Z=0):Z=1,Dr(o),E=Z}else E=1;while(0);if((j[n>>0]|0)<0&&Y(e[l>>2]|0),u=u+1|0,E|0){_=0;break e}if(u>>>0>=(e[f>>2]|0)>>>0){_=1;break}}while(0);return s=_,U=t,s|0}function lo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0;if(n=U,U=U+16|0,f=n,l=i+68|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[i+8+(r*12|0)+4>>2]|0)-(e[i+8+(r*12|0)>>2]|0)|0,o=l>>2,(l|0)<=0){U=n;return}for(l=i+4|0,A=i+56|0,u=i+72|0,s=e[t>>2]|0,t=s+4|0,_=s+8|0,h=i+76|0,k=0,b=e[i+44+(r<<2)>>2]|0;;){r=(b|0)==-1,p=(b>>>0)/3|0,w=r?-1:p,d=(e[A>>2]|0)+(w>>>5<<2)|0,e[d>>2]=e[d>>2]|1<<(w&31),e[u>>2]=(e[u>>2]|0)+1;do if(k){if(r?m=-1:(w=(b|0)/3|0,m=e[(e[(e[i>>2]|0)+96>>2]|0)+(w*12|0)+(b-(w*3|0)<<2)>>2]|0),e[h>>2]=m,e[f>>2]=m,w=e[t>>2]|0,w>>>0<(e[_>>2]|0)>>>0?(e[w>>2]=m,e[t>>2]=w+4):L0(s,f),!(k&1)){if(w=b+1|0,r){c=-1;break}y=((w>>>0)%3|0|0)==0?b+-2|0:w,V=35;break}if(r)c=-1;else if(b-(p*3|0)|0){y=b+-1|0,V=35;break}else{y=b+2|0,V=35;break}}else r?v=-1:v=e[(e[(e[i>>2]|0)+96>>2]|0)+(((b|0)/3|0)*12|0)+(((b|0)%3|0)<<2)>>2]|0,e[f>>2]=v,w=e[t>>2]|0,w>>>0<(e[_>>2]|0)>>>0?(e[w>>2]=v,e[t>>2]=w+4):L0(s,f),w=b+1|0,!r&&(d=((w>>>0)%3|0|0)==0?b+-2|0:w,(d|0)!=-1)?(w=(d|0)/3|0,T=e[(e[(e[i>>2]|0)+96>>2]|0)+(w*12|0)+(d-(w*3|0)<<2)>>2]|0):T=-1,e[f>>2]=T,w=e[t>>2]|0,w>>>0<(e[_>>2]|0)>>>0?(e[w>>2]=T,e[t>>2]=w+4):L0(s,f),!r&&(w=(((b>>>0)%3|0|0)==0?2:-1)+b|0,(w|0)!=-1)?(d=(w|0)/3|0,R=e[(e[(e[i>>2]|0)+96>>2]|0)+(d*12|0)+(w-(d*3|0)<<2)>>2]|0):R=-1,e[h>>2]=R,e[f>>2]=R,d=e[t>>2]|0,d>>>0<(e[_>>2]|0)>>>0?(e[d>>2]=R,e[t>>2]=d+4):L0(s,f),y=b,V=35;while(0);if((V|0)==35&&(V=0,(y|0)==-1?c=-1:c=e[(e[(e[l>>2]|0)+12>>2]|0)+(y<<2)>>2]|0),k=k+1|0,(k|0)>=(o|0))break;b=c}U=n}function rt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(t=i+4|0,!r){n=e[i>>2]|0,e[i>>2]=0,n|0&&Y(n),e[t>>2]=0;return}r>>>0>1073741823&&(n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105)),n=v0(r<<2)|0,f=e[i>>2]|0,e[i>>2]=n,f|0&&Y(f),e[t>>2]=r,t=0;do e[(e[i>>2]|0)+(t<<2)>>2]=0,t=t+1|0;while((t|0)!=(r|0));if(t=i+8|0,f=e[t>>2]|0,!!f&&(n=e[f+4>>2]|0,l=r+-1|0,o=(l&r|0)==0,o?A=n&l:n>>>0<r>>>0?A=n:A=(n>>>0)%(r>>>0)|0,e[(e[i>>2]|0)+(A<<2)>>2]=t,t=e[f>>2]|0,!!t)){if(o){for(o=A,n=t,u=f;;){s=e[n+4>>2]&l;do if((s|0)==(o|0))_=o,h=n;else{if(k=(e[i>>2]|0)+(s<<2)|0,!(e[k>>2]|0)){e[k>>2]=u,_=s,h=n;break}k=e[n>>2]|0;e:do if(!k)b=n;else for(p=e[n+8>>2]|0,w=n,d=k;;){if((p|0)!=(e[d+8>>2]|0)){b=w;break e}if(m=e[d>>2]|0,m)c=d,d=m,w=c;else{b=d;break}}while(0);e[u>>2]=e[b>>2],e[b>>2]=e[e[(e[i>>2]|0)+(s<<2)>>2]>>2],e[e[(e[i>>2]|0)+(s<<2)>>2]>>2]=n,_=o,h=u}while(0);if(n=e[h>>2]|0,n)o=_,u=h;else break}return}for(h=A,A=t,t=f;;){f=e[A+4>>2]|0,f>>>0<r>>>0?y=f:y=(f>>>0)%(r>>>0)|0;do if((y|0)==(h|0))V=h,v=A;else{if(f=(e[i>>2]|0)+(y<<2)|0,!(e[f>>2]|0)){e[f>>2]=t,V=y,v=A;break}f=e[A>>2]|0;e:do if(!f)T=A;else for(u=e[A+8>>2]|0,_=A,o=f;;){if((u|0)!=(e[o+8>>2]|0)){T=_;break e}if(n=e[o>>2]|0,n)b=o,o=n,_=b;else{T=o;break}}while(0);e[t>>2]=e[T>>2],e[T>>2]=e[e[(e[i>>2]|0)+(y<<2)>>2]>>2],e[e[(e[i>>2]|0)+(y<<2)>>2]>>2]=A,V=h,v=t}while(0);if(A=e[v>>2]|0,A)h=V,t=v;else break}}}function Ao(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0;if(n=U,U=U+16|0,f=n+8|0,l=n,o=n+4|0,!(Vu(i,r)|0))return A=0,U=n,A|0;if(u=r+96|0,s=r+100|0,r=e[s>>2]|0,_=e[u>>2]|0,(r|0)==(_|0))return A=1,U=n,A|0;for(h=i+56|0,k=i+8|0,b=i+12|0,p=i+20|0,w=i+24|0,d=i+32|0,m=i+36|0,c=i+68|0,y=i+76|0,V=e[t>>2]|0,t=V+4|0,v=V+8|0,T=V,R=i+72|0,N=0,G=_,_=r;;)if(e[(e[h>>2]|0)+(N>>>5<<2)>>2]&1<<(N&31)?(C=G,W=_):(r=N*3|0,e[l>>2]=r,e[f>>2]=e[l>>2],Vr(i,0,f),F=(e[b>>2]|0)-(e[k>>2]|0)|0,E=(F|0)!=0,Z=E?F>>2:0,e[l>>2]=r+1,e[f>>2]=e[l>>2],Vr(i,1,f),F=(e[w>>2]|0)-(e[p>>2]|0)>>2,Q=F>>>0>Z>>>0,e[l>>2]=r+2,e[f>>2]=e[l>>2],Vr(i,2,f),r=(e[m>>2]|0)-(e[d>>2]|0)>>2>>>0>(Q?F:Z)>>>0?2:Q?1:(E^1)<<31>>31,(e[c>>2]|0)>0&&(E=e[y>>2]|0,e[f>>2]=E,Q=e[t>>2]|0,Q>>>0<(e[v>>2]|0)>>>0?(e[Q>>2]=E,e[t>>2]=Q+4):L0(V,f),Q=e[i+44+(r<<2)>>2]|0,(Q|0)==-1?z=-1:(E=(Q|0)/3|0,z=e[(e[(e[i>>2]|0)+96>>2]|0)+(E*12|0)+(Q-(E*3|0)<<2)>>2]|0),e[f>>2]=z,E=e[t>>2]|0,E>>>0<(e[v>>2]|0)>>>0?(e[E>>2]=z,e[t>>2]=E+4):L0(V,f),E=(e[R>>2]|0)+2|0,e[R>>2]=E,E&1|0&&(e[f>>2]=z,E=e[t>>2]|0,E>>>0<(e[v>>2]|0)>>>0?(e[E>>2]=z,e[t>>2]=E+4):L0(V,f),e[R>>2]=(e[R>>2]|0)+1)),e[o>>2]=T,e[f>>2]=e[o>>2],lo(i,r,f),C=e[u>>2]|0,W=e[s>>2]|0),N=N+1|0,N>>>0>=((W-C|0)/12|0)>>>0){A=1;break}else G=C,_=W;return U=n,A|0}function so(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+176|0,f=n+136|0,l=n+64|0,o=n,A=n+32|0,u=e[(e[r+4>>2]|0)+44>>2]|0,s=v0(88)|0,e[s+4>>2]=0,e[s>>2]=3384,_=s+12|0,e[_>>2]=3364,h=s+64|0,e[h>>2]=0,e[s+68>>2]=0,e[s+72>>2]=0,k=s+16|0,b=k+44|0;do e[k>>2]=0,k=k+4|0;while((k|0)<(b|0));e[s+76>>2]=u,e[s+80>>2]=t,e[s+84>>2]=0,p=s,w=l+4|0,e[w>>2]=3364,d=l+56|0,e[d>>2]=0,m=l+60|0,e[m>>2]=0,e[l+64>>2]=0,k=l+8|0,b=k+44|0;do e[k>>2]=0,k=k+4|0;while((k|0)<(b|0));if(k=e[r+8>>2]|0,e[o>>2]=3364,r=o+4|0,b=r+4|0,e[b>>2]=0,e[b+4>>2]=0,e[b+8>>2]=0,e[b+12>>2]=0,e[b+16>>2]=0,e[b+20>>2]=0,e[r>>2]=k,r=((e[k+4>>2]|0)-(e[k>>2]|0)>>2>>>0)/3|0,j[f>>0]=0,Fe(o+8|0,r,f),l2[e[(e[o>>2]|0)+8>>2]&127](o),ct(A,o),ct(f,A),e[l>>2]=e[f+4>>2],r=l+4|0,Ii(r,f)|0,e[f>>2]=3364,b=e[f+20>>2]|0,b|0&&Y(b),b=e[f+8>>2]|0,b|0&&Y(b),e[l+36>>2]=k,e[l+40>>2]=t,e[l+44>>2]=u,e[l+48>>2]=s,e[A>>2]=3364,u=e[A+20>>2]|0,u|0&&Y(u),u=e[A+8>>2]|0,u|0&&Y(u),e[s+8>>2]=e[l>>2],Ii(_,r)|0,r=s+44|0,s=l+36|0,e[r>>2]=e[s>>2],e[r+4>>2]=e[s+4>>2],e[r+8>>2]=e[s+8>>2],e[r+12>>2]=e[s+12>>2],j[r+16>>0]=j[s+16>>0]|0,Zi(h,e[d>>2]|0,e[m>>2]|0),e[i>>2]=p,e[o>>2]=3364,p=e[o+20>>2]|0,p|0&&Y(p),p=e[o+8>>2]|0,p|0&&Y(p),p=e[d>>2]|0,p|0&&(e[m>>2]=p,Y(p)),e[w>>2]=3364,w=e[l+24>>2]|0,w|0&&Y(w),w=e[l+12>>2]|0,!w){U=n;return}Y(w),U=n}function oo(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0;if(n=U,U=U+16|0,o=n+4|0,A=n,e[i+72>>2]=f,e[i+64>>2]=l,l=B2(f>>>0>1073741823?-1:f<<2)|0,u=i+68|0,s=e[u>>2]|0,e[u>>2]=l,s|0&&i2(s),s=i+8|0,e[s>>2]=f,l=i+32|0,_=i+36|0,h=e[l>>2]|0,k=(e[_>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[_>>2]=h+(f<<2)):u2(l,f-k|0),k=i+56|0,l=e[k>>2]|0,h=e[l+4>>2]|0,_=e[l>>2]|0,b=h-_|0,p=b>>2,(b|0)<=0)return U=n,1;for(b=i+16|0,w=i+32|0,d=i+12|0,m=i+20|0,(h|0)==(_|0)&&(c=l,W0(c)),l=0,h=_;;){if(e[A>>2]=e[h+(l<<2)>>2],e[o>>2]=e[A>>2],v8(i,o,t,l),_=Z0(l,f)|0,y=e[u>>2]|0,V=r+(_<<2)|0,v=t+(_<<2)|0,(e[s>>2]|0)>0){_=0;do{T=e[y+(_<<2)>>2]|0,R=e[b>>2]|0;do if((T|0)<=(R|0))if(N=e[d>>2]|0,G=e[w>>2]|0,F=G+(_<<2)|0,(T|0)<(N|0)){e[F>>2]=N,E=G;break}else{e[F>>2]=T,E=G;break}else G=e[w>>2]|0,e[G+(_<<2)>>2]=R,E=G;while(0);_=_+1|0,Z=e[s>>2]|0}while((_|0)<(Z|0));if((Z|0)>0){_=0;do y=(e[V+(_<<2)>>2]|0)+(e[E+(_<<2)>>2]|0)|0,R=v+(_<<2)|0,e[R>>2]=y,(y|0)<=(e[b>>2]|0)?(y|0)<(e[d>>2]|0)&&(Q=(e[m>>2]|0)+y|0,z=26):(Q=y-(e[m>>2]|0)|0,z=26),(z|0)==26&&(z=0,e[R>>2]=Q),_=_+1|0;while((_|0)<(e[s>>2]|0))}}if(l=l+1|0,(l|0)>=(p|0)){z=10;break}if(_=e[k>>2]|0,h=e[_>>2]|0,(e[_+4>>2]|0)-h>>2>>>0<=l>>>0){c=_,z=11;break}}return(z|0)==10?(U=n,1):((z|0)==11&&W0(c),0)}function uo(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0;if(n=U,U=U+16|0,o=n+4|0,A=n,e[i+72>>2]=f,e[i+64>>2]=l,l=B2(f>>>0>1073741823?-1:f<<2)|0,u=i+68|0,s=e[u>>2]|0,e[u>>2]=l,s|0&&i2(s),s=i+8|0,e[s>>2]=f,l=i+32|0,_=i+36|0,h=e[l>>2]|0,k=(e[_>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[_>>2]=h+(f<<2)):u2(l,f-k|0),k=i+56|0,l=e[k>>2]|0,h=e[l+4>>2]|0,_=e[l>>2]|0,b=h-_|0,p=b>>2,(b|0)<=0)return U=n,1;for(b=i+16|0,w=i+32|0,d=i+12|0,m=i+20|0,(h|0)==(_|0)&&(c=l,W0(c)),l=0,h=_;;){if(e[A>>2]=e[h+(l<<2)>>2],e[o>>2]=e[A>>2],y8(i,o,t,l),_=Z0(l,f)|0,y=e[u>>2]|0,V=r+(_<<2)|0,v=t+(_<<2)|0,(e[s>>2]|0)>0){_=0;do{T=e[y+(_<<2)>>2]|0,R=e[b>>2]|0;do if((T|0)<=(R|0))if(N=e[d>>2]|0,G=e[w>>2]|0,F=G+(_<<2)|0,(T|0)<(N|0)){e[F>>2]=N,E=G;break}else{e[F>>2]=T,E=G;break}else G=e[w>>2]|0,e[G+(_<<2)>>2]=R,E=G;while(0);_=_+1|0,Z=e[s>>2]|0}while((_|0)<(Z|0));if((Z|0)>0){_=0;do y=(e[V+(_<<2)>>2]|0)+(e[E+(_<<2)>>2]|0)|0,R=v+(_<<2)|0,e[R>>2]=y,(y|0)<=(e[b>>2]|0)?(y|0)<(e[d>>2]|0)&&(Q=(e[m>>2]|0)+y|0,z=26):(Q=y-(e[m>>2]|0)|0,z=26),(z|0)==26&&(z=0,e[R>>2]=Q),_=_+1|0;while((_|0)<(e[s>>2]|0))}}if(l=l+1|0,(l|0)>=(p|0)){z=10;break}if(_=e[k>>2]|0,h=e[_>>2]|0,(e[_+4>>2]|0)-h>>2>>>0<=l>>>0){c=_,z=11;break}}return(z|0)==10?(U=n,1):((z|0)==11&&W0(c),0)}function R1(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0;t=i+148|0,n=e[r>>2]|0,r=(n|0)==-1,f=n+1|0;do if(r)o=-1,A=-1;else if(l=((f>>>0)%3|0|0)==0?n+-2|0:f,(n>>>0)%3|0){o=n+-1|0,A=l;break}else{o=n+2|0,A=l;break}while(0);switch(l=i+184|0,u=e[l>>2]|0,u|0){case 1:case 0:{s=e[t>>2]|0,(A|0)==-1?_=-1:_=e[(e[s>>2]|0)+(A<<2)>>2]|0,h=e[i+156>>2]|0,k=h+(_<<2)|0,e[k>>2]=(e[k>>2]|0)+1,(o|0)==-1?b=-1:b=e[(e[s>>2]|0)+(o<<2)>>2]|0,p=h+(b<<2)|0,w=1,d=32;break}case 5:{b=e[t>>2]|0,r?m=-1:m=e[(e[b>>2]|0)+(n<<2)>>2]|0,h=e[i+156>>2]|0,s=h+(m<<2)|0,e[s>>2]=(e[s>>2]|0)+1,(A|0)==-1?c=-1:c=e[(e[b>>2]|0)+(A<<2)>>2]|0,s=h+(c<<2)|0,e[s>>2]=(e[s>>2]|0)+1,(o|0)==-1?y=-1:y=e[(e[b>>2]|0)+(o<<2)>>2]|0,p=h+(y<<2)|0,w=2,d=32;break}case 3:{y=e[t>>2]|0,r?V=-1:V=e[(e[y>>2]|0)+(n<<2)>>2]|0,h=e[i+156>>2]|0,b=h+(V<<2)|0,e[b>>2]=(e[b>>2]|0)+1,(A|0)==-1?v=-1:v=e[(e[y>>2]|0)+(A<<2)>>2]|0,b=h+(v<<2)|0,e[b>>2]=(e[b>>2]|0)+2,(o|0)==-1?T=-1:T=e[(e[y>>2]|0)+(o<<2)>>2]|0,p=h+(T<<2)|0,w=1,d=32;break}case 7:{T=e[t>>2]|0,r?R=-1:R=e[(e[T>>2]|0)+(n<<2)>>2]|0,h=e[i+156>>2]|0,y=h+(R<<2)|0,e[y>>2]=(e[y>>2]|0)+2,(A|0)==-1?N=-1:N=e[(e[T>>2]|0)+(A<<2)>>2]|0,A=h+(N<<2)|0,e[A>>2]=(e[A>>2]|0)+2,(o|0)==-1?G=-1:G=e[(e[T>>2]|0)+(o<<2)>>2]|0,p=h+(G<<2)|0,w=2,d=32;break}default:F=u}switch((d|0)==32&&(e[p>>2]=(e[p>>2]|0)+w,F=e[l>>2]|0),F|0){case 5:case 0:break;default:{e[i+188>>2]=-1;return}}F=e[t>>2]|0,!r&&(r=((f>>>0)%3|0|0)==0?n+-2|0:f,(r|0)!=-1)?E=e[(e[F>>2]|0)+(r<<2)>>2]|0:E=-1,e[i+188>>2]=(e[(e[i+156>>2]|0)+(E<<2)>>2]|0)<6?5:0}function _o(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;e[i>>2]=e[r>>2],t=r+4|0,e[i+4>>2]=e[t>>2],n=r+8|0,e[i+8>>2]=e[n>>2],f=r+12|0,e[i+12>>2]=e[f>>2],e[t>>2]=0,e[n>>2]=0,e[f>>2]=0,f=r+16|0,e[i+16>>2]=e[f>>2],n=r+20|0,e[i+20>>2]=e[n>>2],t=r+24|0,e[i+24>>2]=e[t>>2],e[f>>2]=0,e[n>>2]=0,e[t>>2]=0,j[i+28>>0]=j[r+28>>0]|0,t=i+32|0,n=r+32|0,e[t>>2]=0,f=i+36|0,e[f>>2]=0,l=i+40|0,e[l>>2]=0,e[t>>2]=e[n>>2],t=r+36|0,e[f>>2]=e[t>>2],f=r+40|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[t>>2]=0,e[n>>2]=0,n=i+44|0,t=r+44|0,e[n>>2]=0,f=i+48|0,e[f>>2]=0,l=i+52|0,e[l>>2]=0,e[n>>2]=e[t>>2],n=r+48|0,e[f>>2]=e[n>>2],f=r+52|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[n>>2]=0,e[t>>2]=0,t=i+56|0,n=r+56|0,e[t>>2]=0,f=i+60|0,e[f>>2]=0,l=i+64|0,e[l>>2]=0,e[t>>2]=e[n>>2],t=r+60|0,e[f>>2]=e[t>>2],f=r+64|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[t>>2]=0,e[n>>2]=0,e[i+68>>2]=e[r+68>>2],e[i+72>>2]=e[r+72>>2],n=i+76|0,t=r+76|0,e[n>>2]=0,f=i+80|0,e[f>>2]=0,l=i+84|0,e[l>>2]=0,e[n>>2]=e[t>>2],n=r+80|0,e[f>>2]=e[n>>2],f=r+84|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[n>>2]=0,e[t>>2]=0,t=i+88|0,n=r+88|0,e[t>>2]=0,f=i+92|0,e[f>>2]=0,l=i+96|0,e[l>>2]=0,e[t>>2]=e[n>>2],t=r+92|0,e[f>>2]=e[t>>2],f=r+96|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[t>>2]=0,e[n>>2]=0,j[i+100>>0]=j[r+100>>0]|0,n=i+104|0,t=r+104|0,e[n>>2]=0,f=i+108|0,e[f>>2]=0,l=i+112|0,e[l>>2]=0,e[n>>2]=e[t>>2],n=r+108|0,e[f>>2]=e[n>>2],f=r+112|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[n>>2]=0,e[t>>2]=0,t=i+116|0,n=r+116|0,e[t>>2]=0,f=i+120|0,e[f>>2]=0,l=i+124|0,e[l>>2]=0,e[t>>2]=e[n>>2],t=r+120|0,e[f>>2]=e[t>>2],f=r+124|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[t>>2]=0,e[n>>2]=0,e[i+128>>2]=e[r+128>>2],n=i+132|0,t=r+132|0,e[n>>2]=0,f=i+136|0,e[f>>2]=0,l=i+140|0,e[l>>2]=0,e[n>>2]=e[t>>2],n=r+136|0,e[f>>2]=e[n>>2],f=r+140|0,e[l>>2]=e[f>>2],e[f>>2]=0,e[n>>2]=0,e[t>>2]=0}function ko(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+4194304|0,e[V>>2]=i,_=i>>>0<1073741824,U=t,_|0}function ho(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+2097152|0,e[V>>2]=i,_=i>>>0<536870912,U=t,_|0}function bo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+1048576|0,e[V>>2]=i,_=i>>>0<268435456,U=t,_|0}function po(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+262144|0,e[V>>2]=i,_=i>>>0<67108864,U=t,_|0}function wo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+131072|0,e[V>>2]=i,_=i>>>0<33554432,U=t,_|0}function G1(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0;t=i+148|0,n=e[r>>2]|0,r=(n|0)==-1,f=n+1|0;do if(r)o=-1,A=-1;else if(l=((f>>>0)%3|0|0)==0?n+-2|0:f,(n>>>0)%3|0){o=n+-1|0,A=l;break}else{o=n+2|0,A=l;break}while(0);switch(e[i+168>>2]|0){case 1:case 0:{f=e[t>>2]|0,(A|0)==-1?u=-1:u=e[(e[f>>2]|0)+(A<<2)>>2]|0,l=e[i+156>>2]|0,s=l+(u<<2)|0,e[s>>2]=(e[s>>2]|0)+1,(o|0)==-1?_=-1:_=e[(e[f>>2]|0)+(o<<2)>>2]|0,h=l+(_<<2)|0,k=1,b=32;break}case 5:{_=e[t>>2]|0,r?p=-1:p=e[(e[_>>2]|0)+(n<<2)>>2]|0,l=e[i+156>>2]|0,f=l+(p<<2)|0,e[f>>2]=(e[f>>2]|0)+1,(A|0)==-1?w=-1:w=e[(e[_>>2]|0)+(A<<2)>>2]|0,f=l+(w<<2)|0,e[f>>2]=(e[f>>2]|0)+1,(o|0)==-1?d=-1:d=e[(e[_>>2]|0)+(o<<2)>>2]|0,h=l+(d<<2)|0,k=2,b=32;break}case 3:{d=e[t>>2]|0,r?m=-1:m=e[(e[d>>2]|0)+(n<<2)>>2]|0,l=e[i+156>>2]|0,_=l+(m<<2)|0,e[_>>2]=(e[_>>2]|0)+1,(A|0)==-1?c=-1:c=e[(e[d>>2]|0)+(A<<2)>>2]|0,_=l+(c<<2)|0,e[_>>2]=(e[_>>2]|0)+2,(o|0)==-1?y=-1:y=e[(e[d>>2]|0)+(o<<2)>>2]|0,h=l+(y<<2)|0,k=1,b=32;break}case 7:{y=e[t>>2]|0,r?V=-1:V=e[(e[y>>2]|0)+(n<<2)>>2]|0,n=e[i+156>>2]|0,r=n+(V<<2)|0,e[r>>2]=(e[r>>2]|0)+2,(A|0)==-1?v=-1:v=e[(e[y>>2]|0)+(A<<2)>>2]|0,r=n+(v<<2)|0,e[r>>2]=(e[r>>2]|0)+2,(o|0)==-1?T=-1:T=e[(e[y>>2]|0)+(o<<2)>>2]|0,h=n+(T<<2)|0,k=2,b=32;break}default:}if((b|0)==32&&(e[h>>2]=(e[h>>2]|0)+k),(A|0)==-1?R=-1:R=e[(e[e[t>>2]>>2]|0)+(A<<2)>>2]|0,A=e[(e[i+156>>2]|0)+(R<<2)>>2]|0,R=e[i+176>>2]|0,(A|0)<(R|0)){N=R,G=N-R|0,F=i+172|0,e[F>>2]=G;return}t=e[i+180>>2]|0,N=(A|0)>(t|0)?t:A,G=N-R|0,F=i+172|0,e[F>>2]=G}function mo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+32768|0,e[V>>2]=i,_=i>>>0<8388608,U=t,_|0}function tt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+16|0,n=t;do if((b2[r+38>>1]|0)<512){if(f=r+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return _=0,U=t,_|0;h=(e[r>>2]|0)+u|0,u=h,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=h+4|0,h=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=k,e[u+4>>2]=h,u=f,e[u>>2]=s,e[u+4>>2]=A,b=f,p=l,w=o,d=s,m=A,c=h,y=k;break}else if(qe(n,r)|0){k=n,h=r+8|0,A=r+16|0,s=A,b=A,p=e[h>>2]|0,w=e[h+4>>2]|0,d=e[s>>2]|0,m=e[s+4>>2]|0,c=e[k+4>>2]|0,y=e[k>>2]|0;break}else return _=0,U=t,_|0;while(0);if(n=H0(p|0,w|0,d|0,m|0)|0,w=H,c>>>0>w>>>0|(c|0)==(w|0)&y>>>0>n>>>0||(n=(e[r>>2]|0)+d|0,r=i0(d|0,m|0,y|0,c|0)|0,c=b,e[c>>2]=r,e[c+4>>2]=H,(y|0)<1))return _=0,U=t,_|0;e[i+40>>2]=n,c=y+-1|0,r=n+c|0;e:do switch((J[r>>0]|0)>>>6&3){case 0:{e[i+44>>2]=c,b=j[r>>0]&63,m=i+48|0,e[m>>2]=b,V=m,v=b;break}case 1:{if((y|0)<2)return _=0,U=t,_|0;e[i+44>>2]=y+-2,b=n+y+-2|0,m=(J[b+1>>0]|0)<<8&16128|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break e;break}case 2:{if((y|0)<3)return _=0,U=t,_|0;e[i+44>>2]=y+-3,m=n+y+-3|0,b=(J[m+1>>0]|0)<<8|(J[m>>0]|0)|(J[m+2>>0]|0)<<16&4128768,m=i+48|0,e[m>>2]=b,V=m,v=b;break e;break}case 3:{e[i+44>>2]=y+-4,b=n+y+-4|0,m=(J[b+2>>0]|0)<<16|(J[b+3>>0]|0)<<24&1056964608|(J[b+1>>0]|0)<<8|(J[b>>0]|0),b=i+48|0,e[b>>2]=m,V=b,v=m;break}default:}while(0);return i=v+16384|0,e[V>>2]=i,_=i>>>0<4194304,U=t,_|0}function vo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0;t=U,U=U+32|0,n=t+16|0,f=t+12|0,l=t,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,o=e[i>>2]|0,A=o+8|0,u=e[A+4>>2]|0,s=o+16|0,_=s,h=e[_>>2]|0,k=e[_+4>>2]|0;do if((u|0)>(k|0)|((u|0)==(k|0)?(e[A>>2]|0)>>>0>h>>>0:0)){if(_=j[(e[o>>2]|0)+h>>0]|0,b=i0(h|0,k|0,1,0)|0,p=s,e[p>>2]=b,e[p+4>>2]=H,p=_&255,Si(n,p,0),_<<24>>24){if(b=e[i>>2]|0,w=Pr(n,0)|0,d=b+8|0,m=e[d>>2]|0,c=e[d+4>>2]|0,d=b+16|0,y=d,V=e[y>>2]|0,v=_&255,_=i0(V|0,e[y+4>>2]|0,v|0,0)|0,y=H,(c|0)<(y|0)|(c|0)==(y|0)&m>>>0<_>>>0){T=0;break}S0(w|0,(e[b>>2]|0)+V|0,p|0)|0,p=d,V=i0(e[p>>2]|0,e[p+4>>2]|0,v|0,0)|0,v=d,e[v>>2]=V,e[v+4>>2]=H}if(e[f>>2]=0,v=(t2(f,e[i>>2]|0)|0)^1,V=e[f>>2]|0,(V|0)==0|v)R=0;else{e[l>>2]=0,v=l+4|0,e[v>>2]=0,d=l+8|0,e[d>>2]=0,(V|0)<0&&W0(l),p=v0(V)|0,e[v>>2]=p,e[l>>2]=p,e[d>>2]=p+V,d=V,V=p;do j[V>>0]=0,V=(e[v>>2]|0)+1|0,e[v>>2]=V,d=d+-1|0;while((d|0)!=0);d=e[i>>2]|0,V=e[f>>2]|0,p=d+8|0,b=e[p>>2]|0,w=e[p+4>>2]|0,p=d+16|0,_=p,m=e[_>>2]|0,y=i0(m|0,e[_+4>>2]|0,V|0,0)|0,_=H,(w|0)<(_|0)|(w|0)==(_|0)&b>>>0<y>>>0?N=0:(S0(e[l>>2]|0,(e[d>>2]|0)+m|0,V|0)|0,m=p,d=i0(e[m>>2]|0,e[m+4>>2]|0,V|0,0)|0,V=p,e[V>>2]=d,e[V+4>>2]=H,U6(r,n,l),N=1),V=e[l>>2]|0,V|0&&(e[v>>2]=V,Y(V)),R=N}T=R}else T=0;while(0);return(j[n+11>>0]|0)>=0?(U=t,T|0):(Y(e[n>>2]|0),U=t,T|0)}function yo(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0;if(n=U,U=U+16|0,o=n+4|0,A=n,u=i+60|0,e[i+64>>2]=l,l=i+8|0,e[l>>2]=f,s=i+32|0,_=i+36|0,h=e[s>>2]|0,k=(e[_>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[_>>2]=h+(f<<2)):u2(s,f-k|0),k=i+56|0,s=e[k>>2]|0,h=e[s+4>>2]|0,_=e[s>>2]|0,b=h-_|0,p=b>>2,(b|0)<=0)return w=1,U=n,w|0;for(b=i+16|0,d=i+32|0,m=i+12|0,c=i+20|0,(h|0)==(_|0)&&(y=s,W0(y)),s=0,h=_;;){if(e[A>>2]=e[h+(s<<2)>>2],e[o>>2]=e[A>>2],!(o8(u,o,t,s)|0)){w=0,V=28;break}if(_=Z0(s,f)|0,v=r+(_<<2)|0,T=t+(_<<2)|0,(e[l>>2]|0)>0){_=0;do{R=e[i+68+(_<<2)>>2]|0,N=e[b>>2]|0;do if((R|0)<=(N|0))if(G=e[m>>2]|0,F=e[d>>2]|0,E=F+(_<<2)|0,(R|0)<(G|0)){e[E>>2]=G,Z=F;break}else{e[E>>2]=R,Z=F;break}else F=e[d>>2]|0,e[F+(_<<2)>>2]=N,Z=F;while(0);_=_+1|0,Q=e[l>>2]|0}while((_|0)<(Q|0));if((Q|0)>0){_=0;do N=(e[v+(_<<2)>>2]|0)+(e[Z+(_<<2)>>2]|0)|0,R=T+(_<<2)|0,e[R>>2]=N,(N|0)<=(e[b>>2]|0)?(N|0)<(e[m>>2]|0)&&(z=(e[c>>2]|0)+N|0,V=24):(z=N-(e[c>>2]|0)|0,V=24),(V|0)==24&&(V=0,e[R>>2]=z),_=_+1|0;while((_|0)<(e[l>>2]|0))}}if(s=s+1|0,(s|0)>=(p|0)){w=1,V=28;break}if(_=e[k>>2]|0,h=e[_>>2]|0,(e[_+4>>2]|0)-h>>2>>>0<=s>>>0){y=_,V=8;break}}if((V|0)==8)W0(y);else if((V|0)==28)return U=n,w|0;return 0}function co(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0;if(n=U,U=U+16|0,o=n+4|0,A=n,u=i+60|0,e[i+64>>2]=l,l=i+8|0,e[l>>2]=f,s=i+32|0,_=i+36|0,h=e[s>>2]|0,k=(e[_>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[_>>2]=h+(f<<2)):u2(s,f-k|0),k=i+56|0,s=e[k>>2]|0,h=e[s+4>>2]|0,_=e[s>>2]|0,b=h-_|0,p=b>>2,(b|0)<=0)return w=1,U=n,w|0;for(b=i+16|0,d=i+32|0,m=i+12|0,c=i+20|0,(h|0)==(_|0)&&(y=s,W0(y)),s=0,h=_;;){if(e[A>>2]=e[h+(s<<2)>>2],e[o>>2]=e[A>>2],!(s8(u,o,t,s)|0)){w=0,V=28;break}if(_=Z0(s,f)|0,v=r+(_<<2)|0,T=t+(_<<2)|0,(e[l>>2]|0)>0){_=0;do{R=e[i+68+(_<<2)>>2]|0,N=e[b>>2]|0;do if((R|0)<=(N|0))if(G=e[m>>2]|0,F=e[d>>2]|0,E=F+(_<<2)|0,(R|0)<(G|0)){e[E>>2]=G,Z=F;break}else{e[E>>2]=R,Z=F;break}else F=e[d>>2]|0,e[F+(_<<2)>>2]=N,Z=F;while(0);_=_+1|0,Q=e[l>>2]|0}while((_|0)<(Q|0));if((Q|0)>0){_=0;do N=(e[v+(_<<2)>>2]|0)+(e[Z+(_<<2)>>2]|0)|0,R=T+(_<<2)|0,e[R>>2]=N,(N|0)<=(e[b>>2]|0)?(N|0)<(e[m>>2]|0)&&(z=(e[c>>2]|0)+N|0,V=24):(z=N-(e[c>>2]|0)|0,V=24),(V|0)==24&&(V=0,e[R>>2]=z),_=_+1|0;while((_|0)<(e[l>>2]|0))}}if(s=s+1|0,(s|0)>=(p|0)){w=1,V=28;break}if(_=e[k>>2]|0,h=e[_>>2]|0,(e[_+4>>2]|0)-h>>2>>>0<=s>>>0){y=_,V=8;break}}if((V|0)==8)W0(y);else if((V|0)==28)return U=n,w|0;return 0}function hr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=a0,w=a0,d=a0,m=0,c=0,y=0,V=0,v=0;t=e[r>>2]|0,r=i+4|0,n=e[r>>2]|0,f=(n|0)==0;e:do if(f)_=0;else if(l=n+-1|0,o=(l&n|0)==0,o?A=l&t:t>>>0<n>>>0?A=t:A=(t>>>0)%(n>>>0)|0,u=e[(e[i>>2]|0)+(A<<2)>>2]|0,(u|0)!=0&&(s=e[u>>2]|0,(s|0)!=0)){if(o){for(o=s;;){if(u=e[o+4>>2]|0,!((u|0)==(t|0)|(u&l|0)==(A|0))){_=A;break e}if((e[o+8>>2]|0)==(t|0)){h=o;break}if(o=e[o>>2]|0,!o){_=A;break e}}return k=h+12|0,k|0}for(o=s;;){if(l=e[o+4>>2]|0,(l|0)!=(t|0)&&(l>>>0<n>>>0?b=l:b=(l>>>0)%(n>>>0)|0,(b|0)!=(A|0))){_=A;break e}if((e[o+8>>2]|0)==(t|0)){h=o;break}if(o=e[o>>2]|0,!o){_=A;break e}}return k=h+12|0,k|0}else _=A;while(0);A=v0(16)|0,e[A+8>>2]=t,e[A+12>>2]=0,e[A+4>>2]=t,e[A>>2]=0,b=i+12|0,p=o0(((e[b>>2]|0)+1|0)>>>0),w=o0(n>>>0),d=o0(q0[i+16>>2]);do if(f|o0(d*w)<p){if(o=n<<1|(n>>>0<3|(n+-1&n|0)!=0)&1,s=~~o0(hi(o0(p/d)))>>>0,A3(i,o>>>0<s>>>0?s:o),o=e[r>>2]|0,s=o+-1|0,!(s&o)){m=o,c=s&t;break}t>>>0<o>>>0?(m=o,c=t):(m=o,c=(t>>>0)%(o>>>0)|0)}else m=n,c=_;while(0);return _=(e[i>>2]|0)+(c<<2)|0,c=e[_>>2]|0,c?(e[A>>2]=e[c>>2],V=c,v=33):(n=i+8|0,e[A>>2]=e[n>>2],e[n>>2]=A,e[_>>2]=n,n=e[A>>2]|0,n|0&&(_=e[n+4>>2]|0,n=m+-1|0,n&m?_>>>0<m>>>0?y=_:y=(_>>>0)%(m>>>0)|0:y=_&n,V=(e[i>>2]|0)+(y<<2)|0,v=33)),(v|0)==33&&(e[V>>2]=A),e[b>>2]=(e[b>>2]|0)+1,h=A,k=h+12|0,k|0}function Ro(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(n=r+8|0,f=e[n+4>>2]|0,l=r+16|0,o=l,A=e[o>>2]|0,u=e[o+4>>2]|0,!((f|0)>(u|0)|((f|0)==(u|0)?(e[n>>2]|0)>>>0>A>>>0:0)))return s=0,s|0;n=j[(e[r>>2]|0)+A>>0]|0,f=i0(A|0,u|0,1,0)|0,u=l,e[u>>2]=f,e[u+4>>2]=H;do switch(n<<24>>24){case 1:return s=ri(i,r,t)|0,s|0;case 2:return s=ri(i,r,t)|0,s|0;case 3:return s=ri(i,r,t)|0,s|0;case 4:return s=ri(i,r,t)|0,s|0;case 5:return s=ri(i,r,t)|0,s|0;case 6:return s=ri(i,r,t)|0,s|0;case 7:return s=ri(i,r,t)|0,s|0;case 8:return s=ri(i,r,t)|0,s|0;case 9:return s=mu(i,r,t)|0,s|0;case 10:return s=du(i,r,t)|0,s|0;case 11:return s=wu(i,r,t)|0,s|0;case 12:return s=pu(i,r,t)|0,s|0;case 13:return s=bu(i,r,t)|0,s|0;case 14:return s=A1(i,r,t)|0,s|0;case 15:return s=A1(i,r,t)|0,s|0;case 16:return s=A1(i,r,t)|0,s|0;case 17:return s=A1(i,r,t)|0,s|0;case 18:return s=A1(i,r,t)|0,s|0;default:return s=0,s|0}while(0);return 0}function V1(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0;if(f=r+12|0,l=e[f>>2]|0,o=(e[t>>2]|0)-l|0,A=t+4|0,u=(e[A>>2]|0)-l|0,s=t,e[s>>2]=o,e[s+4>>2]=u,s=(o|0)>-1,_=(u|0)>-1,h=e[f>>2]|0,((_?u:0-u|0)+(s?o:0-o|0)|0)>(h|0)?(s?_?(k=1,b=1):(o|0)<1?(k=-1,b=-1):p=6:(u|0)<1?(k=-1,b=-1):p=6,(p|0)==6&&(k=(o|0)>0?1:-1,b=(u|0)>0?1:-1),_=Z0(k,h)|0,s=Z0(b,h)|0,w=(o<<1)-_|0,e[t>>2]=w,d=(u<<1)-s|0,e[A>>2]=d,(Z0(k,b)|0)>-1?(b=0-d|0,e[t>>2]=b,m=b,c=0-w|0):(e[t>>2]=d,m=d,c=w),w=(m+_|0)/2|0,e[t>>2]=w,t=(c+s|0)/2|0,e[A>>2]=t,y=0,V=w,v=t,T=e[f>>2]|0):(y=1,V=o,v=u,T=h),h=(e[n>>2]|0)+V|0,e[i>>2]=h,V=(e[n+4>>2]|0)+v|0,v=i+4|0,e[v>>2]=V,(T|0)>=(h|0)?(h|0)<(0-T|0)?R=(e[r+4>>2]|0)+h|0:R=h:R=h-(e[r+4>>2]|0)|0,e[i>>2]=R,(T|0)>=(V|0)?(V|0)<(0-T|0)?N=(e[r+4>>2]|0)+V|0:N=V:N=V-(e[r+4>>2]|0)|0,e[v>>2]=N,y){G=R,F=N,E=G+l|0,Z=F+l|0,Q=i,z=Q,e[z>>2]=E,C=Q+4|0,W=C,e[W>>2]=Z;return}(R|0)>-1?(N|0)<=-1?(R|0)<1?(I=-1,D=-1):p=24:(I=1,D=1):(N|0)<1?(I=-1,D=-1):p=24,(p|0)==24&&(I=(R|0)>0?1:-1,D=(N|0)>0?1:-1),p=Z0(I,T)|0,y=Z0(D,T)|0,T=(R<<1)-p|0,e[i>>2]=T,R=(N<<1)-y|0,e[v>>2]=R,(Z0(I,D)|0)>-1?(D=0-R|0,e[i>>2]=D,L=D,O=0-T|0):(e[i>>2]=R,L=R,O=T),T=(L+p|0)/2|0,e[i>>2]=T,p=(O+y|0)/2|0,e[v>>2]=p,G=T,F=p,E=G+l|0,Z=F+l|0,Q=i,z=Q,e[z>>2]=E,C=Q+4|0,W=C,e[W>>2]=Z}function Go(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;switch(t=i+8|0,n=e[t>>2]|0,e[n+28>>2]|0){case 2:{f=j[n+24>>0]|0,l=f<<24>>24,o=B2((l|0)>-1?l:-1)|0,A=e[i+16>>2]|0,e[A+80>>2]|0?u=(e[e[A>>2]>>2]|0)+(e[A+48>>2]|0)|0:u=0;e:do if(r|0){if(f<<24>>24<=0){if(S0(e[e[n+64>>2]>>2]|0,o|0,l|0)|0,(r|0)==1)break;for(A=0,s=1;;)if(A=A+l|0,S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+A|0,o|0,l|0)|0,s=s+1|0,(s|0)==(r|0))break e}for(s=0,A=0;;){for(_=0,h=A;j[o+_>>0]=e[u+(h<<2)>>2],_=_+1|0,(_|0)!=(l|0);)h=h+1|0;if(S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+A|0,o|0,l|0)|0,s=s+1|0,(s|0)==(r|0))break;A=A+l|0}}while(0);return i2(o),k=1,k|0}case 1:{o=j[n+24>>0]|0,l=o<<24>>24,u=B2((l|0)>-1?l:-1)|0,f=e[i+16>>2]|0,e[f+80>>2]|0?b=(e[e[f>>2]>>2]|0)+(e[f+48>>2]|0)|0:b=0;e:do if(r|0){if(o<<24>>24<=0){if(S0(e[e[n+64>>2]>>2]|0,u|0,l|0)|0,(r|0)==1)break;for(f=0,A=1;;)if(f=f+l|0,S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+f|0,u|0,l|0)|0,A=A+1|0,(A|0)==(r|0))break e}for(A=0,f=0;;){for(s=0,h=f;j[u+s>>0]=e[b+(h<<2)>>2],s=s+1|0,(s|0)!=(l|0);)h=h+1|0;if(S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+f|0,u|0,l|0)|0,A=A+1|0,(A|0)==(r|0))break;f=f+l|0}}while(0);return i2(u),k=1,k|0}case 4:return Kt(i,r),k=1,k|0;case 3:return Kt(i,r),k=1,k|0;case 6:return at(i,r),k=1,k|0;case 5:return at(i,r),k=1,k|0;default:return k=0,k|0}return 0}function Vo(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0;if(f=e[r>>2]|0,l=e[r+4>>2]|0,o=((e[t>>2]|0)-f<<3)+(e[t+4>>2]|0)-l|0,t=f,(o|0)<=0){A=n+4|0,u=e[n>>2]|0,e[i>>2]=u,s=i+4|0,_=e[A>>2]|0,e[s>>2]=_;return}if(l?(f=32-l|0,w=(o|0)<(f|0)?o:f,d=-1>>>(f-w|0)&-1<<l&e[t>>2],f=n+4|0,m=e[f>>2]|0,c=32-m|0,y=c>>>0<w>>>0?c:w,V=e[n>>2]|0,v=e[V>>2]&~(-1>>>(c-y|0)&-1<<m),e[V>>2]=v,m=e[f>>2]|0,e[V>>2]=v|(m>>>0>l>>>0?d<<m-l:d>>>(l-m|0)),m=(e[f>>2]|0)+y|0,v=V+(m>>>5<<2)|0,e[n>>2]=v,V=m&31,e[f>>2]=V,m=w-y|0,(m|0)>0?(e[v>>2]=e[v>>2]&~(-1>>>(32-m|0))|d>>>(y+l|0),e[f>>2]=m,T=m):T=V,V=t+4|0,e[r>>2]=V,h=o-w|0,k=f,b=T,p=V):(f=n+4|0,h=o,k=f,b=e[f>>2]|0,p=t),V=32-b|0,T=-1<<b,(h|0)>31){for(b=~T,f=e[n>>2]|0,w=~h,o=h+((w|0)>-64?w:-64)+32|0,w=(o>>>5)+1|0,t=h+-32-(o&-32)|0,o=h,m=p,l=e[f>>2]|0,y=f;d=e[m>>2]|0,v=l&b,e[y>>2]=v,e[y>>2]=d<<e[k>>2]|v,y=y+4|0,l=e[y>>2]&T|d>>>V,e[y>>2]=l,!((o|0)<=63);)o=o+-32|0,m=m+4|0;m=p+(w<<2)|0,e[r>>2]=m,e[n>>2]=f+(w<<2),R=t,N=m}else R=h,N=p;if((R|0)<=0){A=k,u=e[n>>2]|0,e[i>>2]=u,s=i+4|0,_=e[A>>2]|0,e[s>>2]=_;return}if(p=e[N>>2]&-1>>>(32-R|0),N=(V|0)<(R|0)?V:R,h=e[n>>2]|0,m=e[h>>2]&~(-1<<e[k>>2]&-1>>>(V-N|0)),e[h>>2]=m,e[h>>2]=p<<e[k>>2]|m,m=(e[k>>2]|0)+N|0,V=h+(m>>>5<<2)|0,e[n>>2]=V,e[k>>2]=m&31,m=R-N|0,(m|0)<=0){A=k,u=e[n>>2]|0,e[i>>2]=u,s=i+4|0,_=e[A>>2]|0,e[s>>2]=_;return}e[V>>2]=e[V>>2]&~(-1>>>(32-m|0))|p>>>N,e[k>>2]=m,A=k,u=e[n>>2]|0,e[i>>2]=u,s=i+4|0,_=e[A>>2]|0,e[s>>2]=_}function jo(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0;if(f=e[r>>2]|0,l=r+4|0,o=e[l>>2]|0,A=((e[t>>2]|0)-f<<3)+(e[t+4>>2]|0)-o|0,t=f,(A|0)<=0){u=n+4|0,s=e[n>>2]|0,e[i>>2]=s,_=i+4|0,h=e[u>>2]|0,e[_>>2]=h;return}if(o?(f=32-o|0,d=(A|0)<(f|0)?A:f,m=-1>>>(f-d|0)&-1<<o&e[t>>2],t=n+4|0,o=e[t>>2]|0,f=32-o|0,c=f>>>0<d>>>0?f:d,y=e[n>>2]|0,V=e[y>>2]&~(-1>>>(f-c|0)&-1<<o),e[y>>2]=V,o=e[t>>2]|0,f=e[l>>2]|0,e[y>>2]=(o>>>0>f>>>0?m<<o-f:m>>>(f-o|0))|V,V=(e[t>>2]|0)+c|0,o=y+(V>>>5<<2)|0,e[n>>2]=o,y=V&31,e[t>>2]=y,V=d-c|0,(V|0)>0?(f=e[o>>2]&~(-1>>>(32-V|0)),e[o>>2]=f,e[o>>2]=m>>>((e[l>>2]|0)+c|0)|f,e[t>>2]=V,v=V):v=y,y=(e[r>>2]|0)+4|0,e[r>>2]=y,k=A-d|0,b=t,p=y,w=v):(f=n+4|0,k=A,b=f,p=t,w=e[f>>2]|0),v=32-w|0,y=-1<<w,(k|0)>31){for(w=~y,t=~k,d=k+((t|0)>-64?t:-64)+32&-32,t=k,A=p;V=e[A>>2]|0,f=e[n>>2]|0,c=e[f>>2]&w,e[f>>2]=c,e[f>>2]=V<<e[b>>2]|c,c=f+4|0,e[n>>2]=c,e[c>>2]=e[c>>2]&y|V>>>v,A=(e[r>>2]|0)+4|0,e[r>>2]=A,!((t|0)<=63);)t=t+-32|0;T=k+-32-d|0,R=A}else T=k,R=p;if((T|0)<=0){u=b,s=e[n>>2]|0,e[i>>2]=s,_=i+4|0,h=e[u>>2]|0,e[_>>2]=h;return}if(p=e[R>>2]&-1>>>(32-T|0),R=(v|0)<(T|0)?v:T,k=e[n>>2]|0,A=e[k>>2]&~(-1<<e[b>>2]&-1>>>(v-R|0)),e[k>>2]=A,e[k>>2]=p<<e[b>>2]|A,A=(e[b>>2]|0)+R|0,v=k+(A>>>5<<2)|0,e[n>>2]=v,e[b>>2]=A&31,A=T-R|0,(A|0)<=0){u=b,s=e[n>>2]|0,e[i>>2]=s,_=i+4|0,h=e[u>>2]|0,e[_>>2]=h;return}e[v>>2]=e[v>>2]&~(-1>>>(32-A|0))|p>>>R,e[b>>2]=A,u=b,s=e[n>>2]|0,e[i>>2]=s,_=i+4|0,h=e[u>>2]|0,e[_>>2]=h}function No(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,T1(f,n,n+(i<<1)|0),p=1,U=l,p|0;e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0;do if(_<<24>>24)if(_<<24>>24<0)W0(u);else{t=h<<1,w=v0(t)|0,e[u>>2]=w,d=w+(h<<1)|0,e[b>>2]=d,E0(w|0,0,t|0)|0,e[n>>2]=d;break}while(0);T1(f,0,0+(i<<1)|0);e:do if(!k)m=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(d=0;;){if(j[i>>0]|0?c=d:c=e[(e[b>>2]|0)+(d<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=c,w=j[s>>0]|0,e[o>>2]=e[A>>2],!(Bt(r,o,w,t)|0)){m=0;break e}if(d=d+1|0,d>>>0>=k>>>0){m=1;break e}}for(d=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,w=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(Bt(r,o,V,w)|0)){m=0;break e}for(w=e[u>>2]|0,V=e[f>>2]|0,v=0,T=d;P0[V+(T<<1)>>1]=P0[w+(v<<1)>>1]|0,v=v+1|0,(v|0)!=(h|0);)T=T+1|0;if(t=t+1|0,t>>>0>=k>>>0){m=1;break}else d=d+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=m,U=l,p|0}function To(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,T1(f,n,n+(i<<1)|0),p=1,U=l,p|0;e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0;do if(_<<24>>24)if(_<<24>>24<0)W0(u);else{t=h<<1,w=v0(t)|0,e[u>>2]=w,d=w+(h<<1)|0,e[b>>2]=d,E0(w|0,0,t|0)|0,e[n>>2]=d;break}while(0);T1(f,0,0+(i<<1)|0);e:do if(!k)m=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(d=0;;){if(j[i>>0]|0?c=d:c=e[(e[b>>2]|0)+(d<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=c,w=j[s>>0]|0,e[o>>2]=e[A>>2],!(Mt(r,o,w,t)|0)){m=0;break e}if(d=d+1|0,d>>>0>=k>>>0){m=1;break e}}for(d=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,w=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(Mt(r,o,V,w)|0)){m=0;break e}for(w=e[u>>2]|0,V=e[f>>2]|0,v=0,T=d;P0[V+(T<<1)>>1]=P0[w+(v<<1)>>1]|0,v=v+1|0,(v|0)!=(h|0);)T=T+1|0;if(t=t+1|0,t>>>0>=k>>>0){m=1;break}else d=d+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=m,U=l,p|0}function Uo(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,ti(f,n,n+(i<<2)|0),p=1,U=l,p|0;e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0;do if(_<<24>>24)if(_<<24>>24<0)W0(u);else{t=h<<2,w=v0(t)|0,e[u>>2]=w,d=w+(h<<2)|0,e[b>>2]=d,E0(w|0,0,t|0)|0,e[n>>2]=d;break}while(0);ti(f,0,0+(i<<2)|0);e:do if(!k)m=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(d=0;;){if(j[i>>0]|0?c=d:c=e[(e[b>>2]|0)+(d<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=c,w=j[s>>0]|0,e[o>>2]=e[A>>2],!(Yt(r,o,w,t)|0)){m=0;break e}if(d=d+1|0,d>>>0>=k>>>0){m=1;break e}}for(d=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,w=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(Yt(r,o,V,w)|0)){m=0;break e}for(w=e[u>>2]|0,V=e[f>>2]|0,v=0,T=d;e[V+(T<<2)>>2]=e[w+(v<<2)>>2],v=v+1|0,(v|0)!=(h|0);)T=T+1|0;if(t=t+1|0,t>>>0>=k>>>0){m=1;break}else d=d+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=m,U=l,p|0}function ft(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;t=U,U=U+32|0,n=t+16|0,f=t,e[n>>2]=0;do if((b2[r+38>>1]|0)<514){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return h=0,U=t,h|0;o=(e[r>>2]|0)+s|0,s=J[o>>0]|J[o+1>>0]<<8|J[o+2>>0]<<16|J[o+3>>0]<<24,e[n>>2]=s,o=l,e[o>>2]=_,e[o+4>>2]=u,k=s;break}else if(t2(n,r)|0){k=e[n>>2]|0;break}else return h=0,U=t,h|0;while(0);if(!k)return h=0,U=t,h|0;if(s=i+76|0,Ui(s,k,0),n2(f),f2(f,r)|0){if(e[n>>2]|0){k=1,u=0;do k=k^((V2(f)|0)^1),o=(e[s>>2]|0)+(u>>>5<<2)|0,_=1<<(u&31),k?b=e[o>>2]|_:b=e[o>>2]&~_,e[o>>2]=b,u=u+1|0;while(u>>>0<(e[n>>2]|0)>>>0)}n=r+8|0,u=e[n>>2]|0,b=e[n+4>>2]|0,n=r+16|0,k=n,s=e[k>>2]|0,f=e[k+4>>2]|0,k=i0(s|0,f|0,4,0)|0,o=H,!((b|0)<(o|0)|(b|0)==(o|0)&u>>>0<k>>>0)&&(_=e[r>>2]|0,r=_+s|0,l=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,r=n,e[r>>2]=k,e[r+4>>2]=o,o=i0(s|0,f|0,8,0)|0,f=H,!((b|0)<(f|0)|(b|0)==(f|0)&u>>>0<o>>>0))&&(u=_+k|0,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=n,e[u>>2]=o,e[u+4>>2]=f,(l|0)<=(k|0))&&(e[i+12>>2]=l,e[i+16>>2]=k,f=H0(k|0,((k|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,l=H,l>>>0<0|(l|0)==0&f>>>0<2147483647)?(l=f+1|0,e[i+20>>2]=l,f=(l|0)/2|0,k=i+24|0,e[k>>2]=f,e[i+28>>2]=0-f,l&1||(e[k>>2]=f+-1),p=1):p=0}else p=0;return h=p,U=t,h|0}function Fo(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,ti(f,n,n+(i<<2)|0),p=1,U=l,p|0;e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0;do if(_<<24>>24)if(_<<24>>24<0)W0(u);else{t=h<<2,w=v0(t)|0,e[u>>2]=w,d=w+(h<<2)|0,e[b>>2]=d,E0(w|0,0,t|0)|0,e[n>>2]=d;break}while(0);ti(f,0,0+(i<<2)|0);e:do if(!k)m=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(d=0;;){if(j[i>>0]|0?c=d:c=e[(e[b>>2]|0)+(d<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=c,w=j[s>>0]|0,e[o>>2]=e[A>>2],!(Ct(r,o,w,t)|0)){m=0;break e}if(d=d+1|0,d>>>0>=k>>>0){m=1;break e}}for(d=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,w=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(Ct(r,o,V,w)|0)){m=0;break e}for(w=e[u>>2]|0,V=e[f>>2]|0,v=0,T=d;e[V+(T<<2)>>2]=e[w+(v<<2)>>2],v=v+1|0,(v|0)!=(h|0);)T=T+1|0;if(t=t+1|0,t>>>0>=k>>>0){m=1;break}else d=d+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=m,U=l,p|0}function Eo(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,s1(f,n,n+i|0),p=1,U=l,p|0;if(e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0,_<<24>>24){_<<24>>24<0&&W0(u),t=v0(h)|0,e[n>>2]=t,e[u>>2]=t,e[b>>2]=t+h,b=h,w=t;do j[w>>0]=0,w=(e[n>>2]|0)+1|0,e[n>>2]=w,b=b+-1|0;while((b|0)!=0)}s1(f,0,0+i|0);e:do if(!k)d=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(w=0;;){if(j[i>>0]|0?m=w:m=e[(e[b>>2]|0)+(w<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=m,c=j[s>>0]|0,e[o>>2]=e[A>>2],!(zt(r,o,c,t)|0)){d=0;break e}if(w=w+1|0,w>>>0>=k>>>0){d=1;break e}}for(w=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,c=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(zt(r,o,V,c)|0)){d=0;break e}for(c=0,V=w;j[(e[f>>2]|0)+V>>0]=j[(e[u>>2]|0)+c>>0]|0,c=c+1|0,(c|0)!=(h|0);)V=V+1|0;if(t=t+1|0,t>>>0>=k>>>0){d=1;break}else w=w+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=d,U=l,p|0}function Io(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;if(l=U,U=U+32|0,o=l+16|0,A=l+12|0,u=l,s=r+24|0,_=j[s>>0]|0,h=_<<24>>24,k=e[i+80>>2]|0,i=Z0(k,h)|0,b=e[r+28>>2]|0,(b|0)==(t|0)|(b|0)==(n|0)&&j[r+84>>0]|0)return n=(e[e[r>>2]>>2]|0)+(e[r+48>>2]|0)|0,s1(f,n,n+i|0),p=1,U=l,p|0;if(e[u>>2]=0,n=u+4|0,e[n>>2]=0,b=u+8|0,e[b>>2]=0,_<<24>>24){_<<24>>24<0&&W0(u),t=v0(h)|0,e[n>>2]=t,e[u>>2]=t,e[b>>2]=t+h,b=h,w=t;do j[w>>0]=0,w=(e[n>>2]|0)+1|0,e[n>>2]=w,b=b+-1|0;while((b|0)!=0)}s1(f,0,0+i|0);e:do if(!k)d=1;else{if(i=r+84|0,b=r+68|0,_<<24>>24<=0)for(w=0;;){if(j[i>>0]|0?m=w:m=e[(e[b>>2]|0)+(w<<2)>>2]|0,t=e[u>>2]|0,e[A>>2]=m,c=j[s>>0]|0,e[o>>2]=e[A>>2],!(Qt(r,o,c,t)|0)){d=0;break e}if(w=w+1|0,w>>>0>=k>>>0){d=1;break e}}for(w=0,t=0;;){if(j[i>>0]|0?y=t:y=e[(e[b>>2]|0)+(t<<2)>>2]|0,c=e[u>>2]|0,e[A>>2]=y,V=j[s>>0]|0,e[o>>2]=e[A>>2],!(Qt(r,o,V,c)|0)){d=0;break e}for(c=0,V=w;j[(e[f>>2]|0)+V>>0]=j[(e[u>>2]|0)+c>>0]|0,c=c+1|0,(c|0)!=(h|0);)V=V+1|0;if(t=t+1|0,t>>>0>=k>>>0){d=1;break}else w=w+h|0}}while(0);return h=e[u>>2]|0,h|0&&(e[n>>2]=h,Y(h)),p=d,U=l,p|0}function f2(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=U,U=U+16|0,n=t,f=r+8|0,l=f,o=e[l+4>>2]|0,A=r+16|0,u=A,s=e[u>>2]|0,_=e[u+4>>2]|0,!((o|0)>(_|0)|((o|0)==(_|0)?(e[l>>2]|0)>>>0>s>>>0:0)))return h=0,U=t,h|0;j[i+12>>0]=j[(e[r>>2]|0)+s>>0]|0,s=A,l=e[s>>2]|0,_=e[s+4>>2]|0,s=i0(l|0,_|0,1,0)|0,o=A,e[o>>2]=s,e[o+4>>2]=H,(b2[r+38>>1]|0)<514?(o=f,u=e[o>>2]|0,k=e[o+4>>2]|0,o=i0(l|0,_|0,5,0)|0,_=H,(k|0)<(_|0)|(k|0)==(_|0)&u>>>0<o>>>0?b=0:(l=(e[r>>2]|0)+s|0,s=J[l>>0]|J[l+1>>0]<<8|J[l+2>>0]<<16|J[l+3>>0]<<24,e[n>>2]=s,l=A,e[l>>2]=o,e[l+4>>2]=_,p=u,w=k,d=o,m=_,c=s,y=7)):t2(n,r)|0?(s=f,f=A,p=e[s>>2]|0,w=e[s+4>>2]|0,d=e[f>>2]|0,m=e[f+4>>2]|0,c=e[n>>2]|0,y=7):b=0;e:do if((y|0)==7)if(n=H0(p|0,w|0,d|0,m|0)|0,f=H,!((f|0)<0|(f|0)==0&n>>>0<c>>>0)&&(n=(e[r>>2]|0)+d|0,(c|0)>=1)){switch(e[i>>2]=n,f=c+-1|0,s=n+f|0,(J[s>>0]|0)>>>6&3){case 0:{e[i+4>>2]=f,f=j[s>>0]&63,s=i+8|0,e[s>>2]=f,V=s,v=f;break}case 1:{if((c|0)<2){b=0;break e}e[i+4>>2]=c+-2,f=n+c+-2|0,s=(J[f+1>>0]|0)<<8&16128|(J[f>>0]|0),f=i+8|0,e[f>>2]=s,V=f,v=s;break}case 2:{if((c|0)<3){b=0;break e}e[i+4>>2]=c+-3,s=n+c+-3|0,n=(J[s+1>>0]|0)<<8|(J[s>>0]|0)|(J[s+2>>0]|0)<<16&4128768,s=i+8|0,e[s>>2]=n,V=s,v=n;break}default:{b=0;break e}}n=v+4096|0,e[V>>2]=n,n>>>0<1048576?(n=i0(d|0,m|0,c|0,0)|0,s=A,e[s>>2]=n,e[s+4>>2]=H,b=1):b=0}else b=0;while(0);return h=b,U=t,h|0}function Zo(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;switch(f=U,U=U+32|0,l=f+8|0,o=f,n|0){case 2:{n=e[r+12>>2]|0,A=e[r+4>>2]|0,e[l>>2]=-1,e[l+4>>2]=-1,e[l+8>>2]=-1,e[l+12>>2]=-1;e:do if((t|0)==-2)e[o>>2]=0,u=0;else{s=e[(e[(e[A+4>>2]|0)+8>>2]|0)+(n<<2)>>2]|0;do if((K0[e[(e[A>>2]|0)+8>>2]&127](A)|0)==1)if(zo(o,A,t,n,l,((J[A+36>>0]|0)<<8|(J[A+37>>0]|0))&65535),_=e[o>>2]|0,_){u=_;break e}else{e[o>>2]=0;break}while(0);_=v0(24)|0,e[_+4>>2]=s,h=_+8|0,e[h>>2]=e[l>>2],e[h+4>>2]=e[l+4>>2],e[h+8>>2]=e[l+8>>2],e[h+12>>2]=e[l+12>>2],e[_>>2]=2604,h=_,e[o>>2]=h,u=h}while(0);e[i>>2]=u,U=f;return}case 3:{u=e[r+12>>2]|0,A=e[r+4>>2]|0,e[l>>2]=-1,e[l+4>>2]=-1,e[l+8>>2]=-1,e[l+12>>2]=-1;e:do if((t|0)==-2)e[o>>2]=0,k=0;else{r=e[(e[(e[A+4>>2]|0)+8>>2]|0)+(u<<2)>>2]|0;do if((K0[e[(e[A>>2]|0)+8>>2]&127](A)|0)==1)if(Co(o,A,t,u,l,((J[A+36>>0]|0)<<8|(J[A+37>>0]|0))&65535),n=e[o>>2]|0,n){k=n;break e}else{e[o>>2]=0;break}while(0);s=v0(24)|0,e[s+4>>2]=r,n=s+8|0,e[n>>2]=e[l>>2],e[n+4>>2]=e[l+4>>2],e[n+8>>2]=e[l+8>>2],e[n+12>>2]=e[l+12>>2],e[s>>2]=2660,n=s,e[o>>2]=n,k=n}while(0);e[i>>2]=k,U=f;return}default:{e[i>>2]=0,U=f;return}}}function Ui(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0;if(n=U,U=U+32|0,f=n+8|0,l=n,o=i+4|0,A=e[o>>2]|0,A>>>0>=r>>>0){e[o>>2]=r,U=n;return}if(u=i+8|0,s=e[u>>2]|0,_=s<<5,h=r-A|0,_>>>0<h>>>0|A>>>0>(_-h|0)>>>0?(e[f>>2]=0,k=f+4|0,e[k>>2]=0,b=f+8|0,e[b>>2]=0,(r|0)<0&&W0(i),p=s<<6,s=r+31&-32,xe(f,_>>>0<1073741823?p>>>0<s>>>0?s:p:2147483647),p=e[o>>2]|0,e[k>>2]=p+h,s=e[i>>2]|0,_=s,w=e[f>>2]|0,d=(_+(p>>>5<<2)-s<<3)+(p&31)|0,(d|0)>0?(p=d>>>5,q2(w|0,s|0,p<<2|0)|0,s=d&31,d=w+(p<<2)|0,m=d,s?(V=-1>>>(32-s|0),e[d>>2]=e[d>>2]&~V|e[_+(p<<2)>>2]&V,c=s,y=m):(c=0,y=m)):(c=0,y=w),e[l>>2]=y,e[l+4>>2]=c,c=l,l=e[c>>2]|0,y=e[c+4>>2]|0,c=e[i>>2]|0,e[i>>2]=e[f>>2],e[f>>2]=c,f=e[o>>2]|0,e[o>>2]=e[k>>2],e[k>>2]=f,f=e[u>>2]|0,e[u>>2]=e[b>>2],e[b>>2]=f,c|0&&Y(c),v=l,T=y):(y=(e[i>>2]|0)+(A>>>5<<2)|0,e[o>>2]=r,v=y,T=A&31),!h){U=n;return}if(A=(T|0)==0,y=v,t){if(A?(R=h,N=v,G=y):(t=32-T|0,r=t>>>0>h>>>0?h:t,e[y>>2]=e[y>>2]|-1>>>(t-r|0)&-1<<T,t=y+4|0,R=h-r|0,N=t,G=t),t=R>>>5,E0(N|0,-1,t<<2|0)|0,N=R&31,R=G+(t<<2)|0,!N){U=n;return}e[R>>2]=e[R>>2]|-1>>>(32-N|0),U=n;return}else{if(A?(F=h,E=v,Z=y):(v=32-T|0,A=v>>>0>h>>>0?h:v,e[y>>2]=e[y>>2]&~(-1>>>(v-A|0)&-1<<T),T=y+4|0,F=h-A|0,E=T,Z=T),T=F>>>5,E0(E|0,0,T<<2|0)|0,E=F&31,F=Z+(T<<2)|0,!E){U=n;return}e[F>>2]=e[F>>2]&~(-1>>>(32-E|0)),U=n;return}}function Wo(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(r=i+32|0,t=e[r>>2]|0,n=t+8|0,f=e[n+4>>2]|0,l=t+16|0,o=l,A=e[o>>2]|0,u=e[o+4>>2]|0,!((f|0)>(u|0)|((f|0)==(u|0)?(e[n>>2]|0)>>>0>A>>>0:0)))return s=0,s|0;n=j[(e[t>>2]|0)+A>>0]|0,t=i0(A|0,u|0,1,0)|0,u=l,e[u>>2]=t,e[u+4>>2]=H,u=n&255,t=n<<24>>24==0;e:do if(!t){for(n=0;;){if(!(_2[e[(e[i>>2]|0)+16>>2]&127](i,n)|0)){s=0;break}if(n=n+1|0,n>>>0>=u>>>0)break e}return s|0}while(0);n=i+8|0,l=e[n>>2]|0,A=e[i+12>>2]|0;e:do if((l|0)!=(A|0)){for(f=i+4|0,o=l;;){if(_=e[o>>2]|0,o=o+4|0,!(Ze[e[(e[_>>2]|0)+8>>2]&31](_,i,e[f>>2]|0)|0)){s=0;break}if((o|0)==(A|0))break e}return s|0}while(0);if(!t){A=0;do if(l=e[(e[n>>2]|0)+(A<<2)>>2]|0,A=A+1|0,!(_2[e[(e[l>>2]|0)+12>>2]&127](l,e[r>>2]|0)|0)){s=0,h=27;break}while(A>>>0<u>>>0);if((h|0)==27)return s|0;if(!t){t=i+20|0,h=i+24|0,A=0;do{if(r=e[(e[n>>2]|0)+(A<<2)>>2]|0,l=K0[e[(e[r>>2]|0)+24>>2]&127](r)|0,(l|0)>0){r=0;do{o=e[(e[n>>2]|0)+(A<<2)>>2]|0,f=_2[e[(e[o>>2]|0)+20>>2]&127](o,r)|0,o=e[t>>2]|0,_=(e[h>>2]|0)-o>>2,k=o;do if(f>>>0>=_>>>0){if(o=f+1|0,o>>>0>_>>>0){u2(t,o-_|0),b=e[t>>2]|0;break}o>>>0<_>>>0&&(e[h>>2]=k+(o<<2)),b=k}else b=k;while(0);e[b+(f<<2)>>2]=A,r=r+1|0}while((r|0)!=(l|0))}A=A+1|0}while((A|0)!=(u|0))}}return K0[e[(e[i>>2]|0)+28>>2]&127](i)|0?(s=K0[e[(e[i>>2]|0)+32>>2]&127](i)|0,s|0):(s=0,s|0)}function br(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if(t=(r|0)==(i|0),j[r+12>>0]=t&1,!t){for(t=r;;){if(n=t+8|0,f=e[n>>2]|0,l=f+12|0,j[l>>0]|0){o=24;break}if(A=e[f+8>>2]|0,r=e[A>>2]|0,(r|0)==(f|0)){if(u=e[A+4>>2]|0,!u){o=7;break}if(s=u+12|0,!(j[s>>0]|0))_=s;else{o=7;break}}else{if(!r){o=16;break}if(s=r+12|0,!(j[s>>0]|0))_=s;else{o=16;break}}if(j[l>>0]=1,j[A+12>>0]=(A|0)==(i|0)&1,j[_>>0]=1,(A|0)==(i|0)){o=24;break}else t=A}if((o|0)==7){i=f+8|0,(e[f>>2]|0)==(t|0)?(h=l,k=A):(_=f+4|0,s=e[_>>2]|0,r=e[s>>2]|0,e[_>>2]=r,r?(e[r+8>>2]=f,b=e[i>>2]|0):b=A,e[s+8>>2]=b,b=e[i>>2]|0,e[((e[b>>2]|0)==(f|0)?b:b+4|0)>>2]=s,e[s>>2]=f,e[i>>2]=s,h=s+12|0,k=e[s+8>>2]|0),j[h>>0]=1,j[k+12>>0]=0,h=e[k>>2]|0,s=h+4|0,i=e[s>>2]|0,e[k>>2]=i,i|0&&(e[i+8>>2]=k),i=k+8|0,e[h+8>>2]=e[i>>2],b=e[i>>2]|0,e[((e[b>>2]|0)==(k|0)?b:b+4|0)>>2]=h,e[s>>2]=k,e[i>>2]=h;return}else if((o|0)==16){h=f+8|0,(e[f>>2]|0)==(t|0)?(i=t+4|0,k=e[i>>2]|0,e[f>>2]=k,k?(e[k+8>>2]=f,p=e[h>>2]|0):p=A,e[n>>2]=p,p=e[h>>2]|0,e[((e[p>>2]|0)==(f|0)?p:p+4|0)>>2]=t,e[i>>2]=f,e[h>>2]=t,w=t+12|0,d=e[t+8>>2]|0):(w=l,d=A),j[w>>0]=1,j[d+12>>0]=0,w=d+4|0,A=e[w>>2]|0,l=e[A>>2]|0,e[w>>2]=l,l|0&&(e[l+8>>2]=d),l=d+8|0,e[A+8>>2]=e[l>>2],w=e[l>>2]|0,e[((e[w>>2]|0)==(d|0)?w:w+4|0)>>2]=A,e[A>>2]=d,e[l>>2]=A;return}else if((o|0)==24)return}}function Do(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=(n-f|0)/24|0,o=l+1|0,A=f,u=n,o>>>0>178956970&&W0(i),n=i+8|0,s=((e[n>>2]|0)-f|0)/24|0,_=s<<1,h=s>>>0<89478485?_>>>0<o>>>0?o:_:178956970;do if(h)if(h>>>0>178956970)_=T2(8)|0,F2(_,13552),e[_>>2]=4908,U2(_|0,1128,105);else{k=v0(h*24|0)|0;break}else k=0;while(0);if(_=k+(l*24|0)|0,o=k+(h*24|0)|0,e[_>>2]=1228,e[k+(l*24|0)+4>>2]=e[r+4>>2],h=k+(l*24|0)+8|0,e[h>>2]=0,s=k+(l*24|0)+12|0,e[s>>2]=0,b=k+(l*24|0)+16|0,e[b>>2]=0,p=e[r+8>>2]|0,w=(e[r+12>>2]|0)-p|0,d=w>>2,w|0&&(d>>>0>1073741823&&W0(h),m=v0(w)|0,e[s>>2]=m,e[h>>2]=m,e[b>>2]=m+(d<<2),(w|0)>0&&(S0(m|0,p|0,w|0)|0,e[s>>2]=m+(w>>>2<<2))),e[k+(l*24|0)+20>>2]=e[r+20>>2],r=_+24|0,(u|0)!=(A|0)){l=u,u=_;do e[u+-24>>2]=1228,e[u+-20>>2]=e[l+-20>>2],k=u+-16|0,w=l+-16|0,e[k>>2]=0,m=u+-12|0,e[m>>2]=0,s=u+-8|0,e[s>>2]=0,e[k>>2]=e[w>>2],k=l+-12|0,e[m>>2]=e[k>>2],m=l+-8|0,e[s>>2]=e[m>>2],e[m>>2]=0,e[k>>2]=0,e[w>>2]=0,e[u+-4>>2]=e[l+-4>>2],l=l+-24|0,u=u+-24|0;while((l|0)!=(A|0));if(A=e[i>>2]|0,l=e[t>>2]|0,w=A,e[i>>2]=u,e[t>>2]=r,e[n>>2]=o,(l|0)==(w|0))c=A;else{u=l;do u=u+-24|0,l2[e[e[u>>2]>>2]&127](u);while((u|0)!=(w|0));c=A}}else e[i>>2]=_,e[t>>2]=r,e[n>>2]=o,c=f;!c||Y(c)}function Bo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;n=U,U=U+144|0,f=n+136|0,l=n+32|0,o=n,A=e[(e[r+4>>2]|0)+44>>2]|0,u=v0(124)|0,e[u+4>>2]=0,e[u>>2]=3340,e[u+12>>2]=3364,e[u+100>>2]=0,e[u+104>>2]=0,e[u+108>>2]=0,s=u+16|0,_=s+80|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(_|0));e[u+112>>2]=A,e[u+116>>2]=t,e[u+120>>2]=0,h=u,k=l+4|0,e[k>>2]=3364,b=l+92|0,e[b>>2]=0,p=l+96|0,e[p>>2]=0,e[l+100>>2]=0,s=l+8|0,_=s+80|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(_|0));if(s=e[r+8>>2]|0,e[o>>2]=3364,r=o+4|0,_=r+4|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e[_+16>>2]=0,e[_+20>>2]=0,e[r>>2]=s,_=((e[s+4>>2]|0)-(e[s>>2]|0)>>2>>>0)/3|0,j[f>>0]=0,Fe(o+8|0,_,f),l2[e[(e[o>>2]|0)+8>>2]&127](o),e[l>>2]=e[r>>2],Ii(l+4|0,o)|0,e[l+36>>2]=s,e[l+40>>2]=t,e[l+44>>2]=A,e[l+48>>2]=u,Cu(u,l),e[i>>2]=h,e[o>>2]=3364,h=e[o+20>>2]|0,h|0&&Y(h),h=e[o+8>>2]|0,h|0&&Y(h),h=e[b>>2]|0,h|0&&(e[p>>2]=h,Y(h)),h=e[l+76>>2]|0,h|0&&(e[l+80>>2]=h,Y(h)),h=e[l+64>>2]|0,h|0&&(e[l+68>>2]=h,Y(h)),h=e[l+52>>2]|0,h|0&&(e[l+56>>2]=h,Y(h)),e[k>>2]=3364,k=e[l+24>>2]|0,k|0&&Y(k),k=e[l+12>>2]|0,!k){U=n;return}Y(k),U=n}function Mo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;if(n=U,U=U+32|0,f=n+12|0,l=n,o=r+24|0,A=j[o>>0]|0,u=A<<24>>24,e[f>>2]=0,s=f+4|0,e[s>>2]=0,_=f+8|0,e[_>>2]=0,!(A<<24>>24))h=0;else{A<<24>>24<0&&W0(f),A=v0(u)|0,e[s>>2]=A,e[f>>2]=A,e[_>>2]=A+u,_=u,u=A;do j[u>>0]=0,u=(e[s>>2]|0)+1|0,e[s>>2]=u,_=_+-1|0;while((_|0)!=0);h=j[o>>0]|0}if(_=h<<24>>24,e[l>>2]=0,u=l+4|0,e[u>>2]=0,A=l+8|0,e[A>>2]=0,h<<24>>24){h<<24>>24<0&&W0(l),h=v0(_)|0,e[u>>2]=h,e[l>>2]=h,e[A>>2]=h+_,A=_,_=h;do j[_>>0]=0,_=(e[u>>2]|0)+1|0,e[u>>2]=_,A=A+-1|0;while((A|0)!=0)}if(A=r+80|0,!(e[A>>2]|0))k=e[l>>2]|0;else{_=r+48|0,h=r+40|0,b=r+64|0,p=i+48|0,i=0;do{if(w=e[f>>2]|0,d=_,m=e[d>>2]|0,c=e[d+4>>2]|0,d=h,y=e[d>>2]|0,V=Y0(y|0,e[d+4>>2]|0,i|0,0)|0,d=i0(V|0,H|0,m|0,c|0)|0,S0(w|0,(e[e[r>>2]>>2]|0)+d|0,y|0)|0,(j[o>>0]|0)>0&&(j[e[l>>2]>>0]=(e[(e[p>>2]|0)+(t<<2)>>2]|0)+(J[w>>0]|0),(j[o>>0]|0)>1)){w=1;do j[(e[l>>2]|0)+w>>0]=(e[(e[p>>2]|0)+(w+t<<2)>>2]|0)+(J[(e[f>>2]|0)+w>>0]|0),w=w+1|0;while((w|0)<(j[o>>0]|0))}w=e[l>>2]|0,y=e[h>>2]|0,S0((e[e[b>>2]>>2]|0)+(Z0(i,y)|0)|0,w|0,y|0)|0,i=i+1|0}while(i>>>0<(e[A>>2]|0)>>>0);k=w}return k|0&&(e[u>>2]=k,Y(k)),k=e[f>>2]|0,k?(e[s>>2]=k,Y(k),U=n,1):(U=n,1)}function nt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=U,U=U+16|0,n=t,f=r+8|0,l=f,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0||(o=(e[r>>2]|0)+s|0,s=J[o>>0]|J[o+1>>0]<<8|J[o+2>>0]<<16|J[o+3>>0]<<24,o=l,e[o>>2]=_,e[o+4>>2]=u,(s|0)<0))return h=0,U=t,h|0;if(Ui(i+76|0,s,0),n2(n),f2(n,r)|0){if((s|0)>0){u=i+76|0,o=1,_=0;do o=o^((V2(n)|0)^1),A=(e[u>>2]|0)+(_>>>5<<2)|0,k=1<<(_&31),o?b=e[A>>2]|k:b=e[A>>2]&~k,e[A>>2]=b,_=_+1|0;while((_|0)<(s|0))}s=f,f=e[s>>2]|0,_=e[s+4>>2]|0,s=l,b=e[s>>2]|0,o=e[s+4>>2]|0,s=i0(b|0,o|0,4,0)|0,u=H,!((_|0)<(u|0)|(_|0)==(u|0)&f>>>0<s>>>0)&&(n=e[r>>2]|0,r=n+b|0,A=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,r=l,e[r>>2]=s,e[r+4>>2]=u,u=i0(b|0,o|0,8,0)|0,o=H,!((_|0)<(o|0)|(_|0)==(o|0)&f>>>0<u>>>0))&&(f=n+s|0,s=J[f>>0]|J[f+1>>0]<<8|J[f+2>>0]<<16|J[f+3>>0]<<24,f=l,e[f>>2]=u,e[f+4>>2]=o,(A|0)<=(s|0))&&(e[i+12>>2]=A,e[i+16>>2]=s,o=H0(s|0,((s|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0,A=H,A>>>0<0|(A|0)==0&o>>>0<2147483647)?(A=o+1|0,e[i+20>>2]=A,o=(A|0)/2|0,s=i+24|0,e[s>>2]=o,e[i+28>>2]=0-o,A&1||(e[s>>2]=o+-1),p=1):p=0}else p=0;return h=p,U=t,h|0}function Yo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,((n-l|0)/144|0)>>>0>=r>>>0){o=r,A=l;do{e[A>>2]=-1,uf(A+4|0),j[A+100>>0]=1,u=A+104|0,s=u+40|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(s|0));A=(e[f>>2]|0)+144|0,e[f>>2]=A,o=o+-1|0}while((o|0)!=0);return}o=e[i>>2]|0,A=(l-o|0)/144|0,l=A+r|0,l>>>0>29826161&&W0(i),_=(n-o|0)/144|0,o=_<<1,n=_>>>0<14913080?o>>>0<l>>>0?l:o:29826161;do if(n)if(n>>>0>29826161)o=T2(8)|0,F2(o,13552),e[o>>2]=4908,U2(o|0,1128,105);else{h=v0(n*144|0)|0;break}else h=0;while(0);for(o=h+(A*144|0)|0,A=o,l=h+(n*144|0)|0,n=r,r=A,h=o;;){e[h>>2]=-1,uf(h+4|0),j[h+100>>0]=1,u=h+104|0,s=u+40|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(s|0));if(k=r+144|0,_=n+-1|0,_)n=_,r=k,h=k;else break}if(h=k,k=e[i>>2]|0,r=e[f>>2]|0,(r|0)==(k|0))b=A,p=k,w=k;else{A=r,r=o;do r=r+-144|0,A=A+-144|0,_o(r,A);while((A|0)!=(k|0));b=r,p=e[i>>2]|0,w=e[f>>2]|0}if(e[i>>2]=b,e[f>>2]=h,e[t>>2]=l,l=p,(w|0)!=(l|0)){t=w;do w=e[t+-12>>2]|0,w|0&&(e[t+-8>>2]=w,Y(w)),w=e[t+-28>>2]|0,w|0&&(e[t+-24>>2]=w,Y(w)),w=e[t+-40>>2]|0,w|0&&(e[t+-36>>2]=w,Y(w)),Xi(t+-140|0),t=t+-144|0;while((t|0)!=(l|0))}!p||Y(p)}function Co(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0;if(l=e[(e[(e[r+4>>2]|0)+8>>2]|0)+(n<<2)>>2]|0,!((t+-1|0)>>>0<6&(K0[e[(e[r>>2]|0)+8>>2]&127](r)|0)==1)){o=0,e[i>>2]=o;return}if(A=K0[e[(e[r>>2]|0)+36>>2]&127](r)|0,u=_2[e[(e[r>>2]|0)+44>>2]&127](r,n)|0,(A|0)==0|(u|0)==0){o=0,e[i>>2]=o;return}if(s=_2[e[(e[r>>2]|0)+40>>2]&127](r,n)|0,n=e[r+44>>2]|0,r=u+12|0,_=(t|0)==6,s){if(_){_=v0(104)|0,e[_+4>>2]=l,l=_+8|0,e[l>>2]=e[f>>2],e[l+4>>2]=e[f+4>>2],e[l+8>>2]=e[f+8>>2],e[l+12>>2]=e[f+12>>2],e[_+24>>2]=n,e[_+28>>2]=s,e[_+32>>2]=r,e[_+36>>2]=u,e[_>>2]=2716,e[_+44>>2]=0,e[_+48>>2]=0,e[_+52>>2]=n,e[_+56>>2]=s,e[_+60>>2]=r,e[_+64>>2]=u,e[_+40>>2]=2772,e[_+68>>2]=1,u=_+72|0,e[u>>2]=-1,e[u+4>>2]=-1,e[u+8>>2]=-1,e[u+12>>2]=-1,n2(_+88|0),o=_,e[i>>2]=o;return}}else if(_){t=v0(104)|0,e[t+4>>2]=l,h=t+8|0,e[h>>2]=e[f>>2],e[h+4>>2]=e[f+4>>2],e[h+8>>2]=e[f+8>>2],e[h+12>>2]=e[f+12>>2],e[t+24>>2]=n,e[t+28>>2]=A,e[t+32>>2]=r,e[t+36>>2]=u,e[t>>2]=2800,e[t+44>>2]=0,e[t+48>>2]=0,e[t+52>>2]=n,e[t+56>>2]=A,e[t+60>>2]=r,e[t+64>>2]=u,e[t+40>>2]=2856,e[t+68>>2]=1,A=t+72|0,e[A>>2]=-1,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+12>>2]=-1,n2(t+88|0),o=t,e[i>>2]=o;return}e[i>>2]=0,o=0,e[i>>2]=o}function zo(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0;if(l=e[(e[(e[r+4>>2]|0)+8>>2]|0)+(n<<2)>>2]|0,!((t+-1|0)>>>0<6&(K0[e[(e[r>>2]|0)+8>>2]&127](r)|0)==1)){o=0,e[i>>2]=o;return}if(A=K0[e[(e[r>>2]|0)+36>>2]&127](r)|0,u=_2[e[(e[r>>2]|0)+44>>2]&127](r,n)|0,(A|0)==0|(u|0)==0){o=0,e[i>>2]=o;return}if(s=_2[e[(e[r>>2]|0)+40>>2]&127](r,n)|0,n=e[r+44>>2]|0,r=u+12|0,_=(t|0)==6,s){if(_){_=v0(104)|0,e[_+4>>2]=l,l=_+8|0,e[l>>2]=e[f>>2],e[l+4>>2]=e[f+4>>2],e[l+8>>2]=e[f+8>>2],e[l+12>>2]=e[f+12>>2],e[_+24>>2]=n,e[_+28>>2]=s,e[_+32>>2]=r,e[_+36>>2]=u,e[_>>2]=2884,e[_+44>>2]=0,e[_+48>>2]=0,e[_+52>>2]=n,e[_+56>>2]=s,e[_+60>>2]=r,e[_+64>>2]=u,e[_+40>>2]=2940,e[_+68>>2]=1,u=_+72|0,e[u>>2]=-1,e[u+4>>2]=-1,e[u+8>>2]=-1,e[u+12>>2]=-1,n2(_+88|0),o=_,e[i>>2]=o;return}}else if(_){t=v0(104)|0,e[t+4>>2]=l,h=t+8|0,e[h>>2]=e[f>>2],e[h+4>>2]=e[f+4>>2],e[h+8>>2]=e[f+8>>2],e[h+12>>2]=e[f+12>>2],e[t+24>>2]=n,e[t+28>>2]=A,e[t+32>>2]=r,e[t+36>>2]=u,e[t>>2]=2968,e[t+44>>2]=0,e[t+48>>2]=0,e[t+52>>2]=n,e[t+56>>2]=A,e[t+60>>2]=r,e[t+64>>2]=u,e[t+40>>2]=3024,e[t+68>>2]=1,A=t+72|0,e[A>>2]=-1,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+12>>2]=-1,n2(t+88|0),o=t,e[i>>2]=o;return}e[i>>2]=0,o=0,e[i>>2]=o}function lt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;t=U,U=U+16|0,n=t,f=i+40|0,l=f,o=i,A=l+40|0;do e[l>>2]=e[o>>2],l=l+4|0,o=o+4|0;while((l|0)<(A|0));if(bi(f,1,n)|0){l=i,o=f,A=l+40|0;do e[l>>2]=e[o>>2],l=l+4|0,o=o+4|0;while((l|0)<(A|0));if(f=n,u=e[f>>2]|0,s=e[f+4>>2]|0,f=i+8|0,_=f,h=i+16|0,k=h,b=e[k>>2]|0,p=e[k+4>>2]|0,k=H0(e[_>>2]|0,e[_+4>>2]|0,b|0,p|0)|0,_=H,!(s>>>0>_>>>0|(s|0)==(_|0)&u>>>0>k>>>0)){k=i0(b|0,p|0,u|0,s|0)|0,s=h,e[s>>2]=k,e[s+4>>2]=H;do if((b2[i+38>>1]|0)>=514){if(!(f2(i+80|0,i)|0))return w=0,U=t,w|0}else{s=i+96|0,l=s,o=i,A=l+40|0;do e[l>>2]=e[o>>2],l=l+4|0,o=o+4|0;while((l|0)<(A|0));if(bi(s,1,n)|0){l=i,o=s,A=l+40|0;do e[l>>2]=e[o>>2],l=l+4|0,o=o+4|0;while((l|0)<(A|0));if(s=n,k=e[s>>2]|0,u=e[s+4>>2]|0,s=f,p=h,b=e[p>>2]|0,_=e[p+4>>2]|0,p=H0(e[s>>2]|0,e[s+4>>2]|0,b|0,_|0)|0,s=H,!(u>>>0>s>>>0|(u|0)==(s|0)&k>>>0>p>>>0)){p=i0(b|0,_|0,k|0,u|0)|0,u=h,e[u>>2]=p,e[u+4>>2]=H;break}}return w=0,U=t,w|0}while(0);if(!(ef(i)|0))return w=0,U=t,w|0;l=r,o=i,A=l+40|0;do e[l>>2]=e[o>>2],l=l+4|0,o=o+4|0;while((l|0)<(A|0));return w=1,U=t,w|0}}return w=0,U=t,w|0}function At(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0;if(n=U,U=U+16|0,f=n,l=e[i+40>>2]|0,o=e[i+44>>2]|0,(l|0)==(o|0))return A=0,U=n,A|0;i=f+11|0,u=f+4|0,s=t+11|0,_=t+4|0,h=0,k=l;e:for(;;){e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Yr(e[k>>2]|0,r,f)|0,b=j[i>>0]|0;i:do if(l)if(p=b<<24>>24<0,w=b&255,d=p?e[u>>2]|0:w,m=j[s>>0]|0,c=m<<24>>24<0,(d|0)==((c?e[_>>2]|0:m&255)|0)){m=e[f>>2]|0,y=p?m:f,V=c?e[t>>2]|0:t,c=(d|0)==0,v=m&255;r:do if(p){if(!c&&E2(y,V,d)|0){T=0,R=h,N=15;break i}}else if(!c){if((j[V>>0]|0)!=v<<24>>24){G=0,F=h,N=14;break i}for(m=f,E=w,Z=V;;){if(E=E+-1|0,m=m+1|0,!E)break r;if(Z=Z+1|0,(j[m>>0]|0)!=(j[Z>>0]|0)){G=0,F=h,N=14;break i}}}while(0);G=1,F=e[k>>2]|0,N=14}else G=0,F=h,N=14;else G=3,F=h,N=14;while(0);switch((N|0)==14&&(N=0,b<<24>>24<0?(T=G,R=F,N=15):(Q=G,z=F)),(N|0)==15&&(N=0,Y(e[f>>2]|0),Q=T,z=R),Q&3){case 3:case 0:break;default:{A=z,N=18;break e}}if(k=k+4|0,(k|0)==(o|0)){A=0,N=18;break}else h=z}return(N|0)==18?(U=n,A|0):0}function Qo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(t=U,U=U+16|0,n=t,!(Pt(i,r)|0))return f=0,U=t,f|0;if(l=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,o=i+36|0,A=i+40|0,u=e[A>>2]|0,s=e[o>>2]|0,_=u-s>>2,h=s,s=u,l>>>0<=_>>>0){if(l>>>0<_>>>0){if(u=h+(l<<2)|0,(u|0)!=(s|0)){h=s;do h=h+-4|0,s=e[h>>2]|0,e[h>>2]=0,s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s);while((h|0)!=(u|0))}e[A>>2]=u}}else N1(o,l-_|0);if(_=r+8|0,(l|0)<=0)return f=1,U=t,f|0;for(u=r+16|0,A=0;;){if(h=_,s=e[h+4>>2]|0,k=u,b=e[k>>2]|0,p=e[k+4>>2]|0,!((s|0)>(p|0)|((s|0)==(p|0)?(e[h>>2]|0)>>>0>b>>>0:0))){f=0,w=21;break}if(h=j[(e[r>>2]|0)+b>>0]|0,s=i0(b|0,p|0,1,0)|0,p=u,e[p>>2]=s,e[p+4>>2]=H,o4[e[(e[i>>2]|0)+48>>2]&15](n,i,h),h=(e[o>>2]|0)+(A<<2)|0,p=e[n>>2]|0,e[n>>2]=0,s=e[h>>2]|0,e[h>>2]=p,s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s),s=e[n>>2]|0,e[n>>2]=0,s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s),s=e[(e[o>>2]|0)+(A<<2)>>2]|0,!s){f=0,w=21;break}if(p=e[(e[s>>2]|0)+8>>2]|0,h=K0[e[(e[i>>2]|0)+28>>2]&127](i)|0,b=_2[e[(e[i>>2]|0)+20>>2]&127](i,A)|0,A=A+1|0,!(Ze[p&31](s,h,b)|0)){f=0,w=21;break}if((A|0)>=(l|0)){f=1,w=21;break}}return(w|0)==21?(U=t,f|0):0}function Jo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?L8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function Oo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?a8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function So(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?K8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function Xo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(A2(i+16|0,r)|0)||!(A2(i+36|0,r)|0)||!(A2(i+56|0,r)|0)?(p=0,p|0):A2(i+76|0,r)|0?q8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function Po(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(A2(i+16|0,r)|0)||!(A2(i+36|0,r)|0)||!(A2(i+56|0,r)|0)?(p=0,p|0):A2(i+76|0,r)|0?x8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function Ho(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(f2(i+16|0,r)|0)||!(A2(i+32|0,r)|0)||!(A2(i+52|0,r)|0)?(p=0,p|0):A2(i+72|0,r)|0?g8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function xo(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(f2(i+16|0,r)|0)||!(A2(i+32|0,r)|0)||!(A2(i+52|0,r)|0)?(p=0,p|0):A2(i+72|0,r)|0?$8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function st(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0;e:do if(r>>>0<=20)do switch(r|0){case 9:{n=(e[t>>2]|0)+(4-1)&~(4-1),f=e[n>>2]|0,e[t>>2]=n+4,e[i>>2]=f;break e}case 10:{f=(e[t>>2]|0)+(4-1)&~(4-1),n=e[f>>2]|0,e[t>>2]=f+4,f=i,e[f>>2]=n,e[f+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{n=(e[t>>2]|0)+(4-1)&~(4-1),f=e[n>>2]|0,e[t>>2]=n+4,n=i,e[n>>2]=f,e[n+4>>2]=0;break e}case 12:{n=(e[t>>2]|0)+(8-1)&~(8-1),f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,e[t>>2]=n+8,n=i,e[n>>2]=l,e[n+4>>2]=o;break e}case 13:{o=(e[t>>2]|0)+(4-1)&~(4-1),n=e[o>>2]|0,e[t>>2]=o+4,o=(n&65535)<<16>>16,n=i,e[n>>2]=o,e[n+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{o=(e[t>>2]|0)+(4-1)&~(4-1),n=e[o>>2]|0,e[t>>2]=o+4,o=i,e[o>>2]=n&65535,e[o+4>>2]=0;break e}case 15:{o=(e[t>>2]|0)+(4-1)&~(4-1),n=e[o>>2]|0,e[t>>2]=o+4,o=(n&255)<<24>>24,n=i,e[n>>2]=o,e[n+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{o=(e[t>>2]|0)+(4-1)&~(4-1),n=e[o>>2]|0,e[t>>2]=o+4,o=i,e[o>>2]=n&255,e[o+4>>2]=0;break e}case 17:{o=(e[t>>2]|0)+(8-1)&~(8-1),A=+D2[o>>3],e[t>>2]=o+8,D2[i>>3]=A;break e}case 18:{o=(e[t>>2]|0)+(8-1)&~(8-1),A=+D2[o>>3],e[t>>2]=o+8,D2[i>>3]=A;break e}default:break e}while(0);while(0)}function qo(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=U,U=U+16|0,n=t+12|0,f=t,l=v0(52)|0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=1065353216,o=l+20|0,e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,e[o+12>>2]=0,e[l+36>>2]=1065353216,e[l+40>>2]=0,e[l+44>>2]=0,e[l+48>>2]=0,vb(n),xu(n,e[r+32>>2]|0,l)|0){if(n=(e[r+4>>2]|0)+4|0,r=e[n>>2]|0,e[n>>2]=l,r|0){if(n=r+40|0,o=e[n>>2]|0,o|0){if(A=r+44|0,u=e[A>>2]|0,(u|0)==(o|0))s=o;else{_=u;do _=_+-4|0,u=e[_>>2]|0,e[_>>2]=0,u|0&&(de(u),Y(u));while((_|0)!=(o|0));s=e[n>>2]|0}e[A>>2]=o,Y(s)}de(r),Y(r)}e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,U=t;return}else{e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,r=v0(32)|0,e[f>>2]=r,e[f+8>>2]=-2147483616,e[f+4>>2]=26,s=r,o=13159,A=s+26|0;do j[s>>0]=j[o>>0]|0,s=s+1|0,o=o+1|0;while((s|0)<(A|0));if(j[r+26>>0]=0,e[i>>2]=-1,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),f=l+40|0,i=e[f>>2]|0,i|0){if(r=l+44|0,o=e[r>>2]|0,(o|0)==(i|0))h=i;else{s=o;do s=s+-4|0,o=e[s>>2]|0,e[s>>2]=0,o|0&&(de(o),Y(o));while((s|0)!=(i|0));h=e[f>>2]|0}e[r>>2]=i,Y(h)}de(l),Y(l),U=t;return}}function ot(i){i=i|0;var r=0,t=0,n=0,f=0;if(e[i>>2]=3408,r=e[i+388>>2]|0,r|0&&(e[i+392>>2]=r,Y(r)),r=i+368|0,t=e[r>>2]|0,e[r>>2]=0,t|0){if(r=t+-4|0,n=e[r>>2]|0,n|0){f=t+(n<<4)|0;do f=f+-16|0;while((f|0)!=(t|0))}i2(r)}if(zr(i+216|0),r=e[i+196>>2]|0,r|0&&(e[i+200>>2]=r,Y(r)),r=e[i+184>>2]|0,r|0&&(e[i+188>>2]=r,Y(r)),r=e[i+172>>2]|0,r|0&&(e[i+176>>2]=r,Y(r)),r=e[i+160>>2]|0,r|0&&(e[i+164>>2]=r,Y(r)),r=e[i+144>>2]|0,r|0){t=r;do r=t,t=e[t>>2]|0,Y(r);while((t|0)!=0)}t=i+136|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&Y(r),r=e[i+120>>2]|0,r|0&&Y(r),r=e[i+108>>2]|0,r|0&&Y(r),r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+60>>2]|0,r|0&&Y(r),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+36>>2]|0,r|0&&(e[i+40>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=i+8|0,i=e[r>>2]|0,e[r>>2]=0,i&&(r=e[i+76>>2]|0,r|0&&(e[i+80>>2]=r,Y(r)),r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=e[i>>2]|0,r|0&&(e[i+4>>2]=r,Y(r)),Y(i))}function Lo(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=a0,u=0,s=0,_=0,h=0,k=0,b=a0,p=a0,w=a0,d=a0,m=a0,c=0,y=a0,V=a0,v=0,T=0;if(f=U,U=U+32|0,l=f+16|0,o=f,A=o0(q0[t+4>>2]),u=(1<<e[t>>2])+-1|0,t4(l),Kr(l,A,u)|0,t=e[i>>2]|0,(t|0)==(e[r>>2]|0)){U=f;return}i=l+4|0,s=o+4|0,_=o+8|0,h=n+16|0,k=n+28|0,n=t;do t=(e[n>>2]|0)-u|0,(t|0)>-1?(A=o0(t|0),b=o0(q0[i>>2]),p=o0(b*A),A=o0(q0[l>>2]),w=o0(p*A),d=b,m=A):(c=H0(0,0,t|0,((t|0)<0)<<31>>31|0)|0,A=o0(+(c>>>0)+4294967296*+(H|0)),b=o0(q0[i>>2]),p=o0(b*A),A=o0(q0[l>>2]),w=o0(-o0(p*A)),d=b,m=A),c=(e[n+4>>2]|0)-u|0,(c|0)>-1?y=o0(o0(d*o0(c|0))*m):(t=H0(0,0,c|0,((c|0)<0)<<31>>31|0)|0,y=o0(-o0(o0(d*o0(+(t>>>0)+4294967296*+(H|0)))*m))),t=(e[n+8>>2]|0)-u|0,(t|0)>-1?V=o0(o0(d*o0(t|0))*m):(c=H0(0,0,t|0,((t|0)<0)<<31>>31|0)|0,V=o0(-o0(o0(d*o0(+(c>>>0)+4294967296*+(H|0)))*m))),q0[o>>2]=w,q0[s>>2]=y,q0[_>>2]=V,c=e[h>>2]|0,t=e[c>>2]|0,v=e[k>>2]|0,j[t+84>>0]|0?T=v:T=e[(e[t+68>>2]|0)+(v<<2)>>2]|0,v=e[t+40>>2]|0,S0((e[e[t+64>>2]>>2]|0)+(Z0(T,v)|0)|0,o+(e[c+4>>2]<<2)|0,v|0)|0,e[k>>2]=(e[k>>2]|0)+1,n=n+12|0;while((n|0)!=(e[r>>2]|0));U=f}function Ko(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;t=U,U=U+32|0,n=t,f=i+4|0,l=e[i>>2]|0,o=(e[f>>2]|0)-l>>2,A=o+1|0,A>>>0>1073741823&&W0(i),u=i+8|0,s=(e[u>>2]|0)-l|0,l=s>>1,_=s>>2>>>0<536870911?l>>>0<A>>>0?A:l:1073741823,l=n+12|0,e[l>>2]=0,e[n+16>>2]=i+8;do if(_)if(_>>>0>1073741823)A=T2(8)|0,F2(A,13552),e[A>>2]=4908,U2(A|0,1128,105);else{h=v0(_<<2)|0;break}else h=0;while(0);if(e[n>>2]=h,A=h+(o<<2)|0,o=n+8|0,s=n+4|0,e[s>>2]=A,k=h+(_<<2)|0,e[l>>2]=k,_=e[r>>2]|0,e[r>>2]=0,e[A>>2]=_,_=A+4|0,e[o>>2]=_,r=e[i>>2]|0,h=e[f>>2]|0,(h|0)==(r|0)){b=A,p=l,w=o,d=r,m=_,c=h,y=k,V=b,e[i>>2]=V,e[s>>2]=d,e[f>>2]=m,e[w>>2]=c,v=e[u>>2]|0,e[u>>2]=y,e[p>>2]=v,e[n>>2]=d,Zr(n),U=t;return}k=h,h=A;do k=k+-4|0,A=e[k>>2]|0,e[k>>2]=0,e[h+-4>>2]=A,h=(e[s>>2]|0)+-4|0,e[s>>2]=h;while((k|0)!=(r|0));b=h,p=l,w=o,d=e[i>>2]|0,m=e[o>>2]|0,c=e[f>>2]|0,y=e[l>>2]|0,V=b,e[i>>2]=V,e[s>>2]=d,e[f>>2]=m,e[w>>2]=c,v=e[u>>2]|0,e[u>>2]=y,e[p>>2]=v,e[n>>2]=d,Zr(n),U=t}function ut(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?O8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function _t(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?X8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function kt(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(Ti(i+16|0,r)|0)||!(A2(i+544|0,r)|0)||!(A2(i+564|0,r)|0)?(p=0,p|0):A2(i+584|0,r)|0?S8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function ao(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;n=U,U=U+32|0,f=n+8|0,l=n+4|0,o=n,e[f>>2]=0,A=f+4|0,e[A>>2]=0,e[f+8>>2]=0,u=r+8|0,s=e[u>>2]|0,_=e[u+4>>2]|0,u=r+16|0,h=u,k=e[h>>2]|0,b=e[h+4>>2]|0,h=i0(k|0,b|0,4,0)|0,p=H;e:do if((_|0)<(p|0)|(_|0)==(p|0)&s>>>0<h>>>0)w=0;else{d=e[r>>2]|0,m=d+k|0,c=J[m>>0]|J[m+1>>0]<<8|J[m+2>>0]<<16|J[m+3>>0]<<24,m=u,e[m>>2]=h,e[m+4>>2]=p;i:do switch(c|0){case 3:{if(!((_|0)>(p|0)|(_|0)==(p|0)&s>>>0>h>>>0)){w=0;break e}if(m=j[d+h>>0]|0,y=i0(k|0,b|0,5,0)|0,V=u,e[V>>2]=y,e[V+4>>2]=H,e[i+8>>2]=m<<24>>24,m<<24>>24==1){if(Xt(i,r,f)|0)break i;w=0;break e}else{kf(5156,23,1,e[948]|0)|0,w=0;break e}break}case 2:{if(!(Xt(i,r,f)|0)){w=0;break e}break}default:{kf(5180,24,1,e[948]|0)|0,w=0;break e}}while(0);e[l>>2]=e[f>>2],e[o>>2]=e[A>>2],Lo(l,o,i,t),w=1}while(0);return t=e[f>>2]|0,t?(e[A>>2]=t,Y(t),U=n,w|0):(U=n,w|0)}function ht(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(A2(i+16|0,r)|0)||!(A2(i+36|0,r)|0)||!(A2(i+56|0,r)|0)?(p=0,p|0):A2(i+76|0,r)|0?J8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function bt(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(A2(i+16|0,r)|0)||!(A2(i+36|0,r)|0)||!(A2(i+56|0,r)|0)?(p=0,p|0):A2(i+76|0,r)|0?Q8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function pt(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(f2(i+16|0,r)|0)||!(A2(i+32|0,r)|0)||!(A2(i+52|0,r)|0)?(p=0,p|0):A2(i+72|0,r)|0?H8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function wt(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;return n=r+8|0,f=n,l=e[f>>2]|0,o=e[f+4>>2]|0,f=r+16|0,A=f,u=e[A>>2]|0,s=e[A+4>>2]|0,A=i0(u|0,s|0,4,0)|0,_=H,(o|0)<(_|0)|(o|0)==(_|0)&l>>>0<A>>>0?(h=e[i>>2]|0,k=u,b=s):(s=(e[r>>2]|0)+u|0,u=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[i>>0]=u,j[i+1>>0]=u>>8,j[i+2>>0]=u>>16,j[i+3>>0]=u>>24,s=f,A=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=H,l=f,e[l>>2]=A,e[l+4>>2]=s,h=u,k=A,b=s),h>>>0>32?(p=0,p|0):(h=i+4|0,s=n,n=e[s>>2]|0,A=e[s+4>>2]|0,s=i0(k|0,b|0,4,0)|0,b=H,(A|0)<(b|0)|(A|0)==(b|0)&n>>>0<s>>>0?w=e[h>>2]|0:(s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,j[h>>0]=k,j[h+1>>0]=k>>8,j[h+2>>0]=k>>16,j[h+3>>0]=k>>24,s=f,n=i0(e[s>>2]|0,e[s+4>>2]|0,4,0)|0,s=f,e[s>>2]=n,e[s+4>>2]=H,w=k),w?(e[i+8>>2]=0,!(f2(i+16|0,r)|0)||!(A2(i+32|0,r)|0)||!(A2(i+52|0,r)|0)?(p=0,p|0):A2(i+72|0,r)|0?P8(i,e[h>>2]|0,t)|0:(p=0,p|0)):(p=1,p|0))}function dt(i){i=i|0;var r=0,t=0,n=0,f=0;if(e[i>>2]=3240,r=i+368|0,t=e[r>>2]|0,e[r>>2]=0,t|0){if(r=t+-4|0,n=e[r>>2]|0,n|0){f=t+(n<<4)|0;do f=f+-16|0;while((f|0)!=(t|0))}i2(r)}if(zr(i+216|0),r=e[i+196>>2]|0,r|0&&(e[i+200>>2]=r,Y(r)),r=e[i+184>>2]|0,r|0&&(e[i+188>>2]=r,Y(r)),r=e[i+172>>2]|0,r|0&&(e[i+176>>2]=r,Y(r)),r=e[i+160>>2]|0,r|0&&(e[i+164>>2]=r,Y(r)),r=e[i+144>>2]|0,r|0){t=r;do r=t,t=e[t>>2]|0,Y(r);while((t|0)!=0)}t=i+136|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&Y(r),r=e[i+120>>2]|0,r|0&&Y(r),r=e[i+108>>2]|0,r|0&&Y(r),r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+60>>2]|0,r|0&&Y(r),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+36>>2]|0,r|0&&(e[i+40>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=i+8|0,i=e[r>>2]|0,e[r>>2]=0,i&&(r=e[i+76>>2]|0,r|0&&(e[i+80>>2]=r,Y(r)),r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=e[i>>2]|0,r|0&&(e[i+4>>2]=r,Y(r)),Y(i))}function $o(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(r=U,U=U+16|0,t=r+4|0,n=r,f=i+8|0,l=e[f>>2]|0,Q2(e[i+4>>2]|0,(e[l+28>>2]|0)-(e[l+24>>2]|0)>>2),l=i+100|0,o=e[f>>2]|0,A=(e[o+28>>2]|0)-(e[o+24>>2]|0)>>2,e[t>>2]=0,o=i+104|0,u=e[l>>2]|0,s=(e[o>>2]|0)-u>>2,A>>>0<=s>>>0?A>>>0<s>>>0&&(e[o>>2]=u+(A<<2)):z2(l,A-s|0,t),s=i+120|0,i=e[s>>2]|0,i){if(A=e[i>>2]|0,(e[i+4>>2]|0)==(A|0))return _=1,U=r,_|0;for(i=0,l=A;;){if(e[n>>2]=e[l+(i<<2)>>2],e[t>>2]=e[n>>2],i=i+1|0,!(Dt(f,t)|0)){_=0,h=14;break}if(A=e[s>>2]|0,l=e[A>>2]|0,i>>>0>=(e[A+4>>2]|0)-l>>2>>>0){_=1,h=14;break}}if((h|0)==14)return U=r,_|0}else{if(A=e[f>>2]|0,l=(e[A+4>>2]|0)-(e[A>>2]|0)>>2,A=(l>>>0)/3|0,l>>>0<=2)return _=1,U=r,_|0;for(l=0;;){if(e[n>>2]=l*3,e[t>>2]=e[n>>2],l=l+1|0,!(Dt(f,t)|0)){_=0,h=14;break}if(l>>>0>=A>>>0){_=1,h=14;break}}if((h|0)==14)return U=r,_|0}return 0}function go(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=U,U=U+32|0,n=t+12|0,f=t,l=q_(r,0)|0,!l){e[i>>2]=0,U=t;return}o=e[r+100>>2]|0,A=e[r+96>>2]|0,r=o-A|0,u=(r|0)/12|0,e[n>>2]=0,s=n+4|0,e[s>>2]=0,_=n+8|0,e[_>>2]=0,h=A;do if(r)if(u>>>0>357913941)W0(n);else{k=v0(r)|0,e[n>>2]=k,e[_>>2]=k+(u*12|0),E0(k|0,0,r|0)|0,e[s>>2]=k+r,b=k;break}else b=0;while(0);if(e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,(o|0)!=(A|0))if(A=f+4|0,o=f+8|0,j[l+84>>0]|0){l=0;do r=h+(l*12|0)|0,e[f>>2]=e[r>>2],e[f+4>>2]=e[r+4>>2],e[f+8>>2]=e[r+8>>2],e[b+(l*12|0)>>2]=e[f>>2],e[b+(l*12|0)+4>>2]=e[A>>2],e[b+(l*12|0)+8>>2]=e[o>>2],l=l+1|0;while(l>>>0<u>>>0)}else{r=e[l+68>>2]|0,l=0;do _=e[r+(e[h+(l*12|0)>>2]<<2)>>2]|0,e[f>>2]=_,k=e[r+(e[h+(l*12|0)+4>>2]<<2)>>2]|0,e[A>>2]=k,p=e[r+(e[h+(l*12|0)+8>>2]<<2)>>2]|0,e[o>>2]=p,e[b+(l*12|0)>>2]=_,e[b+(l*12|0)+4>>2]=k,e[b+(l*12|0)+8>>2]=p,l=l+1|0;while(l>>>0<u>>>0)}h3(i,n),i=e[n>>2]|0,i|0&&(e[s>>2]=i,Y(i)),U=t}function eu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=e[i+8>>2]|0,n=i+76|0,f=e[n>>2]|0,l=e[f+80>>2]|0,j[r+84>>0]=0,o=r+68|0,A=r+72|0,u=e[o>>2]|0,s=(e[A>>2]|0)-u>>2,l>>>0<=s>>>0?l>>>0<s>>>0?(e[A>>2]=u+(l<<2),_=f,h=l):(_=f,h=l):(z2(o,l-s|0,3328),s=e[n>>2]|0,_=s,h=e[s+80>>2]|0),s=e[_+96>>2]|0,n=(e[_+100>>2]|0)-s|0,_=(n|0)/12|0,l=s,!n)return k=1,k|0;for(n=i+80|0,i=r+68|0,r=0;;){if(s=r*3|0,(s|0)==-1){k=0,b=11;break}if(o=e[t>>2]|0,f=e[o+(s<<2)>>2]|0,(f|0)==-1){k=0,b=11;break}if(u=e[(e[n>>2]|0)+12>>2]|0,A=e[u+(f<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(f=e[i>>2]|0,e[f+(e[l+(r*12|0)>>2]<<2)>>2]=A,A=s+1|0,(A|0)==-1){k=0,b=11;break}if(p=e[o+(A<<2)>>2]|0,(p|0)==-1){k=0,b=11;break}if(A=e[u+(p<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(e[f+(e[l+(r*12|0)+4>>2]<<2)>>2]=A,A=s+2|0,(A|0)==-1){k=0,b=11;break}if(s=e[o+(A<<2)>>2]|0,(s|0)==-1){k=0,b=11;break}if(A=e[u+(s<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(e[f+(e[l+(r*12|0)+8>>2]<<2)>>2]=A,r=r+1|0,r>>>0>=_>>>0){k=1,b=11;break}}return(b|0)==11?k|0:0}function iu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(n=U,U=U+32|0,f=n+20|0,l=n+16|0,o=n,A=r+24|0,u=j[A>>0]|0,s=u<<24>>24,_=e[i+80>>2]|0,i=Z0(_,s)|0,e[o>>2]=e[294],e[o+4>>2]=e[295],e[o+8>>2]=e[296],e[o+12>>2]=e[297],h=t+4|0,k=e[t>>2]|0,b=(e[h>>2]|0)-k>>2,i>>>0<=b>>>0?i>>>0<b>>>0&&(e[h>>2]=k+(i<<2)):u2(t,i-b|0),!_)return p=1,U=n,p|0;if(b=r+84|0,i=r+68|0,u<<24>>24<=0){for(u=0;;){if(j[b>>0]|0?w=u:w=e[(e[i>>2]|0)+(u<<2)>>2]|0,e[l>>2]=w,k=j[A>>0]|0,e[f>>2]=e[l>>2],!(Pe(r,f,k,o)|0)){p=0,d=19;break}if(u=u+1|0,u>>>0>=_>>>0){p=1,d=19;break}}if((d|0)==19)return U=n,p|0}for(u=0,w=0;;){if(j[b>>0]|0?m=w:m=e[(e[i>>2]|0)+(w<<2)>>2]|0,e[l>>2]=m,k=j[A>>0]|0,e[f>>2]=e[l>>2],!(Pe(r,f,k,o)|0)){p=0,d=19;break}for(k=e[t>>2]|0,h=0,c=u;e[k+(c<<2)>>2]=e[o+(h<<2)>>2],h=h+1|0,(h|0)!=(s|0);)c=c+1|0;if(w=w+1|0,w>>>0>=_>>>0){p=1,d=19;break}else u=u+s|0}return(d|0)==19?(U=n,p|0):0}function ru(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0;if(t=U,U=U+32|0,n=t,f=i+8|0,l=e[f>>2]|0,o=i+4|0,A=e[o>>2]|0,u=A,l-A>>2>>>0>=r>>>0){E0(A|0,0,r<<2|0)|0,e[o>>2]=u+(r<<2),U=t;return}s=e[i>>2]|0,_=A-s>>2,h=_+r|0,k=s,h>>>0>1073741823&&W0(i),b=l-s|0,p=b>>1,w=b>>2>>>0<536870911?p>>>0<h>>>0?h:p:1073741823,p=n+12|0,e[p>>2]=0,e[n+16>>2]=i+8;do if(w)if(w>>>0>1073741823)h=T2(8)|0,F2(h,13552),e[h>>2]=4908,U2(h|0,1128,105);else{d=v0(w<<2)|0;break}else d=0;while(0);if(e[n>>2]=d,h=d+(_<<2)|0,_=n+8|0,b=n+4|0,e[b>>2]=h,m=d+(w<<2)|0,e[p>>2]=m,E0(h|0,0,r<<2|0)|0,w=h+(r<<2)|0,e[_>>2]=w,(u|0)==(k|0))c=h,y=p,V=_,v=s,T=w,R=A,N=m,G=l;else{l=u,u=h;do l=l+-4|0,h=e[l>>2]|0,e[l>>2]=0,e[u+-4>>2]=h,u=(e[b>>2]|0)+-4|0,e[b>>2]=u;while((l|0)!=(k|0));c=u,y=p,V=_,v=e[i>>2]|0,T=e[_>>2]|0,R=e[o>>2]|0,N=e[p>>2]|0,G=e[f>>2]|0}e[i>>2]=c,e[b>>2]=v,e[o>>2]=T,e[V>>2]=R,e[f>>2]=N,e[y>>2]=G,e[n>>2]=v,Zr(n),U=t}function tu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=e[i+8>>2]|0,n=i+112|0,f=e[n>>2]|0,l=e[f+80>>2]|0,j[r+84>>0]=0,o=r+68|0,A=r+72|0,u=e[o>>2]|0,s=(e[A>>2]|0)-u>>2,l>>>0<=s>>>0?l>>>0<s>>>0?(e[A>>2]=u+(l<<2),_=f,h=l):(_=f,h=l):(z2(o,l-s|0,3328),s=e[n>>2]|0,_=s,h=e[s+80>>2]|0),s=e[_+96>>2]|0,n=(e[_+100>>2]|0)-s|0,_=(n|0)/12|0,l=s,!n)return k=1,k|0;for(n=i+116|0,i=r+68|0,r=0;;){if(s=r*3|0,(s|0)==-1){k=0,b=11;break}if(o=e[t>>2]|0,f=e[o+(s<<2)>>2]|0,(f|0)==-1){k=0,b=11;break}if(u=e[(e[n>>2]|0)+12>>2]|0,A=e[u+(f<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(f=e[i>>2]|0,e[f+(e[l+(r*12|0)>>2]<<2)>>2]=A,A=s+1|0,(A|0)==-1){k=0,b=11;break}if(p=e[o+(A<<2)>>2]|0,(p|0)==-1){k=0,b=11;break}if(A=e[u+(p<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(e[f+(e[l+(r*12|0)+4>>2]<<2)>>2]=A,A=s+2|0,(A|0)==-1){k=0,b=11;break}if(s=e[o+(A<<2)>>2]|0,(s|0)==-1){k=0,b=11;break}if(A=e[u+(s<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=11;break}if(e[f+(e[l+(r*12|0)+8>>2]<<2)>>2]=A,r=r+1|0,r>>>0>=_>>>0){k=1,b=11;break}}return(b|0)==11?k|0:0}function mt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0||(_=e[r>>2]|0,h=_+o|0,k=J[h>>0]|J[h+1>>0]<<8|J[h+2>>0]<<16|J[h+3>>0]<<24,h=t,e[h>>2]=l,e[h+4>>2]=u,u=i0(o|0,A|0,8,0)|0,h=H,(f|0)<(h|0)|(f|0)==(h|0)&n>>>0<u>>>0)||(b=_+l|0,l=J[b>>0]|J[b+1>>0]<<8|J[b+2>>0]<<16|J[b+3>>0]<<24,b=t,e[b>>2]=u,e[b+4>>2]=h,(k|0)>(l|0))||(e[i+12>>2]=k,e[i+16>>2]=l,b=H0(l|0,((l|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0,k=H,!(k>>>0<0|(k|0)==0&b>>>0<2147483647)))return s=0,s|0;if(k=b+1|0,e[i+20>>2]=k,b=(k|0)/2|0,l=i+24|0,e[l>>2]=b,e[i+28>>2]=0-b,k&1||(e[l>>2]=b+-1),(b2[r+38>>1]|0)<514){e:do if((f|0)>(h|0)|(f|0)==(h|0)&n>>>0>u>>>0)switch(b=j[_+u>>0]|0,l=i0(o|0,A|0,9,0)|0,k=t,e[k>>2]=l,e[k+4>>2]=H,b<<24>>24){case 0:{p=0;break e}case 1:{p=1;break e}default:return s=0,s|0}else p=0;while(0);e[i+88>>2]=p}return s=f2(i+108|0,r)|0,s|0}function vt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(e[i+64>>2]|0||(t=v0(32)|0,C1(t),n=i+64|0,f=e[n>>2]|0,e[n>>2]=t,f?(t=e[f>>2]|0,t|0&&(e[f+4>>2]=t,Y(t)),Y(f),l=e[n>>2]|0):l=t,of(i,l,0,0,0,0)),o=i,!!(S3(o,r)|0)){if(j[i+84>>0]=j[r+84>>0]|0,e[i+80>>2]=e[r+80>>2],(i|0)!=(r|0)&&Zi(i+68|0,e[r+68>>2]|0,e[r+72>>2]|0),o=e[r+88>>2]|0,!o){if(r=i+88|0,l=e[r>>2]|0,e[r>>2]=0,!l)return;r=e[l+8>>2]|0,r|0&&(e[l+12>>2]=r,Y(r)),Y(l);return}l=v0(40)|0,e[l>>2]=e[o>>2],r=l+8|0,n=o+8|0,e[r>>2]=0,f=l+12|0,e[f>>2]=0,t=l+16|0,e[t>>2]=0,A=o+12|0,u=(e[A>>2]|0)-(e[n>>2]|0)|0,u|0&&((u|0)<0&&W0(r),s=v0(u)|0,e[f>>2]=s,e[r>>2]=s,e[t>>2]=s+u,u=e[n>>2]|0,n=(e[A>>2]|0)-u|0,(n|0)>0&&(S0(s|0,u|0,n|0)|0,e[f>>2]=s+n)),n=l+24|0,s=o+24|0,e[n>>2]=e[s>>2],e[n+4>>2]=e[s+4>>2],e[n+8>>2]=e[s+8>>2],e[n+12>>2]=e[s+12>>2],s=i+88|0,i=e[s>>2]|0,e[s>>2]=l,i&&(l=e[i+8>>2]|0,l|0&&(e[i+12>>2]=l,Y(l)),Y(i))}}function fu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=a0,y=a0,V=a0,v=0;if(t=U,U=U+16|0,n=t,f=e[i+24>>2]|0,l=i+8|0,o=j[(e[l>>2]|0)+24>>0]|0,A=o<<24>>24,u=A<<2,s=B2(A>>>0>1073741823?-1:A<<2)|0,t4(n),!(Kr(n,o0(q0[i+32>>2]),(1<<f)+-1|0)|0))return _=0,i2(s),U=t,_|0;if(f=e[i+16>>2]|0,e[f+80>>2]|0?h=(e[e[f>>2]>>2]|0)+(e[f+48>>2]|0)|0:h=0,!r)return _=1,i2(s),U=t,_|0;if(f=n+4|0,k=i+28|0,o<<24>>24<=0){for(o=0,i=0;;)if(S0((e[e[(e[l>>2]|0)+64>>2]>>2]|0)+i|0,s|0,u|0)|0,o=o+1|0,(o|0)==(r|0)){_=1;break}else i=i+u|0;return i2(s),U=t,_|0}for(i=0,o=0,b=0;;){for(p=e[k>>2]|0,w=0,d=o;m=e[h+(d<<2)>>2]|0,(m|0)>-1?(c=o0(m|0),y=o0(o0(q0[f>>2])*c),V=o0(y*o0(q0[n>>2]))):(v=H0(0,0,m|0,((m|0)<0)<<31>>31|0)|0,y=o0(+(v>>>0)+4294967296*+(H|0)),c=o0(o0(q0[f>>2])*y),V=o0(-o0(c*o0(q0[n>>2])))),c=o0(V+o0(q0[p+(w<<2)>>2])),q0[s+(w<<2)>>2]=c,w=w+1|0,(w|0)!=(A|0);)d=d+1|0;if(S0((e[e[(e[l>>2]|0)+64>>2]>>2]|0)+b|0,s|0,u|0)|0,i=i+1|0,(i|0)==(r|0)){_=1;break}else o=o+A|0,b=b+u|0}return i2(s),U=t,_|0}function nu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0;return n=U,U=U+16|0,f=n,l=t+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=t+16|0,u=l,s=e[u>>2]|0,_=e[u+4>>2]|0,(A|0)>(_|0)|(A|0)==(_|0)&o>>>0>s>>>0?(u=j[(e[t>>2]|0)+s>>0]|0,h=i0(s|0,_|0,1,0)|0,k=H,b=l,e[b>>2]=h,e[b+4>>2]=k,u<<24>>24!=-2&&(p=u,w=k,d=h,m=3)):(p=0,w=_,d=s,m=3),(m|0)==3&&((A|0)>(w|0)|(A|0)==(w|0)&o>>>0>d>>>0?(o=j[(e[t>>2]|0)+d>>0]|0,A=i0(d|0,w|0,1,0)|0,w=l,e[w>>2]=A,e[w+4>>2]=H,c=o):c=0,P1[e[(e[i>>2]|0)+40>>2]&7](f,i,p<<24>>24,c<<24>>24),c=i+20|0,p=e[f>>2]|0,e[f>>2]=0,o=e[c>>2]|0,e[c>>2]=p,o?(l2[e[(e[o>>2]|0)+4>>2]&127](o),o=e[f>>2]|0,e[f>>2]=0,o|0&&l2[e[(e[o>>2]|0)+4>>2]&127](o)):e[f>>2]=0),f=e[i+20>>2]|0,f|0&&!(_2[e[(e[i>>2]|0)+28>>2]&127](i,f)|0)||!(Ze[e[(e[i>>2]|0)+36>>2]&31](i,r,t)|0)||(t=(e[r+4>>2]|0)-(e[r>>2]|0)>>2,r=e[i+4>>2]|0,r|0&&((J[r+36>>0]|0)<<8&65535)<512&&!(_2[e[(e[i>>2]|0)+48>>2]&127](i,t)|0))?(y=0,U=n,y|0):(y=1,U=n,y|0)}function yt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;t=U,U=U+32|0,n=t+24|0,f=t+16|0,l=t+8|0,o=t,e[i>>2]=3316,e[i+4>>2]=e[r+4>>2],A=i+8|0,u=r+8|0,e[A>>2]=0,s=i+12|0,e[s>>2]=0,_=i+16|0,e[_>>2]=0,h=r+12|0,k=e[h>>2]|0;do if(k|0)if((k|0)<0)W0(A);else{b=((k+-1|0)>>>5)+1|0,p=v0(b<<2)|0,e[A>>2]=p,e[s>>2]=0,e[_>>2]=b,b=e[u>>2]|0,e[l>>2]=b,e[l+4>>2]=0,p=e[h>>2]|0,e[o>>2]=b+(p>>>5<<2),e[o+4>>2]=p&31,e[f>>2]=e[l>>2],e[f+4>>2]=e[l+4>>2],e[n>>2]=e[o>>2],e[n+4>>2]=e[o+4>>2],j1(A,f,n);break}while(0);if(A=i+20|0,e[A>>2]=0,h=i+24|0,e[h>>2]=0,u=i+28|0,e[u>>2]=0,i=r+24|0,_=e[i>>2]|0,!_){U=t;return}(_|0)<0&&W0(A),s=((_+-1|0)>>>5)+1|0,_=v0(s<<2)|0,e[A>>2]=_,e[h>>2]=0,e[u>>2]=s,s=e[r+20>>2]|0,e[l>>2]=s,e[l+4>>2]=0,r=e[i>>2]|0,e[o>>2]=s+(r>>>5<<2),e[o+4>>2]=r&31,e[f>>2]=e[l>>2],e[f+4>>2]=e[l+4>>2],e[n>>2]=e[o>>2],e[n+4>>2]=e[o+4>>2],j1(A,f,n),U=t}function lu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;t=U,U=U+32|0,n=t+12|0,f=t,l=r*3|0,e[n>>2]=0,o=n+4|0,e[o>>2]=0,A=n+8|0,e[A>>2]=0;do if(l)if(l>>>0>1073741823)W0(n);else{u=r*12|0,s=v0(u)|0,e[n>>2]=s,_=s+(l<<2)|0,e[A>>2]=_,E0(s|0,0,u|0)|0,e[o>>2]=_,h=s;break}else h=0;while(0);if(Mr(l,1,e[i+32>>2]|0,h)|0)if(!r)k=1;else for(h=i+44|0,i=f+4|0,l=f+8|0,A=0,s=0,_=0;;)if(e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,u=e[n>>2]|0,b=e[u+(s<<2)>>2]|0,p=b>>>1,w=((b&1|0)==0?p:0-p|0)+_|0,e[f>>2]=w,p=e[u+(s+1<<2)>>2]|0,b=p>>>1,d=((p&1|0)==0?b:0-b|0)+w|0,e[i>>2]=d,w=e[u+(s+2<<2)>>2]|0,u=w>>>1,_=((w&1|0)==0?u:0-u|0)+d|0,e[l>>2]=_,d=e[h>>2]|0,u=d+100|0,w=e[u>>2]|0,(w|0)==(e[d+104>>2]|0)?wi(d+96|0,f):(e[w>>2]=e[f>>2],e[w+4>>2]=e[f+4>>2],e[w+8>>2]=e[f+8>>2],e[u>>2]=(e[u>>2]|0)+12),A=A+1|0,A>>>0>=r>>>0){k=1;break}else s=s+3|0;else k=0;return s=e[n>>2]|0,s?(e[o>>2]=s,Y(s),U=t,k|0):(U=t,k|0)}function ct(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;t=U,U=U+32|0,n=t+24|0,f=t+16|0,l=t+8|0,o=t,e[i>>2]=3364,e[i+4>>2]=e[r+4>>2],A=i+8|0,u=r+8|0,e[A>>2]=0,s=i+12|0,e[s>>2]=0,_=i+16|0,e[_>>2]=0,h=r+12|0,k=e[h>>2]|0;do if(k|0)if((k|0)<0)W0(A);else{b=((k+-1|0)>>>5)+1|0,p=v0(b<<2)|0,e[A>>2]=p,e[s>>2]=0,e[_>>2]=b,b=e[u>>2]|0,e[l>>2]=b,e[l+4>>2]=0,p=e[h>>2]|0,e[o>>2]=b+(p>>>5<<2),e[o+4>>2]=p&31,e[f>>2]=e[l>>2],e[f+4>>2]=e[l+4>>2],e[n>>2]=e[o>>2],e[n+4>>2]=e[o+4>>2],j1(A,f,n);break}while(0);if(A=i+20|0,e[A>>2]=0,h=i+24|0,e[h>>2]=0,u=i+28|0,e[u>>2]=0,i=r+24|0,_=e[i>>2]|0,!_){U=t;return}(_|0)<0&&W0(A),s=((_+-1|0)>>>5)+1|0,_=v0(s<<2)|0,e[A>>2]=_,e[h>>2]=0,e[u>>2]=s,s=e[r+20>>2]|0,e[l>>2]=s,e[l+4>>2]=0,r=e[i>>2]|0,e[o>>2]=s+(r>>>5<<2),e[o+4>>2]=r&31,e[f>>2]=e[l>>2],e[f+4>>2]=e[l+4>>2],e[n>>2]=e[o>>2],e[n+4>>2]=e[o+4>>2],j1(A,f,n),U=t}function Rt(i){i=i|0;var r=0,t=0;if(e[i>>2]=3456,J3(i+232|0),zr(i+216|0),r=e[i+196>>2]|0,r|0&&(e[i+200>>2]=r,Y(r)),r=e[i+184>>2]|0,r|0&&(e[i+188>>2]=r,Y(r)),r=e[i+172>>2]|0,r|0&&(e[i+176>>2]=r,Y(r)),r=e[i+160>>2]|0,r|0&&(e[i+164>>2]=r,Y(r)),r=e[i+144>>2]|0,r|0){t=r;do r=t,t=e[t>>2]|0,Y(r);while((t|0)!=0)}t=i+136|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&Y(r),r=e[i+120>>2]|0,r|0&&Y(r),r=e[i+108>>2]|0,r|0&&Y(r),r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+60>>2]|0,r|0&&Y(r),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+36>>2]|0,r|0&&(e[i+40>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=i+8|0,i=e[r>>2]|0,e[r>>2]=0,i&&(r=e[i+76>>2]|0,r|0&&(e[i+80>>2]=r,Y(r)),r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=e[i>>2]|0,r|0&&(e[i+4>>2]=r,Y(r)),Y(i))}function Au(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;f=U,U=U+80|0,l=f,o=f+60|0,A=f+40|0,u=l,s=t,_=u+40|0;do e[u>>2]=e[s>>2],u=u+4|0,s=s+4|0;while((u|0)<(_|0));if(F1(i,l,o),e[i>>2]|0){U=f;return}if(l=i+4|0,h=l+11|0,(j[h>>0]|0)<0&&Y(e[l>>2]|0),j[o+7>>0]|0){e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,k=v0(32)|0,e[A>>2]=k,e[A+8>>2]=-2147483616,e[A+4>>2]=27,u=k,s=11903,_=u+27|0;do j[u>>0]=j[s>>0]|0,u=u+1|0,s=s+1|0;while((u|0)<(_|0));j[k+27>>0]=0,e[i>>2]=-1,c2(l,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=f;return}Hu(A,j[o+8>>0]|0),o=e[A>>2]|0,o?(e[i>>2]=o,c2(l,A+4|0)):(k=A+16|0,s=e[k>>2]|0,e[k>>2]=0,$4(i,s,r,t,n),e[i>>2]|0||((j[h>>0]|0)<0&&Y(e[l>>2]|0),e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0),s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s)),l=A+16|0,o=e[l>>2]|0,e[l>>2]=0,o|0&&l2[e[(e[o>>2]|0)+4>>2]&127](o),o=A+4|0,(j[o+11>>0]|0)<0&&Y(e[o>>2]|0),U=f}function su(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;n=U,U=U+16|0,f=n,l=r+24|0,o=j[l>>0]|0,A=o<<24>>24,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(o<<24>>24)if(o<<24>>24<0)W0(f);else{_=A<<1,h=v0(_)|0,e[f>>2]=h,k=h+(A<<1)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,k=A<<1,_=v0(k)|0,E0(_|0,0,k|0)|0,b=_,p=_,w=h,d=h;break}else b=0,p=0,w=0,d=0;while(0);if(A=r+80|0,e[A>>2]|0)for(s=r+48|0,f=r+40|0,o=r+64|0,h=i+48|0,i=0,_=d;;){if(k=s,m=e[k>>2]|0,c=e[k+4>>2]|0,k=f,y=e[k>>2]|0,V=Y0(y|0,e[k+4>>2]|0,i|0,0)|0,k=i0(V|0,H|0,m|0,c|0)|0,S0(_|0,(e[e[r>>2]>>2]|0)+k|0,y|0)|0,y=j[l>>0]|0,y<<24>>24>0){k=e[h>>2]|0,c=y<<24>>24,y=0;do P0[p+(y<<1)>>1]=(e[k+(y+t<<2)>>2]|0)+(b2[w+(y<<1)>>1]|0),y=y+1|0;while((y|0)<(c|0));v=d}else v=_;if(c=e[f>>2]|0,S0((e[e[o>>2]>>2]|0)+(Z0(i,c)|0)|0,p|0,c|0)|0,i=i+1|0,i>>>0>=(e[A>>2]|0)>>>0)break;_=v}return b|0&&Y(p),w?(e[u>>2]=w,Y(d),U=n,1):(U=n,1)}function ou(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;n=U,U=U+16|0,f=n,l=r+24|0,o=j[l>>0]|0,A=o<<24>>24,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(o<<24>>24)if(o<<24>>24<0)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,k=A<<2,_=v0(k)|0,E0(_|0,0,k|0)|0,b=_,p=_,w=h,d=h;break}else b=0,p=0,w=0,d=0;while(0);if(A=r+80|0,e[A>>2]|0)for(s=r+48|0,f=r+40|0,o=r+64|0,h=i+48|0,i=0,_=d;;){if(k=s,m=e[k>>2]|0,c=e[k+4>>2]|0,k=f,y=e[k>>2]|0,V=Y0(y|0,e[k+4>>2]|0,i|0,0)|0,k=i0(V|0,H|0,m|0,c|0)|0,S0(_|0,(e[e[r>>2]>>2]|0)+k|0,y|0)|0,y=j[l>>0]|0,y<<24>>24>0){k=e[h>>2]|0,c=y<<24>>24,y=0;do e[p+(y<<2)>>2]=(e[k+(y+t<<2)>>2]|0)+(e[w+(y<<2)>>2]|0),y=y+1|0;while((y|0)<(c|0));v=d}else v=_;if(c=e[f>>2]|0,S0((e[e[o>>2]>>2]|0)+(Z0(i,c)|0)|0,p|0,c|0)|0,i=i+1|0,i>>>0>=(e[A>>2]|0)>>>0)break;_=v}return b|0&&Y(p),w?(e[u>>2]=w,Y(d),U=n,1):(U=n,1)}function uu(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;return r=j[(e[i+8>>2]|0)+24>>0]|0,t=B2(r>>>0>1073741823?-1:r<<2)|0,n=i+28|0,f=e[n>>2]|0,e[n>>2]=t,f|0&&i2(f),f=i+4|0,t=e[(e[f>>2]|0)+32>>2]|0,l=r<<2,r=t+8|0,o=e[r>>2]|0,A=e[r+4>>2]|0,r=t+16|0,u=r,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,l|0,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0||(S0(e[n>>2]|0,(e[t>>2]|0)+s|0,l|0)|0,s=r,t=i0(e[s>>2]|0,e[s+4>>2]|0,l|0,0)|0,l=r,e[l>>2]=t,e[l+4>>2]=H,l=(e[f>>2]|0)+32|0,f=e[l>>2]|0,t=f+8|0,r=e[t>>2]|0,s=e[t+4>>2]|0,t=f+16|0,n=t,_=e[n>>2]|0,o=i0(_|0,e[n+4>>2]|0,4,0)|0,n=H,(s|0)<(n|0)|(s|0)==(n|0)&r>>>0<o>>>0)||(o=i+32|0,r=(e[f>>2]|0)+_|0,_=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,j[o>>0]=_,j[o+1>>0]=_>>8,j[o+2>>0]=_>>16,j[o+3>>0]=_>>24,_=t,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=t,e[_>>2]=o,e[_+4>>2]=H,_=e[l>>2]|0,l=_+8|0,o=e[l+4>>2]|0,t=_+16|0,r=t,f=e[r>>2]|0,n=e[r+4>>2]|0,!((o|0)>(n|0)|((o|0)==(n|0)?(e[l>>2]|0)>>>0>f>>>0:0)))||(l=j[(e[_>>2]|0)+f>>0]|0,_=i0(f|0,n|0,1,0)|0,n=t,e[n>>2]=_,e[n+4>>2]=H,(l&255)>31)?(h=0,h|0):(e[i+24>>2]=l&255,h=1,h|0)}function Xe(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;t=U,U=U+16|0,n=t,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=r,r3(i+16|0),n2(i+528|0),Qe(i+544|0),Qe(i+564|0),Qe(i+584|0),f=i+604|0,e[f>>2]=0,l=i+608|0,e[l>>2]=0,o=i+612|0,e[o>>2]=0,A=(r|0)==0;do if(!A)if(r>>>0>1073741823)W0(f);else{u=r<<2,s=v0(u)|0,e[f>>2]=s,_=s+(r<<2)|0,e[o>>2]=_,E0(s|0,0,u|0)|0,e[l>>2]=_;break}while(0);if(l=i+616|0,e[l>>2]=0,o=i+620|0,e[o>>2]=0,f=i+624|0,e[f>>2]=0,A||(_=r<<2,u=v0(_)|0,e[l>>2]=u,l=u+(r<<2)|0,e[f>>2]=l,E0(u|0,0,_|0)|0,e[o>>2]=l),l=r<<5|1,e[n>>2]=0,o=n+4|0,e[o>>2]=0,_=n+8|0,e[_>>2]=0,A||(u=r<<2,f=v0(u)|0,e[n>>2]=f,s=f+(r<<2)|0,e[_>>2]=s,E0(f|0,0,u|0)|0,e[o>>2]=s),Ci(i+628|0,l,n),s=e[n>>2]|0,s|0&&(e[o>>2]=s,Y(s)),e[n>>2]=0,s=n+4|0,e[s>>2]=0,o=n+8|0,e[o>>2]=0,A||(A=r<<2,u=v0(A)|0,e[n>>2]=u,f=u+(r<<2)|0,e[o>>2]=f,E0(u|0,0,A|0)|0,e[s>>2]=f),Ci(i+640|0,l,n),l=e[n>>2]|0,!l){U=t;return}e[s>>2]=l,Y(l),U=t}function _u(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;f=U,U=U+80|0,l=f,o=f+60|0,A=f+40|0,u=l,s=t,_=u+40|0;do e[u>>2]=e[s>>2],u=u+4|0,s=s+4|0;while((u|0)<(_|0));if(F1(i,l,o),e[i>>2]|0){U=f;return}if(l=i+4|0,h=l+11|0,(j[h>>0]|0)<0&&Y(e[l>>2]|0),(j[o+7>>0]|0)!=1){e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,k=v0(32)|0,e[A>>2]=k,e[A+8>>2]=-2147483616,e[A+4>>2]=20,u=k,s=11882,_=u+20|0;do j[u>>0]=j[s>>0]|0,u=u+1|0,s=s+1|0;while((u|0)<(_|0));j[k+20>>0]=0,e[i>>2]=-1,c2(l,A),(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),U=f;return}f3(A,j[o+8>>0]|0),o=e[A>>2]|0,o?(e[i>>2]=o,c2(l,A+4|0)):(k=A+16|0,s=e[k>>2]|0,e[k>>2]=0,v6(i,s,r,t,n),e[i>>2]|0||((j[h>>0]|0)<0&&Y(e[l>>2]|0),e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0),s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s)),l=A+16|0,o=e[l>>2]|0,e[l>>2]=0,o|0&&l2[e[(e[o>>2]|0)+4>>2]&127](o),o=A+4|0,(j[o+11>>0]|0)<0&&Y(e[o>>2]|0),U=f}function Gt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0)return s=0,s|0;_=e[r>>2]|0,h=_+o|0,k=J[h>>0]|J[h+1>>0]<<8|J[h+2>>0]<<16|J[h+3>>0]<<24,h=t,e[h>>2]=l,e[h+4>>2]=u,h=(b2[r+38>>1]|0)<514;do if(h){if(b=i0(o|0,A|0,8,0)|0,p=H,(f|0)<(p|0)|(f|0)==(p|0)&n>>>0<b>>>0)return s=0,s|0;w=t,e[w>>2]=b,e[w+4>>2]=p,d=p,m=b;break}else d=u,m=l;while(0);if(!(k&1)||(l=(N2(k|0)|0)^31,(l+-1|0)>>>0>28))return s=0,s|0;if(e[i+8>>2]=l+1,k=2<<l,e[i+12>>2]=k+-1,l=k+-2|0,e[i+16>>2]=l,e[i+20>>2]=(l|0)/2|0,h){e:do if((f|0)>(d|0)|(f|0)==(d|0)&n>>>0>m>>>0)switch(h=j[_+m>>0]|0,l=i0(m|0,d|0,1,0)|0,k=t,e[k>>2]=l,e[k+4>>2]=H,h<<24>>24){case 0:{c=0;break e}case 1:{c=1;break e}default:return s=0,s|0}else c=0;while(0);e[i+68>>2]=c}return s=f2(i+88|0,r)|0,s|0}function Vt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0;t=i+4|0,n=e[t>>2]|0,f=n,l=e[i>>2]|0,o=l;do if((n|0)==(l|0)){if(A=i+8|0,u=e[A>>2]|0,s=i+12|0,_=e[s>>2]|0,h=_,u>>>0<_>>>0){_=u,k=((h-_>>2)+1|0)/2|0,b=u+(k<<2)|0,p=_-f|0,_=b+(0-(p>>2)<<2)|0,p?(q2(_|0,n|0,p|0)|0,w=_,d=(e[A>>2]|0)+(k<<2)|0):(w=b,d=b),e[t>>2]=w,e[A>>2]=d,m=w;break}k=h-o|0,h=(k|0)==0?1:k>>1,k=(h+3|0)>>>2;do if(h)if(h>>>0>1073741823)_=T2(8)|0,F2(_,13552),e[_>>2]=4908,U2(_|0,1128,105);else{c=v0(h<<2)|0;break}else c=0;while(0);if(_=c,p=c+(k<<2)|0,b=p,y=c+(h<<2)|0,(n|0)==(u|0))V=b,v=n;else{for(T=((u+-4-f|0)>>>2)+k+1|0,R=p,N=n;e[R>>2]=e[N>>2],N=N+4|0,(N|0)!=(u|0);)R=R+4|0;V=c+(T<<2)|0,v=e[i>>2]|0}e[i>>2]=_,e[t>>2]=b,e[A>>2]=V,e[s>>2]=y,v?(Y(v),m=e[t>>2]|0):m=p}else m=n;while(0);e[m+-4>>2]=e[r>>2],e[t>>2]=(e[t>>2]|0)+-4}function Fi(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;t=U,U=U+16|0,n=t,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=r,Qe(i+16|0),Qe(i+36|0),Qe(i+56|0),Qe(i+76|0),f=i+96|0,e[f>>2]=0,l=i+100|0,e[l>>2]=0,o=i+104|0,e[o>>2]=0,A=(r|0)==0;do if(!A)if(r>>>0>1073741823)W0(f);else{u=r<<2,s=v0(u)|0,e[f>>2]=s,_=s+(r<<2)|0,e[o>>2]=_,E0(s|0,0,u|0)|0,e[l>>2]=_;break}while(0);if(l=i+108|0,e[l>>2]=0,o=i+112|0,e[o>>2]=0,f=i+116|0,e[f>>2]=0,A||(_=r<<2,u=v0(_)|0,e[l>>2]=u,l=u+(r<<2)|0,e[f>>2]=l,E0(u|0,0,_|0)|0,e[o>>2]=l),l=r<<5|1,e[n>>2]=0,o=n+4|0,e[o>>2]=0,_=n+8|0,e[_>>2]=0,A||(u=r<<2,f=v0(u)|0,e[n>>2]=f,s=f+(r<<2)|0,e[_>>2]=s,E0(f|0,0,u|0)|0,e[o>>2]=s),Ci(i+120|0,l,n),s=e[n>>2]|0,s|0&&(e[o>>2]=s,Y(s)),e[n>>2]=0,s=n+4|0,e[s>>2]=0,o=n+8|0,e[o>>2]=0,A||(A=r<<2,u=v0(A)|0,e[n>>2]=u,f=u+(r<<2)|0,e[o>>2]=f,E0(u|0,0,A|0)|0,e[s>>2]=f),Ci(i+132|0,l,n),l=e[n>>2]|0,!l){U=t;return}e[s>>2]=l,Y(l),U=t}function Ei(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;t=U,U=U+16|0,n=t,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=r,n2(i+16|0),Qe(i+32|0),Qe(i+52|0),Qe(i+72|0),f=i+92|0,e[f>>2]=0,l=i+96|0,e[l>>2]=0,o=i+100|0,e[o>>2]=0,A=(r|0)==0;do if(!A)if(r>>>0>1073741823)W0(f);else{u=r<<2,s=v0(u)|0,e[f>>2]=s,_=s+(r<<2)|0,e[o>>2]=_,E0(s|0,0,u|0)|0,e[l>>2]=_;break}while(0);if(l=i+104|0,e[l>>2]=0,o=i+108|0,e[o>>2]=0,f=i+112|0,e[f>>2]=0,A||(_=r<<2,u=v0(_)|0,e[l>>2]=u,l=u+(r<<2)|0,e[f>>2]=l,E0(u|0,0,_|0)|0,e[o>>2]=l),l=r<<5|1,e[n>>2]=0,o=n+4|0,e[o>>2]=0,_=n+8|0,e[_>>2]=0,A||(u=r<<2,f=v0(u)|0,e[n>>2]=f,s=f+(r<<2)|0,e[_>>2]=s,E0(f|0,0,u|0)|0,e[o>>2]=s),Ci(i+116|0,l,n),s=e[n>>2]|0,s|0&&(e[o>>2]=s,Y(s)),e[n>>2]=0,s=n+4|0,e[s>>2]=0,o=n+8|0,e[o>>2]=0,A||(A=r<<2,u=v0(A)|0,e[n>>2]=u,f=u+(r<<2)|0,e[o>>2]=f,E0(u|0,0,A|0)|0,e[s>>2]=f),Ci(i+128|0,l,n),l=e[n>>2]|0,!l){U=t;return}e[s>>2]=l,Y(l),U=t}function j1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(n=U,U=U+48|0,f=n+40|0,l=n+32|0,o=n+8|0,A=n,u=n+24|0,s=n+16|0,_=i+4|0,h=e[_>>2]|0,k=r,r=e[k>>2]|0,b=e[k+4>>2]|0,k=t,t=e[k>>2]|0,p=e[k+4>>2]|0,k=t-r<<3,e[_>>2]=h-b+p+k,_=(e[i>>2]|0)+(h>>>5<<2)|0,i=h&31,h=_,(i|0)!=(b|0)){w=o,e[w>>2]=r,e[w+4>>2]=b,w=A,e[w>>2]=t,e[w+4>>2]=p,e[u>>2]=h,e[u+4>>2]=i,e[l>>2]=e[o>>2],e[l+4>>2]=e[o+4>>2],e[f>>2]=e[A>>2],e[f+4>>2]=e[A+4>>2],Vo(s,l,f,u),U=n;return}u=p-b+k|0,k=r,(u|0)>0?(b?(r=32-b|0,p=(u|0)<(r|0)?u:r,f=-1>>>(r-p|0)&-1<<b,e[_>>2]=e[_>>2]&~f|e[k>>2]&f,f=p+b|0,d=u-p|0,m=f&31,c=_+(f>>>5<<2)|0,y=k+4|0):(d=u,m=0,c=_,y=k),k=(d|0)/32|0,q2(c|0,y|0,k<<2|0)|0,f=d-(k<<5)|0,d=c+(k<<2)|0,c=d,(f|0)>0?(_=-1>>>(32-f|0),e[d>>2]=e[d>>2]&~_|e[y+(k<<2)>>2]&_,V=f,v=c):(V=m,v=c)):(V=b,v=h),e[s>>2]=v,e[s+4>>2]=V,U=n}function ku(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(t=e[i+8>>2]|0,n=i+76|0,f=e[n>>2]|0,l=e[f+80>>2]|0,j[r+84>>0]=0,o=r+68|0,A=r+72|0,u=e[o>>2]|0,s=(e[A>>2]|0)-u>>2,l>>>0<=s>>>0?l>>>0<s>>>0?(e[A>>2]=u+(l<<2),_=f,h=l):(_=f,h=l):(z2(o,l-s|0,3328),s=e[n>>2]|0,_=s,h=e[s+80>>2]|0),s=e[_+96>>2]|0,n=(e[_+100>>2]|0)-s|0,_=(n|0)/12|0,l=s,!n)return k=1,k|0;for(n=i+80|0,i=r+68|0,r=e[t+28>>2]|0,t=0;;){if(s=t*3|0,o=e[r+(s<<2)>>2]|0,(o|0)==-1){k=0,b=10;break}if(f=e[(e[n>>2]|0)+12>>2]|0,u=e[f+(o<<2)>>2]|0,u>>>0>=h>>>0){k=0,b=10;break}if(o=e[i>>2]|0,e[o+(e[l+(t*12|0)>>2]<<2)>>2]=u,u=e[r+(s+1<<2)>>2]|0,(u|0)==-1){k=0,b=10;break}if(A=e[f+(u<<2)>>2]|0,A>>>0>=h>>>0){k=0,b=10;break}if(e[o+(e[l+(t*12|0)+4>>2]<<2)>>2]=A,A=e[r+(s+2<<2)>>2]|0,(A|0)==-1){k=0,b=10;break}if(s=e[f+(A<<2)>>2]|0,s>>>0>=h>>>0){k=0,b=10;break}if(e[o+(e[l+(t*12|0)+8>>2]<<2)>>2]=s,t=t+1|0,t>>>0>=_>>>0){k=1,b=10;break}}return(b|0)==10?k|0:0}function hu(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0;o=U,U=U+32|0,A=o+16|0,u=o,s=e[(e[(e[r+4>>2]|0)+8>>2]|0)+(n<<2)>>2]|0;do if((t+-1|0)>>>0<6&(K0[e[(e[r>>2]|0)+8>>2]&127](r)|0)==1){if(_=K0[e[(e[r>>2]|0)+36>>2]&127](r)|0,h=_2[e[(e[r>>2]|0)+44>>2]&127](r,n)|0,(_|0)==0|(h|0)==0){e[i>>2]=0,U=o;return}if(k=_2[e[(e[r>>2]|0)+40>>2]&127](r,n)|0,k){if(e[u>>2]=e[r+44>>2],e[u+4>>2]=k,e[u+12>>2]=h,e[u+8>>2]=h+12,G8(i,A,t,s,f,u,l),!(e[i>>2]|0)){e[i>>2]=0;break}U=o;return}else{if(e[u>>2]=e[r+44>>2],e[u+4>>2]=_,e[u+12>>2]=h,e[u+8>>2]=h+12,V8(i,A,t,s,f,u,l),!(e[i>>2]|0)){e[i>>2]=0;break}U=o;return}}while(0);e[i>>2]=0,U=o}function A1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(I8(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=ko(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<4194304)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=4194304){w=m;break}else p=m}else w=k;while(0);if(p=w&1048575,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>20)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function bu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(W8(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=ho(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<2097152)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=2097152){w=m;break}else p=m}else w=k;while(0);if(p=w&524287,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>19)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function pu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if($s(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=bo(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<1048576)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=1048576){w=m;break}else p=m}else w=k;while(0);if(p=w&262143,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>18)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function wu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(gs(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=po(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<262144)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=262144){w=m;break}else p=m}else w=k;while(0);if(p=w&65535,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>16)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function du(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(eo(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=wo(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<131072)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=131072){w=m;break}else p=m}else w=k;while(0);if(p=w&32767,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>15)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function mu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(Z8(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=mo(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<32768)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=32768){w=m;break}else p=m}else w=k;while(0);if(p=w&8191,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>13)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function ri(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+64|0,f=n,l=f,o=l+52|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));do if(xt(f,r)|0){if(l=(i|0)==0,!l&&(e[f+12>>2]|0)==0){A=0;break}if(o=tt(f,r)|0,l|o^1)A=o;else for(o=f+44|0,l=f+48|0,u=f+40|0,s=f+16|0,_=f+28|0,h=0,k=e[l>>2]|0;;){e:do if(k>>>0<16384)for(b=e[o>>2]|0,p=k;;){if((b|0)<=0){w=p;break e}if(d=e[u>>2]|0,b=b+-1|0,e[o>>2]=b,m=p<<8|(J[d+b>>0]|0),e[l>>2]=m,m>>>0>=16384){w=m;break}else p=m}else w=k;while(0);if(p=w&4095,b=e[(e[s>>2]|0)+(p<<2)>>2]|0,m=e[_>>2]|0,k=(Z0(e[m+(b<<3)>>2]|0,w>>>12)|0)+p-(e[m+(b<<3)+4>>2]|0)|0,e[l>>2]=k,e[t+(h<<2)>>2]=b,h=h+1|0,(h|0)==(i|0)){A=1;break}}}else A=0;while(0);return i=e[f+28>>2]|0,i|0&&(e[f+32>>2]=i,Y(i)),i=e[f+16>>2]|0,i|0&&(e[f+20>>2]=i,Y(i)),i=e[f>>2]|0,i?(e[f+4>>2]=i,Y(i),U=n,A|0):(U=n,A|0)}function Ii(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if(e[i+4>>2]=e[r+4>>2],t=i+8|0,n=r+8|0,(i|0)==(r|0))return i|0;if(f=r+12|0,l=e[f>>2]|0,!l)o=0;else{A=i+16|0;do if(l>>>0>e[A>>2]<<5>>>0)if(u=e[t>>2]|0,u?(Y(u),e[t>>2]=0,e[A>>2]=0,e[i+12>>2]=0,s=e[f>>2]|0):s=l,(s|0)<0)W0(t);else{u=((s+-1|0)>>>5)+1|0,_=v0(u<<2)|0,e[t>>2]=_,e[i+12>>2]=0,e[A>>2]=u,h=e[f>>2]|0,k=_;break}else h=l,k=e[t>>2]|0;while(0);q2(k|0,e[n>>2]|0,((h+-1|0)>>>5<<2)+4|0)|0,o=e[f>>2]|0}if(e[i+12>>2]=o,o=i+20|0,f=r+20|0,h=r+24|0,r=e[h>>2]|0,!r)b=0;else{n=i+28|0;do if(r>>>0>e[n>>2]<<5>>>0)if(k=e[o>>2]|0,k?(Y(k),e[o>>2]=0,e[n>>2]=0,e[i+24>>2]=0,p=e[h>>2]|0):p=r,(p|0)<0)W0(o);else{k=((p+-1|0)>>>5)+1|0,t=v0(k<<2)|0,e[o>>2]=t,e[i+24>>2]=0,e[n>>2]=k,w=e[h>>2]|0,d=t;break}else w=r,d=e[o>>2]|0;while(0);q2(d|0,e[f>>2]|0,((w+-1|0)>>>5<<2)+4|0)|0,b=e[h>>2]|0}return e[i+24>>2]=b,i|0}function vu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,o=l,((n-l|0)/12|0)>>>0>=r>>>0){E0(l|0,0,r*12|0)|0,e[f>>2]=o+(r*12|0);return}A=e[i>>2]|0,u=(l-A|0)/12|0,l=u+r|0,s=A,l>>>0>357913941&&W0(i),_=(n-A|0)/12|0,n=_<<1,h=_>>>0<178956970?n>>>0<l>>>0?l:n:357913941;do if(h)if(h>>>0>357913941)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{k=v0(h*12|0)|0;break}else k=0;while(0);if(n=k+(u*12|0)|0,u=k+(h*12|0)|0,E0(n|0,0,r*12|0)|0,h=n+(r*12|0)|0,(o|0)==(s|0))b=n,p=s,w=o,d=A;else{A=o,o=n;do n=o,o=o+-12|0,r=A,A=A+-12|0,e[o>>2]=0,k=n+-8|0,e[k>>2]=0,l=n+-4|0,e[l>>2]=0,e[o>>2]=e[A>>2],n=r+-8|0,e[k>>2]=e[n>>2],k=r+-4|0,e[l>>2]=e[k>>2],e[k>>2]=0,e[n>>2]=0,e[A>>2]=0;while((A|0)!=(s|0));s=e[i>>2]|0,b=o,p=s,w=e[f>>2]|0,d=s}if(e[i>>2]=b,e[f>>2]=h,e[t>>2]=u,(w|0)!=(p|0)){u=w;do w=u,u=u+-12|0,t=e[u>>2]|0,t|0&&(e[w+-8>>2]=t,Y(t));while((u|0)!=(p|0))}!d||Y(d)}function yu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(e[r>>2]=1,t=i+4|0,n=r+8|0,f=r+12|0,r=e[n>>2]|0,l=(e[f>>2]|0)-r|0,l>>>0<4294967292?(I1(n,l+4|0,0),o=e[n>>2]|0):o=r,r=o+l|0,l=J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,j[r>>0]=l,j[r+1>>0]=l>>8,j[r+2>>0]=l>>16,j[r+3>>0]=l>>24,l=i+8|0,r=i+12|0,t=e[l>>2]|0,(e[r>>2]|0)!=(t|0)){o=0,A=t;do t=A+(o<<2)|0,u=e[n>>2]|0,s=(e[f>>2]|0)-u|0,s>>>0<4294967292?(I1(n,s+4|0,0),_=e[n>>2]|0):_=u,u=_+s|0,s=J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,j[u>>0]=s,j[u+1>>0]=s>>8,j[u+2>>0]=s>>16,j[u+3>>0]=s>>24,o=o+1|0,A=e[l>>2]|0;while(o>>>0<(e[r>>2]|0)-A>>2>>>0)}if(A=i+20|0,i=e[n>>2]|0,r=(e[f>>2]|0)-i|0,r>>>0<4294967292){I1(n,r+4|0,0),h=e[n>>2]|0,k=h+r|0,b=J[A>>0]|J[A+1>>0]<<8|J[A+2>>0]<<16|J[A+3>>0]<<24,j[k>>0]=b,j[k+1>>0]=b>>8,j[k+2>>0]=b>>16,j[k+3>>0]=b>>24;return}else{h=i,k=h+r|0,b=J[A>>0]|J[A+1>>0]<<8|J[A+2>>0]<<16|J[A+3>>0]<<24,j[k>>0]=b,j[k+1>>0]=b>>8,j[k+2>>0]=b>>16,j[k+3>>0]=b>>24;return}}function jt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0;t=i+8|0,n=e[t>>2]|0,f=i+12|0,l=e[f>>2]|0,o=l;do if((n|0)==(l|0)){if(A=i+4|0,u=e[A>>2]|0,s=u,_=e[i>>2]|0,h=_,u>>>0>_>>>0){k=((s-h>>2)+1|0)/-2|0,b=u+(k<<2)|0,p=n-s|0,p?(q2(b|0,u|0,p|0)|0,w=(e[A>>2]|0)+(k<<2)|0):w=b,k=b+(p>>2<<2)|0,e[t>>2]=k,e[A>>2]=w,d=k;break}k=o-h|0,h=(k|0)==0?1:k>>1,k=h>>>2;do if(h)if(h>>>0>1073741823)p=T2(8)|0,F2(p,13552),e[p>>2]=4908,U2(p|0,1128,105);else{m=v0(h<<2)|0;break}else m=0;while(0);if(p=m,b=m+(k<<2)|0,c=b,y=m+(h<<2)|0,(u|0)==(n|0))V=c,v=_;else{for(T=k+((n+-4-s|0)>>>2)+1|0,R=b,b=u;e[R>>2]=e[b>>2],b=b+4|0,(b|0)!=(n|0);)R=R+4|0;V=m+(T<<2)|0,v=e[i>>2]|0}e[i>>2]=p,e[A>>2]=c,e[t>>2]=V,e[f>>2]=y,v?(Y(v),d=e[t>>2]|0):d=V}else d=n;while(0);e[d>>2]=e[r>>2],e[t>>2]=(e[t>>2]|0)+4}function pr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(n=i+4|0,f=e[n>>2]|0,!f)return e[r>>2]=n,l=n,l|0;for(n=j[t+11>>0]|0,o=n<<24>>24<0,A=o?e[t+4>>2]|0:n&255,n=o?e[t>>2]|0:t,t=i+4|0,i=f;;){if(f=i+16|0,o=j[f+11>>0]|0,u=o<<24>>24<0,s=u?e[i+20>>2]|0:o&255,o=s>>>0<A>>>0,_=o?s:A,h=(_|0)==0,!h&&(k=u?e[f>>2]|0:f,b=E2(n,k,_)|0,(b|0)!=0)?(b|0)<0?p=7:(w=k,p=11):A>>>0>=s>>>0?h?p=12:(w=u?e[f>>2]|0:f,p=11):p=7,(p|0)==7)if(p=0,f=e[i>>2]|0,f)d=i,m=f;else{p=8;break}else if((p|0)==11)if(p=0,f=E2(w,n,_)|0,f)if((f|0)<0)p=14;else{p=16;break}else p=12;if((p|0)==12)if(p=0,o)p=14;else{p=16;break}if((p|0)==14)if(p=0,c=i+4|0,o=e[c>>2]|0,o)d=c,m=o;else{p=15;break}t=d,i=m}return(p|0)==8?(e[r>>2]=i,l=i,l|0):(p|0)==15?(e[r>>2]=i,l=c,l|0):(p|0)==16?(e[r>>2]=i,l=t,l|0):0}function cu(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(r=U,U=U+16|0,t=r+4|0,n=r,f=i+8|0,l=e[f>>2]|0,Q2(e[i+4>>2]|0,(e[l+56>>2]|0)-(e[l+52>>2]|0)>>2),l=i+84|0,i=e[l>>2]|0,i){if(o=e[i>>2]|0,(e[i+4>>2]|0)==(o|0))return u=1,U=r,u|0;for(i=0,A=o;;){if(e[n>>2]=e[A+(i<<2)>>2],e[t>>2]=e[n>>2],i=i+1|0,!(Jt(f,t)|0)){u=0,s=10;break}if(o=e[l>>2]|0,A=e[o>>2]|0,i>>>0>=(e[o+4>>2]|0)-A>>2>>>0){u=1,s=10;break}}if((s|0)==10)return U=r,u|0}else{if(o=e[(e[f>>2]|0)+64>>2]|0,A=(e[o+4>>2]|0)-(e[o>>2]|0)>>2,o=(A>>>0)/3|0,A>>>0<=2)return u=1,U=r,u|0;for(A=0;;){if(e[n>>2]=A*3,e[t>>2]=e[n>>2],A=A+1|0,!(Jt(f,t)|0)){u=0,s=10;break}if(A>>>0>=o>>>0){u=1,s=10;break}}if((s|0)==10)return U=r,u|0}return 0}function Nt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0||(_=e[r>>2]|0,h=_+o|0,k=J[h>>0]|J[h+1>>0]<<8|J[h+2>>0]<<16|J[h+3>>0]<<24,h=t,e[h>>2]=l,e[h+4>>2]=u,u=i0(o|0,A|0,8,0)|0,h=H,(f|0)<(h|0)|(f|0)==(h|0)&n>>>0<u>>>0)||(l=t,e[l>>2]=u,e[l+4>>2]=h,!(k&1))||(l=(N2(k|0)|0)^31,(l+-1|0)>>>0>28))return s=0,s|0;if(e[i+8>>2]=l+1,k=2<<l,e[i+12>>2]=k+-1,l=k+-2|0,e[i+16>>2]=l,e[i+20>>2]=(l|0)/2|0,(b2[r+38>>1]|0)<514){e:do if((f|0)>(h|0)|(f|0)==(h|0)&n>>>0>u>>>0)switch(l=j[_+u>>0]|0,k=i0(o|0,A|0,9,0)|0,b=t,e[b>>2]=k,e[b+4>>2]=H,l<<24>>24){case 0:{p=0;break e}case 1:{p=1;break e}default:return s=0,s|0}else p=0;while(0);e[i+68>>2]=p}return s=f2(i+88|0,r)|0,s|0}function Ru(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(r=U,U=U+16|0,t=r+4|0,n=r,f=i+8|0,l=e[f>>2]|0,Q2(e[i+4>>2]|0,(e[l+28>>2]|0)-(e[l+24>>2]|0)>>2),l=i+84|0,i=e[l>>2]|0,i){if(o=e[i>>2]|0,(e[i+4>>2]|0)==(o|0))return u=1,U=r,u|0;for(i=0,A=o;;){if(e[n>>2]=e[A+(i<<2)>>2],e[t>>2]=e[n>>2],i=i+1|0,!(Ot(f,t)|0)){u=0,s=10;break}if(o=e[l>>2]|0,A=e[o>>2]|0,i>>>0>=(e[o+4>>2]|0)-A>>2>>>0){u=1,s=10;break}}if((s|0)==10)return U=r,u|0}else{if(o=e[f>>2]|0,A=(e[o+4>>2]|0)-(e[o>>2]|0)>>2,o=(A>>>0)/3|0,A>>>0<=2)return u=1,U=r,u|0;for(A=0;;){if(e[n>>2]=A*3,e[t>>2]=e[n>>2],A=A+1|0,!(Ot(f,t)|0)){u=0,s=10;break}if(A>>>0>=o>>>0){u=1,s=10;break}}if((s|0)==10)return U=r,u|0}return 0}function Gu(i,r,t,n){i=i|0,r=o0(r),t=o0(t),n=n|0;var f=a0,l=a0,o=a0,A=a0,u=a0,s=a0,_=0,h=a0,k=a0,b=0,p=0,w=0,d=0,m=0,c=a0,y=a0,V=0,v=0;if(f=o0(r+t),l=o0(r-t),!(l<=o0(.5))|(!(l>=o0(-.5))|(!(f>=o0(.5))|!(f<=o0(1.5))))){do if(f<=o0(.5))o=o0(o0(.5)-t),A=o0(o0(.5)-r);else{if(f>=o0(1.5)){o=o0(o0(1.5)-t),A=o0(o0(1.5)-r);break}if(l<=o0(-.5)){o=o0(t+o0(-.5)),A=o0(r+o0(.5));break}else{o=o0(t+o0(.5)),A=o0(r+o0(-.5));break}}while(0);u=o0(A+o),s=o0(o-A),_=-1,h=o,k=A}else u=f,s=l,_=1,h=r,k=t;if(t=o0(+h*2+-1),h=o0(+k*2+-1),b=+u*2,p=b+-1,w=3-b,b=+s*2,d=b+1,m=1-b,b=m<d?m:d,d=w<p?w:p,s=o0(_*(b<d?b:d)),u=o0(o0(h*h)+o0(o0(t*t)+o0(s*s))),+u<1e-6){q0[n>>2]=o0(0),c=o0(0),y=o0(0),V=n+4|0,q0[V>>2]=y,v=n+8|0,q0[v>>2]=c;return}else{k=o0(o0(1)/o0(_r(o0(u)))),u=o0(k*s),q0[n>>2]=u,c=o0(k*h),y=o0(k*t),V=n+4|0,q0[V>>2]=y,v=n+8|0,q0[v>>2]=c;return}}function Vu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0;return t=U,U=U+16|0,n=t,e[i>>2]=r,e[i+68>>2]=0,e[i+72>>2]=0,go(n,r),f=i+4|0,l=e[n>>2]|0,e[n>>2]=0,o=e[f>>2]|0,e[f>>2]=l,o?(l=e[o+76>>2]|0,l|0&&(e[o+80>>2]=l,Y(l)),l=e[o+64>>2]|0,l|0&&(e[o+68>>2]=l,Y(l)),l=e[o+48>>2]|0,l|0&&(e[o+52>>2]=l,Y(l)),l=e[o+24>>2]|0,l|0&&(e[o+28>>2]=l,Y(l)),l=e[o+12>>2]|0,l|0&&(e[o+16>>2]=l,Y(l)),l=e[o>>2]|0,l|0&&(e[o+4>>2]=l,Y(l)),Y(o),o=e[n>>2]|0,e[n>>2]=0,o|0&&(l=e[o+76>>2]|0,l|0&&(e[o+80>>2]=l,Y(l)),l=e[o+64>>2]|0,l|0&&(e[o+68>>2]=l,Y(l)),l=e[o+48>>2]|0,l|0&&(e[o+52>>2]=l,Y(l)),l=e[o+24>>2]|0,l|0&&(e[o+28>>2]=l,Y(l)),l=e[o+12>>2]|0,l|0&&(e[o+16>>2]=l,Y(l)),l=e[o>>2]|0,l|0&&(e[o+4>>2]=l,Y(l)),Y(o)),A=e[f>>2]|0):(e[n>>2]=0,A=l),A?(A=((e[r+100>>2]|0)-(e[r+96>>2]|0)|0)/12|0,j[n>>0]=0,Fe(i+56|0,A,n),u=1,U=t,u|0):(u=0,U=t,u|0)}function ju(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;n=r&255,f=(t|0)!=0;e:do if(f&(i&3|0)!=0)for(l=r&255,o=i,A=t;;){if((j[o>>0]|0)==l<<24>>24){u=o,s=A,_=6;break e}if(h=o+1|0,k=A+-1|0,b=(k|0)!=0,b&(h&3|0)!=0)o=h,A=k;else{p=h,w=k,d=b,_=5;break}}else p=i,w=t,d=f,_=5;while(0);(_|0)==5&&(d?(u=p,s=w,_=6):_=16);e:do if((_|0)==6){if(w=r&255,(j[u>>0]|0)==w<<24>>24)if(s){m=u;break}else{_=16;break}p=Z0(n,16843009)|0;i:do if(s>>>0>3)for(d=u,f=s;;){if(t=e[d>>2]^p,(t&-2139062144^-2139062144)&t+-16843009|0){c=f,y=d;break i}if(t=d+4|0,i=f+-4|0,i>>>0>3)d=t,f=i;else{V=t,v=i,_=11;break}}else V=u,v=s,_=11;while(0);if((_|0)==11)if(v)c=v,y=V;else{_=16;break}for(p=y,f=c;;){if((j[p>>0]|0)==w<<24>>24){m=p;break e}if(f=f+-1|0,f)p=p+1|0;else{_=16;break}}}while(0);return(_|0)==16&&(m=0),m|0}function N1(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,o=l,n-l>>2>>>0>=r>>>0){E0(l|0,0,r<<2|0)|0,e[f>>2]=o+(r<<2);return}A=e[i>>2]|0,u=l-A>>2,l=u+r|0,s=A,l>>>0>1073741823&&W0(i),_=n-A|0,n=_>>1,h=_>>2>>>0<536870911?n>>>0<l>>>0?l:n:1073741823;do if(h)if(h>>>0>1073741823)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{k=v0(h<<2)|0;break}else k=0;while(0);if(n=k+(u<<2)|0,l=k+(h<<2)|0,E0(n|0,0,r<<2|0)|0,h=n+(r<<2)|0,(o|0)==(s|0))b=n,p=s,w=o,d=A;else{r=u+-1-((o+-4+(0-A)|0)>>>2)|0,A=o,o=n;do o=o+-4|0,A=A+-4|0,n=e[A>>2]|0,e[A>>2]=0,e[o>>2]=n;while((A|0)!=(s|0));s=e[i>>2]|0,b=k+(r<<2)|0,p=s,w=e[f>>2]|0,d=s}if(e[i>>2]=b,e[f>>2]=h,e[t>>2]=l,(w|0)!=(p|0)){l=w;do l=l+-4|0,w=e[l>>2]|0,e[l>>2]=0,w|0&&l2[e[(e[w>>2]|0)+4>>2]&127](w);while((l|0)!=(p|0))}!d||Y(d)}function Nu(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0;if((r|0)==-2)l=0;else{o=e[(e[(e[n+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((K0[e[(e[n>>2]|0)+8>>2]&127](n)|0)==1){if(hu(i,n,r,t,f,((J[n+36>>0]|0)<<8|(J[n+37>>0]|0))&65535),e[i>>2]|0)return;e[i>>2]=0;break}while(0);n=v0(44)|0,e[n>>2]=1536,e[n+4>>2]=o,o=n+8|0,e[o>>2]=e[f>>2],e[o+4>>2]=e[f+4>>2],e[o+8>>2]=e[f+8>>2],e[o+12>>2]=e[f+12>>2],e[o+16>>2]=e[f+16>>2],e[o+20>>2]=e[f+20>>2],o=n+32|0,e[o>>2]=0,t=n+36|0,e[t>>2]=0,r=n+40|0,e[r>>2]=0,A=e[f+24>>2]|0,u=(e[f+28>>2]|0)-A|0,f=u>>2,u|0&&(f>>>0>1073741823&&W0(o),s=v0(u)|0,e[t>>2]=s,e[o>>2]=s,e[r>>2]=s+(f<<2),(u|0)>0&&(S0(s|0,A|0,u|0)|0,e[t>>2]=s+(u>>>2<<2))),e[n>>2]=1592,l=n}e[i>>2]=l}function Tu(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(r=e[i+32>>2]|0,t=r+8|0,n=e[t+4>>2]|0,f=r+16|0,l=f,o=e[l>>2]|0,A=e[l+4>>2]|0,!((n|0)>(A|0)|((n|0)==(A|0)?(e[t>>2]|0)>>>0>o>>>0:0)))return u=0,u|0;switch(t=j[(e[r>>2]|0)+o>>0]|0,r=i0(o|0,A|0,1,0)|0,A=f,e[A>>2]=r,e[A+4>>2]=H,A=i+48|0,r=e[A>>2]|0,e[A>>2]=0,r|0&&l2[e[(e[r>>2]|0)+4>>2]&127](r),t<<24>>24){case 0:{t=v0(384)|0,e_(t),r=e[A>>2]|0,e[A>>2]=t,r?(l2[e[(e[r>>2]|0)+4>>2]&127](r),_=11):s=t;break}case 1:{r=v0(424)|0,Y3(r),t=e[A>>2]|0,e[A>>2]=r,t?(l2[e[(e[t>>2]|0)+4>>2]&127](t),_=11):s=r;break}case 2:{t=v0(440)|0,G3(t),r=e[A>>2]|0,e[A>>2]=t,r?(l2[e[(e[r>>2]|0)+4>>2]&127](r),_=11):s=t;break}default:_=11}if((_|0)==11)if(_=e[A>>2]|0,_)s=_;else return u=0,u|0;return u=_2[e[(e[s>>2]|0)+8>>2]&127](s,i)|0,u|0}function Uu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;return n=U,U=U+32|0,f=n+12|0,l=n,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,o=Ee(r)|0,o>>>0>4294967279&&W0(f),o>>>0<11?(j[f+11>>0]=o,o?(u=f,s=6):A=f):(_=o+16&-16,h=v0(_)|0,e[f>>2]=h,e[f+8>>2]=_|-2147483648,e[f+4>>2]=o,u=h,s=6),(s|0)==6&&(S0(u|0,r|0,o|0)|0,A=u),j[A+o>>0]=0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,o=Ee(t)|0,o>>>0>4294967279&&W0(l),o>>>0<11?(j[l+11>>0]=o,o?(b=l,s=12):k=l):(A=o+16&-16,u=v0(A)|0,e[l>>2]=u,e[l+8>>2]=A|-2147483648,e[l+4>>2]=o,b=u,s=12),(s|0)==12&&(S0(b|0,t|0,o|0)|0,k=b),j[k+o>>0]=0,o=e[i+4>>2]|0,(o|0)!=0&&(k=At(o,f,l)|0,(k|0)!=0)?p=_f(i,e[k+40>>2]|0)|0:p=-1,(j[l+11>>0]|0)<0&&Y(e[l>>2]|0),(j[f+11>>0]|0)>=0?(U=n,p|0):(Y(e[f>>2]|0),U=n,p|0)}function T1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;if(n=r,f=t-n|0,l=f>>1,o=i+8|0,A=e[o>>2]|0,u=e[i>>2]|0,s=u,l>>>0<=A-u>>1>>>0){if(_=i+4|0,h=(e[_>>2]|0)-u>>1,k=l>>>0>h>>>0,b=r+(h<<1)|0,h=k?b:t,p=h,w=p-n|0,w|0&&q2(u|0,r|0,w|0)|0,!k){e[_>>2]=s+(w>>1<<1);return}if((h|0)==(t|0))return;for(h=e[_>>2]|0,w=t+-2-p|0,p=b,b=h;P0[b>>1]=P0[p>>1]|0,p=p+2|0,(p|0)!=(t|0);)b=b+2|0;e[_>>2]=h+((w>>>1)+1<<1);return}if(u?(A=i+4|0,e[A>>2]=u,Y(u),e[o>>2]=0,e[A>>2]=0,e[i>>2]=0,d=0):d=A,(f|0)<0&&W0(i),f=d>>1>>>0<1073741823?d>>>0<l>>>0?l:d:2147483647,(f|0)<0&&W0(i),d=v0(f<<1)|0,l=i+4|0,e[l>>2]=d,e[i>>2]=d,e[o>>2]=d+(f<<1),(r|0)!=(t|0)){for(f=t+-2-n|0,n=r,r=d;P0[r>>1]=P0[n>>1]|0,n=n+2|0,(n|0)!=(t|0);)r=r+2|0;e[l>>2]=d+((f>>>1)+1<<1)}}function Fu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0;if(n=U,U=U+32|0,f=n+24|0,l=n+16|0,o=n+8|0,A=n,u=i+4|0,s=e[u>>2]|0,_=e[r>>2]|0,h=e[r+4>>2]|0,r=e[t>>2]|0,k=e[t+4>>2]|0,t=k-h+(r-_<<3)|0,e[u>>2]=t+s,u=(e[i>>2]|0)+(s>>>5<<2)|0,i=s&31,s=u,(h|0)!=(i|0)){e[f>>2]=_,e[f+4>>2]=h,e[l>>2]=r,e[l+4>>2]=k,e[o>>2]=s,e[o+4>>2]=i,jo(A,f,l,o),U=n;return}o=_,(t|0)>0?(h?(_=32-h|0,l=(t|0)<(_|0)?t:_,f=-1>>>(_-l|0)&-1<<h,e[u>>2]=e[u>>2]&~f|e[o>>2]&f,f=l+h|0,_=o+4|0,b=t-l|0,p=u+(f>>>5<<2)|0,w=f&31,d=_,m=_):(b=t,p=u,w=0,d=_,m=o),_=(b|0)/32|0,q2(p|0,d|0,_<<2|0)|0,d=b-(_<<5)|0,b=p+(_<<2)|0,p=b,(d|0)>0?(f=-1>>>(32-d|0),e[b>>2]=e[b>>2]&~f|e[m+(_<<2)>>2]&f,c=d,y=p):(c=w,y=p)):(c=h,y=s),e[A>>2]=y,e[A+4>>2]=c,U=n}function ti(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(n=r,f=t-n>>2,l=i+8|0,o=e[l>>2]|0,A=e[i>>2]|0,u=A,f>>>0<=o-A>>2>>>0){if(s=i+4|0,_=(e[s>>2]|0)-A>>2,h=f>>>0>_>>>0,k=r+(_<<2)|0,_=h?k:t,b=_,p=b-n|0,p|0&&q2(A|0,r|0,p|0)|0,!h){e[s>>2]=u+(p>>2<<2);return}if((_|0)==(t|0))return;for(_=e[s>>2]|0,p=t+-4-b|0,b=k,k=_;e[k>>2]=e[b>>2],b=b+4|0,(b|0)!=(t|0);)k=k+4|0;e[s>>2]=_+((p>>>2)+1<<2);return}if(A?(o=i+4|0,e[o>>2]=A,Y(A),e[l>>2]=0,e[o>>2]=0,e[i>>2]=0,w=0):w=o,f>>>0>1073741823&&W0(i),o=w>>1,A=w>>2>>>0<536870911?o>>>0<f>>>0?f:o:1073741823,A>>>0>1073741823&&W0(i),o=v0(A<<2)|0,f=i+4|0,e[f>>2]=o,e[i>>2]=o,e[l>>2]=o+(A<<2),(r|0)!=(t|0)){for(A=t+-4-n|0,n=r,r=o;e[r>>2]=e[n>>2],n=n+4|0,(n|0)!=(t|0);)r=r+4|0;e[f>>2]=o+((A>>>2)+1<<2)}}function Eu(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;e[i>>2]=1536,e[i+4>>2]=r,r=i+8|0,e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],e[r+16>>2]=e[t+16>>2],e[r+20>>2]=e[t+20>>2],r=i+32|0,f=t+24|0,e[r>>2]=0,l=i+36|0,e[l>>2]=0,o=i+40|0,e[o>>2]=0,A=t+28|0,t=(e[A>>2]|0)-(e[f>>2]|0)|0,u=t>>2,t|0&&(u>>>0>1073741823&&W0(r),s=v0(t)|0,e[l>>2]=s,e[r>>2]=s,e[o>>2]=s+(u<<2),u=e[f>>2]|0,f=(e[A>>2]|0)-u|0,(f|0)>0&&(S0(s|0,u|0,f|0)|0,e[l>>2]=s+(f>>>2<<2))),e[i>>2]=2320,f=i+44|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2],e[i>>2]=2376,f=i+60|0,e[f>>2]=2432,e[i+64>>2]=0,e[i+68>>2]=0,s=i+72|0,e[s>>2]=e[n>>2],e[s+4>>2]=e[n+4>>2],e[s+8>>2]=e[n+8>>2],e[s+12>>2]=e[n+12>>2],e[f>>2]=2460,e[i+88>>2]=1,f=i+92|0,e[f>>2]=-1,e[f+4>>2]=-1,e[f+8>>2]=-1,e[f+12>>2]=-1,n2(i+108|0)}function Iu(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;e[i>>2]=1536,e[i+4>>2]=r,r=i+8|0,e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],e[r+16>>2]=e[t+16>>2],e[r+20>>2]=e[t+20>>2],r=i+32|0,f=t+24|0,e[r>>2]=0,l=i+36|0,e[l>>2]=0,o=i+40|0,e[o>>2]=0,A=t+28|0,t=(e[A>>2]|0)-(e[f>>2]|0)|0,u=t>>2,t|0&&(u>>>0>1073741823&&W0(r),s=v0(t)|0,e[l>>2]=s,e[r>>2]=s,e[o>>2]=s+(u<<2),u=e[f>>2]|0,f=(e[A>>2]|0)-u|0,(f|0)>0&&(S0(s|0,u|0,f|0)|0,e[l>>2]=s+(f>>>2<<2))),e[i>>2]=1872,f=i+44|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2],e[i>>2]=1928,f=i+60|0,e[f>>2]=1984,e[i+64>>2]=0,e[i+68>>2]=0,s=i+72|0,e[s>>2]=e[n>>2],e[s+4>>2]=e[n+4>>2],e[s+8>>2]=e[n+8>>2],e[s+12>>2]=e[n+12>>2],e[f>>2]=2012,e[i+88>>2]=1,f=i+92|0,e[f>>2]=-1,e[f+4>>2]=-1,e[f+8>>2]=-1,e[f+12>>2]=-1,n2(i+108|0)}function wr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(e[i>>2]=0,t=i+4|0,e[t>>2]=0,n=i+8|0,e[n>>2]=0,f=i+16|0,e[f>>2]=0,l=i+20|0,e[l>>2]=0,o=i+24|0,e[o>>2]=0,A=r+4|0,u=(e[A>>2]|0)-(e[r>>2]|0)|0,s=(u|0)/20|0,u|0&&(s>>>0>214748364&&W0(f),_=v0(u)|0,e[l>>2]=_,e[f>>2]=_,e[o>>2]=_+(s*20|0),s=e[r>>2]|0,r=(e[A>>2]|0)-s|0,(r|0)>0)){if(S0(_|0,s|0,r|0)|0,s=_+(((r>>>0)/20|0)*20|0)|0,e[l>>2]=s,e[i+28>>2]=0,(s|0)==(_|0)){h=0,k=i+12|0,e[k>>2]=h;return}l=(s-_|0)/20|0,s=0,r=0;do A=Z0(e[_+(s*20|0)+16>>2]|0,e[_+(s*20|0)+12>>2]|0)|0,r=r>>>0<A>>>0?A:r,s=s+1|0;while(s>>>0<l>>>0);if(!r){h=0,k=i+12|0,e[k>>2]=h;return}(r|0)<0&&W0(i),l=v0(r)|0,E0(l|0,0,r|0)|0,s=l+r|0,r=l,e[i>>2]=r,e[t>>2]=s,e[n>>2]=s,h=r,k=i+12|0,e[k>>2]=h;return}e[i+28>>2]=0,h=0,k=i+12|0,e[k>>2]=h}function dr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;t=e[r>>2]|0;do if((t|0)!=-1){if(r=e[(e[(e[i+4>>2]|0)+12>>2]|0)+(t<<2)>>2]|0,n=t+1|0,f=((n>>>0)%3|0|0)==0?t+-2|0:n,(f|0)==-1?l=-1:(n=(f|0)/3|0,l=e[(e[(e[i>>2]|0)+96>>2]|0)+(n*12|0)+(f-(n*3|0)<<2)>>2]|0),(r|0)!=-1?(n=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(n|0)==-1?(o=-1,A=r,u=0):(f=(n|0)/3|0,o=e[(e[(e[i>>2]|0)+96>>2]|0)+(f*12|0)+(n-(f*3|0)<<2)>>2]|0,A=r,u=0)):(o=-1,A=-1,u=1),(l|0)!=(o|0))return s=-1,s|0;if(r=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(r|0)==-1)if(u){_=-1,h=-1,k=A;break}else b=-1;else if(f=(r|0)/3|0,n=e[(e[(e[i>>2]|0)+96>>2]|0)+(f*12|0)+(r-(f*3|0)<<2)>>2]|0,u){_=-1,h=n,k=A;break}else b=n;n=A+1|0,f=((n>>>0)%3|0|0)==0?A+-2|0:n,(f|0)==-1?(_=-1,h=b,k=A):(n=(f|0)/3|0,_=e[(e[(e[i>>2]|0)+96>>2]|0)+(n*12|0)+(f-(n*3|0)<<2)>>2]|0,h=b,k=A)}else _=-1,h=-1,k=-1;while(0);return s=(h|0)==(_|0)?k:-1,s|0}function Tt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(t=U,U=U+16|0,n=t,f=v0(64)|0,l=v0(12)|0,o=e[(e[i+4>>2]|0)+80>>2]|0,e[l+4>>2]=0,e[l>>2]=3584,e[l+8>>2]=o,e[n>>2]=l,hf(f,n),l=f,(r|0)>=0){o=i+8|0,A=i+12|0,i=e[A>>2]|0,u=e[o>>2]|0,s=i-u>>2;do if((s|0)<=(r|0)){if(_=r+1|0,h=i,_>>>0>s>>>0){N1(o,_-s|0);break}if(_>>>0<s>>>0){if(k=u+(_<<2)|0,(k|0)!=(h|0)){_=h;do _=_+-4|0,h=e[_>>2]|0,e[_>>2]=0,h|0&&l2[e[(e[h>>2]|0)+4>>2]&127](h);while((_|0)!=(k|0))}e[A>>2]=k}}while(0);A=(e[o>>2]|0)+(r<<2)|0,r=e[A>>2]|0,e[A>>2]=l,r&&l2[e[(e[r>>2]|0)+4>>2]&127](r),b=1}else l2[e[(e[f>>2]|0)+4>>2]&127](f),b=0;return f=e[n>>2]|0,e[n>>2]=0,f?(l2[e[(e[f>>2]|0)+4>>2]&127](f),U=t,b|0):(U=t,b|0)}function Zu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;t=i+4|0,n=e[i>>2]|0,f=((e[t>>2]|0)-n|0)/12|0,l=f+1|0,l>>>0>357913941&&W0(i),o=i+8|0,A=((e[o>>2]|0)-n|0)/12|0,n=A<<1,u=A>>>0<178956970?n>>>0<l>>>0?l:n:357913941;do if(u)if(u>>>0>357913941)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{s=v0(u*12|0)|0;break}else s=0;while(0);if(n=s+(f*12|0)|0,f=s+(u*12|0)|0,c2(n,r),r=n+12|0,u=e[i>>2]|0,s=e[t>>2]|0,(s|0)==(u|0))_=n,h=u,k=u;else{l=s,s=n;do s=s+-12|0,l=l+-12|0,e[s>>2]=e[l>>2],e[s+4>>2]=e[l+4>>2],e[s+8>>2]=e[l+8>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0;while((l|0)!=(u|0));_=s,h=e[i>>2]|0,k=e[t>>2]|0}if(e[i>>2]=_,e[t>>2]=r,e[o>>2]=f,f=h,(k|0)!=(f|0)){o=k;do o=o+-12|0,(j[o+11>>0]|0)<0&&Y(e[o>>2]|0);while((o|0)!=(f|0))}!h||Y(h)}function Zi(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(n=t,f=r,l=n-f|0,o=l>>2,A=i+8|0,u=e[A>>2]|0,s=e[i>>2]|0,_=s,o>>>0>u-s>>2>>>0){if(s?(u=i+4|0,e[u>>2]=s,Y(s),e[A>>2]=0,e[u>>2]=0,e[i>>2]=0,h=0):h=u,o>>>0>1073741823&&W0(i),u=h>>1,k=h>>2>>>0<536870911?u>>>0<o>>>0?o:u:1073741823,k>>>0>1073741823&&W0(i),u=v0(k<<2)|0,h=i+4|0,e[h>>2]=u,e[i>>2]=u,e[A>>2]=u+(k<<2),(l|0)<=0)return;S0(u|0,r|0,l|0)|0,e[h>>2]=u+(l>>>2<<2);return}if(l=i+4|0,i=e[l>>2]|0,u=i-s>>2,s=o>>>0>u>>>0,o=s?r+(u<<2)|0:t,t=i,(o|0)==(r|0))b=_;else{for(i=o+-4-f|0,f=r,r=_;e[r>>2]=e[f>>2],f=f+4|0,(f|0)!=(o|0);)r=r+4|0;b=_+((i>>>2)+1<<2)|0}if(!s){e[l>>2]=b;return}b=n-o|0,!((b|0)<=0)&&(S0(t|0,o|0,b|0)|0,e[l>>2]=(e[l>>2]|0)+(b>>>2<<2))}function Wu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;t=i+4|0,n=e[i>>2]|0,f=(e[t>>2]|0)-n>>2,l=f+1|0,l>>>0>1073741823&&W0(i),o=i+8|0,A=(e[o>>2]|0)-n|0,n=A>>1,u=A>>2>>>0<536870911?n>>>0<l>>>0?l:n:1073741823;do if(u)if(u>>>0>1073741823)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{s=v0(u<<2)|0;break}else s=0;while(0);if(n=s+(f<<2)|0,l=s+(u<<2)|0,u=e[r>>2]|0,e[r>>2]=0,e[n>>2]=u,u=n+4|0,r=e[i>>2]|0,A=r,_=e[t>>2]|0,(_|0)==(r|0))h=n,k=A,b=r;else{p=f+-1-((_+-4-A|0)>>>2)|0,A=_,_=n;do _=_+-4|0,A=A+-4|0,n=e[A>>2]|0,e[A>>2]=0,e[_>>2]=n;while((A|0)!=(r|0));h=s+(p<<2)|0,k=e[i>>2]|0,b=e[t>>2]|0}if(e[i>>2]=h,e[t>>2]=u,e[o>>2]=l,l=k,(b|0)!=(l|0)){o=b;do o=o+-4|0,b=e[o>>2]|0,e[o>>2]=0,b|0&&(de(b),Y(b));while((o|0)!=(l|0))}!k||Y(k)}function Du(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;do if(Je(i,e[r+8>>2]|0,f)|0)Rf(0,r,t,n);else{if(!(Je(i,e[r>>2]|0,f)|0)){l=e[i+8>>2]|0,u4[e[(e[l>>2]|0)+24>>2]&3](l,r,t,n,f);break}if((e[r+16>>2]|0)!=(t|0)&&(l=r+20|0,(e[l>>2]|0)!=(t|0))){if(e[r+32>>2]=n,o=r+44|0,(e[o>>2]|0)==4)break;A=r+52|0,j[A>>0]=0,u=r+53|0,j[u>>0]=0,s=e[i+8>>2]|0,H1[e[(e[s>>2]|0)+20>>2]&3](s,r,t,t,1,f),j[u>>0]|0?j[A>>0]|0?h=15:(_=1,h=11):(_=0,h=11);do if((h|0)==11){if(e[l>>2]=t,A=r+40|0,e[A>>2]=(e[A>>2]|0)+1,(e[r+36>>2]|0)==1&&(e[r+24>>2]|0)==2)if(j[r+54>>0]=1,_){h=15;break}else{k=4;break}_?h=15:k=4}while(0);(h|0)==15&&(k=3),e[o>>2]=k;break}(n|0)==1&&(e[r+32>>2]=1)}while(0)}function A2(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;return t=e[i>>2]|0,e[i+4>>2]=t,n=i+16|0,e[n>>2]=0,f=i+12|0,e[f>>2]=t,t=r+8|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0||(k=(e[r>>2]|0)+s|0,s=J[k>>0]|J[k+1>>0]<<8|J[k+2>>0]<<16|J[k+3>>0]<<24,k=l,e[k>>2]=_,e[k+4>>2]=u,!((s|0)!=0&(s&3|0)==0))||(k=H0(o|0,A|0,_|0,u|0)|0,b=H,(b|0)<0|(b|0)==0&k>>>0<s>>>0)||(k=s>>>2,k?(u2(i,k),k=t,t=l,p=e[t>>2]|0,w=e[t+4>>2]|0,d=e[k+4>>2]|0,m=e[k>>2]|0):(p=_,w=u,d=A,m=o),k=i0(p|0,w|0,s|0,0)|0,w=H,(d|0)<(w|0)|(d|0)==(w|0)&m>>>0<k>>>0)?(h=0,h|0):(S0(e[i>>2]|0,(e[r>>2]|0)+p|0,s|0)|0,p=l,r=i0(e[p>>2]|0,e[p+4>>2]|0,s|0,0)|0,s=l,e[s>>2]=r,e[s+4>>2]=H,e[f>>2]=e[i>>2],e[n>>2]=0,h=1,h|0)}function Ut(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;n=U,U=U+48|0,f=n+16|0,l=n,o=n+32|0,A=i+28|0,u=e[A>>2]|0,e[o>>2]=u,s=i+20|0,_=(e[s>>2]|0)-u|0,e[o+4>>2]=_,e[o+8>>2]=r,e[o+12>>2]=t,r=_+t|0,_=i+60|0,e[l>>2]=e[_>>2],e[l+4>>2]=o,e[l+8>>2]=2,u=z1(K4(146,l|0)|0)|0;e:do if((r|0)!=(u|0)){for(l=2,h=r,k=o,b=u;!((b|0)<0);)if(h=h-b|0,p=e[k+4>>2]|0,w=b>>>0>p>>>0,d=w?k+8|0:k,m=l+(w<<31>>31)|0,c=b-(w?p:0)|0,e[d>>2]=(e[d>>2]|0)+c,p=d+4|0,e[p>>2]=(e[p>>2]|0)-c,e[f>>2]=e[_>>2],e[f+4>>2]=d,e[f+8>>2]=m,b=z1(K4(146,f|0)|0)|0,(h|0)==(b|0)){y=3;break e}else l=m,k=d;e[i+16>>2]=0,e[A>>2]=0,e[s>>2]=0,e[i>>2]=e[i>>2]|32,(l|0)==2?V=0:V=t-(e[k+4>>2]|0)|0}else y=3;while(0);return(y|0)==3&&(y=e[i+44>>2]|0,e[i+16>>2]=y+(e[i+48>>2]|0),i=y,e[A>>2]=i,e[s>>2]=i,V=t),U=n,V|0}function Bu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(t=U,U=U+16|0,n=t,f=i+76|0,l=e[f>>2]|0,e[f>>2]=0,e[i+80>>2]=0,e[i+84>>2]=0,l|0&&Y(l),l=i+64|0,f=e[l>>2]|0,e[l>>2]=0,e[i+68>>2]=0,e[i+72>>2]=0,f|0&&Y(f),f=r+4|0,l=e[f>>2]|0,o=e[r>>2]|0,A=((l-o|0)/12|0)*3|0,u=i+4|0,s=e[i>>2]|0,_=(e[u>>2]|0)-s>>2,h=o,A>>>0<=_>>>0?A>>>0<_>>>0?(e[u>>2]=s+(A<<2),k=l,b=o,p=h):(k=l,b=o,p=h):(u2(i,A-_|0),_=e[r>>2]|0,k=e[f>>2]|0,b=_,p=_),(k|0)!=(b|0)){b=e[i>>2]|0,_=(k-p|0)/12|0,k=0;do f=k*3|0,e[b+(f<<2)>>2]=e[p+(k*12|0)>>2],e[b+(f+1<<2)>>2]=e[p+(k*12|0)+4>>2],e[b+(f+2<<2)>>2]=e[p+(k*12|0)+8>>2],k=k+1|0;while(k>>>0<_>>>0)}return e[n>>2]=-1,b8(i,n)|0?(l8(i,e[n>>2]|0)|0,w=1,U=t,w|0):(w=0,U=t,w|0)}function Mu(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(r=i+12|0,t=e[i>>2]|0,n=i+8|0,f=e[n>>2]|0,l=(f|0)==-1,!(j[r>>0]|0)){do if(!l&&(o=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(o|0)!=-1)&&(e[(e[t>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)==0&&(A=e[(e[(e[t+64>>2]|0)+12>>2]|0)+(o<<2)>>2]|0,(A|0)!=-1))if((A>>>0)%3|0){u=A+-1|0;break}else{u=A+2|0;break}else u=-1;while(0);e[n>>2]=u;return}if(u=f+1|0,!l&&(l=((u>>>0)%3|0|0)==0?f+-2|0:u,(l|0)!=-1)&&(e[(e[t>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0&&(u=e[(e[(e[t+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,l=u+1|0,(u|0)!=-1)){if(f=((l>>>0)%3|0|0)==0?u+-2|0:l,e[n>>2]=f,(f|0)!=-1){if((f|0)!=(e[i+4>>2]|0))return;e[n>>2]=-1;return}}else e[n>>2]=-1;f=e[i+4>>2]|0;do if((f|0)!=-1&&(i=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(i|0)!=-1)&&(e[(e[t>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0&&(l=e[(e[(e[t+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(l|0)!=-1))if((l>>>0)%3|0){s=l+-1|0;break}else{s=l+2|0;break}else s=-1;while(0);e[n>>2]=s,j[r>>0]=0}function Yu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(n=i+8|0,f=e[n>>2]|0,l=i+4|0,o=e[l>>2]|0,((f-o|0)/12|0)>>>0>=r>>>0){A=r,u=o;do e[u>>2]=e[t>>2],e[u+4>>2]=e[t+4>>2],e[u+8>>2]=e[t+8>>2],u=(e[l>>2]|0)+12|0,e[l>>2]=u,A=A+-1|0;while((A|0)!=0);return}A=e[i>>2]|0,u=(o-A|0)/12|0,o=u+r|0,o>>>0>357913941&&W0(i),s=(f-A|0)/12|0,A=s<<1,f=s>>>0<178956970?A>>>0<o>>>0?o:A:357913941;do if(f)if(f>>>0>357913941)A=T2(8)|0,F2(A,13552),e[A>>2]=4908,U2(A|0,1128,105);else{_=v0(f*12|0)|0;break}else _=0;while(0);for(A=_+(u*12|0)|0,u=_+(f*12|0)|0,f=r,r=A;e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],f=f+-1|0,f;)r=r+12|0;r=e[i>>2]|0,f=(e[l>>2]|0)-r|0,t=A+(((f|0)/-12|0)*12|0)|0,(f|0)>0&&S0(t|0,r|0,f|0)|0,e[i>>2]=t,e[l>>2]=_+(o*12|0),e[n>>2]=u,r&&Y(r)}function Cu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0;if(t=i+8|0,e[t>>2]=e[r>>2],Ii(i+12|0,r+4|0)|0,n=i+44|0,f=r+36|0,e[n>>2]=e[f>>2],e[n+4>>2]=e[f+4>>2],e[n+8>>2]=e[f+8>>2],e[n+12>>2]=e[f+12>>2],(t|0)==(r|0)){e[i+96>>2]=e[r+88>>2];return}else{Zi(i+60|0,e[r+52>>2]|0,e[r+56>>2]|0),Zi(i+72|0,e[r+64>>2]|0,e[r+68>>2]|0),Zi(i+84|0,e[r+76>>2]|0,e[r+80>>2]|0),e[i+96>>2]=e[r+88>>2],R2(i+100|0,e[r+92>>2]|0,e[r+96>>2]|0);return}}function mr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(n=i+8|0,f=e[n>>2]|0,l=e[i>>2]|0,o=l,f-l>>2>>>0<r>>>0){for(l?(f=i+4|0,e[f>>2]=l,Y(l),e[n>>2]=0,e[f>>2]=0,e[i>>2]=0,A=0):A=f,r>>>0>1073741823&&W0(i),f=A>>1,u=A>>2>>>0<536870911?f>>>0<r>>>0?r:f:1073741823,u>>>0>1073741823&&W0(i),f=v0(u<<2)|0,A=i+4|0,e[A>>2]=f,e[i>>2]=f,e[n>>2]=f+(u<<2),u=r,n=f;e[n>>2]=e[t>>2],u=u+-1|0,u;)n=n+4|0;s=A,_=f+(r<<2)|0,e[s>>2]=_;return}else{if(f=i+4|0,i=e[f>>2]|0,A=i-l>>2,l=A>>>0<r>>>0,n=l?A:r,u=i,n|0)for(i=n,n=o;e[n>>2]=e[t>>2],i=i+-1|0,i;)n=n+4|0;if(!l){s=f,_=o+(r<<2)|0,e[s>>2]=_;return}for(o=r-A|0,A=o,r=u;e[r>>2]=e[t>>2],A=A+-1|0,A;)r=r+4|0;s=f,_=u+(o<<2)|0,e[s>>2]=_;return}}function zu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;if(n=i+20|0,g4(n,r)|0)return f=0,f|0;if(i=w8(n,r)|0,r=e[t>>2]|0,e[t>>2]=0,t=e[i>>2]|0,e[i>>2]=r,!t)return f=1,f|0;if(r=e[t+28>>2]|0,r|0){i=r;do r=i,i=e[i>>2]|0,gt(r+8|0),Y(r);while((i|0)!=0)}if(i=t+20|0,r=e[i>>2]|0,e[i>>2]=0,r|0&&Y(r),r=e[t+8>>2]|0,r|0){i=r;do r=i,i=e[i>>2]|0,n=r+8|0,l=e[r+20>>2]|0,l|0&&(e[r+24>>2]=l,Y(l)),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),Y(r);while((i|0)!=0)}return i=e[t>>2]|0,e[t>>2]=0,i|0&&Y(i),Y(t),f=1,f|0}function vr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(t=e[r>>2]|0,r=e[i>>2]|0,n=r+(t>>>5<<2)|0,e[n>>2]=e[n>>2]|1<<(t&31),n=e[i+64>>2]|0,f=(t|0)==-1,l=t+1|0,!f&&(o=((l>>>0)%3|0|0)==0?t+-2|0:l,(o|0)!=-1)?A=e[(e[n>>2]|0)+(o<<2)>>2]|0:A=-1,o=e[i+12>>2]|0,l=o+(A>>>5<<2)|0,e[l>>2]=e[l>>2]|1<<(A&31),f)f=o+536870908|0,u=f,s=e[f>>2]|0,_=-2147483648;else{if(f=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(f|0)==-1?h=-1:h=e[(e[n>>2]|0)+(f<<2)>>2]|0,f=o+(h>>>5<<2)|0,e[f>>2]=1<<(h&31)|e[f>>2],f=e[(e[n+12>>2]|0)+(t<<2)>>2]|0,(f|0)==-1)return;j[i+24>>0]=0,i=r+(f>>>5<<2)|0,e[i>>2]=e[i>>2]|1<<(f&31),i=f+1|0,r=((i>>>0)%3|0|0)==0?f+-2|0:i,(r|0)==-1?k=-1:k=e[(e[n>>2]|0)+(r<<2)>>2]|0,r=o+(k>>>5<<2)|0,e[r>>2]=1<<(k&31)|e[r>>2],r=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(r|0)==-1?b=-1:b=e[(e[n>>2]|0)+(r<<2)>>2]|0,r=o+(b>>>5<<2)|0,u=r,s=1<<(b&31),_=e[r>>2]|0}e[u>>2]=s|_}function Qu(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;r=i+172|0,t=e[r>>2]|0;do if((t|0)==-1)n=e[i+144>>2]|0,f=K0[e[(e[n>>2]|0)+32>>2]&127](n)|0,((J[f+36>>0]<<8|J[f+37>>0])&65535)<514?j[i+76>>0]|0?(f=i+72|0,n=e[f>>2]|0,l=e[i+64>>2]|0,o=e[i+68>>2]|0,A=l+(n>>>3)|0,A>>>0<o>>>0&&(u=J[A>>0]|0,A=n+1|0,e[f>>2]=A,(1<<(n&7)&u|0)!=0)?(u=l+(A>>>3)|0,u>>>0<o>>>0?(s=(J[u>>0]|0)>>>(A&7)&1,_=n+2|0,e[f>>2]=_,h=s,k=l+(_>>>3)|0,b=_):(h=0,k=u,b=A),k>>>0<o>>>0?(o=(J[k>>0]|0)>>>(b&7),e[f>>2]=b+1,p=o<<1&2):p=0,w=(p|h)<<1|1):w=0):w=1:w=7;else{if(o=(e[i+196>>2]|0)+(t<<2)|0,f=e[o>>2]|0,A=f+-1|0,e[o>>2]=A,(f|0)<1)return d=9,d|0;w=e[3496+(e[(e[(e[i+184>>2]|0)+((e[r>>2]|0)*12|0)>>2]|0)+(A<<2)>>2]<<2)>>2]|0;break}while(0);return e[i+168>>2]=w,d=w,d|0}function s1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(n=r,f=t-n|0,l=i+8|0,o=e[l>>2]|0,A=e[i>>2]|0,u=A,f>>>0<=(o-A|0)>>>0){if(s=i+4|0,_=(e[s>>2]|0)-A|0,h=f>>>0>_>>>0,k=r+_|0,_=h?k:t,b=_-n|0,b|0&&q2(u|0,r|0,b|0)|0,!h){e[s>>2]=u+b;return}if((_|0)==(t|0))return;_=k,k=e[s>>2]|0;do j[k>>0]=j[_>>0]|0,_=_+1|0,k=(e[s>>2]|0)+1|0,e[s>>2]=k;while((_|0)!=(t|0));return}if(A?(o=i+4|0,e[o>>2]=A,Y(u),e[l>>2]=0,e[o>>2]=0,e[i>>2]=0,p=0):p=o,(f|0)<0&&W0(i),o=p<<1,u=p>>>0<1073741823?o>>>0<f>>>0?f:o:2147483647,(u|0)<0&&W0(i),o=v0(u)|0,f=i+4|0,e[f>>2]=o,e[i>>2]=o,e[l>>2]=o+u,(r|0)!=(t|0)){u=r,r=o;do j[r>>0]=j[u>>0]|0,u=u+1|0,r=(e[f>>2]|0)+1|0,e[f>>2]=r;while((u|0)!=(t|0))}}function Ju(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0;if(l=U,U=U+32|0,o=l+16|0,A=l+8|0,u=l,s=f>>>0>1073741823?-1:f<<2,_=B2(s)|0,E0(_|0,0,s|0)|0,s=i+8|0,i=e[_+4>>2]|0,h=e[r>>2]|0,k=e[r+4>>2]|0,e[A>>2]=e[_>>2],e[A+4>>2]=i,e[u>>2]=h,e[u+4>>2]=k,y1(o,s,A,u),e[t>>2]=e[o>>2],e[t+4>>2]=e[o+4>>2],(f|0)>=(n|0))return i2(_),U=l,1;k=0-f|0,h=A+4|0,i=u+4|0,b=o+4|0,p=f;do w=t+(p<<2)|0,d=w+(k<<2)|0,m=r+(p<<2)|0,c=e[d+4>>2]|0,y=e[m>>2]|0,V=e[m+4>>2]|0,e[A>>2]=e[d>>2],e[h>>2]=c,e[u>>2]=y,e[i>>2]=V,y1(o,s,A,u),e[w>>2]=e[o>>2],e[w+4>>2]=e[b>>2],p=p+f|0;while((p|0)<(n|0));return i2(_),U=l,1}function Ou(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;e[i>>2]=1536,e[i+4>>2]=r,r=i+8|0,e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],e[r+16>>2]=e[t+16>>2],e[r+20>>2]=e[t+20>>2],r=i+32|0,f=t+24|0,e[r>>2]=0,l=i+36|0,e[l>>2]=0,o=i+40|0,e[o>>2]=0,A=t+28|0,t=(e[A>>2]|0)-(e[f>>2]|0)|0,u=t>>2,t|0&&(u>>>0>1073741823&&W0(r),s=v0(t)|0,e[l>>2]=s,e[r>>2]=s,e[o>>2]=s+(u<<2),u=e[f>>2]|0,f=(e[A>>2]|0)-u|0,(f|0)>0&&(S0(s|0,u|0,f|0)|0,e[l>>2]=s+(f>>>2<<2))),e[i>>2]=2320,f=i+44|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2],e[i>>2]=2488,e[i+60>>2]=0,e[i+64>>2]=0,e[i+76>>2]=0,e[i+80>>2]=0,e[i+84>>2]=0,f=i+88|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2]}function Su(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;e[i>>2]=1536,e[i+4>>2]=r,r=i+8|0,e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],e[r+16>>2]=e[t+16>>2],e[r+20>>2]=e[t+20>>2],r=i+32|0,f=t+24|0,e[r>>2]=0,l=i+36|0,e[l>>2]=0,o=i+40|0,e[o>>2]=0,A=t+28|0,t=(e[A>>2]|0)-(e[f>>2]|0)|0,u=t>>2,t|0&&(u>>>0>1073741823&&W0(r),s=v0(t)|0,e[l>>2]=s,e[r>>2]=s,e[o>>2]=s+(u<<2),u=e[f>>2]|0,f=(e[A>>2]|0)-u|0,(f|0)>0&&(S0(s|0,u|0,f|0)|0,e[l>>2]=s+(f>>>2<<2))),e[i>>2]=1872,f=i+44|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2],e[i>>2]=2040,e[i+60>>2]=0,e[i+64>>2]=0,e[i+76>>2]=0,e[i+80>>2]=0,e[i+84>>2]=0,f=i+88|0,e[f>>2]=e[n>>2],e[f+4>>2]=e[n+4>>2],e[f+8>>2]=e[n+8>>2],e[f+12>>2]=e[n+12>>2]}function bi(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0;do if(r){if((b2[i+38>>1]|0)>=514){if(qe(t,i)|0)break;return n=0,n|0}if(f=i+8|0,l=e[f>>2]|0,o=e[f+4>>2]|0,f=i+16|0,A=f,u=e[A>>2]|0,s=i0(u|0,e[A+4>>2]|0,8,0)|0,A=H,(o|0)<(A|0)|(o|0)==(A|0)&l>>>0<s>>>0)return n=0,n|0;s=(e[i>>2]|0)+u|0,u=s,l=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=s+4|0,s=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,u=t,A=u,j[A>>0]=l,j[A+1>>0]=l>>8,j[A+2>>0]=l>>16,j[A+3>>0]=l>>24,l=u+4|0,j[l>>0]=s,j[l+1>>0]=s>>8,j[l+2>>0]=s>>16,j[l+3>>0]=s>>24,s=f,l=i0(e[s>>2]|0,e[s+4>>2]|0,8,0)|0,s=f,e[s>>2]=l,e[s+4>>2]=H;break}while(0);return j[i+36>>0]=1,t=i+16|0,r=e[t>>2]|0,s=(e[i>>2]|0)+r|0,l=i+8|0,f=H0(e[l>>2]|0,e[l+4>>2]|0,r|0,e[t+4>>2]|0)|0,e[i+32>>2]=0,e[i+24>>2]=s,e[i+28>>2]=s+f,n=1,n|0}function Xu(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0;if(l=U,U=U+32|0,o=l+16|0,A=l+8|0,u=l,s=f>>>0>1073741823?-1:f<<2,_=B2(s)|0,E0(_|0,0,s|0)|0,s=i+8|0,i=e[_>>2]|0,h=e[_+4>>2]|0,k=e[r+4>>2]|0,e[o>>2]=e[r>>2],e[o+4>>2]=k,e[u>>2]=i,e[u+4>>2]=h,V1(A,s,u,o),e[t>>2]=e[A>>2],e[t+4>>2]=e[A+4>>2],(f|0)>=(n|0))return i2(_),U=l,1;h=0-f|0,i=o+4|0,k=u+4|0,b=A+4|0,p=f;do w=t+(p<<2)|0,d=w+(h<<2)|0,m=r+(p<<2)|0,c=e[d>>2]|0,y=e[d+4>>2]|0,d=e[m+4>>2]|0,e[o>>2]=e[m>>2],e[i>>2]=d,e[u>>2]=c,e[k>>2]=y,V1(A,s,u,o),e[w>>2]=e[A>>2],e[w+4>>2]=e[b>>2],p=p+f|0;while((p|0)<(n|0));return i2(_),U=l,1}function Pu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0;r>>>0>4294967279&&W0(i),t=i+11|0,n=j[t>>0]|0,f=n<<24>>24<0,f?(l=e[i+4>>2]|0,o=(e[i+8>>2]&2147483647)+-1|0):(l=n&255,o=10),A=l>>>0>r>>>0?l:r,r=A>>>0<11,u=r?10:(A+16&-16)+-1|0;do if((u|0)!=(o|0)){do if(r)A=e[i>>2]|0,f?(s=0,_=A,h=i,k=13):(Ke(i,A,(n&255)+1|0)|0,Y(A),k=16);else if(A=u+1|0,b=v0(A)|0,f){s=1,_=e[i>>2]|0,h=b,k=13;break}else{Ke(b,i,(n&255)+1|0)|0,p=b,w=A,d=i+4|0,k=15;break}while(0);if((k|0)==13&&(A=i+4|0,Ke(h,_,(e[A>>2]|0)+1|0)|0,Y(_),s?(p=h,w=u+1|0,d=A,k=15):k=16),(k|0)==15){e[i+8>>2]=w|-2147483648,e[d>>2]=l,e[i>>2]=p;break}else if((k|0)==16){j[t>>0]=l;break}}while(0)}function Ft(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if((n|0)<0)return f=0,f|0;e:do if(r)s1(i,r,r+t|0);else{if(n=i+4|0,l=e[n>>2]|0,o=e[i>>2]|0,A=l-o|0,u=o,A>>>0>=t>>>0){if(A>>>0<=t>>>0)break;e[n>>2]=u+t;break}if(s=t-A|0,_=i+8|0,h=e[_>>2]|0,(h-l|0)>>>0>=s>>>0){for(k=s,b=l;;)if(j[b>>0]=0,b=(e[n>>2]|0)+1|0,e[n>>2]=b,k=k+-1|0,!k)break e}(t|0)<0&&W0(i),k=h-o|0,b=k<<1,l=k>>>0<1073741823?b>>>0<t>>>0?t:b:2147483647,l?p=v0(l)|0:p=0,E0(p+A|0,0,s|0)|0,(A|0)>0&&S0(p|0,u|0,A|0)|0,e[i>>2]=p,e[n>>2]=p+t,e[_>>2]=p+l,o|0&&Y(u)}while(0);return t=i+24|0,i=t,r=i0(e[i>>2]|0,e[i+4>>2]|0,1,0)|0,i=t,e[i>>2]=r,e[i+4>>2]=H,f=1,f|0}function Hu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;switch(t=U,U=U+32|0,n=t+16|0,f=t,r<<24>>24){case 0:{r=v0(44)|0,l=r,o=l+44|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));qr(r),e[r>>2]=3696,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=r,U=t;return}case 1:{r=v0(44)|0,l=r,o=l+44|0;do e[l>>2]=0,l=l+4|0;while((l|0)<(o|0));qr(r),e[r>>2]=3652,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=r,U=t;return}default:{r=v0(32)|0,e[f>>2]=r,e[f+8>>2]=-2147483616,e[f+4>>2]=28,l=r,A=11853,o=l+28|0;do j[l>>0]=j[A>>0]|0,l=l+1|0,A=A+1|0;while((l|0)<(o|0));j[r+28>>0]=0,e[n>>2]=-1,r=n+4|0,c2(r,f),e[i>>2]=e[n>>2],c2(i+4|0,r),e[i+16>>2]=0,(j[r+11>>0]|0)<0&&Y(e[r>>2]|0),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=t;return}}}function xu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(n=U,U=U+16|0,f=n+8|0,l=n+4|0,o=n,!t)return A=0,U=n,A|0;e[i>>2]=r,e[f>>2]=0,t2(f,r)|0;e:do if(!(e[f>>2]|0))u=8;else{for(r=0;t2(l,e[i>>2]|0)|0,s=v0(44)|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s+16>>2]=1065353216,_=s+20|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e[s+36>>2]=1065353216,e[s+40>>2]=e[l>>2],!!(kr(i,s)|0);)if(e[o>>2]=s,p_(t,o)|0,_=e[o>>2]|0,e[o>>2]=0,_|0&&(de(_),Y(_)),r=r+1|0,r>>>0>=(e[f>>2]|0)>>>0){u=8;break e}de(s),Y(s),h=0}while(0);return(u|0)==8&&(h=kr(i,t)|0),A=h,U=n,A|0}function S0(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;if((t|0)>=8192)return Ls(i|0,r|0,t|0)|0;if(n=i|0,f=i+t|0,(i&3)==(r&3)){for(;i&3;){if(!t)return n|0;j[i>>0]=j[r>>0]|0,i=i+1|0,r=r+1|0,t=t-1|0}for(l=f&-4|0,t=l-64|0;(i|0)<=(t|0);)e[i>>2]=e[r>>2],e[i+4>>2]=e[r+4>>2],e[i+8>>2]=e[r+8>>2],e[i+12>>2]=e[r+12>>2],e[i+16>>2]=e[r+16>>2],e[i+20>>2]=e[r+20>>2],e[i+24>>2]=e[r+24>>2],e[i+28>>2]=e[r+28>>2],e[i+32>>2]=e[r+32>>2],e[i+36>>2]=e[r+36>>2],e[i+40>>2]=e[r+40>>2],e[i+44>>2]=e[r+44>>2],e[i+48>>2]=e[r+48>>2],e[i+52>>2]=e[r+52>>2],e[i+56>>2]=e[r+56>>2],e[i+60>>2]=e[r+60>>2],i=i+64|0,r=r+64|0;for(;(i|0)<(l|0);)e[i>>2]=e[r>>2],i=i+4|0,r=r+4|0}else for(l=f-4|0;(i|0)<(l|0);)j[i>>0]=j[r>>0]|0,j[i+1>>0]=j[r+1>>0]|0,j[i+2>>0]=j[r+2>>0]|0,j[i+3>>0]=j[r+3>>0]|0,i=i+4|0,r=r+4|0;for(;(i|0)<(f|0);)j[i>>0]=j[r>>0]|0,i=i+1|0,r=r+1|0;return n|0}function Wi(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(r=i+132|0,t=e[r>>2]|0,t|0){if(n=i+136|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do f=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[f+-8>>2]=A,Y(A));while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}if(l=i+120|0,t=e[l>>2]|0,t|0){if(n=i+124|0,r=e[n>>2]|0,(r|0)==(t|0))u=t;else{o=r;do r=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[r+-8>>2]=A,Y(A));while((o|0)!=(t|0));u=e[l>>2]|0}e[n>>2]=t,Y(u)}if(u=e[i+108>>2]|0,u|0&&(e[i+112>>2]=u,Y(u)),u=e[i+96>>2]|0,!u){s=i+76|0,L2(s),_=i+56|0,L2(_),h=i+36|0,L2(h),k=i+16|0,L2(k);return}e[i+100>>2]=u,Y(u),s=i+76|0,L2(s),_=i+56|0,L2(_),h=i+36|0,L2(h),k=i+16|0,L2(k)}function R2(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(n=t,f=r,l=n-f|0,o=l>>2,A=i+8|0,u=e[A>>2]|0,s=e[i>>2]|0,_=s,o>>>0<=u-s>>2>>>0){if(h=i+4|0,k=(e[h>>2]|0)-s>>2,b=o>>>0>k>>>0,p=b?r+(k<<2)|0:t,t=p,k=t-f|0,k|0&&q2(s|0,r|0,k|0)|0,!b){e[h>>2]=_+(k>>2<<2);return}if(k=n-t|0,(k|0)<=0)return;S0(e[h>>2]|0,p|0,k|0)|0,e[h>>2]=(e[h>>2]|0)+(k>>>2<<2);return}s?(u=i+4|0,e[u>>2]=s,Y(s),e[A>>2]=0,e[u>>2]=0,e[i>>2]=0,w=0):w=u,o>>>0>1073741823&&W0(i),u=w>>1,s=w>>2>>>0<536870911?u>>>0<o>>>0?o:u:1073741823,s>>>0>1073741823&&W0(i),u=v0(s<<2)|0,o=i+4|0,e[o>>2]=u,e[i>>2]=u,e[A>>2]=u+(s<<2),!((l|0)<=0)&&(S0(u|0,r|0,l|0)|0,e[o>>2]=u+(l>>>2<<2))}function Et(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0;n=U,U=U+16|0,f=n,e[f>>2]=r,l=i+8|0,((e[i+12>>2]|0)-(e[l>>2]|0)>>2|0)<=(r|0)&&m3(l,r+1|0),o=e[(e[t>>2]|0)+56>>2]|0;do if((o|0)<5)if(A=i+20+(o*12|0)+4|0,u=e[A>>2]|0,(u|0)==(e[i+20+(o*12|0)+8>>2]|0)){L0(i+20+(o*12|0)|0,f);break}else{e[u>>2]=r,e[A>>2]=u+4;break}while(0);if(r=e[t>>2]|0,o=e[f>>2]|0,e[r+60>>2]=o,f=(e[l>>2]|0)+(o<<2)|0,e[t>>2]=0,t=e[f>>2]|0,e[f>>2]=r,!t){U=n;return}r=t+88|0,f=e[r>>2]|0,e[r>>2]=0,f|0&&(r=e[f+8>>2]|0,r|0&&(e[f+12>>2]=r,Y(r)),Y(f)),f=e[t+68>>2]|0,f|0&&(e[t+72>>2]=f,Y(f)),f=t+64|0,r=e[f>>2]|0,e[f>>2]=0,r|0&&(f=e[r>>2]|0,f|0&&(e[r+4>>2]=f,Y(f)),Y(r)),Y(t),U=n}function qu(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;return f=U,U=U+16|0,l=f+12|0,o=f+8|0,A=f,e[A>>2]=e[r>>2],e[l>>2]=e[A>>2],A=io(i,l,o,f+4|0,t)|0,t=e[A>>2]|0,t|0?(u=t,U=f,u|0):(t=v0(40)|0,c2(t+16|0,n),c2(t+28|0,n+12|0),n=e[o>>2]|0,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=n,e[A>>2]=t,n=e[e[i>>2]>>2]|0,n?(e[i>>2]=n,s=e[A>>2]|0):s=t,br(e[i+4>>2]|0,s),s=i+8|0,e[s>>2]=(e[s>>2]|0)+1,u=t,U=f,u|0)}function Fe(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(n=U,U=U+16|0,f=n,l=i+4|0,e[l>>2]=0,!r){U=n;return}if(o=i+8|0,A=e[o>>2]|0,u=A<<5,u>>>0<r>>>0?(e[f>>2]=0,s=f+4|0,e[s>>2]=0,_=f+8|0,e[_>>2]=0,(r|0)<0&&W0(i),h=A<<6,A=r+31&-32,xe(f,u>>>0<1073741823?h>>>0<A>>>0?A:h:2147483647),h=e[i>>2]|0,e[i>>2]=e[f>>2],e[f>>2]=h,f=e[l>>2]|0,e[l>>2]=r,e[s>>2]=f,f=e[o>>2]|0,e[o>>2]=e[_>>2],e[_>>2]=f,h|0&&Y(h),k=i):(e[l>>2]=r,k=i),i=e[k>>2]|0,k=i,l=i,i=r>>>5,h=i<<2,j[t>>0]|0){if(E0(l|0,-1,h|0)|0,h=r&31,r=k+(i<<2)|0,!h){U=n;return}e[r>>2]=e[r>>2]|-1>>>(32-h|0),U=n;return}else{if(E0(l|0,0,h|0)|0,t=r&31,f=k+(i<<2)|0,!t){U=n;return}e[f>>2]=e[f>>2]&~(-1>>>(32-t|0)),U=n;return}}function Lu(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;return t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0||(_=e[r>>2]|0,r=_+o|0,h=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,r=t,e[r>>2]=l,e[r+4>>2]=u,u=i0(o|0,A|0,8,0)|0,A=H,(f|0)<(A|0)|(f|0)==(A|0)&n>>>0<u>>>0)||(n=_+l|0,l=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,n=t,e[n>>2]=u,e[n+4>>2]=A,(h|0)>(l|0))||(e[i+12>>2]=h,e[i+16>>2]=l,A=H0(l|0,((l|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0,h=H,!(h>>>0<0|(h|0)==0&A>>>0<2147483647))?(s=0,s|0):(h=A+1|0,e[i+20>>2]=h,A=(h|0)/2|0,l=i+24|0,e[l>>2]=A,e[i+28>>2]=0-A,h&1|0?(s=1,s|0):(e[l>>2]=A+-1,s=1,s|0))}function he(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=(n-f|0)/12|0,o=l+1|0,A=f,u=n,o>>>0>357913941&&W0(i),n=i+8|0,s=((e[n>>2]|0)-f|0)/12|0,_=s<<1,h=s>>>0<178956970?_>>>0<o>>>0?o:_:357913941;do if(h)if(h>>>0>357913941)_=T2(8)|0,F2(_,13552),e[_>>2]=4908,U2(_|0,1128,105);else{k=v0(h*12|0)|0;break}else k=0;while(0);if(_=k+(l*12|0)|0,o=k+(h*12|0)|0,e[_>>2]=e[r>>2],e[k+(l*12|0)+4>>2]=e[r+4>>2],e[k+(l*12|0)+8>>2]=e[r+8>>2],r=_+12|0,(u|0)==(A|0))b=_;else for(l=u,u=_;;)if(_=u+-12|0,k=l,l=l+-12|0,e[_>>2]=e[l>>2],e[u+-8>>2]=e[k+-8>>2],e[u+-4>>2]=e[k+-4>>2],(l|0)==(A|0)){b=_;break}else u=_;e[i>>2]=b,e[t>>2]=r,e[n>>2]=o,f&&Y(f)}function Ku(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;t=i+4|0,i=e[t>>2]|0;do if(i|0){n=j[r+11>>0]|0,f=n<<24>>24<0,l=f?e[r+4>>2]|0:n&255,n=f?e[r>>2]|0:r,f=t,o=i;do A=o+16|0,u=j[A+11>>0]|0,s=u<<24>>24<0,_=s?e[o+20>>2]|0:u&255,u=l>>>0<_>>>0,h=u?l:_,(h|0)!=0&&(k=E2(s?e[A>>2]|0:A,n,h)|0,(k|0)!=0)?b=k:b=_>>>0<l>>>0?-1:u&1,u=(b|0)<0,f=u?f:o,o=e[(u?o+4|0:o)>>2]|0;while((o|0)!=0);if((f|0)!=(t|0)){if(o=f+16|0,u=j[o+11>>0]|0,_=u<<24>>24<0,k=_?e[f+20>>2]|0:u&255,u=k>>>0<l>>>0?k:l,u|0&&(h=E2(n,_?e[o>>2]|0:o,u)|0,h|0)){if((h|0)<0)break;return p=f,p|0}if(l>>>0>=k>>>0)return p=f,p|0}}while(0);return p=t,p|0}function au(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(t=e[r+88>>2]|0,!t||(e[t>>2]|0)!=1)return n=0,n|0;if(f=t+8|0,t=e[f>>2]|0,e[i+4>>2]=J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,l=i+8|0,o=r+24|0,r=j[o>>0]|0,A=r<<24>>24,u=i+12|0,s=e[l>>2]|0,_=(e[u>>2]|0)-s>>2,h=s,_>>>0>=A>>>0?_>>>0>A>>>0?(e[u>>2]=h+(A<<2),k=r,b=t):(k=r,b=t):(u2(l,A-_|0),k=j[o>>0]|0,b=e[f>>2]|0),f=b+4|0,o=J[f>>0]|J[f+1>>0]<<8|J[f+2>>0]<<16|J[f+3>>0]<<24,k<<24>>24>0)for(f=e[l>>2]|0,l=k<<24>>24,k=o,_=4,A=0;;)if(e[f+(A<<2)>>2]=k,_=_+4|0,A=A+1|0,t=b+_|0,r=J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,(A|0)>=(l|0)){p=r;break}else k=r;else p=o;return e[i+20>>2]=p,n=1,n|0}function Di(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(r=i+128|0,t=e[r>>2]|0,t|0){if(n=i+132|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do f=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[f+-8>>2]=A,Y(A));while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}if(l=i+116|0,t=e[l>>2]|0,t|0){if(n=i+120|0,r=e[n>>2]|0,(r|0)==(t|0))u=t;else{o=r;do r=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[r+-8>>2]=A,Y(A));while((o|0)!=(t|0));u=e[l>>2]|0}e[n>>2]=t,Y(u)}if(u=e[i+104>>2]|0,u|0&&(e[i+108>>2]=u,Y(u)),u=e[i+92>>2]|0,!u){s=i+72|0,L2(s),_=i+52|0,L2(_),h=i+32|0,L2(h);return}e[i+96>>2]=u,Y(u),s=i+72|0,L2(s),_=i+52|0,L2(_),h=i+32|0,L2(h)}function It(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=U,U=U+224|0,f=n+120|0,l=n+80|0,o=n,A=n+136|0,u=l,s=u+40|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(s|0));return e[f>>2]=e[t>>2],(yr(0,r,f,o,l)|0)<0?_=-1:((e[i+76>>2]|0)>-1?h=Ie(i)|0:h=0,t=e[i>>2]|0,u=t&32,(j[i+74>>0]|0)<1&&(e[i>>2]=t&-33),t=i+48|0,e[t>>2]|0?d=yr(i,r,f,o,l)|0:(s=i+44|0,k=e[s>>2]|0,e[s>>2]=A,b=i+28|0,e[b>>2]=A,p=i+20|0,e[p>>2]=A,e[t>>2]=80,w=i+16|0,e[w>>2]=A+80,A=yr(i,r,f,o,l)|0,k?(Ze[e[i+36>>2]&31](i,0,0)|0,m=(e[p>>2]|0)==0?-1:A,e[s>>2]=k,e[t>>2]=0,e[w>>2]=0,e[b>>2]=0,e[p>>2]=0,d=m):d=A),l=e[i>>2]|0,e[i>>2]=l|u,h|0&&ie(i),_=(l&32|0)==0?d:-1),U=n,_|0}function Zt(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(r=i+8|0,t=e[r>>2]|0,n=t+84|0,f=i+16|0,j[n>>0]|0||(i=e[f>>2]|0,!i)||(o=i+84|0,!(j[o>>0]|0))||(A=t+68|0,u=t+72|0,t=(e[u>>2]|0)-(e[A>>2]|0)>>2,j[o>>0]=0,o=i+68|0,s=i+72|0,i=e[o>>2]|0,_=(e[s>>2]|0)-i>>2,t>>>0<=_>>>0?t>>>0<_>>>0?(e[s>>2]=i+(t<<2),h=u,k=A,b=n):(h=u,k=A,b=n):(z2(o,t-_|0,1404),_=e[r>>2]|0,h=_+72|0,k=_+68|0,b=_+84|0),j[b>>0]|0)||(b=e[k>>2]|0,k=b,_=(e[h>>2]|0)-b|0,b=_>>2,!_))return l=e[f>>2]|0,l|0;_=e[(e[f>>2]|0)+68>>2]|0,h=0;do e[_+(h<<2)>>2]=e[k+(h<<2)>>2],h=h+1|0;while(h>>>0<b>>>0);return l=e[f>>2]|0,l|0}function z2(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(n=i+8|0,f=e[n>>2]|0,l=i+4|0,o=e[l>>2]|0,A=o,f-o>>2>>>0>=r>>>0){for(u=r,s=A;e[s>>2]=e[t>>2],u=u+-1|0,u;)s=s+4|0;e[l>>2]=A+(r<<2);return}A=e[i>>2]|0,s=o-A|0,o=s>>2,u=o+r|0,u>>>0>1073741823&&W0(i),_=f-A|0,f=_>>1,h=_>>2>>>0<536870911?f>>>0<u>>>0?u:f:1073741823;do if(h)if(h>>>0>1073741823)f=T2(8)|0,F2(f,13552),e[f>>2]=4908,U2(f|0,1128,105);else{f=v0(h<<2)|0,k=f,b=f;break}else k=0,b=0;while(0);for(f=k+(o<<2)|0,o=k+(h<<2)|0,h=r,u=f;e[u>>2]=e[t>>2],h=h+-1|0,h;)u=u+4|0;(s|0)>0&&S0(b|0,A|0,s|0)|0,e[i>>2]=k,e[l>>2]=f+(r<<2),e[n>>2]=o,A&&Y(A)}function Wt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;f=U,U=U+64|0,l=f,o=e[i>>2]|0,A=i+(e[o+-8>>2]|0)|0,u=e[o+-4>>2]|0,e[l>>2]=t,e[l+4>>2]=i,e[l+8>>2]=r,e[l+12>>2]=n,n=l+16|0,r=l+20|0,i=l+24|0,o=l+28|0,s=l+32|0,_=l+40|0,h=n,k=h+36|0;do e[h>>2]=0,h=h+4|0;while((h|0)<(k|0));P0[n+36>>1]=0,j[n+38>>0]=0;e:do if(Je(u,t,0)|0)e[l+48>>2]=1,H1[e[(e[u>>2]|0)+20>>2]&3](u,l,A,A,1,0),b=(e[i>>2]|0)==1?A:0;else{switch(u4[e[(e[u>>2]|0)+24>>2]&3](u,l,A,1,0),e[l+36>>2]|0){case 0:{b=(e[_>>2]|0)==1&(e[o>>2]|0)==1&(e[s>>2]|0)==1?e[r>>2]|0:0;break e}case 1:break;default:{b=0;break e}}if((e[i>>2]|0)!=1&&!((e[_>>2]|0)==0&(e[o>>2]|0)==1&(e[s>>2]|0)==1)){b=0;break}b=e[n>>2]|0}while(0);return U=f,b|0}function $u(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=a0;if(t=U,U=U+32|0,n=t+16|0,f=t,l=i+8|0,o=j[(e[l>>2]|0)+24>>0]<<2,A=e[i+16>>2]|0,e[A+80>>2]|0?u=(e[e[A>>2]>>2]|0)+(e[A+48>>2]|0)|0:u=0,e[f>>2]=-1,e[f+4>>2]=-1,e[f+8>>2]=-1,e[f+12>>2]=-1,A=e[i+24>>2]|0,(A+-2|0)>>>0>28)return s=0,U=t,s|0;if(e[f>>2]=A,i=1<<A,e[f+4>>2]=i+-1,A=i+-2|0,i=f+8|0,e[i>>2]=A,e[f+12>>2]=(A|0)/2|0,!r)return s=1,U=t,s|0;for(_=0,h=0,k=0,b=A;;){if(p=o0(o0(1)/o0(b|0)),Gu(f,o0(p*o0(e[u+(_<<2)>>2]|0)),o0(p*o0(e[u+((_|1)<<2)>>2]|0)),n),S0((e[e[(e[l>>2]|0)+64>>2]>>2]|0)+k|0,n|0,o|0)|0,A=h+1|0,(A|0)==(r|0)){s=1;break}_=_+2|0,h=A,k=k+o|0,b=e[i>>2]|0}return U=t,s|0}function gu(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0;n=(e[i>>2]|0)+1794895138|0,f=yi(e[i+8>>2]|0,n)|0,l=yi(e[i+12>>2]|0,n)|0,o=yi(e[i+16>>2]|0,n)|0;e:do if(f>>>0<r>>>2>>>0&&(A=r-(f<<2)|0,l>>>0<A>>>0&o>>>0<A>>>0)&&((o|l)&3|0)==0){for(A=l>>>2,u=o>>>2,s=0,_=f;;){if(h=_>>>1,k=s+h|0,b=k<<1,p=b+A|0,w=yi(e[i+(p<<2)>>2]|0,n)|0,d=yi(e[i+(p+1<<2)>>2]|0,n)|0,!(d>>>0<r>>>0&w>>>0<(r-d|0)>>>0)){m=0;break e}if(j[i+(d+w)>>0]|0){m=0;break e}if(w=X_(t,i+d|0)|0,!w)break;if(d=(w|0)<0,(_|0)==1){m=0;break e}s=d?s:k,_=d?h:_-h|0}_=b+u|0,s=yi(e[i+(_<<2)>>2]|0,n)|0,A=yi(e[i+(_+1<<2)>>2]|0,n)|0,A>>>0<r>>>0&s>>>0<(r-A|0)>>>0?m=(j[i+(A+s)>>0]|0)==0?i+A|0:0:m=0}else m=0;while(0);return m|0}function e8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,o=l,n-l>>2>>>0>=r>>>0){for(A=r,u=o;e[u>>2]=1,A=A+-1|0,A;)u=u+4|0;e[f>>2]=o+(r<<2);return}o=e[i>>2]|0,u=l-o|0,l=u>>2,A=l+r|0,A>>>0>1073741823&&W0(i),s=n-o|0,n=s>>1,_=s>>2>>>0<536870911?n>>>0<A>>>0?A:n:1073741823;do if(_)if(_>>>0>1073741823)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{n=v0(_<<2)|0,h=n,k=n;break}else h=0,k=0;while(0);for(n=h+(l<<2)|0,l=h+(_<<2)|0,_=r,A=n;e[A>>2]=1,_=_+-1|0,_;)A=A+4|0;(u|0)>0&&S0(k|0,o|0,u|0)|0,e[i>>2]=h,e[f>>2]=n+(r<<2),e[t>>2]=l,o&&Y(o)}function U1(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(r=i+12|0,t=e[i>>2]|0,n=i+8|0,f=e[n>>2]|0,l=(f|0)==-1,!(j[r>>0]|0)){do if(!l&&(o=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(o|0)!=-1)&&(A=e[(e[t+12>>2]|0)+(o<<2)>>2]|0,(A|0)!=-1))if((A>>>0)%3|0){u=A+-1|0;break}else{u=A+2|0;break}else u=-1;while(0);e[n>>2]=u;return}if(u=f+1|0,!l&&(l=((u>>>0)%3|0|0)==0?f+-2|0:u,(l|0)!=-1)&&(u=e[(e[t+12>>2]|0)+(l<<2)>>2]|0,l=u+1|0,(u|0)!=-1)){if(f=((l>>>0)%3|0|0)==0?u+-2|0:l,e[n>>2]=f,(f|0)!=-1){if((f|0)!=(e[i+4>>2]|0))return;e[n>>2]=-1;return}}else e[n>>2]=-1;f=e[i+4>>2]|0;do if((f|0)!=-1&&(i=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(i|0)!=-1)&&(l=e[(e[t+12>>2]|0)+(i<<2)>>2]|0,(l|0)!=-1))if((l>>>0)%3|0){s=l+-1|0;break}else{s=l+2|0;break}else s=-1;while(0);e[n>>2]=s,j[r>>0]=0}function i8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;n=i+12|0;e:do if((e[n>>2]|0)!=(r|0)){if(f=e[i>>2]|0,l=i+4|0,o=e[l>>2]|0,(o|0)!=(f|0)){A=o;do A=A+-12|0,(j[A+11>>0]|0)<0&&Y(e[A>>2]|0);while((A|0)!=(f|0))}if(e[l>>2]=f,e[n>>2]=r,A=e[r+8>>2]|0,A|0)for(o=i+8|0,u=A,A=f;;){if(s=u+8|0,(A|0)==(e[o>>2]|0)?Zu(i,s):(c2(A,s),e[l>>2]=(e[l>>2]|0)+12),s=e[u>>2]|0,!s)break e;u=s,A=e[l>>2]|0}}while(0);return(t|0)<0||(r=e[i>>2]|0,(((e[i+4>>2]|0)-r|0)/12|0)>>>0<=t>>>0)?(_=0,_|0):(i=r+(t*12|0)|0,(j[i+11>>0]|0)<0?(_=e[i>>2]|0,_|0):(_=i,_|0))}function r8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;return t=U,U=U+32|0,n=t+12|0,f=t,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,l=Ee(r)|0,l>>>0>4294967279&&W0(n),l>>>0<11?(j[n+11>>0]=l,l?(A=n,u=6):o=n):(s=l+16&-16,_=v0(s)|0,e[n>>2]=_,e[n+8>>2]=s|-2147483648,e[n+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,r|0,l|0)|0,o=A),j[o+l>>0]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=f+11|0,j[l>>0]=4,e[f>>2]=1701667182,j[f+4>>0]=0,o=e[i+4>>2]|0,(o|0)!=0&&(A=At(o,f,n)|0,(A|0)!=0)?h=_f(i,e[A+40>>2]|0)|0:h=-1,(j[l>>0]|0)<0&&Y(e[f>>2]|0),(j[n+11>>0]|0)>=0?(U=t,h|0):(Y(e[n>>2]|0),U=t,h|0)}function t8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0;l=U,U=U+64|0,n=l+16|0,o=l,A=i+8|0,e[A>>2]=f,u=i+32|0,s=i+36|0,_=e[u>>2]|0,h=(e[s>>2]|0)-_>>2,h>>>0>=f>>>0?h>>>0>f>>>0&&(e[s>>2]=_+(f<<2)):u2(u,f-h|0),h=n,u=h+48|0;do e[h>>2]=0,h=h+4|0;while((h|0)<(u|0));if(e[o>>2]=0,f?(z2(n,f,o),k=e[n+12>>2]|0,b=e[n+16>>2]|0):(k=0,b=0),e[o>>2]=0,h=n+16|0,u=b-k>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[h>>2]=k+(f<<2)):z2(n+12|0,f-u|0,o),u=n+24|0,e[o>>2]=0,k=n+28|0,h=e[u>>2]|0,b=(e[k>>2]|0)-h>>2,b>>>0>=f>>>0?b>>>0>f>>>0&&(e[k>>2]=h+(f<<2)):z2(u,f-b|0,o),b=n+36|0,e[o>>2]=0,u=n+40|0,h=e[b>>2]|0,k=(e[u>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[u>>2]=h+(f<<2)):z2(b,f-k|0,o),k=e[n>>2]|0,(e[A>>2]|0)>0){b=i+16|0,h=i+32|0,u=i+12|0,_=0;do{s=e[k+(_<<2)>>2]|0,p=e[b>>2]|0;do if((s|0)<=(p|0))if(w=e[u>>2]|0,d=e[h>>2]|0,m=d+(_<<2)|0,(s|0)<(w|0)){e[m>>2]=w,c=d;break}else{e[m>>2]=s,c=d;break}else d=e[h>>2]|0,e[d+(_<<2)>>2]=p,c=d;while(0);_=_+1|0,y=e[A>>2]|0}while((_|0)<(y|0));if((y|0)>0){y=i+20|0,_=0;do h=(e[r+(_<<2)>>2]|0)+(e[c+(_<<2)>>2]|0)|0,k=t+(_<<2)|0,e[k>>2]=h,(h|0)<=(e[b>>2]|0)?(h|0)<(e[u>>2]|0)&&(V=(e[y>>2]|0)+h|0,v=19):(V=h-(e[y>>2]|0)|0,v=19),(v|0)==19&&(v=0,e[k>>2]=V),_=_+1|0;while((_|0)<(e[A>>2]|0))}}_=e[i+48>>2]|0,V=e[i+52>>2]|0,y=v0(16)|0,e[y>>2]=0,e[y+4>>2]=0,e[y+8>>2]=0,e[y+12>>2]=0,e[o>>2]=0,u=o+4|0,e[u>>2]=0,b=o+8|0,e[b>>2]=0;do if(f)if(f>>>0>1073741823)W0(o);else{c=f<<2,k=v0(c)|0,e[o>>2]=k,h=k+(f<<2)|0,e[b>>2]=h,E0(k|0,0,c|0)|0,e[u>>2]=h,T=k;break}else T=0;while(0);b=e[i+56>>2]|0,k=e[b>>2]|0,h=(e[b+4>>2]|0)-k|0,c=h>>2;e:do if((h|0)>4){for(p=k,s=(f|0)>0,d=_+12|0,m=i+16|0,w=i+32|0,R=i+12|0,N=i+20|0,G=f<<2,F=(f|0)==1,E=1;;){if(c>>>0<=E>>>0){v=30;break}Z=e[p+(E<<2)>>2]|0;do if((Z|0)!=-1){Q=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0,z=(Q|0)==-1,C=e[d>>2]|0,W=C+(Q<<2)|0,Q=1,I=0,D=Z;i:for(;;){if(L=e[n+(I*12|0)>>2]|0,O=e[C+(D<<2)>>2]|0,(O|0)!=-1)if(x=e[_>>2]|0,X=e[V>>2]|0,B=e[X+(e[x+(O<<2)>>2]<<2)>>2]|0,M=O+1|0,P=((M>>>0)%3|0|0)==0?O+-2|0:M,(P|0)==-1?q=-1:q=e[x+(P<<2)>>2]|0,P=e[X+(q<<2)>>2]|0,M=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(M|0)==-1?g=-1:g=e[x+(M<<2)>>2]|0,M=e[X+(g<<2)>>2]|0,(B|0)<(E|0)&(P|0)<(E|0)&(M|0)<(E|0)){if(X=Z0(B,f)|0,B=Z0(P,f)|0,P=Z0(M,f)|0,s){M=0;do e[L+(M<<2)>>2]=(e[t+(M+P<<2)>>2]|0)+(e[t+(M+B<<2)>>2]|0)-(e[t+(M+X<<2)>>2]|0),M=M+1|0;while((M|0)!=(f|0))}if(M=I+1|0,(M|0)==4){n0=4;break}else l0=M}else l0=I;else l0=I;do if(Q)M=D+1|0,X=((M>>>0)%3|0|0)==0?D+-2|0:M,(X|0)!=-1&&(M=e[C+(X<<2)>>2]|0,X=M+1|0,(M|0)!=-1)?t0=((X>>>0)%3|0|0)==0?M+-2|0:X:t0=-1;else if(X=(((D>>>0)%3|0|0)==0?2:-1)+D|0,(X|0)!=-1&&(M=e[C+(X<<2)>>2]|0,(M|0)!=-1))if((M>>>0)%3|0){t0=M+-1|0;break}else{t0=M+2|0;break}else t0=-1;while(0);if((t0|0)==(Z|0)){v=59;break}M=(t0|0)!=-1,X=M|Q^1;do if(X|z)a=M&Q,$=X?t0:-1;else{if(B=e[W>>2]|0,(B|0)==-1){v=59;break i}if((B>>>0)%3|0){a=0,$=B+-1|0;break}else{a=0,$=B+2|0;break}}while(0);if(($|0)==-1){v=59;break}else Q=a,I=l0,D=$}if((v|0)==59)if(v=0,(l0|0)>0)n0=l0;else{v=60;break}if(s)for(E0(e[o>>2]|0,0,G|0)|0,D=n0+-1|0,I=y+(D<<2)|0,Q=i+60+(D*12|0)+4|0,W=i+60+(D*12|0)|0,D=e[o>>2]|0,z=0,C=0;;){if(X=e[I>>2]|0,e[I>>2]=X+1,(e[Q>>2]|0)>>>0<=X>>>0){e0=D,f0=0;break e}if(e[(e[W>>2]|0)+(X>>>5<<2)>>2]&1<<(X&31))A0=C;else{X=e[n+(z*12|0)>>2]|0,M=0;do B=D+(M<<2)|0,e[B>>2]=(e[B>>2]|0)+(e[X+(M<<2)>>2]|0),M=M+1|0;while((M|0)!=(f|0));A0=C+1|0}if(z=z+1|0,(z|0)>=(n0|0)){_0=A0;break}else C=A0}else for(C=n0+-1|0,z=y+(C<<2)|0,D=i+60+(C*12|0)|0,W=e[o>>2]|0,Q=e[i+60+(C*12|0)+4>>2]|0,C=0,I=0,M=e[z>>2]|0;;){if(X=M,M=M+1|0,e[z>>2]=M,Q>>>0<=X>>>0){e0=W,f0=0;break e}if(B=I+((e[(e[D>>2]|0)+(X>>>5<<2)>>2]&1<<(X&31)|0)==0&1)|0,C=C+1|0,(C|0)>=(n0|0)){_0=B;break}else I=B}if(I=Z0(E,f)|0,_0){if(C=e[o>>2]|0,s&&(e[C>>2]=(e[C>>2]|0)/(_0|0)|0,!F)){D=1;do W=C+(D<<2)|0,e[W>>2]=(e[W>>2]|0)/(_0|0)|0,D=D+1|0;while((D|0)!=(f|0))}if(D=r+(I<<2)|0,W=t+(I<<2)|0,(e[A>>2]|0)>0){Q=0;do{M=e[C+(Q<<2)>>2]|0,z=e[m>>2]|0;do if((M|0)<=(z|0))if(B=e[R>>2]|0,X=e[w>>2]|0,P=X+(Q<<2)|0,(M|0)<(B|0)){e[P>>2]=B,h0=X;break}else{e[P>>2]=M,h0=X;break}else X=e[w>>2]|0,e[X+(Q<<2)>>2]=z,h0=X;while(0);Q=Q+1|0,p0=e[A>>2]|0}while((Q|0)<(p0|0));if((p0|0)>0){Q=0;do{C=(e[D+(Q<<2)>>2]|0)+(e[h0+(Q<<2)>>2]|0)|0,z=W+(Q<<2)|0,e[z>>2]=C;do if((C|0)>(e[m>>2]|0))j0=C-(e[N>>2]|0)|0,v=106;else{if((C|0)>=(e[R>>2]|0))break;j0=(e[N>>2]|0)+C|0,v=106}while(0);(v|0)==106&&(v=0,e[z>>2]=j0),Q=Q+1|0}while((Q|0)<(e[A>>2]|0))}}}else y0=I,v=73}else v=60;while(0);if((v|0)==60&&(v=0,y0=Z0(E,f)|0,v=73),(v|0)==73&&(v=0,Z=t+((Z0(E+-1|0,f)|0)<<2)|0,Q=r+(y0<<2)|0,W=t+(y0<<2)|0,(e[A>>2]|0)>0)){D=0;do{C=e[Z+(D<<2)>>2]|0,M=e[m>>2]|0;do if((C|0)<=(M|0))if(X=e[R>>2]|0,P=e[w>>2]|0,B=P+(D<<2)|0,(C|0)<(X|0)){e[B>>2]=X,k0=P;break}else{e[B>>2]=C,k0=P;break}else P=e[w>>2]|0,e[P+(D<<2)>>2]=M,k0=P;while(0);D=D+1|0,N0=e[A>>2]|0}while((D|0)<(N0|0));if((N0|0)>0){D=0;do Z=(e[Q+(D<<2)>>2]|0)+(e[k0+(D<<2)>>2]|0)|0,M=W+(D<<2)|0,e[M>>2]=Z,(Z|0)<=(e[m>>2]|0)?(Z|0)<(e[R>>2]|0)&&(V0=(e[N>>2]|0)+Z|0,v=87):(V0=Z-(e[N>>2]|0)|0,v=87),(v|0)==87&&(v=0,e[M>>2]=V0),D=D+1|0;while((D|0)<(e[A>>2]|0))}}if(E=E+1|0,(E|0)>=(c|0)){v=110;break}}if((v|0)==30)W0(b);else if((v|0)==110){e0=e[o>>2]|0,f0=1;break}}else e0=T,f0=1;while(0);return e0|0&&(e[u>>2]=e0,Y(e0)),Y(y),y=e[n+36>>2]|0,y|0&&(e[n+40>>2]=y,Y(y)),y=e[n+24>>2]|0,y|0&&(e[n+28>>2]=y,Y(y)),y=e[n+12>>2]|0,y|0&&(e[n+16>>2]=y,Y(y)),y=e[n>>2]|0,y?(e[n+4>>2]=y,Y(y),U=l,f0|0):(U=l,f0|0)}function f8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=a0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0;if(t=U,U=U+720|0,n=t,f=t+688|0,l=t+656|0,o=t+4|0,(b2[r+38>>1]|0)>514){e[l>>2]=0,A=l+4|0,e[A>>2]=0,e[l+8>>2]=0,u=r+8|0,s=r+16|0,_=f+4|0,h=f+8|0,k=i+36|0,b=i+40|0,p=i+60|0,w=i+44|0,d=f+8|0,m=f+12|0,c=f+20|0,y=0;e:for(;;){if((y|0)>=(K0[e[(e[i>>2]|0)+24>>2]&127](i)|0)){V=26;break}if(v=_2[e[(e[i>>2]|0)+20>>2]&127](i,y)|0,T=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,R=e[(e[(e[T>>2]|0)+8>>2]|0)+(v<<2)>>2]|0,(e[R+28>>2]|0)==9){if(v=j[R+24>>0]|0,R=e[l>>2]|0,T=(e[A>>2]|0)-R>>2,T>>>0>=v>>>0?T>>>0>v>>>0&&(e[A>>2]=R+(v<<2)):u2(l,v-T|0),T=v<<2,R=u,N=e[R>>2]|0,G=e[R+4>>2]|0,R=s,F=e[R>>2]|0,E=i0(F|0,e[R+4>>2]|0,T|0,0)|0,R=H,(G|0)<(R|0)|(G|0)==(R|0)&N>>>0<E>>>0){Z=0;break}if(S0(e[l>>2]|0,(e[r>>2]|0)+F|0,T|0)|0,F=s,E=i0(e[F>>2]|0,e[F+4>>2]|0,T|0,0)|0,T=H,F=s,e[F>>2]=E,e[F+4>>2]=T,F=u,N=e[F>>2]|0,R=e[F+4>>2]|0,F=i0(E|0,T|0,4,0)|0,G=H,(R|0)<(G|0)|(R|0)==(G|0)&N>>>0<F>>>0){Z=0;break}if(Q=e[r>>2]|0,z=Q+E|0,j[I2>>0]=j[z>>0],j[I2+1>>0]=j[z+1>>0],j[I2+2>>0]=j[z+2>>0],j[I2+3>>0]=j[z+3>>0],C=o0(q0[I2>>2]),z=s,e[z>>2]=F,e[z+4>>2]=G,!((R|0)>(G|0)|(R|0)==(G|0)&N>>>0>F>>>0)){Z=0;break}if(N=j[Q+F>>0]|0,F=i0(E|0,T|0,5,0)|0,T=s,e[T>>2]=F,e[T+4>>2]=H,(N&255)>31){Z=0;break}e[f>>2]=1228,e[_>>2]=-1,e[h>>2]=0,e[h+4>>2]=0,e[h+8>>2]=0,e[h+12>>2]=0,bf(f,N&255,e[l>>2]|0,v,C);do if(Sr(f,e[(e[p>>2]|0)+((((e[b>>2]|0)-(e[k>>2]|0)|0)/24|0)<<2)>>2]|0)|0){if(v=e[b>>2]|0,(v|0)==(e[w>>2]|0)){Do(k,f),W=0;break}if(e[v>>2]=1228,e[v+4>>2]=e[_>>2],I=v+8|0,e[I>>2]=0,N=v+12|0,e[N>>2]=0,T=v+16|0,e[T>>2]=0,F=(e[m>>2]|0)-(e[d>>2]|0)|0,E=F>>2,F|0){if(E>>>0>1073741823){V=17;break e}Q=v0(F)|0,e[N>>2]=Q,e[I>>2]=Q,e[T>>2]=Q+(E<<2),E=e[d>>2]|0,T=(e[m>>2]|0)-E|0,(T|0)>0&&(S0(Q|0,E|0,T|0)|0,e[N>>2]=Q+(T>>>2<<2))}e[v+20>>2]=e[c>>2],e[b>>2]=(e[b>>2]|0)+24,W=0}else W=1;while(0);if(e[f>>2]=1228,v=e[h>>2]|0,v|0&&(e[m>>2]=v,Y(v)),W|0){Z=0;break}}y=y+1|0}if((V|0)==17&&W0(I),(V|0)==26)if(I=i+48|0,y=i+52|0,(e[y>>2]|0)==(e[I>>2]|0))Z=1;else for(W=0,m=0;;)if(t2(f,r)|0?(h=e[f>>2]|0,D=h<<31>>31^h>>>1):D=m,h=e[I>>2]|0,e[h+(W<<2)>>2]=D,W=W+1|0,W>>>0>=(e[y>>2]|0)-h>>2>>>0){Z=1;break}else m=D;return D=e[l>>2]|0,D|0&&(e[A>>2]=D,Y(D)),L=Z,U=t,L|0}if(Z=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,e[f>>2]=0,D=f+4|0,e[D>>2]=0,A=f+8|0,e[A>>2]=0,m=(Z|0)==0,m)O=0,x=e[(e[i>>2]|0)+20>>2]|0,X=i;else for(Z>>>0>214748364&&W0(f),y=Z*20|0,W=v0(y)|0,e[f>>2]=W,e[A>>2]=W+(Z*20|0),E0(W|0,0,y|0)|0,e[D>>2]=W+y,y=0,W=0,A=e[(e[i>>2]|0)+20>>2]|0;;)if(I=_2[A&127](i,y)|0,h=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,b=e[(e[(e[h>>2]|0)+8>>2]|0)+(I<<2)>>2]|0,I=e[b+28>>2]|0,h=di(I)|0,c=j[b+24>>0]|0,d=e[f>>2]|0,e[d+(y*20|0)>>2]=b,e[d+(y*20|0)+4>>2]=W,e[d+(y*20|0)+8>>2]=I,e[d+(y*20|0)+12>>2]=(h|0)>0?h:0,e[d+(y*20|0)+16>>2]=c,d=W+c|0,y=y+1|0,c=e[(e[i>>2]|0)+20>>2]|0,y>>>0>=Z>>>0){O=d,x=c,X=i;break}else W=d,A=c;A=_2[x&127](i,0)|0,x=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,W=e[(e[(e[x>>2]|0)+8>>2]|0)+(A<<2)>>2]|0,j[W+84>>0]=1,e[W+72>>2]=e[W+68>>2],A=r+8|0,x=e[A>>2]|0,y=e[A+4>>2]|0,A=r+16|0,c=A,d=e[c>>2]|0,h=e[c+4>>2]|0;e:do if((y|0)>(h|0)|(y|0)==(h|0)&x>>>0>d>>>0){switch(c=e[r>>2]|0,I=j[c+d>>0]|0,b=i0(d|0,h|0,1,0)|0,_=H,k=A,e[k>>2]=b,e[k+4>>2]=_,I<<24>>24){case 0:{if(!((y|0)>(_|0)|(y|0)==(_|0)&x>>>0>b>>>0)){B=0;break e}if(I=i0(d|0,h|0,2,0)|0,k=A,e[k>>2]=I,e[k+4>>2]=H,k=i0(d|0,h|0,6,0)|0,w=H,(y|0)<(w|0)|(y|0)==(w|0)&x>>>0<k>>>0){B=0;break e}if(p=c+I|0,I=J[p>>0]|J[p+1>>0]<<8|J[p+2>>0]<<16|J[p+3>>0]<<24,p=A,e[p>>2]=k,e[p+4>>2]=w,Oi(W,I)|0,fh(l),wr(o,f),I=ao(l,r,o)|0,w=e[o+16>>2]|0,w|0&&(e[o+20>>2]=w,Y(w)),w=e[o>>2]|0,w|0&&(e[o+4>>2]=w,Y(w)),!I){B=0;break e}break}case 1:{if(!((y|0)>(_|0)|(y|0)==(_|0)&x>>>0>b>>>0)){B=0;break e}if(_=j[c+b>>0]|0,b=i0(d|0,h|0,2,0)|0,I=A,e[I>>2]=b,e[I+4>>2]=H,(_&255)>6){e[n>>2]=_&255,jf(5094,n)|0,B=0;break e}if(I=i0(d|0,h|0,6,0)|0,w=H,(y|0)<(w|0)|(y|0)==(w|0)&x>>>0<I>>>0){B=0;break e}if(p=c+b|0,b=J[p>>0]|J[p+1>>0]<<8|J[p+2>>0]<<16|J[p+3>>0]<<24,p=A,e[p>>2]=I,e[p+4>>2]=w,!m){w=0;do p=_2[e[(e[X>>2]|0)+20>>2]&127](i,w)|0,I=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,c=e[(e[(e[I>>2]|0)+8>>2]|0)+(p<<2)>>2]|0,Oi(c,b)|0,j[c+84>>0]=1,e[c+72>>2]=e[c+68>>2],w=w+1|0;while(w>>>0<Z>>>0)}switch(wr(l,f),_<<24>>24){case 0:{Fi(o,O),w=bt(o,r,l)|0,Wi(o),w?V=65:M=1;break}case 1:{Fi(o,O),w=ht(o,r,l)|0,Wi(o),w?V=65:M=1;break}case 2:{Ei(o,O),w=wt(o,r,l)|0,Di(o),w?V=65:M=1;break}case 3:{Ei(o,O),w=pt(o,r,l)|0,Di(o),w?V=65:M=1;break}case 4:{Xe(o,O),w=kt(o,r,l)|0,He(o),w?V=65:M=1;break}case 5:{Xe(o,O),w=_t(o,r,l)|0,He(o),w?V=65:M=1;break}case 6:{Xe(o,O),w=ut(o,r,l)|0,He(o),w?V=65:M=1;break}default:M=1}if((V|0)==65&&(M=0),w=e[l+16>>2]|0,w|0&&(e[l+20>>2]=w,Y(w)),w=e[l>>2]|0,w|0&&(e[l+4>>2]=w,Y(w)),M|0){B=0;break e}break}default:{B=0;break e}}B=1}else B=0;while(0);return M=e[f>>2]|0,M|0&&(e[D>>2]=M,Y(M)),L=B,U=t,L|0}function yr(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0;l=U,U=U+64|0,o=l+16|0,A=l,u=l+24|0,s=l+8|0,_=l+20|0,e[o>>2]=r,r=(i|0)!=0,h=u+40|0,k=h,b=u+39|0,u=s+4|0,p=0,w=0,d=0;e:for(;;){for(m=p,c=w;;){do if((c|0)>-1)if((m|0)>(2147483647-c|0)){y=Gi()|0,e[y>>2]=75,V=-1;break}else{V=m+c|0;break}else V=c;while(0);if(v=e[o>>2]|0,y=j[v>>0]|0,!(y<<24>>24)){T=94;break e}R=y,y=v;i:for(;;){switch(R<<24>>24){case 37:{T=10;break i}case 0:{N=y;break i}default:}G=y+1|0,e[o>>2]=G,R=j[G>>0]|0,y=G}i:do if((T|0)==10)for(T=0,R=y,G=y;;){if((j[G+1>>0]|0)!=37){N=R;break i}if(F=R+1|0,G=G+2|0,e[o>>2]=G,(j[G>>0]|0)!=37){N=F;break}else R=F}while(0);if(m=N-v|0,r&&J2(i,v,m),m)c=V;else break}if(c=(Ri(j[(e[o>>2]|0)+1>>0]|0)|0)==0,m=e[o>>2]|0,!c&&(j[m+2>>0]|0)==36?(E=(j[m+1>>0]|0)+-48|0,Z=1,Q=3):(E=-1,Z=d,Q=1),c=m+Q|0,e[o>>2]=c,m=j[c>>0]|0,y=(m<<24>>24)+-32|0,y>>>0>31|(1<<y&75913|0)==0)z=0,C=m,W=c;else for(m=0,R=y,y=c;;)if(c=1<<R|m,G=y+1|0,e[o>>2]=G,F=j[G>>0]|0,R=(F<<24>>24)+-32|0,R>>>0>31|(1<<R&75913|0)==0){z=c,C=F,W=G;break}else m=c,y=G;if(C<<24>>24==42){if((Ri(j[W+1>>0]|0)|0)!=0&&(y=e[o>>2]|0,(j[y+2>>0]|0)==36))m=y+1|0,e[f+((j[m>>0]|0)+-48<<2)>>2]=10,I=e[n+((j[m>>0]|0)+-48<<3)>>2]|0,D=1,L=y+3|0;else{if(Z|0){O=-1;break}r?(y=(e[t>>2]|0)+(4-1)&~(4-1),m=e[y>>2]|0,e[t>>2]=y+4,x=m):x=0,I=x,D=0,L=(e[o>>2]|0)+1|0}e[o>>2]=L,m=(I|0)<0,X=m?0-I|0:I,B=m?z|8192:z,M=D,P=L}else{if(m=wf(o)|0,(m|0)<0){O=-1;break}X=m,B=z,M=Z,P=e[o>>2]|0}do if((j[P>>0]|0)==46){if(m=P+1|0,(j[m>>0]|0)!=42){e[o>>2]=m,m=wf(o)|0,q=m,g=e[o>>2]|0;break}if(Ri(j[P+2>>0]|0)|0&&(m=e[o>>2]|0,(j[m+3>>0]|0)==36)){y=m+2|0,e[f+((j[y>>0]|0)+-48<<2)>>2]=10,R=e[n+((j[y>>0]|0)+-48<<3)>>2]|0,y=m+4|0,e[o>>2]=y,q=R,g=y;break}if(M|0){O=-1;break e}r?(y=(e[t>>2]|0)+(4-1)&~(4-1),R=e[y>>2]|0,e[t>>2]=y+4,n0=R):n0=0,R=(e[o>>2]|0)+2|0,e[o>>2]=R,q=n0,g=R}else q=-1,g=P;while(0);for(R=0,y=g;;){if(((j[y>>0]|0)+-65|0)>>>0>57){O=-1;break e}if(m=y,y=y+1|0,e[o>>2]=y,l0=j[(j[m>>0]|0)+-65+(13620+(R*58|0))>>0]|0,t0=l0&255,(t0+-1|0)>>>0>=8)break;R=t0}if(!(l0<<24>>24)){O=-1;break}m=(E|0)>-1;do if(l0<<24>>24==19)if(m){O=-1;break e}else T=54;else{if(m){e[f+(E<<2)>>2]=t0,G=n+(E<<3)|0,c=e[G+4>>2]|0,F=A,e[F>>2]=e[G>>2],e[F+4>>2]=c,T=54;break}if(!r){O=0;break e}st(A,t0,t),a=e[o>>2]|0,T=55}while(0);(T|0)==54&&(T=0,r?(a=y,T=55):$=0);i:do if((T|0)==55){T=0,m=j[a+-1>>0]|0,c=(R|0)!=0&(m&15|0)==3?m&-33:m,m=B&-65537,F=(B&8192|0)==0?B:m;r:do switch(c|0){case 110:{switch((R&255)<<24>>24){case 0:{e[e[A>>2]>>2]=V,$=0;break i}case 1:{e[e[A>>2]>>2]=V,$=0;break i}case 2:{G=e[A>>2]|0,e[G>>2]=V,e[G+4>>2]=((V|0)<0)<<31>>31,$=0;break i}case 3:{P0[e[A>>2]>>1]=V,$=0;break i}case 4:{j[e[A>>2]>>0]=V,$=0;break i}case 6:{e[e[A>>2]>>2]=V,$=0;break i}case 7:{G=e[A>>2]|0,e[G>>2]=V,e[G+4>>2]=((V|0)<0)<<31>>31,$=0;break i}default:{$=0;break i}}break}case 112:{e0=120,f0=q>>>0>8?q:8,A0=F|8,T=67;break}case 88:case 120:{e0=c,f0=q,A0=F,T=67;break}case 111:{G=A,_0=e[G>>2]|0,h0=e[G+4>>2]|0,G=s6(_0,h0,h)|0,p0=k-G|0,j0=G,y0=0,k0=14084,N0=(F&8|0)==0|(q|0)>(p0|0)?q:p0+1|0,V0=F,U0=_0,m0=h0,T=73;break}case 105:case 100:{if(h0=A,_0=e[h0>>2]|0,p0=e[h0+4>>2]|0,(p0|0)<0){h0=H0(0,0,_0|0,p0|0)|0,G=H,s0=A,e[s0>>2]=h0,e[s0+4>>2]=G,G0=1,d0=14084,b0=h0,c0=G,T=72;break r}else{G0=(F&2049|0)!=0&1,d0=(F&2048|0)==0?(F&1|0)==0?14084:14086:14085,b0=_0,c0=p0,T=72;break r}break}case 117:{p0=A,G0=0,d0=14084,b0=e[p0>>2]|0,c0=e[p0+4>>2]|0,T=72;break}case 99:{j[b>>0]=e[A>>2],w0=b,R0=0,T0=14084,F0=1,I0=m,D0=k;break}case 109:{p0=Gi()|0,z0=Dh(e[p0>>2]|0)|0,T=77;break}case 115:{p0=e[A>>2]|0,z0=(p0|0)==0?14094:p0,T=77;break}case 67:{e[s>>2]=e[A>>2],e[u>>2]=0,e[A>>2]=s,J0=-1,T=81;break}case 83:{q?(J0=q,T=81):(P2(i,32,X,0,F),Q0=0,T=91);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=i3(i,+D2[A>>3],X,q,F,c)|0;break i}default:w0=v,R0=0,T0=14084,F0=q,I0=F,D0=k}while(0);r:do if((T|0)==67)T=0,c=A,p0=e[c>>2]|0,_0=e[c+4>>2]|0,c=a_(p0,_0,h,e0&32)|0,G=(A0&8|0)==0|(p0|0)==0&(_0|0)==0,j0=c,y0=G?0:2,k0=G?14084:14084+(e0>>>4)|0,N0=f0,V0=A0,U0=p0,m0=_0,T=73;else if((T|0)==72)T=0,j0=Qi(b0,c0,h)|0,y0=G0,k0=d0,N0=q,V0=F,U0=b0,m0=c0,T=73;else if((T|0)==77)T=0,_0=ju(z0,0,q)|0,p0=(_0|0)==0,w0=z0,R0=0,T0=14084,F0=p0?q:_0-z0|0,I0=m,D0=p0?z0+q|0:_0;else if((T|0)==81){for(T=0,_0=e[A>>2]|0,p0=0;;){if(G=e[_0>>2]|0,!G){C0=p0;break}if(c=Zf(_,G)|0,O0=(c|0)<0,O0|c>>>0>(J0-p0|0)>>>0){T=85;break}if(G=c+p0|0,J0>>>0>G>>>0)_0=_0+4|0,p0=G;else{C0=G;break}}if((T|0)==85)if(T=0,O0){O=-1;break e}else C0=p0;if(P2(i,32,X,C0,F),!C0)Q0=0,T=91;else for(_0=e[A>>2]|0,G=0;;){if(c=e[_0>>2]|0,!c){Q0=C0,T=91;break r}if(h0=Zf(_,c)|0,G=h0+G|0,(G|0)>(C0|0)){Q0=C0,T=91;break r}if(J2(i,_,h0),G>>>0>=C0>>>0){Q0=C0,T=91;break}else _0=_0+4|0}}while(0);if((T|0)==73)T=0,m=(U0|0)!=0|(m0|0)!=0,_0=(N0|0)!=0|m,G=k-j0+((m^1)&1)|0,w0=_0?j0:h,R0=y0,T0=k0,F0=_0?(N0|0)>(G|0)?N0:G:0,I0=(N0|0)>-1?V0&-65537:V0,D0=k;else if((T|0)==91){T=0,P2(i,32,X,Q0,F^8192),$=(X|0)>(Q0|0)?X:Q0;break}G=D0-w0|0,_0=(F0|0)<(G|0)?G:F0,m=_0+R0|0,p0=(X|0)<(m|0)?m:X,P2(i,32,p0,m,I0),J2(i,T0,R0),P2(i,48,p0,m,I0^65536),P2(i,48,_0,G,0),J2(i,w0,G),P2(i,32,p0,m,I0^8192),$=p0}while(0);p=$,w=V,d=M}e:do if((T|0)==94)if(i)O=V;else if(!d)O=0;else{for(M=1;w=e[f+(M<<2)>>2]|0,!!w;)if(st(n+(M<<3)|0,w,t),w=M+1|0,w>>>0<10)M=w;else{O=1;break e}for(w=M;;){if(e[f+(w<<2)>>2]|0){O=-1;break e}if(w=w+1|0,w>>>0>=10){O=1;break}}}while(0);return U=l,O|0}function n8(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0;r=U,U=U+32|0,t=r+20|0,n=r+16|0,f=r+4|0,l=r,o=i+36|0,A=i+37|0,u=i+32|0,s=e[u>>2]|0;do if((((J[o>>0]|0)<<8|(J[A>>0]|0))&65535)<514){if(_=s+8|0,h=e[_>>2]|0,k=e[_+4>>2]|0,_=s+16|0,b=_,p=e[b>>2]|0,w=e[b+4>>2]|0,b=i0(p|0,w|0,4,0)|0,d=H,(k|0)<(d|0)|(k|0)==(d|0)&h>>>0<b>>>0||(c=(e[s>>2]|0)+p|0,y=J[c>>0]|J[c+1>>0]<<8|J[c+2>>0]<<16|J[c+3>>0]<<24,e[t>>2]=y,c=_,e[c>>2]=b,e[c+4>>2]=d,d=i0(p|0,w|0,8,0)|0,w=H,(k|0)<(w|0)|(k|0)==(w|0)&h>>>0<d>>>0))return m=0,U=r,m|0;h=(e[s>>2]|0)+b|0,e[n>>2]=J[h>>0]|J[h+1>>0]<<8|J[h+2>>0]<<16|J[h+3>>0]<<24,h=_,e[h>>2]=d,e[h+4>>2]=w,V=y;break}else{if(!(t2(t,s)|0))return m=0,U=r,m|0;if(t2(n,e[u>>2]|0)|0){V=e[t>>2]|0;break}else return m=0,U=r,m|0}while(0);if(V>>>0>1431655765||(s=e[n>>2]|0,y=Y0(V|0,0,3,0)|0,w=H,w>>>0<0|(w|0)==0&y>>>0<s>>>0)||(y=e[u>>2]|0,w=y+8|0,h=e[w+4>>2]|0,d=y+16|0,_=d,b=e[_>>2]|0,k=e[_+4>>2]|0,!((h|0)>(k|0)|((h|0)==(k|0)?(e[w>>2]|0)>>>0>b>>>0:0))))return m=0,U=r,m|0;w=j[(e[y>>2]|0)+b>>0]|0,h=i0(b|0,k|0,1,0)|0,_=H,p=d,e[p>>2]=h,e[p+4>>2]=_;e:do if(w<<24>>24){if(s>>>0<256){if(!V)break;p=i+44|0,d=f+4|0,c=f+8|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,v=y+8|0,T=e[v>>2]|0,R=e[v+4>>2]|0;i:do if((R|0)>(_|0)|(R|0)==(_|0)&T>>>0>h>>>0)for(v=0,N=y,G=h,F=_,E=R,Z=T,Q=V;;){if(z=N+16|0,C=e[N>>2]|0,W=j[C+G>>0]|0,I=i0(G|0,F|0,1,0)|0,D=H,L=z,e[L>>2]=I,e[L+4>>2]=D,e[f>>2]=W&255,!((E|0)>(D|0)|(E|0)==(D|0)&Z>>>0>I>>>0)||(D=j[C+I>>0]|0,I=i0(G|0,F|0,2,0)|0,W=H,L=z,e[L>>2]=I,e[L+4>>2]=W,e[d>>2]=D&255,!((E|0)>(W|0)|(E|0)==(W|0)&Z>>>0>I>>>0)))break i;if(W=j[C+I>>0]|0,I=i0(G|0,F|0,3,0)|0,C=z,e[C>>2]=I,e[C+4>>2]=H,e[c>>2]=W&255,W=e[p>>2]|0,C=W+100|0,I=e[C>>2]|0,(I|0)==(e[W+104>>2]|0)?(wi(W+96|0,f),O=e[t>>2]|0):(e[I>>2]=e[f>>2],e[I+4>>2]=e[f+4>>2],e[I+8>>2]=e[f+8>>2],e[C>>2]=(e[C>>2]|0)+12,O=Q),v=v+1|0,v>>>0>=O>>>0)break e;if(N=e[u>>2]|0,C=N+16|0,G=e[C>>2]|0,F=e[C+4>>2]|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,C=N+8|0,Z=e[C>>2]|0,E=e[C+4>>2]|0,(E|0)>(F|0)|(E|0)==(F|0)&Z>>>0>G>>>0)Q=O;else break}while(0);return m=0,U=r,m|0}if(s>>>0<65536){if(!V)break;p=i+44|0,c=f+4|0,d=f+8|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,T=y+8|0,R=e[T>>2]|0,Q=e[T+4>>2]|0,T=i0(b|0,k|0,3,0)|0,G=H;i:do if(!((Q|0)<(G|0)|(Q|0)==(G|0)&R>>>0<T>>>0))for(Z=0,F=y,E=h,N=T,v=G,C=_,I=Q,W=R,z=V;;){if(D=F+16|0,L=e[F>>2]|0,x=L+E|0,X=J[x>>0]|J[x+1>>0]<<8,x=D,e[x>>2]=N,e[x+4>>2]=v,e[f>>2]=X&65535,X=i0(E|0,C|0,4,0)|0,x=H,(I|0)<(x|0)|(I|0)==(x|0)&W>>>0<X>>>0||(B=L+N|0,M=J[B>>0]|J[B+1>>0]<<8,B=D,e[B>>2]=X,e[B+4>>2]=x,e[c>>2]=M&65535,M=i0(E|0,C|0,6,0)|0,x=H,(I|0)<(x|0)|(I|0)==(x|0)&W>>>0<M>>>0))break i;if(B=L+X|0,X=J[B>>0]|J[B+1>>0]<<8,B=D,e[B>>2]=M,e[B+4>>2]=x,e[d>>2]=X&65535,X=e[p>>2]|0,x=X+100|0,B=e[x>>2]|0,(B|0)==(e[X+104>>2]|0)?(wi(X+96|0,f),P=e[t>>2]|0):(e[B>>2]=e[f>>2],e[B+4>>2]=e[f+4>>2],e[B+8>>2]=e[f+8>>2],e[x>>2]=(e[x>>2]|0)+12,P=z),Z=Z+1|0,Z>>>0>=P>>>0)break e;if(F=e[u>>2]|0,x=F+16|0,E=e[x>>2]|0,C=e[x+4>>2]|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,x=F+8|0,W=e[x>>2]|0,I=e[x+4>>2]|0,N=i0(E|0,C|0,2,0)|0,v=H,(I|0)<(v|0)|(I|0)==(v|0)&W>>>0<N>>>0)break;z=P}while(0);return m=0,U=r,m|0}if(p=i+44|0,(e[(e[p>>2]|0)+80>>2]|0)>>>0<2097152&&(((J[o>>0]|0)<<8|(J[A>>0]|0))&65535)>513){if(!V)break;d=f+4|0,c=f+8|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0;i:do if(t2(l,y)|0){R=0;do{if(e[f>>2]=e[l>>2],!(t2(l,e[u>>2]|0)|0)||(e[d>>2]=e[l>>2],!(t2(l,e[u>>2]|0)|0)))break i;if(e[c>>2]=e[l>>2],Q=e[p>>2]|0,G=Q+100|0,T=e[G>>2]|0,(T|0)==(e[Q+104>>2]|0)?wi(Q+96|0,f):(e[T>>2]=e[f>>2],e[T+4>>2]=e[f+4>>2],e[T+8>>2]=e[f+8>>2],e[G>>2]=(e[G>>2]|0)+12),R=R+1|0,R>>>0>=(e[t>>2]|0)>>>0)break e;G=e[u>>2]|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0}while(t2(l,G)|0)}while(0);return m=0,U=r,m|0}if(V|0){c=f+4|0,d=f+8|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,R=y+8|0,G=e[R>>2]|0,T=e[R+4>>2]|0,R=i0(b|0,k|0,5,0)|0,Q=H;i:do if(!((T|0)<(Q|0)|(T|0)==(Q|0)&G>>>0<R>>>0))for(z=0,N=y,W=h,v=R,I=Q,C=_,E=T,F=G,Z=V;;){if(x=N+16|0,B=e[N>>2]|0,X=B+W|0,M=J[X>>0]|J[X+1>>0]<<8|J[X+2>>0]<<16|J[X+3>>0]<<24,X=x,e[X>>2]=v,e[X+4>>2]=I,e[f>>2]=M,M=i0(W|0,C|0,8,0)|0,X=H,(E|0)<(X|0)|(E|0)==(X|0)&F>>>0<M>>>0||(D=B+v|0,L=J[D>>0]|J[D+1>>0]<<8|J[D+2>>0]<<16|J[D+3>>0]<<24,D=x,e[D>>2]=M,e[D+4>>2]=X,e[c>>2]=L,L=i0(W|0,C|0,12,0)|0,X=H,(E|0)<(X|0)|(E|0)==(X|0)&F>>>0<L>>>0))break i;if(D=B+M|0,M=J[D>>0]|J[D+1>>0]<<8|J[D+2>>0]<<16|J[D+3>>0]<<24,D=x,e[D>>2]=L,e[D+4>>2]=X,e[d>>2]=M,M=e[p>>2]|0,X=M+100|0,D=e[X>>2]|0,(D|0)==(e[M+104>>2]|0)?(wi(M+96|0,f),q=e[t>>2]|0):(e[D>>2]=e[f>>2],e[D+4>>2]=e[f+4>>2],e[D+8>>2]=e[f+8>>2],e[X>>2]=(e[X>>2]|0)+12,q=Z),z=z+1|0,z>>>0>=q>>>0)break e;if(N=e[u>>2]|0,X=N+16|0,W=e[X>>2]|0,C=e[X+4>>2]|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,X=N+8|0,F=e[X>>2]|0,E=e[X+4>>2]|0,v=i0(W|0,C|0,4,0)|0,I=H,(E|0)<(I|0)|(E|0)==(I|0)&F>>>0<v>>>0)break;Z=q}while(0);return m=0,U=r,m|0}}else if(!(lu(i,V)|0))return m=0,U=r,m|0;while(0);return e[(e[i+4>>2]|0)+80>>2]=e[n>>2],m=1,U=r,m|0}function Ne(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=a0,T=0,R=0,N=0,G=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(A=j[u>>0]|0,s=n+(_<<3)|0,e[s>>2]=A,e[s+4>>2]=((A|0)<0)<<31>>31,_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<3)|0,0,(t<<24>>24)-u<<3|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=n+(k<<3)|0,e[l>>2]=J[A>>0],e[l+4>>2]=0,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<3)|0,0,(t<<24>>24)-A<<3|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(u=P0[o>>1]|0,l=n+(s<<3)|0,e[l>>2]=u,e[l+4>>2]=((u|0)<0)<<31>>31,s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<3)|0,0,(t<<24>>24)-o<<3|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(A=n+(l<<3)|0,e[A>>2]=b2[_>>1],e[A+4>>2]=0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<3)|0,0,(t<<24>>24)-_<<3|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(o=e[k>>2]|0,A=n+(u<<3)|0,e[A>>2]=o,e[A+4>>2]=((o|0)<0)<<31>>31,u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(k<<3)|0,0,(t<<24>>24)-k<<3|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(_=n+(A<<3)|0,e[_>>2]=e[s>>2],e[_+4>>2]=0,A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(s<<3)|0,0,(t<<24>>24)-s<<3|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(k=l,_=e[k+4>>2]|0,c=n+(o<<3)|0,e[c>>2]=e[k>>2],e[c+4>>2]=_,o=o+1|0,_=j[s>>0]|0,(o|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){y=_;break}else l=l+8|0;else y=A;return l=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<3)|0,0,(t<<24>>24)-l<<3|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,_=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,c=i0(_|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+c|0,c=0;;)if(s=u,_=e[s+4>>2]|0,k=n+(c<<3)|0,e[k>>2]=e[s>>2],e[k+4>>2]=_,c=c+1|0,_=j[l>>0]|0,(c|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){V=_;break}else u=u+8|0;else V=o;return u=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<3)|0,0,(t<<24>>24)-u<<3|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,c=j[u>>0]|0,(c<<24>>24>t<<24>>24?t:c)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,_=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(_|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(v=o0(q0[A>>2]),l=+x4(+v)>=1?+v>0?~~+q4(+Ni(+v/4294967296),4294967295)>>>0:~~+hi((+v-+(~~+v>>>0))/4294967296)>>>0:0,_=n+(k<<3)|0,e[_>>2]=~~+v>>>0,e[_+4>>2]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){T=l;break}else A=A+4|0;else T=c;return A=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<3)|0,0,(t<<24>>24)-A<<3|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,_=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+_|0,_=0;;)if(R=+D2[o>>3],u=+x4(R)>=1?R>0?~~+q4(+Ni(R/4294967296),4294967295)>>>0:~~+hi((R-+(~~R>>>0))/4294967296)>>>0:0,l=n+(_<<3)|0,e[l>>2]=~~R>>>0,e[l+4>>2]=u,_=_+1|0,u=j[A>>0]|0,(_|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){N=u;break}else o=o+8|0;else N=k;return o=N<<24>>24,N<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<3)|0,0,(t<<24>>24)-o<<3|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,_=j[o>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,c=i+40|0,u=Y0(e[c>>2]|0,e[c+4>>2]|0,e[r>>2]|0,0)|0,c=i+48|0,l=i0(u|0,H|0,e[c>>2]|0,e[c+4>>2]|0)|0,c=A+l|0,l=0;;)if(A=n+(l<<3)|0,e[A>>2]=J[c>>0],e[A+4>>2]=0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){G=A;break}else c=c+1|0;else G=_;return c=G<<24>>24,G<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(c<<3)|0,0,(t<<24>>24)-c<<3|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function Dt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0;if(t=U,U=U+16|0,n=t+8|0,f=t,(e[i+96>>2]|0)==(e[i+92>>2]|0))return U=t,1;if(l=i+56|0,o=e[l>>2]|0,(o|0)==(e[i+60>>2]|0)?(L0(i+52|0,r),A=r):(e[o>>2]=e[r>>2],e[l>>2]=o+4,A=r),r=i+88|0,e[r>>2]=0,o=e[i>>2]|0,l=e[A>>2]|0,u=l+1|0,(l|0)!=-1?(s=((u>>>0)%3|0|0)==0?l+-2|0:u,(s|0)==-1?_=-1:_=e[(e[o>>2]|0)+(s<<2)>>2]|0,s=(((l>>>0)%3|0|0)==0?2:-1)+l|0,(s|0)==-1?(h=_,k=-1):(h=_,k=e[(e[o>>2]|0)+(s<<2)>>2]|0)):(h=-1,k=-1),s=i+24|0,o=e[s>>2]|0,_=o+(h>>>5<<2)|0,l=1<<(h&31),u=e[_>>2]|0,u&l?w=o:(e[_>>2]=u|l,l=e[A>>2]|0,u=l+1|0,(l|0)==-1?b=-1:b=((u>>>0)%3|0|0)==0?l+-2|0:u,e[f>>2]=b,u=(b>>>0)/3|0,l=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(u*12|0)+(b-(u*3|0)<<2)>>2]|0,u=e[i+48>>2]|0,e[n>>2]=l,b=e[u+4>>2]|0,u=b+4|0,_=e[u>>2]|0,(_|0)==(e[b+8>>2]|0)?L0(b,n):(e[_>>2]=l,e[u>>2]=_+4),_=i+40|0,u=e[_>>2]|0,l=u+4|0,b=e[l>>2]|0,(b|0)==(e[u+8>>2]|0)?(L0(u,f),p=e[_>>2]|0):(e[b>>2]=e[f>>2],e[l>>2]=b+4,p=u),u=p+24|0,e[(e[p+12>>2]|0)+(h<<2)>>2]=e[u>>2],e[u>>2]=(e[u>>2]|0)+1,w=e[s>>2]|0),o=w+(k>>>5<<2)|0,w=1<<(k&31),u=e[o>>2]|0,!(u&w)){e[o>>2]=u|w,w=e[A>>2]|0;do if((w|0)!=-1)if((w>>>0)%3|0){d=w+-1|0;break}else{d=w+2|0;break}else d=-1;while(0);e[f>>2]=d,w=(d>>>0)/3|0,u=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(w*12|0)+(d-(w*3|0)<<2)>>2]|0,w=e[i+48>>2]|0,e[n>>2]=u,d=e[w+4>>2]|0,w=d+4|0,o=e[w>>2]|0,(o|0)==(e[d+8>>2]|0)?L0(d,n):(e[o>>2]=u,e[w>>2]=o+4),o=i+40|0,w=e[o>>2]|0,u=w+4|0,d=e[u>>2]|0,(d|0)==(e[w+8>>2]|0)?(L0(w,f),m=e[o>>2]|0):(e[d>>2]=e[f>>2],e[u>>2]=d+4,m=w),w=m+24|0,e[(e[m+12>>2]|0)+(k<<2)>>2]=e[w>>2],e[w>>2]=(e[w>>2]|0)+1}w=e[A>>2]|0,(w|0)==-1?c=-1:c=e[(e[e[i>>2]>>2]|0)+(w<<2)>>2]|0,w=(e[s>>2]|0)+(c>>>5<<2)|0,k=1<<(c&31),m=e[w>>2]|0,k&m||(e[w>>2]=m|k,k=e[A>>2]|0,e[f>>2]=k,m=(k>>>0)/3|0,w=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(m*12|0)+(k-(m*3|0)<<2)>>2]|0,m=e[i+48>>2]|0,e[n>>2]=w,k=e[m+4>>2]|0,m=k+4|0,d=e[m>>2]|0,(d|0)==(e[k+8>>2]|0)?L0(k,n):(e[d>>2]=w,e[m>>2]=d+4),d=i+40|0,m=e[d>>2]|0,w=m+4|0,k=e[w>>2]|0,(k|0)==(e[m+8>>2]|0)?(L0(m,f),y=e[d>>2]|0):(e[k>>2]=e[f>>2],e[w>>2]=k+4,y=m),m=y+24|0,e[(e[y+12>>2]|0)+(c<<2)>>2]=e[m>>2],e[m>>2]=(e[m>>2]|0)+1),m=e[r>>2]|0;e:do if((m|0)<3){for(c=i+12|0,y=i+44|0,k=i+48|0,w=i+40|0,d=i+92|0,u=m;;){if(o=i+52+(u*12|0)+4|0,h=e[o>>2]|0,(e[i+52+(u*12|0)>>2]|0)==(h|0))if((u|0)<2)V=u+1|0;else break e;else{if(p=h+-4|0,h=e[p>>2]|0,e[o>>2]=p,e[r>>2]=u,e[A>>2]=h,(h|0)==-1)break;p=(h>>>0)/3|0,o=e[c>>2]|0;do if(e[o+(p>>>5<<2)>>2]&1<<(p&31))x=u;else{b=h,l=o;i:for(;;){if(_=(b>>>0)/3|0,v=l+(_>>>5<<2)|0,e[v>>2]=1<<(_&31)|e[v>>2],v=e[A>>2]|0,(v|0)==-1?T=-1:T=e[(e[e[i>>2]>>2]|0)+(v<<2)>>2]|0,_=(e[s>>2]|0)+(T>>>5<<2)|0,R=1<<(T&31),N=e[_>>2]|0,R&N?E=v:(e[_>>2]=N|R,R=e[A>>2]|0,e[f>>2]=R,N=(R>>>0)/3|0,_=e[(e[(e[y>>2]|0)+96>>2]|0)+(N*12|0)+(R-(N*3|0)<<2)>>2]|0,N=e[k>>2]|0,e[n>>2]=_,R=e[N+4>>2]|0,N=R+4|0,G=e[N>>2]|0,(G|0)==(e[R+8>>2]|0)?L0(R,n):(e[G>>2]=_,e[N>>2]=G+4),G=e[w>>2]|0,N=G+4|0,_=e[N>>2]|0,(_|0)==(e[G+8>>2]|0)?(L0(G,f),F=e[w>>2]|0):(e[_>>2]=e[f>>2],e[N>>2]=_+4,F=G),G=F+24|0,e[(e[F+12>>2]|0)+(T<<2)>>2]=e[G>>2],e[G>>2]=(e[G>>2]|0)+1,E=e[A>>2]|0),v=e[i>>2]|0,(E|0)==-1){Z=94;break}G=E+1|0,_=((G>>>0)%3|0|0)==0?E+-2|0:G,(_|0)==-1?Q=-1:Q=e[(e[v+12>>2]|0)+(_<<2)>>2]|0,_=(((E>>>0)%3|0|0)==0?2:-1)+E|0,(_|0)==-1?z=-1:z=e[(e[v+12>>2]|0)+(_<<2)>>2]|0,_=(Q|0)==-1,G=_?-1:(Q>>>0)/3|0,N=(z|0)==-1,R=N?-1:(z>>>0)/3|0,_?C=1:C=(e[(e[c>>2]|0)+(G>>>5<<2)>>2]&1<<(G&31)|0)!=0;do if(N)if(C){Z=94;break i}else Z=82;else{if(e[(e[c>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0)if(C){Z=94;break i}else{Z=82;break}if(G=e[(e[v>>2]|0)+(z<<2)>>2]|0,1<<(G&31)&e[(e[s>>2]|0)+(G>>>5<<2)>>2]?I=0:(W=(e[d>>2]|0)+(G<<2)|0,G=e[W>>2]|0,e[W>>2]=G+1,I=(G|0)>0?1:2),C&&(I|0)<=(e[r>>2]|0)){D=z;break}if(e[n>>2]=z,G=i+52+(I*12|0)+4|0,W=e[G>>2]|0,(W|0)==(e[i+52+(I*12|0)+8>>2]|0)?L0(i+52+(I*12|0)|0,n):(e[W>>2]=z,e[G>>2]=W+4),(e[r>>2]|0)>(I|0)&&(e[r>>2]=I),C){Z=94;break i}else Z=82}while(0);if((Z|0)==82){if(Z=0,_?L=-1:L=e[(e[e[i>>2]>>2]|0)+(Q<<2)>>2]|0,1<<(L&31)&e[(e[s>>2]|0)+(L>>>5<<2)>>2]?O=0:(v=(e[d>>2]|0)+(L<<2)|0,R=e[v>>2]|0,e[v>>2]=R+1,O=(R|0)>0?1:2),(O|0)>(e[r>>2]|0))break;D=Q}e[A>>2]=D,b=D,l=e[c>>2]|0}if((Z|0)==94){Z=0,x=e[r>>2]|0;break}e[n>>2]=Q,l=i+52+(O*12|0)+4|0,b=e[l>>2]|0,(b|0)==(e[i+52+(O*12|0)+8>>2]|0)?L0(i+52+(O*12|0)|0,n):(e[b>>2]=Q,e[l>>2]=b+4),b=e[r>>2]|0,(b|0)>(O|0)?(e[r>>2]=O,X=O):X=b,x=X}while(0);if((x|0)<3)V=x;else break e}u=V}return U=t,1}while(0);return e[A>>2]=-1,U=t,1}function l8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0;t=U,U=U+32|0,n=t+16|0,f=t+4|0,l=t,e[i+36>>2]=r,o=i+24|0,A=i+28|0,u=e[o>>2]|0,s=(e[A>>2]|0)-u>>2,_=u,s>>>0>=r>>>0?s>>>0>r>>>0&&(e[A>>2]=_+(r<<2)):z2(o,r-s|0,3732),e[n>>2]=0,s=n+4|0,e[s>>2]=0,_=n+8|0,e[_>>2]=0,r?((r|0)<0&&W0(n),u=((r+-1|0)>>>5)+1|0,h=v0(u<<2)|0,e[n>>2]=h,e[_>>2]=u,e[s>>2]=r,u=r>>>5,E0(h|0,0,u<<2|0)|0,k=r&31,b=h+(u<<2)|0,u=h,k?(e[b>>2]=e[b>>2]&~(-1>>>(32-k|0)),p=r,w=u,d=h):(p=r,w=u,d=h)):(p=0,w=0,d=0),h=i+4|0,u=e[i>>2]|0,k=(e[h>>2]|0)-u|0,b=k>>2,e[f>>2]=0,m=f+4|0,e[m>>2]=0,c=f+8|0,e[c>>2]=0;do if(k)if((k|0)<0&&W0(f),y=((b+-1|0)>>>5)+1|0,V=v0(y<<2)|0,e[f>>2]=V,e[c>>2]=y,e[m>>2]=b,y=b>>>5,E0(V|0,0,y<<2|0)|0,v=b&31,T=V+(y<<2)|0,v|0&&(e[T>>2]=e[T>>2]&~(-1>>>(32-v|0))),b>>>0>2){v=i+32|0,T=i+12|0,y=i+52|0,V=i+56|0,R=i+48|0,N=r,G=u,F=0,E=w,Z=d;e:for(;;){if(Q=G,z=F*3|0,C=e[Q+(z<<2)>>2]|0,W=z+1|0,(W|0)!=-1?(I=e[Q+(W<<2)>>2]|0,W=z+2|0,(W|0)==-1?(D=-1,L=I):(O=I,x=W,X=22)):(O=-1,x=0,X=22),(X|0)==22&&(X=0,D=e[Q+(x<<2)>>2]|0,L=O),(C|0)!=(L|0)&&!((C|0)==(D|0)|(L|0)==(D|0)))for(C=0,Q=N,W=E,I=Z;;){if(B=C+z|0,e[(e[f>>2]|0)+(B>>>5<<2)>>2]&1<<(B&31))b0=Q,c0=W,w0=I;else{M=e[(e[i>>2]|0)+(B<<2)>>2]|0,e[l>>2]=M,P=M>>>5,q=1<<(M&31);i:do if(e[I+(P<<2)>>2]&q){if(l0=e[A>>2]|0,(l0|0)==(e[v>>2]|0)?L0(o,3732):(e[l0>>2]=-1,e[A>>2]=l0+4),l0=e[y>>2]|0,(l0|0)==(e[V>>2]|0)?L0(R,l):(e[l0>>2]=e[l>>2],e[y>>2]=l0+4),l0=e[s>>2]|0,M=e[_>>2]|0,(l0|0)==(M<<5|0)){if((l0+1|0)<0){X=36;break e}g=M<<6,M=l0+32&-32,xe(n,l0>>>0<1073741823?g>>>0<M>>>0?M:g:2147483647),N0=e[s>>2]|0}else N0=l0;for(e[s>>2]=N0+1,l0=(e[n>>2]|0)+(N0>>>5<<2)|0,e[l0>>2]=e[l0>>2]&~(1<<(N0&31)),l0=Q+1|0,e[l>>2]=Q,g=e[n>>2]|0,M=g+(Q>>>5<<2)|0,e[M>>2]=e[M>>2]|1<<(Q&31),M=g,n0=e[o>>2]|0,a=e[i>>2]|0,e0=B;;){t0=(e[f>>2]|0)+(e0>>>5<<2)|0,e[t0>>2]=e[t0>>2]|1<<(e0&31),t0=e[l>>2]|0,e[n0+(t0<<2)>>2]=e0,e[a+(e0<<2)>>2]=t0,t0=e0+1|0,V0=((t0>>>0)%3|0|0)==0?e0+-2|0:t0;do if((V0|0)==-1)U0=-1;else{if(t0=e[(e[T>>2]|0)+(V0<<2)>>2]|0,m0=t0+1|0,(t0|0)==-1){U0=-1;break}U0=((m0>>>0)%3|0|0)==0?t0+-2|0:m0}while(0);if((U0|0)==(B|0)){f0=1,A0=l0,_0=M,h0=g,X=50;break i}if((U0|0)==-1){p0=1,j0=l0,y0=M,k0=g,X=51;break}else e0=U0}}else for(M=e[n>>2]|0,g=M+(P<<2)|0,e[g>>2]=e[g>>2]|q,g=M,n0=e[o>>2]|0,l0=B;;){t0=(e[f>>2]|0)+(l0>>>5<<2)|0,e[t0>>2]=e[t0>>2]|1<<(l0&31),e[n0+(e[l>>2]<<2)>>2]=l0,t0=l0+1|0,a=((t0>>>0)%3|0|0)==0?l0+-2|0:t0;do if((a|0)==-1)$=-1;else{if(t0=e[(e[T>>2]|0)+(a<<2)>>2]|0,e0=t0+1|0,(t0|0)==-1){$=-1;break}$=((e0>>>0)%3|0|0)==0?t0+-2|0:e0}while(0);if(($|0)==(B|0)){f0=0,A0=Q,_0=g,h0=M,X=50;break i}if(($|0)==-1){p0=0,j0=Q,y0=g,k0=M,X=51;break}else l0=$}while(0);(X|0)==50&&(X=0,(B|0)==-1?(p0=f0,j0=A0,y0=_0,k0=h0,X=51):(s0=A0,G0=_0,d0=h0));i:do if((X|0)==51)if(X=0,q=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(q|0)!=-1&&(P=e[(e[T>>2]|0)+(q<<2)>>2]|0,(P|0)!=-1)&&(q=P+(((P>>>0)%3|0|0)==0?2:-1)|0,(q|0)!=-1))if(p0)for(P=e[i>>2]|0,e0=q;;){if(g=(e[f>>2]|0)+(e0>>>5<<2)|0,e[g>>2]=e[g>>2]|1<<(e0&31),e[P+(e0<<2)>>2]=e[l>>2],g=(((e0>>>0)%3|0|0)==0?2:-1)+e0|0,(g|0)==-1){s0=j0,G0=y0,d0=k0;break i}if(M=e[(e[T>>2]|0)+(g<<2)>>2]|0,(M|0)==-1){s0=j0,G0=y0,d0=k0;break i}if(e0=M+(((M>>>0)%3|0|0)==0?2:-1)|0,(e0|0)==-1){s0=j0,G0=y0,d0=k0;break}}else for(e0=q;;){if(P=(e[f>>2]|0)+(e0>>>5<<2)|0,e[P>>2]=e[P>>2]|1<<(e0&31),P=(((e0>>>0)%3|0|0)==0?2:-1)+e0|0,(P|0)==-1){s0=j0,G0=y0,d0=k0;break i}if(M=e[(e[T>>2]|0)+(P<<2)>>2]|0,(M|0)==-1){s0=j0,G0=y0,d0=k0;break i}if(e0=M+(((M>>>0)%3|0|0)==0?2:-1)|0,(e0|0)==-1){s0=j0,G0=y0,d0=k0;break}}else s0=j0,G0=y0,d0=k0;while(0);b0=s0,c0=G0,w0=d0}if(C=C+1|0,C>>>0>=3){R0=b0,T0=c0,F0=w0;break}else Q=b0,W=c0,I=w0}else R0=N,T0=E,F0=Z;if(F=F+1|0,G=e[i>>2]|0,F>>>0>=(((e[h>>2]|0)-G>>2>>>0)/3|0)>>>0){X=17;break}else N=R0,E=T0,Z=F0}if((X|0)==17){I0=T0,D0=e[s>>2]|0;break}else(X|0)==36&&W0(n)}else I0=w,D0=p;else I0=w,D0=p;while(0);if(p=i+44|0,e[p>>2]=0,i=I0,w=D0>>>5,X=i+(w<<2)|0,s=D0&31,w|s|0)for(w=I0,I0=0,D0=i,i=0;e[D0>>2]&1<<I0?z0=i:(T0=i+1|0,e[p>>2]=T0,z0=T0),T0=(I0|0)==31,w=T0?D0+4|0:w,I0=T0?0:I0+1|0,D0=w,(X|0)!=(D0|0)|(I0|0)!=(s|0);)i=z0;return z0=e[f>>2]|0,z0|0&&Y(z0),z0=e[n>>2]|0,z0?(Y(z0),U=t,1):(U=t,1)}function A8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=a0,W=a0,I=a0,D=0,L=0,O=0,x=0,X=0,B=0;if(n=U,U=U+48|0,f=n+40|0,l=n+16|0,o=n,A=g4(i,r)|0,A|0){for(u=e[i+4>>2]|0,s=e[A+4>>2]|0,_=u+-1|0,h=(_&u|0)==0,h?k=_&s:s>>>0<u>>>0?k=s:k=(s>>>0)%(u>>>0)|0,s=(e[i>>2]|0)+(k<<2)|0,b=e[s>>2]|0;p=e[b>>2]|0,(p|0)!=(A|0);)b=p;(b|0)!=(i+8|0)?(p=e[b+4>>2]|0,h?w=p&_:p>>>0<u>>>0?w=p:w=(p>>>0)%(u>>>0)|0,(w|0)==(k|0)?d=A:m=15):m=15;do if((m|0)==15){if(w=e[A>>2]|0,w|0&&(p=e[w+4>>2]|0,h?c=p&_:p>>>0<u>>>0?c=p:c=(p>>>0)%(u>>>0)|0,(c|0)==(k|0))){d=A;break}e[s>>2]=0,d=A}while(0);s=e[d>>2]|0,c=s,s?(p=e[s+4>>2]|0,h?y=p&_:p>>>0<u>>>0?y=p:y=(p>>>0)%(u>>>0)|0,(y|0)!=(k|0)?(e[(e[i>>2]|0)+(y<<2)>>2]=b,V=e[A>>2]|0):V=c):V=c,e[b>>2]=V,e[d>>2]=0,d=i+12|0,e[d>>2]=(e[d>>2]|0)+-1,d=A+8|0,V=e[A+20>>2]|0,V|0&&(e[A+24>>2]=V,Y(V)),(j[d+11>>0]|0)<0&&Y(e[d>>2]|0),Y(A)}if(e[o>>2]=0,A=o+4|0,e[A>>2]=0,e[o+8>>2]=0,d=(e[t+4>>2]|0)-(e[t>>2]|0)|0,Ir(o,d),S0(e[o>>2]|0,e[t>>2]|0,d|0)|0,c2(l,r),r=l+12|0,e[r>>2]=0,d=l+16|0,e[d>>2]=0,e[l+20>>2]=0,Ir(r,(e[A>>2]|0)-(e[o>>2]|0)|0),t=e[o>>2]|0,S0(e[r>>2]|0,t|0,(e[A>>2]|0)-t|0)|0,t=l+11|0,V=j[t>>0]|0,b=V<<24>>24<0,c=b?e[l>>2]|0:l,y=b?e[l+4>>2]|0:V&255,y>>>0>3){for(V=c,b=y,k=y;_=Z0(J[V>>0]|J[V+1>>0]<<8|J[V+2>>0]<<16|J[V+3>>0]<<24,1540483477)|0,b=(Z0(_>>>24^_,1540483477)|0)^(Z0(b,1540483477)|0),k=k+-4|0,!(k>>>0<=3);)V=V+4|0;V=y+-4|0,k=V&-4,v=V-k|0,T=c+(k+4)|0,R=b}else v=y,T=c,R=y;switch(v|0){case 3:{N=J[T+2>>0]<<16^R,m=40;break}case 2:{N=R,m=40;break}case 1:{G=R,m=41;break}default:F=R}(m|0)==40&&(G=J[T+1>>0]<<8^N,m=41),(m|0)==41&&(F=Z0(G^J[T>>0],1540483477)|0),T=Z0(F>>>13^F,1540483477)|0,F=T>>>15^T,T=i+4|0,G=e[T>>2]|0,N=(G|0)==0;e:do if(N)Z=0,m=86;else if(R=G+-1|0,v=(R&G|0)==0,v?E=F&R:F>>>0<G>>>0?E=F:E=(F>>>0)%(G>>>0)|0,b=e[(e[i>>2]|0)+(E<<2)>>2]|0,(b|0)!=0&&(k=e[b>>2]|0,(k|0)!=0)){if(b=(y|0)==0,v){if(b)for(v=k;;){if(V=e[v+4>>2]|0,!((V|0)==(F|0)|(V&R|0)==(E|0))){Z=E,m=86;break e}if(V=j[v+8+11>>0]|0,!((V<<24>>24<0?e[v+12>>2]|0:V&255)|0))break e;if(v=e[v>>2]|0,!v){Z=E,m=86;break e}}for(v=k;;){if(V=e[v+4>>2]|0,!((V|0)==(F|0)|(V&R|0)==(E|0))){Z=E,m=86;break e}V=v+8|0,_=j[V+11>>0]|0,p=_<<24>>24<0,u=_&255;do if(((p?e[v+12>>2]|0:u)|0)==(y|0)){if(_=e[V>>2]|0,p){if(E2(_,c,y)|0)break;break e}if((j[c>>0]|0)==(_&255)<<24>>24){_=V,h=u,s=c;do{if(h=h+-1|0,_=_+1|0,!h)break e;s=s+1|0}while((j[_>>0]|0)==(j[s>>0]|0))}}while(0);if(v=e[v>>2]|0,!v){Z=E,m=86;break e}}}if(b)for(v=k;;){if(R=e[v+4>>2]|0,(R|0)!=(F|0)&&(R>>>0<G>>>0?Q=R:Q=(R>>>0)%(G>>>0)|0,(Q|0)!=(E|0))){Z=E,m=86;break e}if(R=j[v+8+11>>0]|0,!((R<<24>>24<0?e[v+12>>2]|0:R&255)|0))break e;if(v=e[v>>2]|0,!v){Z=E,m=86;break e}}for(v=k;;){if(b=e[v+4>>2]|0,(b|0)!=(F|0)&&(b>>>0<G>>>0?z=b:z=(b>>>0)%(G>>>0)|0,(z|0)!=(E|0))){Z=E,m=86;break e}b=v+8|0,R=j[b+11>>0]|0,u=R<<24>>24<0,V=R&255;do if(((u?e[v+12>>2]|0:V)|0)==(y|0)){if(R=e[b>>2]|0,u){if(E2(R,c,y)|0)break;break e}if((j[c>>0]|0)==(R&255)<<24>>24){R=b,p=V,s=c;do{if(p=p+-1|0,R=R+1|0,!p)break e;s=s+1|0}while((j[R>>0]|0)==(j[s>>0]|0))}}while(0);if(v=e[v>>2]|0,!v){Z=E,m=86;break}}}else Z=E,m=86;while(0);if((m|0)==86){E=v0(32)|0,e[f>>2]=E,c=E+8|0,e[c>>2]=e[l>>2],e[c+4>>2]=e[l+4>>2],e[c+8>>2]=e[l+8>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,c=E+20|0,e[c>>2]=0,e[E+24>>2]=0,e[E+28>>2]=0,Ir(c,(e[d>>2]|0)-(e[r>>2]|0)|0),y=e[r>>2]|0,S0(e[c>>2]|0,y|0,(e[d>>2]|0)-y|0)|0,e[E+4>>2]=F,e[E>>2]=0,y=i+12|0,C=o0(((e[y>>2]|0)+1|0)>>>0),W=o0(G>>>0),I=o0(q0[i+16>>2]);do if(N|o0(I*W)<C){if(c=G<<1|(G>>>0<3|(G+-1&G|0)!=0)&1,r=~~o0(hi(o0(C/I)))>>>0,Lt(i,c>>>0<r>>>0?r:c),c=e[T>>2]|0,r=c+-1|0,!(r&c)){D=c,L=r&F;break}F>>>0<c>>>0?(D=c,L=F):(D=c,L=(F>>>0)%(c>>>0)|0)}else D=G,L=Z;while(0);Z=(e[i>>2]|0)+(L<<2)|0,L=e[Z>>2]|0,L?(e[E>>2]=e[L>>2],X=f,B=L,m=99):(G=i+8|0,e[E>>2]=e[G>>2],e[G>>2]=E,e[Z>>2]=G,G=e[E>>2]|0,G?(Z=e[G+4>>2]|0,G=D+-1|0,G&D?Z>>>0<D>>>0?x=Z:x=(Z>>>0)%(D>>>0)|0:x=Z&G,X=f,B=(e[i>>2]|0)+(x<<2)|0,m=99):O=f),(m|0)==99&&(e[B>>2]=E,O=X),e[y>>2]=(e[y>>2]|0)+1,e[O>>2]=0}if(O=e[l+12>>2]|0,O|0&&(e[d>>2]=O,Y(O)),(j[t>>0]|0)<0&&Y(e[l>>2]|0),l=e[o>>2]|0,!l){U=n;return}e[A>>2]=l,Y(l),U=n}function Bt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(P0[n+(_<<1)>>1]=j[u>>0]|0,_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<1)|0,0,(t<<24>>24)-u<<1|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(P0[n+(k<<1)>>1]=J[A>>0]|0,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<1)|0,0,(t<<24>>24)-A<<1|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(P0[n+(s<<1)>>1]=P0[o>>1]|0,s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<1)|0,0,(t<<24>>24)-o<<1|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(P0[n+(l<<1)>>1]=P0[_>>1]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<1)|0,0,(t<<24>>24)-_<<1|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(P0[n+(u<<1)>>1]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(k<<1)|0,0,(t<<24>>24)-k<<1|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(P0[n+(A<<1)>>1]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(s<<1)|0,0,(t<<24>>24)-s<<1|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(P0[n+(o<<1)>>1]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<1)|0,0,(t<<24>>24)-l<<1|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(P0[n+(_<<1)>>1]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<1)|0,0,(t<<24>>24)-u<<1|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2])&65535,P0[n+(k<<1)>>1]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<1)|0,0,(t<<24>>24)-A<<1|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(P0[n+(s<<1)>>1]=~~+D2[o>>3],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<1)|0,0,(t<<24>>24)-o<<1|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(P0[n+(l<<1)>>1]=J[_>>0]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<1)|0,0,(t<<24>>24)-_<<1|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function Mt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(P0[n+(_<<1)>>1]=j[u>>0]|0,_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<1)|0,0,(t<<24>>24)-u<<1|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(P0[n+(k<<1)>>1]=J[A>>0]|0,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<1)|0,0,(t<<24>>24)-A<<1|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(P0[n+(s<<1)>>1]=P0[o>>1]|0,s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<1)|0,0,(t<<24>>24)-o<<1|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(P0[n+(l<<1)>>1]=P0[_>>1]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<1)|0,0,(t<<24>>24)-_<<1|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(P0[n+(u<<1)>>1]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(k<<1)|0,0,(t<<24>>24)-k<<1|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(P0[n+(A<<1)>>1]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(s<<1)|0,0,(t<<24>>24)-s<<1|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(P0[n+(o<<1)>>1]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<1)|0,0,(t<<24>>24)-l<<1|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(P0[n+(_<<1)>>1]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<1)|0,0,(t<<24>>24)-u<<1|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2]),P0[n+(k<<1)>>1]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<1)|0,0,(t<<24>>24)-A<<1|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(P0[n+(s<<1)>>1]=~~+D2[o>>3],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<1)|0,0,(t<<24>>24)-o<<1|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(P0[n+(l<<1)>>1]=J[_>>0]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<1)|0,0,(t<<24>>24)-_<<1|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function Yt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(e[n+(_<<2)>>2]=j[u>>0],_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<2)|0,0,(t<<24>>24)-u<<2|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(e[n+(k<<2)>>2]=J[A>>0],k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<2)|0,0,(t<<24>>24)-A<<2|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(e[n+(s<<2)>>2]=P0[o>>1],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<2)|0,0,(t<<24>>24)-o<<2|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(e[n+(l<<2)>>2]=b2[_>>1],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<2)|0,0,(t<<24>>24)-_<<2|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(e[n+(u<<2)>>2]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(k<<2)|0,0,(t<<24>>24)-k<<2|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(e[n+(A<<2)>>2]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(s<<2)|0,0,(t<<24>>24)-s<<2|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(e[n+(o<<2)>>2]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<2)|0,0,(t<<24>>24)-l<<2|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(e[n+(_<<2)>>2]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<2)|0,0,(t<<24>>24)-u<<2|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2])>>>0,e[n+(k<<2)>>2]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<2)|0,0,(t<<24>>24)-A<<2|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(e[n+(s<<2)>>2]=~~+D2[o>>3]>>>0,s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<2)|0,0,(t<<24>>24)-o<<2|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(e[n+(l<<2)>>2]=J[_>>0],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<2)|0,0,(t<<24>>24)-_<<2|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function Ct(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(e[n+(_<<2)>>2]=j[u>>0],_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<2)|0,0,(t<<24>>24)-u<<2|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(e[n+(k<<2)>>2]=J[A>>0],k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<2)|0,0,(t<<24>>24)-A<<2|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(e[n+(s<<2)>>2]=P0[o>>1],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<2)|0,0,(t<<24>>24)-o<<2|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(e[n+(l<<2)>>2]=b2[_>>1],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<2)|0,0,(t<<24>>24)-_<<2|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(e[n+(u<<2)>>2]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(k<<2)|0,0,(t<<24>>24)-k<<2|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(e[n+(A<<2)>>2]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(s<<2)|0,0,(t<<24>>24)-s<<2|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(e[n+(o<<2)>>2]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<2)|0,0,(t<<24>>24)-l<<2|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(e[n+(_<<2)>>2]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<2)|0,0,(t<<24>>24)-u<<2|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2]),e[n+(k<<2)>>2]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<2)|0,0,(t<<24>>24)-A<<2|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(e[n+(s<<2)>>2]=~~+D2[o>>3],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(o<<2)|0,0,(t<<24>>24)-o<<2|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(e[n+(l<<2)>>2]=J[_>>0],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<2)|0,0,(t<<24>>24)-_<<2|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function zt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(j[n+_>>0]=j[u>>0]|0,_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+u|0,0,(t<<24>>24)-u|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(j[n+k>>0]=j[A>>0]|0,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+A|0,0,(t<<24>>24)-A|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(j[n+s>>0]=P0[o>>1],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+o|0,0,(t<<24>>24)-o|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(j[n+l>>0]=P0[_>>1],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+_|0,0,(t<<24>>24)-_|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(j[n+u>>0]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+k|0,0,(t<<24>>24)-k|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(j[n+A>>0]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+s|0,0,(t<<24>>24)-s|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(j[n+o>>0]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+l|0,0,(t<<24>>24)-l|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(j[n+_>>0]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+u|0,0,(t<<24>>24)-u|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2])&255,j[n+k>>0]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+A|0,0,(t<<24>>24)-A|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(j[n+s>>0]=~~+D2[o>>3],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+o|0,0,(t<<24>>24)-o|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(j[n+l>>0]=j[_>>0]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+_|0,0,(t<<24>>24)-_|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function Qt(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,_=0;;)if(j[n+_>>0]=j[u>>0]|0,_=_+1|0,A=j[l>>0]|0,(_|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){h=A;break}else u=u+1|0;else h=o;return u=h<<24>>24,h<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+u|0,0,(t<<24>>24)-u|0)|0,f=1,f|0)}case 2:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(j[n+k>>0]=j[A>>0]|0,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){b=l;break}else A=A+1|0;else b=_;return A=b<<24>>24,b<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+A|0,0,(t<<24>>24)-A|0)|0,f=1,f|0)}case 3:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(j[n+s>>0]=P0[o>>1],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){p=u;break}else o=o+2|0;else p=k;return o=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+o|0,0,(t<<24>>24)-o|0)|0,f=1,f|0)}case 4:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(j[n+l>>0]=P0[_>>1],l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else _=_+2|0;else w=s;return _=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+_|0,0,(t<<24>>24)-_|0)|0,f=1,f|0)}case 5:{if(_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(o=e[e[i>>2]>>2]|0,k=i+40|0,A=Y0(e[k>>2]|0,e[k+4>>2]|0,e[r>>2]|0,0)|0,k=i+48|0,u=i0(A|0,H|0,e[k>>2]|0,e[k+4>>2]|0)|0,k=o+u|0,u=0;;)if(j[n+u>>0]=e[k>>2],u=u+1|0,o=j[_>>0]|0,(u|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){d=o;break}else k=k+4|0;else d=l;return k=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+k|0,0,(t<<24>>24)-k|0)|0,f=1,f|0)}case 6:{if(k=i+24|0,u=j[k>>0]|0,(u<<24>>24>t<<24>>24?t:u)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,s=i+40|0,o=Y0(e[s>>2]|0,e[s+4>>2]|0,e[r>>2]|0,0)|0,s=i+48|0,A=i0(o|0,H|0,e[s>>2]|0,e[s+4>>2]|0)|0,s=_+A|0,A=0;;)if(j[n+A>>0]=e[s>>2],A=A+1|0,_=j[k>>0]|0,(A|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){m=_;break}else s=s+4|0;else m=u;return s=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+s|0,0,(t<<24>>24)-s|0)|0,f=1,f|0)}case 7:{if(s=i+24|0,A=j[s>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)for(k=e[e[i>>2]>>2]|0,l=i+40|0,_=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,o=i0(_|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=k+o|0,o=0;;)if(j[n+o>>0]=e[l>>2],o=o+1|0,k=j[s>>0]|0,(o|0)>=((k<<24>>24>t<<24>>24?t:k)<<24>>24|0)){c=k;break}else l=l+8|0;else c=A;return l=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+l|0,0,(t<<24>>24)-l|0)|0,f=1,f|0)}case 8:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(s=e[e[i>>2]>>2]|0,u=i+40|0,k=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(k|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=s+_|0,_=0;;)if(j[n+_>>0]=e[u>>2],_=_+1|0,s=j[l>>0]|0,(_|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else u=u+8|0;else y=o;return u=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+u|0,0,(t<<24>>24)-u|0)|0,f=1,f|0)}case 9:{if(u=i+24|0,_=j[u>>0]|0,(_<<24>>24>t<<24>>24?t:_)<<24>>24>0)for(l=e[e[i>>2]>>2]|0,A=i+40|0,s=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,k=i0(s|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=l+k|0,k=0;;)if(l=~~o0(q0[A>>2]),j[n+k>>0]=l,k=k+1|0,l=j[u>>0]|0,(k|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){V=l;break}else A=A+4|0;else V=_;return A=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+A|0,0,(t<<24>>24)-A|0)|0,f=1,f|0)}case 10:{if(A=i+24|0,k=j[A>>0]|0,(k<<24>>24>t<<24>>24?t:k)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,o=i+40|0,l=Y0(e[o>>2]|0,e[o+4>>2]|0,e[r>>2]|0,0)|0,o=i+48|0,s=i0(l|0,H|0,e[o>>2]|0,e[o+4>>2]|0)|0,o=u+s|0,s=0;;)if(j[n+s>>0]=~~+D2[o>>3],s=s+1|0,u=j[A>>0]|0,(s|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){v=u;break}else o=o+8|0;else v=k;return o=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+o|0,0,(t<<24>>24)-o|0)|0,f=1,f|0)}case 11:{if(o=i+24|0,s=j[o>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(A=e[e[i>>2]>>2]|0,_=i+40|0,u=Y0(e[_>>2]|0,e[_+4>>2]|0,e[r>>2]|0,0)|0,_=i+48|0,l=i0(u|0,H|0,e[_>>2]|0,e[_+4>>2]|0)|0,_=A+l|0,l=0;;)if(j[n+l>>0]=j[_>>0]|0,l=l+1|0,A=j[o>>0]|0,(l|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){T=A;break}else _=_+1|0;else T=s;return _=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+_|0,0,(t<<24>>24)-_|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function cr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0;if(t=U,U=U+48|0,n=t+24|0,f=t+12|0,l=t,o=i+4|0,A=e[(e[o>>2]|0)+44>>2]|0,u=i+8|0,s=e[u>>2]|0,_=((e[s+4>>2]|0)-(e[s>>2]|0)>>2>>>0)/3|0,s=A+96|0,h=A+100|0,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,A=e[s>>2]|0,k=((e[h>>2]|0)-A|0)/12|0,_>>>0<=k>>>0?_>>>0<k>>>0&&(e[h>>2]=A+(_*12|0)):Yu(s,_-k|0,n),k=i+216|0,_=i+220|0,(e[k>>2]|0)==(e[_>>2]|0)){if(s=e[o>>2]|0,A=e[s+44>>2]|0,h=e[A+100>>2]|0,b=e[A+96>>2]|0,(h|0)!=(b|0)){A=n+4|0,p=n+8|0,w=b,d=(h-b|0)/12|0,b=0;do e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,h=b*3|0,(h|0)!=-1?(m=e[(e[e[u>>2]>>2]|0)+(h<<2)>>2]|0,e[n>>2]=m,c=h+1|0,(c|0)==-1?(e[A>>2]=-1,y=0,V=m,v=77):(T=c,R=m,v=76)):(e[n>>2]=-1,T=0,R=-1,v=76),(v|0)==76&&(v=0,e[A>>2]=e[(e[e[u>>2]>>2]|0)+(T<<2)>>2],m=h+2|0,(m|0)==-1?(N=-1,G=R):(y=m,V=R,v=77)),(v|0)==77&&(v=0,N=e[(e[e[u>>2]>>2]|0)+(y<<2)>>2]|0,G=V),e[p>>2]=N,e[w+(b*12|0)>>2]=G,e[w+(b*12|0)+4>>2]=e[A>>2],e[w+(b*12|0)+8>>2]=e[p>>2],b=b+1|0;while(b>>>0<d>>>0)}return e[(e[s+4>>2]|0)+80>>2]=r,F=1,U=t,F|0}e[n>>2]=0,r=n+4|0,e[r>>2]=0,s=n+8|0,e[s>>2]=0,d=e[u>>2]|0,b=(e[d+4>>2]|0)-(e[d>>2]|0)|0,p=b>>2,e[f>>2]=0,w=f+4|0,e[w>>2]=0,A=f+8|0,e[A>>2]=0;do if(b|0)if(p>>>0>1073741823)W0(f);else{G=v0(b)|0,e[f>>2]=G,N=G+(p<<2)|0,e[A>>2]=N,E0(G|0,0,b|0)|0,e[w>>2]=N;break}while(0);e:do if(((e[d+28>>2]|0)-(e[d+24>>2]|0)|0)>0)for(b=i+120|0,A=0,p=d;;){N=e[(e[p+24>>2]|0)+(A<<2)>>2]|0;i:do if((N|0)!=-1){r:do if((e[(e[b>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31)|0)==0&&(G=e[_>>2]|0,V=e[k>>2]|0,y=V,(G|0)!=(V|0))){if(R=(((N>>>0)%3|0|0)==0?2:-1)+N|0,T=p+12|0,m=(G-V|0)/144|0,(R|0)==-1)for(V=0;;){if(G=e[(e[e[y+(V*144|0)+68>>2]>>2]|0)+(N<<2)>>2]|0,1<<(G&31)&e[(e[y+(V*144|0)+16>>2]|0)+(G>>>5<<2)>>2]|0){E=0;break e}if(V=V+1|0,V>>>0>=m>>>0){Z=N;break r}}for(V=0;;){if(G=e[(e[e[y+(V*144|0)+68>>2]>>2]|0)+(N<<2)>>2]|0,1<<(G&31)&e[(e[y+(V*144|0)+16>>2]|0)+(G>>>5<<2)>>2]|0){G=e[y+(V*144|0)+32>>2]|0,h=e[G+(N<<2)>>2]|0,c=e[T>>2]|0,Q=e[c+(R<<2)>>2]|0;do if((Q|0)!=-1)if((Q>>>0)%3|0){z=Q+-1|0;break}else{z=Q+2|0;break}else z=-1;while(0);if((z|0)!=(N|0))for(Q=z;;){if((Q|0)==-1){E=0;break e}if((e[G+(Q<<2)>>2]|0)!=(h|0)){Z=Q;break r}C=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;do if((C|0)!=-1){if(W=e[c+(C<<2)>>2]|0,(W|0)==-1){I=-1;break}if((W>>>0)%3|0){I=W+-1|0;break}else{I=W+2|0;break}}else I=-1;while(0);if((I|0)==(N|0))break;Q=I}}if(V=V+1|0,V>>>0>=m>>>0){Z=N;break}}}else Z=N;while(0);if(m=e[r>>2]|0,e[(e[f>>2]|0)+(Z<<2)>>2]=m-(e[n>>2]|0)>>2,e[l>>2]=Z,V=m,(e[s>>2]|0)>>>0>V>>>0?(e[V>>2]=Z,e[r>>2]=V+4,D=p):(L0(n,l),D=e[u>>2]|0),(Z|0)!=-1&&(V=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0,(V|0)!=-1)&&(m=e[(e[D+12>>2]|0)+(V<<2)>>2]|0,(m|0)!=-1)&&(V=m+(((m>>>0)%3|0|0)==0?2:-1)|0,(V|0)!=-1&(V|0)!=(Z|0)))for(m=Z,R=V,V=D;;){T=e[_>>2]|0,y=e[k>>2]|0,Q=y;r:do if((T|0)==(y|0))v=59;else{for(c=(T-y|0)/144|0,h=0;G=e[Q+(h*144|0)+32>>2]|0,h=h+1|0,(e[G+(R<<2)>>2]|0)==(e[G+(m<<2)>>2]|0);)if(h>>>0>=c>>>0){v=59;break r}c=e[r>>2]|0,e[(e[f>>2]|0)+(R<<2)>>2]=c-(e[n>>2]|0)>>2,e[l>>2]=R,h=c,(e[s>>2]|0)>>>0>h>>>0?(e[h>>2]=R,e[r>>2]=h+4,L=V):(L0(n,l),L=e[u>>2]|0),O=L}while(0);if((v|0)==59&&(v=0,Q=e[f>>2]|0,e[Q+(R<<2)>>2]=e[Q+(m<<2)>>2],O=V),(R|0)==-1){x=O;break i}if(Q=(((R>>>0)%3|0|0)==0?2:-1)+R|0,(Q|0)==-1){x=O;break i}if(y=e[(e[O+12>>2]|0)+(Q<<2)>>2]|0,(y|0)==-1){x=O;break i}if(Q=y+(((y>>>0)%3|0|0)==0?2:-1)|0,(Q|0)!=-1&(Q|0)!=(Z|0))y=R,R=Q,V=O,m=y;else{x=O;break}}else x=D}else x=p;while(0);if(A=A+1|0,(A|0)>=((e[x+28>>2]|0)-(e[x+24>>2]|0)>>2|0)){v=65;break}else p=x}else v=65;while(0);if((v|0)==65){if(v=e[o>>2]|0,o=e[v+44>>2]|0,x=e[o+100>>2]|0,D=e[o+96>>2]|0,(x|0)!=(D|0)&&(o=e[f>>2]|0,O=l+4|0,Z=l+8|0,L=(x-D|0)/12|0,e[l>>2]=e[o>>2],e[l+4>>2]=e[o+4>>2],e[l+8>>2]=e[o+8>>2],x=D,e[x>>2]=e[l>>2],e[x+4>>2]=e[O>>2],e[x+8>>2]=e[Z>>2],L>>>0>1)){D=1;do u=o+(D*3<<2)|0,e[l>>2]=e[u>>2],e[l+4>>2]=e[u+4>>2],e[l+8>>2]=e[u+8>>2],e[x+(D*12|0)>>2]=e[l>>2],e[x+(D*12|0)+4>>2]=e[O>>2],e[x+(D*12|0)+8>>2]=e[Z>>2],D=D+1|0;while(D>>>0<L>>>0)}e[(e[v+4>>2]|0)+80>>2]=(e[r>>2]|0)-(e[n>>2]|0)>>2,E=1}return v=e[f>>2]|0,v|0&&(e[w>>2]=v,Y(v)),v=e[n>>2]|0,v|0&&(e[r>>2]=v,Y(v)),F=E,U=t,F|0}function Jt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0;if(t=U,U=U+16|0,n=t+8|0,f=t,l=e[r>>2]|0,(l|0)==-1||(A=(l>>>0)/3|0,u=i+12|0,e[(e[u>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31)|0))return o=1,U=t,o|0;A=i+56|0,s=e[A>>2]|0,_=i+60|0,e[_>>2]=s,h=s,s=i+64|0,(e[s>>2]|0)==(h|0)?L0(A,r):(e[h>>2]=l,e[_>>2]=h+4),h=e[i>>2]|0,l=e[r>>2]|0,k=l+1|0;do if((l|0)!=-1)if(b=e[h+28>>2]|0,p=e[b+((((k>>>0)%3|0|0)==0?l+-2|0:k)<<2)>>2]|0,(l>>>0)%3|0){w=p,d=l+-1|0,m=b;break}else{w=p,d=l+2|0,m=b;break}else b=e[h+28>>2]|0,w=e[b+-4>>2]|0,d=-1,m=b;while(0);if(h=e[m+(d<<2)>>2]|0,(w|0)==-1|(h|0)==-1)return o=0,U=t,o|0;if(d=i+24|0,m=e[d>>2]|0,l=m+(w>>>5<<2)|0,k=1<<(w&31),b=e[l>>2]|0,b&k?V=m:(e[l>>2]=b|k,k=e[r>>2]|0,b=k+1|0,(k|0)==-1?c=-1:c=((b>>>0)%3|0|0)==0?k+-2|0:b,e[f>>2]=c,b=(c>>>0)/3|0,k=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(b*12|0)+(c-(b*3|0)<<2)>>2]|0,b=e[i+48>>2]|0,e[n>>2]=k,c=e[b+4>>2]|0,b=c+4|0,l=e[b>>2]|0,(l|0)==(e[c+8>>2]|0)?L0(c,n):(e[l>>2]=k,e[b>>2]=l+4),l=i+40|0,b=e[l>>2]|0,k=b+4|0,c=e[k>>2]|0,(c|0)==(e[b+8>>2]|0)?(L0(b,f),y=e[l>>2]|0):(e[c>>2]=e[f>>2],e[k>>2]=c+4,y=b),b=y+24|0,e[(e[y+12>>2]|0)+(w<<2)>>2]=e[b>>2],e[b>>2]=(e[b>>2]|0)+1,V=e[d>>2]|0),m=V+(h>>>5<<2)|0,V=1<<(h&31),b=e[m>>2]|0,!(b&V)){e[m>>2]=b|V,V=e[r>>2]|0;do if((V|0)!=-1)if((V>>>0)%3|0){v=V+-1|0;break}else{v=V+2|0;break}else v=-1;while(0);e[f>>2]=v,V=(v>>>0)/3|0,b=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(V*12|0)+(v-(V*3|0)<<2)>>2]|0,V=e[i+48>>2]|0,e[n>>2]=b,v=e[V+4>>2]|0,V=v+4|0,m=e[V>>2]|0,(m|0)==(e[v+8>>2]|0)?L0(v,n):(e[m>>2]=b,e[V>>2]=m+4),m=i+40|0,V=e[m>>2]|0,b=V+4|0,v=e[b>>2]|0,(v|0)==(e[V+8>>2]|0)?(L0(V,f),T=e[m>>2]|0):(e[v>>2]=e[f>>2],e[b>>2]=v+4,T=V),V=T+24|0,e[(e[T+12>>2]|0)+(h<<2)>>2]=e[V>>2],e[V>>2]=(e[V>>2]|0)+1}if(V=e[_>>2]|0,(e[A>>2]|0)==(V|0))return o=1,U=t,o|0;h=i+44|0,T=i+48|0,v=i+40|0,b=V;e:for(;;){if(V=b+-4|0,m=e[V>>2]|0,e[r>>2]=m,w=(m>>>0)/3|0,(m|0)!=-1&&(m=(e[u>>2]|0)+(w>>>5<<2)|0,y=1<<(w&31),w=e[m>>2]|0,(w&y|0)==0)){if(e[m>>2]=w|y,y=e[i>>2]|0,w=e[r>>2]|0,m=e[(e[y+28>>2]|0)+(w<<2)>>2]|0,(m|0)==-1){o=0,R=78;break}c=m,m=y,y=w;i:for(;;){if(w=(e[d>>2]|0)+(c>>>5<<2)|0,k=1<<(c&31),l=e[w>>2]|0,l&k)E=y,Z=m,R=55;else if(p=e[(e[m+40>>2]|0)+(c<<2)>>2]|0,(p|0)==-1?N=1:(G=e[(e[e[m+64>>2]>>2]|0)+(p<<2)>>2]|0,N=(1<<(G&31)&e[(e[m+12>>2]|0)+(G>>>5<<2)>>2]|0)!=0),e[w>>2]=l|k,k=e[r>>2]|0,e[f>>2]=k,l=(k>>>0)/3|0,w=e[(e[(e[h>>2]|0)+96>>2]|0)+(l*12|0)+(k-(l*3|0)<<2)>>2]|0,l=e[T>>2]|0,e[n>>2]=w,k=e[l+4>>2]|0,l=k+4|0,G=e[l>>2]|0,(G|0)==(e[k+8>>2]|0)?L0(k,n):(e[G>>2]=w,e[l>>2]=G+4),G=e[v>>2]|0,l=G+4|0,w=e[l>>2]|0,(w|0)==(e[G+8>>2]|0)?(L0(G,f),F=e[v>>2]|0):(e[w>>2]=e[f>>2],e[l>>2]=w+4,F=G),G=F+24|0,e[(e[F+12>>2]|0)+(c<<2)>>2]=e[G>>2],e[G>>2]=(e[G>>2]|0)+1,G=e[i>>2]|0,w=e[r>>2]|0,N)E=w,Z=G,R=55;else{l=w+1|0;do if((w|0)==-1)Q=-1;else{if(k=((l>>>0)%3|0|0)==0?w+-2|0:l,(k|0)==-1){Q=-1;break}if(e[(e[G>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)|0){Q=-1;break}Q=e[(e[(e[G+64>>2]|0)+12>>2]|0)+(k<<2)>>2]|0}while(0);e[r>>2]=Q,z=(Q>>>0)/3|0}if((R|0)==55){if(R=0,G=E+1|0,(E|0)==-1){R=59;break}l=((G>>>0)%3|0|0)==0?E+-2|0:G,(l|0)!=-1&&(e[(e[Z>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?C=e[(e[(e[Z+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0:C=-1,e[n>>2]=C,l=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((l|0)==-1)W=-1;else{if(e[(e[Z>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0){W=-1;break}W=e[(e[(e[Z+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0}while(0);l=(C|0)==-1,G=(C>>>0)/3|0,w=l?-1:G,k=(W|0)==-1,p=(W>>>0)/3|0,I=k?-1:p;do if(l)R=65;else{if(D=e[u>>2]|0,e[D+(w>>>5<<2)>>2]&1<<(w&31)|0){R=65;break}if(k){L=G,O=C;break}if(e[D+(I>>>5<<2)>>2]&1<<(I&31))L=G,O=C;else{R=70;break i}}while(0);if((R|0)==65){if(R=0,k){R=67;break}if(!(e[(e[u>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)))L=p,O=W;else{R=67;break}}e[r>>2]=O,z=L}if(G=(e[u>>2]|0)+(z>>>5<<2)|0,e[G>>2]=e[G>>2]|1<<(z&31),m=e[i>>2]|0,y=e[r>>2]|0,c=e[(e[m+28>>2]|0)+(y<<2)>>2]|0,(c|0)==-1){o=0,R=78;break e}}do if((R|0)==59)R=0,e[n>>2]=-1,R=67;else if((R|0)==70)if(R=0,c=e[_>>2]|0,e[c+-4>>2]=W,(c|0)==(e[s>>2]|0)){L0(A,n);break}else{e[c>>2]=e[n>>2],e[_>>2]=c+4;break}while(0);(R|0)==67&&(R=0,e[_>>2]=(e[_>>2]|0)+-4)}else e[_>>2]=V;if(b=e[_>>2]|0,(e[A>>2]|0)==(b|0)){o=1,R=78;break}}return(R|0)==78?(U=t,o|0):0}function Ot(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0;if(t=U,U=U+16|0,n=t+8|0,f=t,l=e[r>>2]|0,(l|0)==-1||(A=(l>>>0)/3|0,u=i+12|0,e[(e[u>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31)|0))return o=1,U=t,o|0;if(A=i+56|0,s=e[A>>2]|0,_=i+60|0,e[_>>2]=s,h=s,s=i+64|0,(e[s>>2]|0)==(h|0)?L0(A,r):(e[h>>2]=l,e[_>>2]=h+4),h=e[i>>2]|0,l=e[r>>2]|0,k=l+1|0,(l|0)==-1||(b=((k>>>0)%3|0|0)==0?l+-2|0:k,(b|0)==-1?p=-1:p=e[(e[h>>2]|0)+(b<<2)>>2]|0,b=(((l>>>0)%3|0|0)==0?2:-1)+l|0,(b|0)==-1)||(l=e[(e[h>>2]|0)+(b<<2)>>2]|0,(p|0)==-1|(l|0)==-1))return o=0,U=t,o|0;if(b=i+24|0,h=e[b>>2]|0,k=h+(p>>>5<<2)|0,w=1<<(p&31),d=e[k>>2]|0,d&w?y=h:(e[k>>2]=d|w,w=e[r>>2]|0,d=w+1|0,(w|0)==-1?m=-1:m=((d>>>0)%3|0|0)==0?w+-2|0:d,e[f>>2]=m,d=(m>>>0)/3|0,w=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(d*12|0)+(m-(d*3|0)<<2)>>2]|0,d=e[i+48>>2]|0,e[n>>2]=w,m=e[d+4>>2]|0,d=m+4|0,k=e[d>>2]|0,(k|0)==(e[m+8>>2]|0)?L0(m,n):(e[k>>2]=w,e[d>>2]=k+4),k=i+40|0,d=e[k>>2]|0,w=d+4|0,m=e[w>>2]|0,(m|0)==(e[d+8>>2]|0)?(L0(d,f),c=e[k>>2]|0):(e[m>>2]=e[f>>2],e[w>>2]=m+4,c=d),d=c+24|0,e[(e[c+12>>2]|0)+(p<<2)>>2]=e[d>>2],e[d>>2]=(e[d>>2]|0)+1,y=e[b>>2]|0),h=y+(l>>>5<<2)|0,y=1<<(l&31),d=e[h>>2]|0,!(d&y)){e[h>>2]=d|y,y=e[r>>2]|0;do if((y|0)!=-1)if((y>>>0)%3|0){V=y+-1|0;break}else{V=y+2|0;break}else V=-1;while(0);e[f>>2]=V,y=(V>>>0)/3|0,d=e[(e[(e[i+44>>2]|0)+96>>2]|0)+(y*12|0)+(V-(y*3|0)<<2)>>2]|0,y=e[i+48>>2]|0,e[n>>2]=d,V=e[y+4>>2]|0,y=V+4|0,h=e[y>>2]|0,(h|0)==(e[V+8>>2]|0)?L0(V,n):(e[h>>2]=d,e[y>>2]=h+4),h=i+40|0,y=e[h>>2]|0,d=y+4|0,V=e[d>>2]|0,(V|0)==(e[y+8>>2]|0)?(L0(y,f),v=e[h>>2]|0):(e[V>>2]=e[f>>2],e[d>>2]=V+4,v=y),y=v+24|0,e[(e[v+12>>2]|0)+(l<<2)>>2]=e[y>>2],e[y>>2]=(e[y>>2]|0)+1}if(y=e[_>>2]|0,(e[A>>2]|0)==(y|0))return o=1,U=t,o|0;l=i+44|0,v=i+48|0,V=i+40|0,d=y;e:for(;;){if(y=d+-4|0,h=e[y>>2]|0,e[r>>2]=h,p=(h>>>0)/3|0,(h|0)!=-1&&(h=(e[u>>2]|0)+(p>>>5<<2)|0,c=1<<(p&31),p=e[h>>2]|0,(p&c|0)==0)){if(e[h>>2]=p|c,c=e[r>>2]|0,(c|0)==-1){o=0,T=79;break}p=c;i:for(;;){if(c=e[i>>2]|0,h=e[(e[c>>2]|0)+(p<<2)>>2]|0,(h|0)==-1){o=0,T=79;break e}m=(e[b>>2]|0)+(h>>>5<<2)|0,w=1<<(h&31),k=e[m>>2]|0;do if(k&w)Q=p,z=c,T=59;else{R=e[(e[c+24>>2]|0)+(h<<2)>>2]|0,N=R+1|0;do if((R|0)!=-1){if(G=((N>>>0)%3|0|0)==0?R+-2|0:N,(G|0)==-1){T=46;break}if(F=e[(e[c+12>>2]|0)+(G<<2)>>2]|0,G=F+1|0,(F|0)==-1){T=46;break}((((G>>>0)%3|0|0)==0?F+-2|0:G)|0)!=-1?E=0:T=46}else T=46;while(0);if((T|0)==46&&(T=0,E=1),e[m>>2]=k|w,N=e[r>>2]|0,e[f>>2]=N,R=(N>>>0)/3|0,G=e[(e[(e[l>>2]|0)+96>>2]|0)+(R*12|0)+(N-(R*3|0)<<2)>>2]|0,R=e[v>>2]|0,e[n>>2]=G,N=e[R+4>>2]|0,R=N+4|0,F=e[R>>2]|0,(F|0)==(e[N+8>>2]|0)?L0(N,n):(e[F>>2]=G,e[R>>2]=F+4),F=e[V>>2]|0,R=F+4|0,G=e[R>>2]|0,(G|0)==(e[F+8>>2]|0)?(L0(F,f),Z=e[V>>2]|0):(e[G>>2]=e[f>>2],e[R>>2]=G+4,Z=F),F=Z+24|0,e[(e[Z+12>>2]|0)+(h<<2)>>2]=e[F>>2],e[F>>2]=(e[F>>2]|0)+1,F=e[i>>2]|0,G=e[r>>2]|0,E)if((G|0)==-1){T=61;break i}else{Q=G,z=F,T=59;break}do if((G|0)==-1)C=-1;else{if(R=G+1|0,N=((R>>>0)%3|0|0)==0?G+-2|0:R,(N|0)==-1){C=-1;break}C=e[(e[F+12>>2]|0)+(N<<2)>>2]|0}while(0);e[r>>2]=C,W=(C>>>0)/3|0}while(0);if((T|0)==59){T=0,c=Q+1|0,h=((c>>>0)%3|0|0)==0?Q+-2|0:c,(h|0)==-1?I=-1:I=e[(e[z+12>>2]|0)+(h<<2)>>2]|0,e[n>>2]=I,h=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(h|0)==-1?D=-1:D=e[(e[z+12>>2]|0)+(h<<2)>>2]|0,h=(I|0)==-1,c=(I>>>0)/3|0,w=h?-1:c,k=(D|0)==-1,m=(D>>>0)/3|0,F=k?-1:m;do if(h)T=66;else{if(G=e[u>>2]|0,e[G+(w>>>5<<2)>>2]&1<<(w&31)|0){T=66;break}if(k){L=c,O=I;break}if(e[G+(F>>>5<<2)>>2]&1<<(F&31))L=c,O=I;else{T=71;break i}}while(0);if((T|0)==66){if(T=0,k){T=68;break}if(!(e[(e[u>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)))L=m,O=D;else{T=68;break}}e[r>>2]=O,W=L}if(c=(e[u>>2]|0)+(W>>>5<<2)|0,e[c>>2]=e[c>>2]|1<<(W&31),p=e[r>>2]|0,(p|0)==-1){o=0,T=79;break e}}do if((T|0)==61)T=0,e[n>>2]=-1,T=68;else if((T|0)==71)if(T=0,p=e[_>>2]|0,e[p+-4>>2]=D,(p|0)==(e[s>>2]|0)){L0(A,n);break}else{e[p>>2]=e[n>>2],e[_>>2]=p+4;break}while(0);(T|0)==68&&(T=0,e[_>>2]=(e[_>>2]|0)+-4)}else e[_>>2]=y;if(d=e[_>>2]|0,(e[A>>2]|0)==(d|0)){o=1,T=79;break}}return(T|0)==79?(U=t,o|0):0}function s8(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0;f=U,U=U+80|0,l=f+76|0,o=f+72|0,A=f+48|0,u=f+24|0,s=f,_=e[r>>2]|0,r=_+1|0,(_|0)!=-1?(h=((r>>>0)%3|0|0)==0?_+-2|0:r,r=(((_>>>0)%3|0|0)==0?2:-1)+_|0,_=e[i+32>>2]|0,(h|0)==-1?k=-1:k=e[(e[_>>2]|0)+(h<<2)>>2]|0,(r|0)==-1?(b=k,p=-1):(b=k,p=e[(e[_>>2]|0)+(r<<2)>>2]|0)):(b=-1,p=-1),r=e[i+36>>2]|0,_=e[r>>2]|0,k=(e[r+4>>2]|0)-_>>2,k>>>0<=b>>>0&&W0(r),h=_,_=e[h+(b<<2)>>2]|0,k>>>0<=p>>>0&&W0(r),r=e[h+(p<<2)>>2]|0,p=(_|0)<(n|0);do if(p&(r|0)<(n|0)){if(h=_<<1,k=e[t+(h<<2)>>2]|0,b=((k|0)<0)<<31>>31,w=e[t+((h|1)<<2)>>2]|0,h=((w|0)<0)<<31>>31,d=r<<1,m=e[t+(d<<2)>>2]|0,c=e[t+((d|1)<<2)>>2]|0,!((m|0)!=(k|0)|(c|0)!=(w|0)))return e[i+8>>2]=k,e[i+12>>2]=w,y=1,U=f,y|0;if(d=i+4|0,V=e[(e[d>>2]|0)+(n<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,v=e[i>>2]|0,j[v+84>>0]|0?T=V:T=e[(e[v+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=T,V=j[v+24>>0]|0,e[l>>2]=e[o>>2],Ne(v,l,V,A)|0,V=e[(e[d>>2]|0)+(_<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,e[u+12>>2]=0,e[u+16>>2]=0,e[u+20>>2]=0,v=e[i>>2]|0,j[v+84>>0]|0?R=V:R=e[(e[v+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=R,V=j[v+24>>0]|0,e[l>>2]=e[o>>2],Ne(v,l,V,u)|0,V=e[(e[d>>2]|0)+(r<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,d=e[i>>2]|0,j[d+84>>0]|0?N=V:N=e[(e[d+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=N,V=j[d+24>>0]|0,e[l>>2]=e[o>>2],Ne(d,l,V,s)|0,V=s,d=u,v=e[d>>2]|0,G=e[d+4>>2]|0,d=H0(e[V>>2]|0,e[V+4>>2]|0,v|0,G|0)|0,V=H,F=s+8|0,E=u+8|0,Z=e[E>>2]|0,Q=e[E+4>>2]|0,E=H0(e[F>>2]|0,e[F+4>>2]|0,Z|0,Q|0)|0,F=H,z=s+16|0,C=u+16|0,W=e[C>>2]|0,I=e[C+4>>2]|0,C=H0(e[z>>2]|0,e[z+4>>2]|0,W|0,I|0)|0,z=H,D=Y0(d|0,V|0,d|0,V|0)|0,L=H,O=Y0(E|0,F|0,E|0,F|0)|0,x=i0(O|0,H|0,D|0,L|0)|0,L=H,D=Y0(C|0,z|0,C|0,z|0)|0,O=i0(x|0,L|0,D|0,H|0)|0,D=H,(O|0)==0&(D|0)==0)break;switch(L=A,x=H0(e[L>>2]|0,e[L+4>>2]|0,v|0,G|0)|0,G=H,v=A+8|0,L=H0(e[v>>2]|0,e[v+4>>2]|0,Z|0,Q|0)|0,Q=H,Z=A+16|0,v=H0(e[Z>>2]|0,e[Z+4>>2]|0,W|0,I|0)|0,I=H,W=Y0(x|0,G|0,d|0,V|0)|0,Z=H,X=Y0(L|0,Q|0,E|0,F|0)|0,B=i0(X|0,H|0,W|0,Z|0)|0,Z=H,W=Y0(v|0,I|0,C|0,z|0)|0,X=i0(B|0,Z|0,W|0,H|0)|0,W=H,Z=H0(m|0,((m|0)<0)<<31>>31|0,k|0,b|0)|0,m=H,B=H0(c|0,((c|0)<0)<<31>>31|0,w|0,h|0)|0,c=H,M=Y0(O|0,D|0,k|0,b|0)|0,b=H,k=Y0(O|0,D|0,w|0,h|0)|0,h=H,w=Y0(X|0,W|0,Z|0,m|0)|0,P=H,q=Y0(X|0,W|0,B|0,c|0)|0,g=H,n0=i0(w|0,P|0,M|0,b|0)|0,b=H,M=i0(q|0,g|0,k|0,h|0)|0,h=H,k=Y0(X|0,W|0,d|0,V|0)|0,V=H,d=Y0(X|0,W|0,E|0,F|0)|0,F=H,E=Y0(X|0,W|0,C|0,z|0)|0,z=H,C=p2(k|0,V|0,O|0,D|0)|0,V=H,k=p2(d|0,F|0,O|0,D|0)|0,F=H,d=p2(E|0,z|0,O|0,D|0)|0,z=H,E=H0(x|0,G|0,C|0,V|0)|0,V=H,C=H0(L|0,Q|0,k|0,F|0)|0,F=H,k=H0(v|0,I|0,d|0,z|0)|0,z=H,d=Y0(E|0,V|0,E|0,V|0)|0,V=H,E=Y0(C|0,F|0,C|0,F|0)|0,F=i0(E|0,H|0,d|0,V|0)|0,V=H,d=Y0(k|0,z|0,k|0,z|0)|0,z=i0(F|0,V|0,d|0,H|0)|0,d=H,V=H0(0,0,Z|0,m|0)|0,m=H,Z=Y0(z|0,d|0,O|0,D|0)|0,d=H,Z|0){case 0:{d?a=23:(l0=Z,t0=d);break}case 1:{d?a=23:($=Z,e0=d,a=25);break}default:a=23}if((a|0)==23)for(z=1,F=0,k=Z,E=d;;)if(C=_1(z|0,F|0,1)|0,I=H,v=k,k=me(k|0,E|0,2)|0,E>>>0>0|(E|0)==0&v>>>0>7)z=C,F=I,E=H;else{$=C,e0=I,a=25;break}if((a|0)==25)for(E=$,F=e0;;)if(z=k1(Z|0,d|0,E|0,F|0)|0,k=i0(z|0,H|0,E|0,F|0)|0,z=me(k|0,H|0,1)|0,k=H,I=Y0(z|0,k|0,z|0,k|0)|0,C=H,C>>>0>d>>>0|(C|0)==(d|0)&I>>>0>Z>>>0)E=z,F=k;else{l0=z,t0=k;break}return F=Y0(l0|0,t0|0,B|0,c|0)|0,E=H,Z=Y0(l0|0,t0|0,V|0,m|0)|0,d=H,k=i+20|0,z=e[k>>2]|0,z?(I=z+-1|0,z=(e[(e[i+16>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0,e[k>>2]=I,I=H0(0,0,Z|0,d|0)|0,k=i0(M|0,h|0,(z?I:Z)|0,(z?H:d)|0)|0,d=H,Z=H0(0,0,F|0,E|0)|0,I=i0(n0|0,b|0,(z?Z:F)|0,(z?H:E)|0)|0,E=p2(I|0,H|0,O|0,D|0)|0,I=p2(k|0,d|0,O|0,D|0)|0,e[i+8>>2]=E,e[i+12>>2]=I,f0=1):f0=0,y=f0,U=f,y|0}while(0);do if(p)A0=_<<1;else{if((n|0)>0){A0=(n<<1)+-2|0;break}return f0=i+8|0,e[f0>>2]=0,e[f0+4>>2]=0,y=1,U=f,y|0}while(0);return e[i+8>>2]=e[t+(A0<<2)>>2],e[i+12>>2]=e[t+(A0+1<<2)>>2],y=1,U=f,y|0}function o8(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0;f=U,U=U+80|0,l=f+76|0,o=f+72|0,A=f+48|0,u=f+24|0,s=f,_=i+32|0,h=e[r>>2]|0,r=h+1|0;do if((h|0)!=-1)if(k=((r>>>0)%3|0|0)==0?h+-2|0:r,(h>>>0)%3|0){b=h+-1|0,p=k;break}else{b=h+2|0,p=k;break}else b=-1,p=-1;while(0);h=e[(e[_>>2]|0)+28>>2]|0,_=e[h+(p<<2)>>2]|0,p=e[h+(b<<2)>>2]|0,b=e[i+36>>2]|0,h=e[b>>2]|0,r=(e[b+4>>2]|0)-h>>2,r>>>0<=_>>>0&&W0(b),k=h,h=e[k+(_<<2)>>2]|0,r>>>0<=p>>>0&&W0(b),b=e[k+(p<<2)>>2]|0,p=(h|0)<(n|0);do if(p&(b|0)<(n|0)){if(k=h<<1,r=e[t+(k<<2)>>2]|0,_=((r|0)<0)<<31>>31,w=e[t+((k|1)<<2)>>2]|0,k=((w|0)<0)<<31>>31,d=b<<1,m=e[t+(d<<2)>>2]|0,c=e[t+((d|1)<<2)>>2]|0,!((m|0)!=(r|0)|(c|0)!=(w|0)))return e[i+8>>2]=r,e[i+12>>2]=w,y=1,U=f,y|0;if(d=i+4|0,V=e[(e[d>>2]|0)+(n<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,v=e[i>>2]|0,j[v+84>>0]|0?T=V:T=e[(e[v+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=T,V=j[v+24>>0]|0,e[l>>2]=e[o>>2],Ne(v,l,V,A)|0,V=e[(e[d>>2]|0)+(h<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,e[u+12>>2]=0,e[u+16>>2]=0,e[u+20>>2]=0,v=e[i>>2]|0,j[v+84>>0]|0?R=V:R=e[(e[v+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=R,V=j[v+24>>0]|0,e[l>>2]=e[o>>2],Ne(v,l,V,u)|0,V=e[(e[d>>2]|0)+(b<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,d=e[i>>2]|0,j[d+84>>0]|0?N=V:N=e[(e[d+68>>2]|0)+(V<<2)>>2]|0,e[o>>2]=N,V=j[d+24>>0]|0,e[l>>2]=e[o>>2],Ne(d,l,V,s)|0,V=s,d=u,v=e[d>>2]|0,G=e[d+4>>2]|0,d=H0(e[V>>2]|0,e[V+4>>2]|0,v|0,G|0)|0,V=H,F=s+8|0,E=u+8|0,Z=e[E>>2]|0,Q=e[E+4>>2]|0,E=H0(e[F>>2]|0,e[F+4>>2]|0,Z|0,Q|0)|0,F=H,z=s+16|0,C=u+16|0,W=e[C>>2]|0,I=e[C+4>>2]|0,C=H0(e[z>>2]|0,e[z+4>>2]|0,W|0,I|0)|0,z=H,D=Y0(d|0,V|0,d|0,V|0)|0,L=H,O=Y0(E|0,F|0,E|0,F|0)|0,x=i0(O|0,H|0,D|0,L|0)|0,L=H,D=Y0(C|0,z|0,C|0,z|0)|0,O=i0(x|0,L|0,D|0,H|0)|0,D=H,(O|0)==0&(D|0)==0)break;switch(L=A,x=H0(e[L>>2]|0,e[L+4>>2]|0,v|0,G|0)|0,G=H,v=A+8|0,L=H0(e[v>>2]|0,e[v+4>>2]|0,Z|0,Q|0)|0,Q=H,Z=A+16|0,v=H0(e[Z>>2]|0,e[Z+4>>2]|0,W|0,I|0)|0,I=H,W=Y0(x|0,G|0,d|0,V|0)|0,Z=H,X=Y0(L|0,Q|0,E|0,F|0)|0,B=i0(X|0,H|0,W|0,Z|0)|0,Z=H,W=Y0(v|0,I|0,C|0,z|0)|0,X=i0(B|0,Z|0,W|0,H|0)|0,W=H,Z=H0(m|0,((m|0)<0)<<31>>31|0,r|0,_|0)|0,m=H,B=H0(c|0,((c|0)<0)<<31>>31|0,w|0,k|0)|0,c=H,M=Y0(O|0,D|0,r|0,_|0)|0,_=H,r=Y0(O|0,D|0,w|0,k|0)|0,k=H,w=Y0(X|0,W|0,Z|0,m|0)|0,P=H,q=Y0(X|0,W|0,B|0,c|0)|0,g=H,n0=i0(w|0,P|0,M|0,_|0)|0,_=H,M=i0(q|0,g|0,r|0,k|0)|0,k=H,r=Y0(X|0,W|0,d|0,V|0)|0,V=H,d=Y0(X|0,W|0,E|0,F|0)|0,F=H,E=Y0(X|0,W|0,C|0,z|0)|0,z=H,C=p2(r|0,V|0,O|0,D|0)|0,V=H,r=p2(d|0,F|0,O|0,D|0)|0,F=H,d=p2(E|0,z|0,O|0,D|0)|0,z=H,E=H0(x|0,G|0,C|0,V|0)|0,V=H,C=H0(L|0,Q|0,r|0,F|0)|0,F=H,r=H0(v|0,I|0,d|0,z|0)|0,z=H,d=Y0(E|0,V|0,E|0,V|0)|0,V=H,E=Y0(C|0,F|0,C|0,F|0)|0,F=i0(E|0,H|0,d|0,V|0)|0,V=H,d=Y0(r|0,z|0,r|0,z|0)|0,z=i0(F|0,V|0,d|0,H|0)|0,d=H,V=H0(0,0,Z|0,m|0)|0,m=H,Z=Y0(z|0,d|0,O|0,D|0)|0,d=H,Z|0){case 0:{d?a=22:(l0=Z,t0=d);break}case 1:{d?a=22:($=Z,e0=d,a=24);break}default:a=22}if((a|0)==22)for(z=1,F=0,r=Z,E=d;;)if(C=_1(z|0,F|0,1)|0,I=H,v=r,r=me(r|0,E|0,2)|0,E>>>0>0|(E|0)==0&v>>>0>7)z=C,F=I,E=H;else{$=C,e0=I,a=24;break}if((a|0)==24)for(E=$,F=e0;;)if(z=k1(Z|0,d|0,E|0,F|0)|0,r=i0(z|0,H|0,E|0,F|0)|0,z=me(r|0,H|0,1)|0,r=H,I=Y0(z|0,r|0,z|0,r|0)|0,C=H,C>>>0>d>>>0|(C|0)==(d|0)&I>>>0>Z>>>0)E=z,F=r;else{l0=z,t0=r;break}return F=Y0(l0|0,t0|0,B|0,c|0)|0,E=H,Z=Y0(l0|0,t0|0,V|0,m|0)|0,d=H,r=i+20|0,z=e[r>>2]|0,z?(I=z+-1|0,z=(e[(e[i+16>>2]|0)+(I>>>5<<2)>>2]&1<<(I&31)|0)==0,e[r>>2]=I,I=H0(0,0,Z|0,d|0)|0,r=i0(M|0,k|0,(z?I:Z)|0,(z?H:d)|0)|0,d=H,Z=H0(0,0,F|0,E|0)|0,I=i0(n0|0,_|0,(z?Z:F)|0,(z?H:E)|0)|0,E=p2(I|0,H|0,O|0,D|0)|0,I=p2(r|0,d|0,O|0,D|0)|0,e[i+8>>2]=E,e[i+12>>2]=I,f0=1):f0=0,y=f0,U=f,y|0}while(0);do if(p)A0=h<<1;else{if((n|0)>0){A0=(n<<1)+-2|0;break}return f0=i+8|0,e[f0>>2]=0,e[f0+4>>2]=0,y=1,U=f,y|0}while(0);return e[i+8>>2]=e[t+(A0<<2)>>2],e[i+12>>2]=e[t+(A0+1<<2)>>2],y=1,U=f,y|0}function u8(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=a0,f0=a0,A0=a0;if(r=U,U=U+32|0,t=r+12|0,n=r,f=i+60|0,(e[f>>2]|0)==(e[i+64>>2]|0)&&(e[i+48>>2]|0)==(e[i+52>>2]|0)||(K0[e[(e[i>>2]|0)+24>>2]&127](i)|0)<=0)return l=1,U=r,l|0;o=t+4|0,A=t+8|0,u=i+36|0,s=t+8|0,_=t+4|0,h=n+4|0,k=n+8|0,b=t+11|0,p=t+4|0,w=0,d=0,m=0;e:for(;;){c=_2[e[(e[i>>2]|0)+20>>2]&127](i,m)|0,y=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,V=e[(e[(e[y>>2]|0)+8>>2]|0)+(c<<2)>>2]|0,c=V+28|0;i:do switch(e[c>>2]|0){case 1:case 3:case 5:{if(y=V+24|0,v=j[y>>0]|0,T=v<<24>>24,e[t>>2]=0,e[o>>2]=0,e[A>>2]=0,!(v<<24>>24))R=0;else{if(v<<24>>24<0){N=8;break e}v=T<<2,G=v0(v)|0,e[t>>2]=G,F=G+(T<<2)|0,e[A>>2]=F,E0(G|0,0,v|0)|0,e[o>>2]=F,R=j[y>>0]|0}if(F=R<<24>>24,e[n>>2]=0,e[h>>2]=0,e[k>>2]=0,R<<24>>24){if(R<<24>>24<0){N=12;break e}v=F<<2,G=v0(v)|0,e[n>>2]=G,T=G+(F<<2)|0,e[k>>2]=T,E0(G|0,0,v|0)|0,e[h>>2]=T}switch(e[c>>2]|0){case 5:{ou(i,V,d)|0?N=18:(E=1,Z=d);break}case 3:{su(i,V,d)|0?N=18:(E=1,Z=d);break}case 1:{Mo(i,V,d)|0?N=18:(E=1,Z=d);break}default:N=18}if((N|0)==18&&(N=0,E=0,Z=d+(j[y>>0]|0)|0),y=e[n>>2]|0,y|0&&(e[h>>2]=y,Y(y)),y=e[t>>2]|0,y|0&&(e[o>>2]=y,Y(y)),!E)Q=w,z=Z;else{l=0,N=64;break e}break}case 9:{y=e[(e[f>>2]|0)+(w<<2)>>2]|0,T=e[u>>2]|0,v=w+1|0,G=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+40|0,F=e[G>>2]|0,G=e[V+56>>2]|0,C=v0(32)|0,e[t>>2]=C,e[s>>2]=-2147483616,e[_>>2]=24,W=C,I=11931,D=W+24|0;do j[W>>0]=j[I>>0]|0,W=W+1|0,I=I+1|0;while((W|0)<(D|0));j[C+24>>0]=0,I=F+16|0,W=e[I>>2]|0;r:do if(W){D=I,L=W;do O=(e[L+16>>2]|0)<(G|0),D=O?D:L,L=e[(O?L+4|0:L)>>2]|0;while((L|0)!=0);if((D|0)!=(I|0)&&(G|0)>=(e[D+16>>2]|0)&&(L=D+20|0,O=e[D+24>>2]|0,(O|0)!=0)){for(x=O;;){if(O=x+16|0,X=j[O+11>>0]|0,B=X<<24>>24<0,M=B?e[x+20>>2]|0:X&255,X=M>>>0<24,P=X?M:24,q=(P|0)==0,!q&&(g=B?e[O>>2]|0:O,n0=E2(C,g,P)|0,(n0|0)!=0)?(n0|0)<0?N=35:(l0=g,N=38):M>>>0<=24?q?N=39:(l0=B?e[O>>2]|0:O,N=38):N=35,(N|0)==35)N=0,t0=x;else if((N|0)==38)if(N=0,O=E2(l0,C,P)|0,O)if((O|0)<0)N=41;else break;else N=39;if((N|0)==39)if(N=0,X)N=41;else break;if((N|0)==41&&(N=0,t0=x+4|0),x=e[t0>>2]|0,!x){N=44;break r}}a=W1(L,t,0)|0}else N=44}else N=44;while(0);if((N|0)==44&&(N=0,a=W1(F,t,0)|0),(j[b>>0]|0)<0&&Y(e[t>>2]|0),a){vt(V,y),Q=v,z=d;break i}if(C=e[T+(w*24|0)+4>>2]|0,G=j[V+24>>0]|0,I=G<<24>>24,W=I<<2,$=B2(I>>>0>1073741823?-1:I<<2)|0,t4(t),!(Kr(t,o0(q0[T+(w*24|0)+20>>2]),(1<<C)+-1|0)|0)){N=63;break e}C=(e[e[y>>2]>>2]|0)+(e[y+48>>2]|0)|0,x=y+80|0;r:do if(e[x>>2]|0){if(D=V+64|0,X=T+(w*24|0)+8|0,G<<24>>24<=0)for(O=0,P=0;;){if(S0((e[e[D>>2]>>2]|0)+P|0,$|0,W|0)|0,O=O+1|0,O>>>0>=(e[x>>2]|0)>>>0)break r;P=P+W|0}for(P=0,O=0,L=0;;){for(B=e[X>>2]|0,q=0,M=L;g=e[C+(M<<2)>>2]|0,(g|0)>-1?(e0=o0(g|0),f0=o0(o0(q0[p>>2])*e0),A0=o0(f0*o0(q0[t>>2]))):(n0=H0(0,0,g|0,((g|0)<0)<<31>>31|0)|0,f0=o0(+(n0>>>0)+4294967296*+(H|0)),e0=o0(o0(q0[p>>2])*f0),A0=o0(-o0(e0*o0(q0[t>>2])))),e0=o0(A0+o0(q0[B+(q<<2)>>2])),q0[$+(q<<2)>>2]=e0,q=q+1|0,(q|0)!=(I|0);)M=M+1|0;if(S0((e[e[D>>2]>>2]|0)+O|0,$|0,W|0)|0,P=P+1|0,P>>>0>=(e[x>>2]|0)>>>0)break;O=O+W|0,L=L+I|0}}while(0);i2($),Q=v,z=d;break}default:Q=w,z=d}while(0);if(m=m+1|0,(m|0)>=(K0[e[(e[i>>2]|0)+24>>2]&127](i)|0)){l=1,N=64;break}else w=Q,d=z}if((N|0)==8)W0(t);else if((N|0)==12)W0(n);else{if((N|0)==63)return i2($),l=0,U=r,l|0;if((N|0)==64)return U=r,l|0}return 0}function Bi(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0;n=U,U=U+96|0,f=n+92|0,l=n+88|0,o=n+72|0,A=n+48|0,u=n+24|0,s=n,_=i+16|0,h=e[_>>2]|0,k=e[r>>2]|0,e[o>>2]=h,e[o+4>>2]=k,r=o+8|0,e[r>>2]=k,j[o+12>>0]=1,b=(k|0)==-1,b?p=-1:p=e[(e[h>>2]|0)+(k<<2)>>2]|0,h=i+20|0,w=e[h>>2]|0,d=e[w>>2]|0,(e[w+4>>2]|0)-d>>2>>>0<=p>>>0&&W0(w),w=i+8|0,m=e[(e[w>>2]|0)+(e[d+(p<<2)>>2]<<2)>>2]|0,p=i+4|0,d=e[p>>2]|0,j[d+84>>0]|0?c=m:c=e[(e[d+68>>2]|0)+(m<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[l>>2]=c,c=j[d+24>>0]|0,e[f>>2]=e[l>>2],Ne(d,f,c,A)|0,c=i+28|0,i=(e[c>>2]|0)==0;do if(b)V0=i,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,B=27;else{for(d=k+1|0,m=((d>>>0)%3|0|0)==0?k+-2|0:d,d=u+8|0,y=A+8|0,V=u+16|0,v=A+16|0,T=s+8|0,R=s+16|0,N=k+(((k>>>0)%3|0|0)==0?2:-1)|0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=i,W=k;;){do if(C)L=N,O=m;else if(I=W+1|0,D=((I>>>0)%3|0|0)==0?W+-2|0:I,(W>>>0)%3|0){L=W+-1|0,O=D;break}else{L=W+2|0,O=D;break}while(0);if((O|0)==-1?x=-1:x=e[(e[e[_>>2]>>2]|0)+(O<<2)>>2]|0,X=e[h>>2]|0,D=e[X>>2]|0,(e[X+4>>2]|0)-D>>2>>>0<=x>>>0){B=16;break}if(I=e[(e[w>>2]|0)+(e[D+(x<<2)>>2]<<2)>>2]|0,D=e[p>>2]|0,j[D+84>>0]|0?M=I:M=e[(e[D+68>>2]|0)+(I<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,e[u+12>>2]=0,e[u+16>>2]=0,e[u+20>>2]=0,e[l>>2]=M,I=j[D+24>>0]|0,e[f>>2]=e[l>>2],Ne(D,f,I,u)|0,(L|0)==-1?P=-1:P=e[(e[e[_>>2]>>2]|0)+(L<<2)>>2]|0,q=e[h>>2]|0,I=e[q>>2]|0,(e[q+4>>2]|0)-I>>2>>>0<=P>>>0){B=22;break}if(D=e[(e[w>>2]|0)+(e[I+(P<<2)>>2]<<2)>>2]|0,I=e[p>>2]|0,j[I+84>>0]|0?g=D:g=e[(e[I+68>>2]|0)+(D<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[l>>2]=g,D=j[I+24>>0]|0,e[f>>2]=e[l>>2],Ne(I,f,D,s)|0,D=u,I=A,n0=e[I>>2]|0,l0=e[I+4>>2]|0,I=H0(e[D>>2]|0,e[D+4>>2]|0,n0|0,l0|0)|0,D=H,t0=d,a=y,$=e[a>>2]|0,e0=e[a+4>>2]|0,a=H0(e[t0>>2]|0,e[t0+4>>2]|0,$|0,e0|0)|0,t0=H,f0=V,A0=v,_0=e[A0>>2]|0,h0=e[A0+4>>2]|0,A0=H0(e[f0>>2]|0,e[f0+4>>2]|0,_0|0,h0|0)|0,f0=H,p0=s,j0=H0(e[p0>>2]|0,e[p0+4>>2]|0,n0|0,l0|0)|0,l0=H,n0=T,p0=H0(e[n0>>2]|0,e[n0+4>>2]|0,$|0,e0|0)|0,e0=H,$=R,n0=H0(e[$>>2]|0,e[$+4>>2]|0,_0|0,h0|0)|0,h0=H,_0=Y0(n0|0,h0|0,a|0,t0|0)|0,$=H,y0=Y0(p0|0,e0|0,A0|0,f0|0)|0,k0=H,N0=Y0(j0|0,l0|0,A0|0,f0|0)|0,f0=H,A0=Y0(n0|0,h0|0,I|0,D|0)|0,h0=H,n0=Y0(p0|0,e0|0,I|0,D|0)|0,D=H,I=Y0(j0|0,l0|0,a|0,t0|0)|0,t0=H,a=H0(G|0,F|0,y0|0,k0|0)|0,G=i0(a|0,H|0,_0|0,$|0)|0,F=H,$=i0(N0|0,f0|0,E|0,Z|0)|0,E=H0($|0,H|0,A0|0,h0|0)|0,Z=H,h0=H0(Q|0,z|0,I|0,t0|0)|0,Q=i0(h0|0,H|0,n0|0,D|0)|0,z=H,U1(o),W=e[r>>2]|0,C=(e[c>>2]|0)==0,(W|0)==-1){B=26;break}}if((B|0)==16)W0(X);else if((B|0)==22)W0(q);else if((B|0)==26)if(W=H0(0,0,G|0,F|0)|0,(F|0)>-1|(F|0)==-1&G>>>0>4294967295){V0=C,U0=G,m0=F,s0=E,G0=Z,d0=Q,b0=z,B=27;break}else{c0=C,w0=Z,R0=E,T0=z,F0=Q,I0=W,D0=H,z0=G,J0=F;break}}while(0);if((B|0)==27&&(c0=V0,w0=G0,R0=s0,T0=b0,F0=d0,I0=U0,D0=m0,z0=U0,J0=m0),m0=(w0|0)>-1|(w0|0)==-1&R0>>>0>4294967295,U0=H0(0,0,R0|0,w0|0)|0,d0=m0?w0:H,b0=(T0|0)>-1|(T0|0)==-1&F0>>>0>4294967295,s0=H0(0,0,F0|0,T0|0)|0,G0=i0((m0?R0:U0)|0,d0|0,(b0?F0:s0)|0,(b0?T0:H)|0)|0,b0=i0(G0|0,H|0,I0|0,D0|0)|0,D0=H,c0){if((b0|0)<=536870912){Q0=z0,C0=R0,O0=F0,e[t>>2]=Q0,x0=t+4|0,e[x0>>2]=C0,X0=t+8|0,e[X0>>2]=O0,U=n;return}c0=me(b0|0,D0|0,29)|0,I0=c0&7,c0=p2(z0|0,J0|0,I0|0,0)|0,G0=p2(R0|0,w0|0,I0|0,0)|0,s0=p2(F0|0,T0|0,I0|0,0)|0,Q0=c0,C0=G0,O0=s0,e[t>>2]=Q0,x0=t+4|0,e[x0>>2]=C0,X0=t+8|0,e[X0>>2]=O0,U=n;return}else{if(!((D0|0)>0|(D0|0)==0&b0>>>0>536870912)){Q0=z0,C0=R0,O0=F0,e[t>>2]=Q0,x0=t+4|0,e[x0>>2]=C0,X0=t+8|0,e[X0>>2]=O0,U=n;return}s0=me(b0|0,D0|0,29)|0,D0=H,b0=p2(z0|0,J0|0,s0|0,D0|0)|0,J0=p2(R0|0,w0|0,s0|0,D0|0)|0,w0=p2(F0|0,T0|0,s0|0,D0|0)|0,Q0=b0,C0=J0,O0=w0,e[t>>2]=Q0,x0=t+4|0,e[x0>>2]=C0,X0=t+8|0,e[X0>>2]=O0,U=n;return}}function Mi(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0;t=U,U=U+32|0,n=t+20|0,f=t+8|0,l=t+4|0,o=t,A=i+4|0;do if((J[(e[A>>2]|0)+36>>0]<<8&65535)<512){if(u=r+8|0,s=e[u>>2]|0,_=e[u+4>>2]|0,u=r+16|0,h=u,k=e[h>>2]|0,b=i0(k|0,e[h+4>>2]|0,4,0)|0,h=H,(_|0)<(h|0)|(_|0)==(h|0)&s>>>0<b>>>0)return p=-1,U=t,p|0;s=(e[r>>2]|0)+k|0,k=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,e[n>>2]=k,s=u,e[s>>2]=b,e[s+4>>2]=h,w=k;break}else if(t2(n,r)|0){w=e[n>>2]|0;break}else return p=-1,U=t,p|0;while(0);e:do if(w|0){if(k=e[i+8>>2]|0,w>>>0>(((e[k+4>>2]|0)-(e[k>>2]|0)>>2>>>0)/3|0)>>>0)return p=-1,U=t,p|0;if(k=e[A>>2]|0,((J[k+36>>0]<<8|J[k+37>>0])&65535)<258){for(k=r+8|0,h=r+16|0,s=f+4|0,b=f+8|0,u=i+40|0,_=i+44|0,d=i+36|0,m=0,c=w;y=k,V=e[y>>2]|0,v=e[y+4>>2]|0,y=h,T=e[y>>2]|0,R=e[y+4>>2]|0,y=i0(T|0,R|0,4,0)|0,N=H,!((v|0)<(N|0)|(v|0)==(N|0)&V>>>0<y>>>0||(G=e[r>>2]|0,F=G+T|0,e[f>>2]=J[F>>0]|J[F+1>>0]<<8|J[F+2>>0]<<16|J[F+3>>0]<<24,F=h,e[F>>2]=y,e[F+4>>2]=N,N=i0(T|0,R|0,8,0)|0,F=H,(v|0)<(F|0)|(v|0)==(F|0)&V>>>0<N>>>0)||(E=G+y|0,e[s>>2]=J[E>>0]|J[E+1>>0]<<8|J[E+2>>0]<<16|J[E+3>>0]<<24,E=h,e[E>>2]=N,e[E+4>>2]=F,!((v|0)>(F|0)|(v|0)==(F|0)&V>>>0>N>>>0)));){if(V=j[G+N>>0]|0,N=i0(T|0,R|0,9,0)|0,R=h,e[R>>2]=N,e[R+4>>2]=H,j[b>>0]=j[b>>0]&-2|V&1,V=e[u>>2]|0,(V|0)==(e[_>>2]|0)?(wi(d,f),Z=e[n>>2]|0):(e[V>>2]=e[f>>2],e[V+4>>2]=e[f+4>>2],e[V+8>>2]=e[f+8>>2],e[u>>2]=(e[u>>2]|0)+12,Z=c),m=m+1|0,m>>>0>=Z>>>0)break e;c=Z}return p=-1,U=t,p|0}c=f+4|0,m=i+40|0,u=i+44|0,d=i+36|0,_=0,b=0;do{if(t2(l,r)|0,e[c>>2]=(e[l>>2]|0)+b,t2(l,r)|0,h=e[l>>2]|0,b=e[c>>2]|0,b>>>0<h>>>0){Q=36;break}e[f>>2]=b-h,h=e[m>>2]|0,(h|0)==(e[u>>2]|0)?wi(d,f):(e[h>>2]=e[f>>2],e[h+4>>2]=e[f+4>>2],e[h+8>>2]=e[f+8>>2],e[m>>2]=(e[m>>2]|0)+12),_=_+1|0}while(_>>>0<(e[n>>2]|0)>>>0);if((Q|0)==36)return p=-1,U=t,p|0;if(bi(r,0,0)|0,_=e[n>>2]|0,_|0)for(m=r+36|0,d=i+36|0,u=r+32|0,b=r+24|0,c=r+28|0,h=0,s=0;k=e[A>>2]|0,V=(j[m>>0]|0)==0,((J[k+36>>0]<<8|J[k+37>>0])&65535)<514?V?I=s:(k=e[u>>2]|0,R=e[b>>2]|0,N=e[c>>2]|0,T=R+(k>>>3)|0,T>>>0<N>>>0?(G=(J[T>>0]|0)>>>(k&7)&1,F=k+1|0,e[u>>2]=F,z=G,C=R+(F>>>3)|0,W=F):(z=0,C=T,W=k),C>>>0<N>>>0&&(e[u>>2]=W+1),I=z):V?I=s:(V=e[u>>2]|0,N=(e[b>>2]|0)+(V>>>3)|0,N>>>0<(e[c>>2]|0)>>>0?(k=(J[N>>0]|0)>>>(V&7)&1,e[u>>2]=V+1,I=k):I=0),k=(e[d>>2]|0)+(h*12|0)+8|0,j[k>>0]=j[k>>0]&-2|I&1,h=h+1|0,!(h>>>0>=_>>>0);)s=I;li(r)}while(0);e[f>>2]=0,I=e[A>>2]|0,z=(J[I+36>>0]<<8|J[I+37>>0])&65535,(z&65535)<512?(I=r+8|0,W=e[I>>2]|0,C=e[I+4>>2]|0,I=r+16|0,n=I,Z=e[n>>2]|0,w=i0(Z|0,e[n+4>>2]|0,4,0)|0,n=H,(C|0)<(n|0)|(C|0)==(n|0)&W>>>0<w>>>0?D=-1:(W=(e[r>>2]|0)+Z|0,Z=J[W>>0]|J[W+1>>0]<<8|J[W+2>>0]<<16|J[W+3>>0]<<24,e[f>>2]=Z,W=I,e[W>>2]=w,e[W+4>>2]=n,L=Z,Q=43)):z<<16>>16==512?t2(f,r)|0?(L=e[f>>2]|0,Q=43):D=-1:Q=57;e:do if((Q|0)==43)if(!L)Q=57;else{if(z=e[A>>2]|0,((J[z+36>>0]<<8|J[z+37>>0])&65535)>=258){for(z=i+52|0,Z=i+56|0,n=i+48|0,W=0,w=0;;)if(e[l>>2]=0,t2(o,r)|0,w=(e[o>>2]|0)+w|0,e[l>>2]=w,I=e[z>>2]|0,(I|0)==(e[Z>>2]|0)?L0(n,l):(e[I>>2]=w,e[z>>2]=I+4),W=W+1|0,W>>>0>=(e[f>>2]|0)>>>0){Q=57;break e}}for(W=r+8|0,z=r+16|0,w=i+52|0,n=i+56|0,Z=i+48|0,I=0;e[l>>2]=0,C=W,s=e[C>>2]|0,_=e[C+4>>2]|0,C=z,h=e[C>>2]|0,d=i0(h|0,e[C+4>>2]|0,4,0)|0,C=H,!((_|0)<(C|0)|(_|0)==(C|0)&s>>>0<d>>>0);)if(s=(e[r>>2]|0)+h|0,h=J[s>>0]|J[s+1>>0]<<8|J[s+2>>0]<<16|J[s+3>>0]<<24,e[l>>2]=h,s=z,e[s>>2]=d,e[s+4>>2]=C,C=e[w>>2]|0,(C|0)==(e[n>>2]|0)?L0(Z,l):(e[C>>2]=h,e[w>>2]=C+4),I=I+1|0,I>>>0>=(e[f>>2]|0)>>>0){Q=57;break e}D=-1}while(0);return(Q|0)==57&&(D=e[r+16>>2]|0),p=D,U=t,p|0}function Yi(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0;n=U,U=U+96|0,f=n+92|0,l=n+88|0,o=n+72|0,A=n+48|0,u=n+24|0,s=n,_=i+16|0,h=e[_>>2]|0,k=e[r>>2]|0,e[o>>2]=h,e[o+4>>2]=k,r=o+8|0,e[r>>2]=k,j[o+12>>0]=1,b=e[(e[h+28>>2]|0)+(k<<2)>>2]|0,h=i+20|0,p=e[h>>2]|0,w=e[p>>2]|0,(e[p+4>>2]|0)-w>>2>>>0<=b>>>0&&W0(p),p=i+8|0,d=e[(e[p>>2]|0)+(e[w+(b<<2)>>2]<<2)>>2]|0,b=i+4|0,w=e[b>>2]|0,j[w+84>>0]|0?m=d:m=e[(e[w+68>>2]|0)+(d<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[l>>2]=m,m=j[w+24>>0]|0,e[f>>2]=e[l>>2],Ne(w,f,m,A)|0,m=i+28|0,i=(e[m>>2]|0)==0;do if((k|0)!=-1){for(w=k+1|0,d=((w>>>0)%3|0|0)==0?k+-2|0:w,w=u+8|0,c=A+8|0,y=u+16|0,V=A+16|0,v=s+8|0,T=s+16|0,R=k+(((k>>>0)%3|0|0)==0?2:-1)|0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=i,C=k;;){do if(z)D=R,L=d;else if(W=C+1|0,I=((W>>>0)%3|0|0)==0?C+-2|0:W,(C>>>0)%3|0){D=C+-1|0,L=I;break}else{D=C+2|0,L=I;break}while(0);if(I=e[(e[(e[_>>2]|0)+28>>2]|0)+(L<<2)>>2]|0,O=e[h>>2]|0,W=e[O>>2]|0,(e[O+4>>2]|0)-W>>2>>>0<=I>>>0){x=12;break}if(X=e[(e[p>>2]|0)+(e[W+(I<<2)>>2]<<2)>>2]|0,I=e[b>>2]|0,j[I+84>>0]|0?B=X:B=e[(e[I+68>>2]|0)+(X<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,e[u+12>>2]=0,e[u+16>>2]=0,e[u+20>>2]=0,e[l>>2]=B,X=j[I+24>>0]|0,e[f>>2]=e[l>>2],Ne(I,f,X,u)|0,X=e[(e[(e[_>>2]|0)+28>>2]|0)+(D<<2)>>2]|0,M=e[h>>2]|0,I=e[M>>2]|0,(e[M+4>>2]|0)-I>>2>>>0<=X>>>0){x=16;break}if(W=e[(e[p>>2]|0)+(e[I+(X<<2)>>2]<<2)>>2]|0,X=e[b>>2]|0,j[X+84>>0]|0?P=W:P=e[(e[X+68>>2]|0)+(W<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[l>>2]=P,W=j[X+24>>0]|0,e[f>>2]=e[l>>2],Ne(X,f,W,s)|0,W=u,X=A,I=e[X>>2]|0,q=e[X+4>>2]|0,X=H0(e[W>>2]|0,e[W+4>>2]|0,I|0,q|0)|0,W=H,g=w,n0=c,l0=e[n0>>2]|0,t0=e[n0+4>>2]|0,n0=H0(e[g>>2]|0,e[g+4>>2]|0,l0|0,t0|0)|0,g=H,a=y,$=V,e0=e[$>>2]|0,f0=e[$+4>>2]|0,$=H0(e[a>>2]|0,e[a+4>>2]|0,e0|0,f0|0)|0,a=H,A0=s,_0=H0(e[A0>>2]|0,e[A0+4>>2]|0,I|0,q|0)|0,q=H,I=v,A0=H0(e[I>>2]|0,e[I+4>>2]|0,l0|0,t0|0)|0,t0=H,l0=T,I=H0(e[l0>>2]|0,e[l0+4>>2]|0,e0|0,f0|0)|0,f0=H,e0=Y0(I|0,f0|0,n0|0,g|0)|0,l0=H,h0=Y0(A0|0,t0|0,$|0,a|0)|0,p0=H,j0=Y0(_0|0,q|0,$|0,a|0)|0,a=H,$=Y0(I|0,f0|0,X|0,W|0)|0,f0=H,I=Y0(A0|0,t0|0,X|0,W|0)|0,W=H,X=Y0(_0|0,q|0,n0|0,g|0)|0,g=H,n0=H0(N|0,G|0,h0|0,p0|0)|0,N=i0(n0|0,H|0,e0|0,l0|0)|0,G=H,l0=i0(j0|0,a|0,F|0,E|0)|0,F=H0(l0|0,H|0,$|0,f0|0)|0,E=H,f0=H0(Z|0,Q|0,X|0,g|0)|0,Z=i0(f0|0,H|0,I|0,W|0)|0,Q=H,Mu(o),C=e[r>>2]|0,z=(e[m>>2]|0)==0,(C|0)==-1){x=20;break}}if((x|0)==12)W0(O);else if((x|0)==16)W0(M);else if((x|0)==20)if(C=H0(0,0,N|0,G|0)|0,(G|0)>-1|(G|0)==-1&N>>>0>4294967295){y0=z,k0=N,N0=G,V0=F,U0=E,m0=Z,s0=Q,x=21;break}else{G0=z,d0=E,b0=F,c0=Q,w0=Z,R0=C,T0=H,F0=N,I0=G;break}}else y0=i,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,x=21;while(0);if((x|0)==21&&(G0=y0,d0=U0,b0=V0,c0=s0,w0=m0,R0=k0,T0=N0,F0=k0,I0=N0),N0=(d0|0)>-1|(d0|0)==-1&b0>>>0>4294967295,k0=H0(0,0,b0|0,d0|0)|0,m0=N0?d0:H,s0=(c0|0)>-1|(c0|0)==-1&w0>>>0>4294967295,V0=H0(0,0,w0|0,c0|0)|0,U0=i0((N0?b0:k0)|0,m0|0,(s0?w0:V0)|0,(s0?c0:H)|0)|0,s0=i0(U0|0,H|0,R0|0,T0|0)|0,T0=H,G0){if((s0|0)<=536870912){D0=F0,z0=b0,J0=w0,e[t>>2]=D0,Q0=t+4|0,e[Q0>>2]=z0,C0=t+8|0,e[C0>>2]=J0,U=n;return}G0=me(s0|0,T0|0,29)|0,R0=G0&7,G0=p2(F0|0,I0|0,R0|0,0)|0,U0=p2(b0|0,d0|0,R0|0,0)|0,V0=p2(w0|0,c0|0,R0|0,0)|0,D0=G0,z0=U0,J0=V0,e[t>>2]=D0,Q0=t+4|0,e[Q0>>2]=z0,C0=t+8|0,e[C0>>2]=J0,U=n;return}else{if(!((T0|0)>0|(T0|0)==0&s0>>>0>536870912)){D0=F0,z0=b0,J0=w0,e[t>>2]=D0,Q0=t+4|0,e[Q0>>2]=z0,C0=t+8|0,e[C0>>2]=J0,U=n;return}V0=me(s0|0,T0|0,29)|0,T0=H,s0=p2(F0|0,I0|0,V0|0,T0|0)|0,I0=p2(b0|0,d0|0,V0|0,T0|0)|0,d0=p2(w0|0,c0|0,V0|0,T0|0)|0,D0=s0,z0=I0,J0=d0,e[t>>2]=D0,Q0=t+4|0,e[Q0>>2]=z0,C0=t+8|0,e[C0>>2]=J0,U=n;return}}function _8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0;if(l=i+8|0,e[l>>2]=f,n=i+32|0,o=i+36|0,A=e[n>>2]|0,u=(e[o>>2]|0)-A>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[o>>2]=A+(f<<2)):u2(n,f-u|0),u=f>>>0>1073741823?-1:f<<2,n=B2(u)|0,E0(n|0,0,u|0)|0,A=B2(u)|0,E0(A|0,0,u|0)|0,u=e[l>>2]|0,(u|0)>0){o=i+16|0,s=i+32|0,_=i+12|0,h=0;do{k=e[n+(h<<2)>>2]|0,b=e[o>>2]|0;do if((k|0)<=(b|0))if(p=e[_>>2]|0,w=e[s>>2]|0,d=w+(h<<2)|0,(k|0)<(p|0)){e[d>>2]=p,m=w;break}else{e[d>>2]=k,m=w;break}else w=e[s>>2]|0,e[w+(h<<2)>>2]=b,m=w;while(0);h=h+1|0,c=e[l>>2]|0}while((h|0)<(c|0));if((c|0)>0){h=i+20|0,s=0;do b=(e[r+(s<<2)>>2]|0)+(e[m+(s<<2)>>2]|0)|0,k=t+(s<<2)|0,e[k>>2]=b,(b|0)<=(e[o>>2]|0)?(b|0)<(e[_>>2]|0)&&(y=(e[h>>2]|0)+b|0,V=19):(y=b-(e[h>>2]|0)|0,V=19),(V|0)==19&&(V=0,e[k>>2]=y),s=s+1|0,k=e[l>>2]|0;while((s|0)<(k|0));v=k}else v=c}else v=u;if(u=e[i+48>>2]|0,c=e[i+56>>2]|0,s=e[c>>2]|0,y=(e[c+4>>2]|0)-s|0,h=y>>2,(y|0)<=4)return i2(A),i2(n),1;for(y=e[i+52>>2]|0,_=s,s=(f|0)>0,o=u+12|0,m=i+16|0,k=i+32|0,b=i+12|0,w=i+20|0,i=f<<2,d=1,p=v;;){if(h>>>0<=d>>>0){V=25;break}if(v=e[_+(d<<2)>>2]|0,s&&E0(n|0,0,i|0)|0,(v|0)!=-1){for(T=e[o>>2]|0,R=0,N=v;;){if(G=e[T+(N<<2)>>2]|0,(G|0)!=-1)if(F=e[u>>2]|0,E=e[y>>2]|0,Z=e[E+(e[F+(G<<2)>>2]<<2)>>2]|0,Q=G+1|0,z=((Q>>>0)%3|0|0)==0?G+-2|0:Q,(z|0)==-1?C=-1:C=e[F+(z<<2)>>2]|0,z=e[E+(C<<2)>>2]|0,Q=(((G>>>0)%3|0|0)==0?2:-1)+G|0,(Q|0)==-1?W=-1:W=e[F+(Q<<2)>>2]|0,Q=e[E+(W<<2)>>2]|0,(Z|0)<(d|0)&(z|0)<(d|0)&(Q|0)<(d|0)){if(E=Z0(Z,f)|0,Z=Z0(z,f)|0,z=Z0(Q,f)|0,s){Q=0;do e[A+(Q<<2)>>2]=(e[t+(Q+z<<2)>>2]|0)+(e[t+(Q+Z<<2)>>2]|0)-(e[t+(Q+E<<2)>>2]|0),Q=Q+1|0;while((Q|0)!=(f|0));if(s){Q=0;do E=n+(Q<<2)|0,e[E>>2]=(e[E>>2]|0)+(e[A+(Q<<2)>>2]|0),Q=Q+1|0;while((Q|0)!=(f|0))}}I=R+1|0}else I=R;else I=R;Q=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((Q|0)!=-1&&(E=e[T+(Q<<2)>>2]|0,(E|0)!=-1))if((E>>>0)%3|0){D=E+-1|0;break}else{D=E+2|0;break}else D=-1;while(0);if(N=(D|0)==(v|0)?-1:D,(N|0)==-1)break;R=I}if(R=Z0(d,f)|0,I){if(s){N=0;do v=n+(N<<2)|0,e[v>>2]=(e[v>>2]|0)/(I|0)|0,N=N+1|0;while((N|0)!=(f|0))}if(N=r+(R<<2)|0,v=t+(R<<2)|0,(p|0)>0){T=0;do{Q=e[n+(T<<2)>>2]|0,E=e[m>>2]|0;do if((Q|0)<=(E|0))if(Z=e[b>>2]|0,z=e[k>>2]|0,F=z+(T<<2)|0,(Q|0)<(Z|0)){e[F>>2]=Z,L=z;break}else{e[F>>2]=Q,L=z;break}else z=e[k>>2]|0,e[z+(T<<2)>>2]=E,L=z;while(0);T=T+1|0,O=e[l>>2]|0}while((T|0)<(O|0));if((O|0)>0){T=0;do E=(e[N+(T<<2)>>2]|0)+(e[L+(T<<2)>>2]|0)|0,Q=v+(T<<2)|0,e[Q>>2]=E,(E|0)<=(e[m>>2]|0)?(E|0)<(e[b>>2]|0)&&(x=(e[w>>2]|0)+E|0,V=83):(x=E-(e[w>>2]|0)|0,V=83),(V|0)==83&&(V=0,e[Q>>2]=x),T=T+1|0,Q=e[l>>2]|0;while((T|0)<(Q|0));X=Q}else X=O}else X=p}else B=R,V=51}else B=Z0(d,f)|0,V=51;if((V|0)==51)if(V=0,T=t+((Z0(d+-1|0,f)|0)<<2)|0,v=r+(B<<2)|0,N=t+(B<<2)|0,(p|0)>0){Q=0;do{E=e[T+(Q<<2)>>2]|0,z=e[m>>2]|0;do if((E|0)<=(z|0))if(F=e[b>>2]|0,Z=e[k>>2]|0,G=Z+(Q<<2)|0,(E|0)<(F|0)){e[G>>2]=F,M=Z;break}else{e[G>>2]=E,M=Z;break}else Z=e[k>>2]|0,e[Z+(Q<<2)>>2]=z,M=Z;while(0);Q=Q+1|0,P=e[l>>2]|0}while((Q|0)<(P|0));if((P|0)>0){Q=0;do T=(e[v+(Q<<2)>>2]|0)+(e[M+(Q<<2)>>2]|0)|0,R=N+(Q<<2)|0,e[R>>2]=T,(T|0)<=(e[m>>2]|0)?(T|0)<(e[b>>2]|0)&&(q=(e[w>>2]|0)+T|0,V=65):(q=T-(e[w>>2]|0)|0,V=65),(V|0)==65&&(V=0,e[R>>2]=q),Q=Q+1|0,R=e[l>>2]|0;while((Q|0)<(R|0));X=R}else X=P}else X=p;if(d=d+1|0,(d|0)>=(h|0)){V=23;break}else p=X}return(V|0)==23?(i2(A),i2(n),1):((V|0)==25&&W0(c),0)}function k8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0;if(l=i+8|0,e[l>>2]=f,n=i+32|0,o=i+36|0,A=e[n>>2]|0,u=(e[o>>2]|0)-A>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[o>>2]=A+(f<<2)):u2(n,f-u|0),u=f>>>0>1073741823?-1:f<<2,n=B2(u)|0,E0(n|0,0,u|0)|0,A=B2(u)|0,E0(A|0,0,u|0)|0,u=e[l>>2]|0,(u|0)>0){o=i+16|0,s=i+32|0,_=i+12|0,h=0;do{k=e[n+(h<<2)>>2]|0,b=e[o>>2]|0;do if((k|0)<=(b|0))if(p=e[_>>2]|0,w=e[s>>2]|0,d=w+(h<<2)|0,(k|0)<(p|0)){e[d>>2]=p,m=w;break}else{e[d>>2]=k,m=w;break}else w=e[s>>2]|0,e[w+(h<<2)>>2]=b,m=w;while(0);h=h+1|0,c=e[l>>2]|0}while((h|0)<(c|0));if((c|0)>0){h=i+20|0,s=0;do b=(e[r+(s<<2)>>2]|0)+(e[m+(s<<2)>>2]|0)|0,k=t+(s<<2)|0,e[k>>2]=b,(b|0)<=(e[o>>2]|0)?(b|0)<(e[_>>2]|0)&&(y=(e[h>>2]|0)+b|0,V=19):(y=b-(e[h>>2]|0)|0,V=19),(V|0)==19&&(V=0,e[k>>2]=y),s=s+1|0,k=e[l>>2]|0;while((s|0)<(k|0));v=k}else v=c}else v=u;if(u=e[i+48>>2]|0,c=e[i+56>>2]|0,s=e[c>>2]|0,y=(e[c+4>>2]|0)-s|0,h=y>>2,(y|0)<=4)return i2(A),i2(n),1;for(y=e[i+52>>2]|0,_=s,s=(f|0)>0,o=u+64|0,m=u+28|0,k=i+16|0,b=i+32|0,w=i+12|0,d=i+20|0,i=f<<2,p=1,T=v;;){if(h>>>0<=p>>>0){V=25;break}if(v=e[_+(p<<2)>>2]|0,s&&E0(n|0,0,i|0)|0,(v|0)!=-1){for(R=e[u>>2]|0,N=0,G=v;;){if((e[R+(G>>>5<<2)>>2]&1<<(G&31)|0)==0&&(F=e[(e[(e[o>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,(F|0)!=-1)&&(E=e[m>>2]|0,Z=e[y>>2]|0,Q=e[Z+(e[E+(F<<2)>>2]<<2)>>2]|0,z=F+1|0,C=e[Z+(e[E+((((z>>>0)%3|0|0)==0?F+-2|0:z)<<2)>>2]<<2)>>2]|0,z=e[Z+(e[E+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(Q|0)<(p|0)&(C|0)<(p|0)&(z|0)<(p|0))){if(F=Z0(Q,f)|0,Q=Z0(C,f)|0,C=Z0(z,f)|0,s){z=0;do e[A+(z<<2)>>2]=(e[t+(z+C<<2)>>2]|0)+(e[t+(z+Q<<2)>>2]|0)-(e[t+(z+F<<2)>>2]|0),z=z+1|0;while((z|0)!=(f|0));if(s){z=0;do F=n+(z<<2)|0,e[F>>2]=(e[F>>2]|0)+(e[A+(z<<2)>>2]|0),z=z+1|0;while((z|0)!=(f|0))}}W=N+1|0}else W=N;z=(((G>>>0)%3|0|0)==0?2:-1)+G|0;do if((z|0)!=-1&&(e[R+(z>>>5<<2)>>2]&1<<(z&31)|0)==0&&(F=e[(e[(e[o>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(F|0)!=-1))if((F>>>0)%3|0){I=F+-1|0;break}else{I=F+2|0;break}else I=-1;while(0);if(G=(I|0)==(v|0)?-1:I,(G|0)==-1)break;N=W}if(N=Z0(p,f)|0,W){if(s){G=0;do v=n+(G<<2)|0,e[v>>2]=(e[v>>2]|0)/(W|0)|0,G=G+1|0;while((G|0)!=(f|0))}if(G=r+(N<<2)|0,v=t+(N<<2)|0,(T|0)>0){R=0;do{z=e[n+(R<<2)>>2]|0,F=e[k>>2]|0;do if((z|0)<=(F|0))if(Q=e[w>>2]|0,C=e[b>>2]|0,E=C+(R<<2)|0,(z|0)<(Q|0)){e[E>>2]=Q,D=C;break}else{e[E>>2]=z,D=C;break}else C=e[b>>2]|0,e[C+(R<<2)>>2]=F,D=C;while(0);R=R+1|0,L=e[l>>2]|0}while((R|0)<(L|0));if((L|0)>0){R=0;do F=(e[G+(R<<2)>>2]|0)+(e[D+(R<<2)>>2]|0)|0,z=v+(R<<2)|0,e[z>>2]=F,(F|0)<=(e[k>>2]|0)?(F|0)<(e[w>>2]|0)&&(O=(e[d>>2]|0)+F|0,V=81):(O=F-(e[d>>2]|0)|0,V=81),(V|0)==81&&(V=0,e[z>>2]=O),R=R+1|0,z=e[l>>2]|0;while((R|0)<(z|0));x=z}else x=L}else x=T}else X=N,V=49}else X=Z0(p,f)|0,V=49;if((V|0)==49)if(V=0,R=t+((Z0(p+-1|0,f)|0)<<2)|0,v=r+(X<<2)|0,G=t+(X<<2)|0,(T|0)>0){z=0;do{F=e[R+(z<<2)>>2]|0,C=e[k>>2]|0;do if((F|0)<=(C|0))if(E=e[w>>2]|0,Q=e[b>>2]|0,Z=Q+(z<<2)|0,(F|0)<(E|0)){e[Z>>2]=E,B=Q;break}else{e[Z>>2]=F,B=Q;break}else Q=e[b>>2]|0,e[Q+(z<<2)>>2]=C,B=Q;while(0);z=z+1|0,M=e[l>>2]|0}while((z|0)<(M|0));if((M|0)>0){z=0;do R=(e[v+(z<<2)>>2]|0)+(e[B+(z<<2)>>2]|0)|0,N=G+(z<<2)|0,e[N>>2]=R,(R|0)<=(e[k>>2]|0)?(R|0)<(e[w>>2]|0)&&(P=(e[d>>2]|0)+R|0,V=63):(P=R-(e[d>>2]|0)|0,V=63),(V|0)==63&&(V=0,e[N>>2]=P),z=z+1|0,N=e[l>>2]|0;while((z|0)<(N|0));x=N}else x=M}else x=T;if(p=p+1|0,(p|0)>=(h|0)){V=23;break}else T=x}return(V|0)==23?(i2(A),i2(n),1):((V|0)==25&&W0(c),0)}function St(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0;if(!i)return;r=i+-8|0,t=e[4076]|0,n=e[i+-4>>2]|0,i=n&-8,f=r+i|0;do if(n&1)_=r,h=i,k=r;else{if(l=e[r>>2]|0,!(n&3)||(o=r+(0-l)|0,A=l+i|0,o>>>0<t>>>0))return;if((e[4077]|0)==(o|0)){if(u=f+4|0,s=e[u>>2]|0,(s&3|0)!=3){_=o,h=A,k=o;break}e[4074]=A,e[u>>2]=s&-2,e[o+4>>2]=A|1,e[o+A>>2]=A;return}if(s=l>>>3,l>>>0<256)if(l=e[o+8>>2]|0,u=e[o+12>>2]|0,(u|0)==(l|0)){e[4072]=e[4072]&~(1<<s),_=o,h=A,k=o;break}else{e[l+12>>2]=u,e[u+8>>2]=l,_=o,h=A,k=o;break}l=e[o+24>>2]|0,u=e[o+12>>2]|0;do if((u|0)==(o|0)){if(s=o+16|0,b=s+4|0,p=e[b>>2]|0,p)m=p,c=b;else if(w=e[s>>2]|0,w)m=w,c=s;else{d=0;break}for(b=m,p=c;;){if(s=b+20|0,w=e[s>>2]|0,w)v=w,T=s;else if(y=b+16|0,V=e[y>>2]|0,V)v=V,T=y;else break;b=v,p=T}e[p>>2]=0,d=b}else s=e[o+8>>2]|0,e[s+12>>2]=u,e[u+8>>2]=s,d=u;while(0);if(l){if(u=e[o+28>>2]|0,s=16592+(u<<2)|0,(e[s>>2]|0)==(o|0)){if(e[s>>2]=d,!d){e[4073]=e[4073]&~(1<<u),_=o,h=A,k=o;break}}else if(u=l+16|0,e[((e[u>>2]|0)==(o|0)?u:l+20|0)>>2]=d,!d){_=o,h=A,k=o;break}e[d+24>>2]=l,u=o+16|0,s=e[u>>2]|0,s|0&&(e[d+16>>2]=s,e[s+24>>2]=d),s=e[u+4>>2]|0,s?(e[d+20>>2]=s,e[s+24>>2]=d,_=o,h=A,k=o):(_=o,h=A,k=o)}else _=o,h=A,k=o}while(0);if(k>>>0>=f>>>0||(r=f+4|0,i=e[r>>2]|0,!(i&1)))return;if(i&2)e[r>>2]=i&-2,e[_+4>>2]=h|1,e[k+h>>2]=h,Z=h;else{if((e[4078]|0)==(f|0)){if(d=(e[4075]|0)+h|0,e[4075]=d,e[4078]=_,e[_+4>>2]=d|1,(_|0)!=(e[4077]|0))return;e[4077]=0,e[4074]=0;return}if((e[4077]|0)==(f|0)){d=(e[4074]|0)+h|0,e[4074]=d,e[4077]=k,e[_+4>>2]=d|1,e[k+d>>2]=d;return}d=(i&-8)+h|0,T=i>>>3;do if(i>>>0<256)if(v=e[f+8>>2]|0,c=e[f+12>>2]|0,(c|0)==(v|0)){e[4072]=e[4072]&~(1<<T);break}else{e[v+12>>2]=c,e[c+8>>2]=v;break}else{v=e[f+24>>2]|0,c=e[f+12>>2]|0;do if((c|0)==(f|0)){if(m=f+16|0,t=m+4|0,n=e[t>>2]|0,n)N=n,G=t;else if(s=e[m>>2]|0,s)N=s,G=m;else{R=0;break}for(t=N,n=G;;){if(m=t+20|0,s=e[m>>2]|0,s)F=s,E=m;else if(u=t+16|0,w=e[u>>2]|0,w)F=w,E=u;else break;t=F,n=E}e[n>>2]=0,R=t}else b=e[f+8>>2]|0,e[b+12>>2]=c,e[c+8>>2]=b,R=c;while(0);if(v|0){if(c=e[f+28>>2]|0,o=16592+(c<<2)|0,(e[o>>2]|0)==(f|0)){if(e[o>>2]=R,!R){e[4073]=e[4073]&~(1<<c);break}}else if(c=v+16|0,e[((e[c>>2]|0)==(f|0)?c:v+20|0)>>2]=R,!R)break;e[R+24>>2]=v,c=f+16|0,o=e[c>>2]|0,o|0&&(e[R+16>>2]=o,e[o+24>>2]=R),o=e[c+4>>2]|0,o|0&&(e[R+20>>2]=o,e[o+24>>2]=R)}}while(0);if(e[_+4>>2]=d|1,e[k+d>>2]=d,(_|0)==(e[4077]|0)){e[4074]=d;return}else Z=d}if(h=Z>>>3,Z>>>0<256){k=16328+(h<<1<<2)|0,i=e[4072]|0,r=1<<h,i&r?(r=k+8|0,Q=e[r>>2]|0,z=r):(e[4072]=i|r,Q=k,z=k+8|0),e[z>>2]=_,e[Q+12>>2]=_,e[_+8>>2]=Q,e[_+12>>2]=k;return}k=Z>>>8,k?Z>>>0>16777215?C=31:(Q=(k+1048320|0)>>>16&8,z=k<<Q,k=(z+520192|0)>>>16&4,r=z<<k,z=(r+245760|0)>>>16&2,i=14-(k|Q|z)+(r<<z>>>15)|0,C=Z>>>(i+7|0)&1|i<<1):C=0,i=16592+(C<<2)|0,e[_+28>>2]=C,e[_+20>>2]=0,e[_+16>>2]=0,z=e[4073]|0,r=1<<C;e:do if(!(z&r))e[4073]=z|r,e[i>>2]=_,e[_+24>>2]=i,e[_+12>>2]=_,e[_+8>>2]=_;else{Q=e[i>>2]|0;i:do if((e[Q+4>>2]&-8|0)==(Z|0))W=Q;else{for(k=Z<<((C|0)==31?0:25-(C>>>1)|0),h=Q;I=h+16+(k>>>31<<2)|0,d=e[I>>2]|0,!!d;)if((e[d+4>>2]&-8|0)==(Z|0)){W=d;break i}else k=k<<1,h=d;e[I>>2]=_,e[_+24>>2]=h,e[_+12>>2]=_,e[_+8>>2]=_;break e}while(0);Q=W+8|0,v=e[Q>>2]|0,e[v+12>>2]=_,e[Q>>2]=_,e[_+8>>2]=v,e[_+12>>2]=W,e[_+24>>2]=0}while(0);if(_=(e[4080]|0)+-1|0,e[4080]=_,!(_|0)){for(_=16744;W=e[_>>2]|0,W;)_=W+8|0;e[4080]=-1}}function Rr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0;if(t=U,U=U+176|0,n=t+136|0,f=t+32|0,l=t,o=t+104|0,A=t+100|0,u=i+4|0,s=e[u>>2]|0,_=e[s+32>>2]|0,h=_+8|0,k=e[h>>2]|0,b=e[h+4>>2]|0,h=_+16|0,p=h,w=e[p>>2]|0,d=e[p+4>>2]|0,!((b|0)>(d|0)|(b|0)==(d|0)&k>>>0>w>>>0)||(p=e[_>>2]|0,_=j[p+w>>0]|0,c=i0(w|0,d|0,1,0)|0,y=H,V=h,e[V>>2]=c,e[V+4>>2]=y,!((b|0)>(y|0)|(b|0)==(y|0)&k>>>0>c>>>0)))return m=0,U=t,m|0;if(y=j[p+c>>0]|0,c=i0(w|0,d|0,2,0)|0,V=H,v=h,e[v>>2]=c,e[v+4>>2]=V,_<<24>>24>-1){if(v=_<<24>>24,T=e[i+216>>2]|0,(((e[i+220>>2]|0)-T|0)/144|0)>>>0<=v>>>0||(R=T+(v*144|0)|0,(e[R>>2]|0)>-1))return m=0,U=t,m|0;N=R}else{if(R=i+212|0,(e[R>>2]|0)>-1)return m=0,U=t,m|0;N=R}e[N>>2]=r;do if((((J[s+36>>0]|0)<<8|(J[s+37>>0]|0))&65535)>257)if((b|0)>(V|0)|(b|0)==(V|0)&k>>>0>c>>>0){N=j[p+c>>0]|0,R=i0(w|0,d|0,3,0)|0,v=h,e[v>>2]=R,e[v+4>>2]=H,G=N&255;break}else return m=0,U=t,m|0;else G=0;while(0);if(h=e[s+44>>2]|0,y<<24>>24){if(_<<24>>24<0|(G|0)!=0)return m=0,U=t,m|0;G=v0(88)|0,E=_<<24>>24,_=e[i+216>>2]|0,i=_+(E*144|0)+104|0,e[G+4>>2]=0,e[G>>2]=3292,F=G+12|0,e[F>>2]=3316,y=G+64|0,e[y>>2]=0,e[G+68>>2]=0,e[G+72>>2]=0,s=G+16|0,d=s+44|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(d|0));e[G+76>>2]=h,e[G+80>>2]=i,e[G+84>>2]=0,w=f+4|0,e[w>>2]=3316,c=f+56|0,e[c>>2]=0,p=f+60|0,e[p>>2]=0,e[f+64>>2]=0,s=f+8|0,d=s+44|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(d|0));s=_+(E*144|0)+4|0,e[l>>2]=3316,d=l+4|0,k=d+4|0,e[k>>2]=0,e[k+4>>2]=0,e[k+8>>2]=0,e[k+12>>2]=0,e[k+16>>2]=0,e[k+20>>2]=0,e[d>>2]=s,d=e[_+(E*144|0)+68>>2]|0,E=((e[d+4>>2]|0)-(e[d>>2]|0)>>2>>>0)/3|0,j[n>>0]=0,Fe(l+8|0,E,n),l2[e[(e[l>>2]|0)+8>>2]&127](l),yt(o,l),yt(n,o),e[f>>2]=e[n+4>>2],E=f+4|0,Ii(E,n)|0,e[n>>2]=3316,d=e[n+20>>2]|0,d|0&&Y(d),d=e[n+8>>2]|0,d|0&&Y(d),e[f+36>>2]=s,e[f+40>>2]=i,e[f+44>>2]=h,e[f+48>>2]=G,e[o>>2]=3316,h=e[o+20>>2]|0,h|0&&Y(h),h=e[o+8>>2]|0,h|0&&Y(h),e[G+8>>2]=e[f>>2],Ii(F,E)|0,E=G+44|0,F=f+36|0,e[E>>2]=e[F>>2],e[E+4>>2]=e[F+4>>2],e[E+8>>2]=e[F+8>>2],e[E+12>>2]=e[F+12>>2],j[E+16>>0]=j[F+16>>0]|0,Zi(y,e[c>>2]|0,e[p>>2]|0),e[l>>2]=3316,y=e[l+20>>2]|0,y|0&&Y(y),y=e[l+8>>2]|0,y|0&&Y(y),y=e[c>>2]|0,y|0&&(e[p>>2]=y,Y(y)),e[w>>2]=3316,w=e[f+24>>2]|0,w|0&&Y(w),w=e[f+12>>2]|0,w|0&&Y(w),Z=G}else{switch(_<<24>>24<0?F=i+184|0:(y=_<<24>>24,s=e[i+216>>2]|0,j[s+(y*144|0)+100>>0]=0,F=s+(y*144|0)+104|0),(G&255)<<24>>24){case 0:{so(n,i,F),E=e[n>>2]|0;break}case 1:{Bo(n,i,F),E=e[n>>2]|0;break}default:return m=0,U=t,m|0}if(E)Z=E;else return m=0,U=t,m|0}if(G=v0(64)|0,e[A>>2]=Z,hf(G,A),Z=G,w=e[A>>2]|0,e[A>>2]=0,w|0&&l2[e[(e[w>>2]|0)+4>>2]&127](w),w=e[u>>2]|0,(r|0)<0)return l2[e[(e[G>>2]|0)+4>>2]&127](G),m=0,U=t,m|0;G=w+8|0,u=w+12|0,w=e[u>>2]|0,A=e[G>>2]|0,f=w-A>>2;do if((f|0)<=(r|0)){if(y=r+1|0,p=w,y>>>0>f>>>0){N1(G,y-f|0);break}if(y>>>0<f>>>0){if(c=A+(y<<2)|0,(c|0)!=(p|0)){y=p;do y=y+-4|0,p=e[y>>2]|0,e[y>>2]=0,p|0&&l2[e[(e[p>>2]|0)+4>>2]&127](p);while((y|0)!=(c|0))}e[u>>2]=c}}while(0);return u=(e[G>>2]|0)+(r<<2)|0,r=e[u>>2]|0,e[u>>2]=Z,r?(l2[e[(e[r>>2]|0)+4>>2]&127](r),m=1,U=t,m|0):(m=1,U=t,m|0)}function h8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0;if(t=U,U=U+736|0,n=t+716|0,f=t,l=t+64|0,(b2[r+38>>1]|0)<515)return o=1,U=t,o|0;if(A=r+8|0,u=e[A+4>>2]|0,s=r+16|0,_=s,h=e[_>>2]|0,k=e[_+4>>2]|0,!((u|0)>(k|0)|((u|0)==(k|0)?(e[A>>2]|0)>>>0>h>>>0:0)))return o=0,U=t,o|0;A=j[(e[r>>2]|0)+h>>0]|0,u=i0(h|0,k|0,1,0)|0,k=s,e[k>>2]=u,e[k+4>>2]=H,k=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,u=e[(e[k>>2]|0)+80>>2]|0,k=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,e[n>>2]=0,s=n+4|0,e[s>>2]=0,h=n+8|0,e[h>>2]=0;do if(k|0)if(k>>>0>214748364)W0(n);else{_=k*20|0,b=v0(_)|0,e[n>>2]=b,e[h>>2]=b+(k*20|0),E0(b|0,0,_|0)|0,e[s>>2]=b+_;break}while(0);k=i+52|0,h=i+56|0,_=i+48|0,b=i+64|0,p=i+68|0,w=i+60|0,d=0,m=0;e:for(;;){if((m|0)>=(K0[e[(e[i>>2]|0)+24>>2]&127](i)|0)){c=35;break}switch(y=_2[e[(e[i>>2]|0)+20>>2]&127](i,m)|0,V=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,v=e[(e[(e[V>>2]|0)+8>>2]|0)+(y<<2)>>2]|0,Oi(v,u)|0,j[v+84>>0]=1,e[v+72>>2]=e[v+68>>2],e[v+28>>2]|0){case 2:case 4:case 6:{T=v;break}case 1:case 3:case 5:{if(y=v+24|0,V=j[y>>0]|0,V<<24>>24>0)for(R=0,N=V;e[f>>2]=0,V=e[k>>2]|0,V>>>0<(e[h>>2]|0)>>>0?(e[V>>2]=0,e[k>>2]=V+4,G=N):(L0(_,f),G=j[y>>0]|0),R=R+1|0,!((R|0)>=(G<<24>>24|0));)N=G;T=v;break}case 9:{N=j[v+24>>0]|0,o1(f),R=e[v+56>>2]|0,y=Z0(di(6)|0,N<<24>>24)|0,Jr(f,R,0,N,6,0,y,((y|0)<0)<<31>>31,0,0),y=v0(96)|0,Xr(y,f),e[l>>2]=y,j[y+84>>0]=1,e[y+72>>2]=e[y+68>>2],Oi(y,u)|0,y=e[b>>2]|0,y>>>0<(e[p>>2]|0)>>>0?(N=e[l>>2]|0,e[l>>2]=0,e[y>>2]=N,N=y+4|0,e[b>>2]=N,F=N):(Ko(w,l),F=e[b>>2]|0),N=e[F+-4>>2]|0,y=e[l>>2]|0,e[l>>2]=0,y|0&&(R=y+88|0,V=e[R>>2]|0,e[R>>2]=0,V|0&&(R=e[V+8>>2]|0,R|0&&(e[V+12>>2]=R,Y(R)),Y(V)),V=e[y+68>>2]|0,V|0&&(e[y+72>>2]=V,Y(V)),V=y+64|0,R=e[V>>2]|0,e[V>>2]=0,R|0&&(V=e[R>>2]|0,V|0&&(e[R+4>>2]=V,Y(V)),Y(R)),Y(y)),T=N;break}default:{E=0;break e}}N=T,y=e[N+28>>2]|0,R=di(y)|0,V=j[N+24>>0]|0,N=e[n>>2]|0,e[N+(m*20|0)>>2]=T,e[N+(m*20|0)+4>>2]=d,e[N+(m*20|0)+8>>2]=y,e[N+(m*20|0)+12>>2]=(R|0)>0?R:0,e[N+(m*20|0)+16>>2]=V,d=d+V|0,m=m+1|0}if((c|0)==35){switch(wr(f,n),A<<24>>24){case 0:{Fi(l,d),A=bt(l,r,f)|0,Wi(l),A?c=43:Z=0;break}case 1:{Fi(l,d),A=ht(l,r,f)|0,Wi(l),A?c=43:Z=0;break}case 2:{Ei(l,d),A=wt(l,r,f)|0,Di(l),A?c=43:Z=0;break}case 3:{Ei(l,d),A=pt(l,r,f)|0,Di(l),A?c=43:Z=0;break}case 4:{Xe(l,d),A=kt(l,r,f)|0,He(l),A?c=43:Z=0;break}case 5:{Xe(l,d),A=_t(l,r,f)|0,He(l),A?c=43:Z=0;break}case 6:{Xe(l,d),d=ut(l,r,f)|0,He(l),d?c=43:Z=0;break}default:Z=0}(c|0)==43&&(Z=1),c=e[f+16>>2]|0,c|0&&(e[f+20>>2]=c,Y(c)),c=e[f>>2]|0,c|0&&(e[f+4>>2]=c,Y(c)),E=Z}return Z=e[n>>2]|0,Z|0&&(e[s>>2]=Z,Y(Z)),o=E,U=t,o|0}function b8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0;if(t=U,U=U+48|0,n=t+24|0,f=t+12|0,l=t,!r)return o=0,U=t,o|0;if(A=i+12|0,u=i+4|0,s=(e[u>>2]|0)-(e[i>>2]|0)>>2,_=i+16|0,h=e[A>>2]|0,k=(e[_>>2]|0)-h>>2,s>>>0<=k>>>0?(s>>>0<k>>>0&&(e[_>>2]=h+(s<<2)),b=s):(z2(A,s-k|0,3732),b=(e[u>>2]|0)-(e[i>>2]|0)>>2),e[n>>2]=0,k=n+4|0,e[k>>2]=0,e[n+8>>2]=0,Q2(n,b),b=e[u>>2]|0,s=e[i>>2]|0,h=s,(b|0)==(s|0))p=0,w=0,d=h,m=h,c=h,y=h,V=h,v=b,T=s;else for(_=e[n>>2]|0,R=_,N=R,G=0,F=h,E=h,Z=h,Q=h,z=h,C=b,b=R,R=h,h=_,_=s;;)if(s=e[R+(G<<2)>>2]|0,W=(e[k>>2]|0)-h>>2,s>>>0<W>>>0?(I=_,D=N,L=F,O=E,x=Z,X=Q,B=z,M=b,P=_,q=C):(g=s+1|0,e[f>>2]=0,g>>>0<=W>>>0?g>>>0<W>>>0?(e[k>>2]=h+(g<<2),n0=N,l0=C,t0=_):(n0=N,l0=C,t0=_):(z2(n,g-W|0,f),n0=e[n>>2]|0,l0=e[u>>2]|0,t0=e[i>>2]|0),W=t0,I=W,D=n0,L=W,O=W,x=W,X=W,B=W,M=n0,P=t0,q=l0),W=M+(s<<2)|0,e[W>>2]=(e[W>>2]|0)+1,G=G+1|0,W=q-P|0,s=W>>2,G>>>0>=s>>>0){p=s,w=W,d=L,m=O,c=x,y=X,V=B,v=q,T=P;break}else N=D,F=L,E=O,Z=x,Q=X,z=B,C=q,b=M,R=I,h=M,_=P;e[f>>2]=0,P=f+4|0,e[P>>2]=0,_=f+8|0,e[_>>2]=0;do if(w)if(p>>>0>536870911)W0(f);else{M=v0(w<<1)|0,e[f>>2]=M,e[_>>2]=M+(p<<3),h=p<<3,E0(M|0,-1,h|0)|0,e[P>>2]=M+h,a=M,$=M;break}else a=0,$=0;while(0);if(p=e[n>>2]|0,_=(e[k>>2]|0)-p|0,w=_>>2,e[l>>2]=0,M=l+4|0,e[M>>2]=0,h=l+8|0,e[h>>2]=0,I=p,!_)e0=0,f0=0;else for(w>>>0>1073741823&&W0(l),p=v0(_)|0,e[l>>2]=p,l=p+(w<<2)|0,e[h>>2]=l,E0(p|0,0,_|0)|0,e[M>>2]=l,l=0,_=0;;)if(e[p+(_<<2)>>2]=l,h=_+1|0,h>>>0<w>>>0)l=(e[I+(_<<2)>>2]|0)+l|0,_=h;else{e0=p,f0=p;break}if((v|0)!=(T|0))for(p=i+40|0,i=v-T>>2,v=T,T=a,_=0,l=y,y=c,c=m,m=d,d=V;;){V=e[d+(_<<2)>>2]|0,h=_+1|0,R=((h>>>0)%3|0|0)==0?_+-2|0:h,(R|0)==-1?A0=-1:A0=e[l+(R<<2)>>2]|0,R=((_>>>0)%3|0|0)==0,b=(R?2:-1)+_|0,(b|0)==-1?_0=-1:_0=e[y+(b<<2)>>2]|0,R&&(R=e[c+(_<<2)>>2]|0,(A0|0)==(_0|0)|((R|0)==(A0|0)|(R|0)==(_0|0)))?(e[p>>2]=(e[p>>2]|0)+1,h0=T,p0=_+3|0):j0=41;e:do if((j0|0)==41){j0=0,R=e[I+(_0<<2)>>2]|0;i:do if((R|0)>0){for(b=0,q=e[e0+(_0<<2)>>2]|0;;){if(y0=T+(q<<3)|0,C=e[y0>>2]|0,(C|0)==-1)break i;if((C|0)==(A0|0)&&(k0=e[T+(q<<3)+4>>2]|0,(k0|0)==-1?N0=-1:N0=e[m+(k0<<2)>>2]|0,(V|0)!=(N0|0)))break;if(C=b+1|0,(C|0)<(R|0))b=C,q=q+1|0;else break i}C=b+1|0;r:do if((C|0)<(R|0))for(B=C,z=q;;){if(X=z,z=z+1|0,Q=T+(z<<3)|0,x=e[Q>>2]|0,Z=T+(X<<3)|0,e[Z>>2]=x,e[T+(X<<3)+4>>2]=e[T+(z<<3)+4>>2],(x|0)==-1){V0=Z;break r}if(B=B+1|0,(B|0)>=(R|0)){V0=Q;break}}else V0=y0;while(0);if(e[V0>>2]=-1,(k0|0)!=-1){q=e[A>>2]|0,e[q+(_<<2)>>2]=k0,e[q+(k0<<2)>>2]=_,h0=T,p0=h;break e}}while(0);if(R=e[I+(A0<<2)>>2]|0,(R|0)>0){for(q=0,C=e[e0+(A0<<2)>>2]|0;U0=a+(C<<3)|0,(e[U0>>2]|0)!=-1;)if(q=q+1|0,(q|0)>=(R|0)){h0=a,p0=h;break e}else C=C+1|0;e[U0>>2]=_0,e[a+(C<<3)+4>>2]=_,h0=a,p0=h}else h0=T,p0=h}while(0);if(p0>>>0<i>>>0)T=h0,_=p0,l=v,y=v,c=v,m=v,d=v;else break}return e[r>>2]=w,e0?(e[M>>2]=e0,Y(f0),f0=e[f>>2]|0,m0=f0,s0=f0):(m0=a,s0=$),m0|0&&(e[P>>2]=m0,Y(s0)),s0=e[n>>2]|0,s0|0&&(e[k>>2]=s0,Y(s0)),o=1,U=t,o|0}function p8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0;t=U,U=U+16|0,n=t,f=i+144|0,l=e[f>>2]|0,o=K0[e[(e[l>>2]|0)+32>>2]&127](l)|0;do if((((J[o+36>>0]|0)<<8|(J[o+37>>0]|0))&65535)<514){l=i+40|0,A=l,u=i,s=A+40|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));if(bi(l,1,n)|0){A=i,u=l,s=A+40|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));if(l=n,_=e[l>>2]|0,h=e[l+4>>2]|0,l=i+8|0,k=i+16|0,b=k,p=e[b>>2]|0,w=e[b+4>>2]|0,b=H0(e[l>>2]|0,e[l+4>>2]|0,p|0,w|0)|0,l=H,!(h>>>0>l>>>0|(h|0)==(l|0)&_>>>0>b>>>0)){b=i0(p|0,w|0,_|0,h|0)|0,h=k,e[h>>2]=b,e[h+4>>2]=H;break}}return d=0,U=t,d|0}while(0);do if((b2[i+38>>1]|0)>=514){if(!(f2(i+80|0,i)|0))return d=0,U=t,d|0}else{o=i+96|0,A=o,u=i,s=A+40|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));if(bi(o,1,n)|0){A=i,u=o,s=A+40|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));if(o=n,h=e[o>>2]|0,b=e[o+4>>2]|0,o=i+8|0,k=i+16|0,_=k,w=e[_>>2]|0,p=e[_+4>>2]|0,_=H0(e[o>>2]|0,e[o+4>>2]|0,w|0,p|0)|0,o=H,!(b>>>0>o>>>0|(b|0)==(o|0)&h>>>0>_>>>0)){_=i0(w|0,p|0,h|0,b|0)|0,b=k,e[b>>2]=_,e[b+4>>2]=H;break}}return d=0,U=t,d|0}while(0);if(!(ef(i)|0))return d=0,U=t,d|0;A=r,u=i,s=A+40|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));u=e[f>>2]|0,A=K0[e[(e[u>>2]|0)+32>>2]&127](u)|0;do if((((J[A+36>>0]|0)<<8|(J[A+37>>0]|0))&65535)<514){if(u=e[f>>2]|0,s=(K0[e[(e[u>>2]|0)+32>>2]&127](u)|0)+36|0,((J[s>>0]|0)<<8&65535)<512?(s=r+8|0,u=e[s>>2]|0,b=e[s+4>>2]|0,s=r+16|0,_=s,k=e[_>>2]|0,h=i0(k|0,e[_+4>>2]|0,4,0)|0,_=H,(b|0)<(_|0)|(b|0)==(_|0)&u>>>0<h>>>0||(u=(e[r>>2]|0)+k|0,k=J[u>>0]|J[u+1>>0]<<8|J[u+2>>0]<<16|J[u+3>>0]<<24,e[n>>2]=k,u=s,e[u>>2]=h,e[u+4>>2]=_,m=k,c=19)):t2(n,r)|0&&(m=e[n>>2]|0,c=19),(c|0)==19&&(k=e[i+152>>2]|0,m>>>0<k>>>0)&&(_=r+8|0,u=e[_+4>>2]|0,h=r+16|0,s=h,b=e[s>>2]|0,p=e[s+4>>2]|0,(u|0)>(p|0)|((u|0)==(p|0)?(e[_>>2]|0)>>>0>b>>>0:0))&&(_=j[(e[r>>2]|0)+b>>0]|0,u=i0(b|0,p|0,1,0)|0,p=h,e[p>>2]=u,e[p+4>>2]=H,_<<24>>24==0)){e[i+176>>2]=2,e[i+180>>2]=7,y=k;break}return d=0,U=t,d|0}else e[i+176>>2]=2,e[i+180>>2]=7,y=e[i+152>>2]|0;while(0);if((y|0)<0)return d=0,U=t,d|0;if(m=i+156|0,e[n>>2]=0,c=i+160|0,f=e[m>>2]|0,A=(e[c>>2]|0)-f>>2,y>>>0<=A>>>0?y>>>0<A>>>0?(e[c>>2]=f+(y<<2),V=2,v=7):(V=2,v=7):(z2(m,y-A|0,n),V=e[i+176>>2]|0,v=e[i+180>>2]|0),A=v-V+1|0,V=i+184|0,v=i+188|0,y=e[v>>2]|0,m=e[V>>2]|0,f=(y-m|0)/12|0,c=m,m=y,A>>>0<=f>>>0)if(A>>>0<f>>>0){if(k=c+(A*12|0)|0,(k|0)!=(m|0)){c=m;do m=c,c=c+-12|0,_=e[c>>2]|0,_|0&&(e[m+-8>>2]=_,Y(_));while((c|0)!=(k|0))}e[v>>2]=k,T=k}else T=y;else vu(V,A-f|0),T=e[v>>2]|0;if(f=i+196|0,A=e[V>>2]|0,y=(T-A|0)/12|0,k=i+200|0,i=e[f>>2]|0,c=(e[k>>2]|0)-i>>2,y>>>0<=c>>>0?y>>>0<c>>>0?(e[k>>2]=i+(y<<2),R=T,N=A):(R=T,N=A):(u2(f,y-c|0),R=e[v>>2]|0,N=e[V>>2]|0),(R|0)==(N|0))return d=1,U=t,d|0;N=0;do t2(n,r)|0,R=e[n>>2]|0,R|0&&(c=e[V>>2]|0,y=c+(N*12|0)|0,A=c+(N*12|0)+4|0,T=e[y>>2]|0,i=(e[A>>2]|0)-T>>2,R>>>0<=i>>>0?R>>>0<i>>>0?(e[A>>2]=T+(R<<2),G=c,F=R):(G=c,F=R):(u2(y,R-i|0),G=e[V>>2]|0,F=e[n>>2]|0),Mr(F,1,r,e[G+(N*12|0)>>2]|0)|0,e[(e[f>>2]|0)+(N<<2)>>2]=e[n>>2]),N=N+1|0;while(N>>>0<(((e[v>>2]|0)-(e[V>>2]|0)|0)/12|0)>>>0);return d=1,U=t,d|0}function w8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=a0,F=a0,E=a0,Z=0,Q=0,z=0,C=0;if(t=j[r+11>>0]|0,n=t<<24>>24<0,f=n?e[r>>2]|0:r,l=n?e[r+4>>2]|0:t&255,l>>>0>3){for(t=f,n=l,o=l;A=Z0(J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,1540483477)|0,n=(Z0(A>>>24^A,1540483477)|0)^(Z0(n,1540483477)|0),o=o+-4|0,!(o>>>0<=3);)t=t+4|0;t=l+-4|0,o=t&-4,u=t-o|0,s=f+(o+4)|0,_=n}else u=l,s=f,_=l;switch(u|0){case 3:{h=J[s+2>>0]<<16^_,k=7;break}case 2:{h=_,k=7;break}case 1:{b=_,k=8;break}default:p=_}(k|0)==7&&(b=J[s+1>>0]<<8^h,k=8),(k|0)==8&&(p=Z0(b^J[s>>0],1540483477)|0),s=Z0(p>>>13^p,1540483477)|0,p=s>>>15^s,s=i+4|0,b=e[s>>2]|0,h=(b|0)==0;e:do if(h)d=0;else if(_=b+-1|0,u=(_&b|0)==0,u?w=p&_:p>>>0<b>>>0?w=p:w=(p>>>0)%(b>>>0)|0,n=e[(e[i>>2]|0)+(w<<2)>>2]|0,(n|0)!=0&&(o=e[n>>2]|0,(o|0)!=0)){if(n=(l|0)==0,u){if(n){for(u=o;;){if(t=e[u+4>>2]|0,!((t|0)==(p|0)|(t&_|0)==(w|0))){d=w;break e}if(t=j[u+8+11>>0]|0,!((t<<24>>24<0?e[u+12>>2]|0:t&255)|0)){m=u;break}if(u=e[u>>2]|0,!u){d=w;break e}}return c=m+20|0,c|0}u=o;i:for(;;){if(t=e[u+4>>2]|0,!((t|0)==(p|0)|(t&_|0)==(w|0))){d=w;break e}t=u+8|0,A=j[t+11>>0]|0,y=A<<24>>24<0,V=A&255;do if(((y?e[u+12>>2]|0:V)|0)==(l|0)){if(A=e[t>>2]|0,y){if(E2(A,f,l)|0)break;m=u,k=68;break i}if((j[f>>0]|0)==(A&255)<<24>>24){A=t,v=V,T=f;do{if(v=v+-1|0,A=A+1|0,!v){m=u,k=68;break i}T=T+1|0}while((j[A>>0]|0)==(j[T>>0]|0))}}while(0);if(u=e[u>>2]|0,!u){d=w;break e}}if((k|0)==68)return c=m+20|0,c|0}if(n){for(u=o;;){if(_=e[u+4>>2]|0,(_|0)!=(p|0)&&(_>>>0<b>>>0?R=_:R=(_>>>0)%(b>>>0)|0,(R|0)!=(w|0))){d=w;break e}if(_=j[u+8+11>>0]|0,!((_<<24>>24<0?e[u+12>>2]|0:_&255)|0)){m=u;break}if(u=e[u>>2]|0,!u){d=w;break e}}return c=m+20|0,c|0}u=o;i:for(;;){if(n=e[u+4>>2]|0,(n|0)!=(p|0)&&(n>>>0<b>>>0?N=n:N=(n>>>0)%(b>>>0)|0,(N|0)!=(w|0))){d=w;break e}n=u+8|0,_=j[n+11>>0]|0,V=_<<24>>24<0,t=_&255;do if(((V?e[u+12>>2]|0:t)|0)==(l|0)){if(_=e[n>>2]|0,V){if(E2(_,f,l)|0)break;m=u,k=68;break i}if((j[f>>0]|0)==(_&255)<<24>>24){_=n,y=t,T=f;do{if(y=y+-1|0,_=_+1|0,!y){m=u,k=68;break i}T=T+1|0}while((j[_>>0]|0)==(j[T>>0]|0))}}while(0);if(u=e[u>>2]|0,!u){d=w;break e}}if((k|0)==68)return c=m+20|0,c|0}else d=w;while(0);w=v0(24)|0,c2(w+8|0,r),e[w+20>>2]=0,e[w+4>>2]=p,e[w>>2]=0,r=i+12|0,G=o0(((e[r>>2]|0)+1|0)>>>0),F=o0(b>>>0),E=o0(q0[i+16>>2]);do if(h|o0(E*F)<G){if(f=b<<1|(b>>>0<3|(b+-1&b|0)!=0)&1,l=~~o0(hi(o0(G/E)))>>>0,Lt(i,f>>>0<l>>>0?l:f),f=e[s>>2]|0,l=f+-1|0,!(l&f)){Z=f,Q=l&p;break}p>>>0<f>>>0?(Z=f,Q=p):(Z=f,Q=(p>>>0)%(f>>>0)|0)}else Z=b,Q=d;while(0);return d=(e[i>>2]|0)+(Q<<2)|0,Q=e[d>>2]|0,Q?(e[w>>2]=e[Q>>2],C=Q,k=66):(b=i+8|0,e[w>>2]=e[b>>2],e[b>>2]=w,e[d>>2]=b,b=e[w>>2]|0,b|0&&(d=e[b+4>>2]|0,b=Z+-1|0,b&Z?d>>>0<Z>>>0?z=d:z=(d>>>0)%(Z>>>0)|0:z=d&b,C=(e[i>>2]|0)+(z<<2)|0,k=66)),(k|0)==66&&(e[C>>2]=w),e[r>>2]=(e[r>>2]|0)+1,m=w,c=m+20|0,c|0}function d8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0;if(l=i+8|0,e[l>>2]=f,n=i+32|0,o=i+36|0,A=e[n>>2]|0,u=(e[o>>2]|0)-A>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[o>>2]=A+(f<<2)):u2(n,f-u|0),u=e[i+48>>2]|0,n=e[i+52>>2]|0,A=f>>>0>1073741823?-1:f<<2,o=B2(A)|0,E0(o|0,0,A|0)|0,A=e[l>>2]|0,(A|0)>0){s=i+16|0,_=i+32|0,h=i+12|0,k=0;do{b=e[o+(k<<2)>>2]|0,p=e[s>>2]|0;do if((b|0)<=(p|0))if(w=e[h>>2]|0,d=e[_>>2]|0,m=d+(k<<2)|0,(b|0)<(w|0)){e[m>>2]=w,c=d;break}else{e[m>>2]=b,c=d;break}else d=e[_>>2]|0,e[d+(k<<2)>>2]=p,c=d;while(0);k=k+1|0,y=e[l>>2]|0}while((k|0)<(y|0));if((y|0)>0){k=i+20|0,_=0;do p=(e[r+(_<<2)>>2]|0)+(e[c+(_<<2)>>2]|0)|0,b=t+(_<<2)|0,e[b>>2]=p,(p|0)<=(e[s>>2]|0)?(p|0)<(e[h>>2]|0)&&(V=(e[k>>2]|0)+p|0,v=19):(V=p-(e[k>>2]|0)|0,v=19),(v|0)==19&&(v=0,e[b>>2]=V),_=_+1|0,b=e[l>>2]|0;while((_|0)<(b|0));T=b}else T=y}else T=A;if(A=e[i+56>>2]|0,y=e[A>>2]|0,_=(e[A+4>>2]|0)-y|0,V=_>>2,(_|0)<=4)return i2(o),1;for(_=y,y=u+12|0,k=i+16|0,h=i+32|0,s=i+12|0,c=(f|0)>0,b=i+20|0,i=1,p=T;;){if(V>>>0<=i>>>0){v=25;break}if(T=e[_+(i<<2)>>2]|0,d=Z0(i,f)|0,(T|0)!=-1&&(m=e[(e[y>>2]|0)+(T<<2)>>2]|0,(m|0)!=-1))if(T=e[u>>2]|0,w=e[n>>2]|0,R=e[w+(e[T+(m<<2)>>2]<<2)>>2]|0,N=m+1|0,G=((N>>>0)%3|0|0)==0?m+-2|0:N,(G|0)==-1?F=-1:F=e[T+(G<<2)>>2]|0,G=e[w+(F<<2)>>2]|0,N=(((m>>>0)%3|0|0)==0?2:-1)+m|0,(N|0)==-1?E=-1:E=e[T+(N<<2)>>2]|0,N=e[w+(E<<2)>>2]|0,(R|0)<(i|0)&(G|0)<(i|0)&(N|0)<(i|0)){if(w=Z0(R,f)|0,R=Z0(G,f)|0,G=Z0(N,f)|0,c){N=0;do e[o+(N<<2)>>2]=(e[t+(N+G<<2)>>2]|0)+(e[t+(N+R<<2)>>2]|0)-(e[t+(N+w<<2)>>2]|0),N=N+1|0;while((N|0)!=(f|0))}if(N=r+(d<<2)|0,w=t+(d<<2)|0,(p|0)>0){R=0;do{G=e[o+(R<<2)>>2]|0,T=e[k>>2]|0;do if((G|0)<=(T|0))if(m=e[s>>2]|0,Z=e[h>>2]|0,Q=Z+(R<<2)|0,(G|0)<(m|0)){e[Q>>2]=m,z=Z;break}else{e[Q>>2]=G,z=Z;break}else Z=e[h>>2]|0,e[Z+(R<<2)>>2]=T,z=Z;while(0);R=R+1|0,C=e[l>>2]|0}while((R|0)<(C|0));if((C|0)>0){R=0;do T=(e[N+(R<<2)>>2]|0)+(e[z+(R<<2)>>2]|0)|0,G=w+(R<<2)|0,e[G>>2]=T,(T|0)<=(e[k>>2]|0)?(T|0)<(e[s>>2]|0)&&(W=(e[b>>2]|0)+T|0,v=66):(W=T-(e[b>>2]|0)|0,v=66),(v|0)==66&&(v=0,e[G>>2]=W),R=R+1|0,G=e[l>>2]|0;while((R|0)<(G|0));I=G}else I=C}else I=p}else v=36;else v=36;if((v|0)==36)if(v=0,R=t+((Z0(i+-1|0,f)|0)<<2)|0,w=r+(d<<2)|0,N=t+(d<<2)|0,(p|0)>0){G=0;do{T=e[R+(G<<2)>>2]|0,Z=e[k>>2]|0;do if((T|0)<=(Z|0))if(Q=e[s>>2]|0,m=e[h>>2]|0,D=m+(G<<2)|0,(T|0)<(Q|0)){e[D>>2]=Q,L=m;break}else{e[D>>2]=T,L=m;break}else m=e[h>>2]|0,e[m+(G<<2)>>2]=Z,L=m;while(0);G=G+1|0,O=e[l>>2]|0}while((G|0)<(O|0));if((O|0)>0){G=0;do R=(e[w+(G<<2)>>2]|0)+(e[L+(G<<2)>>2]|0)|0,d=N+(G<<2)|0,e[d>>2]=R,(R|0)<=(e[k>>2]|0)?(R|0)<(e[s>>2]|0)&&(x=(e[b>>2]|0)+R|0,v=50):(x=R-(e[b>>2]|0)|0,v=50),(v|0)==50&&(v=0,e[d>>2]=x),G=G+1|0,d=e[l>>2]|0;while((G|0)<(d|0));I=d}else I=O}else I=p;if(i=i+1|0,(i|0)>=(V|0)){v=23;break}else p=I}return(v|0)==23?(i2(o),1):((v|0)==25&&W0(A),0)}function m8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0;if(l=i+8|0,e[l>>2]=f,n=i+32|0,o=i+36|0,A=e[n>>2]|0,u=(e[o>>2]|0)-A>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[o>>2]=A+(f<<2)):u2(n,f-u|0),u=e[i+48>>2]|0,n=e[i+52>>2]|0,A=f>>>0>1073741823?-1:f<<2,o=B2(A)|0,E0(o|0,0,A|0)|0,A=e[l>>2]|0,(A|0)>0){s=i+16|0,_=i+32|0,h=i+12|0,k=0;do{b=e[o+(k<<2)>>2]|0,p=e[s>>2]|0;do if((b|0)<=(p|0))if(w=e[h>>2]|0,d=e[_>>2]|0,m=d+(k<<2)|0,(b|0)<(w|0)){e[m>>2]=w,c=d;break}else{e[m>>2]=b,c=d;break}else d=e[_>>2]|0,e[d+(k<<2)>>2]=p,c=d;while(0);k=k+1|0,y=e[l>>2]|0}while((k|0)<(y|0));if((y|0)>0){k=i+20|0,_=0;do p=(e[r+(_<<2)>>2]|0)+(e[c+(_<<2)>>2]|0)|0,b=t+(_<<2)|0,e[b>>2]=p,(p|0)<=(e[s>>2]|0)?(p|0)<(e[h>>2]|0)&&(V=(e[k>>2]|0)+p|0,v=19):(V=p-(e[k>>2]|0)|0,v=19),(v|0)==19&&(v=0,e[b>>2]=V),_=_+1|0,b=e[l>>2]|0;while((_|0)<(b|0));T=b}else T=y}else T=A;if(A=e[i+56>>2]|0,y=e[A>>2]|0,_=(e[A+4>>2]|0)-y|0,V=_>>2,(_|0)<=4)return i2(o),1;for(_=y,y=i+16|0,k=i+32|0,h=i+12|0,s=u+64|0,c=u+28|0,b=(f|0)>0,p=i+20|0,i=1,d=T;;){if(V>>>0<=i>>>0){v=25;break}if(T=e[_+(i<<2)>>2]|0,m=Z0(i,f)|0,(T|0)!=-1&&(e[(e[u>>2]|0)+(T>>>5<<2)>>2]&1<<(T&31)|0)==0&&(w=e[(e[(e[s>>2]|0)+12>>2]|0)+(T<<2)>>2]|0,(w|0)!=-1)&&(T=e[c>>2]|0,R=e[n>>2]|0,N=e[R+(e[T+(w<<2)>>2]<<2)>>2]|0,G=w+1|0,F=e[R+(e[T+((((G>>>0)%3|0|0)==0?w+-2|0:G)<<2)>>2]<<2)>>2]|0,G=e[R+(e[T+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(N|0)<(i|0)&(F|0)<(i|0)&(G|0)<(i|0))){if(w=Z0(N,f)|0,N=Z0(F,f)|0,F=Z0(G,f)|0,b){G=0;do e[o+(G<<2)>>2]=(e[t+(G+F<<2)>>2]|0)+(e[t+(G+N<<2)>>2]|0)-(e[t+(G+w<<2)>>2]|0),G=G+1|0;while((G|0)!=(f|0))}if(G=r+(m<<2)|0,w=t+(m<<2)|0,(d|0)>0){N=0;do{F=e[o+(N<<2)>>2]|0,T=e[y>>2]|0;do if((F|0)<=(T|0))if(R=e[h>>2]|0,E=e[k>>2]|0,Z=E+(N<<2)|0,(F|0)<(R|0)){e[Z>>2]=R,Q=E;break}else{e[Z>>2]=F,Q=E;break}else E=e[k>>2]|0,e[E+(N<<2)>>2]=T,Q=E;while(0);N=N+1|0,z=e[l>>2]|0}while((N|0)<(z|0));if((z|0)>0){N=0;do T=(e[G+(N<<2)>>2]|0)+(e[Q+(N<<2)>>2]|0)|0,F=w+(N<<2)|0,e[F>>2]=T,(T|0)<=(e[y>>2]|0)?(T|0)<(e[h>>2]|0)&&(C=(e[p>>2]|0)+T|0,v=63):(C=T-(e[p>>2]|0)|0,v=63),(v|0)==63&&(v=0,e[F>>2]=C),N=N+1|0,F=e[l>>2]|0;while((N|0)<(F|0));W=F}else W=z}else W=d}else if(N=t+((Z0(i+-1|0,f)|0)<<2)|0,w=r+(m<<2)|0,G=t+(m<<2)|0,(d|0)>0){F=0;do{T=e[N+(F<<2)>>2]|0,E=e[y>>2]|0;do if((T|0)<=(E|0))if(Z=e[h>>2]|0,R=e[k>>2]|0,I=R+(F<<2)|0,(T|0)<(Z|0)){e[I>>2]=Z,D=R;break}else{e[I>>2]=T,D=R;break}else R=e[k>>2]|0,e[R+(F<<2)>>2]=E,D=R;while(0);F=F+1|0,L=e[l>>2]|0}while((F|0)<(L|0));if((L|0)>0){F=0;do N=(e[w+(F<<2)>>2]|0)+(e[D+(F<<2)>>2]|0)|0,m=G+(F<<2)|0,e[m>>2]=N,(N|0)<=(e[y>>2]|0)?(N|0)<(e[h>>2]|0)&&(O=(e[p>>2]|0)+N|0,v=47):(O=N-(e[p>>2]|0)|0,v=47),(v|0)==47&&(v=0,e[m>>2]=O),F=F+1|0,m=e[l>>2]|0;while((F|0)<(m|0));W=m}else W=L}else W=d;if(i=i+1|0,(i|0)>=(V|0)){v=23;break}else d=W}return(v|0)==23?(i2(o),1):((v|0)==25&&W0(A),0)}function Gr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0;if(t=U,U=U+16|0,n=t,f=e[r>>2]|0,r=i+8|0,l=f+1|0,(f|0)!=-1)if(o=((l>>>0)%3|0|0)==0?f+-2|0:l,l=f+(((f>>>0)%3|0|0)==0?2:-1)|0,A=i+216|0,u=i+220|0,s=i+368|0,(e[(e[(e[r>>2]|0)+12>>2]|0)+(f<<2)>>2]|0)!=-1)if(_=e[u>>2]|0,h=e[A>>2]|0,k=h,(_|0)==(h|0))b=l,p=n,w=n,d=k,m=k,c=o,y=_,V=_,v=s,T=A,R=u,N=A;else{_=0;do V2((e[s>>2]|0)+(_<<4)|0)|0&&(k=e[A>>2]|0,e[n>>2]=f,h=k+(_*144|0)+136|0,G=e[h>>2]|0,G>>>0<(e[k+(_*144|0)+140>>2]|0)>>>0?(e[G>>2]=f,e[h>>2]=G+4):L0(k+(_*144|0)+132|0,n)),_=_+1|0,F=e[u>>2]|0,E=e[A>>2]|0;while(_>>>0<((F-E|0)/144|0)>>>0);_=E,b=l,p=n,w=n,d=_,m=_,c=o,y=F,V=E,v=s,T=A,R=u,N=A}else Z=n,Q=s,z=n,C=A,W=l,I=o,D=u,L=A,O=4;else A=i+216|0,Z=n,Q=i+368|0,z=n,C=A,W=-1,I=-1,D=i+220|0,L=A,O=4;if((O|0)==4)if(O=e[D>>2]|0,A=e[L>>2]|0,i=A,(O|0)==(A|0))b=W,p=Z,w=z,d=i,m=i,c=I,y=O,V=O,v=Q,T=C,R=D,N=L;else for(u=0,o=i,l=i,s=O,O=i,i=A;;)if(e[n>>2]=f,A=O+(u*144|0)+136|0,E=e[A>>2]|0,E>>>0<(e[O+(u*144|0)+140>>2]|0)>>>0?(e[E>>2]=f,e[A>>2]=E+4,x=i,X=o,B=l,M=i,P=s):(L0(O+(u*144|0)+132|0,n),E=e[L>>2]|0,A=E,x=A,X=A,B=A,M=E,P=e[D>>2]|0),u=u+1|0,u>>>0>=((P-M|0)/144|0)>>>0){b=W,p=Z,w=z,d=X,m=B,c=I,y=P,V=M,v=Q,T=C,R=D,N=L;break}else o=X,l=B,s=P,O=x,i=M;if((c|0)!=-1&&(e[(e[(e[r>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)!=-1)if((y|0)==(V|0))q=V,g=V,n0=d;else{M=0;do V2((e[v>>2]|0)+(M<<4)|0)|0&&(i=e[T>>2]|0,e[n>>2]=c,x=i+(M*144|0)+136|0,O=e[x>>2]|0,O>>>0<(e[i+(M*144|0)+140>>2]|0)>>>0?(e[O>>2]=c,e[x>>2]=O+4):L0(i+(M*144|0)+132|0,n)),M=M+1|0,l0=e[R>>2]|0,t0=e[N>>2]|0;while(M>>>0<((l0-t0|0)/144|0)>>>0);q=l0,g=t0,n0=t0}else if((y|0)==(V|0))q=V,g=V,n0=d;else for(t0=0,l0=V,V=d,d=y,y=m;;)if(e[n>>2]=c,m=y+(t0*144|0)+136|0,M=e[m>>2]|0,M>>>0<(e[y+(t0*144|0)+140>>2]|0)>>>0?(e[M>>2]=c,e[m>>2]=M+4,a=l0,$=l0,e0=d,f0=V):(L0(y+(t0*144|0)+132|0,n),M=e[N>>2]|0,m=M,a=m,$=M,e0=e[R>>2]|0,f0=m),t0=t0+1|0,t0>>>0>=((e0-$|0)/144|0)>>>0){q=e0,g=$,n0=f0;break}else l0=$,V=f0,d=e0,y=a;if((b|0)!=-1&&(e[(e[(e[r>>2]|0)+12>>2]|0)+(b<<2)>>2]|0)!=-1){if((q|0)==(g|0))return U=t,1;r=0;do V2((e[v>>2]|0)+(r<<4)|0)|0&&(a=e[T>>2]|0,e[n>>2]=b,y=a+(r*144|0)+136|0,e0=e[y>>2]|0,e0>>>0<(e[a+(r*144|0)+140>>2]|0)>>>0?(e[e0>>2]=b,e[y>>2]=e0+4):L0(a+(r*144|0)+132|0,n)),r=r+1|0;while(r>>>0<(((e[R>>2]|0)-(e[N>>2]|0)|0)/144|0)>>>0);return U=t,1}if((q|0)==(g|0))return U=t,1;for(r=0,T=n0,n0=g,g=q;e[n>>2]=b,q=T+(r*144|0)+136|0,v=e[q>>2]|0,v>>>0<(e[T+(r*144|0)+140>>2]|0)>>>0?(e[v>>2]=b,e[q>>2]=v+4,A0=n0,_0=g):(L0(T+(r*144|0)+132|0,n),A0=e[N>>2]|0,_0=e[R>>2]|0),r=r+1|0,!(r>>>0>=((_0-A0|0)/144|0)>>>0);)T=A0,n0=A0,g=_0;return U=t,1}function Vr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0;for(n=U,U=U+16|0,f=n+12|0,l=n,o=n+8|0,A=n+4|0,u=i+8+(r*12|0)|0,s=i+8+(r*12|0)+4|0,e[s>>2]=e[u>>2],_=e[t>>2]|0,h=i+4|0,e[l>>2]=(_|0)==-1?-1:(_>>>0)/3|0,k=i+56|0,b=i+8+(r*12|0)+8|0,p=0,w=_,d=_;;){if(_=(p|0)==1,_){m=(w|0)==-1;do if(m)c=-1;else if((w>>>0)%3|0){c=w+-1|0;break}else{c=w+2|0;break}while(0);if(e[o>>2]=c,e[f>>2]=e[o>>2],(dr(i,f)|0)==-1){y=w;break}if(V=w+1|0,m){v=10;break}if(T=((V>>>0)%3|0|0)==0?w+-2|0:V,e[t>>2]=T,V=T+1|0,(T|0)==-1){R=w,v=14;break}if(N=((V>>>0)%3|0|0)==0?T+-2|0:V,(N|0)==-1){R=w,v=14;break}if(V=e[(e[(e[h>>2]|0)+12>>2]|0)+(N<<2)>>2]|0,N=V+1|0,(V|0)==-1){R=w,v=14;break}if(T=((N>>>0)%3|0|0)==0?V+-2|0:N,e[t>>2]=T,(T|0)==-1){y=w;break}N=(T>>>0)/3|0,e[l>>2]=N,G=T,F=N}else G=d,F=e[l>>2]|0;if(N=(e[k>>2]|0)+(F>>>5<<2)|0,T=1<<(F&31),V=e[N>>2]|0,T&V)l0=w,t0=G;else{e:do if(_)for(E=0,Z=w,Q=T,z=V,C=N,W=G;;){if(e[C>>2]=z|Q,I=e[s>>2]|0,(I|0)==(e[b>>2]|0)?L0(u,l):(e[I>>2]=e[l>>2],e[s>>2]=I+4),I=E+1|0,!E)D=Z,L=W;else{O=(W|0)==-1;do if(I&1)B=W+1|0,O?(x=-1,X=Z):(x=((B>>>0)%3|0|0)==0?W+-2|0:B,X=Z);else if(O)x=-1,X=W;else if((W>>>0)%3|0){x=W+-1|0,X=W;break}else{x=W+2|0,X=W;break}while(0);e[t>>2]=x,D=X,L=x}if(e[A>>2]=L,e[f>>2]=e[A>>2],O=dr(i,f)|0,e[t>>2]=O,(O|0)==-1){M=I,P=D,q=-1;break e}if(B=(O>>>0)/3|0,e[l>>2]=B,C=(e[k>>2]|0)+(B>>>5<<2)|0,Q=1<<(B&31),z=e[C>>2]|0,Q&z|0){M=I,P=D,q=O;break}else E=I,Z=D,W=O}else for(W=0,Z=G,E=T,z=V,Q=N;;){if(e[Q>>2]=z|E,C=e[s>>2]|0,(C|0)==(e[b>>2]|0)?L0(u,l):(e[C>>2]=e[l>>2],e[s>>2]=C+4),C=W+1|0,!W)g=Z;else{O=(Z|0)==-1;do if(C&1)B=Z+1|0,O?n0=-1:n0=((B>>>0)%3|0|0)==0?Z+-2|0:B;else if(O)n0=-1;else if((Z>>>0)%3|0){n0=Z+-1|0;break}else{n0=Z+2|0;break}while(0);e[t>>2]=n0,g=n0}if(e[A>>2]=g,e[f>>2]=e[A>>2],O=dr(i,f)|0,e[t>>2]=O,(O|0)==-1){M=C,P=w,q=-1;break e}if(I=(O>>>0)/3|0,e[l>>2]=I,Q=(e[k>>2]|0)+(I>>>5<<2)|0,E=1<<(I&31),z=e[Q>>2]|0,E&z|0){M=C,P=w,q=O;break}else W=C,Z=O}while(0);(M&1|0)==0|_^1?(l0=P,t0=q):(N=(e[s>>2]|0)+-4|0,V=e[N>>2]|0,T=(e[k>>2]|0)+(V>>>5<<2)|0,e[T>>2]=e[T>>2]&~(1<<(V&31)),e[s>>2]=N,l0=P,t0=q)}if(p=p+1|0,p>>>0>=2){y=l0;break}else w=l0,d=t0}if((v|0)==10&&(e[t>>2]=-1,R=-1,v=14),(v|0)==14&&(e[t>>2]=-1,y=R),e[i+44+(r<<2)>>2]=y,y=e[s>>2]|0,s=e[u>>2]|0,u=s,(y|0)==(s|0)){U=n;return}r=e[k>>2]|0,k=y-s>>2,s=0;do y=e[u+(s<<2)>>2]|0,i=r+(y>>>5<<2)|0,e[i>>2]=e[i>>2]&~(1<<(y&31)),s=s+1|0;while(s>>>0<k>>>0);U=n}function Xt(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0;if(n=U,U=U+672|0,f=n,l=n+656|0,o=n+4|0,A=r+8|0,u=A,s=e[u>>2]|0,_=e[u+4>>2]|0,u=r+16|0,h=u,k=e[h>>2]|0,b=i0(k|0,e[h+4>>2]|0,4,0)|0,h=H,(_|0)<(h|0)|(_|0)==(h|0)&s>>>0<b>>>0||(b=(e[r>>2]|0)+k|0,k=J[b>>0]|J[b+1>>0]<<8|J[b+2>>0]<<16|J[b+3>>0]<<24,j[i>>0]=k,j[i+1>>0]=k>>8,j[i+2>>0]=k>>16,j[i+3>>0]=k>>24,b=u,s=e[b>>2]|0,h=e[b+4>>2]|0,b=i0(s|0,h|0,4,0)|0,_=u,e[_>>2]=b,e[_+4>>2]=H,k>>>0>31)||(k=A,_=e[k>>2]|0,w=e[k+4>>2]|0,k=i0(s|0,h|0,8,0)|0,h=H,(w|0)<(h|0)|(w|0)==(h|0)&_>>>0<k>>>0)||(k=i+4|0,_=(e[r>>2]|0)+b|0,b=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[k>>0]=b,j[k+1>>0]=b>>8,j[k+2>>0]=b>>16,j[k+3>>0]=b>>24,b=u,k=e[b>>2]|0,_=e[b+4>>2]|0,b=i0(k|0,_|0,4,0)|0,h=u,e[h>>2]=b,e[h+4>>2]=H,h=i+12|0,w=A,s=e[w>>2]|0,d=e[w+4>>2]|0,w=i0(k|0,_|0,8,0)|0,_=H,(d|0)<(_|0)|(d|0)==(_|0)&s>>>0<w>>>0)||(w=(e[r>>2]|0)+b|0,b=J[w>>0]|J[w+1>>0]<<8|J[w+2>>0]<<16|J[w+3>>0]<<24,j[h>>0]=b,j[h+1>>0]=b>>8,j[h+2>>0]=b>>16,j[h+3>>0]=b>>24,w=u,s=e[w>>2]|0,_=e[w+4>>2]|0,w=i0(s|0,_|0,4,0)|0,d=u,e[d>>2]=w,e[d+4>>2]=H,d=i+16|0,i=A,A=e[i>>2]|0,k=e[i+4>>2]|0,i=i0(s|0,_|0,8,0)|0,_=H,(k|0)<(_|0)|(k|0)==(_|0)&A>>>0<i>>>0))return p=0,U=n,p|0;if(i=(e[r>>2]|0)+w|0,w=J[i>>0]|J[i+1>>0]<<8|J[i+2>>0]<<16|J[i+3>>0]<<24,j[d>>0]=w,j[d+1>>0]=w>>8,j[d+2>>0]=w>>16,j[d+3>>0]=w>>24,i=u,A=i0(e[i>>2]|0,e[i+4>>2]|0,4,0)|0,i=u,e[i>>2]=A,e[i+4>>2]=H,w>>>0>6)return e[f>>2]=w,jf(13491,f)|0,p=0,U=n,p|0;e[l>>2]=t;e:do if(!b)m=17;else switch(E3(t,b),e[d>>2]|0){case 0:{Fi(o,3),Po(o,r,l)|0,Wi(o),m=17;break e}case 1:{Fi(o,3),Xo(o,r,l)|0,Wi(o),m=17;break e}case 2:{Ei(o,3),xo(o,r,l)|0,Di(o),m=17;break e}case 3:{Ei(o,3),Ho(o,r,l)|0,Di(o),m=17;break e}case 4:{Xe(o,3),So(o,r,l)|0,He(o),m=17;break e}case 5:{Xe(o,3),Oo(o,r,l)|0,He(o),m=17;break e}case 6:{Xe(o,3),Jo(o,r,l)|0,He(o),m=17;break e}default:{c=0;break e}}while(0);return(m|0)==17&&(c=(((e[t+4>>2]|0)-(e[t>>2]|0)|0)/12|0|0)==(e[h>>2]|0)),p=c,U=n,p|0}function v8(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=a0,y=a0,V=a0,v=a0,T=0,R=0,N=0,G=a0,F=a0,E=a0,Z=a0,Q=a0,z=a0,C=a0,W=a0,I=a0,D=a0,L=a0,O=0,x=0;f=U,U=U+48|0,l=f+40|0,o=f+36|0,A=f+24|0,u=f+12|0,s=f,_=i+48|0,h=e[r>>2]|0,r=h+1|0;do if((h|0)!=-1)if(k=((r>>>0)%3|0|0)==0?h+-2|0:r,(h>>>0)%3|0){b=h+-1|0,p=k;break}else{b=h+2|0,p=k;break}else b=-1,p=-1;while(0);if(h=e[(e[_>>2]|0)+28>>2]|0,_=e[h+(p<<2)>>2]|0,p=e[h+(b<<2)>>2]|0,b=e[i+52>>2]|0,h=e[b>>2]|0,r=(e[b+4>>2]|0)-h>>2,r>>>0<=_>>>0&&W0(b),k=h,h=e[k+(_<<2)>>2]|0,r>>>0<=p>>>0&&W0(b),b=e[k+(p<<2)>>2]|0,p=(h|0)<(n|0),!(p&(b|0)<(n|0))){do if(p)k=i+72|0,r=e[k>>2]|0,w=Z0(r,h)|0,d=k,m=r;else{if((n|0)>0){r=i+72|0,k=e[r>>2]|0,w=Z0(k,n+-1|0)|0,d=r,m=k;break}if(k=i+72|0,(e[k>>2]|0)<=0){U=f;return}r=e[i+68>>2]|0,_=0;do e[r+(_<<2)>>2]=0,_=_+1|0;while((_|0)<(e[k>>2]|0));U=f;return}while(0);if((m|0)<=0){U=f;return}m=e[i+68>>2]|0,p=0;do e[m+(p<<2)>>2]=e[t+(p+w<<2)>>2],p=p+1|0;while((p|0)<(e[d>>2]|0));U=f;return}if(d=e[i+72>>2]|0,p=Z0(d,h)|0,c=o0(e[t+(p<<2)>>2]|0),y=o0(e[t+(p+1<<2)>>2]|0),p=Z0(d,b)|0,V=o0(e[t+(p<<2)>>2]|0),v=o0(e[t+(p+1<<2)>>2]|0),!(V!=c|v!=y)){p=e[i+68>>2]|0,e[p>>2]=~~V,e[p+4>>2]=~~v,U=f;return}p=i+64|0,t=e[(e[p>>2]|0)+(n<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,n=i+60|0,d=e[n>>2]|0,j[d+84>>0]|0?T=t:T=e[(e[d+68>>2]|0)+(t<<2)>>2]|0,e[o>>2]=T,T=j[d+24>>0]|0,e[l>>2]=e[o>>2],Pe(d,l,T,A)|0,T=e[(e[p>>2]|0)+(h<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,h=e[n>>2]|0,j[h+84>>0]|0?R=T:R=e[(e[h+68>>2]|0)+(T<<2)>>2]|0,e[o>>2]=R,R=j[h+24>>0]|0,e[l>>2]=e[o>>2],Pe(h,l,R,u)|0,R=e[(e[p>>2]|0)+(b<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,b=e[n>>2]|0,j[b+84>>0]|0?N=R:N=e[(e[b+68>>2]|0)+(R<<2)>>2]|0,e[o>>2]=N,N=j[b+24>>0]|0,e[l>>2]=e[o>>2],Pe(b,l,N,s)|0,G=o0(q0[s>>2]),F=o0(q0[u>>2]),E=o0(G-F),G=o0(q0[s+4>>2]),Z=o0(q0[u+4>>2]),Q=o0(G-Z),G=o0(q0[s+8>>2]),z=o0(q0[u+8>>2]),C=o0(G-z),G=o0(o0(q0[A>>2])-F),F=o0(o0(q0[A+4>>2])-Z),Z=o0(o0(q0[A+8>>2])-z),z=o0(o0(o0(o0(E*E)+o0(0))+o0(Q*Q))+o0(C*C)),z>o0(0)||(e[i+88>>2]|0)<258?(W=o0(o0(o0(o0(o0(E*G)+o0(0))+o0(Q*F))+o0(C*Z))/z),I=o0(G-o0(E*W)),E=o0(F-o0(Q*W)),Q=o0(Z-o0(C*W)),D=W,L=o0(_r(o0(o0(o0(Q*Q)+o0(o0(E*E)+o0(o0(I*I)+o0(0))))/z)))):(D=o0(0),L=o0(0)),z=o0(V-c),V=o0(v-y),v=o0(o0(z*D)+c),c=o0(z*L),z=o0(o0(V*D)+y),y=o0(V*L),A=i+80|0,u=(e[A>>2]|0)+-1|0,s=(1<<(u&31)&e[(e[i+76>>2]|0)+(u>>>5<<2)>>2]|0)==0,e[A>>2]=u,L=o0(-y),V=o0(v+(s?y:L)),L=o0(-c),y=o0(z+(s?L:c)),q0[I2>>2]=V,((e[I2>>2]|0)&2147483647)>>>0>2139095040?(s=e[i+68>>2]|0,e[s>>2]=-2147483648,O=s):(s=~~+Ni(+(+V+.5)),u=e[i+68>>2]|0,e[u>>2]=s,O=u),q0[I2>>2]=y,((e[I2>>2]|0)&2147483647)>>>0>2139095040?x=-2147483648:x=~~+Ni(+(+y+.5)),e[O+4>>2]=x,U=f}function y8(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=a0,y=a0,V=a0,v=a0,T=0,R=0,N=0,G=a0,F=a0,E=a0,Z=a0,Q=a0,z=a0,C=a0,W=a0,I=a0,D=a0,L=a0,O=0,x=0;if(f=U,U=U+48|0,l=f+40|0,o=f+36|0,A=f+24|0,u=f+12|0,s=f,_=e[r>>2]|0,r=_+1|0,(_|0)!=-1?(h=((r>>>0)%3|0|0)==0?_+-2|0:r,r=(((_>>>0)%3|0|0)==0?2:-1)+_|0,_=e[i+48>>2]|0,(h|0)==-1?k=-1:k=e[(e[_>>2]|0)+(h<<2)>>2]|0,(r|0)==-1?(b=-1,p=k):(b=e[(e[_>>2]|0)+(r<<2)>>2]|0,p=k)):(b=-1,p=-1),k=e[i+52>>2]|0,r=e[k>>2]|0,_=(e[k+4>>2]|0)-r>>2,_>>>0<=p>>>0&&W0(k),h=r,r=e[h+(p<<2)>>2]|0,_>>>0<=b>>>0&&W0(k),k=e[h+(b<<2)>>2]|0,b=(r|0)<(n|0),!(b&(k|0)<(n|0))){do if(b)h=i+72|0,_=e[h>>2]|0,w=Z0(_,r)|0,d=h,m=_;else{if((n|0)>0){_=i+72|0,h=e[_>>2]|0,w=Z0(h,n+-1|0)|0,d=_,m=h;break}if(h=i+72|0,(e[h>>2]|0)<=0){U=f;return}_=e[i+68>>2]|0,p=0;do e[_+(p<<2)>>2]=0,p=p+1|0;while((p|0)<(e[h>>2]|0));U=f;return}while(0);if((m|0)<=0){U=f;return}m=e[i+68>>2]|0,b=0;do e[m+(b<<2)>>2]=e[t+(b+w<<2)>>2],b=b+1|0;while((b|0)<(e[d>>2]|0));U=f;return}if(d=e[i+72>>2]|0,b=Z0(d,r)|0,c=o0(e[t+(b<<2)>>2]|0),y=o0(e[t+(b+1<<2)>>2]|0),b=Z0(d,k)|0,V=o0(e[t+(b<<2)>>2]|0),v=o0(e[t+(b+1<<2)>>2]|0),!(V!=c|v!=y)){b=e[i+68>>2]|0,e[b>>2]=~~V,e[b+4>>2]=~~v,U=f;return}b=i+64|0,t=e[(e[b>>2]|0)+(n<<2)>>2]|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,n=i+60|0,d=e[n>>2]|0,j[d+84>>0]|0?T=t:T=e[(e[d+68>>2]|0)+(t<<2)>>2]|0,e[o>>2]=T,T=j[d+24>>0]|0,e[l>>2]=e[o>>2],Pe(d,l,T,A)|0,T=e[(e[b>>2]|0)+(r<<2)>>2]|0,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,r=e[n>>2]|0,j[r+84>>0]|0?R=T:R=e[(e[r+68>>2]|0)+(T<<2)>>2]|0,e[o>>2]=R,R=j[r+24>>0]|0,e[l>>2]=e[o>>2],Pe(r,l,R,u)|0,R=e[(e[b>>2]|0)+(k<<2)>>2]|0,e[s>>2]=0,e[s+4>>2]=0,e[s+8>>2]=0,k=e[n>>2]|0,j[k+84>>0]|0?N=R:N=e[(e[k+68>>2]|0)+(R<<2)>>2]|0,e[o>>2]=N,N=j[k+24>>0]|0,e[l>>2]=e[o>>2],Pe(k,l,N,s)|0,G=o0(q0[s>>2]),F=o0(q0[u>>2]),E=o0(G-F),G=o0(q0[s+4>>2]),Z=o0(q0[u+4>>2]),Q=o0(G-Z),G=o0(q0[s+8>>2]),z=o0(q0[u+8>>2]),C=o0(G-z),G=o0(o0(q0[A>>2])-F),F=o0(o0(q0[A+4>>2])-Z),Z=o0(o0(q0[A+8>>2])-z),z=o0(o0(o0(o0(E*E)+o0(0))+o0(Q*Q))+o0(C*C)),z>o0(0)||(e[i+88>>2]|0)<258?(W=o0(o0(o0(o0(o0(E*G)+o0(0))+o0(Q*F))+o0(C*Z))/z),I=o0(G-o0(E*W)),E=o0(F-o0(Q*W)),Q=o0(Z-o0(C*W)),D=W,L=o0(_r(o0(o0(o0(Q*Q)+o0(o0(E*E)+o0(o0(I*I)+o0(0))))/z)))):(D=o0(0),L=o0(0)),z=o0(V-c),V=o0(v-y),v=o0(o0(z*D)+c),c=o0(z*L),z=o0(o0(V*D)+y),y=o0(V*L),A=i+80|0,u=(e[A>>2]|0)+-1|0,s=(1<<(u&31)&e[(e[i+76>>2]|0)+(u>>>5<<2)>>2]|0)==0,e[A>>2]=u,L=o0(-y),V=o0(v+(s?y:L)),L=o0(-c),y=o0(z+(s?L:c)),q0[I2>>2]=V,((e[I2>>2]|0)&2147483647)>>>0>2139095040?(s=e[i+68>>2]|0,e[s>>2]=-2147483648,O=s):(s=~~+Ni(+(+V+.5)),u=e[i+68>>2]|0,e[u>>2]=s,O=u),q0[I2>>2]=y,((e[I2>>2]|0)&2147483647)>>>0>2139095040?x=-2147483648:x=~~+Ni(+(+y+.5)),e[O+4>>2]=x,U=f}function o2(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0;if(r=U,U=U+32|0,t=r+4|0,n=r,f=i+16|0,l=e[f>>2]|0,l>>>0>340){e[f>>2]=l+-341,l=i+4|0,f=e[l>>2]|0,o=e[f>>2]|0,A=f+4|0,e[l>>2]=A,f=i+8|0,u=e[f>>2]|0,s=i+12|0,_=e[s>>2]|0,h=_;do if((u|0)==(_|0)){if(k=A,b=e[i>>2]|0,p=b,A>>>0>b>>>0){w=((k-p>>2)+1|0)/-2|0,d=A+(w<<2)|0,m=u-k|0,m?(q2(d|0,A|0,m|0)|0,c=(e[l>>2]|0)+(w<<2)|0):c=d,w=d+(m>>2<<2)|0,e[f>>2]=w,e[l>>2]=c,y=w;break}w=h-p|0,p=(w|0)==0?1:w>>1,w=p>>>2;do if(p)if(p>>>0>1073741823)m=T2(8)|0,F2(m,13552),e[m>>2]=4908,U2(m|0,1128,105);else{V=v0(p<<2)|0;break}else V=0;while(0);if(m=V,d=V+(w<<2)|0,v=d,T=V+(p<<2)|0,(A|0)==(u|0))R=v,N=b;else{for(G=((u+-4-k|0)>>>2)+1|0,F=d,d=A;e[F>>2]=e[d>>2],d=d+4|0,(d|0)!=(u|0);)F=F+4|0;R=V+(G+w<<2)|0,N=e[i>>2]|0}e[i>>2]=m,e[l>>2]=v,e[f>>2]=R,e[s>>2]=T,N?(Y(N),y=e[f>>2]|0):y=R}else y=u;while(0);e[y>>2]=o,e[f>>2]=(e[f>>2]|0)+4,U=r;return}if(f=i+8|0,o=e[f>>2]|0,y=i+4|0,u=o-(e[y>>2]|0)>>2,N=i+12|0,R=e[N>>2]|0,s=R-(e[i>>2]|0)|0,u>>>0>=s>>2>>>0){l=(s|0)==0?1:s>>1,s=t+12|0,e[s>>2]=0,e[t+16>>2]=i+12;do if(l)if(l>>>0>1073741823)V=T2(8)|0,F2(V,13552),e[V>>2]=4908,U2(V|0,1128,105);else{E=v0(l<<2)|0;break}else E=0;while(0);if(e[t>>2]=E,V=E+(u<<2)|0,u=t+8|0,e[u>>2]=V,A=t+4|0,e[A>>2]=V,e[s>>2]=E+(l<<2),l=v0(4092)|0,e[n>>2]=l,jt(t,n),n=e[f>>2]|0,l=e[y>>2]|0,(n|0)==(l|0))Z=l,Q=n;else{l=n;do l=l+-4|0,Vt(t,l),z=e[y>>2]|0;while((l|0)!=(z|0));Z=z,Q=e[f>>2]|0}z=Z,l=e[i>>2]|0,e[i>>2]=e[t>>2],e[t>>2]=l,e[y>>2]=e[A>>2],e[A>>2]=z,e[f>>2]=e[u>>2],e[u>>2]=Q,A=e[N>>2]|0,e[N>>2]=e[s>>2],e[s>>2]=A,A=Q,(Z|0)!=(A|0)&&(e[u>>2]=A+(~((A+-4-z|0)>>>2)<<2)),l|0&&Y(l),U=r;return}if((R|0)!=(o|0)){o=v0(4092)|0,e[t>>2]=o,jt(i,t),U=r;return}o=v0(4092)|0,e[t>>2]=o,Vt(i,t),t=e[y>>2]|0,o=e[t>>2]|0,R=t+4|0,e[y>>2]=R,t=e[f>>2]|0,l=e[N>>2]|0,z=l;do if((t|0)==(l|0)){if(A=R,u=e[i>>2]|0,Z=u,R>>>0>u>>>0){Q=((A-Z>>2)+1|0)/-2|0,s=R+(Q<<2)|0,n=t-A|0,n?(q2(s|0,R|0,n|0)|0,C=(e[y>>2]|0)+(Q<<2)|0):C=s,Q=s+(n>>2<<2)|0,e[f>>2]=Q,e[y>>2]=C,W=Q;break}Q=z-Z|0,Z=(Q|0)==0?1:Q>>1,Q=Z>>>2;do if(Z)if(Z>>>0>1073741823)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{I=v0(Z<<2)|0;break}else I=0;while(0);if(T=I,v=I+(Q<<2)|0,m=v,w=I+(Z<<2)|0,(R|0)==(t|0))D=m,L=u;else{for(G=((t+-4-A|0)>>>2)+1|0,n=v,v=R;e[n>>2]=e[v>>2],v=v+4|0,(v|0)!=(t|0);)n=n+4|0;D=I+(G+Q<<2)|0,L=e[i>>2]|0}e[i>>2]=T,e[y>>2]=m,e[f>>2]=D,e[N>>2]=w,L?(Y(L),W=e[f>>2]|0):W=D}else W=t;while(0);e[W>>2]=o,e[f>>2]=(e[f>>2]|0)+4,U=r}function c8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0;if(f=U,U=U+32|0,n=f+28|0,o=f+16|0,A=f+8|0,u=f,s=i+60|0,e[i+68>>2]=l,l=i+56|0,_=e[l>>2]|0,h=(e[_+4>>2]|0)-(e[_>>2]|0)|0,k=h>>2,e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,(h|0)<=0)return U=f,1;for(h=o+4|0,b=o+8|0,p=i+104|0,w=i+108|0,d=A+4|0,m=i+100|0,c=i+8|0,y=i+16|0,V=i+32|0,v=i+12|0,T=i+20|0,i=e[_>>2]|0,(e[_+4>>2]|0)==(i|0)&&(R=_,W0(R)),_=0,N=i;;){e[u>>2]=e[N+(_<<2)>>2],e[n>>2]=e[u>>2],Yi(s,n,o),i=e[o>>2]|0,G=(i|0)>-1?i:0-i|0,F=e[h>>2]|0,E=(F|0)>-1?F:0-F|0,Z=i0(E|0,((E|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0,G=e[b>>2]|0,E=(G|0)>-1,Q=E?G:0-G|0,G=i0(Z|0,H|0,Q|0,((Q|0)<0)<<31>>31|0)|0,Q=H;do if((G|0)==0&(Q|0)==0)e[o>>2]=e[p>>2];else if(Z=e[p>>2]|0,z=((Z|0)<0)<<31>>31,C=Y0(Z|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0,W=p2(C|0,H|0,G|0,Q|0)|0,e[o>>2]=W,C=Y0(Z|0,z|0,F|0,((F|0)<0)<<31>>31|0)|0,z=p2(C|0,H|0,G|0,Q|0)|0,e[h>>2]=z,C=Z-((W|0)>-1?W:0-W|0)-((z|0)>-1?z:0-z|0)|0,E){e[b>>2]=C;break}else{e[b>>2]=0-C;break}while(0);E=V2(w)|0,Q=e[o>>2]|0,E?(E=0-Q|0,G=0-(e[h>>2]|0)|0,F=0-(e[b>>2]|0)|0,e[o>>2]=E,e[h>>2]=G,e[b>>2]=F,I=E,D=G):(I=Q,D=e[h>>2]|0);do if((I|0)<=-1)if((D|0)<0?(Q=e[b>>2]|0,L=(Q|0)>-1?Q:0-Q|0,O=Q):(Q=e[b>>2]|0,L=(e[m>>2]|0)-((Q|0)>-1?Q:0-Q|0)|0,O=Q),(O|0)<0){x=(D|0)>-1?D:0-D|0,X=L;break}else{x=(e[m>>2]|0)-((D|0)>-1?D:0-D|0)|0,X=L;break}else Q=e[p>>2]|0,x=(e[b>>2]|0)+Q|0,X=Q+D|0;while(0);Q=(X|0)==0,G=(x|0)==0,E=e[m>>2]|0;do if(x|X)if(F=(E|0)==(x|0),Q&F)B=x,M=x;else if(i=(E|0)==(X|0),G&i)B=X,M=X;else{if(Q&&(C=e[p>>2]|0,(C|0)<(x|0))){B=0,M=(C<<1)-x|0;break}if(i&&(i=e[p>>2]|0,(i|0)>(x|0))){B=X,M=(i<<1)-x|0;break}if(F&&(F=e[p>>2]|0,(F|0)>(X|0))){B=(F<<1)-X|0,M=x;break}G?(F=e[p>>2]|0,B=(F|0)<(X|0)?(F<<1)-X|0:X,M=0):(B=X,M=x)}else B=E,M=E;while(0);if(e[A>>2]=B,e[d>>2]=M,E=_<<1,G=r+(E<<2)|0,Q=t+(E<<2)|0,(e[c>>2]|0)>0){for(E=0,F=B;;){i=e[y>>2]|0;do if((F|0)<=(i|0))if(C=e[v>>2]|0,z=e[V>>2]|0,W=z+(E<<2)|0,(F|0)<(C|0)){e[W>>2]=C,P=z;break}else{e[W>>2]=F,P=z;break}else z=e[V>>2]|0,e[z+(E<<2)>>2]=i,P=z;while(0);if(i=E+1|0,q=e[c>>2]|0,(i|0)>=(q|0))break;E=i,F=e[A+(i<<2)>>2]|0}if((q|0)>0){F=0;do E=(e[G+(F<<2)>>2]|0)+(e[P+(F<<2)>>2]|0)|0,i=Q+(F<<2)|0,e[i>>2]=E,(E|0)<=(e[y>>2]|0)?(E|0)<(e[v>>2]|0)&&(g=(e[T>>2]|0)+E|0,n0=51):(g=E-(e[T>>2]|0)|0,n0=51),(n0|0)==51&&(n0=0,e[i>>2]=g),F=F+1|0;while((F|0)<(e[c>>2]|0))}}if(_=_+1|0,(_|0)>=(k|0)){n0=4;break}if(F=e[l>>2]|0,N=e[F>>2]|0,(e[F+4>>2]|0)-N>>2>>>0<=_>>>0){R=F,n0=5;break}}return(n0|0)==4?(U=f,1):((n0|0)==5&&W0(R),0)}function R8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0;if(f=U,U=U+32|0,n=f+28|0,o=f+16|0,A=f+8|0,u=f,s=i+60|0,e[i+68>>2]=l,l=i+56|0,_=e[l>>2]|0,h=(e[_+4>>2]|0)-(e[_>>2]|0)|0,k=h>>2,e[o>>2]=0,e[o+4>>2]=0,e[o+8>>2]=0,(h|0)<=0)return U=f,1;for(h=o+4|0,b=o+8|0,p=i+104|0,w=i+108|0,d=A+4|0,m=i+100|0,c=i+8|0,y=i+16|0,V=i+32|0,v=i+12|0,T=i+20|0,i=e[_>>2]|0,(e[_+4>>2]|0)==(i|0)&&(R=_,W0(R)),_=0,N=i;;){e[u>>2]=e[N+(_<<2)>>2],e[n>>2]=e[u>>2],Bi(s,n,o),i=e[o>>2]|0,G=(i|0)>-1?i:0-i|0,F=e[h>>2]|0,E=(F|0)>-1?F:0-F|0,Z=i0(E|0,((E|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0,G=e[b>>2]|0,E=(G|0)>-1,Q=E?G:0-G|0,G=i0(Z|0,H|0,Q|0,((Q|0)<0)<<31>>31|0)|0,Q=H;do if((G|0)==0&(Q|0)==0)e[o>>2]=e[p>>2];else if(Z=e[p>>2]|0,z=((Z|0)<0)<<31>>31,C=Y0(Z|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0,W=p2(C|0,H|0,G|0,Q|0)|0,e[o>>2]=W,C=Y0(Z|0,z|0,F|0,((F|0)<0)<<31>>31|0)|0,z=p2(C|0,H|0,G|0,Q|0)|0,e[h>>2]=z,C=Z-((W|0)>-1?W:0-W|0)-((z|0)>-1?z:0-z|0)|0,E){e[b>>2]=C;break}else{e[b>>2]=0-C;break}while(0);E=V2(w)|0,Q=e[o>>2]|0,E?(E=0-Q|0,G=0-(e[h>>2]|0)|0,F=0-(e[b>>2]|0)|0,e[o>>2]=E,e[h>>2]=G,e[b>>2]=F,I=E,D=G):(I=Q,D=e[h>>2]|0);do if((I|0)<=-1)if((D|0)<0?(Q=e[b>>2]|0,L=(Q|0)>-1?Q:0-Q|0,O=Q):(Q=e[b>>2]|0,L=(e[m>>2]|0)-((Q|0)>-1?Q:0-Q|0)|0,O=Q),(O|0)<0){x=(D|0)>-1?D:0-D|0,X=L;break}else{x=(e[m>>2]|0)-((D|0)>-1?D:0-D|0)|0,X=L;break}else Q=e[p>>2]|0,x=(e[b>>2]|0)+Q|0,X=Q+D|0;while(0);Q=(X|0)==0,G=(x|0)==0,E=e[m>>2]|0;do if(x|X)if(F=(E|0)==(x|0),Q&F)B=x,M=x;else if(i=(E|0)==(X|0),G&i)B=X,M=X;else{if(Q&&(C=e[p>>2]|0,(C|0)<(x|0))){B=0,M=(C<<1)-x|0;break}if(i&&(i=e[p>>2]|0,(i|0)>(x|0))){B=X,M=(i<<1)-x|0;break}if(F&&(F=e[p>>2]|0,(F|0)>(X|0))){B=(F<<1)-X|0,M=x;break}G?(F=e[p>>2]|0,B=(F|0)<(X|0)?(F<<1)-X|0:X,M=0):(B=X,M=x)}else B=E,M=E;while(0);if(e[A>>2]=B,e[d>>2]=M,E=_<<1,G=r+(E<<2)|0,Q=t+(E<<2)|0,(e[c>>2]|0)>0){for(E=0,F=B;;){i=e[y>>2]|0;do if((F|0)<=(i|0))if(C=e[v>>2]|0,z=e[V>>2]|0,W=z+(E<<2)|0,(F|0)<(C|0)){e[W>>2]=C,P=z;break}else{e[W>>2]=F,P=z;break}else z=e[V>>2]|0,e[z+(E<<2)>>2]=i,P=z;while(0);if(i=E+1|0,q=e[c>>2]|0,(i|0)>=(q|0))break;E=i,F=e[A+(i<<2)>>2]|0}if((q|0)>0){F=0;do E=(e[G+(F<<2)>>2]|0)+(e[P+(F<<2)>>2]|0)|0,i=Q+(F<<2)|0,e[i>>2]=E,(E|0)<=(e[y>>2]|0)?(E|0)<(e[v>>2]|0)&&(g=(e[T>>2]|0)+E|0,n0=51):(g=E-(e[T>>2]|0)|0,n0=51),(n0|0)==51&&(n0=0,e[i>>2]=g),F=F+1|0;while((F|0)<(e[c>>2]|0))}}if(_=_+1|0,(_|0)>=(k|0)){n0=4;break}if(F=e[l>>2]|0,N=e[F>>2]|0,(e[F+4>>2]|0)-N>>2>>>0<=_>>>0){R=F,n0=5;break}}return(n0|0)==4?(U=f,1):((n0|0)==5&&W0(R),0)}function F1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0;if(n=U,U=U+16|0,f=n,l=r+8|0,o=l,A=e[o>>2]|0,u=e[o+4>>2]|0,o=r+16|0,s=o,_=e[s>>2]|0,h=i0(_|0,e[s+4>>2]|0,5,0)|0,s=H,(u|0)<(s|0)|(u|0)==(s|0)&A>>>0<h>>>0){h=v0(32)|0,e[f>>2]=h,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=h,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[h+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(h=(e[r>>2]|0)+_|0,j[t>>0]=j[h>>0]|0,j[t+1>>0]=j[h+1>>0]|0,j[t+2>>0]=j[h+2>>0]|0,j[t+3>>0]=j[h+3>>0]|0,j[t+4>>0]=j[h+4>>0]|0,h=o,_=i0(e[h>>2]|0,e[h+4>>2]|0,5,0)|0,h=H,A=o,e[A>>2]=_,e[A+4>>2]=h,E2(t,13135,5)|0){A=v0(32)|0,e[f>>2]=A,e[f+8>>2]=-2147483616,e[f+4>>2]=17,k=A,b=13141,p=k+17|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[A+17>>0]=0,e[i>>2]=-1,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(A=l,s=e[A+4>>2]|0,!((s|0)>(h|0)|((s|0)==(h|0)?(e[A>>2]|0)>>>0>_>>>0:0))){A=v0(32)|0,e[f>>2]=A,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=A,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[A+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(j[t+5>>0]=j[(e[r>>2]|0)+_>>0]|0,_=o,A=i0(e[_>>2]|0,e[_+4>>2]|0,1,0)|0,_=H,h=o,e[h>>2]=A,e[h+4>>2]=_,h=l,s=e[h+4>>2]|0,!((s|0)>(_|0)|((s|0)==(_|0)?(e[h>>2]|0)>>>0>A>>>0:0))){h=v0(32)|0,e[f>>2]=h,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=h,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[h+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(j[t+6>>0]=j[(e[r>>2]|0)+A>>0]|0,A=o,h=i0(e[A>>2]|0,e[A+4>>2]|0,1,0)|0,A=H,_=o,e[_>>2]=h,e[_+4>>2]=A,_=l,s=e[_+4>>2]|0,!((s|0)>(A|0)|((s|0)==(A|0)?(e[_>>2]|0)>>>0>h>>>0:0))){_=v0(32)|0,e[f>>2]=_,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=_,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[_+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(j[t+7>>0]=j[(e[r>>2]|0)+h>>0]|0,h=o,_=i0(e[h>>2]|0,e[h+4>>2]|0,1,0)|0,h=H,A=o,e[A>>2]=_,e[A+4>>2]=h,A=l,s=e[A+4>>2]|0,!((s|0)>(h|0)|((s|0)==(h|0)?(e[A>>2]|0)>>>0>_>>>0:0))){A=v0(32)|0,e[f>>2]=A,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=A,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[A+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n;return}if(j[t+8>>0]=j[(e[r>>2]|0)+_>>0]|0,_=o,A=e[_>>2]|0,h=e[_+4>>2]|0,_=i0(A|0,h|0,1,0)|0,s=o,e[s>>2]=_,e[s+4>>2]=H,s=l,l=e[s>>2]|0,u=e[s+4>>2]|0,s=i0(A|0,h|0,3,0)|0,h=H,!((u|0)<(h|0)|(u|0)==(h|0)&l>>>0<s>>>0)){s=t+10|0,t=(e[r>>2]|0)+_|0,_=J[t>>0]|J[t+1>>0]<<8,j[s>>0]=_,j[s+1>>0]=_>>8,_=o,s=i0(e[_>>2]|0,e[_+4>>2]|0,2,0)|0,_=o,e[_>>2]=s,e[_+4>>2]=H,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,U=n;return}_=v0(32)|0,e[f>>2]=_,e[f+8>>2]=-2147483616,e[f+4>>2]=29,k=_,b=13105,p=k+29|0;do j[k>>0]=j[b>>0]|0,k=k+1|0,b=b+1|0;while((k|0)<(p|0));j[_+29>>0]=0,e[i>>2]=-2,c2(i+4|0,f),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=n}function jr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0;if(t=U,U=U+16|0,n=t,f=e[r>>2]|0,r=i+8|0,l=f+1|0,(f|0)!=-1)if(o=((l>>>0)%3|0|0)==0?f+-2|0:l,l=(f>>>0)/3|0,A=f+((f-(l*3|0)|0)==0?2:-1)|0,u=i+216|0,s=i+220|0,_=i+368|0,h=e[(e[(e[r>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(h|0)!=-1)if(((h>>>0)/3|0)>>>0>=l>>>0&&(e[s>>2]|0)!=(e[u>>2]|0)){h=0;do V2((e[_>>2]|0)+(h<<4)|0)|0&&(k=e[u>>2]|0,e[n>>2]=f,b=k+(h*144|0)+136|0,p=e[b>>2]|0,p>>>0<(e[k+(h*144|0)+140>>2]|0)>>>0?(e[p>>2]=f,e[b>>2]=p+4):L0(k+(h*144|0)+132|0,n)),h=h+1|0;while(h>>>0<(((e[s>>2]|0)-(e[u>>2]|0)|0)/144|0)>>>0);w=l,d=A,m=n,c=n,y=o,V=s,v=u,T=_,R=u}else w=l,d=A,m=n,c=n,y=o,V=s,v=u,T=_,R=u;else N=l,G=n,F=_,E=n,Z=u,Q=A,z=o,C=s,W=u,I=4;else u=i+216|0,N=-1,G=n,F=i+368|0,E=n,Z=u,Q=-1,z=-1,C=i+220|0,W=u,I=4;if((I|0)==4)if(u=e[C>>2]|0,i=e[W>>2]|0,(u|0)==(i|0))w=N,d=Q,m=G,c=E,y=z,V=C,v=W,T=F,R=Z;else for(s=0,o=u,u=i;;)if(i=u,e[n>>2]=f,A=i+(s*144|0)+136|0,_=e[A>>2]|0,_>>>0<(e[i+(s*144|0)+140>>2]|0)>>>0?(e[_>>2]=f,e[A>>2]=_+4,D=u,L=o):(L0(i+(s*144|0)+132|0,n),D=e[W>>2]|0,L=e[C>>2]|0),s=s+1|0,s>>>0>=((L-D|0)/144|0)>>>0){w=N,d=Q,m=G,c=E,y=z,V=C,v=W,T=F,R=Z;break}else o=L,u=D;if((y|0)!=-1&&(D=e[(e[(e[r>>2]|0)+12>>2]|0)+(y<<2)>>2]|0,(D|0)!=-1)){if(((D>>>0)/3|0)>>>0>=w>>>0&&(e[V>>2]|0)!=(e[v>>2]|0)){D=0;do V2((e[T>>2]|0)+(D<<4)|0)|0&&(u=e[R>>2]|0,e[n>>2]=y,L=u+(D*144|0)+136|0,o=e[L>>2]|0,o>>>0<(e[u+(D*144|0)+140>>2]|0)>>>0?(e[o>>2]=y,e[L>>2]=o+4):L0(u+(D*144|0)+132|0,n)),D=D+1|0;while(D>>>0<(((e[V>>2]|0)-(e[v>>2]|0)|0)/144|0)>>>0)}}else I=30;if((I|0)==30&&(I=e[V>>2]|0,D=e[v>>2]|0,(I|0)!=(D|0)))for(u=0,o=D,D=I;I=o,e[n>>2]=y,L=I+(u*144|0)+136|0,Z=e[L>>2]|0,Z>>>0<(e[I+(u*144|0)+140>>2]|0)>>>0?(e[Z>>2]=y,e[L>>2]=Z+4,O=o,x=D):(L0(I+(u*144|0)+132|0,n),O=e[v>>2]|0,x=e[V>>2]|0),u=u+1|0,!(u>>>0>=((x-O|0)/144|0)>>>0);)o=O,D=x;if((d|0)!=-1&&(x=e[(e[(e[r>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(x|0)!=-1)){if(((x>>>0)/3|0)>>>0<w>>>0||(e[V>>2]|0)==(e[v>>2]|0))return U=t,1;w=0;do V2((e[T>>2]|0)+(w<<4)|0)|0&&(x=e[R>>2]|0,e[n>>2]=d,r=x+(w*144|0)+136|0,D=e[r>>2]|0,D>>>0<(e[x+(w*144|0)+140>>2]|0)>>>0?(e[D>>2]=d,e[r>>2]=D+4):L0(x+(w*144|0)+132|0,n)),w=w+1|0;while(w>>>0<(((e[V>>2]|0)-(e[v>>2]|0)|0)/144|0)>>>0);return U=t,1}if(w=e[V>>2]|0,R=e[v>>2]|0,(w|0)==(R|0))return U=t,1;for(T=0,x=R,R=w;w=x,e[n>>2]=d,D=w+(T*144|0)+136|0,r=e[D>>2]|0,r>>>0<(e[w+(T*144|0)+140>>2]|0)>>>0?(e[r>>2]=d,e[D>>2]=r+4,X=x,B=R):(L0(w+(T*144|0)+132|0,n),X=e[v>>2]|0,B=e[V>>2]|0),T=T+1|0,!(T>>>0>=((B-X|0)/144|0)>>>0);)x=X,R=B;return U=t,1}function G8(i,r,t,n,f,l,o){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0;var A=0,u=0,s=0,_=0,h=0,k=0,b=0;switch(t|0){case 1:{t=v0(60)|0,e[t>>2]=1536,e[t+4>>2]=n,r=t+8|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],e[r+16>>2]=e[f+16>>2],e[r+20>>2]=e[f+20>>2],r=t+32|0,e[r>>2]=0,A=t+36|0,e[A>>2]=0,u=t+40|0,e[u>>2]=0,s=e[f+24>>2]|0,_=(e[f+28>>2]|0)-s|0,h=_>>2,_|0&&(h>>>0>1073741823&&W0(r),k=v0(_)|0,e[A>>2]=k,e[r>>2]=k,e[u>>2]=k+(h<<2),(_|0)>0&&(S0(k|0,s|0,_|0)|0,e[A>>2]=k+(_>>>2<<2))),_=t+44|0,e[_>>2]=e[l>>2],e[_+4>>2]=e[l+4>>2],e[_+8>>2]=e[l+8>>2],e[_+12>>2]=e[l+12>>2],e[t>>2]=2096,b=t,e[i>>2]=b;return}case 2:{t=v0(60)|0,e[t>>2]=1536,e[t+4>>2]=n,_=t+8|0,e[_>>2]=e[f>>2],e[_+4>>2]=e[f+4>>2],e[_+8>>2]=e[f+8>>2],e[_+12>>2]=e[f+12>>2],e[_+16>>2]=e[f+16>>2],e[_+20>>2]=e[f+20>>2],_=t+32|0,e[_>>2]=0,k=t+36|0,e[k>>2]=0,A=t+40|0,e[A>>2]=0,s=e[f+24>>2]|0,h=(e[f+28>>2]|0)-s|0,u=h>>2,h|0&&(u>>>0>1073741823&&W0(_),r=v0(h)|0,e[k>>2]=r,e[_>>2]=r,e[A>>2]=r+(u<<2),(h|0)>0&&(S0(r|0,s|0,h|0)|0,e[k>>2]=r+(h>>>2<<2))),h=t+44|0,e[h>>2]=e[l>>2],e[h+4>>2]=e[l+4>>2],e[h+8>>2]=e[l+8>>2],e[h+12>>2]=e[l+12>>2],e[t>>2]=2152,b=t,e[i>>2]=b;return}case 4:{t=v0(112)|0,e[t>>2]=1536,e[t+4>>2]=n,h=t+8|0,e[h>>2]=e[f>>2],e[h+4>>2]=e[f+4>>2],e[h+8>>2]=e[f+8>>2],e[h+12>>2]=e[f+12>>2],e[h+16>>2]=e[f+16>>2],e[h+20>>2]=e[f+20>>2],h=t+32|0,e[h>>2]=0,r=t+36|0,e[r>>2]=0,k=t+40|0,e[k>>2]=0,s=e[f+24>>2]|0,u=(e[f+28>>2]|0)-s|0,A=u>>2,u|0&&(A>>>0>1073741823&&W0(h),_=v0(u)|0,e[r>>2]=_,e[h>>2]=_,e[k>>2]=_+(A<<2),(u|0)>0&&(S0(_|0,s|0,u|0)|0,e[r>>2]=_+(u>>>2<<2))),u=t+44|0,e[u>>2]=e[l>>2],e[u+4>>2]=e[l+4>>2],e[u+8>>2]=e[l+8>>2],e[u+12>>2]=e[l+12>>2],e[t>>2]=2208,u=t+60|0,_=u+52|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(_|0));b=t,e[i>>2]=b;return}case 3:{t=v0(92)|0,u=o&65535,e[t>>2]=1536,e[t+4>>2]=n,o=t+8|0,e[o>>2]=e[f>>2],e[o+4>>2]=e[f+4>>2],e[o+8>>2]=e[f+8>>2],e[o+12>>2]=e[f+12>>2],e[o+16>>2]=e[f+16>>2],e[o+20>>2]=e[f+20>>2],o=t+32|0,e[o>>2]=0,_=t+36|0,e[_>>2]=0,r=t+40|0,e[r>>2]=0,s=e[f+24>>2]|0,A=(e[f+28>>2]|0)-s|0,k=A>>2,A|0&&(k>>>0>1073741823&&W0(o),h=v0(A)|0,e[_>>2]=h,e[o>>2]=h,e[r>>2]=h+(k<<2),(A|0)>0&&(S0(h|0,s|0,A|0)|0,e[_>>2]=h+(A>>>2<<2))),A=t+44|0,e[A>>2]=e[l>>2],e[A+4>>2]=e[l+4>>2],e[A+8>>2]=e[l+8>>2],e[A+12>>2]=e[l+12>>2],e[t>>2]=2264,A=t+60|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[t+88>>2]=u,b=t,e[i>>2]=b;return}case 5:{t=v0(104)|0,Ou(t,n,f,l),b=t,e[i>>2]=b;return}case 6:{t=v0(124)|0,Eu(t,n,f,l),b=t,e[i>>2]=b;return}default:{b=0,e[i>>2]=b;return}}}function V8(i,r,t,n,f,l,o){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0;var A=0,u=0,s=0,_=0,h=0,k=0,b=0;switch(t|0){case 1:{t=v0(60)|0,e[t>>2]=1536,e[t+4>>2]=n,r=t+8|0,e[r>>2]=e[f>>2],e[r+4>>2]=e[f+4>>2],e[r+8>>2]=e[f+8>>2],e[r+12>>2]=e[f+12>>2],e[r+16>>2]=e[f+16>>2],e[r+20>>2]=e[f+20>>2],r=t+32|0,e[r>>2]=0,A=t+36|0,e[A>>2]=0,u=t+40|0,e[u>>2]=0,s=e[f+24>>2]|0,_=(e[f+28>>2]|0)-s|0,h=_>>2,_|0&&(h>>>0>1073741823&&W0(r),k=v0(_)|0,e[A>>2]=k,e[r>>2]=k,e[u>>2]=k+(h<<2),(_|0)>0&&(S0(k|0,s|0,_|0)|0,e[A>>2]=k+(_>>>2<<2))),_=t+44|0,e[_>>2]=e[l>>2],e[_+4>>2]=e[l+4>>2],e[_+8>>2]=e[l+8>>2],e[_+12>>2]=e[l+12>>2],e[t>>2]=1648,b=t,e[i>>2]=b;return}case 2:{t=v0(60)|0,e[t>>2]=1536,e[t+4>>2]=n,_=t+8|0,e[_>>2]=e[f>>2],e[_+4>>2]=e[f+4>>2],e[_+8>>2]=e[f+8>>2],e[_+12>>2]=e[f+12>>2],e[_+16>>2]=e[f+16>>2],e[_+20>>2]=e[f+20>>2],_=t+32|0,e[_>>2]=0,k=t+36|0,e[k>>2]=0,A=t+40|0,e[A>>2]=0,s=e[f+24>>2]|0,h=(e[f+28>>2]|0)-s|0,u=h>>2,h|0&&(u>>>0>1073741823&&W0(_),r=v0(h)|0,e[k>>2]=r,e[_>>2]=r,e[A>>2]=r+(u<<2),(h|0)>0&&(S0(r|0,s|0,h|0)|0,e[k>>2]=r+(h>>>2<<2))),h=t+44|0,e[h>>2]=e[l>>2],e[h+4>>2]=e[l+4>>2],e[h+8>>2]=e[l+8>>2],e[h+12>>2]=e[l+12>>2],e[t>>2]=1704,b=t,e[i>>2]=b;return}case 4:{t=v0(112)|0,e[t>>2]=1536,e[t+4>>2]=n,h=t+8|0,e[h>>2]=e[f>>2],e[h+4>>2]=e[f+4>>2],e[h+8>>2]=e[f+8>>2],e[h+12>>2]=e[f+12>>2],e[h+16>>2]=e[f+16>>2],e[h+20>>2]=e[f+20>>2],h=t+32|0,e[h>>2]=0,r=t+36|0,e[r>>2]=0,k=t+40|0,e[k>>2]=0,s=e[f+24>>2]|0,u=(e[f+28>>2]|0)-s|0,A=u>>2,u|0&&(A>>>0>1073741823&&W0(h),_=v0(u)|0,e[r>>2]=_,e[h>>2]=_,e[k>>2]=_+(A<<2),(u|0)>0&&(S0(_|0,s|0,u|0)|0,e[r>>2]=_+(u>>>2<<2))),u=t+44|0,e[u>>2]=e[l>>2],e[u+4>>2]=e[l+4>>2],e[u+8>>2]=e[l+8>>2],e[u+12>>2]=e[l+12>>2],e[t>>2]=1760,u=t+60|0,_=u+52|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(_|0));b=t,e[i>>2]=b;return}case 3:{t=v0(92)|0,u=o&65535,e[t>>2]=1536,e[t+4>>2]=n,o=t+8|0,e[o>>2]=e[f>>2],e[o+4>>2]=e[f+4>>2],e[o+8>>2]=e[f+8>>2],e[o+12>>2]=e[f+12>>2],e[o+16>>2]=e[f+16>>2],e[o+20>>2]=e[f+20>>2],o=t+32|0,e[o>>2]=0,_=t+36|0,e[_>>2]=0,r=t+40|0,e[r>>2]=0,s=e[f+24>>2]|0,A=(e[f+28>>2]|0)-s|0,k=A>>2,A|0&&(k>>>0>1073741823&&W0(o),h=v0(A)|0,e[_>>2]=h,e[o>>2]=h,e[r>>2]=h+(k<<2),(A|0)>0&&(S0(h|0,s|0,A|0)|0,e[_>>2]=h+(A>>>2<<2))),A=t+44|0,e[A>>2]=e[l>>2],e[A+4>>2]=e[l+4>>2],e[A+8>>2]=e[l+8>>2],e[A+12>>2]=e[l+12>>2],e[t>>2]=1816,A=t+60|0,e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[t+88>>2]=u,b=t,e[i>>2]=b;return}case 5:{t=v0(104)|0,Su(t,n,f,l),b=t,e[i>>2]=b;return}case 6:{t=v0(124)|0,Iu(t,n,f,l),b=t,e[i>>2]=b;return}default:{b=0,e[i>>2]=b;return}}}function j8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0;if(n=U,U=U+16|0,f=n+8|0,l=n+4|0,o=n,A=i+64|0,u=e[A>>2]|0,(e[u+28>>2]|0)==(e[u+24>>2]|0)){U=n;return}for(s=r+96|0,r=i+52|0,_=t+84|0,h=t+68|0,t=i+56|0,k=i+60|0,b=i+12|0,p=i+28|0,w=i+40|0,d=i+44|0,m=i+48|0,c=0,y=0,V=u;;){if(u=e[(e[V+24>>2]|0)+(y<<2)>>2]|0,(u|0)==-1)v=c,T=V;else{R=c+1|0,N=(u|0)/3|0,G=e[(e[s>>2]|0)+(N*12|0)+(u-(N*3|0)<<2)>>2]|0,j[_>>0]|0?F=G:F=e[(e[h>>2]|0)+(G<<2)>>2]|0,e[f>>2]=F,G=e[t>>2]|0,G>>>0<(e[k>>2]|0)>>>0?(e[G>>2]=F,e[t>>2]=G+4):L0(r,f),e[f>>2]=u,e[l>>2]=0;e:do if(!(e[(e[b>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)))E=u;else{if(G=u+1|0,N=((G>>>0)%3|0|0)==0?u+-2|0:G,(N|0)!=-1&&(e[(e[i>>2]|0)+(N>>>5<<2)>>2]&1<<(N&31)|0)==0&&(G=e[(e[(e[A>>2]|0)+12>>2]|0)+(N<<2)>>2]|0,N=G+1|0,(G|0)!=-1)){if(Z=((N>>>0)%3|0|0)==0?G+-2|0:N,e[l>>2]=Z,(Z|0)==-1){E=u;break}for(N=Z;e[f>>2]=N,Z=N+1|0,G=((Z>>>0)%3|0|0)==0?N+-2|0:Z,!((G|0)==-1||e[(e[i>>2]|0)+(G>>>5<<2)>>2]&1<<(G&31)|0||(Z=e[(e[(e[A>>2]|0)+12>>2]|0)+(G<<2)>>2]|0,G=Z+1|0,(Z|0)==-1));)if(Q=((G>>>0)%3|0|0)==0?Z+-2|0:G,e[l>>2]=Q,(Q|0)==-1){E=N;break e}else N=Q;e[l>>2]=-1,E=N;break}e[l>>2]=-1,E=u}while(0);e[(e[p>>2]|0)+(E<<2)>>2]=c,u=e[d>>2]|0,(u|0)==(e[m>>2]|0)?L0(w,f):(e[u>>2]=e[f>>2],e[d>>2]=u+4),u=e[A>>2]|0,Q=e[f>>2]|0;e:do if((Q|0)!=-1&&(G=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,(G|0)!=-1)&&(Z=e[(e[u+12>>2]|0)+(G<<2)>>2]|0,(Z|0)!=-1))if(G=Z+(((Z>>>0)%3|0|0)==0?2:-1)|0,e[l>>2]=G,(G|0)!=-1&(G|0)!=(Q|0)){for(Z=R,z=c,C=G;;){G=C+1|0,W=((G>>>0)%3|0|0)==0?C+-2|0:G;do if(e[(e[i>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31))if(G=Z+1|0,I=(C|0)/3|0,D=e[(e[s>>2]|0)+(I*12|0)+(C-(I*3|0)<<2)>>2]|0,j[_>>0]|0?L=D:L=e[(e[h>>2]|0)+(D<<2)>>2]|0,e[o>>2]=L,D=e[t>>2]|0,D>>>0<(e[k>>2]|0)>>>0?(e[D>>2]=L,e[t>>2]=D+4):L0(r,o),D=e[d>>2]|0,(D|0)==(e[m>>2]|0)){L0(w,l),O=G,x=Z;break}else{e[D>>2]=e[l>>2],e[d>>2]=D+4,O=G,x=Z;break}else O=Z,x=z;while(0);if(e[(e[p>>2]|0)+(e[l>>2]<<2)>>2]=x,X=e[A>>2]|0,W=e[l>>2]|0,(W|0)==-1||(G=(((W>>>0)%3|0|0)==0?2:-1)+W|0,(G|0)==-1)||(W=e[(e[X+12>>2]|0)+(G<<2)>>2]|0,(W|0)==-1))break;if(C=W+(((W>>>0)%3|0|0)==0?2:-1)|0,e[l>>2]=C,(C|0)!=-1&&(C|0)!=(e[f>>2]|0))Z=O,z=x;else{B=O,M=X;break e}}e[l>>2]=-1,B=O,M=X}else B=R,M=u;else P=30;while(0);(P|0)==30&&(P=0,e[l>>2]=-1,B=R,M=u),v=B,T=M}if(y=y+1|0,y>>>0>=(e[T+28>>2]|0)-(e[T+24>>2]|0)>>2>>>0)break;c=v,V=T}U=n}function Pt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0;t=U,U=U+80|0,n=t+76|0,f=t,l=t+72|0,o=t+64|0,A=t+68|0,u=i+28|0;do if(((J[(e[u>>2]|0)+36>>0]|0)<<8&65535)<512){if(s=r+8|0,_=e[s>>2]|0,h=e[s+4>>2]|0,s=r+16|0,k=s,b=e[k>>2]|0,p=i0(b|0,e[k+4>>2]|0,4,0)|0,k=H,(h|0)<(k|0)|(h|0)==(k|0)&_>>>0<p>>>0)return w=0,U=t,w|0;_=(e[r>>2]|0)+b|0,b=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,e[n>>2]=b,_=s,e[_>>2]=p,e[_+4>>2]=k,d=b;break}else if(t2(n,r)|0){d=e[n>>2]|0;break}else return w=0,U=t,w|0;while(0);if(!d)return w=0,U=t,w|0;if(b=i+4|0,k=i+8|0,_=e[b>>2]|0,p=(e[k>>2]|0)-_>>2,d>>>0>p>>>0){if(u2(b,d-p|0),!(e[n>>2]|0))return w=1,U=t,w|0}else d>>>0<p>>>0&&(e[k>>2]=_+(d<<2));for(d=e[i+32>>2]|0,_=r+8|0,k=r+16|0,p=f+60|0,s=d+8|0,h=i+16|0,m=i+20|0,i=0;;){if(c=_,y=e[c>>2]|0,V=e[c+4>>2]|0,c=k,v=e[c>>2]|0,T=e[c+4>>2]|0,!((V|0)>(T|0)|(V|0)==(T|0)&y>>>0>v>>>0)){w=0,R=41;break}if(c=e[r>>2]|0,N=j[c+v>>0]|0,G=i0(v|0,T|0,1,0)|0,F=H,E=k,e[E>>2]=G,e[E+4>>2]=F,!((V|0)>(F|0)|(V|0)==(F|0)&y>>>0>G>>>0)){w=0,R=41;break}if(F=j[c+G>>0]|0,G=i0(v|0,T|0,2,0)|0,E=H,Z=k,e[Z>>2]=G,e[Z+4>>2]=E,!((V|0)>(E|0)|(V|0)==(E|0)&y>>>0>G>>>0)){w=0,R=41;break}if(E=j[c+G>>0]|0,G=i0(v|0,T|0,3,0)|0,Z=H,Q=k,e[Q>>2]=G,e[Q+4>>2]=Z,!((V|0)>(Z|0)|(V|0)==(Z|0)&y>>>0>G>>>0)){w=0,R=41;break}if(y=j[c+G>>0]|0,G=i0(v|0,T|0,4,0)|0,T=k,e[T>>2]=G,e[T+4>>2]=H,T=F&255,(F+-1&255)>10){w=0,R=41;break}if(o1(f),F=Z0(di(T)|0,E&255)|0,Jr(f,N&255,0,E,T,y<<24>>24!=0,F,((F|0)<0)<<31>>31,0,0),F=e[u>>2]|0,(((J[F+36>>0]|0)<<8|(J[F+37>>0]|0))&65535)<259){if(F=_,y=e[F>>2]|0,T=e[F+4>>2]|0,F=k,E=e[F>>2]|0,N=i0(E|0,e[F+4>>2]|0,2,0)|0,F=H,(T|0)<(F|0)|(T|0)==(F|0)&y>>>0<N>>>0){R=39;break}y=(e[r>>2]|0)+E|0,E=J[y>>0]|J[y+1>>0]<<8,y=k,e[y>>2]=N,e[y+4>>2]=F,F=E&65535,e[l>>2]=F,z=F}else t2(l,r)|0,z=e[l>>2]|0;if(e[p>>2]=z,F=v0(96)|0,Xr(F,f),e[o>>2]=F,F=o3(d,o)|0,E=e[o>>2]|0,e[o>>2]=0,E|0&&(y=E+88|0,N=e[y>>2]|0,e[y>>2]=0,N|0&&(y=e[N+8>>2]|0,y|0&&(e[N+12>>2]=y,Y(y)),Y(N)),N=e[E+68>>2]|0,N|0&&(e[E+72>>2]=N,Y(N)),N=E+64|0,y=e[N>>2]|0,e[N>>2]=0,y|0&&(N=e[y>>2]|0,N|0&&(e[y+4>>2]=N,Y(N)),Y(y)),Y(E)),e[(e[(e[s>>2]|0)+(F<<2)>>2]|0)+60>>2]=e[l>>2],e[(e[b>>2]|0)+(i<<2)>>2]=F,E=e[h>>2]|0,y=(e[m>>2]|0)-E>>2,N=E,(F|0)<(y|0)?C=N:(E=F+1|0,e[A>>2]=-1,E>>>0<=y>>>0?(E>>>0<y>>>0&&(e[m>>2]=N+(E<<2)),W=N):(z2(h,E-y|0,A),W=e[h>>2]|0),C=W),e[C+(F<<2)>>2]=i,i=i+1|0,i>>>0>=(e[n>>2]|0)>>>0){w=1,R=41;break}}return(R|0)==39?(w=0,U=t,w|0):(R|0)==41?(U=t,w|0):0}function N8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0;if(f=U,U=U+48|0,n=f+32|0,o=f+24|0,A=f+16|0,u=f,s=f+12|0,_=i+8|0,h=e[_>>2]|0,(h+-2|0)>>>0<=28&&(e[i+72>>2]=h,k=1<<h,e[i+76>>2]=k+-1,h=k+-2|0,e[i+80>>2]=h,e[i+84>>2]=(h|0)/2|0),h=i+40|0,e[i+48>>2]=l,l=i+36|0,k=e[l>>2]|0,b=(e[k+4>>2]|0)-(e[k>>2]|0)|0,p=b>>2,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,(b|0)<=0)return U=f,1;for(b=u+4|0,w=u+8|0,d=i+84|0,m=i+88|0,c=i+80|0,i=o+4|0,y=A+4|0,V=n+4|0,v=e[k>>2]|0,(e[k+4>>2]|0)==(v|0)&&(T=k,W0(T)),k=0,R=v;;){e[s>>2]=e[R+(k<<2)>>2],e[n>>2]=e[s>>2],Yi(h,n,u),v=e[u>>2]|0,N=(v|0)>-1?v:0-v|0,G=e[b>>2]|0,F=(G|0)>-1?G:0-G|0,E=i0(F|0,((F|0)<0)<<31>>31|0,N|0,((N|0)<0)<<31>>31|0)|0,N=e[w>>2]|0,F=(N|0)>-1,Z=F?N:0-N|0,N=i0(E|0,H|0,Z|0,((Z|0)<0)<<31>>31|0)|0,Z=H;do if((N|0)==0&(Z|0)==0)e[u>>2]=e[d>>2];else if(E=e[d>>2]|0,Q=((E|0)<0)<<31>>31,z=Y0(E|0,Q|0,v|0,((v|0)<0)<<31>>31|0)|0,C=p2(z|0,H|0,N|0,Z|0)|0,e[u>>2]=C,z=Y0(E|0,Q|0,G|0,((G|0)<0)<<31>>31|0)|0,Q=p2(z|0,H|0,N|0,Z|0)|0,e[b>>2]=Q,z=E-((C|0)>-1?C:0-C|0)-((Q|0)>-1?Q:0-Q|0)|0,F){e[w>>2]=z;break}else{e[w>>2]=0-z;break}while(0);F=V2(m)|0,Z=e[u>>2]|0,F?(F=0-Z|0,N=0-(e[b>>2]|0)|0,G=0-(e[w>>2]|0)|0,e[u>>2]=F,e[b>>2]=N,e[w>>2]=G,W=F,I=N):(W=Z,I=e[b>>2]|0);do if((W|0)<=-1)if((I|0)<0?(Z=e[w>>2]|0,D=(Z|0)>-1?Z:0-Z|0,L=Z):(Z=e[w>>2]|0,D=(e[c>>2]|0)-((Z|0)>-1?Z:0-Z|0)|0,L=Z),(L|0)<0){O=(I|0)>-1?I:0-I|0,x=D;break}else{O=(e[c>>2]|0)-((I|0)>-1?I:0-I|0)|0,x=D;break}else Z=e[d>>2]|0,O=(e[w>>2]|0)+Z|0,x=Z+I|0;while(0);Z=(x|0)==0,N=(O|0)==0,F=e[c>>2]|0;do if(O|x)if(G=(F|0)==(O|0),Z&G)X=O,B=O;else if(v=(F|0)==(x|0),N&v)X=x,B=x;else{if(Z&&(z=e[d>>2]|0,(z|0)<(O|0))){X=0,B=(z<<1)-O|0;break}if(v&&(v=e[d>>2]|0,(v|0)>(O|0))){X=x,B=(v<<1)-O|0;break}if(G&&(G=e[d>>2]|0,(G|0)>(x|0))){X=(G<<1)-x|0,B=O;break}N?(G=e[d>>2]|0,X=(G|0)<(x|0)?(G<<1)-x|0:x,B=0):(X=x,B=O)}else X=F,B=F;while(0);if(F=k<<1,N=r+(F<<2)|0,Z=t+(F<<2)|0,F=e[N>>2]|0,G=e[N+4>>2]|0,e[o>>2]=X,e[i>>2]=B,e[A>>2]=F,e[y>>2]=G,y1(n,_,o,A),e[Z>>2]=e[n>>2],e[Z+4>>2]=e[V>>2],k=k+1|0,(k|0)>=(p|0)){M=6;break}if(Z=e[l>>2]|0,R=e[Z>>2]|0,(e[Z+4>>2]|0)-R>>2>>>0<=k>>>0){T=Z,M=7;break}}return(M|0)==6?(U=f,1):((M|0)==7&&W0(T),0)}function T8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0;if(f=U,U=U+48|0,n=f+32|0,o=f+24|0,A=f+16|0,u=f,s=f+12|0,_=i+8|0,h=e[_>>2]|0,(h+-2|0)>>>0<=28&&(e[i+72>>2]=h,k=1<<h,e[i+76>>2]=k+-1,h=k+-2|0,e[i+80>>2]=h,e[i+84>>2]=(h|0)/2|0),h=i+40|0,e[i+48>>2]=l,l=i+36|0,k=e[l>>2]|0,b=(e[k+4>>2]|0)-(e[k>>2]|0)|0,p=b>>2,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,(b|0)<=0)return U=f,1;for(b=u+4|0,w=u+8|0,d=i+84|0,m=i+88|0,c=i+80|0,i=o+4|0,y=A+4|0,V=n+4|0,v=e[k>>2]|0,(e[k+4>>2]|0)==(v|0)&&(T=k,W0(T)),k=0,R=v;;){e[s>>2]=e[R+(k<<2)>>2],e[n>>2]=e[s>>2],Bi(h,n,u),v=e[u>>2]|0,N=(v|0)>-1?v:0-v|0,G=e[b>>2]|0,F=(G|0)>-1?G:0-G|0,E=i0(F|0,((F|0)<0)<<31>>31|0,N|0,((N|0)<0)<<31>>31|0)|0,N=e[w>>2]|0,F=(N|0)>-1,Z=F?N:0-N|0,N=i0(E|0,H|0,Z|0,((Z|0)<0)<<31>>31|0)|0,Z=H;do if((N|0)==0&(Z|0)==0)e[u>>2]=e[d>>2];else if(E=e[d>>2]|0,Q=((E|0)<0)<<31>>31,z=Y0(E|0,Q|0,v|0,((v|0)<0)<<31>>31|0)|0,C=p2(z|0,H|0,N|0,Z|0)|0,e[u>>2]=C,z=Y0(E|0,Q|0,G|0,((G|0)<0)<<31>>31|0)|0,Q=p2(z|0,H|0,N|0,Z|0)|0,e[b>>2]=Q,z=E-((C|0)>-1?C:0-C|0)-((Q|0)>-1?Q:0-Q|0)|0,F){e[w>>2]=z;break}else{e[w>>2]=0-z;break}while(0);F=V2(m)|0,Z=e[u>>2]|0,F?(F=0-Z|0,N=0-(e[b>>2]|0)|0,G=0-(e[w>>2]|0)|0,e[u>>2]=F,e[b>>2]=N,e[w>>2]=G,W=F,I=N):(W=Z,I=e[b>>2]|0);do if((W|0)<=-1)if((I|0)<0?(Z=e[w>>2]|0,D=(Z|0)>-1?Z:0-Z|0,L=Z):(Z=e[w>>2]|0,D=(e[c>>2]|0)-((Z|0)>-1?Z:0-Z|0)|0,L=Z),(L|0)<0){O=(I|0)>-1?I:0-I|0,x=D;break}else{O=(e[c>>2]|0)-((I|0)>-1?I:0-I|0)|0,x=D;break}else Z=e[d>>2]|0,O=(e[w>>2]|0)+Z|0,x=Z+I|0;while(0);Z=(x|0)==0,N=(O|0)==0,F=e[c>>2]|0;do if(O|x)if(G=(F|0)==(O|0),Z&G)X=O,B=O;else if(v=(F|0)==(x|0),N&v)X=x,B=x;else{if(Z&&(z=e[d>>2]|0,(z|0)<(O|0))){X=0,B=(z<<1)-O|0;break}if(v&&(v=e[d>>2]|0,(v|0)>(O|0))){X=x,B=(v<<1)-O|0;break}if(G&&(G=e[d>>2]|0,(G|0)>(x|0))){X=(G<<1)-x|0,B=O;break}N?(G=e[d>>2]|0,X=(G|0)<(x|0)?(G<<1)-x|0:x,B=0):(X=x,B=O)}else X=F,B=F;while(0);if(F=k<<1,N=r+(F<<2)|0,Z=t+(F<<2)|0,F=e[N>>2]|0,G=e[N+4>>2]|0,e[o>>2]=X,e[i>>2]=B,e[A>>2]=F,e[y>>2]=G,y1(n,_,o,A),e[Z>>2]=e[n>>2],e[Z+4>>2]=e[V>>2],k=k+1|0,(k|0)>=(p|0)){M=6;break}if(Z=e[l>>2]|0,R=e[Z>>2]|0,(e[Z+4>>2]|0)-R>>2>>>0<=k>>>0){T=Z,M=7;break}}return(M|0)==6?(U=f,1):((M|0)==7&&W0(T),0)}function U8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0;if(f=U,U=U+48|0,n=f+32|0,o=f+24|0,A=f+16|0,u=f,s=f+12|0,_=i+8|0,h=e[_>>2]|0,(h+-2|0)>>>0<=28&&(e[i+72>>2]=h,k=1<<h,e[i+76>>2]=k+-1,h=k+-2|0,e[i+80>>2]=h,e[i+84>>2]=(h|0)/2|0),h=i+40|0,e[i+48>>2]=l,l=i+36|0,k=e[l>>2]|0,b=(e[k+4>>2]|0)-(e[k>>2]|0)|0,p=b>>2,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,(b|0)<=0)return U=f,1;for(b=u+4|0,w=u+8|0,d=i+84|0,m=i+88|0,c=i+80|0,i=n+4|0,y=A+4|0,V=o+4|0,v=e[k>>2]|0,(e[k+4>>2]|0)==(v|0)&&(T=k,W0(T)),k=0,R=v;;){e[s>>2]=e[R+(k<<2)>>2],e[n>>2]=e[s>>2],Yi(h,n,u),v=e[u>>2]|0,N=(v|0)>-1?v:0-v|0,G=e[b>>2]|0,F=(G|0)>-1?G:0-G|0,E=i0(F|0,((F|0)<0)<<31>>31|0,N|0,((N|0)<0)<<31>>31|0)|0,N=e[w>>2]|0,F=(N|0)>-1,Z=F?N:0-N|0,N=i0(E|0,H|0,Z|0,((Z|0)<0)<<31>>31|0)|0,Z=H;do if((N|0)==0&(Z|0)==0)e[u>>2]=e[d>>2];else if(E=e[d>>2]|0,Q=((E|0)<0)<<31>>31,z=Y0(E|0,Q|0,v|0,((v|0)<0)<<31>>31|0)|0,C=p2(z|0,H|0,N|0,Z|0)|0,e[u>>2]=C,z=Y0(E|0,Q|0,G|0,((G|0)<0)<<31>>31|0)|0,Q=p2(z|0,H|0,N|0,Z|0)|0,e[b>>2]=Q,z=E-((C|0)>-1?C:0-C|0)-((Q|0)>-1?Q:0-Q|0)|0,F){e[w>>2]=z;break}else{e[w>>2]=0-z;break}while(0);F=V2(m)|0,Z=e[u>>2]|0,F?(F=0-Z|0,N=0-(e[b>>2]|0)|0,G=0-(e[w>>2]|0)|0,e[u>>2]=F,e[b>>2]=N,e[w>>2]=G,W=F,I=N):(W=Z,I=e[b>>2]|0);do if((W|0)<=-1)if((I|0)<0?(Z=e[w>>2]|0,D=(Z|0)>-1?Z:0-Z|0,L=Z):(Z=e[w>>2]|0,D=(e[c>>2]|0)-((Z|0)>-1?Z:0-Z|0)|0,L=Z),(L|0)<0){O=(I|0)>-1?I:0-I|0,x=D;break}else{O=(e[c>>2]|0)-((I|0)>-1?I:0-I|0)|0,x=D;break}else Z=e[d>>2]|0,O=(e[w>>2]|0)+Z|0,x=Z+I|0;while(0);Z=(x|0)==0,N=(O|0)==0,F=e[c>>2]|0;do if(O|x)if(G=(F|0)==(O|0),Z&G)X=O,B=O;else if(v=(F|0)==(x|0),N&v)X=x,B=x;else{if(Z&&(z=e[d>>2]|0,(z|0)<(O|0))){X=0,B=(z<<1)-O|0;break}if(v&&(v=e[d>>2]|0,(v|0)>(O|0))){X=x,B=(v<<1)-O|0;break}if(G&&(G=e[d>>2]|0,(G|0)>(x|0))){X=(G<<1)-x|0,B=O;break}N?(G=e[d>>2]|0,X=(G|0)<(x|0)?(G<<1)-x|0:x,B=0):(X=x,B=O)}else X=F,B=F;while(0);if(F=k<<1,N=r+(F<<2)|0,Z=t+(F<<2)|0,F=e[N+4>>2]|0,e[n>>2]=e[N>>2],e[i>>2]=F,e[A>>2]=X,e[y>>2]=B,V1(o,_,A,n),e[Z>>2]=e[o>>2],e[Z+4>>2]=e[V>>2],k=k+1|0,(k|0)>=(p|0)){M=6;break}if(Z=e[l>>2]|0,R=e[Z>>2]|0,(e[Z+4>>2]|0)-R>>2>>>0<=k>>>0){T=Z,M=7;break}}return(M|0)==6?(U=f,1):((M|0)==7&&W0(T),0)}function F8(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0;if(f=U,U=U+48|0,n=f+32|0,o=f+24|0,A=f+16|0,u=f,s=f+12|0,_=i+8|0,h=e[_>>2]|0,(h+-2|0)>>>0<=28&&(e[i+72>>2]=h,k=1<<h,e[i+76>>2]=k+-1,h=k+-2|0,e[i+80>>2]=h,e[i+84>>2]=(h|0)/2|0),h=i+40|0,e[i+48>>2]=l,l=i+36|0,k=e[l>>2]|0,b=(e[k+4>>2]|0)-(e[k>>2]|0)|0,p=b>>2,e[u>>2]=0,e[u+4>>2]=0,e[u+8>>2]=0,(b|0)<=0)return U=f,1;for(b=u+4|0,w=u+8|0,d=i+84|0,m=i+88|0,c=i+80|0,i=n+4|0,y=A+4|0,V=o+4|0,v=e[k>>2]|0,(e[k+4>>2]|0)==(v|0)&&(T=k,W0(T)),k=0,R=v;;){e[s>>2]=e[R+(k<<2)>>2],e[n>>2]=e[s>>2],Bi(h,n,u),v=e[u>>2]|0,N=(v|0)>-1?v:0-v|0,G=e[b>>2]|0,F=(G|0)>-1?G:0-G|0,E=i0(F|0,((F|0)<0)<<31>>31|0,N|0,((N|0)<0)<<31>>31|0)|0,N=e[w>>2]|0,F=(N|0)>-1,Z=F?N:0-N|0,N=i0(E|0,H|0,Z|0,((Z|0)<0)<<31>>31|0)|0,Z=H;do if((N|0)==0&(Z|0)==0)e[u>>2]=e[d>>2];else if(E=e[d>>2]|0,Q=((E|0)<0)<<31>>31,z=Y0(E|0,Q|0,v|0,((v|0)<0)<<31>>31|0)|0,C=p2(z|0,H|0,N|0,Z|0)|0,e[u>>2]=C,z=Y0(E|0,Q|0,G|0,((G|0)<0)<<31>>31|0)|0,Q=p2(z|0,H|0,N|0,Z|0)|0,e[b>>2]=Q,z=E-((C|0)>-1?C:0-C|0)-((Q|0)>-1?Q:0-Q|0)|0,F){e[w>>2]=z;break}else{e[w>>2]=0-z;break}while(0);F=V2(m)|0,Z=e[u>>2]|0,F?(F=0-Z|0,N=0-(e[b>>2]|0)|0,G=0-(e[w>>2]|0)|0,e[u>>2]=F,e[b>>2]=N,e[w>>2]=G,W=F,I=N):(W=Z,I=e[b>>2]|0);do if((W|0)<=-1)if((I|0)<0?(Z=e[w>>2]|0,D=(Z|0)>-1?Z:0-Z|0,L=Z):(Z=e[w>>2]|0,D=(e[c>>2]|0)-((Z|0)>-1?Z:0-Z|0)|0,L=Z),(L|0)<0){O=(I|0)>-1?I:0-I|0,x=D;break}else{O=(e[c>>2]|0)-((I|0)>-1?I:0-I|0)|0,x=D;break}else Z=e[d>>2]|0,O=(e[w>>2]|0)+Z|0,x=Z+I|0;while(0);Z=(x|0)==0,N=(O|0)==0,F=e[c>>2]|0;do if(O|x)if(G=(F|0)==(O|0),Z&G)X=O,B=O;else if(v=(F|0)==(x|0),N&v)X=x,B=x;else{if(Z&&(z=e[d>>2]|0,(z|0)<(O|0))){X=0,B=(z<<1)-O|0;break}if(v&&(v=e[d>>2]|0,(v|0)>(O|0))){X=x,B=(v<<1)-O|0;break}if(G&&(G=e[d>>2]|0,(G|0)>(x|0))){X=(G<<1)-x|0,B=O;break}N?(G=e[d>>2]|0,X=(G|0)<(x|0)?(G<<1)-x|0:x,B=0):(X=x,B=O)}else X=F,B=F;while(0);if(F=k<<1,N=r+(F<<2)|0,Z=t+(F<<2)|0,F=e[N+4>>2]|0,e[n>>2]=e[N>>2],e[i>>2]=F,e[A>>2]=X,e[y>>2]=B,V1(o,_,A,n),e[Z>>2]=e[o>>2],e[Z+4>>2]=e[V>>2],k=k+1|0,(k|0)>=(p|0)){M=6;break}if(Z=e[l>>2]|0,R=e[Z>>2]|0,(e[Z+4>>2]|0)-R>>2>>>0<=k>>>0){T=Z,M=7;break}}return(M|0)==6?(U=f,1):((M|0)==7&&W0(T),0)}function Ht(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0;if(t=U,U=U+32|0,n=t+16|0,f=t,(b2[r+38>>1]|0)<514&&(l=r+8|0,o=e[l+4>>2]|0,A=r+16|0,u=A,s=e[u>>2]|0,_=e[u+4>>2]|0,!((o|0)>(_|0)|((o|0)==(_|0)?(e[l>>2]|0)>>>0>s>>>0:0))||(l=j[(e[r>>2]|0)+s>>0]|0,o=i0(s|0,_|0,1,0)|0,_=A,e[_>>2]=o,e[_+4>>2]=H,l<<24>>24)))return h=0,U=t,h|0;if(t2(n,r)|0,l=e[n>>2]|0,l){if(_=i+60|0,Ui(_,l,0),n2(f),f2(f,r)|0){if(e[n>>2]|0){l=0;do o=V2(f)|0,A=(e[_>>2]|0)+(l>>>5<<2)|0,s=1<<(l&31),o?k=e[A>>2]|s:k=e[A>>2]&~s,e[A>>2]=k,l=l+1|0;while(l>>>0<(e[n>>2]|0)>>>0)}b=13}}else b=13;do if((b|0)==13){if(t2(n,r)|0,l=e[n>>2]|0,l|0){if(k=i+72|0,Ui(k,l,0),n2(f),!(f2(f,r)|0))break;if(e[n>>2]|0){l=0;do _=V2(f)|0,A=(e[k>>2]|0)+(l>>>5<<2)|0,s=1<<(l&31),_?p=e[A>>2]|s:p=e[A>>2]&~s,e[A>>2]=p,l=l+1|0;while(l>>>0<(e[n>>2]|0)>>>0)}}if(t2(n,r)|0,l=e[n>>2]|0,l|0){if(k=i+84|0,Ui(k,l,0),n2(f),!(f2(f,r)|0))break;if(e[n>>2]|0){l=0;do A=V2(f)|0,s=(e[k>>2]|0)+(l>>>5<<2)|0,_=1<<(l&31),A?w=e[s>>2]|_:w=e[s>>2]&~_,e[s>>2]=w,l=l+1|0;while(l>>>0<(e[n>>2]|0)>>>0)}}if(t2(n,r)|0,l=e[n>>2]|0,l|0){if(k=i+96|0,Ui(k,l,0),n2(f),!(f2(f,r)|0))break;if(e[n>>2]|0){l=0;do s=V2(f)|0,_=(e[k>>2]|0)+(l>>>5<<2)|0,A=1<<(l&31),s?d=e[_>>2]|A:d=e[_>>2]&~A,e[_>>2]=d,l=l+1|0;while(l>>>0<(e[n>>2]|0)>>>0)}}return l=r+8|0,k=e[l>>2]|0,_=e[l+4>>2]|0,l=r+16|0,A=l,s=e[A>>2]|0,o=e[A+4>>2]|0,A=i0(s|0,o|0,4,0)|0,u=H,(_|0)<(u|0)|(_|0)==(u|0)&k>>>0<A>>>0||(m=e[r>>2]|0,c=m+s|0,y=J[c>>0]|J[c+1>>0]<<8|J[c+2>>0]<<16|J[c+3>>0]<<24,c=l,e[c>>2]=A,e[c+4>>2]=u,u=i0(s|0,o|0,8,0)|0,o=H,(_|0)<(o|0)|(_|0)==(o|0)&k>>>0<u>>>0)||(k=m+A|0,A=J[k>>0]|J[k+1>>0]<<8|J[k+2>>0]<<16|J[k+3>>0]<<24,k=l,e[k>>2]=u,e[k+4>>2]=o,(y|0)>(A|0))||(e[i+12>>2]=y,e[i+16>>2]=A,o=H0(A|0,((A|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0,y=H,!(y>>>0<0|(y|0)==0&o>>>0<2147483647))?(h=0,U=t,h|0):(y=o+1|0,e[i+20>>2]=y,o=(y|0)/2|0,A=i+24|0,e[A>>2]=o,e[i+28>>2]=0-o,y&1|0?(h=1,U=t,h|0):(e[A>>2]=o+-1,h=1,U=t,h|0))}while(0);return h=0,U=t,h|0}function E8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0;if(t=U,U=U+16|0,r=t+8|0,n=t+4|0,f=t,l=i+64|0,o=e[l>>2]|0,(e[o+28>>2]|0)==(e[o+24>>2]|0)){U=t;return}for(A=i+52|0,u=i+56|0,s=i+60|0,_=i+12|0,h=i+28|0,k=i+40|0,b=i+44|0,p=i+48|0,w=0,d=0,m=o;;){if(o=e[(e[m+24>>2]|0)+(d<<2)>>2]|0,(o|0)==-1)c=w,y=m;else{V=w+1|0,e[r>>2]=w,v=e[u>>2]|0,(v|0)==(e[s>>2]|0)?L0(A,r):(e[v>>2]=w,e[u>>2]=v+4),e[n>>2]=o,e[f>>2]=0;e:do if(!(e[(e[_>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)))T=o;else{if(v=o+1|0,R=((v>>>0)%3|0|0)==0?o+-2|0:v,(R|0)!=-1&&(e[(e[i>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0)==0&&(v=e[(e[(e[l>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,R=v+1|0,(v|0)!=-1)){if(N=((R>>>0)%3|0|0)==0?v+-2|0:R,e[f>>2]=N,(N|0)==-1){T=o;break}for(R=N;e[n>>2]=R,N=R+1|0,v=((N>>>0)%3|0|0)==0?R+-2|0:N,!((v|0)==-1||e[(e[i>>2]|0)+(v>>>5<<2)>>2]&1<<(v&31)|0||(N=e[(e[(e[l>>2]|0)+12>>2]|0)+(v<<2)>>2]|0,v=N+1|0,(N|0)==-1));)if(G=((v>>>0)%3|0|0)==0?N+-2|0:v,e[f>>2]=G,(G|0)==-1){T=R;break e}else R=G;e[f>>2]=-1,T=R;break}e[f>>2]=-1,T=o}while(0);e[(e[h>>2]|0)+(T<<2)>>2]=e[r>>2],o=e[b>>2]|0,(o|0)==(e[p>>2]|0)?L0(k,n):(e[o>>2]=e[n>>2],e[b>>2]=o+4),o=e[l>>2]|0,G=e[n>>2]|0;e:do if((G|0)!=-1&&(v=(((G>>>0)%3|0|0)==0?2:-1)+G|0,(v|0)!=-1)&&(N=e[(e[o+12>>2]|0)+(v<<2)>>2]|0,(N|0)!=-1))if(v=N+(((N>>>0)%3|0|0)==0?2:-1)|0,e[f>>2]=v,(v|0)!=-1&(v|0)!=(G|0)){for(N=V,F=v;;){v=F+1|0,E=((v>>>0)%3|0|0)==0?F+-2|0:v;do if(e[(e[i>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31))if(v=N+1|0,e[r>>2]=N,Z=e[u>>2]|0,(Z|0)==(e[s>>2]|0)?L0(A,r):(e[Z>>2]=N,e[u>>2]=Z+4),Z=e[b>>2]|0,(Z|0)==(e[p>>2]|0)){L0(k,f),Q=v;break}else{e[Z>>2]=e[f>>2],e[b>>2]=Z+4,Q=v;break}else Q=N;while(0);if(e[(e[h>>2]|0)+(e[f>>2]<<2)>>2]=e[r>>2],z=e[l>>2]|0,E=e[f>>2]|0,(E|0)==-1||(v=(((E>>>0)%3|0|0)==0?2:-1)+E|0,(v|0)==-1)||(E=e[(e[z+12>>2]|0)+(v<<2)>>2]|0,(E|0)==-1))break;if(F=E+(((E>>>0)%3|0|0)==0?2:-1)|0,e[f>>2]=F,(F|0)!=-1&&(F|0)!=(e[n>>2]|0))N=Q;else{C=Q,W=z;break e}}e[f>>2]=-1,C=Q,W=z}else C=V,W=o;else I=28;while(0);(I|0)==28&&(I=0,e[f>>2]=-1,C=V,W=o),c=C,y=W}if(d=d+1|0,d>>>0>=(e[y+28>>2]|0)-(e[y+24>>2]|0)>>2>>>0)break;w=c,m=y}U=t}function Nr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0;if(n=K0[e[(e[i>>2]|0)+44>>2]&127](i)|0,(n|0)<1||(l=(e[r+4>>2]|0)-(e[r>>2]|0)>>2,o=Z0(l,n)|0,t3(i,l,n),l=i+16|0,A=e[l>>2]|0,!(e[A+80>>2]|0))||(u=(e[e[A>>2]>>2]|0)+(e[A+48>>2]|0)|0,!u)||(A=t+8|0,s=A,_=e[s>>2]|0,h=e[s+4>>2]|0,s=t+16|0,k=s,b=e[k>>2]|0,p=e[k+4>>2]|0,!((h|0)>(p|0)|(h|0)==(p|0)&_>>>0>b>>>0)))return f=0,f|0;k=e[t>>2]|0,w=j[k+b>>0]|0,d=i0(b|0,p|0,1,0)|0,m=H,c=s,e[c>>2]=d,e[c+4>>2]=m;e:do if(w<<24>>24)if(Mr(o,n,t,u)|0)E=20;else return f=0,f|0;else{if(!((h|0)>(m|0)|(h|0)==(m|0)&_>>>0>d>>>0))return f=0,f|0;if(c=j[k+d>>0]|0,y=i0(b|0,p|0,2,0)|0,V=s,e[V>>2]=y,e[V+4>>2]=H,V=c&255,y=(di(5)|0)==(V|0),v=e[(e[l>>2]|0)+64>>2]|0,T=(e[v+4>>2]|0)-(e[v>>2]|0)|0,y){if(y=o<<2,T>>>0<y>>>0||(v=A,R=e[v>>2]|0,N=e[v+4>>2]|0,v=s,G=e[v>>2]|0,F=i0(G|0,e[v+4>>2]|0,y|0,0)|0,v=H,(N|0)<(v|0)|(N|0)==(v|0)&R>>>0<F>>>0))return f=0,f|0;S0(u|0,(e[t>>2]|0)+G|0,y|0)|0,G=s,F=i0(e[G>>2]|0,e[G+4>>2]|0,y|0,0)|0,y=s,e[y>>2]=F,e[y+4>>2]=H,E=20;break}if(y=Z0(o,V)|0,T>>>0<y>>>0||(T=A,F=e[T>>2]|0,G=e[T+4>>2]|0,T=s,R=e[T>>2]|0,v=e[T+4>>2]|0,T=H0(F|0,G|0,R|0,v|0)|0,N=H,(N|0)<0|(N|0)==0&T>>>0<y>>>0))return f=0,f|0;if(!o)E=21;else for(y=c&255,c=0,T=R,R=v,v=G,G=F;;){if(F=i0(T|0,R|0,y|0,0)|0,N=H,(v|0)<(N|0)|(v|0)==(N|0)&G>>>0<F>>>0?(Z=T,Q=R):(S0(u+(c<<2)|0,(e[t>>2]|0)+T|0,V|0)|0,F=s,N=i0(e[F>>2]|0,e[F+4>>2]|0,y|0,0)|0,F=H,z=s,e[z>>2]=N,e[z+4>>2]=F,Z=N,Q=F),F=c+1|0,(F|0)==(o|0)){E=20;break e}N=A,c=F,T=Z,R=Q,v=e[N+4>>2]|0,G=e[N>>2]|0}}while(0);do if((E|0)==20)if(!o)E=21;else{if(Q=i+20|0,Z=e[Q>>2]|0,Z|0&&K0[e[(e[Z>>2]|0)+32>>2]&127](Z)|0){C=Q,W=1;break}T6(u,o,u),C=Q,W=1}while(0);return(E|0)==21&&(C=i+20|0,W=0),i=e[C>>2]|0,i|0&&(!(_2[e[(e[i>>2]|0)+40>>2]&127](i,t)|0)||W&&(W=e[C>>2]|0,!(af[e[(e[W>>2]|0)+44>>2]&31](W,u,u,o,n,e[r>>2]|0)|0)))?(f=0,f|0):(f=1,f|0)}function I8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,r>>>0>=1048576?(h|0)!=4194304&&(e[c>>2]=y+4194304):u2(s,1048576-r|0),r=i+28|0,y=i+32|0,i=e[r>>2]|0,c=(e[y>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[y>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,y=c,c=(e[h>>2]|0)+c|0,c>>>0>1048576){n=0,b=38;break}if(y>>>0<c>>>0){h=e[s>>2]|0,i=y;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==1048576|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function Z8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,_=y,r>>>0>=8192?(h|0)!=32768&&(e[c>>2]=_+32768):u2(s,8192-r|0),r=i+28|0,_=i+32|0,i=e[r>>2]|0,c=(e[_>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[_>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,_=c,c=(e[h>>2]|0)+c|0,c>>>0>8192){n=0,b=38;break}if(_>>>0<c>>>0){h=e[s>>2]|0,i=_;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==8192|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function xt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,_=y,r>>>0>=4096?(h|0)!=16384&&(e[c>>2]=_+16384):u2(s,4096-r|0),r=i+28|0,_=i+32|0,i=e[r>>2]|0,c=(e[_>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[_>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,_=c,c=(e[h>>2]|0)+c|0,c>>>0>4096){n=0,b=38;break}if(_>>>0<c>>>0){h=e[s>>2]|0,i=_;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==4096|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function W8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0;if(t=P0[r+38>>1]|0,!(t<<16>>16))return n=0,n|0;f=i+12|0;do if((t&65535)<512){if(l=r+8|0,o=e[l>>2]|0,A=e[l+4>>2]|0,l=r+16|0,u=l,s=e[u>>2]|0,_=i0(s|0,e[u+4>>2]|0,4,0)|0,u=H,(A|0)<(u|0)|(A|0)==(u|0)&o>>>0<_>>>0)return n=0,n|0;_=(e[r>>2]|0)+s|0,s=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,j[f>>0]=s,j[f+1>>0]=s>>8,j[f+2>>0]=s>>16,j[f+3>>0]=s>>24,_=l,o=i0(e[_>>2]|0,e[_+4>>2]|0,4,0)|0,_=l,e[_>>2]=o,e[_+4>>2]=H,h=s;break}else if(t2(f,r)|0){h=e[f>>2]|0;break}else return n=0,n|0;while(0);if(t=i+4|0,s=e[i>>2]|0,_=(e[t>>2]|0)-s>>2,h>>>0<=_>>>0?(h>>>0<_>>>0&&(e[t>>2]=s+(h<<2)),k=h):(u2(i,h-_|0),k=e[f>>2]|0),!k)return n=1,n|0;_=r+8|0,h=r+16|0,s=0,t=k;e:for(;;){if(k=_,o=e[k>>2]|0,l=e[k+4>>2]|0,k=h,u=e[k>>2]|0,A=e[k+4>>2]|0,!((l|0)>(A|0)|(l|0)==(A|0)&o>>>0>u>>>0)){n=0,b=38;break}switch(k=e[r>>2]|0,p=j[k+u>>0]|0,w=i0(u|0,A|0,1,0)|0,A=H,u=h,e[u>>2]=w,e[u+4>>2]=A,u=p&255,d=u&3,m=u>>>2,p&3){case 3:{if(p=m+s|0,p>>>0>=t>>>0){n=0,b=38;break e}E0((e[i>>2]|0)+(s<<2)|0,0,(u&252)+4|0)|0,c=p;break}case 0:{y=m,b=20;break}default:for(p=m,m=0,u=A,A=w;;){if(!((l|0)>(u|0)|(l|0)==(u|0)&o>>>0>A>>>0)){n=0,b=38;break e}if(w=j[k+A>>0]|0,A=i0(A|0,u|0,1,0)|0,u=H,V=h,e[V>>2]=A,e[V+4>>2]=u,V=(w&255)<<(m<<3|6)|p,m=m+1|0,m>>>0>=d>>>0){y=V,b=20;break}else p=V}}if((b|0)==20&&(b=0,e[(e[i>>2]|0)+(s<<2)>>2]=y,c=s),s=c+1|0,t=e[f>>2]|0,s>>>0>=t>>>0){b=22;break}}if((b|0)==22){if(s=i+16|0,f=e[i>>2]|0,c=i+20|0,y=e[s>>2]|0,h=(e[c>>2]|0)-y|0,r=h>>2,r>>>0>=524288?(h|0)!=2097152&&(e[c>>2]=y+2097152):u2(s,524288-r|0),r=i+28|0,y=i+32|0,i=e[r>>2]|0,c=(e[y>>2]|0)-i>>3,h=i,t>>>0<=c>>>0)if(t>>>0<c>>>0&&(e[y>>2]=h+(t<<3)),t)v=h;else return n=0,n|0;else pi(r,t-c|0),v=e[r>>2]|0;for(r=0,c=0;;){if(h=f+(r<<2)|0,e[v+(r<<3)>>2]=e[h>>2],e[v+(r<<3)+4>>2]=c,y=c,c=(e[h>>2]|0)+c|0,c>>>0>524288){n=0,b=38;break}if(y>>>0<c>>>0){h=e[s>>2]|0,i=y;do e[h+(i<<2)>>2]=r,i=i+1|0;while((i|0)!=(c|0))}if(r=r+1|0,r>>>0>=t>>>0){b=37;break}}if((b|0)==37)return(c|0)==524288|0;if((b|0)==38)return n|0}else if((b|0)==38)return n|0;return 0}function qt(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0,d2=0,K2=0,m2=0,O2=0,re=0;r=U,U=U+16|0,t=r;do if(i>>>0<245){if(n=i>>>0<11?16:i+11&-8,f=n>>>3,l=e[4072]|0,o=l>>>f,o&3|0)return A=(o&1^1)+f|0,u=16328+(A<<1<<2)|0,s=u+8|0,_=e[s>>2]|0,h=_+8|0,k=e[h>>2]|0,(k|0)==(u|0)?e[4072]=l&~(1<<A):(e[k+12>>2]=u,e[s>>2]=k),k=A<<3,e[_+4>>2]=k|3,A=_+k+4|0,e[A>>2]=e[A>>2]|1,b=h,U=r,b|0;if(h=e[4074]|0,n>>>0>h>>>0){if(o|0)return A=2<<f,k=o<<f&(A|0-A),A=(k&0-k)+-1|0,k=A>>>12&16,f=A>>>k,A=f>>>5&8,o=f>>>A,f=o>>>2&4,_=o>>>f,o=_>>>1&2,s=_>>>o,_=s>>>1&1,u=(A|k|f|o|_)+(s>>>_)|0,_=16328+(u<<1<<2)|0,s=_+8|0,o=e[s>>2]|0,f=o+8|0,k=e[f>>2]|0,(k|0)==(_|0)?(A=l&~(1<<u),e[4072]=A,p=A):(e[k+12>>2]=_,e[s>>2]=k,p=l),k=u<<3,u=k-n|0,e[o+4>>2]=n|3,s=o+n|0,e[s+4>>2]=u|1,e[o+k>>2]=u,h|0&&(k=e[4077]|0,o=h>>>3,_=16328+(o<<1<<2)|0,A=1<<o,p&A?(A=_+8|0,w=e[A>>2]|0,d=A):(e[4072]=p|A,w=_,d=_+8|0),e[d>>2]=k,e[w+12>>2]=k,e[k+8>>2]=w,e[k+12>>2]=_),e[4074]=u,e[4077]=s,b=f,U=r,b|0;if(f=e[4073]|0,f){for(s=(f&0-f)+-1|0,u=s>>>12&16,_=s>>>u,s=_>>>5&8,k=_>>>s,_=k>>>2&4,A=k>>>_,k=A>>>1&2,o=A>>>k,A=o>>>1&1,m=e[16592+((s|u|_|k|A)+(o>>>A)<<2)>>2]|0,A=m,o=m,k=(e[m+4>>2]&-8)-n|0;;){if(m=e[A+16>>2]|0,m)c=m;else if(_=e[A+20>>2]|0,_)c=_;else break;m=(e[c+4>>2]&-8)-n|0,_=m>>>0<k>>>0,A=c,o=_?c:o,k=_?m:k}if(A=o+n|0,A>>>0>o>>>0){m=e[o+24>>2]|0,_=e[o+12>>2]|0;do if((_|0)==(o|0)){if(u=o+20|0,s=e[u>>2]|0,s)T=s,R=u;else if(y=o+16|0,V=e[y>>2]|0,V)T=V,R=y;else{v=0;break}for(u=T,s=R;;){if(y=u+20|0,V=e[y>>2]|0,V)F=V,E=y;else if(N=u+16|0,G=e[N>>2]|0,G)F=G,E=N;else break;u=F,s=E}e[s>>2]=0,v=u}else y=e[o+8>>2]|0,e[y+12>>2]=_,e[_+8>>2]=y,v=_;while(0);do if(m|0){if(_=e[o+28>>2]|0,y=16592+(_<<2)|0,(o|0)==(e[y>>2]|0)){if(e[y>>2]=v,!v){e[4073]=f&~(1<<_);break}}else if(_=m+16|0,e[((e[_>>2]|0)==(o|0)?_:m+20|0)>>2]=v,!v)break;e[v+24>>2]=m,_=e[o+16>>2]|0,_|0&&(e[v+16>>2]=_,e[_+24>>2]=v),_=e[o+20>>2]|0,_|0&&(e[v+20>>2]=_,e[_+24>>2]=v)}while(0);return k>>>0<16?(m=k+n|0,e[o+4>>2]=m|3,f=o+m+4|0,e[f>>2]=e[f>>2]|1):(e[o+4>>2]=n|3,e[A+4>>2]=k|1,e[A+k>>2]=k,h|0&&(f=e[4077]|0,m=h>>>3,_=16328+(m<<1<<2)|0,y=1<<m,y&l?(y=_+8|0,Z=e[y>>2]|0,Q=y):(e[4072]=y|l,Z=_,Q=_+8|0),e[Q>>2]=f,e[Z+12>>2]=f,e[f+8>>2]=Z,e[f+12>>2]=_),e[4074]=k,e[4077]=A),b=o+8|0,U=r,b|0}else z=n}else z=n}else z=n}else if(i>>>0<=4294967231)if(_=i+11|0,f=_&-8,y=e[4073]|0,y){m=0-f|0,V=_>>>8,V?f>>>0>16777215?C=31:(_=(V+1048320|0)>>>16&8,N=V<<_,V=(N+520192|0)>>>16&4,G=N<<V,N=(G+245760|0)>>>16&2,W=14-(V|_|N)+(G<<N>>>15)|0,C=f>>>(W+7|0)&1|W<<1):C=0,W=e[16592+(C<<2)>>2]|0;e:do if(!W)I=0,D=0,L=m,O=61;else for(N=0,G=m,_=W,V=f<<((C|0)==31?0:25-(C>>>1)|0),x=0;;){if(X=(e[_+4>>2]&-8)-f|0,X>>>0<G>>>0)if(X)q=_,g=X;else{B=_,M=0,P=_,O=65;break e}else q=N,g=G;if(X=e[_+20>>2]|0,_=e[_+16+(V>>>31<<2)>>2]|0,n0=(X|0)==0|(X|0)==(_|0)?x:X,_)N=q,G=g,V=V<<1,x=n0;else{I=n0,D=q,L=g,O=61;break}}while(0);if((O|0)==61){if((I|0)==0&(D|0)==0){if(W=2<<C,m=(W|0-W)&y,!m){z=f;break}W=(m&0-m)+-1|0,m=W>>>12&16,n=W>>>m,W=n>>>5&8,o=n>>>W,n=o>>>2&4,A=o>>>n,o=A>>>1&2,k=A>>>o,A=k>>>1&1,l0=0,t0=e[16592+((W|m|n|o|A)+(k>>>A)<<2)>>2]|0}else l0=D,t0=I;t0?(B=l0,M=L,P=t0,O=65):(a=l0,$=L)}if((O|0)==65)for(A=B,k=M,o=P;;)if(n=(e[o+4>>2]&-8)-f|0,m=n>>>0<k>>>0,W=m?n:k,n=m?o:A,m=e[o+16>>2]|0,m?e0=m:e0=e[o+20>>2]|0,e0)A=n,k=W,o=e0;else{a=n,$=W;break}if((a|0)!=0&&$>>>0<((e[4074]|0)-f|0)>>>0&&(o=a+f|0,o>>>0>a>>>0)){k=e[a+24>>2]|0,A=e[a+12>>2]|0;do if((A|0)==(a|0)){if(W=a+20|0,n=e[W>>2]|0,n)A0=n,_0=W;else if(m=a+16|0,l=e[m>>2]|0,l)A0=l,_0=m;else{f0=0;break}for(W=A0,n=_0;;){if(m=W+20|0,l=e[m>>2]|0,l)h0=l,p0=m;else if(h=W+16|0,x=e[h>>2]|0,x)h0=x,p0=h;else break;W=h0,n=p0}e[n>>2]=0,f0=W}else m=e[a+8>>2]|0,e[m+12>>2]=A,e[A+8>>2]=m,f0=A;while(0);do if(k){if(A=e[a+28>>2]|0,m=16592+(A<<2)|0,(a|0)==(e[m>>2]|0)){if(e[m>>2]=f0,!f0){m=y&~(1<<A),e[4073]=m,j0=m;break}}else if(m=k+16|0,e[((e[m>>2]|0)==(a|0)?m:k+20|0)>>2]=f0,!f0){j0=y;break}e[f0+24>>2]=k,m=e[a+16>>2]|0,m|0&&(e[f0+16>>2]=m,e[m+24>>2]=f0),m=e[a+20>>2]|0,m&&(e[f0+20>>2]=m,e[m+24>>2]=f0),j0=y}else j0=y;while(0);e:do if($>>>0<16)y=$+f|0,e[a+4>>2]=y|3,k=a+y+4|0,e[k>>2]=e[k>>2]|1;else{if(e[a+4>>2]=f|3,e[o+4>>2]=$|1,e[o+$>>2]=$,k=$>>>3,$>>>0<256){y=16328+(k<<1<<2)|0,m=e[4072]|0,A=1<<k,m&A?(A=y+8|0,y0=e[A>>2]|0,k0=A):(e[4072]=m|A,y0=y,k0=y+8|0),e[k0>>2]=o,e[y0+12>>2]=o,e[o+8>>2]=y0,e[o+12>>2]=y;break}if(y=$>>>8,y?$>>>0>16777215?N0=31:(A=(y+1048320|0)>>>16&8,m=y<<A,y=(m+520192|0)>>>16&4,k=m<<y,m=(k+245760|0)>>>16&2,l=14-(y|A|m)+(k<<m>>>15)|0,N0=$>>>(l+7|0)&1|l<<1):N0=0,l=16592+(N0<<2)|0,e[o+28>>2]=N0,m=o+16|0,e[m+4>>2]=0,e[m>>2]=0,m=1<<N0,!(j0&m)){e[4073]=j0|m,e[l>>2]=o,e[o+24>>2]=l,e[o+12>>2]=o,e[o+8>>2]=o;break}m=e[l>>2]|0;i:do if((e[m+4>>2]&-8|0)==($|0))V0=m;else{for(l=$<<((N0|0)==31?0:25-(N0>>>1)|0),k=m;U0=k+16+(l>>>31<<2)|0,A=e[U0>>2]|0,!!A;)if((e[A+4>>2]&-8|0)==($|0)){V0=A;break i}else l=l<<1,k=A;e[U0>>2]=o,e[o+24>>2]=k,e[o+12>>2]=o,e[o+8>>2]=o;break e}while(0);m=V0+8|0,W=e[m>>2]|0,e[W+12>>2]=o,e[m>>2]=o,e[o+8>>2]=W,e[o+12>>2]=V0,e[o+24>>2]=0}while(0);return b=a+8|0,U=r,b|0}else z=f}else z=f;else z=-1;while(0);if(a=e[4074]|0,a>>>0>=z>>>0)return V0=a-z|0,U0=e[4077]|0,V0>>>0>15?($=U0+z|0,e[4077]=$,e[4074]=V0,e[$+4>>2]=V0|1,e[U0+a>>2]=V0,e[U0+4>>2]=z|3):(e[4074]=0,e[4077]=0,e[U0+4>>2]=a|3,V0=U0+a+4|0,e[V0>>2]=e[V0>>2]|1),b=U0+8|0,U=r,b|0;if(U0=e[4075]|0,U0>>>0>z>>>0)return V0=U0-z|0,e[4075]=V0,a=e[4078]|0,$=a+z|0,e[4078]=$,e[$+4>>2]=V0|1,e[a+4>>2]=z|3,b=a+8|0,U=r,b|0;if(e[4190]|0?m0=e[4192]|0:(e[4192]=4096,e[4191]=4096,e[4193]=-1,e[4194]=-1,e[4195]=0,e[4183]=0,e[4190]=t&-16^1431655768,m0=4096),t=z+48|0,a=z+47|0,V0=m0+a|0,$=0-m0|0,m0=V0&$,m0>>>0<=z>>>0||(N0=e[4182]|0,N0|0&&(j0=e[4180]|0,y0=j0+m0|0,y0>>>0<=j0>>>0|y0>>>0>N0>>>0)))return b=0,U=r,b|0;e:do if(e[4183]&4)w0=0,O=143;else{N0=e[4078]|0;i:do if(N0){for(y0=16736;j0=e[y0>>2]|0,!(j0>>>0<=N0>>>0&&(j0+(e[y0+4>>2]|0)|0)>>>0>N0>>>0);)if(j0=e[y0+8>>2]|0,j0)y0=j0;else{O=128;break i}if(j0=V0-U0&$,j0>>>0<2147483647)if(k0=ni(j0|0)|0,(k0|0)==((e[y0>>2]|0)+(e[y0+4>>2]|0)|0))if((k0|0)==-1)s0=j0;else{G0=j0,d0=k0,O=145;break e}else b0=k0,c0=j0,O=136;else s0=0}else O=128;while(0);do if((O|0)==128)if(N0=ni(0)|0,(N0|0)!=-1&&(f=N0,j0=e[4191]|0,k0=j0+-1|0,f0=((k0&f|0)==0?0:(k0+f&0-j0)-f|0)+m0|0,f=e[4180]|0,j0=f0+f|0,f0>>>0>z>>>0&f0>>>0<2147483647)){if(k0=e[4182]|0,k0|0&&j0>>>0<=f>>>0|j0>>>0>k0>>>0){s0=0;break}if(k0=ni(f0|0)|0,(k0|0)==(N0|0)){G0=f0,d0=N0,O=145;break e}else b0=k0,c0=f0,O=136}else s0=0;while(0);do if((O|0)==136){if(f0=0-c0|0,!(t>>>0>c0>>>0&(c0>>>0<2147483647&(b0|0)!=-1)))if((b0|0)==-1){s0=0;break}else{G0=c0,d0=b0,O=145;break e}if(k0=e[4192]|0,N0=a-c0+k0&0-k0,N0>>>0>=2147483647){G0=c0,d0=b0,O=145;break e}if((ni(N0|0)|0)==-1){ni(f0|0)|0,s0=0;break}else{G0=N0+c0|0,d0=b0,O=145;break e}}while(0);e[4183]=e[4183]|4,w0=s0,O=143}while(0);if((O|0)==143&&m0>>>0<2147483647&&(s0=ni(m0|0)|0,m0=ni(0)|0,b0=m0-s0|0,c0=b0>>>0>(z+40|0)>>>0,!((s0|0)==-1|c0^1|s0>>>0<m0>>>0&((s0|0)!=-1&(m0|0)!=-1)^1))&&(G0=c0?b0:w0,d0=s0,O=145),(O|0)==145){s0=(e[4180]|0)+G0|0,e[4180]=s0,s0>>>0>(e[4181]|0)>>>0&&(e[4181]=s0),s0=e[4078]|0;e:do if(s0){for(w0=16736;;){if(R0=e[w0>>2]|0,T0=e[w0+4>>2]|0,(d0|0)==(R0+T0|0)){O=154;break}if(b0=e[w0+8>>2]|0,b0)w0=b0;else break}if((O|0)==154&&(b0=w0+4|0,(e[w0+12>>2]&8|0)==0)&&d0>>>0>s0>>>0&R0>>>0<=s0>>>0){e[b0>>2]=T0+G0,b0=(e[4075]|0)+G0|0,c0=s0+8|0,m0=(c0&7|0)==0?0:0-c0&7,c0=s0+m0|0,a=b0-m0|0,e[4078]=c0,e[4075]=a,e[c0+4>>2]=a|1,e[s0+b0+4>>2]=40,e[4079]=e[4194];break}for(d0>>>0<(e[4076]|0)>>>0&&(e[4076]=d0),b0=d0+G0|0,a=16736;;){if((e[a>>2]|0)==(b0|0)){O=162;break}if(c0=e[a+8>>2]|0,c0)a=c0;else break}if((O|0)==162&&(e[a+12>>2]&8|0)==0){e[a>>2]=d0,w0=a+4|0,e[w0>>2]=(e[w0>>2]|0)+G0,w0=d0+8|0,c0=d0+((w0&7|0)==0?0:0-w0&7)|0,w0=b0+8|0,m0=b0+((w0&7|0)==0?0:0-w0&7)|0,w0=c0+z|0,t=m0-c0-z|0,e[c0+4>>2]=z|3;i:do if((s0|0)==(m0|0))$=(e[4075]|0)+t|0,e[4075]=$,e[4078]=w0,e[w0+4>>2]=$|1;else{if((e[4077]|0)==(m0|0)){$=(e[4074]|0)+t|0,e[4074]=$,e[4077]=w0,e[w0+4>>2]=$|1,e[w0+$>>2]=$;break}if($=e[m0+4>>2]|0,($&3|0)==1){U0=$&-8,V0=$>>>3;r:do if($>>>0<256)if(N0=e[m0+8>>2]|0,f0=e[m0+12>>2]|0,(f0|0)==(N0|0)){e[4072]=e[4072]&~(1<<V0);break}else{e[N0+12>>2]=f0,e[f0+8>>2]=N0;break}else{N0=e[m0+24>>2]|0,f0=e[m0+12>>2]|0;do if((f0|0)==(m0|0)){if(k0=m0+16|0,j0=k0+4|0,f=e[j0>>2]|0,f)I0=f,D0=j0;else if(p0=e[k0>>2]|0,p0)I0=p0,D0=k0;else{F0=0;break}for(j0=I0,f=D0;;){if(k0=j0+20|0,p0=e[k0>>2]|0,p0)z0=p0,J0=k0;else if(h0=j0+16|0,_0=e[h0>>2]|0,_0)z0=_0,J0=h0;else break;j0=z0,f=J0}e[f>>2]=0,F0=j0}else k0=e[m0+8>>2]|0,e[k0+12>>2]=f0,e[f0+8>>2]=k0,F0=f0;while(0);if(!N0)break;f0=e[m0+28>>2]|0,k=16592+(f0<<2)|0;do if((e[k>>2]|0)!=(m0|0)){if(k0=N0+16|0,e[((e[k0>>2]|0)==(m0|0)?k0:N0+20|0)>>2]=F0,!F0)break r}else{if(e[k>>2]=F0,F0|0)break;e[4073]=e[4073]&~(1<<f0);break r}while(0);if(e[F0+24>>2]=N0,f0=m0+16|0,k=e[f0>>2]|0,k|0&&(e[F0+16>>2]=k,e[k+24>>2]=F0),k=e[f0+4>>2]|0,!k)break;e[F0+20>>2]=k,e[k+24>>2]=F0}while(0);Q0=m0+U0|0,C0=U0+t|0}else Q0=m0,C0=t;if(V0=Q0+4|0,e[V0>>2]=e[V0>>2]&-2,e[w0+4>>2]=C0|1,e[w0+C0>>2]=C0,V0=C0>>>3,C0>>>0<256){$=16328+(V0<<1<<2)|0,y0=e[4072]|0,k=1<<V0,y0&k?(k=$+8|0,O0=e[k>>2]|0,x0=k):(e[4072]=y0|k,O0=$,x0=$+8|0),e[x0>>2]=w0,e[O0+12>>2]=w0,e[w0+8>>2]=O0,e[w0+12>>2]=$;break}$=C0>>>8;do if(!$)X0=0;else{if(C0>>>0>16777215){X0=31;break}k=($+1048320|0)>>>16&8,y0=$<<k,V0=(y0+520192|0)>>>16&4,f0=y0<<V0,y0=(f0+245760|0)>>>16&2,k0=14-(V0|k|y0)+(f0<<y0>>>15)|0,X0=C0>>>(k0+7|0)&1|k0<<1}while(0);if($=16592+(X0<<2)|0,e[w0+28>>2]=X0,U0=w0+16|0,e[U0+4>>2]=0,e[U0>>2]=0,U0=e[4073]|0,k0=1<<X0,!(U0&k0)){e[4073]=U0|k0,e[$>>2]=w0,e[w0+24>>2]=$,e[w0+12>>2]=w0,e[w0+8>>2]=w0;break}k0=e[$>>2]|0;r:do if((e[k0+4>>2]&-8|0)==(C0|0))$0=k0;else{for($=C0<<((X0|0)==31?0:25-(X0>>>1)|0),U0=k0;k2=U0+16+($>>>31<<2)|0,y0=e[k2>>2]|0,!!y0;)if((e[y0+4>>2]&-8|0)==(C0|0)){$0=y0;break r}else $=$<<1,U0=y0;e[k2>>2]=w0,e[w0+24>>2]=U0,e[w0+12>>2]=w0,e[w0+8>>2]=w0;break i}while(0);k0=$0+8|0,$=e[k0>>2]|0,e[$+12>>2]=w0,e[k0>>2]=w0,e[w0+8>>2]=$,e[w0+12>>2]=$0,e[w0+24>>2]=0}while(0);return b=c0+8|0,U=r,b|0}for(w0=16736;t=e[w0>>2]|0,!(t>>>0<=s0>>>0&&(s2=t+(e[w0+4>>2]|0)|0,s2>>>0>s0>>>0));)w0=e[w0+8>>2]|0;w0=s2+-47|0,c0=w0+8|0,t=w0+((c0&7|0)==0?0:0-c0&7)|0,c0=s0+16|0,w0=t>>>0<c0>>>0?s0:t,t=w0+8|0,m0=G0+-40|0,b0=d0+8|0,a=(b0&7|0)==0?0:0-b0&7,b0=d0+a|0,$=m0-a|0,e[4078]=b0,e[4075]=$,e[b0+4>>2]=$|1,e[d0+m0+4>>2]=40,e[4079]=e[4194],m0=w0+4|0,e[m0>>2]=27,e[t>>2]=e[4184],e[t+4>>2]=e[4185],e[t+8>>2]=e[4186],e[t+12>>2]=e[4187],e[4184]=d0,e[4185]=G0,e[4187]=0,e[4186]=t,t=w0+24|0;do $=t,t=t+4|0,e[t>>2]=7;while(($+8|0)>>>0<s2>>>0);if((w0|0)!=(s0|0)){if(t=w0-s0|0,e[m0>>2]=e[m0>>2]&-2,e[s0+4>>2]=t|1,e[w0>>2]=t,$=t>>>3,t>>>0<256){b0=16328+($<<1<<2)|0,a=e[4072]|0,k0=1<<$,a&k0?(k0=b0+8|0,d2=e[k0>>2]|0,K2=k0):(e[4072]=a|k0,d2=b0,K2=b0+8|0),e[K2>>2]=s0,e[d2+12>>2]=s0,e[s0+8>>2]=d2,e[s0+12>>2]=b0;break}if(b0=t>>>8,b0?t>>>0>16777215?m2=31:(k0=(b0+1048320|0)>>>16&8,a=b0<<k0,b0=(a+520192|0)>>>16&4,$=a<<b0,a=($+245760|0)>>>16&2,N0=14-(b0|k0|a)+($<<a>>>15)|0,m2=t>>>(N0+7|0)&1|N0<<1):m2=0,N0=16592+(m2<<2)|0,e[s0+28>>2]=m2,e[s0+20>>2]=0,e[c0>>2]=0,a=e[4073]|0,$=1<<m2,!(a&$)){e[4073]=a|$,e[N0>>2]=s0,e[s0+24>>2]=N0,e[s0+12>>2]=s0,e[s0+8>>2]=s0;break}$=e[N0>>2]|0;i:do if((e[$+4>>2]&-8|0)==(t|0))O2=$;else{for(N0=t<<((m2|0)==31?0:25-(m2>>>1)|0),a=$;re=a+16+(N0>>>31<<2)|0,k0=e[re>>2]|0,!!k0;)if((e[k0+4>>2]&-8|0)==(t|0)){O2=k0;break i}else N0=N0<<1,a=k0;e[re>>2]=s0,e[s0+24>>2]=a,e[s0+12>>2]=s0,e[s0+8>>2]=s0;break e}while(0);t=O2+8|0,$=e[t>>2]|0,e[$+12>>2]=s0,e[t>>2]=s0,e[s0+8>>2]=$,e[s0+12>>2]=O2,e[s0+24>>2]=0}}else $=e[4076]|0,($|0)==0|d0>>>0<$>>>0&&(e[4076]=d0),e[4184]=d0,e[4185]=G0,e[4187]=0,e[4081]=e[4190],e[4080]=-1,e[4085]=16328,e[4084]=16328,e[4087]=16336,e[4086]=16336,e[4089]=16344,e[4088]=16344,e[4091]=16352,e[4090]=16352,e[4093]=16360,e[4092]=16360,e[4095]=16368,e[4094]=16368,e[4097]=16376,e[4096]=16376,e[4099]=16384,e[4098]=16384,e[4101]=16392,e[4100]=16392,e[4103]=16400,e[4102]=16400,e[4105]=16408,e[4104]=16408,e[4107]=16416,e[4106]=16416,e[4109]=16424,e[4108]=16424,e[4111]=16432,e[4110]=16432,e[4113]=16440,e[4112]=16440,e[4115]=16448,e[4114]=16448,e[4117]=16456,e[4116]=16456,e[4119]=16464,e[4118]=16464,e[4121]=16472,e[4120]=16472,e[4123]=16480,e[4122]=16480,e[4125]=16488,e[4124]=16488,e[4127]=16496,e[4126]=16496,e[4129]=16504,e[4128]=16504,e[4131]=16512,e[4130]=16512,e[4133]=16520,e[4132]=16520,e[4135]=16528,e[4134]=16528,e[4137]=16536,e[4136]=16536,e[4139]=16544,e[4138]=16544,e[4141]=16552,e[4140]=16552,e[4143]=16560,e[4142]=16560,e[4145]=16568,e[4144]=16568,e[4147]=16576,e[4146]=16576,$=G0+-40|0,t=d0+8|0,c0=(t&7|0)==0?0:0-t&7,t=d0+c0|0,w0=$-c0|0,e[4078]=t,e[4075]=w0,e[t+4>>2]=w0|1,e[d0+$+4>>2]=40,e[4079]=e[4194];while(0);if(d0=e[4075]|0,d0>>>0>z>>>0)return G0=d0-z|0,e[4075]=G0,d0=e[4078]|0,s0=d0+z|0,e[4078]=s0,e[s0+4>>2]=G0|1,e[d0+4>>2]=z|3,b=d0+8|0,U=r,b|0}return d0=Gi()|0,e[d0>>2]=12,b=0,U=r,b|0}function D8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0,d2=0,K2=0,m2=0,O2=0,re=0,a2=0,be=0,ce=0,ui=0,We=0,_i=0,Oe=0,x1=0,_4=0,Ki=0,q1=0,k4=0,L1=0,h4=0,b4=0;t=U,U=U+80|0,n=t+56|0,f=t+36|0,l=t+16|0,o=t+4|0,A=t+48|0,u=t,e[f>>2]=0,s=f+4|0,e[s>>2]=0,_=f+8|0,e[_>>2]=0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=1065353216,e[o>>2]=0,h=o+4|0,e[h>>2]=0,k=o+8|0,e[k>>2]=0,b=(e[i+216>>2]|0)==(e[i+220>>2]|0),p=i+120|0,w=e[i+124>>2]|0;e:do if((r|0)>0){d=i+232|0,m=i+420|0,c=i+308|0,y=i+400|0,V=i+416|0,v=i+304|0,T=i+296|0,R=i+300|0,N=i+8|0,G=i+36|0,F=i+40|0,E=l+4|0,Z=r+-1|0,Q=i+388|0,z=0;i:for(;;){C=z+1|0,(e[m>>2]|0)!=-1&&V2(y)|0?(W=e[m>>2]|0,e[V>>2]=W,W?(D=W,I=32):I=17):I=6;r:do if((I|0)==6){I=0;do if(!(j[c>>0]|0))L=1;else{if(W=e[v>>2]|0,O=e[T>>2]|0,x=e[R>>2]|0,X=O+(W>>>3)|0,X>>>0<x>>>0&&(B=J[X>>0]|0,X=W+1|0,e[v>>2]=X,1<<(W&7)&B|0)){B=O+(X>>>3)|0,B>>>0<x>>>0?(M=(J[B>>0]|0)>>>(X&7)&1,P=W+2|0,e[v>>2]=P,q=M,g=O+(P>>>3)|0,n0=P):(q=0,g=B,n0=X),g>>>0<x>>>0?(x=(J[g>>0]|0)>>>(n0&7),e[v>>2]=n0+1,l0=x<<1&2):l0=0,L=(l0|q)<<1|1;break}e[V>>2]=0,I=17;break r}while(0);e[V>>2]=L,D=L,I=32}while(0);r:do if((I|0)==17){if(I=0,x=e[s>>2]|0,(e[f>>2]|0)==(x|0)){t0=-1,I=196;break e}X=x+-4|0,x=e[X>>2]|0,B=e[N>>2]|0,P=(x|0)==-1,O=x+1|0,!P&&(M=((O>>>0)%3|0|0)==0?x+-2|0:O,(M|0)!=-1)?a=e[(e[B>>2]|0)+(M<<2)>>2]|0:a=-1,M=e[B+24>>2]|0,O=e[M+(a<<2)>>2]|0,W=O+1|0,(O|0)==-1?$=-1:$=((W>>>0)%3|0|0)==0?O+-2|0:W,W=z*3|0,O=W+1|0,e0=e[B+12>>2]|0,e[e0+(x<<2)>>2]=O,e[e0+(O<<2)>>2]=x,f0=W+2|0,e[e0+($<<2)>>2]=f0,e[e0+(f0<<2)>>2]=$,e0=e[B>>2]|0,e[e0+(W<<2)>>2]=a,B=$+1|0,($|0)!=-1&&(A0=((B>>>0)%3|0|0)==0?$+-2|0:B,(A0|0)!=-1)?_0=e[e0+(A0<<2)>>2]|0:_0=-1,e[e0+(O<<2)>>2]=_0,!P&&(P=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(P|0)!=-1)?(x=e[e0+(P<<2)>>2]|0,e[e0+(f0<<2)>>2]=x,(x|0)!=-1&&(e[M+(x<<2)>>2]=f0)):e[e0+(f0<<2)>>2]=-1,f0=(e[p>>2]|0)+(a>>>5<<2)|0,e[f0>>2]=e[f0>>2]&~(1<<(a&31)),e[X>>2]=W,e[A>>2]=e[X>>2],e[n>>2]=e[A>>2],R1(d,n)}else if((I|0)==32){switch(I=0,X=(D|0)==5,D|0){case 3:case 5:{if(W=e[s>>2]|0,(e[f>>2]|0)==(W|0)){t0=-1,I=196;break e}if(f0=e[W+-4>>2]|0,W=z*3|0,e0=X?W:W+2|0,x=W+(X&1)|0,M=(X?2:1)+W|0,X=e[N>>2]|0,P=e[X+12>>2]|0,e[P+(M<<2)>>2]=f0,e[P+(f0<<2)>>2]=M,P=X+24|0,O=X+28|0,A0=e[O>>2]|0,(A0|0)==(e[X+32>>2]|0)?(L0(P,3280),h0=e[O>>2]|0):(e[A0>>2]=-1,X=A0+4|0,e[O>>2]=X,h0=X),X=h0-(e[P>>2]|0)|0,P=(X>>2)+-1|0,O=e[N>>2]|0,A0=e[O+24>>2]|0,B=A0,((e[O+28>>2]|0)-A0>>2|0)>(w|0)){t0=-1,I=196;break e}A0=e[O>>2]|0,e[A0+(M<<2)>>2]=P,X|0&&(e[B+(P<<2)>>2]=M),(f0|0)!=-1?(M=(((f0>>>0)%3|0|0)==0?2:-1)+f0|0,(M|0)!=-1?(P=e[A0+(M<<2)>>2]|0,e[A0+(e0<<2)>>2]=P,(P|0)!=-1&&(e[B+(P<<2)>>2]=e0)):e[A0+(e0<<2)>>2]=-1,P=f0+1|0,B=((P>>>0)%3|0|0)==0?f0+-2|0:P,(B|0)==-1?p0=-1:p0=e[A0+(B<<2)>>2]|0):(e[A0+(e0<<2)>>2]=-1,p0=-1),e[A0+(x<<2)>>2]=p0,x=(e[s>>2]|0)+-4|0,e[x>>2]=W,e[A>>2]=e[x>>2],e[n>>2]=e[A>>2],R1(d,n);break}case 1:{if(x=e[f>>2]|0,W=e[s>>2]|0,(x|0)==(W|0)){t0=-1,I=196;break e}A0=W+-4|0,e0=e[A0>>2]|0,e[s>>2]=A0,B=e[E>>2]|0;t:do if(B)if(P=B+-1|0,f0=(P&B|0)==0,f0?j0=P&z:z>>>0<B>>>0?j0=z:j0=(z>>>0)%(B>>>0)|0,M=e[(e[l>>2]|0)+(j0<<2)>>2]|0,(M|0)!=0&&(X=e[M>>2]|0,(X|0)!=0)){f:do if(f0)for(M=X;;){if(O=e[M+4>>2]|0,y0=(O|0)==(z|0),!(y0|(O&P|0)==(j0|0))){k0=x,N0=A0;break t}if(y0&&(e[M+8>>2]|0)==(z|0)){V0=M;break f}if(M=e[M>>2]|0,!M){k0=x,N0=A0;break t}}else for(M=X;;){if(y0=e[M+4>>2]|0,(y0|0)==(z|0)){if((e[M+8>>2]|0)==(z|0)){V0=M;break f}}else if(y0>>>0<B>>>0?U0=y0:U0=(y0>>>0)%(B>>>0)|0,(U0|0)!=(j0|0)){k0=x,N0=A0;break t}if(M=e[M>>2]|0,!M){k0=x,N0=A0;break t}}while(0);if(X=V0+12|0,(A0|0)==(e[_>>2]|0)){L0(f,X),k0=e[f>>2]|0,N0=e[s>>2]|0;break}else{e[A0>>2]=e[X>>2],e[s>>2]=W,k0=x,N0=W;break}}else k0=x,N0=A0;else k0=x,N0=A0;while(0);if((k0|0)==(N0|0)){t0=-1,I=196;break e}if(A0=N0+-4|0,x=e[A0>>2]|0,W=e[N>>2]|0,B=(x|0)==-1,!B&&(e[(e[W+12>>2]|0)+(x<<2)>>2]|0)!=-1){t0=-1,I=196;break e}if(X=(e0|0)==-1,P=e[W+12>>2]|0,X)m0=P+-4|0;else if(f0=P+(e0<<2)|0,(e[f0>>2]|0)==-1)m0=f0;else{t0=-1,I=196;break e}f0=z*3|0,M=f0+2|0,e[P+(x<<2)>>2]=M,e[P+(M<<2)>>2]=x,y0=f0+1|0,e[m0>>2]=y0,e[P+(y0<<2)>>2]=e0,B?(O=e[W>>2]|0,e[O+(f0<<2)>>2]=-1,d0=-1,b0=-1,c0=O,w0=W):(B=(((x>>>0)%3|0|0)==0?2:-1)+x|0,O=e[W>>2]|0,(B|0)==-1?s0=-1:s0=e[O+(B<<2)>>2]|0,e[O+(f0<<2)>>2]=s0,B=x+1|0,G0=((B>>>0)%3|0|0)==0?x+-2|0:B,(G0|0)==-1?(d0=-1,b0=s0,c0=O,w0=W):(d0=e[O+(G0<<2)>>2]|0,b0=s0,c0=O,w0=W)),e[c0+(y0<<2)>>2]=d0,X?(e[c0+(M<<2)>>2]=-1,R0=-1,T0=-1):(X=(((e0>>>0)%3|0|0)==0?2:-1)+e0|0,(X|0)!=-1?(y0=e[c0+(X<<2)>>2]|0,e[c0+(M<<2)>>2]=y0,(y0|0)!=-1&&(e[(e[W+24>>2]|0)+(y0<<2)>>2]=M)):e[c0+(M<<2)>>2]=-1,y0=e0+1|0,X=((y0>>>0)%3|0|0)==0?e0+-2|0:y0,(X|0)==-1?(R0=-1,T0=-1):(R0=e[c0+(X<<2)>>2]|0,T0=X)),e[n>>2]=R0,M=e[Q>>2]|0,X=M+(b0<<2)|0,e[X>>2]=(e[X>>2]|0)+(e[M+(R0<<2)>>2]|0),M=e[W+24>>2]|0,(b0|0)!=-1&&(e[M+(b0<<2)>>2]=e[M+(e[n>>2]<<2)>>2]);t:do if((T0|0)!=-1){W=e[w0>>2]|0,X=T0;do{if(e[W+(X<<2)>>2]=b0,y0=X+1|0,O=((y0>>>0)%3|0|0)==0?X+-2|0:y0,(O|0)==-1||(y0=e[P+(O<<2)>>2]|0,O=y0+1|0,(y0|0)==-1))break t;X=((O>>>0)%3|0|0)==0?y0+-2|0:O}while((X|0)!=-1)}while(0);e[M+(e[n>>2]<<2)>>2]=-1;do if(b)if(P=e[h>>2]|0,(P|0)==(e[k>>2]|0)){L0(o,n),F0=(e[s>>2]|0)+-4|0;break}else{e[P>>2]=e[n>>2],e[h>>2]=P+4,F0=A0;break}else F0=A0;while(0);e[F0>>2]=f0,e[A>>2]=e[F0>>2],e[n>>2]=e[A>>2],R1(d,n);break r}case 7:{if(e[n>>2]=z*3,A0=e[N>>2]|0,M=A0+24|0,P=A0+28|0,e0=e[P>>2]|0,(e0|0)==(e[A0+32>>2]|0)?(L0(M,3280),I0=e[P>>2]|0):(e[e0>>2]=-1,A0=e0+4|0,e[P>>2]=A0,I0=A0),A0=I0-(e[M>>2]|0)|0,M=A0>>2,P=M+-1|0,e0=e[N>>2]|0,X=e[n>>2]|0,W=e[e0>>2]|0,e[W+(X<<2)>>2]=P,O=e0+24|0,y0=e0+28|0,G0=e[y0>>2]|0,(G0|0)==(e[e0+32>>2]|0)?(L0(O,3280),D0=e[y0>>2]|0,z0=e[e0>>2]|0):(e[G0>>2]=-1,e0=G0+4|0,e[y0>>2]=e0,D0=e0,z0=W),e[z0+(X+1<<2)>>2]=(D0-(e[O>>2]|0)>>2)+-1,O=e[N>>2]|0,X=(e[n>>2]|0)+2|0,W=O+24|0,e0=O+28|0,y0=e[e0>>2]|0,(y0|0)==(e[O+32>>2]|0)?(L0(W,3280),J0=e[e0>>2]|0):(e[y0>>2]=-1,G0=y0+4|0,e[e0>>2]=G0,J0=G0),e[(e[O>>2]|0)+(X<<2)>>2]=(J0-(e[W>>2]|0)>>2)+-1,W=e[N>>2]|0,X=e[W+24>>2]|0,O=X,((e[W+28>>2]|0)-X>>2|0)>(w|0))break i;X=e[n>>2]|0,A0?(e[O+(P<<2)>>2]=X,(A0|0)!=-4?(e[O+(M<<2)>>2]=(e[n>>2]|0)+1,A0=M+1|0,(A0|0)!=-1&&(Q0=A0,I=119)):(Q0=0,I=119)):(e[O+(M<<2)>>2]=X+1,Q0=1,I=119),(I|0)==119&&(I=0,e[O+(Q0<<2)>>2]=(e[n>>2]|0)+2),O=e[s>>2]|0,(O|0)==(e[_>>2]|0)?(L0(f,n),C0=e[s>>2]|0):(e[O>>2]=e[n>>2],X=O+4|0,e[s>>2]=X,C0=X),e[A>>2]=e[C0+-4>>2],e[n>>2]=e[A>>2],R1(d,n);break}default:{t0=-1,I=196;break e}}if(X=r-z+-1|0,O=e[F>>2]|0,(O|0)!=(e[G>>2]|0)){M=O;do{if(O=M,A0=O+-12|0,P=e[O+-8>>2]|0,P>>>0>X>>>0){t0=-1,I=196;break e}if((P|0)!=(X|0))break r;if(P=j[O+-4>>0]|0,O=e[A0>>2]|0,e[F>>2]=A0,(O|0)<0){t0=-1,I=196;break e}A0=e[(e[s>>2]|0)+-4>>2]|0,W=(A0|0)==-1;do if(P&1)G0=A0+1|0,W?O0=-1:O0=((G0>>>0)%3|0|0)==0?A0+-2|0:G0;else if(W)O0=-1;else if((A0>>>0)%3|0){O0=A0+-1|0;break}else{O0=A0+2|0;break}while(0);e[n>>2]=Z-O,A0=hr(l,n)|0,e[A0>>2]=O0,M=e[F>>2]|0}while((M|0)!=(e[G>>2]|0))}}while(0);if((C|0)<(r|0))z=C;else{x0=C,X0=N,I=139;break e}}t0=-1,I=196}else x0=0,X0=i+8|0,I=139;while(0);e:do if((I|0)==139)if(r=e[X0>>2]|0,((e[r+28>>2]|0)-(e[r+24>>2]|0)>>2|0)<=(w|0)){O0=e[s>>2]|0;do if((O0|0)!=(e[f>>2]|0)){A=i+270|0,C0=i+364|0,_=i+60|0,Q0=i+64|0,J0=i+68|0,D0=i+312|0,z0=i+360|0,I0=i+352|0,F0=i+356|0,k=i+76|0,b=i+80|0,b0=i+72|0,T0=x0,w0=O0;i:for(;;){R0=w0+-4|0,e[n>>2]=e[R0>>2],e[s>>2]=R0,(b2[A>>1]|0)<514?j[C0>>0]|0?(R0=e[z0>>2]|0,c0=(e[I0>>2]|0)+(R0>>>3)|0,c0>>>0<(e[F0>>2]|0)>>>0?(d0=(J[c0>>0]|0)>>>(R0&7)&1,e[z0>>2]=R0+1,$0=d0,I=147):I=168):I=148:($0=(V2(D0)|0)&1,I=147),(I|0)==147&&(I=0,$0?I=148:I=168);do if((I|0)==148){if(I=0,d0=e[X0>>2]|0,R0=e[d0>>2]|0,c0=R0,(T0|0)>=(((e[d0+4>>2]|0)-R0>>2>>>0)/3|0|0)){I=175;break i}if(R0=e[n>>2]|0,s0=R0+1|0,(R0|0)!=-1&&(m0=((s0>>>0)%3|0|0)==0?R0+-2|0:s0,(m0|0)!=-1)?k2=e[c0+(m0<<2)>>2]|0:k2=-1,m0=e[d0+24>>2]|0,s0=e[m0+(k2<<2)>>2]|0,N0=s0+1|0,(s0|0)!=-1&&(k0=((N0>>>0)%3|0|0)==0?s0+-2|0:N0,N0=k0+1|0,(k0|0)!=-1)?(s0=((N0>>>0)%3|0|0)==0?k0+-2|0:N0,(s0|0)==-1?(s2=-1,d2=k0):(s2=e[c0+(s0<<2)>>2]|0,d2=k0)):(s2=-1,d2=-1),k0=e[m0+(s2<<2)>>2]|0,m0=k0+1|0,(k0|0)!=-1&&(s0=((m0>>>0)%3|0|0)==0?k0+-2|0:m0,m0=s0+1|0,(s0|0)!=-1)?(k0=((m0>>>0)%3|0|0)==0?s0+-2|0:m0,(k0|0)==-1?(K2=-1,m2=s0):(K2=e[c0+(k0<<2)>>2]|0,m2=s0)):(K2=-1,m2=-1),s0=T0*3|0,e[u>>2]=s0,k0=e[d0+12>>2]|0,e[k0+(s0<<2)>>2]=R0,e[k0+(R0<<2)>>2]=s0,s0=(e[u>>2]|0)+1|0,e[k0+(s0<<2)>>2]=d2,e[k0+(d2<<2)>>2]=s0,s0=(e[u>>2]|0)+2|0,e[k0+(s0<<2)>>2]=m2,e[k0+(m2<<2)>>2]=s0,s0=e[u>>2]|0,e[c0+(s0<<2)>>2]=s2,e[c0+(s0+1<<2)>>2]=K2,e[c0+(s0+2<<2)>>2]=k2,k0=(s0|0)==-1?-1:s2,s0=e[p>>2]|0,R0=s0+(k0>>>5<<2)|0,e[R0>>2]=e[R0>>2]&~(1<<(k0&31)),k0=(e[u>>2]|0)+1|0,(k0|0)==-1?O2=-1:O2=e[c0+(k0<<2)>>2]|0,k0=s0+(O2>>>5<<2)|0,e[k0>>2]=e[k0>>2]&~(1<<(O2&31)),k0=(e[u>>2]|0)+2|0,(k0|0)==-1?re=-1:re=e[c0+(k0<<2)>>2]|0,k0=s0+(re>>>5<<2)|0,e[k0>>2]=e[k0>>2]&~(1<<(re&31)),k0=T0+1|0,s0=e[Q0>>2]|0,c0=e[J0>>2]|0,(s0|0)==(c0<<5|0)){if((s0+1|0)<0){I=162;break i}R0=c0<<6,c0=s0+32&-32,xe(_,s0>>>0<1073741823?R0>>>0<c0>>>0?c0:R0:2147483647),a2=e[Q0>>2]|0}else a2=s0;e[Q0>>2]=a2+1,s0=(e[_>>2]|0)+(a2>>>5<<2)|0,e[s0>>2]=e[s0>>2]|1<<(a2&31),s0=e[k>>2]|0,(s0|0)==(e[b>>2]|0)?L0(b0,u):(e[s0>>2]=e[u>>2],e[k>>2]=s0+4),be=k0}else if((I|0)==168){if(I=0,k0=e[Q0>>2]|0,s0=e[J0>>2]|0,(k0|0)==(s0<<5|0)){if((k0+1|0)<0){I=170;break i}R0=s0<<6,s0=k0+32&-32,xe(_,k0>>>0<1073741823?R0>>>0<s0>>>0?s0:R0:2147483647),ce=e[Q0>>2]|0}else ce=k0;if(e[Q0>>2]=ce+1,k0=(e[_>>2]|0)+(ce>>>5<<2)|0,e[k0>>2]=e[k0>>2]&~(1<<(ce&31)),k0=e[k>>2]|0,(k0|0)==(e[b>>2]|0)){L0(b0,n),be=T0;break}else{e[k0>>2]=e[n>>2],e[k>>2]=k0+4,be=T0;break}}while(0);if(w0=e[s>>2]|0,(w0|0)==(e[f>>2]|0)){I=177;break}else T0=be}if((I|0)==162)W0(_);else if((I|0)==170)W0(_);else if((I|0)==175){t0=-1,I=196;break e}else if((I|0)==177){ui=be,We=e[X0>>2]|0;break}}else ui=x0,We=r;while(0);if((ui|0)==(((e[We+4>>2]|0)-(e[We>>2]|0)>>2>>>0)/3|0|0))if(r=(e[We+28>>2]|0)-(e[We+24>>2]|0)>>2,O0=e[o>>2]|0,T0=e[h>>2]|0,(O0|0)==(T0|0))_i=r,Oe=O0;else for(w0=n+4|0,k=n+8|0,b0=n+12|0,b=r,r=O0,O0=We;;){if(Q0=e[r>>2]|0,J0=b+-1|0,D0=e[O0+24>>2]|0,z0=D0+(J0<<2)|0,(e[z0>>2]|0)==-1)for(F0=b;;)if(I0=F0+-1|0,C0=F0+-2|0,A=D0+(C0<<2)|0,(e[A>>2]|0)==-1)F0=I0;else{x1=I0,_4=A,Ki=C0;break}else x1=b,_4=z0,Ki=J0;if(Ki>>>0<Q0>>>0)q1=x1,k4=O0;else{if(e[n>>2]=O0,F0=e[_4>>2]|0,e[w0>>2]=F0,e[k>>2]=F0,j[b0>>0]=1,(F0|0)==-1)L1=D0,h4=O0;else{_=O0,C0=F0;do e[(e[_>>2]|0)+(C0<<2)>>2]=Q0,U1(n),C0=e[k>>2]|0,_=e[X0>>2]|0;while((C0|0)!=-1);L1=e[_+24>>2]|0,h4=_}C0=L1+(Ki<<2)|0,(Q0|0)!=-1&&(e[L1+(Q0<<2)>>2]=e[C0>>2]),e[C0>>2]=-1,C0=e[p>>2]|0,D0=C0+(Ki>>>5<<2)|0,J0=1<<(Ki&31),z0=C0+(Q0>>>5<<2)|0,C0=1<<(Q0&31),e[D0>>2]&J0?b4=e[z0>>2]|C0:b4=e[z0>>2]&~C0,e[z0>>2]=b4,e[D0>>2]=e[D0>>2]&~J0,q1=x1+-1|0,k4=h4}if(r=r+4|0,(r|0)==(T0|0)){t0=q1,I=196;break}else b=q1,O0=k4}else t0=-1,I=196}else t0=-1,I=196;while(0);if((I|0)==196&&(_i=t0,Oe=e[o>>2]|0),Oe|0&&(e[h>>2]=Oe,Y(Oe)),Oe=e[l+8>>2]|0,Oe|0){h=Oe;do Oe=h,h=e[h>>2]|0,Y(Oe);while((h|0)!=0)}return h=e[l>>2]|0,e[l>>2]=0,h|0&&Y(h),h=e[f>>2]|0,h?(e[s>>2]=h,Y(h),U=t,_i|0):(U=t,_i|0)}function B8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0,d2=0,K2=0,m2=0,O2=0,re=0,a2=0,be=0,ce=0;t=U,U=U+80|0,n=t+56|0,f=t+36|0,l=t+16|0,o=t+4|0,A=t+48|0,u=t,e[f>>2]=0,s=f+4|0,e[s>>2]=0,_=f+8|0,e[_>>2]=0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=1065353216,e[o>>2]=0,h=o+4|0,e[h>>2]=0,k=o+8|0,e[k>>2]=0,b=(e[i+216>>2]|0)==(e[i+220>>2]|0),p=i+120|0,w=e[i+124>>2]|0;e:do if((r|0)>0){d=i+232|0,m=i+8|0,c=i+36|0,y=i+40|0,V=l+4|0,v=r+-1|0,T=i+388|0,R=0;i:for(;;){N=R+1|0,G=Qu(d)|0;r:do if(G){switch(F=(G|0)==5,G|0){case 3:case 5:{if(E=e[s>>2]|0,(e[f>>2]|0)==(E|0)){Z=-1,Q=184;break e}if(z=e[E+-4>>2]|0,E=R*3|0,C=F?E:E+2|0,W=E+(F&1)|0,I=(F?2:1)+E|0,F=e[m>>2]|0,D=e[F+12>>2]|0,e[D+(I<<2)>>2]=z,e[D+(z<<2)>>2]=I,D=F+24|0,L=F+28|0,O=e[L>>2]|0,(O|0)==(e[F+32>>2]|0)?(L0(D,3280),x=e[L>>2]|0):(e[O>>2]=-1,F=O+4|0,e[L>>2]=F,x=F),F=x-(e[D>>2]|0)|0,D=(F>>2)+-1|0,L=e[m>>2]|0,O=e[L+24>>2]|0,X=O,((e[L+28>>2]|0)-O>>2|0)>(w|0)){Z=-1,Q=184;break e}O=e[L>>2]|0,e[O+(I<<2)>>2]=D,F|0&&(e[X+(D<<2)>>2]=I),(z|0)!=-1?(I=(((z>>>0)%3|0|0)==0?2:-1)+z|0,(I|0)!=-1?(D=e[O+(I<<2)>>2]|0,e[O+(C<<2)>>2]=D,(D|0)!=-1&&(e[X+(D<<2)>>2]=C)):e[O+(C<<2)>>2]=-1,D=z+1|0,X=((D>>>0)%3|0|0)==0?z+-2|0:D,(X|0)==-1?B=-1:B=e[O+(X<<2)>>2]|0):(e[O+(C<<2)>>2]=-1,B=-1),e[O+(W<<2)>>2]=B,W=(e[s>>2]|0)+-4|0,e[W>>2]=E,e[A>>2]=e[W>>2],e[n>>2]=e[A>>2],G1(d,n);break}case 1:{if(W=e[f>>2]|0,E=e[s>>2]|0,(W|0)==(E|0)){Z=-1,Q=184;break e}O=E+-4|0,C=e[O>>2]|0,e[s>>2]=O,X=e[V>>2]|0;t:do if(X)if(D=X+-1|0,z=(D&X|0)==0,z?M=D&R:R>>>0<X>>>0?M=R:M=(R>>>0)%(X>>>0)|0,I=e[(e[l>>2]|0)+(M<<2)>>2]|0,(I|0)!=0&&(F=e[I>>2]|0,(F|0)!=0)){f:do if(z)for(I=F;;){if(L=e[I+4>>2]|0,P=(L|0)==(R|0),!(P|(L&D|0)==(M|0))){q=W,g=O;break t}if(P&&(e[I+8>>2]|0)==(R|0)){n0=I;break f}if(I=e[I>>2]|0,!I){q=W,g=O;break t}}else for(I=F;;){if(P=e[I+4>>2]|0,(P|0)==(R|0)){if((e[I+8>>2]|0)==(R|0)){n0=I;break f}}else if(P>>>0<X>>>0?l0=P:l0=(P>>>0)%(X>>>0)|0,(l0|0)!=(M|0)){q=W,g=O;break t}if(I=e[I>>2]|0,!I){q=W,g=O;break t}}while(0);if(F=n0+12|0,(O|0)==(e[_>>2]|0)){L0(f,F),q=e[f>>2]|0,g=e[s>>2]|0;break}else{e[O>>2]=e[F>>2],e[s>>2]=E,q=W,g=E;break}}else q=W,g=O;else q=W,g=O;while(0);if((q|0)==(g|0)){Z=-1,Q=184;break e}if(O=g+-4|0,W=e[O>>2]|0,E=e[m>>2]|0,X=(W|0)==-1,!X&&(e[(e[E+12>>2]|0)+(W<<2)>>2]|0)!=-1){Z=-1,Q=184;break e}if(F=(C|0)==-1,D=e[E+12>>2]|0,F)t0=D+-4|0;else if(z=D+(C<<2)|0,(e[z>>2]|0)==-1)t0=z;else{Z=-1,Q=184;break e}z=R*3|0,I=z+2|0,e[D+(W<<2)>>2]=I,e[D+(I<<2)>>2]=W,P=z+1|0,e[t0>>2]=P,e[D+(P<<2)>>2]=C,X?(L=e[E>>2]|0,e[L+(z<<2)>>2]=-1,e0=-1,f0=-1,A0=L,_0=E):(X=(((W>>>0)%3|0|0)==0?2:-1)+W|0,L=e[E>>2]|0,(X|0)==-1?a=-1:a=e[L+(X<<2)>>2]|0,e[L+(z<<2)>>2]=a,X=W+1|0,$=((X>>>0)%3|0|0)==0?W+-2|0:X,($|0)==-1?(e0=-1,f0=a,A0=L,_0=E):(e0=e[L+($<<2)>>2]|0,f0=a,A0=L,_0=E)),e[A0+(P<<2)>>2]=e0,F?(e[A0+(I<<2)>>2]=-1,h0=-1,p0=-1):(F=(((C>>>0)%3|0|0)==0?2:-1)+C|0,(F|0)!=-1?(P=e[A0+(F<<2)>>2]|0,e[A0+(I<<2)>>2]=P,(P|0)!=-1&&(e[(e[E+24>>2]|0)+(P<<2)>>2]=I)):e[A0+(I<<2)>>2]=-1,P=C+1|0,F=((P>>>0)%3|0|0)==0?C+-2|0:P,(F|0)==-1?(h0=-1,p0=-1):(h0=e[A0+(F<<2)>>2]|0,p0=F)),e[n>>2]=h0,I=e[T>>2]|0,F=I+(f0<<2)|0,e[F>>2]=(e[F>>2]|0)+(e[I+(h0<<2)>>2]|0),I=e[E+24>>2]|0,(f0|0)!=-1&&(e[I+(f0<<2)>>2]=e[I+(e[n>>2]<<2)>>2]);t:do if((p0|0)!=-1){E=e[_0>>2]|0,F=p0;do{if(e[E+(F<<2)>>2]=f0,P=F+1|0,L=((P>>>0)%3|0|0)==0?F+-2|0:P,(L|0)==-1||(P=e[D+(L<<2)>>2]|0,L=P+1|0,(P|0)==-1))break t;F=((L>>>0)%3|0|0)==0?P+-2|0:L}while((F|0)!=-1)}while(0);e[I+(e[n>>2]<<2)>>2]=-1;do if(b)if(D=e[h>>2]|0,(D|0)==(e[k>>2]|0)){L0(o,n),j0=(e[s>>2]|0)+-4|0;break}else{e[D>>2]=e[n>>2],e[h>>2]=D+4,j0=O;break}else j0=O;while(0);e[j0>>2]=z,e[A>>2]=e[j0>>2],e[n>>2]=e[A>>2],G1(d,n);break r}case 7:{if(e[n>>2]=R*3,O=e[m>>2]|0,I=O+24|0,D=O+28|0,C=e[D>>2]|0,(C|0)==(e[O+32>>2]|0)?(L0(I,3280),y0=e[D>>2]|0):(e[C>>2]=-1,O=C+4|0,e[D>>2]=O,y0=O),O=y0-(e[I>>2]|0)|0,I=O>>2,D=I+-1|0,C=e[m>>2]|0,F=e[n>>2]|0,E=e[C>>2]|0,e[E+(F<<2)>>2]=D,L=C+24|0,P=C+28|0,$=e[P>>2]|0,($|0)==(e[C+32>>2]|0)?(L0(L,3280),k0=e[P>>2]|0,N0=e[C>>2]|0):(e[$>>2]=-1,C=$+4|0,e[P>>2]=C,k0=C,N0=E),e[N0+(F+1<<2)>>2]=(k0-(e[L>>2]|0)>>2)+-1,L=e[m>>2]|0,F=(e[n>>2]|0)+2|0,E=L+24|0,C=L+28|0,P=e[C>>2]|0,(P|0)==(e[L+32>>2]|0)?(L0(E,3280),V0=e[C>>2]|0):(e[P>>2]=-1,$=P+4|0,e[C>>2]=$,V0=$),e[(e[L>>2]|0)+(F<<2)>>2]=(V0-(e[E>>2]|0)>>2)+-1,E=e[m>>2]|0,F=e[E+24>>2]|0,L=F,((e[E+28>>2]|0)-F>>2|0)>(w|0))break i;F=e[n>>2]|0,O?(e[L+(D<<2)>>2]=F,(O|0)!=-4?(e[L+(I<<2)>>2]=(e[n>>2]|0)+1,O=I+1|0,(O|0)!=-1&&(U0=O,Q=107)):(U0=0,Q=107)):(e[L+(I<<2)>>2]=F+1,U0=1,Q=107),(Q|0)==107&&(Q=0,e[L+(U0<<2)>>2]=(e[n>>2]|0)+2),L=e[s>>2]|0,(L|0)==(e[_>>2]|0)?(L0(f,n),m0=e[s>>2]|0):(e[L>>2]=e[n>>2],F=L+4|0,e[s>>2]=F,m0=F),e[A>>2]=e[m0+-4>>2],e[n>>2]=e[A>>2],G1(d,n);break}default:{Z=-1,Q=184;break e}}if(F=r-R+-1|0,L=e[y>>2]|0,(L|0)!=(e[c>>2]|0)){I=L;do{if(L=I,O=L+-12|0,D=e[L+-8>>2]|0,D>>>0>F>>>0){Z=-1,Q=184;break e}if((D|0)!=(F|0))break r;if(D=j[L+-4>>0]|0,L=e[O>>2]|0,e[y>>2]=O,(L|0)<0){Z=-1,Q=184;break e}O=e[(e[s>>2]|0)+-4>>2]|0,E=(O|0)==-1;do if(D&1)$=O+1|0,E?s0=-1:s0=(($>>>0)%3|0|0)==0?O+-2|0:$;else if(E)s0=-1;else if((O>>>0)%3|0){s0=O+-1|0;break}else{s0=O+2|0;break}while(0);e[n>>2]=v-L,O=hr(l,n)|0,e[O>>2]=s0,I=e[y>>2]|0}while((I|0)!=(e[c>>2]|0))}}else{if(I=e[s>>2]|0,(e[f>>2]|0)==(I|0)){Z=-1,Q=184;break e}F=I+-4|0,I=e[F>>2]|0,z=e[m>>2]|0,O=(I|0)==-1,E=I+1|0,!O&&(D=((E>>>0)%3|0|0)==0?I+-2|0:E,(D|0)!=-1)?G0=e[(e[z>>2]|0)+(D<<2)>>2]|0:G0=-1,D=e[z+24>>2]|0,E=e[D+(G0<<2)>>2]|0,$=E+1|0,(E|0)==-1?d0=-1:d0=(($>>>0)%3|0|0)==0?E+-2|0:$,$=R*3|0,E=$+1|0,C=e[z+12>>2]|0,e[C+(I<<2)>>2]=E,e[C+(E<<2)>>2]=I,P=$+2|0,e[C+(d0<<2)>>2]=P,e[C+(P<<2)>>2]=d0,C=e[z>>2]|0,e[C+($<<2)>>2]=G0,z=d0+1|0,(d0|0)!=-1&&(X=((z>>>0)%3|0|0)==0?d0+-2|0:z,(X|0)!=-1)?b0=e[C+(X<<2)>>2]|0:b0=-1,e[C+(E<<2)>>2]=b0,!O&&(O=(((I>>>0)%3|0|0)==0?2:-1)+I|0,(O|0)!=-1)?(I=e[C+(O<<2)>>2]|0,e[C+(P<<2)>>2]=I,(I|0)!=-1&&(e[D+(I<<2)>>2]=P)):e[C+(P<<2)>>2]=-1,P=(e[p>>2]|0)+(G0>>>5<<2)|0,e[P>>2]=e[P>>2]&~(1<<(G0&31)),e[F>>2]=$,e[A>>2]=e[F>>2],e[n>>2]=e[A>>2],G1(d,n)}while(0);if((N|0)<(r|0))R=N;else{c0=N,w0=m,Q=127;break e}}Z=-1,Q=184}else c0=0,w0=i+8|0,Q=127;while(0);e:do if((Q|0)==127)if(r=e[w0>>2]|0,((e[r+28>>2]|0)-(e[r+24>>2]|0)>>2|0)<=(w|0)){A=e[s>>2]|0;do if((A|0)!=(e[f>>2]|0)){G0=i+270|0,b0=i+364|0,d0=i+60|0,s0=i+64|0,m0=i+68|0,_=i+312|0,U0=i+360|0,V0=i+352|0,k0=i+356|0,N0=i+76|0,y0=i+80|0,j0=i+72|0,k=c0,b=A;i:for(;;){f0=b+-4|0,e[n>>2]=e[f0>>2],e[s>>2]=f0,(b2[G0>>1]|0)<514?j[b0>>0]|0?(f0=e[U0>>2]|0,p0=(e[V0>>2]|0)+(f0>>>3)|0,p0>>>0<(e[k0>>2]|0)>>>0?(_0=(J[p0>>0]|0)>>>(f0&7)&1,e[U0>>2]=f0+1,R0=_0,Q=135):Q=156):Q=136:(R0=(V2(_)|0)&1,Q=135),(Q|0)==135&&(Q=0,R0?Q=136:Q=156);do if((Q|0)==136){if(Q=0,_0=e[w0>>2]|0,f0=e[_0>>2]|0,p0=f0,(k|0)>=(((e[_0+4>>2]|0)-f0>>2>>>0)/3|0|0)){Q=163;break i}if(f0=e[n>>2]|0,h0=f0+1|0,(f0|0)!=-1&&(A0=((h0>>>0)%3|0|0)==0?f0+-2|0:h0,(A0|0)!=-1)?T0=e[p0+(A0<<2)>>2]|0:T0=-1,A0=e[_0+24>>2]|0,h0=e[A0+(T0<<2)>>2]|0,e0=h0+1|0,(h0|0)!=-1&&(a=((e0>>>0)%3|0|0)==0?h0+-2|0:e0,e0=a+1|0,(a|0)!=-1)?(h0=((e0>>>0)%3|0|0)==0?a+-2|0:e0,(h0|0)==-1?(F0=-1,I0=a):(F0=e[p0+(h0<<2)>>2]|0,I0=a)):(F0=-1,I0=-1),a=e[A0+(F0<<2)>>2]|0,A0=a+1|0,(a|0)!=-1&&(h0=((A0>>>0)%3|0|0)==0?a+-2|0:A0,A0=h0+1|0,(h0|0)!=-1)?(a=((A0>>>0)%3|0|0)==0?h0+-2|0:A0,(a|0)==-1?(D0=-1,z0=h0):(D0=e[p0+(a<<2)>>2]|0,z0=h0)):(D0=-1,z0=-1),h0=k*3|0,e[u>>2]=h0,a=e[_0+12>>2]|0,e[a+(h0<<2)>>2]=f0,e[a+(f0<<2)>>2]=h0,h0=(e[u>>2]|0)+1|0,e[a+(h0<<2)>>2]=I0,e[a+(I0<<2)>>2]=h0,h0=(e[u>>2]|0)+2|0,e[a+(h0<<2)>>2]=z0,e[a+(z0<<2)>>2]=h0,h0=e[u>>2]|0,e[p0+(h0<<2)>>2]=F0,e[p0+(h0+1<<2)>>2]=D0,e[p0+(h0+2<<2)>>2]=T0,a=(h0|0)==-1?-1:F0,h0=e[p>>2]|0,f0=h0+(a>>>5<<2)|0,e[f0>>2]=e[f0>>2]&~(1<<(a&31)),a=(e[u>>2]|0)+1|0,(a|0)==-1?J0=-1:J0=e[p0+(a<<2)>>2]|0,a=h0+(J0>>>5<<2)|0,e[a>>2]=e[a>>2]&~(1<<(J0&31)),a=(e[u>>2]|0)+2|0,(a|0)==-1?Q0=-1:Q0=e[p0+(a<<2)>>2]|0,a=h0+(Q0>>>5<<2)|0,e[a>>2]=e[a>>2]&~(1<<(Q0&31)),a=k+1|0,h0=e[s0>>2]|0,p0=e[m0>>2]|0,(h0|0)==(p0<<5|0)){if((h0+1|0)<0){Q=150;break i}f0=p0<<6,p0=h0+32&-32,xe(d0,h0>>>0<1073741823?f0>>>0<p0>>>0?p0:f0:2147483647),C0=e[s0>>2]|0}else C0=h0;e[s0>>2]=C0+1,h0=(e[d0>>2]|0)+(C0>>>5<<2)|0,e[h0>>2]=e[h0>>2]|1<<(C0&31),h0=e[N0>>2]|0,(h0|0)==(e[y0>>2]|0)?L0(j0,u):(e[h0>>2]=e[u>>2],e[N0>>2]=h0+4),O0=a}else if((Q|0)==156){if(Q=0,a=e[s0>>2]|0,h0=e[m0>>2]|0,(a|0)==(h0<<5|0)){if((a+1|0)<0){Q=158;break i}f0=h0<<6,h0=a+32&-32,xe(d0,a>>>0<1073741823?f0>>>0<h0>>>0?h0:f0:2147483647),x0=e[s0>>2]|0}else x0=a;if(e[s0>>2]=x0+1,a=(e[d0>>2]|0)+(x0>>>5<<2)|0,e[a>>2]=e[a>>2]&~(1<<(x0&31)),a=e[N0>>2]|0,(a|0)==(e[y0>>2]|0)){L0(j0,n),O0=k;break}else{e[a>>2]=e[n>>2],e[N0>>2]=a+4,O0=k;break}}while(0);if(b=e[s>>2]|0,(b|0)==(e[f>>2]|0)){Q=165;break}else k=O0}if((Q|0)==150)W0(d0);else if((Q|0)==158)W0(d0);else if((Q|0)==163){Z=-1,Q=184;break e}else if((Q|0)==165){X0=O0,$0=e[w0>>2]|0;break}}else X0=c0,$0=r;while(0);if((X0|0)==(((e[$0+4>>2]|0)-(e[$0>>2]|0)>>2>>>0)/3|0|0))if(r=(e[$0+28>>2]|0)-(e[$0+24>>2]|0)>>2,A=e[o>>2]|0,k=e[h>>2]|0,(A|0)==(k|0))k2=r,s2=A;else for(b=n+4|0,N0=n+8|0,j0=n+12|0,y0=r,r=A,A=$0;;){if(s0=e[r>>2]|0,m0=y0+-1|0,_=e[A+24>>2]|0,U0=_+(m0<<2)|0,(e[U0>>2]|0)==-1)for(k0=y0;;)if(V0=k0+-1|0,b0=k0+-2|0,G0=_+(b0<<2)|0,(e[G0>>2]|0)==-1)k0=V0;else{d2=V0,K2=G0,m2=b0;break}else d2=y0,K2=U0,m2=m0;if(m2>>>0<s0>>>0)O2=d2,re=A;else{if(e[n>>2]=A,k0=e[K2>>2]|0,e[b>>2]=k0,e[N0>>2]=k0,j[j0>>0]=1,(k0|0)==-1)a2=_,be=A;else{d0=A,b0=k0;do e[(e[d0>>2]|0)+(b0<<2)>>2]=s0,U1(n),b0=e[N0>>2]|0,d0=e[w0>>2]|0;while((b0|0)!=-1);a2=e[d0+24>>2]|0,be=d0}b0=a2+(m2<<2)|0,(s0|0)!=-1&&(e[a2+(s0<<2)>>2]=e[b0>>2]),e[b0>>2]=-1,b0=e[p>>2]|0,_=b0+(m2>>>5<<2)|0,m0=1<<(m2&31),U0=b0+(s0>>>5<<2)|0,b0=1<<(s0&31),e[_>>2]&m0?ce=e[U0>>2]|b0:ce=e[U0>>2]&~b0,e[U0>>2]=ce,e[_>>2]=e[_>>2]&~m0,O2=d2+-1|0,re=be}if(r=r+4|0,(r|0)==(k|0)){Z=O2,Q=184;break}else y0=O2,A=re}else Z=-1,Q=184}else Z=-1,Q=184;while(0);if((Q|0)==184&&(k2=Z,s2=e[o>>2]|0),s2|0&&(e[h>>2]=s2,Y(s2)),s2=e[l+8>>2]|0,s2|0){h=s2;do s2=h,h=e[h>>2]|0,Y(s2);while((h|0)!=0)}return h=e[l>>2]|0,e[l>>2]=0,h|0&&Y(h),h=e[f>>2]|0,h?(e[s>>2]=h,Y(h),U=t,k2|0):(U=t,k2|0)}function M8(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0,d2=0,K2=0,m2=0,O2=0,re=0,a2=0,be=0,ce=0,ui=0,We=0,_i=0;t=U,U=U+80|0,n=t+56|0,f=t+36|0,l=t+24|0,o=t+8|0,A=t,e[n>>2]=0,u=n+4|0,e[u>>2]=0,s=n+8|0,e[s>>2]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=1065353216,e[l>>2]=0,_=l+4|0,e[_>>2]=0,h=l+8|0,e[h>>2]=0,k=(e[i+216>>2]|0)==(e[i+220>>2]|0),b=i+120|0,p=e[i+124>>2]|0;e:do if((r|0)>0){w=i+308|0,d=i+304|0,m=i+296|0,c=i+300|0,y=f+4|0,V=i+8|0,v=i+36|0,T=i+40|0,R=r+-1|0,N=0;i:for(;;){G=N+1|0;r:do if(!(j[w>>0]|0))F=43;else{if(E=e[d>>2]|0,Z=e[m>>2]|0,Q=e[c>>2]|0,z=Z+(E>>>3)|0,z>>>0<Q>>>0&&(C=J[z>>0]|0,z=E+1|0,e[d>>2]=z,1<<(E&7)&C|0)){switch(C=Z+(z>>>3)|0,C>>>0<Q>>>0?(W=(J[C>>0]|0)>>>(z&7)&1,I=E+2|0,e[d>>2]=I,D=W,L=Z+(I>>>3)|0,O=I):(D=0,L=C,O=z),L>>>0<Q>>>0?(Q=(J[L>>0]|0)>>>(O&7),e[d>>2]=O+1,x=Q<<1&2):x=0,Q=(x|D)<<1|1,z=(Q|0)==5,Q&7){case 1:{F=43;break r}case 3:case 5:{if(Q=e[u>>2]|0,(e[n>>2]|0)==(Q|0)){X=-1,F=191;break e}if(C=e[Q+-4>>2]|0,Q=N*3|0,I=z?Q:Q+2|0,Z=Q+(z&1)|0,W=(z?2:1)+Q|0,z=e[V>>2]|0,E=e[z+12>>2]|0,e[E+(W<<2)>>2]=C,e[E+(C<<2)>>2]=W,E=z+24|0,B=z+28|0,M=e[B>>2]|0,(M|0)==(e[z+32>>2]|0)?(L0(E,3280),P=e[B>>2]|0):(e[M>>2]=-1,z=M+4|0,e[B>>2]=z,P=z),z=P-(e[E>>2]|0)|0,E=(z>>2)+-1|0,B=e[V>>2]|0,M=e[B+24>>2]|0,q=M,((e[B+28>>2]|0)-M>>2|0)>(p|0)){X=-1,F=191;break e}M=e[B>>2]|0,e[M+(W<<2)>>2]=E,z|0&&(e[q+(E<<2)>>2]=W),(C|0)!=-1?(W=(((C>>>0)%3|0|0)==0?2:-1)+C|0,(W|0)!=-1?(E=e[M+(W<<2)>>2]|0,e[M+(I<<2)>>2]=E,(E|0)!=-1&&(e[q+(E<<2)>>2]=I)):e[M+(I<<2)>>2]=-1,E=C+1|0,q=((E>>>0)%3|0|0)==0?C+-2|0:E,(q|0)==-1?g=-1:g=e[M+(q<<2)>>2]|0):(e[M+(I<<2)>>2]=-1,g=-1),e[M+(Z<<2)>>2]=g,e[(e[u>>2]|0)+-4>>2]=Q;break}case 7:{if(e[o>>2]=N*3,Q=e[V>>2]|0,Z=Q+24|0,M=Q+28|0,I=e[M>>2]|0,(I|0)==(e[Q+32>>2]|0)?(L0(Z,3280),n0=e[M>>2]|0):(e[I>>2]=-1,Q=I+4|0,e[M>>2]=Q,n0=Q),Q=n0-(e[Z>>2]|0)|0,Z=Q>>2,M=Z+-1|0,I=e[V>>2]|0,q=e[o>>2]|0,E=e[I>>2]|0,e[E+(q<<2)>>2]=M,C=I+24|0,W=I+28|0,z=e[W>>2]|0,(z|0)==(e[I+32>>2]|0)?(L0(C,3280),l0=e[W>>2]|0,t0=e[I>>2]|0):(e[z>>2]=-1,I=z+4|0,e[W>>2]=I,l0=I,t0=E),e[t0+(q+1<<2)>>2]=(l0-(e[C>>2]|0)>>2)+-1,C=e[V>>2]|0,q=(e[o>>2]|0)+2|0,E=C+24|0,I=C+28|0,W=e[I>>2]|0,(W|0)==(e[C+32>>2]|0)?(L0(E,3280),a=e[I>>2]|0):(e[W>>2]=-1,z=W+4|0,e[I>>2]=z,a=z),e[(e[C>>2]|0)+(q<<2)>>2]=(a-(e[E>>2]|0)>>2)+-1,E=e[V>>2]|0,q=e[E+24>>2]|0,C=q,((e[E+28>>2]|0)-q>>2|0)>(p|0)){F=117;break i}q=e[o>>2]|0,Q?(e[C+(M<<2)>>2]=q,(Q|0)!=-4?(e[C+(Z<<2)>>2]=(e[o>>2]|0)+1,Q=Z+1|0,(Q|0)!=-1&&($=Q,F=112)):($=0,F=112)):(e[C+(Z<<2)>>2]=q+1,$=1,F=112),(F|0)==112&&(F=0,e[C+($<<2)>>2]=(e[o>>2]|0)+2),C=e[u>>2]|0,(C|0)==(e[s>>2]|0)?L0(n,o):(e[C>>2]=e[o>>2],e[u>>2]=C+4);break}default:{F=190;break i}}if(C=r-N+-1|0,q=e[T>>2]|0,(q|0)==(e[v>>2]|0))break;for(Z=q;;){if(q=Z,Q=q+-12|0,M=e[q+-8>>2]|0,M>>>0>C>>>0){X=-1,F=191;break e}if((M|0)!=(C|0))break r;if(M=j[q+-4>>0]|0,q=e[Q>>2]|0,e[T>>2]=Q,(q|0)<0){X=-1,F=191;break e}Q=e[(e[u>>2]|0)+-4>>2]|0,E=(Q|0)==-1;do if(M&1)z=Q+1|0,E?e0=-1:e0=((z>>>0)%3|0|0)==0?Q+-2|0:z;else if(E)e0=-1;else if((Q>>>0)%3|0){e0=Q+-1|0;break}else{e0=Q+2|0;break}while(0);if(e[o>>2]=R-q,Q=hr(f,o)|0,e[Q>>2]=e0,Z=e[T>>2]|0,(Z|0)==(e[v>>2]|0))break r}}if(Z=e[u>>2]|0,(e[n>>2]|0)==(Z|0)){X=-1,F=191;break e}C=Z+-4|0,Z=e[C>>2]|0,Q=e[V>>2]|0,E=(Z|0)==-1,M=Z+1|0,!E&&(z=((M>>>0)%3|0|0)==0?Z+-2|0:M,(z|0)!=-1)?f0=e[(e[Q>>2]|0)+(z<<2)>>2]|0:f0=-1,z=e[Q+24>>2]|0,M=e[z+(f0<<2)>>2]|0,I=M+1|0,(M|0)==-1?A0=-1:A0=((I>>>0)%3|0|0)==0?M+-2|0:I,I=N*3|0,M=I+1|0,W=e[Q+12>>2]|0,e[W+(Z<<2)>>2]=M,e[W+(M<<2)>>2]=Z,B=I+2|0,e[W+(A0<<2)>>2]=B,e[W+(B<<2)>>2]=A0,W=e[Q>>2]|0,e[W+(I<<2)>>2]=f0,Q=A0+1|0,(A0|0)!=-1&&(_0=((Q>>>0)%3|0|0)==0?A0+-2|0:Q,(_0|0)!=-1)?h0=e[W+(_0<<2)>>2]|0:h0=-1,e[W+(M<<2)>>2]=h0,!E&&(E=(((Z>>>0)%3|0|0)==0?2:-1)+Z|0,(E|0)!=-1)?(Z=e[W+(E<<2)>>2]|0,e[W+(B<<2)>>2]=Z,(Z|0)!=-1&&(e[z+(Z<<2)>>2]=B)):e[W+(B<<2)>>2]=-1,B=(e[b>>2]|0)+(f0>>>5<<2)|0,e[B>>2]=e[B>>2]&~(1<<(f0&31)),e[C>>2]=I}while(0);if((F|0)==43){if(F=0,I=e[n>>2]|0,C=e[u>>2]|0,(I|0)==(C|0)){X=-1,F=191;break e}B=C+-4|0,W=e[B>>2]|0,e[u>>2]=B,Z=e[y>>2]|0;r:do if(Z)if(z=Z+-1|0,E=(z&Z|0)==0,E?p0=z&N:N>>>0<Z>>>0?p0=N:p0=(N>>>0)%(Z>>>0)|0,M=e[(e[f>>2]|0)+(p0<<2)>>2]|0,(M|0)!=0&&(_0=e[M>>2]|0,(_0|0)!=0)){t:do if(E)for(M=_0;;){if(Q=e[M+4>>2]|0,j0=(Q|0)==(N|0),!(j0|(Q&z|0)==(p0|0))){y0=I,k0=B;break r}if(j0&&(e[M+8>>2]|0)==(N|0)){N0=M;break t}if(M=e[M>>2]|0,!M){y0=I,k0=B;break r}}else for(M=_0;;){if(q=e[M+4>>2]|0,(q|0)==(N|0)){if((e[M+8>>2]|0)==(N|0)){N0=M;break t}}else if(q>>>0<Z>>>0?V0=q:V0=(q>>>0)%(Z>>>0)|0,(V0|0)!=(p0|0)){y0=I,k0=B;break r}if(M=e[M>>2]|0,!M){y0=I,k0=B;break r}}while(0);if(_0=N0+12|0,(B|0)==(e[s>>2]|0)){L0(n,_0),y0=e[n>>2]|0,k0=e[u>>2]|0;break}else{e[B>>2]=e[_0>>2],e[u>>2]=C,y0=I,k0=C;break}}else y0=I,k0=B;else y0=I,k0=B;while(0);if((y0|0)==(k0|0)){X=-1,F=191;break e}if(B=k0+-4|0,I=e[B>>2]|0,C=e[V>>2]|0,Z=(I|0)==-1,!Z&&(e[(e[C+12>>2]|0)+(I<<2)>>2]|0)!=-1){X=-1,F=191;break e}if(_0=(W|0)==-1,z=e[C+12>>2]|0,_0)U0=z+-4|0;else if(E=z+(W<<2)|0,(e[E>>2]|0)==-1)U0=E;else{X=-1,F=191;break e}E=N*3|0,M=E+2|0,e[z+(I<<2)>>2]=M,e[z+(M<<2)>>2]=I,q=E+1|0,e[U0>>2]=q,e[z+(q<<2)>>2]=W,Z?(j0=e[C>>2]|0,e[j0+(E<<2)>>2]=-1,s0=-1,G0=-1,d0=j0,b0=C):(Z=(((I>>>0)%3|0|0)==0?2:-1)+I|0,j0=e[C>>2]|0,(Z|0)==-1?m0=-1:m0=e[j0+(Z<<2)>>2]|0,e[j0+(E<<2)>>2]=m0,Z=I+1|0,Q=((Z>>>0)%3|0|0)==0?I+-2|0:Z,(Q|0)==-1?(s0=-1,G0=m0,d0=j0,b0=C):(s0=e[j0+(Q<<2)>>2]|0,G0=m0,d0=j0,b0=C)),e[d0+(q<<2)>>2]=s0,_0?(e[d0+(M<<2)>>2]=-1,c0=-1,w0=-1):(_0=(((W>>>0)%3|0|0)==0?2:-1)+W|0,(_0|0)!=-1?(q=e[d0+(_0<<2)>>2]|0,e[d0+(M<<2)>>2]=q,(q|0)!=-1&&(e[(e[C+24>>2]|0)+(q<<2)>>2]=M)):e[d0+(M<<2)>>2]=-1,q=W+1|0,_0=((q>>>0)%3|0|0)==0?W+-2|0:q,(_0|0)==-1?(c0=-1,w0=-1):(c0=e[d0+(_0<<2)>>2]|0,w0=_0)),e[o>>2]=c0,M=e[C+24>>2]|0,(G0|0)!=-1&&(e[M+(G0<<2)>>2]=e[M+(c0<<2)>>2]);r:do if((w0|0)!=-1){C=e[b0>>2]|0,_0=w0;do{if(e[C+(_0<<2)>>2]=G0,q=_0+1|0,j0=((q>>>0)%3|0|0)==0?_0+-2|0:q,(j0|0)==-1||(q=e[z+(j0<<2)>>2]|0,j0=q+1|0,(q|0)==-1))break r;_0=((j0>>>0)%3|0|0)==0?q+-2|0:j0}while((_0|0)!=-1)}while(0);e[M+(e[o>>2]<<2)>>2]=-1;do if(k)if(z=e[_>>2]|0,(z|0)==(e[h>>2]|0)){L0(l,o),R0=(e[u>>2]|0)+-4|0;break}else{e[z>>2]=e[o>>2],e[_>>2]=z+4,R0=B;break}else R0=B;while(0);e[R0>>2]=E}if((G|0)<(r|0))N=G;else{T0=G,F0=V,F=133;break e}}if((F|0)==117){X=-1,F=191;break}}else T0=0,F0=i+8|0,F=133;while(0);e:do if((F|0)==133)if(r=e[F0>>2]|0,((e[r+28>>2]|0)-(e[r+24>>2]|0)>>2|0)<=(p|0)){R0=e[u>>2]|0;do if((R0|0)!=(e[n>>2]|0)){h=i+270|0,k=i+364|0,G0=i+60|0,w0=i+64|0,b0=i+68|0,c0=i+312|0,d0=i+360|0,s0=i+352|0,m0=i+356|0,U0=i+76|0,k0=i+80|0,y0=i+72|0,s=T0,N0=R0;i:for(;;){p0=N0+-4|0,e[o>>2]=e[p0>>2],e[u>>2]=p0,(b2[h>>1]|0)<514?j[k>>0]|0?(p0=e[d0>>2]|0,V0=(e[s0>>2]|0)+(p0>>>3)|0,V0>>>0<(e[m0>>2]|0)>>>0?(f0=(J[V0>>0]|0)>>>(p0&7)&1,e[d0>>2]=p0+1,I0=f0,F=141):F=162):F=142:(I0=(V2(c0)|0)&1,F=141),(F|0)==141&&(F=0,I0?F=142:F=162);do if((F|0)==142){if(F=0,f0=e[F0>>2]|0,p0=e[f0>>2]|0,V0=p0,(s|0)>=(((e[f0+4>>2]|0)-p0>>2>>>0)/3|0|0)){F=169;break i}if(p0=e[o>>2]|0,h0=p0+1|0,(p0|0)!=-1&&(A0=((h0>>>0)%3|0|0)==0?p0+-2|0:h0,(A0|0)!=-1)?D0=e[V0+(A0<<2)>>2]|0:D0=-1,A0=e[f0+24>>2]|0,h0=e[A0+(D0<<2)>>2]|0,e0=h0+1|0,(h0|0)!=-1&&($=((e0>>>0)%3|0|0)==0?h0+-2|0:e0,e0=$+1|0,($|0)!=-1)?(h0=((e0>>>0)%3|0|0)==0?$+-2|0:e0,(h0|0)==-1?(z0=-1,J0=$):(z0=e[V0+(h0<<2)>>2]|0,J0=$)):(z0=-1,J0=-1),$=e[A0+(z0<<2)>>2]|0,A0=$+1|0,($|0)!=-1&&(h0=((A0>>>0)%3|0|0)==0?$+-2|0:A0,A0=h0+1|0,(h0|0)!=-1)?($=((A0>>>0)%3|0|0)==0?h0+-2|0:A0,($|0)==-1?(Q0=-1,C0=h0):(Q0=e[V0+($<<2)>>2]|0,C0=h0)):(Q0=-1,C0=-1),h0=s*3|0,e[A>>2]=h0,$=e[f0+12>>2]|0,e[$+(h0<<2)>>2]=p0,e[$+(p0<<2)>>2]=h0,h0=(e[A>>2]|0)+1|0,e[$+(h0<<2)>>2]=J0,e[$+(J0<<2)>>2]=h0,h0=(e[A>>2]|0)+2|0,e[$+(h0<<2)>>2]=C0,e[$+(C0<<2)>>2]=h0,h0=e[A>>2]|0,e[V0+(h0<<2)>>2]=z0,e[V0+(h0+1<<2)>>2]=Q0,e[V0+(h0+2<<2)>>2]=D0,$=(h0|0)==-1?-1:z0,h0=e[b>>2]|0,p0=h0+($>>>5<<2)|0,e[p0>>2]=e[p0>>2]&~(1<<($&31)),$=(e[A>>2]|0)+1|0,($|0)==-1?O0=-1:O0=e[V0+($<<2)>>2]|0,$=h0+(O0>>>5<<2)|0,e[$>>2]=e[$>>2]&~(1<<(O0&31)),$=(e[A>>2]|0)+2|0,($|0)==-1?x0=-1:x0=e[V0+($<<2)>>2]|0,$=h0+(x0>>>5<<2)|0,e[$>>2]=e[$>>2]&~(1<<(x0&31)),$=s+1|0,h0=e[w0>>2]|0,V0=e[b0>>2]|0,(h0|0)==(V0<<5|0)){if((h0+1|0)<0){F=156;break i}p0=V0<<6,V0=h0+32&-32,xe(G0,h0>>>0<1073741823?p0>>>0<V0>>>0?V0:p0:2147483647),X0=e[w0>>2]|0}else X0=h0;e[w0>>2]=X0+1,h0=(e[G0>>2]|0)+(X0>>>5<<2)|0,e[h0>>2]=e[h0>>2]|1<<(X0&31),h0=e[U0>>2]|0,(h0|0)==(e[k0>>2]|0)?L0(y0,A):(e[h0>>2]=e[A>>2],e[U0>>2]=h0+4),$0=$}else if((F|0)==162){if(F=0,$=e[w0>>2]|0,h0=e[b0>>2]|0,($|0)==(h0<<5|0)){if(($+1|0)<0){F=164;break i}p0=h0<<6,h0=$+32&-32,xe(G0,$>>>0<1073741823?p0>>>0<h0>>>0?h0:p0:2147483647),k2=e[w0>>2]|0}else k2=$;if(e[w0>>2]=k2+1,$=(e[G0>>2]|0)+(k2>>>5<<2)|0,e[$>>2]=e[$>>2]&~(1<<(k2&31)),$=e[U0>>2]|0,($|0)==(e[k0>>2]|0)){L0(y0,o),$0=s;break}else{e[$>>2]=e[o>>2],e[U0>>2]=$+4,$0=s;break}}while(0);if(N0=e[u>>2]|0,(N0|0)==(e[n>>2]|0)){F=171;break}else s=$0}if((F|0)==156)W0(G0);else if((F|0)==164)W0(G0);else if((F|0)==169){X=-1,F=191;break e}else if((F|0)==171){s2=$0,d2=e[F0>>2]|0;break}}else s2=T0,d2=r;while(0);if((s2|0)==(((e[d2+4>>2]|0)-(e[d2>>2]|0)>>2>>>0)/3|0|0))if(r=(e[d2+28>>2]|0)-(e[d2+24>>2]|0)>>2,R0=e[l>>2]|0,s=e[_>>2]|0,(R0|0)==(s|0))K2=r,m2=R0;else for(N0=o+4|0,U0=o+8|0,y0=o+12|0,k0=r,r=R0,R0=d2;;){if(w0=e[r>>2]|0,b0=k0+-1|0,c0=e[R0+24>>2]|0,d0=c0+(b0<<2)|0,(e[d0>>2]|0)==-1)for(m0=k0;;)if(s0=m0+-1|0,k=m0+-2|0,h=c0+(k<<2)|0,(e[h>>2]|0)==-1)m0=s0;else{O2=s0,re=h,a2=k;break}else O2=k0,re=d0,a2=b0;if(a2>>>0<w0>>>0)be=O2,ce=R0;else{if(e[o>>2]=R0,m0=e[re>>2]|0,e[N0>>2]=m0,e[U0>>2]=m0,j[y0>>0]=1,(m0|0)==-1)ui=c0,We=R0;else{G0=R0,k=m0;do e[(e[G0>>2]|0)+(k<<2)>>2]=w0,U1(o),k=e[U0>>2]|0,G0=e[F0>>2]|0;while((k|0)!=-1);ui=e[G0+24>>2]|0,We=G0}k=ui+(a2<<2)|0,(w0|0)!=-1&&(e[ui+(w0<<2)>>2]=e[k>>2]),e[k>>2]=-1,k=e[b>>2]|0,c0=k+(a2>>>5<<2)|0,b0=1<<(a2&31),d0=k+(w0>>>5<<2)|0,k=1<<(w0&31),e[c0>>2]&b0?_i=e[d0>>2]|k:_i=e[d0>>2]&~k,e[d0>>2]=_i,e[c0>>2]=e[c0>>2]&~b0,be=O2+-1|0,ce=We}if(r=r+4|0,(r|0)==(s|0)){X=be,F=191;break}else k0=be,R0=ce}else X=-1,F=191}else X=-1,F=191;while(0);if((F|0)==191&&(K2=X,m2=e[l>>2]|0),m2|0&&(e[_>>2]=m2,Y(m2)),m2=e[f+8>>2]|0,m2|0){_=m2;do m2=_,_=e[_>>2]|0,Y(m2);while((_|0)!=0)}return _=e[f>>2]|0,e[f>>2]=0,_|0&&Y(_),_=e[n>>2]|0,_?(e[u>>2]=_,Y(_),U=t,K2|0):(U=t,K2|0)}function E1(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0;r=U,U=U+16|0,t=r,n=r+8|0,f=r+4|0,e[n>>2]=i;do if(i>>>0>=212){l=(i>>>0)/210|0,o=l*210|0,e[f>>2]=i-o,A=0,u=l,l=o,o=(pf(4608,4800,f,t)|0)-4608>>2;e:for(;;){for(s=(e[4608+(o<<2)>>2]|0)+l|0,_=5;;){if(_>>>0>=47){h=6;break}if(k=e[4416+(_<<2)>>2]|0,b=(s>>>0)/(k>>>0)|0,b>>>0<k>>>0){h=107;break e}if((s|0)==(Z0(b,k)|0)){p=A;break}else _=_+1|0}i:do if((h|0)==6){h=0,_=211,k=A;r:for(;;){b=(s>>>0)/(_>>>0)|0;do if(b>>>0>=_>>>0)if((s|0)!=(Z0(b,_)|0))if(w=_+10|0,d=(s>>>0)/(w>>>0)|0,d>>>0>=w>>>0)if((s|0)!=(Z0(d,w)|0))if(d=_+12|0,m=(s>>>0)/(d>>>0)|0,m>>>0>=d>>>0)if((s|0)!=(Z0(m,d)|0))if(m=_+16|0,c=(s>>>0)/(m>>>0)|0,c>>>0>=m>>>0)if((s|0)!=(Z0(c,m)|0))if(c=_+18|0,y=(s>>>0)/(c>>>0)|0,y>>>0>=c>>>0)if((s|0)!=(Z0(y,c)|0))if(y=_+22|0,V=(s>>>0)/(y>>>0)|0,V>>>0>=y>>>0)if((s|0)!=(Z0(V,y)|0))if(V=_+28|0,v=(s>>>0)/(V>>>0)|0,v>>>0>=V>>>0)if((s|0)==(Z0(v,V)|0))T=V,R=9,N=k;else{if(v=_+30|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+36|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+40|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+42|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+46|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+52|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+58|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+60|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+66|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+70|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+72|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+78|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+82|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+88|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+96|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+100|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+102|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+106|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+108|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+112|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+120|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+126|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+130|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+136|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+138|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+142|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+148|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+150|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+156|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+162|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+166|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+168|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+172|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+178|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+180|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+186|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+190|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+192|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+196|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}if(v=_+198|0,G=(s>>>0)/(v>>>0)|0,G>>>0<v>>>0){T=v,R=1,N=s;break}if((s|0)==(Z0(G,v)|0)){T=v,R=9,N=k;break}v=_+208|0,G=(s>>>0)/(v>>>0)|0,F=G>>>0<v>>>0,E=(s|0)==(Z0(G,v)|0),T=F|E?v:_+210|0,R=F?1:E?9:0,N=F?s:k}else T=V,R=1,N=s;else T=y,R=9,N=k;else T=y,R=1,N=s;else T=c,R=9,N=k;else T=c,R=1,N=s;else T=m,R=9,N=k;else T=m,R=1,N=s;else T=d,R=9,N=k;else T=d,R=1,N=s;else T=w,R=9,N=k;else T=w,R=1,N=s;else T=_,R=9,N=k;else T=_,R=1,N=s;while(0);switch(R&15){case 9:{p=N;break i}case 0:{_=T,k=N;break}default:break r}}if(!R)p=N;else{h=108;break e}}while(0);k=o+1|0,_=(k|0)==48,b=u+(_&1)|0,A=p,u=b,l=b*210|0,o=_?0:k}if((h|0)==107){e[n>>2]=s,Z=s;break}else if((h|0)==108){e[n>>2]=s,Z=N;break}}else o=pf(4416,4608,n,t)|0,Z=e[o>>2]|0;while(0);return U=r,Z|0}function Y8(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0;if(r=U,U=U+80|0,t=r+68|0,n=r+64|0,f=r+56|0,l=r+48|0,o=r+40|0,A=r,u=r+60|0,s=r+52|0,_=r+44|0,h=i+132|0,e[h>>2]=0,k=i+148|0,e[k>>2]|0){if(b=i+144|0,p=e[b>>2]|0,p|0){w=p;do p=w,w=e[w>>2]|0,Y(p);while((w|0)!=0)}if(e[b>>2]=0,b=e[i+140>>2]|0,b|0){w=i+136|0,p=0;do e[(e[w>>2]|0)+(p<<2)>>2]=0,p=p+1|0;while((p|0)!=(b|0))}e[k>>2]=0}k=i+4|0,b=e[k>>2]|0,p=J[b+36>>0]<<8,w=(p|J[b+37>>0])&65535;do if((w&65535)<514){if(d=e[b+32>>2]|0,(w&65535)<512?(m=d+8|0,c=e[m>>2]|0,y=e[m+4>>2]|0,m=d+16|0,V=m,v=e[V>>2]|0,T=i0(v|0,e[V+4>>2]|0,4,0)|0,V=H,(y|0)<(V|0)|(y|0)==(V|0)&c>>>0<T>>>0||(c=(e[d>>2]|0)+v|0,v=J[c>>0]|J[c+1>>0]<<8|J[c+2>>0]<<16|J[c+3>>0]<<24,e[t>>2]=v,c=m,e[c>>2]=T,e[c+4>>2]=V,R=b,N=p,G=v,F=15)):t2(t,d)|0&&(d=e[k>>2]|0,R=d,N=J[d+36>>0]<<8,G=e[t>>2]|0,F=15),(F|0)==15){e[h>>2]=G,E=N,Z=R;break}return Q=0,U=r,Q|0}else E=p,Z=b;while(0);if(b=e[Z+32>>2]|0,(E&65535)<512?(E=b+8|0,Z=e[E>>2]|0,p=e[E+4>>2]|0,E=b+16|0,R=E,N=e[R>>2]|0,G=i0(N|0,e[R+4>>2]|0,4,0)|0,R=H,(p|0)<(R|0)|(p|0)==(R|0)&Z>>>0<G>>>0?z=0:(Z=(e[b>>2]|0)+N|0,N=J[Z>>0]|J[Z+1>>0]<<8|J[Z+2>>0]<<16|J[Z+3>>0]<<24,e[n>>2]=N,Z=E,e[Z>>2]=G,e[Z+4>>2]=R,R=i+156|0,e[R>>2]=N,C=b,W=f,I=R,F=22)):t2(n,b)|0?(b=e[k>>2]|0,R=e[b+32>>2]|0,N=J[b+36>>0]<<8&65535,b=i+156|0,e[b>>2]=e[n>>2],(N&65535)>=512?t2(f,R)|0?(D=e[f>>2]|0,L=b,O=f,F=26):(x=0,X=f,F=125):(C=R,W=f,I=b,F=22)):z=0,(F|0)==22&&(b=C+8|0,R=e[b>>2]|0,N=e[b+4>>2]|0,b=C+16|0,n=b,Z=e[n>>2]|0,G=i0(Z|0,e[n+4>>2]|0,4,0)|0,n=H,(N|0)<(n|0)|(N|0)==(n|0)&R>>>0<G>>>0?(x=0,X=W,F=125):(R=(e[C>>2]|0)+Z|0,Z=J[R>>0]|J[R+1>>0]<<8|J[R+2>>0]<<16|J[R+3>>0]<<24,e[f>>2]=Z,R=b,e[R>>2]=G,e[R+4>>2]=n,D=Z,L=I,O=W,F=26)),(F|0)==26)if(D>>>0<=1431655765&&(e[L>>2]|0)>>>0<=(D*3|0)>>>0&&(W=e[k>>2]|0,I=e[W+32>>2]|0,Z=I+8|0,n=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=I+16|0,G=Z,b=e[G>>2]|0,C=e[G+4>>2]|0,(R|0)>(C|0)|(R|0)==(C|0)&n>>>0>b>>>0)){if(G=e[I>>2]|0,N=j[G+b>>0]|0,E=i0(b|0,C|0,1,0)|0,p=Z,e[p>>2]=E,e[p+4>>2]=H,(J[W+36>>0]<<8&65535)<512?(W=i0(b|0,C|0,5,0)|0,C=H,(R|0)<(C|0)|(R|0)==(C|0)&n>>>0<W>>>0?B=0:(n=G+E|0,E=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,e[l>>2]=E,n=Z,e[n>>2]=W,e[n+4>>2]=C,M=D,P=E,F=34)):t2(l,I)|0?(M=e[f>>2]|0,P=e[l>>2]|0,F=34):B=0,(F|0)==34)if(M>>>0>=P>>>0&&M>>>0<=(((P>>>0)/3|0)+P|0)>>>0){M=e[k>>2]|0,I=e[M+32>>2]|0,(J[M+36>>0]<<8&65535)<512?(M=I+8|0,E=e[M>>2]|0,D=e[M+4>>2]|0,M=I+16|0,C=M,n=e[C>>2]|0,W=i0(n|0,e[C+4>>2]|0,4,0)|0,C=H,(D|0)<(C|0)|(D|0)==(C|0)&E>>>0<W>>>0?q=0:(E=(e[I>>2]|0)+n|0,n=J[E>>0]|J[E+1>>0]<<8|J[E+2>>0]<<16|J[E+3>>0]<<24,e[o>>2]=n,E=M,e[E>>2]=W,e[E+4>>2]=C,g=n,n0=P,F=41)):t2(o,I)|0?(g=e[o>>2]|0,n0=e[l>>2]|0,F=41):q=0;e:do if((F|0)==41)if(g>>>0<=n0>>>0){if(e[i+28>>2]=e[i+24>>2],I=v0(88)|0,xr(I),P=i+8|0,n=e[P>>2]|0,e[P>>2]=I,n|0&&(I=e[n+76>>2]|0,I|0&&(e[n+80>>2]=I,Y(I)),I=e[n+64>>2]|0,I|0&&(e[n+68>>2]=I,Y(I)),I=e[n+48>>2]|0,I|0&&(e[n+52>>2]=I,Y(I)),I=e[n+24>>2]|0,I|0&&(e[n+28>>2]=I,Y(I)),I=e[n+12>>2]|0,I|0&&(e[n+16>>2]=I,Y(I)),I=e[n>>2]|0,I|0&&(e[n+4>>2]=I,Y(I)),Y(n),!(e[P>>2]|0))){q=0;break}if(n=i+160|0,e[i+164>>2]=e[n>>2],Q2(n,e[f>>2]|0),n=i+172|0,e[i+176>>2]=e[n>>2],Q2(n,e[f>>2]|0),e[i+40>>2]=e[i+36>>2],e[i+52>>2]=e[i+48>>2],e[i+64>>2]=0,e[i+76>>2]=e[i+72>>2],e[i+84>>2]=-1,e[i+92>>2]=-1,e[i+88>>2]=-1,n=i+216|0,I=e[n>>2]|0,C=i+220|0,E=e[C>>2]|0,(E|0)!=(I|0)){W=E;do E=e[W+-12>>2]|0,E|0&&(e[W+-8>>2]=E,Y(E)),E=e[W+-28>>2]|0,E|0&&(e[W+-24>>2]=E,Y(E)),E=e[W+-40>>2]|0,E|0&&(e[W+-36>>2]=E,Y(E)),Xi(W+-140|0),W=W+-144|0;while((W|0)!=(I|0))}if(e[C>>2]=I,W=N&255,Br(n,W),Qr(e[P>>2]|0,e[f>>2]|0,(e[o>>2]|0)+(e[L>>2]|0)|0)|0){E=(e[o>>2]|0)+(e[L>>2]|0)|0,j[t>>0]=1,Fe(i+120|0,E,t),E=e[k>>2]|0,M=(J[E+36>>0]<<8|J[E+37>>0])&65535;i:do if((M&65535)>=514)if((Mi(i,e[E+32>>2]|0)|0)==-1){q=0;break e}else l0=-1;else{D=e[E+32>>2]|0;do if((M&65535)<512){if(Z=D+8|0,G=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=D+16|0,b=Z,p=e[b>>2]|0,h=i0(p|0,e[b+4>>2]|0,4,0)|0,b=H,(R|0)<(b|0)|(R|0)==(b|0)&G>>>0<h>>>0)break;G=(e[D>>2]|0)+p|0,p=J[G>>0]|J[G+1>>0]<<8|J[G+2>>0]<<16|J[G+3>>0]<<24,e[t>>2]=p,G=Z,e[G>>2]=h,e[G+4>>2]=b,t0=p,F=72}else{if(!(t2(t,D)|0))break;t0=e[t>>2]|0,F=72}while(0);do if((F|0)==72){if(!t0||(D=e[(e[k>>2]|0)+32>>2]|0,p=D+8|0,b=D+16|0,D=H0(e[p>>2]|0,e[p+4>>2]|0,e[b>>2]|0,e[b+4>>2]|0)|0,b=H,(b|0)<0|(b|0)==0&D>>>0<t0>>>0)||(ze(A),D=e[(e[k>>2]|0)+32>>2]|0,b=D+16|0,p=e[b>>2]|0,G=e[t>>2]|0,h=(e[D>>2]|0)+p+G|0,Z=D+8|0,R=H0(e[Z>>2]|0,e[Z+4>>2]|0,p|0,e[b+4>>2]|0)|0,Le(A,h,R-G|0,P0[D+38>>1]|0),D=Mi(i,A)|0,(D|0)==-1))break;l0=D;break i}while(0);q=0;break e}while(0);M=i+232|0,e[i+376>>2]=i,E=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,I=e[E>>2]|0,E=(e[I>>2]|0)+(e[I+16>>2]|0)|0,I=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,D=e[I>>2]|0,I=D+8|0,G=D+16|0,D=H0(e[I>>2]|0,e[I+4>>2]|0,e[G>>2]|0,e[G+4>>2]|0)|0,G=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,Le(M,E,D,P0[(e[G>>2]|0)+38>>1]|0),G=K0[e[(e[i>>2]|0)+36>>2]&127](i)|0,e[i+380>>2]=G,G=i+384|0,e[G>>2]=(e[o>>2]|0)+(e[L>>2]|0),e[i+372>>2]=W,ze(A);i:do if(lt(M,A)|0){if(D=A+8|0,E=D,I=e[E>>2]|0,R=e[E+4>>2]|0,E=A+16|0,h=E,b=e[h>>2]|0,p=i0(b|0,e[h+4>>2]|0,4,0)|0,h=H,(R|0)<(h|0)|(R|0)==(h|0)&I>>>0<p>>>0){a=0;break}if(I=(e[A>>2]|0)+b|0,b=J[I>>0]|J[I+1>>0]<<8|J[I+2>>0]<<16|J[I+3>>0]<<24,I=E,e[I>>2]=p,e[I+4>>2]=h,(b|0)<0){a=0;break}if(h=e[G>>2]|0,(b|0)>=(h|0)){a=0;break}b=i+388|0,e[t>>2]=0,I=i+392|0,p=e[b>>2]|0,R=(e[I>>2]|0)-p>>2;do if(h>>>0>R>>>0)z2(b,h-R|0,t);else{if(h>>>0>=R>>>0)break;e[I>>2]=p+(h<<2)}while(0);if(!(f2(i+400|0,A)|0)){a=0;break}if(h=D8(i,e[l>>2]|0)|0,(h|0)==-1){a=0;break}p=e[(e[k>>2]|0)+32>>2]|0,I=E,R=e[I>>2]|0,b=(e[A>>2]|0)+R|0,Z=D,w=H0(e[Z>>2]|0,e[Z+4>>2]|0,R|0,e[I+4>>2]|0)|0,Le(p,b,w,P0[p+38>>1]|0),p=e[k>>2]|0,w=(J[p+36>>0]<<8|J[p+37>>0])&65535,(w&65535)<514&&(b=(e[p+32>>2]|0)+16|0,p=b,I=i0(e[p>>2]|0,e[p+4>>2]|0,l0|0,((l0|0)<0)<<31>>31|0)|0,p=b,e[p>>2]=I,e[p+4>>2]=H);do if((e[C>>2]|0)!=(e[n>>2]|0))if(p=e[P>>2]|0,I=(e[p+4>>2]|0)!=(e[p>>2]|0),(w&65535)<513){if(!I)break;p=0;do{if(e[u>>2]=p,e[t>>2]=e[u>>2],p=p+3|0,!(Gr(i,t)|0)){a=0;break i}b=e[P>>2]|0}while(p>>>0<(e[b+4>>2]|0)-(e[b>>2]|0)>>2>>>0)}else{if(!I)break;p=0;do{if(e[s>>2]=p,e[t>>2]=e[s>>2],p=p+3|0,!(jr(i,t)|0)){a=0;break i}b=e[P>>2]|0}while(p>>>0<(e[b+4>>2]|0)-(e[b>>2]|0)>>2>>>0)}while(0);if(j[i+308>>0]|0&&li(i+272|0),(b2[i+270>>1]|0)<514&&li(i+328|0),w=e[n>>2]|0,(e[C>>2]|0)!=(w|0)){D=0,E=w;do{if(Tr(E+(D*144|0)+4|0,e[P>>2]|0)|0,w=e[n>>2]|0,p=e[w+(D*144|0)+132>>2]|0,I=e[w+(D*144|0)+136>>2]|0,(p|0)==(I|0))$=w;else for(b=p,p=w;;)if(e[_>>2]=e[b>>2],e[t>>2]=e[_>>2],vr(p+(D*144|0)+4|0,t),b=b+4|0,w=e[n>>2]|0,(b|0)==(I|0)){$=w;break}else p=w;Hr($+(D*144|0)+4|0,0,0),D=D+1|0,E=e[n>>2]|0}while(D>>>0<(((e[C>>2]|0)-E|0)/144|0)>>>0)}E=e[P>>2]|0,D=(e[E+28>>2]|0)-(e[E+24>>2]|0)>>2,E=i+196|0,p=i+200|0,I=e[E>>2]|0,b=(e[p>>2]|0)-I>>2;do if(D>>>0>b>>>0)u2(E,D-b|0);else{if(D>>>0>=b>>>0)break;e[p>>2]=I+(D<<2)}while(0);if(Q2(i+184|0,D),I=e[n>>2]|0,(e[C>>2]|0)!=(I|0)){p=0,b=I;do{I=b,E=(e[I+(p*144|0)+60>>2]|0)-(e[I+(p*144|0)+56>>2]|0)>>2,w=e[P>>2]|0,R=(e[w+28>>2]|0)-(e[w+24>>2]|0)>>2,w=(E|0)<(R|0)?R:E,E=I+(p*144|0)+116|0,R=I+(p*144|0)+120|0,Z=e[E>>2]|0,d=(e[R>>2]|0)-Z>>2;do if(w>>>0>d>>>0)u2(E,w-d|0);else{if(w>>>0>=d>>>0)break;e[R>>2]=Z+(w<<2)}while(0);Q2(I+(p*144|0)+104|0,w),p=p+1|0,b=e[n>>2]|0}while(p>>>0<(((e[C>>2]|0)-b|0)/144|0)>>>0)}a=cr(i,h)|0}else a=0;while(0);q=a}else q=0}else q=0;while(0);B=q}else B=0;x=B,X=O,F=125}else x=0,X=O,F=125;return(F|0)==125&&(z=x),Q=z,U=r,Q|0}function C8(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0;if(r=U,U=U+80|0,t=r+68|0,n=r+64|0,f=r+60|0,l=r+52|0,o=r+44|0,A=r,u=r+56|0,s=r+48|0,_=r+40|0,h=i+132|0,e[h>>2]=0,k=i+148|0,e[k>>2]|0){if(b=i+144|0,p=e[b>>2]|0,p|0){w=p;do p=w,w=e[w>>2]|0,Y(p);while((w|0)!=0)}if(e[b>>2]=0,b=e[i+140>>2]|0,b|0){w=i+136|0,p=0;do e[(e[w>>2]|0)+(p<<2)>>2]=0,p=p+1|0;while((p|0)!=(b|0))}e[k>>2]=0}k=i+4|0,b=e[k>>2]|0,p=J[b+36>>0]<<8,w=(p|J[b+37>>0])&65535;do if((w&65535)<514){if(d=e[b+32>>2]|0,(w&65535)<512?(m=d+8|0,c=e[m>>2]|0,y=e[m+4>>2]|0,m=d+16|0,V=m,v=e[V>>2]|0,T=i0(v|0,e[V+4>>2]|0,4,0)|0,V=H,(y|0)<(V|0)|(y|0)==(V|0)&c>>>0<T>>>0||(c=(e[d>>2]|0)+v|0,v=J[c>>0]|J[c+1>>0]<<8|J[c+2>>0]<<16|J[c+3>>0]<<24,e[t>>2]=v,c=m,e[c>>2]=T,e[c+4>>2]=V,R=b,N=p,G=v,F=15)):t2(t,d)|0&&(d=e[k>>2]|0,R=d,N=J[d+36>>0]<<8,G=e[t>>2]|0,F=15),(F|0)==15){e[h>>2]=G,E=N,Z=R;break}return Q=0,U=r,Q|0}else E=p,Z=b;while(0);if(b=e[Z+32>>2]|0,(E&65535)<512?(E=b+8|0,Z=e[E>>2]|0,p=e[E+4>>2]|0,E=b+16|0,R=E,N=e[R>>2]|0,G=i0(N|0,e[R+4>>2]|0,4,0)|0,R=H,(p|0)<(R|0)|(p|0)==(R|0)&Z>>>0<G>>>0?z=0:(Z=(e[b>>2]|0)+N|0,N=J[Z>>0]|J[Z+1>>0]<<8|J[Z+2>>0]<<16|J[Z+3>>0]<<24,e[n>>2]=N,Z=E,e[Z>>2]=G,e[Z+4>>2]=R,R=i+156|0,e[R>>2]=N,C=b,W=f,I=R,F=22)):t2(n,b)|0?(b=e[k>>2]|0,R=e[b+32>>2]|0,N=J[b+36>>0]<<8&65535,b=i+156|0,e[b>>2]=e[n>>2],(N&65535)>=512?t2(f,R)|0?(D=e[f>>2]|0,L=b,O=f,F=26):(x=0,X=f,F=117):(C=R,W=f,I=b,F=22)):z=0,(F|0)==22&&(b=C+8|0,R=e[b>>2]|0,N=e[b+4>>2]|0,b=C+16|0,n=b,Z=e[n>>2]|0,G=i0(Z|0,e[n+4>>2]|0,4,0)|0,n=H,(N|0)<(n|0)|(N|0)==(n|0)&R>>>0<G>>>0?(x=0,X=W,F=117):(R=(e[C>>2]|0)+Z|0,Z=J[R>>0]|J[R+1>>0]<<8|J[R+2>>0]<<16|J[R+3>>0]<<24,e[f>>2]=Z,R=b,e[R>>2]=G,e[R+4>>2]=n,D=Z,L=I,O=W,F=26)),(F|0)==26)if(D>>>0<=1431655765&&(e[L>>2]|0)>>>0<=(D*3|0)>>>0&&(W=e[k>>2]|0,I=e[W+32>>2]|0,Z=I+8|0,n=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=I+16|0,G=Z,b=e[G>>2]|0,C=e[G+4>>2]|0,(R|0)>(C|0)|(R|0)==(C|0)&n>>>0>b>>>0)){if(G=e[I>>2]|0,N=j[G+b>>0]|0,E=i0(b|0,C|0,1,0)|0,p=Z,e[p>>2]=E,e[p+4>>2]=H,(J[W+36>>0]<<8&65535)<512?(W=i0(b|0,C|0,5,0)|0,C=H,(R|0)<(C|0)|(R|0)==(C|0)&n>>>0<W>>>0?B=0:(n=G+E|0,E=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,e[l>>2]=E,n=Z,e[n>>2]=W,e[n+4>>2]=C,M=D,P=E,F=34)):t2(l,I)|0?(M=e[f>>2]|0,P=e[l>>2]|0,F=34):B=0,(F|0)==34)if(M>>>0>=P>>>0&&M>>>0<=(((P>>>0)/3|0)+P|0)>>>0){M=e[k>>2]|0,I=e[M+32>>2]|0,(J[M+36>>0]<<8&65535)<512?(M=I+8|0,E=e[M>>2]|0,D=e[M+4>>2]|0,M=I+16|0,C=M,n=e[C>>2]|0,W=i0(n|0,e[C+4>>2]|0,4,0)|0,C=H,(D|0)<(C|0)|(D|0)==(C|0)&E>>>0<W>>>0?q=0:(E=(e[I>>2]|0)+n|0,n=J[E>>0]|J[E+1>>0]<<8|J[E+2>>0]<<16|J[E+3>>0]<<24,e[o>>2]=n,E=M,e[E>>2]=W,e[E+4>>2]=C,g=n,n0=P,F=41)):t2(o,I)|0?(g=e[o>>2]|0,n0=e[l>>2]|0,F=41):q=0;e:do if((F|0)==41)if(g>>>0<=n0>>>0){if(e[i+28>>2]=e[i+24>>2],I=v0(88)|0,xr(I),P=i+8|0,n=e[P>>2]|0,e[P>>2]=I,n|0&&(I=e[n+76>>2]|0,I|0&&(e[n+80>>2]=I,Y(I)),I=e[n+64>>2]|0,I|0&&(e[n+68>>2]=I,Y(I)),I=e[n+48>>2]|0,I|0&&(e[n+52>>2]=I,Y(I)),I=e[n+24>>2]|0,I|0&&(e[n+28>>2]=I,Y(I)),I=e[n+12>>2]|0,I|0&&(e[n+16>>2]=I,Y(I)),I=e[n>>2]|0,I|0&&(e[n+4>>2]=I,Y(I)),Y(n),!(e[P>>2]|0))){q=0;break}if(n=i+160|0,e[i+164>>2]=e[n>>2],Q2(n,e[f>>2]|0),n=i+172|0,e[i+176>>2]=e[n>>2],Q2(n,e[f>>2]|0),e[i+40>>2]=e[i+36>>2],e[i+52>>2]=e[i+48>>2],e[i+64>>2]=0,e[i+76>>2]=e[i+72>>2],e[i+84>>2]=-1,e[i+92>>2]=-1,e[i+88>>2]=-1,n=i+216|0,I=e[n>>2]|0,C=i+220|0,E=e[C>>2]|0,(E|0)!=(I|0)){W=E;do E=e[W+-12>>2]|0,E|0&&(e[W+-8>>2]=E,Y(E)),E=e[W+-28>>2]|0,E|0&&(e[W+-24>>2]=E,Y(E)),E=e[W+-40>>2]|0,E|0&&(e[W+-36>>2]=E,Y(E)),Xi(W+-140|0),W=W+-144|0;while((W|0)!=(I|0))}if(e[C>>2]=I,W=N&255,Br(n,W),Qr(e[P>>2]|0,e[f>>2]|0,(e[o>>2]|0)+(e[L>>2]|0)|0)|0){E=(e[o>>2]|0)+(e[L>>2]|0)|0,j[t>>0]=1,Fe(i+120|0,E,t),E=e[k>>2]|0,M=(J[E+36>>0]<<8|J[E+37>>0])&65535;i:do if((M&65535)>=514)if((Mi(i,e[E+32>>2]|0)|0)==-1){q=0;break e}else l0=-1;else{D=e[E+32>>2]|0;do if((M&65535)<512){if(Z=D+8|0,G=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=D+16|0,b=Z,p=e[b>>2]|0,h=i0(p|0,e[b+4>>2]|0,4,0)|0,b=H,(R|0)<(b|0)|(R|0)==(b|0)&G>>>0<h>>>0)break;G=(e[D>>2]|0)+p|0,p=J[G>>0]|J[G+1>>0]<<8|J[G+2>>0]<<16|J[G+3>>0]<<24,e[t>>2]=p,G=Z,e[G>>2]=h,e[G+4>>2]=b,t0=p,F=72}else{if(!(t2(t,D)|0))break;t0=e[t>>2]|0,F=72}while(0);do if((F|0)==72){if(!t0||(D=e[(e[k>>2]|0)+32>>2]|0,p=D+8|0,b=D+16|0,D=H0(e[p>>2]|0,e[p+4>>2]|0,e[b>>2]|0,e[b+4>>2]|0)|0,b=H,(b|0)<0|(b|0)==0&D>>>0<t0>>>0)||(ze(A),D=e[(e[k>>2]|0)+32>>2]|0,b=D+16|0,p=e[b>>2]|0,G=e[t>>2]|0,h=(e[D>>2]|0)+p+G|0,Z=D+8|0,R=H0(e[Z>>2]|0,e[Z+4>>2]|0,p|0,e[b+4>>2]|0)|0,Le(A,h,R-G|0,P0[D+38>>1]|0),D=Mi(i,A)|0,(D|0)==-1))break;l0=D;break i}while(0);q=0;break e}while(0);M=i+232|0,e[i+376>>2]=i,E=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,I=e[E>>2]|0,E=(e[I>>2]|0)+(e[I+16>>2]|0)|0,I=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,D=e[I>>2]|0,I=D+8|0,G=D+16|0,D=H0(e[I>>2]|0,e[I+4>>2]|0,e[G>>2]|0,e[G+4>>2]|0)|0,G=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,Le(M,E,D,P0[(e[G>>2]|0)+38>>1]|0),G=K0[e[(e[i>>2]|0)+36>>2]&127](i)|0,e[i+380>>2]=G,e[i+384>>2]=(e[o>>2]|0)+(e[L>>2]|0),e[i+372>>2]=W,ze(A);i:do if(p8(M,A)|0){if(G=B8(i,e[l>>2]|0)|0,(G|0)==-1){a=0;break}D=e[(e[k>>2]|0)+32>>2]|0,E=A+16|0,I=e[E>>2]|0,R=(e[A>>2]|0)+I|0,h=A+8|0,b=H0(e[h>>2]|0,e[h+4>>2]|0,I|0,e[E+4>>2]|0)|0,Le(D,R,b,P0[D+38>>1]|0),D=e[k>>2]|0,b=(J[D+36>>0]<<8|J[D+37>>0])&65535,(b&65535)<514&&(R=(e[D+32>>2]|0)+16|0,D=R,E=i0(e[D>>2]|0,e[D+4>>2]|0,l0|0,((l0|0)<0)<<31>>31|0)|0,D=R,e[D>>2]=E,e[D+4>>2]=H);do if((e[C>>2]|0)!=(e[n>>2]|0))if(D=e[P>>2]|0,E=(e[D+4>>2]|0)!=(e[D>>2]|0),(b&65535)<513){if(!E)break;D=0;do{if(e[u>>2]=D,e[t>>2]=e[u>>2],D=D+3|0,!(Gr(i,t)|0)){a=0;break i}R=e[P>>2]|0}while(D>>>0<(e[R+4>>2]|0)-(e[R>>2]|0)>>2>>>0)}else{if(!E)break;D=0;do{if(e[s>>2]=D,e[t>>2]=e[s>>2],D=D+3|0,!(jr(i,t)|0)){a=0;break i}R=e[P>>2]|0}while(D>>>0<(e[R+4>>2]|0)-(e[R>>2]|0)>>2>>>0)}while(0);if(j[i+308>>0]|0&&li(i+272|0),(b2[i+270>>1]|0)<514&&li(i+328|0),b=e[n>>2]|0,(e[C>>2]|0)!=(b|0)){D=0,E=b;do{if(Tr(E+(D*144|0)+4|0,e[P>>2]|0)|0,b=e[n>>2]|0,R=e[b+(D*144|0)+132>>2]|0,I=e[b+(D*144|0)+136>>2]|0,(R|0)==(I|0))$=b;else for(h=R,R=b;;)if(e[_>>2]=e[h>>2],e[t>>2]=e[_>>2],vr(R+(D*144|0)+4|0,t),h=h+4|0,b=e[n>>2]|0,(h|0)==(I|0)){$=b;break}else R=b;Hr($+(D*144|0)+4|0,0,0),D=D+1|0,E=e[n>>2]|0}while(D>>>0<(((e[C>>2]|0)-E|0)/144|0)>>>0)}E=e[P>>2]|0,D=(e[E+28>>2]|0)-(e[E+24>>2]|0)>>2,E=i+196|0,R=i+200|0,I=e[E>>2]|0,h=(e[R>>2]|0)-I>>2;do if(D>>>0>h>>>0)u2(E,D-h|0);else{if(D>>>0>=h>>>0)break;e[R>>2]=I+(D<<2)}while(0);if(Q2(i+184|0,D),I=e[n>>2]|0,(e[C>>2]|0)!=(I|0)){R=0,h=I;do{I=h,E=(e[I+(R*144|0)+60>>2]|0)-(e[I+(R*144|0)+56>>2]|0)>>2,b=e[P>>2]|0,p=(e[b+28>>2]|0)-(e[b+24>>2]|0)>>2,b=(E|0)<(p|0)?p:E,E=I+(R*144|0)+116|0,p=I+(R*144|0)+120|0,Z=e[E>>2]|0,w=(e[p>>2]|0)-Z>>2;do if(b>>>0>w>>>0)u2(E,b-w|0);else{if(b>>>0>=w>>>0)break;e[p>>2]=Z+(b<<2)}while(0);Q2(I+(R*144|0)+104|0,b),R=R+1|0,h=e[n>>2]|0}while(R>>>0<(((e[C>>2]|0)-h|0)/144|0)>>>0)}a=cr(i,G)|0}else a=0;while(0);q=a}else q=0}else q=0;while(0);B=q}else B=0;x=B,X=O,F=117}else x=0,X=O,F=117;return(F|0)==117&&(z=x),Q=z,U=r,Q|0}function z8(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0;if(r=U,U=U+80|0,t=r+68|0,n=r+64|0,f=r+60|0,l=r+52|0,o=r+44|0,A=r,u=r+56|0,s=r+48|0,_=r+40|0,h=i+132|0,e[h>>2]=0,k=i+148|0,e[k>>2]|0){if(b=i+144|0,p=e[b>>2]|0,p|0){w=p;do p=w,w=e[w>>2]|0,Y(p);while((w|0)!=0)}if(e[b>>2]=0,b=e[i+140>>2]|0,b|0){w=i+136|0,p=0;do e[(e[w>>2]|0)+(p<<2)>>2]=0,p=p+1|0;while((p|0)!=(b|0))}e[k>>2]=0}k=i+4|0,b=e[k>>2]|0,p=J[b+36>>0]<<8,w=(p|J[b+37>>0])&65535;do if((w&65535)<514){if(d=e[b+32>>2]|0,(w&65535)<512?(m=d+8|0,c=e[m>>2]|0,y=e[m+4>>2]|0,m=d+16|0,V=m,v=e[V>>2]|0,T=i0(v|0,e[V+4>>2]|0,4,0)|0,V=H,(y|0)<(V|0)|(y|0)==(V|0)&c>>>0<T>>>0||(c=(e[d>>2]|0)+v|0,v=J[c>>0]|J[c+1>>0]<<8|J[c+2>>0]<<16|J[c+3>>0]<<24,e[t>>2]=v,c=m,e[c>>2]=T,e[c+4>>2]=V,R=b,N=p,G=v,F=15)):t2(t,d)|0&&(d=e[k>>2]|0,R=d,N=J[d+36>>0]<<8,G=e[t>>2]|0,F=15),(F|0)==15){e[h>>2]=G,E=N,Z=R;break}return Q=0,U=r,Q|0}else E=p,Z=b;while(0);if(b=e[Z+32>>2]|0,(E&65535)<512?(E=b+8|0,Z=e[E>>2]|0,p=e[E+4>>2]|0,E=b+16|0,R=E,N=e[R>>2]|0,G=i0(N|0,e[R+4>>2]|0,4,0)|0,R=H,(p|0)<(R|0)|(p|0)==(R|0)&Z>>>0<G>>>0?z=0:(Z=(e[b>>2]|0)+N|0,N=J[Z>>0]|J[Z+1>>0]<<8|J[Z+2>>0]<<16|J[Z+3>>0]<<24,e[n>>2]=N,Z=E,e[Z>>2]=G,e[Z+4>>2]=R,R=i+156|0,e[R>>2]=N,C=b,W=f,I=R,F=22)):t2(n,b)|0?(b=e[k>>2]|0,R=e[b+32>>2]|0,N=J[b+36>>0]<<8&65535,b=i+156|0,e[b>>2]=e[n>>2],(N&65535)>=512?t2(f,R)|0?(D=e[f>>2]|0,L=b,O=f,F=26):(x=0,X=f,F=117):(C=R,W=f,I=b,F=22)):z=0,(F|0)==22&&(b=C+8|0,R=e[b>>2]|0,N=e[b+4>>2]|0,b=C+16|0,n=b,Z=e[n>>2]|0,G=i0(Z|0,e[n+4>>2]|0,4,0)|0,n=H,(N|0)<(n|0)|(N|0)==(n|0)&R>>>0<G>>>0?(x=0,X=W,F=117):(R=(e[C>>2]|0)+Z|0,Z=J[R>>0]|J[R+1>>0]<<8|J[R+2>>0]<<16|J[R+3>>0]<<24,e[f>>2]=Z,R=b,e[R>>2]=G,e[R+4>>2]=n,D=Z,L=I,O=W,F=26)),(F|0)==26)if(D>>>0<=1431655765&&(e[L>>2]|0)>>>0<=(D*3|0)>>>0&&(W=e[k>>2]|0,I=e[W+32>>2]|0,Z=I+8|0,n=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=I+16|0,G=Z,b=e[G>>2]|0,C=e[G+4>>2]|0,(R|0)>(C|0)|(R|0)==(C|0)&n>>>0>b>>>0)){if(G=e[I>>2]|0,N=j[G+b>>0]|0,E=i0(b|0,C|0,1,0)|0,p=Z,e[p>>2]=E,e[p+4>>2]=H,(J[W+36>>0]<<8&65535)<512?(W=i0(b|0,C|0,5,0)|0,C=H,(R|0)<(C|0)|(R|0)==(C|0)&n>>>0<W>>>0?B=0:(n=G+E|0,E=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,e[l>>2]=E,n=Z,e[n>>2]=W,e[n+4>>2]=C,M=D,P=E,F=34)):t2(l,I)|0?(M=e[f>>2]|0,P=e[l>>2]|0,F=34):B=0,(F|0)==34)if(M>>>0>=P>>>0&&M>>>0<=(((P>>>0)/3|0)+P|0)>>>0){M=e[k>>2]|0,I=e[M+32>>2]|0,(J[M+36>>0]<<8&65535)<512?(M=I+8|0,E=e[M>>2]|0,D=e[M+4>>2]|0,M=I+16|0,C=M,n=e[C>>2]|0,W=i0(n|0,e[C+4>>2]|0,4,0)|0,C=H,(D|0)<(C|0)|(D|0)==(C|0)&E>>>0<W>>>0?q=0:(E=(e[I>>2]|0)+n|0,n=J[E>>0]|J[E+1>>0]<<8|J[E+2>>0]<<16|J[E+3>>0]<<24,e[o>>2]=n,E=M,e[E>>2]=W,e[E+4>>2]=C,g=n,n0=P,F=41)):t2(o,I)|0?(g=e[o>>2]|0,n0=e[l>>2]|0,F=41):q=0;e:do if((F|0)==41)if(g>>>0<=n0>>>0){if(e[i+28>>2]=e[i+24>>2],I=v0(88)|0,xr(I),P=i+8|0,n=e[P>>2]|0,e[P>>2]=I,n|0&&(I=e[n+76>>2]|0,I|0&&(e[n+80>>2]=I,Y(I)),I=e[n+64>>2]|0,I|0&&(e[n+68>>2]=I,Y(I)),I=e[n+48>>2]|0,I|0&&(e[n+52>>2]=I,Y(I)),I=e[n+24>>2]|0,I|0&&(e[n+28>>2]=I,Y(I)),I=e[n+12>>2]|0,I|0&&(e[n+16>>2]=I,Y(I)),I=e[n>>2]|0,I|0&&(e[n+4>>2]=I,Y(I)),Y(n),!(e[P>>2]|0))){q=0;break}if(n=i+160|0,e[i+164>>2]=e[n>>2],Q2(n,e[f>>2]|0),n=i+172|0,e[i+176>>2]=e[n>>2],Q2(n,e[f>>2]|0),e[i+40>>2]=e[i+36>>2],e[i+52>>2]=e[i+48>>2],e[i+64>>2]=0,e[i+76>>2]=e[i+72>>2],e[i+84>>2]=-1,e[i+92>>2]=-1,e[i+88>>2]=-1,n=i+216|0,I=e[n>>2]|0,C=i+220|0,E=e[C>>2]|0,(E|0)!=(I|0)){W=E;do E=e[W+-12>>2]|0,E|0&&(e[W+-8>>2]=E,Y(E)),E=e[W+-28>>2]|0,E|0&&(e[W+-24>>2]=E,Y(E)),E=e[W+-40>>2]|0,E|0&&(e[W+-36>>2]=E,Y(E)),Xi(W+-140|0),W=W+-144|0;while((W|0)!=(I|0))}if(e[C>>2]=I,W=N&255,Br(n,W),Qr(e[P>>2]|0,e[f>>2]|0,(e[o>>2]|0)+(e[L>>2]|0)|0)|0){E=(e[o>>2]|0)+(e[L>>2]|0)|0,j[t>>0]=1,Fe(i+120|0,E,t),E=e[k>>2]|0,M=(J[E+36>>0]<<8|J[E+37>>0])&65535;i:do if((M&65535)>=514)if((Mi(i,e[E+32>>2]|0)|0)==-1){q=0;break e}else l0=-1;else{D=e[E+32>>2]|0;do if((M&65535)<512){if(Z=D+8|0,G=e[Z>>2]|0,R=e[Z+4>>2]|0,Z=D+16|0,b=Z,p=e[b>>2]|0,h=i0(p|0,e[b+4>>2]|0,4,0)|0,b=H,(R|0)<(b|0)|(R|0)==(b|0)&G>>>0<h>>>0)break;G=(e[D>>2]|0)+p|0,p=J[G>>0]|J[G+1>>0]<<8|J[G+2>>0]<<16|J[G+3>>0]<<24,e[t>>2]=p,G=Z,e[G>>2]=h,e[G+4>>2]=b,t0=p,F=72}else{if(!(t2(t,D)|0))break;t0=e[t>>2]|0,F=72}while(0);do if((F|0)==72){if(!t0||(D=e[(e[k>>2]|0)+32>>2]|0,p=D+8|0,b=D+16|0,D=H0(e[p>>2]|0,e[p+4>>2]|0,e[b>>2]|0,e[b+4>>2]|0)|0,b=H,(b|0)<0|(b|0)==0&D>>>0<t0>>>0)||(ze(A),D=e[(e[k>>2]|0)+32>>2]|0,b=D+16|0,p=e[b>>2]|0,G=e[t>>2]|0,h=(e[D>>2]|0)+p+G|0,Z=D+8|0,R=H0(e[Z>>2]|0,e[Z+4>>2]|0,p|0,e[b+4>>2]|0)|0,Le(A,h,R-G|0,P0[D+38>>1]|0),D=Mi(i,A)|0,(D|0)==-1))break;l0=D;break i}while(0);q=0;break e}while(0);M=i+232|0,e[i+376>>2]=i,E=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,I=e[E>>2]|0,E=(e[I>>2]|0)+(e[I+16>>2]|0)|0,I=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,D=e[I>>2]|0,I=D+8|0,G=D+16|0,D=H0(e[I>>2]|0,e[I+4>>2]|0,e[G>>2]|0,e[G+4>>2]|0)|0,G=(K0[e[(e[i>>2]|0)+32>>2]&127](i)|0)+32|0,Le(M,E,D,P0[(e[G>>2]|0)+38>>1]|0),e[i+372>>2]=W,ze(A);i:do if(lt(M,A)|0){if(G=M8(i,e[l>>2]|0)|0,(G|0)==-1){a=0;break}D=e[(e[k>>2]|0)+32>>2]|0,E=A+16|0,I=e[E>>2]|0,R=(e[A>>2]|0)+I|0,h=A+8|0,b=H0(e[h>>2]|0,e[h+4>>2]|0,I|0,e[E+4>>2]|0)|0,Le(D,R,b,P0[D+38>>1]|0),D=e[k>>2]|0,b=(J[D+36>>0]<<8|J[D+37>>0])&65535,(b&65535)<514&&(R=(e[D+32>>2]|0)+16|0,D=R,E=i0(e[D>>2]|0,e[D+4>>2]|0,l0|0,((l0|0)<0)<<31>>31|0)|0,D=R,e[D>>2]=E,e[D+4>>2]=H);do if((e[C>>2]|0)!=(e[n>>2]|0))if(D=e[P>>2]|0,E=(e[D+4>>2]|0)!=(e[D>>2]|0),(b&65535)<513){if(!E)break;D=0;do{if(e[u>>2]=D,e[t>>2]=e[u>>2],D=D+3|0,!(Gr(i,t)|0)){a=0;break i}R=e[P>>2]|0}while(D>>>0<(e[R+4>>2]|0)-(e[R>>2]|0)>>2>>>0)}else{if(!E)break;D=0;do{if(e[s>>2]=D,e[t>>2]=e[s>>2],D=D+3|0,!(jr(i,t)|0)){a=0;break i}R=e[P>>2]|0}while(D>>>0<(e[R+4>>2]|0)-(e[R>>2]|0)>>2>>>0)}while(0);if(j[i+308>>0]|0&&li(i+272|0),(b2[i+270>>1]|0)<514&&li(i+328|0),b=e[n>>2]|0,(e[C>>2]|0)!=(b|0)){D=0,E=b;do{if(Tr(E+(D*144|0)+4|0,e[P>>2]|0)|0,b=e[n>>2]|0,R=e[b+(D*144|0)+132>>2]|0,I=e[b+(D*144|0)+136>>2]|0,(R|0)==(I|0))$=b;else for(h=R,R=b;;)if(e[_>>2]=e[h>>2],e[t>>2]=e[_>>2],vr(R+(D*144|0)+4|0,t),h=h+4|0,b=e[n>>2]|0,(h|0)==(I|0)){$=b;break}else R=b;Hr($+(D*144|0)+4|0,0,0),D=D+1|0,E=e[n>>2]|0}while(D>>>0<(((e[C>>2]|0)-E|0)/144|0)>>>0)}E=e[P>>2]|0,D=(e[E+28>>2]|0)-(e[E+24>>2]|0)>>2,E=i+196|0,R=i+200|0,I=e[E>>2]|0,h=(e[R>>2]|0)-I>>2;do if(D>>>0>h>>>0)u2(E,D-h|0);else{if(D>>>0>=h>>>0)break;e[R>>2]=I+(D<<2)}while(0);if(Q2(i+184|0,D),I=e[n>>2]|0,(e[C>>2]|0)!=(I|0)){R=0,h=I;do{I=h,E=(e[I+(R*144|0)+60>>2]|0)-(e[I+(R*144|0)+56>>2]|0)>>2,b=e[P>>2]|0,p=(e[b+28>>2]|0)-(e[b+24>>2]|0)>>2,b=(E|0)<(p|0)?p:E,E=I+(R*144|0)+116|0,p=I+(R*144|0)+120|0,Z=e[E>>2]|0,w=(e[p>>2]|0)-Z>>2;do if(b>>>0>w>>>0)u2(E,b-w|0);else{if(b>>>0>=w>>>0)break;e[p>>2]=Z+(b<<2)}while(0);Q2(I+(R*144|0)+104|0,b),R=R+1|0,h=e[n>>2]|0}while(R>>>0<(((e[C>>2]|0)-h|0)/144|0)>>>0)}a=cr(i,G)|0}else a=0;while(0);q=a}else q=0}else q=0;while(0);B=q}else B=0;x=B,X=O,F=117}else x=0,X=O,F=117;return(F|0)==117&&(z=x),Q=z,U=r,Q|0}function Q8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0,d2=0;n=U,U=U+32|0,f=n,l=i+12|0,o=e[l>>2]|0,e[f>>2]=0,A=f+4|0,e[A>>2]=0,u=f+8|0,e[u>>2]=0;do if(o)if(o>>>0>1073741823)W0(f);else{s=o<<2,_=v0(s)|0,e[f>>2]=_,h=_+(o<<2)|0,e[u>>2]=h,E0(_|0,0,s|0)|0,e[A>>2]=h,k=h,b=_;break}else k=0,b=0;while(0);_=i+120|0,h=e[_>>2]|0,s=e[h>>2]|0,s?(o=h+4|0,e[o>>2]=s,Y(s),s=h+8|0,e[s>>2]=0,e[o>>2]=0,e[h>>2]=0,p=s,w=o,d=e[f>>2]|0,m=e[A>>2]|0,c=e[l>>2]|0):(p=h+8|0,w=h+4|0,d=b,m=k,c=o),e[h>>2]=d,e[w>>2]=m,e[p>>2]=e[u>>2],e[f>>2]=0,u=f+4|0,e[u>>2]=0,p=f+8|0,e[p>>2]=0;do if(c)if(c>>>0>1073741823)W0(f);else{m=c<<2,w=v0(m)|0,e[f>>2]=w,d=w+(c<<2)|0,e[p>>2]=d,E0(w|0,0,m|0)|0,e[u>>2]=d,y=d,V=w;break}else y=0,V=0;while(0);c=i+132|0,w=e[c>>2]|0,d=e[w>>2]|0,d?(y=w+4|0,e[y>>2]=d,Y(d),d=w+8|0,e[d>>2]=0,e[y>>2]=0,e[w>>2]=0,v=d,T=y,R=e[f>>2]|0,N=e[u>>2]|0):(v=w+8|0,T=w+4|0,R=V,N=y),e[w>>2]=R,e[T>>2]=N,e[v>>2]=e[p>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,p=f+8|0,v=f+4|0,N=f+16|0,T=f+20|0,o2(f),R=e[v>>2]|0,w=(e[N>>2]|0)+(e[T>>2]|0)|0,(e[p>>2]|0)==(R|0)?G=0:(u=(w>>>0)/341|0,G=(e[R+(u<<2)>>2]|0)+((w-(u*341|0)|0)*12|0)|0),e[G>>2]=r,e[G+4>>2]=0,e[G+8>>2]=0,G=(e[T>>2]|0)+1|0,e[T>>2]=G;e:do if(!G)F=1;else for(u=t+16|0,w=t+20|0,R=t+28|0,y=i+8|0,d=t+12|0,V=i+108|0,m=i+4|0,h=i+96|0,A=i+52|0,o=i+48|0,s=i+40|0,k=i+32|0,b=i+28|0,E=i+20|0,Z=i+92|0,Q=i+80|0,z=i+88|0,C=G;;){if(W=e[N>>2]|0,I=C+-1|0,D=W+I|0,L=e[v>>2]|0,O=(D>>>0)/341|0,x=e[L+(O<<2)>>2]|0,X=D-(O*341|0)|0,O=e[x+(X*12|0)>>2]|0,D=e[x+(X*12|0)+4>>2]|0,B=e[x+(X*12|0)+8>>2]|0,e[T>>2]=I,I=e[p>>2]|0,X=I-L|0,(1-C-W+((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[I+-4>>2]|0),e[p>>2]=(e[p>>2]|0)+-4),I=e[_>>2]|0,X=I+(B*12|0)|0,W=(e[c>>2]|0)+(B*12|0)|0,O>>>0>r>>>0){F=0;break e}if(L=xi(i,O,W,D)|0,L>>>0>=(e[l>>2]|0)>>>0){F=0;break e}D=(e[i>>2]|0)-(e[(e[W>>2]|0)+(L<<2)>>2]|0)|0;i:do if(D){if(O>>>0>=3){if((e[y>>2]|0)>>>0>(e[m>>2]|0)>>>0){F=0;break e}x=B+1|0,P=e[_>>2]|0,g=P+(x*12|0)|0,(g|0)==(X|0)?p0=P:(R2(g,e[X>>2]|0,e[I+(B*12|0)+4>>2]|0),p0=e[_>>2]|0),g=(e[p0+(x*12|0)>>2]|0)+(L<<2)|0,e[g>>2]=(e[g>>2]|0)+(1<<D+-1),g=(N2(O|0)|0)^31,P=e[k>>2]|0,q=32-P|0;do if((g|0)>(q|0))_0=e[b>>2]|0,f0=_0+4|0,(f0|0)==(e[E>>2]|0)?j0=0:(a=e[_0>>2]<<P,_0=g-q|0,e[k>>2]=_0,e[b>>2]=f0,A0=32-_0|0,j0=(e[f0>>2]|0)>>>A0|a>>>(A0-q|0));else if(A0=e[b>>2]|0,(A0|0)==(e[E>>2]|0))j0=0;else{if(a=e[A0>>2]<<P>>>(32-g|0),f0=P+g|0,e[k>>2]=f0,(f0|0)!=32){j0=a;break}e[b>>2]=A0+4,e[k>>2]=0,j0=a}while(0);g=(O>>>1)-j0|0,P=O-g|0;r:do if((g|0)==(P|0))y0=g,k0=g;else{q=e[Z>>2]|0,a=e[z>>2]|0;do if((a|0)!=(e[Q>>2]|0))if(A0=(e[a>>2]&1<<31-q|0)!=0,f0=q+1|0,e[Z>>2]=f0,(f0|0)==32)if(e[z>>2]=a+4,e[Z>>2]=0,A0){y0=g,k0=P;break r}else break;else if(A0){y0=g,k0=P;break r}else break;while(0);y0=P,k0=g}while(0);if(g=e[c>>2]|0,P=e[g+(B*12|0)>>2]|0,a=P+(L<<2)|0,e[a>>2]=(e[a>>2]|0)+1,R2(g+(x*12|0)|0,P,e[g+(B*12|0)+4>>2]|0),y0|0&&(g=e[p>>2]|0,P=e[v>>2]|0,a=g-P|0,q=(e[T>>2]|0)+(e[N>>2]|0)|0,(((a|0)==0?0:((a>>2)*341|0)+-1|0)|0)==(q|0)?(o2(f),N0=(e[N>>2]|0)+(e[T>>2]|0)|0,V0=e[p>>2]|0,U0=e[v>>2]|0):(N0=q,V0=g,U0=P),(V0|0)==(U0|0)?m0=0:(P=(N0>>>0)/341|0,m0=(e[U0+(P<<2)>>2]|0)+((N0-(P*341|0)|0)*12|0)|0),e[m0>>2]=y0,e[m0+4>>2]=L,e[m0+8>>2]=B,e[T>>2]=(e[T>>2]|0)+1),!k0){M=19;break}P=e[p>>2]|0,g=e[v>>2]|0,q=P-g|0,a=(e[T>>2]|0)+(e[N>>2]|0)|0,(((q|0)==0?0:((q>>2)*341|0)+-1|0)|0)==(a|0)?(o2(f),s0=(e[N>>2]|0)+(e[T>>2]|0)|0,G0=e[p>>2]|0,d0=e[v>>2]|0):(s0=a,G0=P,d0=g),(G0|0)==(d0|0)?b0=0:(g=(s0>>>0)/341|0,b0=(e[d0+(g<<2)>>2]|0)+((s0-(g*341|0)|0)*12|0)|0),e[b0>>2]=k0,e[b0+4>>2]=L,e[b0+8>>2]=x,g=(e[T>>2]|0)+1|0,e[T>>2]=g,c0=g;break}if(g=e[V>>2]|0,e[g>>2]=L,P=e[l>>2]|0,P>>>0>1)for(a=1,q=P,A0=L;;)if(A0=(A0|0)==(q+-1|0)?0:A0+1|0,e[g+(a<<2)>>2]=A0,a=a+1|0,f0=e[l>>2]|0,a>>>0>=f0>>>0){w0=f0;break}else q=f0;else w0=P;if(!O)M=19;else for(q=0,a=w0;;){if(a|0){A0=e[V>>2]|0,g=e[h>>2]|0,x=e[W>>2]|0,f0=0;do{_0=A0+(f0<<2)|0,e[g+(e[_0>>2]<<2)>>2]=0,t0=e[_0>>2]|0,$=(e[i>>2]|0)-(e[x+(t0<<2)>>2]|0)|0;do if($|0){if(n0=g+(t0<<2)|0,R0=e[A>>2]|0,T0=32-R0|0,($|0)>(T0|0))if(F0=e[o>>2]|0,I0=F0+4|0,(I0|0)==(e[s>>2]|0)){e[n0>>2]=0;break}else{D0=e[F0>>2]<<R0,F0=$-T0|0,e[A>>2]=F0,e[o>>2]=I0,z0=32-F0|0,e[n0>>2]=(e[I0>>2]|0)>>>z0|D0>>>(z0-T0|0);break}if(T0=e[o>>2]|0,(T0|0)==(e[s>>2]|0)){e[n0>>2]=0;break}if(e[n0>>2]=e[T0>>2]<<R0>>>(32-$|0),R0=(e[A>>2]|0)+$|0,e[A>>2]=R0,(R0|0)!=32)break;e[o>>2]=T0+4,e[A>>2]=0}while(0);$=e[_0>>2]|0,t0=g+($<<2)|0,e[t0>>2]=e[t0>>2]|e[(e[X>>2]|0)+($<<2)>>2],f0=f0+1|0}while(f0>>>0<(e[l>>2]|0)>>>0)}f0=e[u>>2]|0;r:do if((e[w>>2]|0)!=(f0|0)){g=0,x=f0;do{if(A0=x,$=e[A0+(g*20|0)>>2]|0,t0=A0+(g*20|0)+12|0,T0=A0+(g*20|0)+16|0,R0=(e[h>>2]|0)+(e[A0+(g*20|0)+4>>2]<<2)|0,A0=e[t0>>2]|0,(A0|0)==4)J0=R0;else{if(e[T0>>2]|0)for(n0=e[d>>2]|0,z0=0,D0=A0;S0(n0|0,R0+(z0<<2)|0,D0|0)|0,z0=z0+1|0,A0=e[t0>>2]|0,!(z0>>>0>=(e[T0>>2]|0)>>>0);)n0=n0+A0|0,D0=A0;J0=e[d>>2]|0}if(D0=e[R>>2]|0,j[$+84>>0]|0?Q0=D0:Q0=e[(e[$+68>>2]|0)+(D0<<2)>>2]|0,Q0>>>0>=(e[$+80>>2]|0)>>>0)break r;D0=e[$+40>>2]|0,S0((e[e[$+64>>2]>>2]|0)+(Z0(Q0,D0)|0)|0,J0|0,D0|0)|0,g=g+1|0,x=e[u>>2]|0}while(g>>>0<(((e[w>>2]|0)-x|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,f0=q+1|0,(f0|0)==(O|0)){M=19;break i}q=f0,a=e[l>>2]|0}}else if(!O)M=19;else for(x=0;;){P=e[u>>2]|0;r:do if((e[w>>2]|0)!=(P|0)){q=0,g=P;do{if(n0=g,l0=e[n0+(q*20|0)>>2]|0,t0=n0+(q*20|0)+12|0,a=n0+(q*20|0)+16|0,$=(e[X>>2]|0)+(e[n0+(q*20|0)+4>>2]<<2)|0,n0=e[t0>>2]|0,(n0|0)==4)e0=$;else{if(e[a>>2]|0)for(f0=e[d>>2]|0,A0=0,_0=n0;S0(f0|0,$+(A0<<2)|0,_0|0)|0,A0=A0+1|0,n0=e[t0>>2]|0,!(A0>>>0>=(e[a>>2]|0)>>>0);)f0=f0+n0|0,_0=n0;e0=e[d>>2]|0}if(_0=e[R>>2]|0,j[l0+84>>0]|0?h0=_0:h0=e[(e[l0+68>>2]|0)+(_0<<2)>>2]|0,h0>>>0>=(e[l0+80>>2]|0)>>>0)break r;_0=e[l0+40>>2]|0,S0((e[e[l0+64>>2]>>2]|0)+(Z0(h0,_0)|0)|0,e0|0,_0|0)|0,q=q+1|0,g=e[u>>2]|0}while(q>>>0<(((e[w>>2]|0)-g|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,x=x+1|0,(x|0)==(O|0)){M=19;break}}while(0);if((M|0)==19&&(M=0,c0=e[T>>2]|0),c0)C=c0;else{F=1;break}}while(0);if(c0=e[v>>2]|0,l=e[N>>2]|0,J0=(l>>>0)/341|0,Q0=c0+(J0<<2)|0,i=e[p>>2]|0,w0=i,b0=c0,(i|0)!=(c0|0)&&(k0=(e[Q0>>2]|0)+((l-(J0*341|0)|0)*12|0)|0,J0=(e[T>>2]|0)+l|0,l=(J0>>>0)/341|0,s0=(e[c0+(l<<2)>>2]|0)+((J0-(l*341|0)|0)*12|0)|0,(s0|0)!=(k0|0)))for(l=Q0,Q0=k0;k0=Q0+12|0,(k0-(e[l>>2]|0)|0)==4092?(J0=l+4|0,C0=J0,O0=e[J0>>2]|0):(C0=l,O0=k0),Q0=O0,(s0|0)!=(Q0|0);)l=C0;if(e[T>>2]=0,T=w0-b0>>2,T>>>0>2){b0=c0;do Y(e[b0>>2]|0),b0=(e[v>>2]|0)+4|0,e[v>>2]=b0,x0=e[p>>2]|0,X0=x0-b0>>2;while(X0>>>0>2);$0=X0,k2=b0,s2=x0}else $0=T,k2=c0,s2=i;switch($0|0){case 1:{d2=170,M=110;break}case 2:{d2=341,M=110;break}default:}if((M|0)==110&&(e[N>>2]=d2),(k2|0)!=(s2|0)){d2=k2;do Y(e[d2>>2]|0),d2=d2+4|0;while((d2|0)!=(s2|0));s2=e[v>>2]|0,v=e[p>>2]|0,(v|0)!=(s2|0)&&(e[p>>2]=v+(~((v+-4-s2|0)>>>2)<<2))}return s2=e[f>>2]|0,s2?(Y(s2),U=n,F|0):(U=n,F|0)}function J8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0,s2=0;n=U,U=U+32|0,f=n,l=i+12|0,o=e[l>>2]|0,e[f>>2]=0,A=f+4|0,e[A>>2]=0,u=f+8|0,e[u>>2]=0;do if(o)if(o>>>0>1073741823)W0(f);else{s=o<<2,_=v0(s)|0,e[f>>2]=_,h=_+(o<<2)|0,e[u>>2]=h,E0(_|0,0,s|0)|0,e[A>>2]=h,k=h,b=_;break}else k=0,b=0;while(0);_=i+120|0,h=e[_>>2]|0,s=e[h>>2]|0,s?(o=h+4|0,e[o>>2]=s,Y(s),s=h+8|0,e[s>>2]=0,e[o>>2]=0,e[h>>2]=0,p=s,w=o,d=e[f>>2]|0,m=e[A>>2]|0,c=e[l>>2]|0):(p=h+8|0,w=h+4|0,d=b,m=k,c=o),e[h>>2]=d,e[w>>2]=m,e[p>>2]=e[u>>2],e[f>>2]=0,u=f+4|0,e[u>>2]=0,p=f+8|0,e[p>>2]=0;do if(c)if(c>>>0>1073741823)W0(f);else{m=c<<2,w=v0(m)|0,e[f>>2]=w,d=w+(c<<2)|0,e[p>>2]=d,E0(w|0,0,m|0)|0,e[u>>2]=d,y=d,V=w;break}else y=0,V=0;while(0);c=i+132|0,w=e[c>>2]|0,d=e[w>>2]|0,d?(y=w+4|0,e[y>>2]=d,Y(d),d=w+8|0,e[d>>2]=0,e[y>>2]=0,e[w>>2]=0,v=d,T=y,R=e[f>>2]|0,N=e[u>>2]|0):(v=w+8|0,T=w+4|0,R=V,N=y),e[w>>2]=R,e[T>>2]=N,e[v>>2]=e[p>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,p=f+8|0,v=f+4|0,N=f+16|0,T=f+20|0,o2(f),R=e[v>>2]|0,w=(e[N>>2]|0)+(e[T>>2]|0)|0,(e[p>>2]|0)==(R|0)?G=0:(u=(w>>>0)/341|0,G=(e[R+(u<<2)>>2]|0)+((w-(u*341|0)|0)*12|0)|0),e[G>>2]=r,e[G+4>>2]=0,e[G+8>>2]=0,G=(e[T>>2]|0)+1|0,e[T>>2]=G;e:do if(!G)F=1;else for(u=t+16|0,w=t+20|0,R=t+28|0,y=i+8|0,d=t+12|0,V=i+108|0,m=i+4|0,h=i+96|0,A=i+52|0,o=i+48|0,s=i+40|0,k=i+32|0,b=i+28|0,E=i+20|0,Z=i+92|0,Q=i+80|0,z=i+88|0,C=G;;){if(W=e[N>>2]|0,I=C+-1|0,D=W+I|0,L=e[v>>2]|0,O=(D>>>0)/341|0,x=e[L+(O<<2)>>2]|0,X=D-(O*341|0)|0,O=e[x+(X*12|0)>>2]|0,D=e[x+(X*12|0)+4>>2]|0,B=e[x+(X*12|0)+8>>2]|0,e[T>>2]=I,I=e[p>>2]|0,X=I-L|0,(1-C-W+((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[I+-4>>2]|0),e[p>>2]=(e[p>>2]|0)+-4),I=e[_>>2]|0,X=I+(B*12|0)|0,O>>>0>r>>>0){F=0;break e}if(W=e[l>>2]|0,L=(W+-1|0)==(D|0)?0:D+1|0,L>>>0>=W>>>0){F=0;break e}W=(e[c>>2]|0)+(B*12|0)|0,D=(e[i>>2]|0)-(e[(e[W>>2]|0)+(L<<2)>>2]|0)|0;i:do if(D){if(O>>>0>=3){if((e[y>>2]|0)>>>0>(e[m>>2]|0)>>>0){F=0;break e}x=B+1|0,R2(I+(x*12|0)|0,e[X>>2]|0,e[I+(B*12|0)+4>>2]|0),P=(e[(e[_>>2]|0)+(x*12|0)>>2]|0)+(L<<2)|0,e[P>>2]=(e[P>>2]|0)+(1<<D+-1),P=(N2(O|0)|0)^31,g=e[k>>2]|0,q=32-g|0,(P|0)>(q|0)?(_0=e[b>>2]|0,f0=_0+4|0,(f0|0)==(e[E>>2]|0)?p0=0:(a=e[_0>>2]<<g,_0=P-q|0,e[k>>2]=_0,e[b>>2]=f0,A0=32-_0|0,p0=(e[f0>>2]|0)>>>A0|a>>>(A0-q|0))):(q=e[b>>2]|0,(q|0)!=(e[E>>2]|0)?(A0=e[q>>2]<<g>>>(32-P|0),a=g+P|0,e[k>>2]=a,(a|0)==32&&(e[b>>2]=q+4,e[k>>2]=0),p0=A0):p0=0),A0=(O>>>1)-p0|0,q=O-A0|0;r:do if((A0|0)==(q|0))j0=A0,y0=A0;else{a=e[Z>>2]|0,P=e[z>>2]|0;do if((P|0)!=(e[Q>>2]|0))if(g=(e[P>>2]&1<<31-a|0)!=0,f0=a+1|0,e[Z>>2]=f0,(f0|0)==32)if(e[z>>2]=P+4,e[Z>>2]=0,g){j0=A0,y0=q;break r}else break;else if(g){j0=A0,y0=q;break r}else break;while(0);j0=q,y0=A0}while(0);if(A0=e[c>>2]|0,q=e[A0+(B*12|0)>>2]|0,P=q+(L<<2)|0,e[P>>2]=(e[P>>2]|0)+1,R2(A0+(x*12|0)|0,q,e[A0+(B*12|0)+4>>2]|0),j0|0&&(A0=e[p>>2]|0,q=e[v>>2]|0,P=A0-q|0,a=(e[T>>2]|0)+(e[N>>2]|0)|0,(((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(a|0)?(o2(f),k0=(e[N>>2]|0)+(e[T>>2]|0)|0,N0=e[p>>2]|0,V0=e[v>>2]|0):(k0=a,N0=A0,V0=q),(N0|0)==(V0|0)?U0=0:(q=(k0>>>0)/341|0,U0=(e[V0+(q<<2)>>2]|0)+((k0-(q*341|0)|0)*12|0)|0),e[U0>>2]=j0,e[U0+4>>2]=L,e[U0+8>>2]=B,e[T>>2]=(e[T>>2]|0)+1),!y0){M=19;break}q=e[p>>2]|0,A0=e[v>>2]|0,a=q-A0|0,P=(e[T>>2]|0)+(e[N>>2]|0)|0,(((a|0)==0?0:((a>>2)*341|0)+-1|0)|0)==(P|0)?(o2(f),m0=(e[N>>2]|0)+(e[T>>2]|0)|0,s0=e[p>>2]|0,G0=e[v>>2]|0):(m0=P,s0=q,G0=A0),(s0|0)==(G0|0)?d0=0:(A0=(m0>>>0)/341|0,d0=(e[G0+(A0<<2)>>2]|0)+((m0-(A0*341|0)|0)*12|0)|0),e[d0>>2]=y0,e[d0+4>>2]=L,e[d0+8>>2]=x,A0=(e[T>>2]|0)+1|0,e[T>>2]=A0,b0=A0;break}if(A0=e[V>>2]|0,e[A0>>2]=L,q=e[l>>2]|0,q>>>0>1)for(P=1,a=q,g=L;;)if(g=(g|0)==(a+-1|0)?0:g+1|0,e[A0+(P<<2)>>2]=g,P=P+1|0,f0=e[l>>2]|0,P>>>0>=f0>>>0){c0=f0;break}else a=f0;else c0=q;if(!O)M=19;else for(a=0,P=c0;;){if(P|0){g=e[V>>2]|0,A0=e[h>>2]|0,x=e[W>>2]|0,f0=0;do{_0=g+(f0<<2)|0,e[A0+(e[_0>>2]<<2)>>2]=0,t0=e[_0>>2]|0,$=(e[i>>2]|0)-(e[x+(t0<<2)>>2]|0)|0;do if($|0){if(n0=A0+(t0<<2)|0,w0=e[A>>2]|0,R0=32-w0|0,($|0)>(R0|0))if(T0=e[o>>2]|0,F0=T0+4|0,(F0|0)==(e[s>>2]|0)){e[n0>>2]=0;break}else{I0=e[T0>>2]<<w0,T0=$-R0|0,e[A>>2]=T0,e[o>>2]=F0,D0=32-T0|0,e[n0>>2]=(e[F0>>2]|0)>>>D0|I0>>>(D0-R0|0);break}if(R0=e[o>>2]|0,(R0|0)==(e[s>>2]|0)){e[n0>>2]=0;break}if(e[n0>>2]=e[R0>>2]<<w0>>>(32-$|0),w0=(e[A>>2]|0)+$|0,e[A>>2]=w0,(w0|0)!=32)break;e[o>>2]=R0+4,e[A>>2]=0}while(0);$=e[_0>>2]|0,t0=A0+($<<2)|0,e[t0>>2]=e[t0>>2]|e[(e[X>>2]|0)+($<<2)>>2],f0=f0+1|0}while(f0>>>0<(e[l>>2]|0)>>>0)}f0=e[u>>2]|0;r:do if((e[w>>2]|0)!=(f0|0)){A0=0,x=f0;do{if(g=x,$=e[g+(A0*20|0)>>2]|0,t0=g+(A0*20|0)+12|0,R0=g+(A0*20|0)+16|0,w0=(e[h>>2]|0)+(e[g+(A0*20|0)+4>>2]<<2)|0,g=e[t0>>2]|0,(g|0)==4)z0=w0;else{if(e[R0>>2]|0)for(n0=e[d>>2]|0,D0=0,I0=g;S0(n0|0,w0+(D0<<2)|0,I0|0)|0,D0=D0+1|0,g=e[t0>>2]|0,!(D0>>>0>=(e[R0>>2]|0)>>>0);)n0=n0+g|0,I0=g;z0=e[d>>2]|0}if(I0=e[R>>2]|0,j[$+84>>0]|0?J0=I0:J0=e[(e[$+68>>2]|0)+(I0<<2)>>2]|0,J0>>>0>=(e[$+80>>2]|0)>>>0)break r;I0=e[$+40>>2]|0,S0((e[e[$+64>>2]>>2]|0)+(Z0(J0,I0)|0)|0,z0|0,I0|0)|0,A0=A0+1|0,x=e[u>>2]|0}while(A0>>>0<(((e[w>>2]|0)-x|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,f0=a+1|0,(f0|0)==(O|0)){M=19;break i}a=f0,P=e[l>>2]|0}}else if(!O)M=19;else for(x=0;;){P=e[u>>2]|0;r:do if((e[w>>2]|0)!=(P|0)){q=0,g=P;do{if(n0=g,l0=e[n0+(q*20|0)>>2]|0,t0=n0+(q*20|0)+12|0,a=n0+(q*20|0)+16|0,$=(e[X>>2]|0)+(e[n0+(q*20|0)+4>>2]<<2)|0,n0=e[t0>>2]|0,(n0|0)==4)e0=$;else{if(e[a>>2]|0)for(f0=e[d>>2]|0,A0=0,_0=n0;S0(f0|0,$+(A0<<2)|0,_0|0)|0,A0=A0+1|0,n0=e[t0>>2]|0,!(A0>>>0>=(e[a>>2]|0)>>>0);)f0=f0+n0|0,_0=n0;e0=e[d>>2]|0}if(_0=e[R>>2]|0,j[l0+84>>0]|0?h0=_0:h0=e[(e[l0+68>>2]|0)+(_0<<2)>>2]|0,h0>>>0>=(e[l0+80>>2]|0)>>>0)break r;_0=e[l0+40>>2]|0,S0((e[e[l0+64>>2]>>2]|0)+(Z0(h0,_0)|0)|0,e0|0,_0|0)|0,q=q+1|0,g=e[u>>2]|0}while(q>>>0<(((e[w>>2]|0)-g|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,x=x+1|0,(x|0)==(O|0)){M=19;break}}while(0);if((M|0)==19&&(M=0,b0=e[T>>2]|0),b0)C=b0;else{F=1;break}}while(0);if(b0=e[v>>2]|0,l=e[N>>2]|0,z0=(l>>>0)/341|0,J0=b0+(z0<<2)|0,i=e[p>>2]|0,c0=i,d0=b0,(i|0)!=(b0|0)&&(y0=(e[J0>>2]|0)+((l-(z0*341|0)|0)*12|0)|0,z0=(e[T>>2]|0)+l|0,l=(z0>>>0)/341|0,m0=(e[b0+(l<<2)>>2]|0)+((z0-(l*341|0)|0)*12|0)|0,(m0|0)!=(y0|0)))for(l=J0,J0=y0;y0=J0+12|0,(y0-(e[l>>2]|0)|0)==4092?(z0=l+4|0,Q0=z0,C0=e[z0>>2]|0):(Q0=l,C0=y0),J0=C0,(m0|0)!=(J0|0);)l=Q0;if(e[T>>2]=0,T=c0-d0>>2,T>>>0>2){d0=b0;do Y(e[d0>>2]|0),d0=(e[v>>2]|0)+4|0,e[v>>2]=d0,O0=e[p>>2]|0,x0=O0-d0>>2;while(x0>>>0>2);X0=x0,$0=d0,k2=O0}else X0=T,$0=b0,k2=i;switch(X0|0){case 1:{s2=170,M=108;break}case 2:{s2=341,M=108;break}default:}if((M|0)==108&&(e[N>>2]=s2),($0|0)!=(k2|0)){s2=$0;do Y(e[s2>>2]|0),s2=s2+4|0;while((s2|0)!=(k2|0));k2=e[v>>2]|0,v=e[p>>2]|0,(v|0)!=(k2|0)&&(e[p>>2]=v+(~((v+-4-k2|0)>>>2)<<2))}return k2=e[f>>2]|0,k2?(Y(k2),U=n,F|0):(U=n,F|0)}function O8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0;n=U,U=U+32|0,f=n,l=i+12|0,o=e[l>>2]|0,e[f>>2]=0,A=f+4|0,e[A>>2]=0,u=f+8|0,e[u>>2]=0;do if(o)if(o>>>0>1073741823)W0(f);else{s=o<<2,_=v0(s)|0,e[f>>2]=_,h=_+(o<<2)|0,e[u>>2]=h,E0(_|0,0,s|0)|0,e[A>>2]=h,k=h,b=_;break}else k=0,b=0;while(0);_=i+628|0,h=e[_>>2]|0,s=e[h>>2]|0,s?(o=h+4|0,e[o>>2]=s,Y(s),s=h+8|0,e[s>>2]=0,e[o>>2]=0,e[h>>2]=0,p=s,w=o,d=e[f>>2]|0,m=e[A>>2]|0,c=e[l>>2]|0):(p=h+8|0,w=h+4|0,d=b,m=k,c=o),e[h>>2]=d,e[w>>2]=m,e[p>>2]=e[u>>2],e[f>>2]=0,u=f+4|0,e[u>>2]=0,p=f+8|0,e[p>>2]=0;do if(c)if(c>>>0>1073741823)W0(f);else{m=c<<2,w=v0(m)|0,e[f>>2]=w,d=w+(c<<2)|0,e[p>>2]=d,E0(w|0,0,m|0)|0,e[u>>2]=d,y=d,V=w;break}else y=0,V=0;while(0);c=i+640|0,w=e[c>>2]|0,d=e[w>>2]|0,d?(y=w+4|0,e[y>>2]=d,Y(d),d=w+8|0,e[d>>2]=0,e[y>>2]=0,e[w>>2]=0,v=d,T=y,R=e[f>>2]|0,N=e[u>>2]|0):(v=w+8|0,T=w+4|0,R=V,N=y),e[w>>2]=R,e[T>>2]=N,e[v>>2]=e[p>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,p=f+8|0,v=f+4|0,N=f+16|0,T=f+20|0,o2(f),R=e[v>>2]|0,w=(e[N>>2]|0)+(e[T>>2]|0)|0,(e[p>>2]|0)==(R|0)?G=0:(u=(w>>>0)/341|0,G=(e[R+(u<<2)>>2]|0)+((w-(u*341|0)|0)*12|0)|0),e[G>>2]=r,e[G+4>>2]=0,e[G+8>>2]=0,G=(e[T>>2]|0)+1|0,e[T>>2]=G;e:do if(!G)F=1;else for(u=t+16|0,w=t+20|0,R=t+28|0,y=i+8|0,d=t+12|0,V=i+616|0,m=i+4|0,h=i+604|0,A=i+560|0,o=i+556|0,s=i+548|0,k=i+600|0,b=i+588|0,E=i+596|0,Z=G;;){if(Q=e[N>>2]|0,z=Z+-1|0,C=Q+z|0,W=e[v>>2]|0,I=(C>>>0)/341|0,D=e[W+(I<<2)>>2]|0,L=C-(I*341|0)|0,I=e[D+(L*12|0)>>2]|0,C=e[D+(L*12|0)+4>>2]|0,O=e[D+(L*12|0)+8>>2]|0,e[T>>2]=z,z=e[p>>2]|0,L=z-W|0,(1-Z-Q+((L|0)==0?0:((L>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[z+-4>>2]|0),e[p>>2]=(e[p>>2]|0)+-4),z=e[_>>2]|0,L=z+(O*12|0)|0,Q=(e[c>>2]|0)+(O*12|0)|0,I>>>0>r>>>0){F=0;break e}if(W=$t(i,I,Q,C)|0,W>>>0>=(e[l>>2]|0)>>>0){F=0;break e}C=(e[i>>2]|0)-(e[(e[Q>>2]|0)+(W<<2)>>2]|0)|0;i:do if(C){if(I>>>0>=3){if((e[y>>2]|0)>>>0>(e[m>>2]|0)>>>0){F=0;break e}if(D=O+1|0,X=e[_>>2]|0,M=X+(D*12|0)|0,(M|0)==(L|0)?A0=X:(R2(M,e[L>>2]|0,e[z+(O*12|0)+4>>2]|0),A0=e[_>>2]|0),M=(e[A0+(D*12|0)>>2]|0)+(W<<2)|0,e[M>>2]=(e[M>>2]|0)+(1<<C+-1),M=(N2(I|0)|0)^31,!M)_0=0;else for(X=0,B=0;;)if(e0=B<<1|(V2(i+16+(X<<4)|0)|0)&1,X=X+1|0,(X|0)==(M|0)){_0=e0;break}else B=e0;B=(I>>>1)-_0|0,M=I-B|0;r:do if((B|0)==(M|0))h0=B,p0=B;else{X=e[k>>2]|0,e0=e[E>>2]|0;do if((e0|0)!=(e[b>>2]|0))if(a=(e[e0>>2]&1<<31-X|0)!=0,n0=X+1|0,e[k>>2]=n0,(n0|0)==32)if(e[E>>2]=e0+4,e[k>>2]=0,a){h0=B,p0=M;break r}else break;else if(a){h0=B,p0=M;break r}else break;while(0);h0=M,p0=B}while(0);if(B=e[c>>2]|0,M=e[B+(O*12|0)>>2]|0,e0=M+(W<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,R2(B+(D*12|0)|0,M,e[B+(O*12|0)+4>>2]|0),h0|0&&(B=e[p>>2]|0,M=e[v>>2]|0,e0=B-M|0,X=(e[T>>2]|0)+(e[N>>2]|0)|0,(((e0|0)==0?0:((e0>>2)*341|0)+-1|0)|0)==(X|0)?(o2(f),j0=(e[N>>2]|0)+(e[T>>2]|0)|0,y0=e[p>>2]|0,k0=e[v>>2]|0):(j0=X,y0=B,k0=M),(y0|0)==(k0|0)?N0=0:(M=(j0>>>0)/341|0,N0=(e[k0+(M<<2)>>2]|0)+((j0-(M*341|0)|0)*12|0)|0),e[N0>>2]=h0,e[N0+4>>2]=W,e[N0+8>>2]=O,e[T>>2]=(e[T>>2]|0)+1),!p0){x=19;break}M=e[p>>2]|0,B=e[v>>2]|0,X=M-B|0,e0=(e[T>>2]|0)+(e[N>>2]|0)|0,(((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)==(e0|0)?(o2(f),V0=(e[N>>2]|0)+(e[T>>2]|0)|0,U0=e[p>>2]|0,m0=e[v>>2]|0):(V0=e0,U0=M,m0=B),(U0|0)==(m0|0)?s0=0:(B=(V0>>>0)/341|0,s0=(e[m0+(B<<2)>>2]|0)+((V0-(B*341|0)|0)*12|0)|0),e[s0>>2]=p0,e[s0+4>>2]=W,e[s0+8>>2]=D,B=(e[T>>2]|0)+1|0,e[T>>2]=B,G0=B;break}if(B=e[V>>2]|0,e[B>>2]=W,M=e[l>>2]|0,M>>>0>1)for(e0=1,X=M,a=W;;)if(a=(a|0)==(X+-1|0)?0:a+1|0,e[B+(e0<<2)>>2]=a,e0=e0+1|0,n0=e[l>>2]|0,e0>>>0>=n0>>>0){d0=n0;break}else X=n0;else d0=M;if(!I)x=19;else for(X=0,e0=d0;;){if(e0|0){a=e[V>>2]|0,B=e[h>>2]|0,D=e[Q>>2]|0,n0=0;do{$=a+(n0<<2)|0,e[B+(e[$>>2]<<2)>>2]=0,g=e[$>>2]|0,l0=(e[i>>2]|0)-(e[D+(g<<2)>>2]|0)|0;do if(l0|0){if(P=B+(g<<2)|0,b0=e[A>>2]|0,c0=32-b0|0,(l0|0)>(c0|0))if(w0=e[o>>2]|0,R0=w0+4|0,(R0|0)==(e[s>>2]|0)){e[P>>2]=0;break}else{T0=e[w0>>2]<<b0,w0=l0-c0|0,e[A>>2]=w0,e[o>>2]=R0,F0=32-w0|0,e[P>>2]=(e[R0>>2]|0)>>>F0|T0>>>(F0-c0|0);break}if(c0=e[o>>2]|0,(c0|0)==(e[s>>2]|0)){e[P>>2]=0;break}if(e[P>>2]=e[c0>>2]<<b0>>>(32-l0|0),b0=(e[A>>2]|0)+l0|0,e[A>>2]=b0,(b0|0)!=32)break;e[o>>2]=c0+4,e[A>>2]=0}while(0);l0=e[$>>2]|0,g=B+(l0<<2)|0,e[g>>2]=e[g>>2]|e[(e[L>>2]|0)+(l0<<2)>>2],n0=n0+1|0}while(n0>>>0<(e[l>>2]|0)>>>0)}n0=e[u>>2]|0;r:do if((e[w>>2]|0)!=(n0|0)){B=0,D=n0;do{if(a=D,l0=e[a+(B*20|0)>>2]|0,g=a+(B*20|0)+12|0,c0=a+(B*20|0)+16|0,b0=(e[h>>2]|0)+(e[a+(B*20|0)+4>>2]<<2)|0,a=e[g>>2]|0,(a|0)==4)I0=b0;else{if(e[c0>>2]|0)for(P=e[d>>2]|0,F0=0,T0=a;S0(P|0,b0+(F0<<2)|0,T0|0)|0,F0=F0+1|0,a=e[g>>2]|0,!(F0>>>0>=(e[c0>>2]|0)>>>0);)P=P+a|0,T0=a;I0=e[d>>2]|0}if(T0=e[R>>2]|0,j[l0+84>>0]|0?D0=T0:D0=e[(e[l0+68>>2]|0)+(T0<<2)>>2]|0,D0>>>0>=(e[l0+80>>2]|0)>>>0)break r;T0=e[l0+40>>2]|0,S0((e[e[l0+64>>2]>>2]|0)+(Z0(D0,T0)|0)|0,I0|0,T0|0)|0,B=B+1|0,D=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-D|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,n0=X+1|0,(n0|0)==(I|0)){x=19;break i}X=n0,e0=e[l>>2]|0}}else if(!I)x=19;else for(D=0;;){X=e[u>>2]|0;r:do if((e[w>>2]|0)!=(X|0)){B=0,M=X;do{if(P=M,q=e[P+(B*20|0)>>2]|0,g=P+(B*20|0)+12|0,n0=P+(B*20|0)+16|0,l0=(e[L>>2]|0)+(e[P+(B*20|0)+4>>2]<<2)|0,P=e[g>>2]|0,(P|0)==4)t0=l0;else{if(e[n0>>2]|0)for(a=e[d>>2]|0,$=0,e0=P;S0(a|0,l0+($<<2)|0,e0|0)|0,$=$+1|0,P=e[g>>2]|0,!($>>>0>=(e[n0>>2]|0)>>>0);)a=a+P|0,e0=P;t0=e[d>>2]|0}if(e0=e[R>>2]|0,j[q+84>>0]|0?f0=e0:f0=e[(e[q+68>>2]|0)+(e0<<2)>>2]|0,f0>>>0>=(e[q+80>>2]|0)>>>0)break r;e0=e[q+40>>2]|0,S0((e[e[q+64>>2]>>2]|0)+(Z0(f0,e0)|0)|0,t0|0,e0|0)|0,B=B+1|0,M=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-M|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,D=D+1|0,(D|0)==(I|0)){x=19;break}}while(0);if((x|0)==19&&(x=0,G0=e[T>>2]|0),G0)Z=G0;else{F=1;break}}while(0);if(G0=e[v>>2]|0,l=e[N>>2]|0,I0=(l>>>0)/341|0,D0=G0+(I0<<2)|0,i=e[p>>2]|0,d0=i,s0=G0,(i|0)!=(G0|0)&&(p0=(e[D0>>2]|0)+((l-(I0*341|0)|0)*12|0)|0,I0=(e[T>>2]|0)+l|0,l=(I0>>>0)/341|0,V0=(e[G0+(l<<2)>>2]|0)+((I0-(l*341|0)|0)*12|0)|0,(V0|0)!=(p0|0)))for(l=D0,D0=p0;p0=D0+12|0,(p0-(e[l>>2]|0)|0)==4092?(I0=l+4|0,z0=I0,J0=e[I0>>2]|0):(z0=l,J0=p0),D0=J0,(V0|0)!=(D0|0);)l=z0;if(e[T>>2]=0,T=d0-s0>>2,T>>>0>2){s0=G0;do Y(e[s0>>2]|0),s0=(e[v>>2]|0)+4|0,e[v>>2]=s0,Q0=e[p>>2]|0,C0=Q0-s0>>2;while(C0>>>0>2);O0=C0,x0=s0,X0=Q0}else O0=T,x0=G0,X0=i;switch(O0|0){case 1:{$0=170,x=107;break}case 2:{$0=341,x=107;break}default:}if((x|0)==107&&(e[N>>2]=$0),(x0|0)!=(X0|0)){$0=x0;do Y(e[$0>>2]|0),$0=$0+4|0;while(($0|0)!=(X0|0));X0=e[v>>2]|0,v=e[p>>2]|0,(v|0)!=(X0|0)&&(e[p>>2]=v+(~((v+-4-X0|0)>>>2)<<2))}return X0=e[f>>2]|0,X0?(Y(X0),U=n,F|0):(U=n,F|0)}function S8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0;n=U,U=U+32|0,f=n,l=i+12|0,o=e[l>>2]|0,e[f>>2]=0,A=f+4|0,e[A>>2]=0,u=f+8|0,e[u>>2]=0;do if(o)if(o>>>0>1073741823)W0(f);else{s=o<<2,_=v0(s)|0,e[f>>2]=_,h=_+(o<<2)|0,e[u>>2]=h,E0(_|0,0,s|0)|0,e[A>>2]=h,k=h,b=_;break}else k=0,b=0;while(0);_=i+628|0,h=e[_>>2]|0,s=e[h>>2]|0,s?(o=h+4|0,e[o>>2]=s,Y(s),s=h+8|0,e[s>>2]=0,e[o>>2]=0,e[h>>2]=0,p=s,w=o,d=e[f>>2]|0,m=e[A>>2]|0,c=e[l>>2]|0):(p=h+8|0,w=h+4|0,d=b,m=k,c=o),e[h>>2]=d,e[w>>2]=m,e[p>>2]=e[u>>2],e[f>>2]=0,u=f+4|0,e[u>>2]=0,p=f+8|0,e[p>>2]=0;do if(c)if(c>>>0>1073741823)W0(f);else{m=c<<2,w=v0(m)|0,e[f>>2]=w,d=w+(c<<2)|0,e[p>>2]=d,E0(w|0,0,m|0)|0,e[u>>2]=d,y=d,V=w;break}else y=0,V=0;while(0);c=i+640|0,w=e[c>>2]|0,d=e[w>>2]|0,d?(y=w+4|0,e[y>>2]=d,Y(d),d=w+8|0,e[d>>2]=0,e[y>>2]=0,e[w>>2]=0,v=d,T=y,R=e[f>>2]|0,N=e[u>>2]|0):(v=w+8|0,T=w+4|0,R=V,N=y),e[w>>2]=R,e[T>>2]=N,e[v>>2]=e[p>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,p=f+8|0,v=f+4|0,N=f+16|0,T=f+20|0,o2(f),R=e[v>>2]|0,w=(e[N>>2]|0)+(e[T>>2]|0)|0,(e[p>>2]|0)==(R|0)?G=0:(u=(w>>>0)/341|0,G=(e[R+(u<<2)>>2]|0)+((w-(u*341|0)|0)*12|0)|0),e[G>>2]=r,e[G+4>>2]=0,e[G+8>>2]=0,G=(e[T>>2]|0)+1|0,e[T>>2]=G;e:do if(!G)F=1;else for(u=t+16|0,w=t+20|0,R=t+28|0,y=i+8|0,d=t+12|0,V=i+616|0,m=i+4|0,h=i+604|0,A=i+560|0,o=i+556|0,s=i+548|0,k=i+600|0,b=i+588|0,E=i+596|0,Z=G;;){if(Q=e[N>>2]|0,z=Z+-1|0,C=Q+z|0,W=e[v>>2]|0,I=(C>>>0)/341|0,D=e[W+(I<<2)>>2]|0,L=C-(I*341|0)|0,I=e[D+(L*12|0)>>2]|0,C=e[D+(L*12|0)+4>>2]|0,O=e[D+(L*12|0)+8>>2]|0,e[T>>2]=z,z=e[p>>2]|0,L=z-W|0,(1-Z-Q+((L|0)==0?0:((L>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[z+-4>>2]|0),e[p>>2]=(e[p>>2]|0)+-4),z=e[_>>2]|0,L=z+(O*12|0)|0,Q=(e[c>>2]|0)+(O*12|0)|0,I>>>0>r>>>0){F=0;break e}if(W=xi(i,I,Q,C)|0,W>>>0>=(e[l>>2]|0)>>>0){F=0;break e}C=(e[i>>2]|0)-(e[(e[Q>>2]|0)+(W<<2)>>2]|0)|0;i:do if(C){if(I>>>0>=3){if((e[y>>2]|0)>>>0>(e[m>>2]|0)>>>0){F=0;break e}if(D=O+1|0,X=e[_>>2]|0,M=X+(D*12|0)|0,(M|0)==(L|0)?A0=X:(R2(M,e[L>>2]|0,e[z+(O*12|0)+4>>2]|0),A0=e[_>>2]|0),M=(e[A0+(D*12|0)>>2]|0)+(W<<2)|0,e[M>>2]=(e[M>>2]|0)+(1<<C+-1),M=(N2(I|0)|0)^31,!M)_0=0;else for(X=0,B=0;;)if(e0=B<<1|(V2(i+16+(X<<4)|0)|0)&1,X=X+1|0,(X|0)==(M|0)){_0=e0;break}else B=e0;B=(I>>>1)-_0|0,M=I-B|0;r:do if((B|0)==(M|0))h0=B,p0=B;else{X=e[k>>2]|0,e0=e[E>>2]|0;do if((e0|0)!=(e[b>>2]|0))if(a=(e[e0>>2]&1<<31-X|0)!=0,n0=X+1|0,e[k>>2]=n0,(n0|0)==32)if(e[E>>2]=e0+4,e[k>>2]=0,a){h0=B,p0=M;break r}else break;else if(a){h0=B,p0=M;break r}else break;while(0);h0=M,p0=B}while(0);if(B=e[c>>2]|0,M=e[B+(O*12|0)>>2]|0,e0=M+(W<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,R2(B+(D*12|0)|0,M,e[B+(O*12|0)+4>>2]|0),h0|0&&(B=e[p>>2]|0,M=e[v>>2]|0,e0=B-M|0,X=(e[T>>2]|0)+(e[N>>2]|0)|0,(((e0|0)==0?0:((e0>>2)*341|0)+-1|0)|0)==(X|0)?(o2(f),j0=(e[N>>2]|0)+(e[T>>2]|0)|0,y0=e[p>>2]|0,k0=e[v>>2]|0):(j0=X,y0=B,k0=M),(y0|0)==(k0|0)?N0=0:(M=(j0>>>0)/341|0,N0=(e[k0+(M<<2)>>2]|0)+((j0-(M*341|0)|0)*12|0)|0),e[N0>>2]=h0,e[N0+4>>2]=W,e[N0+8>>2]=O,e[T>>2]=(e[T>>2]|0)+1),!p0){x=19;break}M=e[p>>2]|0,B=e[v>>2]|0,X=M-B|0,e0=(e[T>>2]|0)+(e[N>>2]|0)|0,(((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)==(e0|0)?(o2(f),V0=(e[N>>2]|0)+(e[T>>2]|0)|0,U0=e[p>>2]|0,m0=e[v>>2]|0):(V0=e0,U0=M,m0=B),(U0|0)==(m0|0)?s0=0:(B=(V0>>>0)/341|0,s0=(e[m0+(B<<2)>>2]|0)+((V0-(B*341|0)|0)*12|0)|0),e[s0>>2]=p0,e[s0+4>>2]=W,e[s0+8>>2]=D,B=(e[T>>2]|0)+1|0,e[T>>2]=B,G0=B;break}if(B=e[V>>2]|0,e[B>>2]=W,M=e[l>>2]|0,M>>>0>1)for(e0=1,X=M,a=W;;)if(a=(a|0)==(X+-1|0)?0:a+1|0,e[B+(e0<<2)>>2]=a,e0=e0+1|0,n0=e[l>>2]|0,e0>>>0>=n0>>>0){d0=n0;break}else X=n0;else d0=M;if(!I)x=19;else for(X=0,e0=d0;;){if(e0|0){a=e[V>>2]|0,B=e[h>>2]|0,D=e[Q>>2]|0,n0=0;do{$=a+(n0<<2)|0,e[B+(e[$>>2]<<2)>>2]=0,g=e[$>>2]|0,l0=(e[i>>2]|0)-(e[D+(g<<2)>>2]|0)|0;do if(l0|0){if(P=B+(g<<2)|0,b0=e[A>>2]|0,c0=32-b0|0,(l0|0)>(c0|0))if(w0=e[o>>2]|0,R0=w0+4|0,(R0|0)==(e[s>>2]|0)){e[P>>2]=0;break}else{T0=e[w0>>2]<<b0,w0=l0-c0|0,e[A>>2]=w0,e[o>>2]=R0,F0=32-w0|0,e[P>>2]=(e[R0>>2]|0)>>>F0|T0>>>(F0-c0|0);break}if(c0=e[o>>2]|0,(c0|0)==(e[s>>2]|0)){e[P>>2]=0;break}if(e[P>>2]=e[c0>>2]<<b0>>>(32-l0|0),b0=(e[A>>2]|0)+l0|0,e[A>>2]=b0,(b0|0)!=32)break;e[o>>2]=c0+4,e[A>>2]=0}while(0);l0=e[$>>2]|0,g=B+(l0<<2)|0,e[g>>2]=e[g>>2]|e[(e[L>>2]|0)+(l0<<2)>>2],n0=n0+1|0}while(n0>>>0<(e[l>>2]|0)>>>0)}n0=e[u>>2]|0;r:do if((e[w>>2]|0)!=(n0|0)){B=0,D=n0;do{if(a=D,l0=e[a+(B*20|0)>>2]|0,g=a+(B*20|0)+12|0,c0=a+(B*20|0)+16|0,b0=(e[h>>2]|0)+(e[a+(B*20|0)+4>>2]<<2)|0,a=e[g>>2]|0,(a|0)==4)I0=b0;else{if(e[c0>>2]|0)for(P=e[d>>2]|0,F0=0,T0=a;S0(P|0,b0+(F0<<2)|0,T0|0)|0,F0=F0+1|0,a=e[g>>2]|0,!(F0>>>0>=(e[c0>>2]|0)>>>0);)P=P+a|0,T0=a;I0=e[d>>2]|0}if(T0=e[R>>2]|0,j[l0+84>>0]|0?D0=T0:D0=e[(e[l0+68>>2]|0)+(T0<<2)>>2]|0,D0>>>0>=(e[l0+80>>2]|0)>>>0)break r;T0=e[l0+40>>2]|0,S0((e[e[l0+64>>2]>>2]|0)+(Z0(D0,T0)|0)|0,I0|0,T0|0)|0,B=B+1|0,D=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-D|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,n0=X+1|0,(n0|0)==(I|0)){x=19;break i}X=n0,e0=e[l>>2]|0}}else if(!I)x=19;else for(D=0;;){X=e[u>>2]|0;r:do if((e[w>>2]|0)!=(X|0)){B=0,M=X;do{if(P=M,q=e[P+(B*20|0)>>2]|0,g=P+(B*20|0)+12|0,n0=P+(B*20|0)+16|0,l0=(e[L>>2]|0)+(e[P+(B*20|0)+4>>2]<<2)|0,P=e[g>>2]|0,(P|0)==4)t0=l0;else{if(e[n0>>2]|0)for(a=e[d>>2]|0,$=0,e0=P;S0(a|0,l0+($<<2)|0,e0|0)|0,$=$+1|0,P=e[g>>2]|0,!($>>>0>=(e[n0>>2]|0)>>>0);)a=a+P|0,e0=P;t0=e[d>>2]|0}if(e0=e[R>>2]|0,j[q+84>>0]|0?f0=e0:f0=e[(e[q+68>>2]|0)+(e0<<2)>>2]|0,f0>>>0>=(e[q+80>>2]|0)>>>0)break r;e0=e[q+40>>2]|0,S0((e[e[q+64>>2]>>2]|0)+(Z0(f0,e0)|0)|0,t0|0,e0|0)|0,B=B+1|0,M=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-M|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,D=D+1|0,(D|0)==(I|0)){x=19;break}}while(0);if((x|0)==19&&(x=0,G0=e[T>>2]|0),G0)Z=G0;else{F=1;break}}while(0);if(G0=e[v>>2]|0,l=e[N>>2]|0,I0=(l>>>0)/341|0,D0=G0+(I0<<2)|0,i=e[p>>2]|0,d0=i,s0=G0,(i|0)!=(G0|0)&&(p0=(e[D0>>2]|0)+((l-(I0*341|0)|0)*12|0)|0,I0=(e[T>>2]|0)+l|0,l=(I0>>>0)/341|0,V0=(e[G0+(l<<2)>>2]|0)+((I0-(l*341|0)|0)*12|0)|0,(V0|0)!=(p0|0)))for(l=D0,D0=p0;p0=D0+12|0,(p0-(e[l>>2]|0)|0)==4092?(I0=l+4|0,z0=I0,J0=e[I0>>2]|0):(z0=l,J0=p0),D0=J0,(V0|0)!=(D0|0);)l=z0;if(e[T>>2]=0,T=d0-s0>>2,T>>>0>2){s0=G0;do Y(e[s0>>2]|0),s0=(e[v>>2]|0)+4|0,e[v>>2]=s0,Q0=e[p>>2]|0,C0=Q0-s0>>2;while(C0>>>0>2);O0=C0,x0=s0,X0=Q0}else O0=T,x0=G0,X0=i;switch(O0|0){case 1:{$0=170,x=107;break}case 2:{$0=341,x=107;break}default:}if((x|0)==107&&(e[N>>2]=$0),(x0|0)!=(X0|0)){$0=x0;do Y(e[$0>>2]|0),$0=$0+4|0;while(($0|0)!=(X0|0));X0=e[v>>2]|0,v=e[p>>2]|0,(v|0)!=(X0|0)&&(e[p>>2]=v+(~((v+-4-X0|0)>>>2)<<2))}return X0=e[f>>2]|0,X0?(Y(X0),U=n,F|0):(U=n,F|0)}function X8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0;n=U,U=U+32|0,f=n,l=i+12|0,o=e[l>>2]|0,e[f>>2]=0,A=f+4|0,e[A>>2]=0,u=f+8|0,e[u>>2]=0;do if(o)if(o>>>0>1073741823)W0(f);else{s=o<<2,_=v0(s)|0,e[f>>2]=_,h=_+(o<<2)|0,e[u>>2]=h,E0(_|0,0,s|0)|0,e[A>>2]=h,k=h,b=_;break}else k=0,b=0;while(0);_=i+628|0,h=e[_>>2]|0,s=e[h>>2]|0,s?(o=h+4|0,e[o>>2]=s,Y(s),s=h+8|0,e[s>>2]=0,e[o>>2]=0,e[h>>2]=0,p=s,w=o,d=e[f>>2]|0,m=e[A>>2]|0,c=e[l>>2]|0):(p=h+8|0,w=h+4|0,d=b,m=k,c=o),e[h>>2]=d,e[w>>2]=m,e[p>>2]=e[u>>2],e[f>>2]=0,u=f+4|0,e[u>>2]=0,p=f+8|0,e[p>>2]=0;do if(c)if(c>>>0>1073741823)W0(f);else{m=c<<2,w=v0(m)|0,e[f>>2]=w,d=w+(c<<2)|0,e[p>>2]=d,E0(w|0,0,m|0)|0,e[u>>2]=d,y=d,V=w;break}else y=0,V=0;while(0);c=i+640|0,w=e[c>>2]|0,d=e[w>>2]|0,d?(y=w+4|0,e[y>>2]=d,Y(d),d=w+8|0,e[d>>2]=0,e[y>>2]=0,e[w>>2]=0,v=d,T=y,R=e[f>>2]|0,N=e[u>>2]|0):(v=w+8|0,T=w+4|0,R=V,N=y),e[w>>2]=R,e[T>>2]=N,e[v>>2]=e[p>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,p=f+8|0,v=f+4|0,N=f+16|0,T=f+20|0,o2(f),R=e[v>>2]|0,w=(e[N>>2]|0)+(e[T>>2]|0)|0,(e[p>>2]|0)==(R|0)?G=0:(u=(w>>>0)/341|0,G=(e[R+(u<<2)>>2]|0)+((w-(u*341|0)|0)*12|0)|0),e[G>>2]=r,e[G+4>>2]=0,e[G+8>>2]=0,G=(e[T>>2]|0)+1|0,e[T>>2]=G;e:do if(!G)F=1;else for(u=t+16|0,w=t+20|0,R=t+28|0,y=i+8|0,d=t+12|0,V=i+616|0,m=i+4|0,h=i+604|0,A=i+560|0,o=i+556|0,s=i+548|0,k=i+600|0,b=i+588|0,E=i+596|0,Z=G;;){if(Q=e[N>>2]|0,z=Z+-1|0,C=Q+z|0,W=e[v>>2]|0,I=(C>>>0)/341|0,D=e[W+(I<<2)>>2]|0,L=C-(I*341|0)|0,I=e[D+(L*12|0)>>2]|0,C=e[D+(L*12|0)+4>>2]|0,O=e[D+(L*12|0)+8>>2]|0,e[T>>2]=z,z=e[p>>2]|0,L=z-W|0,(1-Z-Q+((L|0)==0?0:((L>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[z+-4>>2]|0),e[p>>2]=(e[p>>2]|0)+-4),z=e[_>>2]|0,L=z+(O*12|0)|0,I>>>0>r>>>0){F=0;break e}if(Q=e[l>>2]|0,W=(Q+-1|0)==(C|0)?0:C+1|0,W>>>0>=Q>>>0){F=0;break e}Q=(e[c>>2]|0)+(O*12|0)|0,C=(e[i>>2]|0)-(e[(e[Q>>2]|0)+(W<<2)>>2]|0)|0;i:do if(C){if(I>>>0>=3){if((e[y>>2]|0)>>>0>(e[m>>2]|0)>>>0){F=0;break e}if(D=O+1|0,R2(z+(D*12|0)|0,e[L>>2]|0,e[z+(O*12|0)+4>>2]|0),X=(e[(e[_>>2]|0)+(D*12|0)>>2]|0)+(W<<2)|0,e[X>>2]=(e[X>>2]|0)+(1<<C+-1),X=(N2(I|0)|0)^31,!X)A0=0;else for(M=0,B=0;;)if(e0=B<<1|(V2(i+16+(M<<4)|0)|0)&1,M=M+1|0,(M|0)==(X|0)){A0=e0;break}else B=e0;B=(I>>>1)-A0|0,X=I-B|0;r:do if((B|0)==(X|0))_0=B,h0=B;else{M=e[k>>2]|0,e0=e[E>>2]|0;do if((e0|0)!=(e[b>>2]|0))if(a=(e[e0>>2]&1<<31-M|0)!=0,n0=M+1|0,e[k>>2]=n0,(n0|0)==32)if(e[E>>2]=e0+4,e[k>>2]=0,a){_0=B,h0=X;break r}else break;else if(a){_0=B,h0=X;break r}else break;while(0);_0=X,h0=B}while(0);if(B=e[c>>2]|0,X=e[B+(O*12|0)>>2]|0,e0=X+(W<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,R2(B+(D*12|0)|0,X,e[B+(O*12|0)+4>>2]|0),_0|0&&(B=e[p>>2]|0,X=e[v>>2]|0,e0=B-X|0,M=(e[T>>2]|0)+(e[N>>2]|0)|0,(((e0|0)==0?0:((e0>>2)*341|0)+-1|0)|0)==(M|0)?(o2(f),p0=(e[N>>2]|0)+(e[T>>2]|0)|0,j0=e[p>>2]|0,y0=e[v>>2]|0):(p0=M,j0=B,y0=X),(j0|0)==(y0|0)?k0=0:(X=(p0>>>0)/341|0,k0=(e[y0+(X<<2)>>2]|0)+((p0-(X*341|0)|0)*12|0)|0),e[k0>>2]=_0,e[k0+4>>2]=W,e[k0+8>>2]=O,e[T>>2]=(e[T>>2]|0)+1),!h0){x=19;break}X=e[p>>2]|0,B=e[v>>2]|0,M=X-B|0,e0=(e[T>>2]|0)+(e[N>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(e0|0)?(o2(f),N0=(e[N>>2]|0)+(e[T>>2]|0)|0,V0=e[p>>2]|0,U0=e[v>>2]|0):(N0=e0,V0=X,U0=B),(V0|0)==(U0|0)?m0=0:(B=(N0>>>0)/341|0,m0=(e[U0+(B<<2)>>2]|0)+((N0-(B*341|0)|0)*12|0)|0),e[m0>>2]=h0,e[m0+4>>2]=W,e[m0+8>>2]=D,B=(e[T>>2]|0)+1|0,e[T>>2]=B,s0=B;break}if(B=e[V>>2]|0,e[B>>2]=W,X=e[l>>2]|0,X>>>0>1)for(e0=1,M=X,a=W;;)if(a=(a|0)==(M+-1|0)?0:a+1|0,e[B+(e0<<2)>>2]=a,e0=e0+1|0,n0=e[l>>2]|0,e0>>>0>=n0>>>0){G0=n0;break}else M=n0;else G0=X;if(!I)x=19;else for(M=0,e0=G0;;){if(e0|0){a=e[V>>2]|0,B=e[h>>2]|0,D=e[Q>>2]|0,n0=0;do{$=a+(n0<<2)|0,e[B+(e[$>>2]<<2)>>2]=0,g=e[$>>2]|0,l0=(e[i>>2]|0)-(e[D+(g<<2)>>2]|0)|0;do if(l0|0){if(P=B+(g<<2)|0,d0=e[A>>2]|0,b0=32-d0|0,(l0|0)>(b0|0))if(c0=e[o>>2]|0,w0=c0+4|0,(w0|0)==(e[s>>2]|0)){e[P>>2]=0;break}else{R0=e[c0>>2]<<d0,c0=l0-b0|0,e[A>>2]=c0,e[o>>2]=w0,T0=32-c0|0,e[P>>2]=(e[w0>>2]|0)>>>T0|R0>>>(T0-b0|0);break}if(b0=e[o>>2]|0,(b0|0)==(e[s>>2]|0)){e[P>>2]=0;break}if(e[P>>2]=e[b0>>2]<<d0>>>(32-l0|0),d0=(e[A>>2]|0)+l0|0,e[A>>2]=d0,(d0|0)!=32)break;e[o>>2]=b0+4,e[A>>2]=0}while(0);l0=e[$>>2]|0,g=B+(l0<<2)|0,e[g>>2]=e[g>>2]|e[(e[L>>2]|0)+(l0<<2)>>2],n0=n0+1|0}while(n0>>>0<(e[l>>2]|0)>>>0)}n0=e[u>>2]|0;r:do if((e[w>>2]|0)!=(n0|0)){B=0,D=n0;do{if(a=D,l0=e[a+(B*20|0)>>2]|0,g=a+(B*20|0)+12|0,b0=a+(B*20|0)+16|0,d0=(e[h>>2]|0)+(e[a+(B*20|0)+4>>2]<<2)|0,a=e[g>>2]|0,(a|0)==4)F0=d0;else{if(e[b0>>2]|0)for(P=e[d>>2]|0,T0=0,R0=a;S0(P|0,d0+(T0<<2)|0,R0|0)|0,T0=T0+1|0,a=e[g>>2]|0,!(T0>>>0>=(e[b0>>2]|0)>>>0);)P=P+a|0,R0=a;F0=e[d>>2]|0}if(R0=e[R>>2]|0,j[l0+84>>0]|0?I0=R0:I0=e[(e[l0+68>>2]|0)+(R0<<2)>>2]|0,I0>>>0>=(e[l0+80>>2]|0)>>>0)break r;R0=e[l0+40>>2]|0,S0((e[e[l0+64>>2]>>2]|0)+(Z0(I0,R0)|0)|0,F0|0,R0|0)|0,B=B+1|0,D=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-D|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,n0=M+1|0,(n0|0)==(I|0)){x=19;break i}M=n0,e0=e[l>>2]|0}}else if(!I)x=19;else for(D=0;;){X=e[u>>2]|0;r:do if((e[w>>2]|0)!=(X|0)){B=0,M=X;do{if(P=M,q=e[P+(B*20|0)>>2]|0,g=P+(B*20|0)+12|0,n0=P+(B*20|0)+16|0,l0=(e[L>>2]|0)+(e[P+(B*20|0)+4>>2]<<2)|0,P=e[g>>2]|0,(P|0)==4)t0=l0;else{if(e[n0>>2]|0)for(a=e[d>>2]|0,$=0,e0=P;S0(a|0,l0+($<<2)|0,e0|0)|0,$=$+1|0,P=e[g>>2]|0,!($>>>0>=(e[n0>>2]|0)>>>0);)a=a+P|0,e0=P;t0=e[d>>2]|0}if(e0=e[R>>2]|0,j[q+84>>0]|0?f0=e0:f0=e[(e[q+68>>2]|0)+(e0<<2)>>2]|0,f0>>>0>=(e[q+80>>2]|0)>>>0)break r;e0=e[q+40>>2]|0,S0((e[e[q+64>>2]>>2]|0)+(Z0(f0,e0)|0)|0,t0|0,e0|0)|0,B=B+1|0,M=e[u>>2]|0}while(B>>>0<(((e[w>>2]|0)-M|0)/20|0)>>>0)}while(0);if(e[R>>2]=(e[R>>2]|0)+1,e[y>>2]=(e[y>>2]|0)+1,D=D+1|0,(D|0)==(I|0)){x=19;break}}while(0);if((x|0)==19&&(x=0,s0=e[T>>2]|0),s0)Z=s0;else{F=1;break}}while(0);if(s0=e[v>>2]|0,l=e[N>>2]|0,F0=(l>>>0)/341|0,I0=s0+(F0<<2)|0,i=e[p>>2]|0,G0=i,m0=s0,(i|0)!=(s0|0)&&(h0=(e[I0>>2]|0)+((l-(F0*341|0)|0)*12|0)|0,F0=(e[T>>2]|0)+l|0,l=(F0>>>0)/341|0,N0=(e[s0+(l<<2)>>2]|0)+((F0-(l*341|0)|0)*12|0)|0,(N0|0)!=(h0|0)))for(l=I0,I0=h0;h0=I0+12|0,(h0-(e[l>>2]|0)|0)==4092?(F0=l+4|0,D0=F0,z0=e[F0>>2]|0):(D0=l,z0=h0),I0=z0,(N0|0)!=(I0|0);)l=D0;if(e[T>>2]=0,T=G0-m0>>2,T>>>0>2){m0=s0;do Y(e[m0>>2]|0),m0=(e[v>>2]|0)+4|0,e[v>>2]=m0,J0=e[p>>2]|0,Q0=J0-m0>>2;while(Q0>>>0>2);C0=Q0,O0=m0,x0=J0}else C0=T,O0=s0,x0=i;switch(C0|0){case 1:{X0=170,x=105;break}case 2:{X0=341,x=105;break}default:}if((x|0)==105&&(e[N>>2]=X0),(O0|0)!=(x0|0)){X0=O0;do Y(e[X0>>2]|0),X0=X0+4|0;while((X0|0)!=(x0|0));x0=e[v>>2]|0,v=e[p>>2]|0,(v|0)!=(x0|0)&&(e[p>>2]=v+(~((v+-4-x0|0)>>>2)<<2))}return x0=e[f>>2]|0,x0?(Y(x0),U=n,F|0):(U=n,F|0)}function P8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0;n=U,U=U+32|0,f=n+8|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+116|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+128|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,w=f+8|0,T=f+4|0,G=f+16|0,R=f+20|0,o2(f),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=t+16|0,d=t+20|0,N=t+28|0,V=i+8|0,m=t+12|0,v=i+104|0,c=i+4|0,k=i+92|0,u=i+48|0,A=i+44|0,_=i+36|0,b=i+16|0,p=i+88|0,Z=i+76|0,Q=i+84|0,z=F;;){if(C=e[G>>2]|0,W=z+-1|0,I=C+W|0,D=e[T>>2]|0,L=(I>>>0)/341|0,O=e[D+(L<<2)>>2]|0,x=I-(L*341|0)|0,L=e[O+(x*12|0)>>2]|0,I=e[O+(x*12|0)+4>>2]|0,X=e[O+(x*12|0)+8>>2]|0,e[R>>2]=W,W=e[w>>2]|0,x=W-D|0,(1-z-C+((x|0)==0?0:((x>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[W+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),W=e[h>>2]|0,x=W+(X*12|0)|0,C=(e[y>>2]|0)+(X*12|0)|0,L>>>0>r>>>0){E=0;break e}if(D=xi(i,L,C,I)|0,D>>>0>=(e[o>>2]|0)>>>0){E=0;break e}I=(e[i>>2]|0)-(e[(e[C>>2]|0)+(D<<2)>>2]|0)|0;i:do if(I){if(L>>>0>=3){if((e[V>>2]|0)>>>0>(e[c>>2]|0)>>>0){E=0;break e}O=X+1|0,B=e[h>>2]|0,P=B+(O*12|0)|0,(P|0)==(x|0)?_0=B:(R2(P,e[x>>2]|0,e[W+(X*12|0)+4>>2]|0),_0=e[h>>2]|0),P=(e[_0+(O*12|0)>>2]|0)+(D<<2)|0,e[P>>2]=(e[P>>2]|0)+(1<<I+-1),P=(N2(L|0)|0)^31,e[l>>2]=0,Z1(b,P,l),P=(L>>>1)-(e[l>>2]|0)|0,B=L-P|0;r:do if((P|0)==(B|0))h0=P,p0=P;else{M=e[p>>2]|0,f0=e[Q>>2]|0;do if((f0|0)!=(e[Z>>2]|0))if($=(e[f0>>2]&1<<31-M|0)!=0,l0=M+1|0,e[p>>2]=l0,(l0|0)==32)if(e[Q>>2]=f0+4,e[p>>2]=0,$){h0=P,p0=B;break r}else break;else if($){h0=P,p0=B;break r}else break;while(0);h0=B,p0=P}while(0);P=e[y>>2]|0,B=e[P+(X*12|0)>>2]|0,f0=B+(D<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,R2(P+(O*12|0)|0,B,e[P+(X*12|0)+4>>2]|0),h0|0&&(P=e[w>>2]|0,B=e[T>>2]|0,f0=P-B|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((f0|0)==0?0:((f0>>2)*341|0)+-1|0)|0)==(M|0)?(o2(f),j0=(e[G>>2]|0)+(e[R>>2]|0)|0,y0=e[w>>2]|0,k0=e[T>>2]|0):(j0=M,y0=P,k0=B),(y0|0)==(k0|0)?N0=0:(B=(j0>>>0)/341|0,N0=(e[k0+(B<<2)>>2]|0)+((j0-(B*341|0)|0)*12|0)|0),e[N0>>2]=h0,e[N0+4>>2]=D,e[N0+8>>2]=X,e[R>>2]=(e[R>>2]|0)+1),p0|0&&(B=e[w>>2]|0,P=e[T>>2]|0,M=B-P|0,f0=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(f0|0)?(o2(f),V0=(e[G>>2]|0)+(e[R>>2]|0)|0,U0=e[w>>2]|0,m0=e[T>>2]|0):(V0=f0,U0=B,m0=P),(U0|0)==(m0|0)?s0=0:(P=(V0>>>0)/341|0,s0=(e[m0+(P<<2)>>2]|0)+((V0-(P*341|0)|0)*12|0)|0),e[s0>>2]=p0,e[s0+4>>2]=D,e[s0+8>>2]=O,e[R>>2]=(e[R>>2]|0)+1);break}if(P=e[v>>2]|0,e[P>>2]=D,B=e[o>>2]|0,B>>>0>1)for(f0=1,M=B,$=D;;)if($=($|0)==(M+-1|0)?0:$+1|0,e[P+(f0<<2)>>2]=$,f0=f0+1|0,l0=e[o>>2]|0,f0>>>0>=l0>>>0){G0=l0;break}else M=l0;else G0=B;if(L|0)for(M=0,f0=G0;;){if(f0|0){$=e[v>>2]|0,P=e[k>>2]|0,O=e[C>>2]|0,l0=0;do{e0=$+(l0<<2)|0,e[P+(e[e0>>2]<<2)>>2]=0,n0=e[e0>>2]|0,t0=(e[i>>2]|0)-(e[O+(n0<<2)>>2]|0)|0;do if(t0|0){if(q=P+(n0<<2)|0,d0=e[u>>2]|0,b0=32-d0|0,(t0|0)>(b0|0))if(c0=e[A>>2]|0,w0=c0+4|0,(w0|0)==(e[_>>2]|0)){e[q>>2]=0;break}else{R0=e[c0>>2]<<d0,c0=t0-b0|0,e[u>>2]=c0,e[A>>2]=w0,T0=32-c0|0,e[q>>2]=(e[w0>>2]|0)>>>T0|R0>>>(T0-b0|0);break}if(b0=e[A>>2]|0,(b0|0)==(e[_>>2]|0)){e[q>>2]=0;break}if(e[q>>2]=e[b0>>2]<<d0>>>(32-t0|0),d0=(e[u>>2]|0)+t0|0,e[u>>2]=d0,(d0|0)!=32)break;e[A>>2]=b0+4,e[u>>2]=0}while(0);t0=e[e0>>2]|0,n0=P+(t0<<2)|0,e[n0>>2]=e[n0>>2]|e[(e[x>>2]|0)+(t0<<2)>>2],l0=l0+1|0}while(l0>>>0<(e[o>>2]|0)>>>0)}l0=e[s>>2]|0;r:do if((e[d>>2]|0)!=(l0|0)){P=0,O=l0;do{if($=O,t0=e[$+(P*20|0)>>2]|0,n0=$+(P*20|0)+12|0,b0=$+(P*20|0)+16|0,d0=(e[k>>2]|0)+(e[$+(P*20|0)+4>>2]<<2)|0,$=e[n0>>2]|0,($|0)==4)F0=d0;else{if(e[b0>>2]|0)for(q=e[m>>2]|0,T0=0,R0=$;S0(q|0,d0+(T0<<2)|0,R0|0)|0,T0=T0+1|0,$=e[n0>>2]|0,!(T0>>>0>=(e[b0>>2]|0)>>>0);)q=q+$|0,R0=$;F0=e[m>>2]|0}if(R0=e[N>>2]|0,j[t0+84>>0]|0?I0=R0:I0=e[(e[t0+68>>2]|0)+(R0<<2)>>2]|0,I0>>>0>=(e[t0+80>>2]|0)>>>0)break r;R0=e[t0+40>>2]|0,S0((e[e[t0+64>>2]>>2]|0)+(Z0(I0,R0)|0)|0,F0|0,R0|0)|0,P=P+1|0,O=e[s>>2]|0}while(P>>>0<(((e[d>>2]|0)-O|0)/20|0)>>>0)}while(0);if(e[N>>2]=(e[N>>2]|0)+1,e[V>>2]=(e[V>>2]|0)+1,l0=M+1|0,(l0|0)==(L|0))break i;M=l0,f0=e[o>>2]|0}}else if(L|0){O=0;do{B=e[s>>2]|0;r:do if((e[d>>2]|0)!=(B|0)){M=0,P=B;do{if(q=P,g=e[q+(M*20|0)>>2]|0,n0=q+(M*20|0)+12|0,l0=q+(M*20|0)+16|0,t0=(e[x>>2]|0)+(e[q+(M*20|0)+4>>2]<<2)|0,q=e[n0>>2]|0,(q|0)==4)a=t0;else{if(e[l0>>2]|0)for($=e[m>>2]|0,e0=0,f0=q;S0($|0,t0+(e0<<2)|0,f0|0)|0,e0=e0+1|0,q=e[n0>>2]|0,!(e0>>>0>=(e[l0>>2]|0)>>>0);)$=$+q|0,f0=q;a=e[m>>2]|0}if(f0=e[N>>2]|0,j[g+84>>0]|0?A0=f0:A0=e[(e[g+68>>2]|0)+(f0<<2)>>2]|0,A0>>>0>=(e[g+80>>2]|0)>>>0)break r;f0=e[g+40>>2]|0,S0((e[e[g+64>>2]>>2]|0)+(Z0(A0,f0)|0)|0,a|0,f0|0)|0,M=M+1|0,P=e[s>>2]|0}while(M>>>0<(((e[d>>2]|0)-P|0)/20|0)>>>0)}while(0);e[N>>2]=(e[N>>2]|0)+1,e[V>>2]=(e[V>>2]|0)+1,O=O+1|0}while((O|0)!=(L|0))}while(0);if(z=e[R>>2]|0,!z){E=1;break}}while(0);if(o=e[T>>2]|0,F0=e[G>>2]|0,I0=(F0>>>0)/341|0,i=o+(I0<<2)|0,G0=e[w>>2]|0,s0=G0,p0=o,(G0|0)!=(o|0)&&(V0=(e[i>>2]|0)+((F0-(I0*341|0)|0)*12|0)|0,I0=(e[R>>2]|0)+F0|0,F0=(I0>>>0)/341|0,m0=(e[o+(F0<<2)>>2]|0)+((I0-(F0*341|0)|0)*12|0)|0,(m0|0)!=(V0|0)))for(F0=i,i=V0;V0=i+12|0,(V0-(e[F0>>2]|0)|0)==4092?(I0=F0+4|0,D0=I0,z0=e[I0>>2]|0):(D0=F0,z0=V0),i=z0,(m0|0)!=(i|0);)F0=D0;if(e[R>>2]=0,R=s0-p0>>2,R>>>0>2){p0=o;do Y(e[p0>>2]|0),p0=(e[T>>2]|0)+4|0,e[T>>2]=p0,J0=e[w>>2]|0,Q0=J0-p0>>2;while(Q0>>>0>2);C0=Q0,O0=p0,x0=J0}else C0=R,O0=o,x0=G0;switch(C0|0){case 1:{X0=170,$0=104;break}case 2:{X0=341,$0=104;break}default:}if(($0|0)==104&&(e[G>>2]=X0),(O0|0)!=(x0|0)){X0=O0;do Y(e[X0>>2]|0),X0=X0+4|0;while((X0|0)!=(x0|0));x0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(x0|0)&&(e[w>>2]=T+(~((T+-4-x0|0)>>>2)<<2))}return x0=e[f>>2]|0,x0?(Y(x0),U=n,E|0):(U=n,E|0)}function H8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0;n=U,U=U+32|0,f=n+8|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+116|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+128|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,e[f+16>>2]=0,e[f+20>>2]=0,w=f+8|0,T=f+4|0,G=f+16|0,R=f+20|0,o2(f),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=t+16|0,d=t+20|0,N=t+28|0,V=i+8|0,m=t+12|0,v=i+104|0,c=i+4|0,k=i+92|0,u=i+48|0,A=i+44|0,_=i+36|0,b=i+16|0,p=i+88|0,Z=i+76|0,Q=i+84|0,z=F;;){if(C=e[G>>2]|0,W=z+-1|0,I=C+W|0,D=e[T>>2]|0,L=(I>>>0)/341|0,O=e[D+(L<<2)>>2]|0,x=I-(L*341|0)|0,L=e[O+(x*12|0)>>2]|0,I=e[O+(x*12|0)+4>>2]|0,X=e[O+(x*12|0)+8>>2]|0,e[R>>2]=W,W=e[w>>2]|0,x=W-D|0,(1-z-C+((x|0)==0?0:((x>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[W+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),W=e[h>>2]|0,x=W+(X*12|0)|0,L>>>0>r>>>0){E=0;break e}if(C=e[o>>2]|0,D=(C+-1|0)==(I|0)?0:I+1|0,D>>>0>=C>>>0){E=0;break e}C=(e[y>>2]|0)+(X*12|0)|0,I=(e[i>>2]|0)-(e[(e[C>>2]|0)+(D<<2)>>2]|0)|0;i:do if(I){if(L>>>0>=3){if((e[V>>2]|0)>>>0>(e[c>>2]|0)>>>0){E=0;break e}O=X+1|0,R2(W+(O*12|0)|0,e[x>>2]|0,e[W+(X*12|0)+4>>2]|0),B=(e[(e[h>>2]|0)+(O*12|0)>>2]|0)+(D<<2)|0,e[B>>2]=(e[B>>2]|0)+(1<<I+-1),B=(N2(L|0)|0)^31,e[l>>2]=0,Z1(b,B,l),B=(L>>>1)-(e[l>>2]|0)|0,P=L-B|0;r:do if((B|0)==(P|0))_0=B,h0=B;else{M=e[p>>2]|0,f0=e[Q>>2]|0;do if((f0|0)!=(e[Z>>2]|0))if($=(e[f0>>2]&1<<31-M|0)!=0,l0=M+1|0,e[p>>2]=l0,(l0|0)==32)if(e[Q>>2]=f0+4,e[p>>2]=0,$){_0=B,h0=P;break r}else break;else if($){_0=B,h0=P;break r}else break;while(0);_0=P,h0=B}while(0);B=e[y>>2]|0,P=e[B+(X*12|0)>>2]|0,f0=P+(D<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,R2(B+(O*12|0)|0,P,e[B+(X*12|0)+4>>2]|0),_0|0&&(B=e[w>>2]|0,P=e[T>>2]|0,f0=B-P|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((f0|0)==0?0:((f0>>2)*341|0)+-1|0)|0)==(M|0)?(o2(f),p0=(e[G>>2]|0)+(e[R>>2]|0)|0,j0=e[w>>2]|0,y0=e[T>>2]|0):(p0=M,j0=B,y0=P),(j0|0)==(y0|0)?k0=0:(P=(p0>>>0)/341|0,k0=(e[y0+(P<<2)>>2]|0)+((p0-(P*341|0)|0)*12|0)|0),e[k0>>2]=_0,e[k0+4>>2]=D,e[k0+8>>2]=X,e[R>>2]=(e[R>>2]|0)+1),h0|0&&(P=e[w>>2]|0,B=e[T>>2]|0,M=P-B|0,f0=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(f0|0)?(o2(f),N0=(e[G>>2]|0)+(e[R>>2]|0)|0,V0=e[w>>2]|0,U0=e[T>>2]|0):(N0=f0,V0=P,U0=B),(V0|0)==(U0|0)?m0=0:(B=(N0>>>0)/341|0,m0=(e[U0+(B<<2)>>2]|0)+((N0-(B*341|0)|0)*12|0)|0),e[m0>>2]=h0,e[m0+4>>2]=D,e[m0+8>>2]=O,e[R>>2]=(e[R>>2]|0)+1);break}if(B=e[v>>2]|0,e[B>>2]=D,P=e[o>>2]|0,P>>>0>1)for(f0=1,M=P,$=D;;)if($=($|0)==(M+-1|0)?0:$+1|0,e[B+(f0<<2)>>2]=$,f0=f0+1|0,l0=e[o>>2]|0,f0>>>0>=l0>>>0){s0=l0;break}else M=l0;else s0=P;if(L|0)for(M=0,f0=s0;;){if(f0|0){$=e[v>>2]|0,B=e[k>>2]|0,O=e[C>>2]|0,l0=0;do{e0=$+(l0<<2)|0,e[B+(e[e0>>2]<<2)>>2]=0,n0=e[e0>>2]|0,t0=(e[i>>2]|0)-(e[O+(n0<<2)>>2]|0)|0;do if(t0|0){if(q=B+(n0<<2)|0,G0=e[u>>2]|0,d0=32-G0|0,(t0|0)>(d0|0))if(b0=e[A>>2]|0,c0=b0+4|0,(c0|0)==(e[_>>2]|0)){e[q>>2]=0;break}else{w0=e[b0>>2]<<G0,b0=t0-d0|0,e[u>>2]=b0,e[A>>2]=c0,R0=32-b0|0,e[q>>2]=(e[c0>>2]|0)>>>R0|w0>>>(R0-d0|0);break}if(d0=e[A>>2]|0,(d0|0)==(e[_>>2]|0)){e[q>>2]=0;break}if(e[q>>2]=e[d0>>2]<<G0>>>(32-t0|0),G0=(e[u>>2]|0)+t0|0,e[u>>2]=G0,(G0|0)!=32)break;e[A>>2]=d0+4,e[u>>2]=0}while(0);t0=e[e0>>2]|0,n0=B+(t0<<2)|0,e[n0>>2]=e[n0>>2]|e[(e[x>>2]|0)+(t0<<2)>>2],l0=l0+1|0}while(l0>>>0<(e[o>>2]|0)>>>0)}l0=e[s>>2]|0;r:do if((e[d>>2]|0)!=(l0|0)){B=0,O=l0;do{if($=O,t0=e[$+(B*20|0)>>2]|0,n0=$+(B*20|0)+12|0,d0=$+(B*20|0)+16|0,G0=(e[k>>2]|0)+(e[$+(B*20|0)+4>>2]<<2)|0,$=e[n0>>2]|0,($|0)==4)T0=G0;else{if(e[d0>>2]|0)for(q=e[m>>2]|0,R0=0,w0=$;S0(q|0,G0+(R0<<2)|0,w0|0)|0,R0=R0+1|0,$=e[n0>>2]|0,!(R0>>>0>=(e[d0>>2]|0)>>>0);)q=q+$|0,w0=$;T0=e[m>>2]|0}if(w0=e[N>>2]|0,j[t0+84>>0]|0?F0=w0:F0=e[(e[t0+68>>2]|0)+(w0<<2)>>2]|0,F0>>>0>=(e[t0+80>>2]|0)>>>0)break r;w0=e[t0+40>>2]|0,S0((e[e[t0+64>>2]>>2]|0)+(Z0(F0,w0)|0)|0,T0|0,w0|0)|0,B=B+1|0,O=e[s>>2]|0}while(B>>>0<(((e[d>>2]|0)-O|0)/20|0)>>>0)}while(0);if(e[N>>2]=(e[N>>2]|0)+1,e[V>>2]=(e[V>>2]|0)+1,l0=M+1|0,(l0|0)==(L|0))break i;M=l0,f0=e[o>>2]|0}}else if(L|0){O=0;do{B=e[s>>2]|0;r:do if((e[d>>2]|0)!=(B|0)){M=0,P=B;do{if(q=P,g=e[q+(M*20|0)>>2]|0,n0=q+(M*20|0)+12|0,l0=q+(M*20|0)+16|0,t0=(e[x>>2]|0)+(e[q+(M*20|0)+4>>2]<<2)|0,q=e[n0>>2]|0,(q|0)==4)a=t0;else{if(e[l0>>2]|0)for($=e[m>>2]|0,e0=0,f0=q;S0($|0,t0+(e0<<2)|0,f0|0)|0,e0=e0+1|0,q=e[n0>>2]|0,!(e0>>>0>=(e[l0>>2]|0)>>>0);)$=$+q|0,f0=q;a=e[m>>2]|0}if(f0=e[N>>2]|0,j[g+84>>0]|0?A0=f0:A0=e[(e[g+68>>2]|0)+(f0<<2)>>2]|0,A0>>>0>=(e[g+80>>2]|0)>>>0)break r;f0=e[g+40>>2]|0,S0((e[e[g+64>>2]>>2]|0)+(Z0(A0,f0)|0)|0,a|0,f0|0)|0,M=M+1|0,P=e[s>>2]|0}while(M>>>0<(((e[d>>2]|0)-P|0)/20|0)>>>0)}while(0);e[N>>2]=(e[N>>2]|0)+1,e[V>>2]=(e[V>>2]|0)+1,O=O+1|0}while((O|0)!=(L|0))}while(0);if(z=e[R>>2]|0,!z){E=1;break}}while(0);if(o=e[T>>2]|0,T0=e[G>>2]|0,F0=(T0>>>0)/341|0,i=o+(F0<<2)|0,s0=e[w>>2]|0,m0=s0,h0=o,(s0|0)!=(o|0)&&(N0=(e[i>>2]|0)+((T0-(F0*341|0)|0)*12|0)|0,F0=(e[R>>2]|0)+T0|0,T0=(F0>>>0)/341|0,U0=(e[o+(T0<<2)>>2]|0)+((F0-(T0*341|0)|0)*12|0)|0,(U0|0)!=(N0|0)))for(T0=i,i=N0;N0=i+12|0,(N0-(e[T0>>2]|0)|0)==4092?(F0=T0+4|0,I0=F0,D0=e[F0>>2]|0):(I0=T0,D0=N0),i=D0,(U0|0)!=(i|0);)T0=I0;if(e[R>>2]=0,R=m0-h0>>2,R>>>0>2){h0=o;do Y(e[h0>>2]|0),h0=(e[T>>2]|0)+4|0,e[T>>2]=h0,z0=e[w>>2]|0,J0=z0-h0>>2;while(J0>>>0>2);Q0=J0,C0=h0,O0=z0}else Q0=R,C0=o,O0=s0;switch(Q0|0){case 1:{x0=170,X0=102;break}case 2:{x0=341,X0=102;break}default:}if((X0|0)==102&&(e[G>>2]=x0),(C0|0)!=(O0|0)){x0=C0;do Y(e[x0>>2]|0),x0=x0+4|0;while((x0|0)!=(O0|0));O0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(O0|0)&&(e[w>>2]=T+(~((T+-4-O0|0)>>>2)<<2))}return O0=e[f>>2]|0,O0?(Y(O0),U=n,E|0):(U=n,E|0)}function x8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+120|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+132|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+108|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+96|0,u=i+52|0,A=i+48|0,_=i+40|0,b=i+32|0,p=i+28|0,Z=i+20|0,Q=i+92|0,z=i+80|0,C=i+88|0,W=F;;){if(I=e[G>>2]|0,D=W+-1|0,L=I+D|0,O=e[T>>2]|0,x=(L>>>0)/341|0,X=e[O+(x<<2)>>2]|0,B=L-(x*341|0)|0,x=e[X+(B*12|0)>>2]|0,L=e[X+(B*12|0)+4>>2]|0,M=e[X+(B*12|0)+8>>2]|0,e[R>>2]=D,D=e[w>>2]|0,B=D-O|0,(1-W-I+((B|0)==0?0:((B>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[D+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),D=e[h>>2]|0,B=D+(M*12|0)|0,I=(e[y>>2]|0)+(M*12|0)|0,x>>>0>r>>>0){E=0;break e}if(O=xi(i,x,I,L)|0,O>>>0>=(e[o>>2]|0)>>>0){E=0;break e}L=(e[i>>2]|0)-(e[(e[I>>2]|0)+(O<<2)>>2]|0)|0;i:do if(L){if(x>>>0<3){if(X=e[V>>2]|0,e[X>>2]=O,q=e[o>>2]|0,q>>>0>1)for(l0=1,n0=q,g=O;;)if(g=(g|0)==(n0+-1|0)?0:g+1|0,e[X+(l0<<2)>>2]=g,l0=l0+1|0,t0=e[o>>2]|0,l0>>>0>=t0>>>0){a=t0;break}else n0=t0;else a=q;if(!x){P=19;break}for(n0=0,l0=a;;){if(!l0)$=e[k>>2]|0;else{g=e[V>>2]|0,X=e[k>>2]|0,t0=e[I>>2]|0,e0=0;do{f0=g+(e0<<2)|0,e[X+(e[f0>>2]<<2)>>2]=0,A0=e[f0>>2]|0,_0=(e[i>>2]|0)-(e[t0+(A0<<2)>>2]|0)|0;do if(_0|0){if(h0=X+(A0<<2)|0,p0=e[u>>2]|0,j0=32-p0|0,(_0|0)>(j0|0))if(y0=e[A>>2]|0,k0=y0+4|0,(k0|0)==(e[_>>2]|0)){e[h0>>2]=0;break}else{N0=e[y0>>2]<<p0,y0=_0-j0|0,e[u>>2]=y0,e[A>>2]=k0,V0=32-y0|0,e[h0>>2]=(e[k0>>2]|0)>>>V0|N0>>>(V0-j0|0);break}if(j0=e[A>>2]|0,(j0|0)==(e[_>>2]|0)){e[h0>>2]=0;break}if(e[h0>>2]=e[j0>>2]<<p0>>>(32-_0|0),p0=(e[u>>2]|0)+_0|0,e[u>>2]=p0,(p0|0)!=32)break;e[A>>2]=j0+4,e[u>>2]=0}while(0);_0=e[f0>>2]|0,A0=X+(_0<<2)|0,e[A0>>2]=e[A0>>2]|e[(e[B>>2]|0)+(_0<<2)>>2],e0=e0+1|0}while(e0>>>0<(e[o>>2]|0)>>>0);$=X}if(X=e[$>>2]|0,e[f>>2]=X,e[v>>2]=e[$+4>>2],e[c>>2]=e[$+8>>2],e0=e[t>>2]|0,t0=e0+4|0,g=e[t0>>2]|0,g>>>0<(e[e0+8>>2]|0)>>>0?(e[g>>2]=X,e[g+4>>2]=e[v>>2],e[g+8>>2]=e[c>>2],e[t0>>2]=g+12):he(e0,f),e[N>>2]=(e[N>>2]|0)+1,e0=n0+1|0,e0>>>0>=x>>>0){P=19;break i}n0=e0,l0=e[o>>2]|0}}if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}l0=M+1|0,n0=e[h>>2]|0,q=n0+(l0*12|0)|0,(q|0)==(B|0)?U0=n0:(R2(q,e[B>>2]|0,e[D+(M*12|0)+4>>2]|0),U0=e[h>>2]|0),q=(e[U0+(l0*12|0)>>2]|0)+(O<<2)|0,e[q>>2]=(e[q>>2]|0)+(1<<L+-1),q=(N2(x|0)|0)^31,n0=e[b>>2]|0,e0=32-n0|0,(q|0)>(e0|0)?(g=e[p>>2]|0,t0=g+4|0,(t0|0)==(e[Z>>2]|0)?m0=0:(X=e[g>>2]<<n0,g=q-e0|0,e[b>>2]=g,e[p>>2]=t0,_0=32-g|0,m0=(e[t0>>2]|0)>>>_0|X>>>(_0-e0|0))):(e0=e[p>>2]|0,(e0|0)!=(e[Z>>2]|0)?(_0=e[e0>>2]<<n0>>>(32-q|0),X=n0+q|0,e[b>>2]=X,(X|0)==32&&(e[p>>2]=e0+4,e[b>>2]=0),m0=_0):m0=0),_0=(x>>>1)-m0|0,e0=x-_0|0;r:do if((_0|0)==(e0|0))s0=_0,G0=_0;else{X=e[Q>>2]|0,q=e[C>>2]|0;do if((q|0)!=(e[z>>2]|0))if(n0=(e[q>>2]&1<<31-X|0)!=0,t0=X+1|0,e[Q>>2]=t0,(t0|0)==32)if(e[C>>2]=q+4,e[Q>>2]=0,n0){s0=_0,G0=e0;break r}else break;else if(n0){s0=_0,G0=e0;break r}else break;while(0);s0=e0,G0=_0}while(0);_0=e[y>>2]|0,e0=e[_0+(M*12|0)>>2]|0,q=e0+(O<<2)|0,e[q>>2]=(e[q>>2]|0)+1,R2(_0+(l0*12|0)|0,e0,e[_0+(M*12|0)+4>>2]|0),s0|0&&(_0=e[w>>2]|0,e0=e[T>>2]|0,q=_0-e0|0,X=(e[R>>2]|0)+(e[G>>2]|0)|0,(((q|0)==0?0:((q>>2)*341|0)+-1|0)|0)==(X|0)?(o2(l),d0=(e[G>>2]|0)+(e[R>>2]|0)|0,b0=e[w>>2]|0,c0=e[T>>2]|0):(d0=X,b0=_0,c0=e0),(b0|0)==(c0|0)?w0=0:(e0=(d0>>>0)/341|0,w0=(e[c0+(e0<<2)>>2]|0)+((d0-(e0*341|0)|0)*12|0)|0),e[w0>>2]=s0,e[w0+4>>2]=O,e[w0+8>>2]=M,e[R>>2]=(e[R>>2]|0)+1),G0?(e0=e[w>>2]|0,_0=e[T>>2]|0,X=e0-_0|0,q=(e[R>>2]|0)+(e[G>>2]|0)|0,(((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)==(q|0)?(o2(l),R0=(e[G>>2]|0)+(e[R>>2]|0)|0,T0=e[w>>2]|0,F0=e[T>>2]|0):(R0=q,T0=e0,F0=_0),(T0|0)==(F0|0)?I0=0:(_0=(R0>>>0)/341|0,I0=(e[F0+(_0<<2)>>2]|0)+((R0-(_0*341|0)|0)*12|0)|0),e[I0>>2]=G0,e[I0+4>>2]=O,e[I0+8>>2]=l0,_0=(e[R>>2]|0)+1|0,e[R>>2]=_0,D0=_0):P=19}else if(!x)P=19;else{X=0;do q=e[B>>2]|0,g=e[q>>2]|0,e[f>>2]=g,e[s>>2]=e[q+4>>2],e[d>>2]=e[q+8>>2],q=e[t>>2]|0,n0=q+4|0,l0=e[n0>>2]|0,l0>>>0<(e[q+8>>2]|0)>>>0?(e[l0>>2]=g,e[l0+4>>2]=e[s>>2],e[l0+8>>2]=e[d>>2],e[n0>>2]=l0+12):he(q,f),e[N>>2]=(e[N>>2]|0)+1,X=X+1|0;while(X>>>0<x>>>0);P=19}while(0);if((P|0)==19&&(P=0,D0=e[R>>2]|0),D0)W=D0;else{E=1;break}}while(0);if(D0=e[T>>2]|0,I0=e[G>>2]|0,G0=(I0>>>0)/341|0,R0=D0+(G0<<2)|0,F0=e[w>>2]|0,T0=F0,w0=D0,(F0|0)!=(D0|0)&&(s0=(e[R0>>2]|0)+((I0-(G0*341|0)|0)*12|0)|0,G0=(e[R>>2]|0)+I0|0,I0=(G0>>>0)/341|0,d0=(e[D0+(I0<<2)>>2]|0)+((G0-(I0*341|0)|0)*12|0)|0,(d0|0)!=(s0|0)))for(I0=R0,R0=s0;s0=R0+12|0,(s0-(e[I0>>2]|0)|0)==4092?(G0=I0+4|0,z0=G0,J0=e[G0>>2]|0):(z0=I0,J0=s0),R0=J0,(d0|0)!=(R0|0);)I0=z0;if(e[R>>2]=0,R=T0-w0>>2,R>>>0>2){w0=D0;do Y(e[w0>>2]|0),w0=(e[T>>2]|0)+4|0,e[T>>2]=w0,Q0=e[w>>2]|0,C0=Q0-w0>>2;while(C0>>>0>2);O0=C0,x0=w0,X0=Q0}else O0=R,x0=D0,X0=F0;switch(O0|0){case 1:{$0=170,P=95;break}case 2:{$0=341,P=95;break}default:}if((P|0)==95&&(e[G>>2]=$0),(x0|0)!=(X0|0)){$0=x0;do Y(e[$0>>2]|0),$0=$0+4|0;while(($0|0)!=(X0|0));X0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(X0|0)&&(e[w>>2]=T+(~((T+-4-X0|0)>>>2)<<2))}return X0=e[l>>2]|0,X0?(Y(X0),U=n,E|0):(U=n,E|0)}function q8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+120|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+132|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+108|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+96|0,u=i+52|0,A=i+48|0,_=i+40|0,b=i+32|0,p=i+28|0,Z=i+20|0,Q=i+92|0,z=i+80|0,C=i+88|0,W=F;;){if(I=e[G>>2]|0,D=W+-1|0,L=I+D|0,O=e[T>>2]|0,x=(L>>>0)/341|0,X=e[O+(x<<2)>>2]|0,B=L-(x*341|0)|0,x=e[X+(B*12|0)>>2]|0,L=e[X+(B*12|0)+4>>2]|0,M=e[X+(B*12|0)+8>>2]|0,e[R>>2]=D,D=e[w>>2]|0,B=D-O|0,(1-W-I+((B|0)==0?0:((B>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[D+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),D=e[h>>2]|0,B=D+(M*12|0)|0,x>>>0>r>>>0){E=0;break e}if(I=e[o>>2]|0,O=(I+-1|0)==(L|0)?0:L+1|0,O>>>0>=I>>>0){E=0;break e}I=(e[y>>2]|0)+(M*12|0)|0,L=(e[i>>2]|0)-(e[(e[I>>2]|0)+(O<<2)>>2]|0)|0;i:do if(L){if(x>>>0<3){if(X=e[V>>2]|0,e[X>>2]=O,q=e[o>>2]|0,q>>>0>1)for(l0=1,n0=q,g=O;;)if(g=(g|0)==(n0+-1|0)?0:g+1|0,e[X+(l0<<2)>>2]=g,l0=l0+1|0,t0=e[o>>2]|0,l0>>>0>=t0>>>0){a=t0;break}else n0=t0;else a=q;if(!x){P=19;break}for(n0=0,l0=a;;){if(!l0)$=e[k>>2]|0;else{g=e[V>>2]|0,X=e[k>>2]|0,t0=e[I>>2]|0,e0=0;do{f0=g+(e0<<2)|0,e[X+(e[f0>>2]<<2)>>2]=0,A0=e[f0>>2]|0,_0=(e[i>>2]|0)-(e[t0+(A0<<2)>>2]|0)|0;do if(_0|0){if(h0=X+(A0<<2)|0,p0=e[u>>2]|0,j0=32-p0|0,(_0|0)>(j0|0))if(y0=e[A>>2]|0,k0=y0+4|0,(k0|0)==(e[_>>2]|0)){e[h0>>2]=0;break}else{N0=e[y0>>2]<<p0,y0=_0-j0|0,e[u>>2]=y0,e[A>>2]=k0,V0=32-y0|0,e[h0>>2]=(e[k0>>2]|0)>>>V0|N0>>>(V0-j0|0);break}if(j0=e[A>>2]|0,(j0|0)==(e[_>>2]|0)){e[h0>>2]=0;break}if(e[h0>>2]=e[j0>>2]<<p0>>>(32-_0|0),p0=(e[u>>2]|0)+_0|0,e[u>>2]=p0,(p0|0)!=32)break;e[A>>2]=j0+4,e[u>>2]=0}while(0);_0=e[f0>>2]|0,A0=X+(_0<<2)|0,e[A0>>2]=e[A0>>2]|e[(e[B>>2]|0)+(_0<<2)>>2],e0=e0+1|0}while(e0>>>0<(e[o>>2]|0)>>>0);$=X}if(X=e[$>>2]|0,e[f>>2]=X,e[v>>2]=e[$+4>>2],e[c>>2]=e[$+8>>2],e0=e[t>>2]|0,t0=e0+4|0,g=e[t0>>2]|0,g>>>0<(e[e0+8>>2]|0)>>>0?(e[g>>2]=X,e[g+4>>2]=e[v>>2],e[g+8>>2]=e[c>>2],e[t0>>2]=g+12):he(e0,f),e[N>>2]=(e[N>>2]|0)+1,e0=n0+1|0,e0>>>0>=x>>>0){P=19;break i}n0=e0,l0=e[o>>2]|0}}if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}l0=M+1|0,R2(D+(l0*12|0)|0,e[B>>2]|0,e[D+(M*12|0)+4>>2]|0),n0=(e[(e[h>>2]|0)+(l0*12|0)>>2]|0)+(O<<2)|0,e[n0>>2]=(e[n0>>2]|0)+(1<<L+-1),n0=(N2(x|0)|0)^31,q=e[b>>2]|0,e0=32-q|0,(n0|0)>(e0|0)?(g=e[p>>2]|0,t0=g+4|0,(t0|0)==(e[Z>>2]|0)?U0=0:(X=e[g>>2]<<q,g=n0-e0|0,e[b>>2]=g,e[p>>2]=t0,_0=32-g|0,U0=(e[t0>>2]|0)>>>_0|X>>>(_0-e0|0))):(e0=e[p>>2]|0,(e0|0)!=(e[Z>>2]|0)?(_0=e[e0>>2]<<q>>>(32-n0|0),X=q+n0|0,e[b>>2]=X,(X|0)==32&&(e[p>>2]=e0+4,e[b>>2]=0),U0=_0):U0=0),_0=(x>>>1)-U0|0,e0=x-_0|0;r:do if((_0|0)==(e0|0))m0=_0,s0=_0;else{X=e[Q>>2]|0,n0=e[C>>2]|0;do if((n0|0)!=(e[z>>2]|0))if(q=(e[n0>>2]&1<<31-X|0)!=0,t0=X+1|0,e[Q>>2]=t0,(t0|0)==32)if(e[C>>2]=n0+4,e[Q>>2]=0,q){m0=_0,s0=e0;break r}else break;else if(q){m0=_0,s0=e0;break r}else break;while(0);m0=e0,s0=_0}while(0);_0=e[y>>2]|0,e0=e[_0+(M*12|0)>>2]|0,n0=e0+(O<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,R2(_0+(l0*12|0)|0,e0,e[_0+(M*12|0)+4>>2]|0),m0|0&&(_0=e[w>>2]|0,e0=e[T>>2]|0,n0=_0-e0|0,X=(e[R>>2]|0)+(e[G>>2]|0)|0,(((n0|0)==0?0:((n0>>2)*341|0)+-1|0)|0)==(X|0)?(o2(l),G0=(e[G>>2]|0)+(e[R>>2]|0)|0,d0=e[w>>2]|0,b0=e[T>>2]|0):(G0=X,d0=_0,b0=e0),(d0|0)==(b0|0)?c0=0:(e0=(G0>>>0)/341|0,c0=(e[b0+(e0<<2)>>2]|0)+((G0-(e0*341|0)|0)*12|0)|0),e[c0>>2]=m0,e[c0+4>>2]=O,e[c0+8>>2]=M,e[R>>2]=(e[R>>2]|0)+1),s0?(e0=e[w>>2]|0,_0=e[T>>2]|0,X=e0-_0|0,n0=(e[R>>2]|0)+(e[G>>2]|0)|0,(((X|0)==0?0:((X>>2)*341|0)+-1|0)|0)==(n0|0)?(o2(l),w0=(e[G>>2]|0)+(e[R>>2]|0)|0,R0=e[w>>2]|0,T0=e[T>>2]|0):(w0=n0,R0=e0,T0=_0),(R0|0)==(T0|0)?F0=0:(_0=(w0>>>0)/341|0,F0=(e[T0+(_0<<2)>>2]|0)+((w0-(_0*341|0)|0)*12|0)|0),e[F0>>2]=s0,e[F0+4>>2]=O,e[F0+8>>2]=l0,_0=(e[R>>2]|0)+1|0,e[R>>2]=_0,I0=_0):P=19}else if(!x)P=19;else{X=0;do q=e[B>>2]|0,g=e[q>>2]|0,e[f>>2]=g,e[s>>2]=e[q+4>>2],e[d>>2]=e[q+8>>2],q=e[t>>2]|0,n0=q+4|0,l0=e[n0>>2]|0,l0>>>0<(e[q+8>>2]|0)>>>0?(e[l0>>2]=g,e[l0+4>>2]=e[s>>2],e[l0+8>>2]=e[d>>2],e[n0>>2]=l0+12):he(q,f),e[N>>2]=(e[N>>2]|0)+1,X=X+1|0;while(X>>>0<x>>>0);P=19}while(0);if((P|0)==19&&(P=0,I0=e[R>>2]|0),I0)W=I0;else{E=1;break}}while(0);if(I0=e[T>>2]|0,F0=e[G>>2]|0,s0=(F0>>>0)/341|0,w0=I0+(s0<<2)|0,T0=e[w>>2]|0,R0=T0,c0=I0,(T0|0)!=(I0|0)&&(m0=(e[w0>>2]|0)+((F0-(s0*341|0)|0)*12|0)|0,s0=(e[R>>2]|0)+F0|0,F0=(s0>>>0)/341|0,G0=(e[I0+(F0<<2)>>2]|0)+((s0-(F0*341|0)|0)*12|0)|0,(G0|0)!=(m0|0)))for(F0=w0,w0=m0;m0=w0+12|0,(m0-(e[F0>>2]|0)|0)==4092?(s0=F0+4|0,D0=s0,z0=e[s0>>2]|0):(D0=F0,z0=m0),w0=z0,(G0|0)!=(w0|0);)F0=D0;if(e[R>>2]=0,R=R0-c0>>2,R>>>0>2){c0=I0;do Y(e[c0>>2]|0),c0=(e[T>>2]|0)+4|0,e[T>>2]=c0,J0=e[w>>2]|0,Q0=J0-c0>>2;while(Q0>>>0>2);C0=Q0,O0=c0,x0=J0}else C0=R,O0=I0,x0=T0;switch(C0|0){case 1:{X0=170,P=93;break}case 2:{X0=341,P=93;break}default:}if((P|0)==93&&(e[G>>2]=X0),(O0|0)!=(x0|0)){X0=O0;do Y(e[X0>>2]|0),X0=X0+4|0;while((X0|0)!=(x0|0));x0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(x0|0)&&(e[w>>2]=T+(~((T+-4-x0|0)>>>2)<<2))}return x0=e[l>>2]|0,x0?(Y(x0),U=n,E|0):(U=n,E|0)}function L8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+628|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+640|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+616|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+604|0,u=i+560|0,A=i+556|0,_=i+548|0,b=i+600|0,p=i+588|0,Z=i+596|0,Q=F;;){if(z=e[G>>2]|0,C=Q+-1|0,W=z+C|0,I=e[T>>2]|0,D=(W>>>0)/341|0,L=e[I+(D<<2)>>2]|0,O=W-(D*341|0)|0,D=e[L+(O*12|0)>>2]|0,W=e[L+(O*12|0)+4>>2]|0,x=e[L+(O*12|0)+8>>2]|0,e[R>>2]=C,C=e[w>>2]|0,O=C-I|0,(1-Q-z+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[C+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),C=e[h>>2]|0,O=C+(x*12|0)|0,z=(e[y>>2]|0)+(x*12|0)|0,D>>>0>r>>>0){E=0;break e}if(I=$t(i,D,z,W)|0,I>>>0>=(e[o>>2]|0)>>>0){E=0;break e}W=(e[i>>2]|0)-(e[(e[z>>2]|0)+(I<<2)>>2]|0)|0;i:do if(W){if(D>>>0<3){if(L=e[V>>2]|0,e[L>>2]=I,B=e[o>>2]|0,B>>>0>1)for(q=1,P=B,M=I;;)if(M=(M|0)==(P+-1|0)?0:M+1|0,e[L+(q<<2)>>2]=M,q=q+1|0,g=e[o>>2]|0,q>>>0>=g>>>0){n0=g;break}else P=g;else n0=B;if(!D){X=19;break}for(P=0,q=n0;;){if(!q)l0=e[k>>2]|0;else{M=e[V>>2]|0,L=e[k>>2]|0,g=e[z>>2]|0,t0=0;do{a=M+(t0<<2)|0,e[L+(e[a>>2]<<2)>>2]=0,$=e[a>>2]|0,e0=(e[i>>2]|0)-(e[g+($<<2)>>2]|0)|0;do if(e0|0){if(f0=L+($<<2)|0,A0=e[u>>2]|0,_0=32-A0|0,(e0|0)>(_0|0))if(h0=e[A>>2]|0,p0=h0+4|0,(p0|0)==(e[_>>2]|0)){e[f0>>2]=0;break}else{j0=e[h0>>2]<<A0,h0=e0-_0|0,e[u>>2]=h0,e[A>>2]=p0,y0=32-h0|0,e[f0>>2]=(e[p0>>2]|0)>>>y0|j0>>>(y0-_0|0);break}if(_0=e[A>>2]|0,(_0|0)==(e[_>>2]|0)){e[f0>>2]=0;break}if(e[f0>>2]=e[_0>>2]<<A0>>>(32-e0|0),A0=(e[u>>2]|0)+e0|0,e[u>>2]=A0,(A0|0)!=32)break;e[A>>2]=_0+4,e[u>>2]=0}while(0);e0=e[a>>2]|0,$=L+(e0<<2)|0,e[$>>2]=e[$>>2]|e[(e[O>>2]|0)+(e0<<2)>>2],t0=t0+1|0}while(t0>>>0<(e[o>>2]|0)>>>0);l0=L}if(L=e[l0>>2]|0,e[f>>2]=L,e[v>>2]=e[l0+4>>2],e[c>>2]=e[l0+8>>2],t0=e[t>>2]|0,g=t0+4|0,M=e[g>>2]|0,M>>>0<(e[t0+8>>2]|0)>>>0?(e[M>>2]=L,e[M+4>>2]=e[v>>2],e[M+8>>2]=e[c>>2],e[g>>2]=M+12):he(t0,f),e[N>>2]=(e[N>>2]|0)+1,t0=P+1|0,t0>>>0>=D>>>0){X=19;break i}P=t0,q=e[o>>2]|0}}if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}if(q=x+1|0,P=e[h>>2]|0,B=P+(q*12|0)|0,(B|0)==(O|0)?k0=P:(R2(B,e[O>>2]|0,e[C+(x*12|0)+4>>2]|0),k0=e[h>>2]|0),B=(e[k0+(q*12|0)>>2]|0)+(I<<2)|0,e[B>>2]=(e[B>>2]|0)+(1<<W+-1),B=(N2(D|0)|0)^31,!B)N0=0;else for(P=0,t0=0;;)if(M=t0<<1|(V2(i+16+(P<<4)|0)|0)&1,P=P+1|0,(P|0)==(B|0)){N0=M;break}else t0=M;t0=(D>>>1)-N0|0,B=D-t0|0;r:do if((t0|0)==(B|0))V0=t0,U0=t0;else{P=e[b>>2]|0,M=e[Z>>2]|0;do if((M|0)!=(e[p>>2]|0))if(g=(e[M>>2]&1<<31-P|0)!=0,L=P+1|0,e[b>>2]=L,(L|0)==32)if(e[Z>>2]=M+4,e[b>>2]=0,g){V0=t0,U0=B;break r}else break;else if(g){V0=t0,U0=B;break r}else break;while(0);V0=B,U0=t0}while(0);t0=e[y>>2]|0,B=e[t0+(x*12|0)>>2]|0,M=B+(I<<2)|0,e[M>>2]=(e[M>>2]|0)+1,R2(t0+(q*12|0)|0,B,e[t0+(x*12|0)+4>>2]|0),V0|0&&(t0=e[w>>2]|0,B=e[T>>2]|0,M=t0-B|0,P=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(P|0)?(o2(l),m0=(e[G>>2]|0)+(e[R>>2]|0)|0,s0=e[w>>2]|0,G0=e[T>>2]|0):(m0=P,s0=t0,G0=B),(s0|0)==(G0|0)?d0=0:(B=(m0>>>0)/341|0,d0=(e[G0+(B<<2)>>2]|0)+((m0-(B*341|0)|0)*12|0)|0),e[d0>>2]=V0,e[d0+4>>2]=I,e[d0+8>>2]=x,e[R>>2]=(e[R>>2]|0)+1),U0?(B=e[w>>2]|0,t0=e[T>>2]|0,P=B-t0|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(M|0)?(o2(l),b0=(e[G>>2]|0)+(e[R>>2]|0)|0,c0=e[w>>2]|0,w0=e[T>>2]|0):(b0=M,c0=B,w0=t0),(c0|0)==(w0|0)?R0=0:(t0=(b0>>>0)/341|0,R0=(e[w0+(t0<<2)>>2]|0)+((b0-(t0*341|0)|0)*12|0)|0),e[R0>>2]=U0,e[R0+4>>2]=I,e[R0+8>>2]=q,t0=(e[R>>2]|0)+1|0,e[R>>2]=t0,T0=t0):X=19}else if(!D)X=19;else{L=0;do B=e[O>>2]|0,M=e[B>>2]|0,e[f>>2]=M,e[s>>2]=e[B+4>>2],e[d>>2]=e[B+8>>2],B=e[t>>2]|0,P=B+4|0,q=e[P>>2]|0,q>>>0<(e[B+8>>2]|0)>>>0?(e[q>>2]=M,e[q+4>>2]=e[s>>2],e[q+8>>2]=e[d>>2],e[P>>2]=q+12):he(B,f),e[N>>2]=(e[N>>2]|0)+1,L=L+1|0;while(L>>>0<D>>>0);X=19}while(0);if((X|0)==19&&(X=0,T0=e[R>>2]|0),T0)Q=T0;else{E=1;break}}while(0);if(T0=e[T>>2]|0,R0=e[G>>2]|0,U0=(R0>>>0)/341|0,b0=T0+(U0<<2)|0,w0=e[w>>2]|0,c0=w0,d0=T0,(w0|0)!=(T0|0)&&(V0=(e[b0>>2]|0)+((R0-(U0*341|0)|0)*12|0)|0,U0=(e[R>>2]|0)+R0|0,R0=(U0>>>0)/341|0,m0=(e[T0+(R0<<2)>>2]|0)+((U0-(R0*341|0)|0)*12|0)|0,(m0|0)!=(V0|0)))for(R0=b0,b0=V0;V0=b0+12|0,(V0-(e[R0>>2]|0)|0)==4092?(U0=R0+4|0,F0=U0,I0=e[U0>>2]|0):(F0=R0,I0=V0),b0=I0,(m0|0)!=(b0|0);)R0=F0;if(e[R>>2]=0,R=c0-d0>>2,R>>>0>2){d0=T0;do Y(e[d0>>2]|0),d0=(e[T>>2]|0)+4|0,e[T>>2]=d0,D0=e[w>>2]|0,z0=D0-d0>>2;while(z0>>>0>2);J0=z0,Q0=d0,C0=D0}else J0=R,Q0=T0,C0=w0;switch(J0|0){case 1:{O0=170,X=92;break}case 2:{O0=341,X=92;break}default:}if((X|0)==92&&(e[G>>2]=O0),(Q0|0)!=(C0|0)){O0=Q0;do Y(e[O0>>2]|0),O0=O0+4|0;while((O0|0)!=(C0|0));C0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(C0|0)&&(e[w>>2]=T+(~((T+-4-C0|0)>>>2)<<2))}return C0=e[l>>2]|0,C0?(Y(C0),U=n,E|0):(U=n,E|0)}function K8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+628|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+640|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+616|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+604|0,u=i+560|0,A=i+556|0,_=i+548|0,b=i+600|0,p=i+588|0,Z=i+596|0,Q=F;;){if(z=e[G>>2]|0,C=Q+-1|0,W=z+C|0,I=e[T>>2]|0,D=(W>>>0)/341|0,L=e[I+(D<<2)>>2]|0,O=W-(D*341|0)|0,D=e[L+(O*12|0)>>2]|0,W=e[L+(O*12|0)+4>>2]|0,x=e[L+(O*12|0)+8>>2]|0,e[R>>2]=C,C=e[w>>2]|0,O=C-I|0,(1-Q-z+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[C+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),C=e[h>>2]|0,O=C+(x*12|0)|0,z=(e[y>>2]|0)+(x*12|0)|0,D>>>0>r>>>0){E=0;break e}if(I=xi(i,D,z,W)|0,I>>>0>=(e[o>>2]|0)>>>0){E=0;break e}W=(e[i>>2]|0)-(e[(e[z>>2]|0)+(I<<2)>>2]|0)|0;i:do if(W){if(D>>>0<3){if(L=e[V>>2]|0,e[L>>2]=I,B=e[o>>2]|0,B>>>0>1)for(q=1,P=B,M=I;;)if(M=(M|0)==(P+-1|0)?0:M+1|0,e[L+(q<<2)>>2]=M,q=q+1|0,g=e[o>>2]|0,q>>>0>=g>>>0){n0=g;break}else P=g;else n0=B;if(!D){X=19;break}for(P=0,q=n0;;){if(!q)l0=e[k>>2]|0;else{M=e[V>>2]|0,L=e[k>>2]|0,g=e[z>>2]|0,t0=0;do{a=M+(t0<<2)|0,e[L+(e[a>>2]<<2)>>2]=0,$=e[a>>2]|0,e0=(e[i>>2]|0)-(e[g+($<<2)>>2]|0)|0;do if(e0|0){if(f0=L+($<<2)|0,A0=e[u>>2]|0,_0=32-A0|0,(e0|0)>(_0|0))if(h0=e[A>>2]|0,p0=h0+4|0,(p0|0)==(e[_>>2]|0)){e[f0>>2]=0;break}else{j0=e[h0>>2]<<A0,h0=e0-_0|0,e[u>>2]=h0,e[A>>2]=p0,y0=32-h0|0,e[f0>>2]=(e[p0>>2]|0)>>>y0|j0>>>(y0-_0|0);break}if(_0=e[A>>2]|0,(_0|0)==(e[_>>2]|0)){e[f0>>2]=0;break}if(e[f0>>2]=e[_0>>2]<<A0>>>(32-e0|0),A0=(e[u>>2]|0)+e0|0,e[u>>2]=A0,(A0|0)!=32)break;e[A>>2]=_0+4,e[u>>2]=0}while(0);e0=e[a>>2]|0,$=L+(e0<<2)|0,e[$>>2]=e[$>>2]|e[(e[O>>2]|0)+(e0<<2)>>2],t0=t0+1|0}while(t0>>>0<(e[o>>2]|0)>>>0);l0=L}if(L=e[l0>>2]|0,e[f>>2]=L,e[v>>2]=e[l0+4>>2],e[c>>2]=e[l0+8>>2],t0=e[t>>2]|0,g=t0+4|0,M=e[g>>2]|0,M>>>0<(e[t0+8>>2]|0)>>>0?(e[M>>2]=L,e[M+4>>2]=e[v>>2],e[M+8>>2]=e[c>>2],e[g>>2]=M+12):he(t0,f),e[N>>2]=(e[N>>2]|0)+1,t0=P+1|0,t0>>>0>=D>>>0){X=19;break i}P=t0,q=e[o>>2]|0}}if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}if(q=x+1|0,P=e[h>>2]|0,B=P+(q*12|0)|0,(B|0)==(O|0)?k0=P:(R2(B,e[O>>2]|0,e[C+(x*12|0)+4>>2]|0),k0=e[h>>2]|0),B=(e[k0+(q*12|0)>>2]|0)+(I<<2)|0,e[B>>2]=(e[B>>2]|0)+(1<<W+-1),B=(N2(D|0)|0)^31,!B)N0=0;else for(P=0,t0=0;;)if(M=t0<<1|(V2(i+16+(P<<4)|0)|0)&1,P=P+1|0,(P|0)==(B|0)){N0=M;break}else t0=M;t0=(D>>>1)-N0|0,B=D-t0|0;r:do if((t0|0)==(B|0))V0=t0,U0=t0;else{P=e[b>>2]|0,M=e[Z>>2]|0;do if((M|0)!=(e[p>>2]|0))if(g=(e[M>>2]&1<<31-P|0)!=0,L=P+1|0,e[b>>2]=L,(L|0)==32)if(e[Z>>2]=M+4,e[b>>2]=0,g){V0=t0,U0=B;break r}else break;else if(g){V0=t0,U0=B;break r}else break;while(0);V0=B,U0=t0}while(0);t0=e[y>>2]|0,B=e[t0+(x*12|0)>>2]|0,M=B+(I<<2)|0,e[M>>2]=(e[M>>2]|0)+1,R2(t0+(q*12|0)|0,B,e[t0+(x*12|0)+4>>2]|0),V0|0&&(t0=e[w>>2]|0,B=e[T>>2]|0,M=t0-B|0,P=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(P|0)?(o2(l),m0=(e[G>>2]|0)+(e[R>>2]|0)|0,s0=e[w>>2]|0,G0=e[T>>2]|0):(m0=P,s0=t0,G0=B),(s0|0)==(G0|0)?d0=0:(B=(m0>>>0)/341|0,d0=(e[G0+(B<<2)>>2]|0)+((m0-(B*341|0)|0)*12|0)|0),e[d0>>2]=V0,e[d0+4>>2]=I,e[d0+8>>2]=x,e[R>>2]=(e[R>>2]|0)+1),U0?(B=e[w>>2]|0,t0=e[T>>2]|0,P=B-t0|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(M|0)?(o2(l),b0=(e[G>>2]|0)+(e[R>>2]|0)|0,c0=e[w>>2]|0,w0=e[T>>2]|0):(b0=M,c0=B,w0=t0),(c0|0)==(w0|0)?R0=0:(t0=(b0>>>0)/341|0,R0=(e[w0+(t0<<2)>>2]|0)+((b0-(t0*341|0)|0)*12|0)|0),e[R0>>2]=U0,e[R0+4>>2]=I,e[R0+8>>2]=q,t0=(e[R>>2]|0)+1|0,e[R>>2]=t0,T0=t0):X=19}else if(!D)X=19;else{L=0;do B=e[O>>2]|0,M=e[B>>2]|0,e[f>>2]=M,e[s>>2]=e[B+4>>2],e[d>>2]=e[B+8>>2],B=e[t>>2]|0,P=B+4|0,q=e[P>>2]|0,q>>>0<(e[B+8>>2]|0)>>>0?(e[q>>2]=M,e[q+4>>2]=e[s>>2],e[q+8>>2]=e[d>>2],e[P>>2]=q+12):he(B,f),e[N>>2]=(e[N>>2]|0)+1,L=L+1|0;while(L>>>0<D>>>0);X=19}while(0);if((X|0)==19&&(X=0,T0=e[R>>2]|0),T0)Q=T0;else{E=1;break}}while(0);if(T0=e[T>>2]|0,R0=e[G>>2]|0,U0=(R0>>>0)/341|0,b0=T0+(U0<<2)|0,w0=e[w>>2]|0,c0=w0,d0=T0,(w0|0)!=(T0|0)&&(V0=(e[b0>>2]|0)+((R0-(U0*341|0)|0)*12|0)|0,U0=(e[R>>2]|0)+R0|0,R0=(U0>>>0)/341|0,m0=(e[T0+(R0<<2)>>2]|0)+((U0-(R0*341|0)|0)*12|0)|0,(m0|0)!=(V0|0)))for(R0=b0,b0=V0;V0=b0+12|0,(V0-(e[R0>>2]|0)|0)==4092?(U0=R0+4|0,F0=U0,I0=e[U0>>2]|0):(F0=R0,I0=V0),b0=I0,(m0|0)!=(b0|0);)R0=F0;if(e[R>>2]=0,R=c0-d0>>2,R>>>0>2){d0=T0;do Y(e[d0>>2]|0),d0=(e[T>>2]|0)+4|0,e[T>>2]=d0,D0=e[w>>2]|0,z0=D0-d0>>2;while(z0>>>0>2);J0=z0,Q0=d0,C0=D0}else J0=R,Q0=T0,C0=w0;switch(J0|0){case 1:{O0=170,X=92;break}case 2:{O0=341,X=92;break}default:}if((X|0)==92&&(e[G>>2]=O0),(Q0|0)!=(C0|0)){O0=Q0;do Y(e[O0>>2]|0),O0=O0+4|0;while((O0|0)!=(C0|0));C0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(C0|0)&&(e[w>>2]=T+(~((T+-4-C0|0)>>>2)<<2))}return C0=e[l>>2]|0,C0?(Y(C0),U=n,E|0):(U=n,E|0)}function a8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+628|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+640|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+616|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+604|0,u=i+560|0,A=i+556|0,_=i+548|0,b=i+600|0,p=i+588|0,Z=i+596|0,Q=F;;){if(z=e[G>>2]|0,C=Q+-1|0,W=z+C|0,I=e[T>>2]|0,D=(W>>>0)/341|0,L=e[I+(D<<2)>>2]|0,O=W-(D*341|0)|0,D=e[L+(O*12|0)>>2]|0,W=e[L+(O*12|0)+4>>2]|0,x=e[L+(O*12|0)+8>>2]|0,e[R>>2]=C,C=e[w>>2]|0,O=C-I|0,(1-Q-z+((O|0)==0?0:((O>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[C+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),C=e[h>>2]|0,O=C+(x*12|0)|0,D>>>0>r>>>0){E=0;break e}if(z=e[o>>2]|0,I=(z+-1|0)==(W|0)?0:W+1|0,I>>>0>=z>>>0){E=0;break e}z=(e[y>>2]|0)+(x*12|0)|0,W=(e[i>>2]|0)-(e[(e[z>>2]|0)+(I<<2)>>2]|0)|0;i:do if(W){if(D>>>0>=3){if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}if(L=x+1|0,R2(C+(L*12|0)|0,e[O>>2]|0,e[C+(x*12|0)+4>>2]|0),B=(e[(e[h>>2]|0)+(L*12|0)>>2]|0)+(I<<2)|0,e[B>>2]=(e[B>>2]|0)+(1<<W+-1),B=(N2(D|0)|0)^31,!B)g=0;else for(q=0,P=0;;)if(M=P<<1|(V2(i+16+(q<<4)|0)|0)&1,q=q+1|0,(q|0)==(B|0)){g=M;break}else P=M;P=(D>>>1)-g|0,B=D-P|0;r:do if((P|0)==(B|0))n0=P,l0=P;else{q=e[b>>2]|0,M=e[Z>>2]|0;do if((M|0)!=(e[p>>2]|0))if(t0=(e[M>>2]&1<<31-q|0)!=0,a=q+1|0,e[b>>2]=a,(a|0)==32)if(e[Z>>2]=M+4,e[b>>2]=0,t0){n0=P,l0=B;break r}else break;else if(t0){n0=P,l0=B;break r}else break;while(0);n0=B,l0=P}while(0);if(P=e[y>>2]|0,B=e[P+(x*12|0)>>2]|0,M=B+(I<<2)|0,e[M>>2]=(e[M>>2]|0)+1,R2(P+(L*12|0)|0,B,e[P+(x*12|0)+4>>2]|0),n0|0&&(P=e[w>>2]|0,B=e[T>>2]|0,M=P-B|0,q=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(q|0)?(o2(l),$=(e[G>>2]|0)+(e[R>>2]|0)|0,e0=e[w>>2]|0,f0=e[T>>2]|0):($=q,e0=P,f0=B),(e0|0)==(f0|0)?A0=0:(B=($>>>0)/341|0,A0=(e[f0+(B<<2)>>2]|0)+(($-(B*341|0)|0)*12|0)|0),e[A0>>2]=n0,e[A0+4>>2]=I,e[A0+8>>2]=x,e[R>>2]=(e[R>>2]|0)+1),!l0){X=19;break}B=e[w>>2]|0,P=e[T>>2]|0,q=B-P|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((q|0)==0?0:((q>>2)*341|0)+-1|0)|0)==(M|0)?(o2(l),_0=(e[G>>2]|0)+(e[R>>2]|0)|0,h0=e[w>>2]|0,p0=e[T>>2]|0):(_0=M,h0=B,p0=P),(h0|0)==(p0|0)?j0=0:(P=(_0>>>0)/341|0,j0=(e[p0+(P<<2)>>2]|0)+((_0-(P*341|0)|0)*12|0)|0),e[j0>>2]=l0,e[j0+4>>2]=I,e[j0+8>>2]=L,P=(e[R>>2]|0)+1|0,e[R>>2]=P,y0=P;break}if(P=e[V>>2]|0,e[P>>2]=I,B=e[o>>2]|0,B>>>0>1)for(M=1,q=B,t0=I;;)if(t0=(t0|0)==(q+-1|0)?0:t0+1|0,e[P+(M<<2)>>2]=t0,M=M+1|0,a=e[o>>2]|0,M>>>0>=a>>>0){k0=a;break}else q=a;else k0=B;if(!D)X=19;else for(q=0,M=k0;;){if(!M)N0=e[k>>2]|0;else{t0=e[V>>2]|0,P=e[k>>2]|0,L=e[z>>2]|0,a=0;do{V0=t0+(a<<2)|0,e[P+(e[V0>>2]<<2)>>2]=0,U0=e[V0>>2]|0,m0=(e[i>>2]|0)-(e[L+(U0<<2)>>2]|0)|0;do if(m0|0){if(s0=P+(U0<<2)|0,G0=e[u>>2]|0,d0=32-G0|0,(m0|0)>(d0|0))if(b0=e[A>>2]|0,c0=b0+4|0,(c0|0)==(e[_>>2]|0)){e[s0>>2]=0;break}else{w0=e[b0>>2]<<G0,b0=m0-d0|0,e[u>>2]=b0,e[A>>2]=c0,R0=32-b0|0,e[s0>>2]=(e[c0>>2]|0)>>>R0|w0>>>(R0-d0|0);break}if(d0=e[A>>2]|0,(d0|0)==(e[_>>2]|0)){e[s0>>2]=0;break}if(e[s0>>2]=e[d0>>2]<<G0>>>(32-m0|0),G0=(e[u>>2]|0)+m0|0,e[u>>2]=G0,(G0|0)!=32)break;e[A>>2]=d0+4,e[u>>2]=0}while(0);m0=e[V0>>2]|0,U0=P+(m0<<2)|0,e[U0>>2]=e[U0>>2]|e[(e[O>>2]|0)+(m0<<2)>>2],a=a+1|0}while(a>>>0<(e[o>>2]|0)>>>0);N0=P}if(P=e[N0>>2]|0,e[f>>2]=P,e[v>>2]=e[N0+4>>2],e[c>>2]=e[N0+8>>2],a=e[t>>2]|0,L=a+4|0,t0=e[L>>2]|0,t0>>>0<(e[a+8>>2]|0)>>>0?(e[t0>>2]=P,e[t0+4>>2]=e[v>>2],e[t0+8>>2]=e[c>>2],e[L>>2]=t0+12):he(a,f),e[N>>2]=(e[N>>2]|0)+1,a=q+1|0,a>>>0>=D>>>0){X=19;break i}q=a,M=e[o>>2]|0}}else if(!D)X=19;else{L=0;do B=e[O>>2]|0,M=e[B>>2]|0,e[f>>2]=M,e[s>>2]=e[B+4>>2],e[d>>2]=e[B+8>>2],B=e[t>>2]|0,P=B+4|0,q=e[P>>2]|0,q>>>0<(e[B+8>>2]|0)>>>0?(e[q>>2]=M,e[q+4>>2]=e[s>>2],e[q+8>>2]=e[d>>2],e[P>>2]=q+12):he(B,f),e[N>>2]=(e[N>>2]|0)+1,L=L+1|0;while(L>>>0<D>>>0);X=19}while(0);if((X|0)==19&&(X=0,y0=e[R>>2]|0),y0)Q=y0;else{E=1;break}}while(0);if(y0=e[T>>2]|0,o=e[G>>2]|0,f=(o>>>0)/341|0,t=y0+(f<<2)|0,N0=e[w>>2]|0,i=N0,k0=y0,(N0|0)!=(y0|0)&&(j0=(e[t>>2]|0)+((o-(f*341|0)|0)*12|0)|0,f=(e[R>>2]|0)+o|0,o=(f>>>0)/341|0,l0=(e[y0+(o<<2)>>2]|0)+((f-(o*341|0)|0)*12|0)|0,(l0|0)!=(j0|0)))for(o=t,t=j0;j0=t+12|0,(j0-(e[o>>2]|0)|0)==4092?(f=o+4|0,T0=f,F0=e[f>>2]|0):(T0=o,F0=j0),t=F0,(l0|0)!=(t|0);)o=T0;if(e[R>>2]=0,R=i-k0>>2,R>>>0>2){k0=y0;do Y(e[k0>>2]|0),k0=(e[T>>2]|0)+4|0,e[T>>2]=k0,I0=e[w>>2]|0,D0=I0-k0>>2;while(D0>>>0>2);z0=D0,J0=k0,Q0=I0}else z0=R,J0=y0,Q0=N0;switch(z0|0){case 1:{C0=170,X=90;break}case 2:{C0=341,X=90;break}default:}if((X|0)==90&&(e[G>>2]=C0),(J0|0)!=(Q0|0)){C0=J0;do Y(e[C0>>2]|0),C0=C0+4|0;while((C0|0)!=(Q0|0));Q0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(Q0|0)&&(e[w>>2]=T+(~((T+-4-Q0|0)>>>2)<<2))}return Q0=e[l>>2]|0,Q0?(Y(Q0),U=n,E|0):(U=n,E|0)}function $8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+116|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+128|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+104|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+92|0,u=i+48|0,A=i+44|0,_=i+36|0,b=i+16|0,p=i+88|0,Z=i+76|0,Q=i+84|0,z=F;;){if(C=e[G>>2]|0,W=z+-1|0,I=C+W|0,D=e[T>>2]|0,L=(I>>>0)/341|0,O=e[D+(L<<2)>>2]|0,x=I-(L*341|0)|0,L=e[O+(x*12|0)>>2]|0,I=e[O+(x*12|0)+4>>2]|0,X=e[O+(x*12|0)+8>>2]|0,e[R>>2]=W,W=e[w>>2]|0,x=W-D|0,(1-z-C+((x|0)==0?0:((x>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[W+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),W=e[h>>2]|0,x=W+(X*12|0)|0,C=(e[y>>2]|0)+(X*12|0)|0,L>>>0>r>>>0){E=0;break e}if(D=xi(i,L,C,I)|0,D>>>0>=(e[o>>2]|0)>>>0){E=0;break e}I=(e[i>>2]|0)-(e[(e[C>>2]|0)+(D<<2)>>2]|0)|0;i:do if(I){if(L>>>0>=3){if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}O=X+1|0,B=e[h>>2]|0,q=B+(O*12|0)|0,(q|0)==(x|0)?g=B:(R2(q,e[x>>2]|0,e[W+(X*12|0)+4>>2]|0),g=e[h>>2]|0),q=(e[g+(O*12|0)>>2]|0)+(D<<2)|0,e[q>>2]=(e[q>>2]|0)+(1<<I+-1),q=(N2(L|0)|0)^31,e[f>>2]=0,Z1(b,q,f),q=(L>>>1)-(e[f>>2]|0)|0,B=L-q|0;r:do if((q|0)==(B|0))n0=q,l0=q;else{P=e[p>>2]|0,M=e[Q>>2]|0;do if((M|0)!=(e[Z>>2]|0))if(t0=(e[M>>2]&1<<31-P|0)!=0,a=P+1|0,e[p>>2]=a,(a|0)==32)if(e[Q>>2]=M+4,e[p>>2]=0,t0){n0=q,l0=B;break r}else break;else if(t0){n0=q,l0=B;break r}else break;while(0);n0=B,l0=q}while(0);q=e[y>>2]|0,B=e[q+(X*12|0)>>2]|0,M=B+(D<<2)|0,e[M>>2]=(e[M>>2]|0)+1,R2(q+(O*12|0)|0,B,e[q+(X*12|0)+4>>2]|0),n0|0&&(q=e[w>>2]|0,B=e[T>>2]|0,M=q-B|0,P=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(P|0)?(o2(l),$=(e[G>>2]|0)+(e[R>>2]|0)|0,e0=e[w>>2]|0,f0=e[T>>2]|0):($=P,e0=q,f0=B),(e0|0)==(f0|0)?A0=0:(B=($>>>0)/341|0,A0=(e[f0+(B<<2)>>2]|0)+(($-(B*341|0)|0)*12|0)|0),e[A0>>2]=n0,e[A0+4>>2]=D,e[A0+8>>2]=X,e[R>>2]=(e[R>>2]|0)+1),l0|0&&(B=e[w>>2]|0,q=e[T>>2]|0,P=B-q|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(M|0)?(o2(l),_0=(e[G>>2]|0)+(e[R>>2]|0)|0,h0=e[w>>2]|0,p0=e[T>>2]|0):(_0=M,h0=B,p0=q),(h0|0)==(p0|0)?j0=0:(q=(_0>>>0)/341|0,j0=(e[p0+(q<<2)>>2]|0)+((_0-(q*341|0)|0)*12|0)|0),e[j0>>2]=l0,e[j0+4>>2]=D,e[j0+8>>2]=O,e[R>>2]=(e[R>>2]|0)+1);break}if(q=e[V>>2]|0,e[q>>2]=D,B=e[o>>2]|0,B>>>0>1)for(M=1,P=B,t0=D;;)if(t0=(t0|0)==(P+-1|0)?0:t0+1|0,e[q+(M<<2)>>2]=t0,M=M+1|0,a=e[o>>2]|0,M>>>0>=a>>>0){y0=a;break}else P=a;else y0=B;if(L|0)for(P=0,M=y0;;){if(!M)k0=e[k>>2]|0;else{t0=e[V>>2]|0,q=e[k>>2]|0,O=e[C>>2]|0,a=0;do{N0=t0+(a<<2)|0,e[q+(e[N0>>2]<<2)>>2]=0,V0=e[N0>>2]|0,U0=(e[i>>2]|0)-(e[O+(V0<<2)>>2]|0)|0;do if(U0|0){if(m0=q+(V0<<2)|0,s0=e[u>>2]|0,G0=32-s0|0,(U0|0)>(G0|0))if(d0=e[A>>2]|0,b0=d0+4|0,(b0|0)==(e[_>>2]|0)){e[m0>>2]=0;break}else{c0=e[d0>>2]<<s0,d0=U0-G0|0,e[u>>2]=d0,e[A>>2]=b0,w0=32-d0|0,e[m0>>2]=(e[b0>>2]|0)>>>w0|c0>>>(w0-G0|0);break}if(G0=e[A>>2]|0,(G0|0)==(e[_>>2]|0)){e[m0>>2]=0;break}if(e[m0>>2]=e[G0>>2]<<s0>>>(32-U0|0),s0=(e[u>>2]|0)+U0|0,e[u>>2]=s0,(s0|0)!=32)break;e[A>>2]=G0+4,e[u>>2]=0}while(0);U0=e[N0>>2]|0,V0=q+(U0<<2)|0,e[V0>>2]=e[V0>>2]|e[(e[x>>2]|0)+(U0<<2)>>2],a=a+1|0}while(a>>>0<(e[o>>2]|0)>>>0);k0=q}if(q=e[k0>>2]|0,e[f>>2]=q,e[v>>2]=e[k0+4>>2],e[c>>2]=e[k0+8>>2],a=e[t>>2]|0,O=a+4|0,t0=e[O>>2]|0,t0>>>0<(e[a+8>>2]|0)>>>0?(e[t0>>2]=q,e[t0+4>>2]=e[v>>2],e[t0+8>>2]=e[c>>2],e[O>>2]=t0+12):he(a,f),e[N>>2]=(e[N>>2]|0)+1,a=P+1|0,a>>>0>=L>>>0)break i;P=a,M=e[o>>2]|0}}else if(L|0){O=0;do B=e[x>>2]|0,M=e[B>>2]|0,e[f>>2]=M,e[s>>2]=e[B+4>>2],e[d>>2]=e[B+8>>2],B=e[t>>2]|0,P=B+4|0,q=e[P>>2]|0,q>>>0<(e[B+8>>2]|0)>>>0?(e[q>>2]=M,e[q+4>>2]=e[s>>2],e[q+8>>2]=e[d>>2],e[P>>2]=q+12):he(B,f),e[N>>2]=(e[N>>2]|0)+1,O=O+1|0;while(O>>>0<L>>>0)}while(0);if(z=e[R>>2]|0,!z){E=1;break}}while(0);if(o=e[T>>2]|0,f=e[G>>2]|0,t=(f>>>0)/341|0,k0=o+(t<<2)|0,i=e[w>>2]|0,y0=i,j0=o,(i|0)!=(o|0)&&(l0=(e[k0>>2]|0)+((f-(t*341|0)|0)*12|0)|0,t=(e[R>>2]|0)+f|0,f=(t>>>0)/341|0,_0=(e[o+(f<<2)>>2]|0)+((t-(f*341|0)|0)*12|0)|0,(_0|0)!=(l0|0)))for(f=k0,k0=l0;l0=k0+12|0,(l0-(e[f>>2]|0)|0)==4092?(t=f+4|0,R0=t,T0=e[t>>2]|0):(R0=f,T0=l0),k0=T0,(_0|0)!=(k0|0);)f=R0;if(e[R>>2]=0,R=y0-j0>>2,R>>>0>2){j0=o;do Y(e[j0>>2]|0),j0=(e[T>>2]|0)+4|0,e[T>>2]=j0,F0=e[w>>2]|0,I0=F0-j0>>2;while(I0>>>0>2);D0=I0,z0=j0,J0=F0}else D0=R,z0=o,J0=i;switch(D0|0){case 1:{Q0=170,C0=89;break}case 2:{Q0=341,C0=89;break}default:}if((C0|0)==89&&(e[G>>2]=Q0),(z0|0)!=(J0|0)){Q0=z0;do Y(e[Q0>>2]|0),Q0=Q0+4|0;while((Q0|0)!=(J0|0));J0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(J0|0)&&(e[w>>2]=T+(~((T+-4-J0|0)>>>2)<<2))}return J0=e[l>>2]|0,J0?(Y(J0),U=n,E|0):(U=n,E|0)}function Pe(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=a0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0;if(!n)return f=0,f|0;do switch(e[i+28>>2]|0){case 1:{if(l=i+24|0,o=j[l>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)if(A=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,_=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=A+_|0,j[i+32>>0]|0)for(_=u,A=0;;)if(h=o0(o0(j[_>>0]|0)/o0(127)),q0[n+(A<<2)>>2]=h,A=A+1|0,s=j[l>>0]|0,(A|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){k=s;break}else _=_+1|0;else for(_=u,A=0;;)if(h=o0(j[_>>0]|0),q0[n+(A<<2)>>2]=h,A=A+1|0,s=j[l>>0]|0,(A|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){k=s;break}else _=_+1|0;else k=o;return _=k<<24>>24,k<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(_<<2)|0,0,(t<<24>>24)-_<<2|0)|0,f=1,f|0)}case 2:{if(_=i+24|0,A=j[_>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)if(l=e[e[i>>2]>>2]|0,u=i+40|0,s=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,b=i0(s|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=l+b|0,j[i+32>>0]|0)for(b=u,l=0;;)if(h=o0(o0(J[b>>0]|0)/o0(255)),q0[n+(l<<2)>>2]=h,l=l+1|0,o=j[_>>0]|0,(l|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){p=o;break}else b=b+1|0;else for(b=u,l=0;;)if(h=o0(J[b>>0]|0),q0[n+(l<<2)>>2]=h,l=l+1|0,s=j[_>>0]|0,(l|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){p=s;break}else b=b+1|0;else p=A;return b=p<<24>>24,p<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 3:{if(b=i+48|0,l=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,l|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,o=0;;)if(h=o0(o0(P0[b>>1]|0)/o0(32767)),q0[n+(o<<2)>>2]=h,o=o+1|0,A=j[_>>0]|0,(o|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){w=A;break}else b=b+2|0;else for(b=u,o=0;;)if(h=o0(P0[b>>1]|0),q0[n+(o<<2)>>2]=h,o=o+1|0,s=j[_>>0]|0,(o|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){w=s;break}else b=b+2|0;else w=l;return b=w<<24>>24,w<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 4:{if(b=i+48|0,o=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,o|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,o=j[_>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,A=0;;)if(h=o0(o0(b2[b>>1]|0)/o0(65535)),q0[n+(A<<2)>>2]=h,A=A+1|0,l=j[_>>0]|0,(A|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){d=l;break}else b=b+2|0;else for(b=u,A=0;;)if(h=o0(b2[b>>1]|0),q0[n+(A<<2)>>2]=h,A=A+1|0,s=j[_>>0]|0,(A|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){d=s;break}else b=b+2|0;else d=o;return b=d<<24>>24,d<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 5:{if(b=i+48|0,A=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,A|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,A=j[_>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,l=0;;)if(h=o0(o0(e[b>>2]|0)*o0(465661287e-18)),q0[n+(l<<2)>>2]=h,l=l+1|0,o=j[_>>0]|0,(l|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){m=o;break}else b=b+4|0;else for(b=u,l=0;;)if(h=o0(e[b>>2]|0),q0[n+(l<<2)>>2]=h,l=l+1|0,s=j[_>>0]|0,(l|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){m=s;break}else b=b+4|0;else m=A;return b=m<<24>>24,m<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 6:{if(b=i+48|0,l=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,l|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,l=j[_>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,o=0;;)if(h=o0(o0((e[b>>2]|0)>>>0)*o0(232830644e-18)),q0[n+(o<<2)>>2]=h,o=o+1|0,A=j[_>>0]|0,(o|0)>=((A<<24>>24>t<<24>>24?t:A)<<24>>24|0)){c=A;break}else b=b+4|0;else for(b=u,o=0;;)if(h=o0((e[b>>2]|0)>>>0),q0[n+(o<<2)>>2]=h,o=o+1|0,s=j[_>>0]|0,(o|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){c=s;break}else b=b+4|0;else c=l;return b=c<<24>>24,c<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 7:{if(b=i+48|0,o=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,o|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,o=j[_>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,A=0;;)if(l=b,h=o0(o0(+((e[l>>2]|0)>>>0)+4294967296*+(e[l+4>>2]|0))*o0(108420217e-27)),q0[n+(A<<2)>>2]=h,A=A+1|0,l=j[_>>0]|0,(A|0)>=((l<<24>>24>t<<24>>24?t:l)<<24>>24|0)){y=l;break}else b=b+8|0;else for(b=u,A=0;;)if(s=b,h=o0(+((e[s>>2]|0)>>>0)+4294967296*+(e[s+4>>2]|0)),q0[n+(A<<2)>>2]=h,A=A+1|0,s=j[_>>0]|0,(A|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){y=s;break}else b=b+8|0;else y=o;return b=y<<24>>24,y<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 8:{if(b=i+48|0,A=e[b>>2]|0,_=e[b+4>>2]|0,b=i+40|0,u=(i0(Y0(e[b>>2]|0,e[b+4>>2]|0,e[r>>2]|0,0)|0,H|0,A|0,_|0)|0)+(e[e[i>>2]>>2]|0)|0,_=i+24|0,A=j[_>>0]|0,(A<<24>>24>t<<24>>24?t:A)<<24>>24>0)if(j[i+32>>0]|0)for(b=u,l=0;;)if(o=b,h=o0(o0(+((e[o>>2]|0)>>>0)+4294967296*+((e[o+4>>2]|0)>>>0))*o0(542101086e-28)),q0[n+(l<<2)>>2]=h,l=l+1|0,o=j[_>>0]|0,(l|0)>=((o<<24>>24>t<<24>>24?t:o)<<24>>24|0)){V=o;break}else b=b+8|0;else for(b=u,l=0;;)if(s=b,h=o0(+((e[s>>2]|0)>>>0)+4294967296*+((e[s+4>>2]|0)>>>0)),q0[n+(l<<2)>>2]=h,l=l+1|0,s=j[_>>0]|0,(l|0)>=((s<<24>>24>t<<24>>24?t:s)<<24>>24|0)){V=s;break}else b=b+8|0;else V=A;return b=V<<24>>24,V<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(b<<2)|0,0,(t<<24>>24)-b<<2|0)|0,f=1,f|0)}case 9:{if(b=i+24|0,l=j[b>>0]|0,(l<<24>>24>t<<24>>24?t:l)<<24>>24>0)for(_=e[e[i>>2]>>2]|0,u=i+40|0,o=Y0(e[u>>2]|0,e[u+4>>2]|0,e[r>>2]|0,0)|0,u=i+48|0,s=i0(o|0,H|0,e[u>>2]|0,e[u+4>>2]|0)|0,u=_+s|0,s=0;;)if(e[n+(s<<2)>>2]=e[u>>2],s=s+1|0,_=j[b>>0]|0,(s|0)>=((_<<24>>24>t<<24>>24?t:_)<<24>>24|0)){v=_;break}else u=u+4|0;else v=l;return u=v<<24>>24,v<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(u<<2)|0,0,(t<<24>>24)-u<<2|0)|0,f=1,f|0)}case 10:{if(u=i+24|0,s=j[u>>0]|0,(s<<24>>24>t<<24>>24?t:s)<<24>>24>0)for(b=e[e[i>>2]>>2]|0,A=i+40|0,_=Y0(e[A>>2]|0,e[A+4>>2]|0,e[r>>2]|0,0)|0,A=i+48|0,o=i0(_|0,H|0,e[A>>2]|0,e[A+4>>2]|0)|0,A=b+o|0,o=0;;)if(h=o0(+D2[A>>3]),q0[n+(o<<2)>>2]=h,o=o+1|0,b=j[u>>0]|0,(o|0)>=((b<<24>>24>t<<24>>24?t:b)<<24>>24|0)){T=b;break}else A=A+8|0;else T=s;return A=T<<24>>24,T<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(A<<2)|0,0,(t<<24>>24)-A<<2|0)|0,f=1,f|0)}case 11:{if(A=i+24|0,o=j[A>>0]|0,(o<<24>>24>t<<24>>24?t:o)<<24>>24>0)for(u=e[e[i>>2]>>2]|0,l=i+40|0,b=Y0(e[l>>2]|0,e[l+4>>2]|0,e[r>>2]|0,0)|0,l=i+48|0,_=i0(b|0,H|0,e[l>>2]|0,e[l+4>>2]|0)|0,l=u+_|0,_=0;;)if(h=o0((j[l>>0]|0)!=0&1),q0[n+(_<<2)>>2]=h,_=_+1|0,u=j[A>>0]|0,(_|0)>=((u<<24>>24>t<<24>>24?t:u)<<24>>24|0)){R=u;break}else l=l+1|0;else R=o;return l=R<<24>>24,R<<24>>24>=t<<24>>24?(f=1,f|0):(E0(n+(l<<2)|0,0,(t<<24>>24)-l<<2|0)|0,f=1,f|0)}default:return f=0,f|0}while(0);return 0}function g8(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0;n=U,U=U+48|0,f=n+24|0,l=n,o=i+12|0,A=e[o>>2]|0,e[f>>2]=0,u=f+4|0,e[u>>2]=0,s=f+8|0,e[s>>2]=0;do if(A)if(A>>>0>1073741823)W0(f);else{_=A<<2,h=v0(_)|0,e[f>>2]=h,k=h+(A<<2)|0,e[s>>2]=k,E0(h|0,0,_|0)|0,e[u>>2]=k,b=k,p=h;break}else b=0,p=0;while(0);h=i+116|0,k=e[h>>2]|0,_=e[k>>2]|0,_?(A=k+4|0,e[A>>2]=_,Y(_),_=k+8|0,e[_>>2]=0,e[A>>2]=0,e[k>>2]=0,w=_,d=A,m=e[f>>2]|0,c=e[u>>2]|0,y=e[o>>2]|0):(w=k+8|0,d=k+4|0,m=p,c=b,y=A),e[k>>2]=m,e[d>>2]=c,e[w>>2]=e[s>>2],e[f>>2]=0,s=f+4|0,e[s>>2]=0,w=f+8|0,e[w>>2]=0;do if(y)if(y>>>0>1073741823)W0(f);else{c=y<<2,d=v0(c)|0,e[f>>2]=d,m=d+(y<<2)|0,e[w>>2]=m,E0(d|0,0,c|0)|0,e[s>>2]=m,V=m,v=d;break}else V=0,v=0;while(0);y=i+128|0,d=e[y>>2]|0,m=e[d>>2]|0,m?(V=d+4|0,e[V>>2]=m,Y(m),m=d+8|0,e[m>>2]=0,e[V>>2]=0,e[d>>2]=0,T=m,R=V,N=e[f>>2]|0,G=e[s>>2]|0):(T=d+8|0,R=d+4|0,N=v,G=V),e[d>>2]=N,e[R>>2]=G,e[T>>2]=e[w>>2],e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=0,e[l+12>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,w=l+8|0,T=l+4|0,G=l+16|0,R=l+20|0,o2(l),N=e[T>>2]|0,d=(e[G>>2]|0)+(e[R>>2]|0)|0,(e[w>>2]|0)==(N|0)?F=0:(s=(d>>>0)/341|0,F=(e[N+(s<<2)>>2]|0)+((d-(s*341|0)|0)*12|0)|0),e[F>>2]=r,e[F+4>>2]=0,e[F+8>>2]=0,F=(e[R>>2]|0)+1|0,e[R>>2]=F;e:do if(!F)E=1;else for(s=f+4|0,d=f+8|0,N=i+8|0,V=i+104|0,m=i+4|0,v=f+4|0,c=f+8|0,k=i+92|0,u=i+48|0,A=i+44|0,_=i+36|0,b=i+16|0,p=i+88|0,Z=i+76|0,Q=i+84|0,z=F;;){if(C=e[G>>2]|0,W=z+-1|0,I=C+W|0,D=e[T>>2]|0,L=(I>>>0)/341|0,O=e[D+(L<<2)>>2]|0,x=I-(L*341|0)|0,L=e[O+(x*12|0)>>2]|0,I=e[O+(x*12|0)+4>>2]|0,X=e[O+(x*12|0)+8>>2]|0,e[R>>2]=W,W=e[w>>2]|0,x=W-D|0,(1-z-C+((x|0)==0?0:((x>>2)*341|0)+-1|0)|0)>>>0>681&&(Y(e[W+-4>>2]|0),e[w>>2]=(e[w>>2]|0)+-4),W=e[h>>2]|0,x=W+(X*12|0)|0,L>>>0>r>>>0){E=0;break e}if(C=e[o>>2]|0,D=(C+-1|0)==(I|0)?0:I+1|0,D>>>0>=C>>>0){E=0;break e}C=(e[y>>2]|0)+(X*12|0)|0,I=(e[i>>2]|0)-(e[(e[C>>2]|0)+(D<<2)>>2]|0)|0;i:do if(I){if(L>>>0>=3){if((e[N>>2]|0)>>>0>(e[m>>2]|0)>>>0){E=0;break e}O=X+1|0,R2(W+(O*12|0)|0,e[x>>2]|0,e[W+(X*12|0)+4>>2]|0),B=(e[(e[h>>2]|0)+(O*12|0)>>2]|0)+(D<<2)|0,e[B>>2]=(e[B>>2]|0)+(1<<I+-1),B=(N2(L|0)|0)^31,e[f>>2]=0,Z1(b,B,f),B=(L>>>1)-(e[f>>2]|0)|0,q=L-B|0;r:do if((B|0)==(q|0))g=B,n0=B;else{P=e[p>>2]|0,M=e[Q>>2]|0;do if((M|0)!=(e[Z>>2]|0))if(l0=(e[M>>2]&1<<31-P|0)!=0,t0=P+1|0,e[p>>2]=t0,(t0|0)==32)if(e[Q>>2]=M+4,e[p>>2]=0,l0){g=B,n0=q;break r}else break;else if(l0){g=B,n0=q;break r}else break;while(0);g=q,n0=B}while(0);B=e[y>>2]|0,q=e[B+(X*12|0)>>2]|0,M=q+(D<<2)|0,e[M>>2]=(e[M>>2]|0)+1,R2(B+(O*12|0)|0,q,e[B+(X*12|0)+4>>2]|0),g|0&&(B=e[w>>2]|0,q=e[T>>2]|0,M=B-q|0,P=(e[R>>2]|0)+(e[G>>2]|0)|0,(((M|0)==0?0:((M>>2)*341|0)+-1|0)|0)==(P|0)?(o2(l),a=(e[G>>2]|0)+(e[R>>2]|0)|0,$=e[w>>2]|0,e0=e[T>>2]|0):(a=P,$=B,e0=q),($|0)==(e0|0)?f0=0:(q=(a>>>0)/341|0,f0=(e[e0+(q<<2)>>2]|0)+((a-(q*341|0)|0)*12|0)|0),e[f0>>2]=g,e[f0+4>>2]=D,e[f0+8>>2]=X,e[R>>2]=(e[R>>2]|0)+1),n0|0&&(q=e[w>>2]|0,B=e[T>>2]|0,P=q-B|0,M=(e[R>>2]|0)+(e[G>>2]|0)|0,(((P|0)==0?0:((P>>2)*341|0)+-1|0)|0)==(M|0)?(o2(l),A0=(e[G>>2]|0)+(e[R>>2]|0)|0,_0=e[w>>2]|0,h0=e[T>>2]|0):(A0=M,_0=q,h0=B),(_0|0)==(h0|0)?p0=0:(B=(A0>>>0)/341|0,p0=(e[h0+(B<<2)>>2]|0)+((A0-(B*341|0)|0)*12|0)|0),e[p0>>2]=n0,e[p0+4>>2]=D,e[p0+8>>2]=O,e[R>>2]=(e[R>>2]|0)+1);break}if(B=e[V>>2]|0,e[B>>2]=D,q=e[o>>2]|0,q>>>0>1)for(M=1,P=q,l0=D;;)if(l0=(l0|0)==(P+-1|0)?0:l0+1|0,e[B+(M<<2)>>2]=l0,M=M+1|0,t0=e[o>>2]|0,M>>>0>=t0>>>0){j0=t0;break}else P=t0;else j0=q;if(L|0)for(P=0,M=j0;;){if(!M)y0=e[k>>2]|0;else{l0=e[V>>2]|0,B=e[k>>2]|0,O=e[C>>2]|0,t0=0;do{k0=l0+(t0<<2)|0,e[B+(e[k0>>2]<<2)>>2]=0,N0=e[k0>>2]|0,V0=(e[i>>2]|0)-(e[O+(N0<<2)>>2]|0)|0;do if(V0|0){if(U0=B+(N0<<2)|0,m0=e[u>>2]|0,s0=32-m0|0,(V0|0)>(s0|0))if(G0=e[A>>2]|0,d0=G0+4|0,(d0|0)==(e[_>>2]|0)){e[U0>>2]=0;break}else{b0=e[G0>>2]<<m0,G0=V0-s0|0,e[u>>2]=G0,e[A>>2]=d0,c0=32-G0|0,e[U0>>2]=(e[d0>>2]|0)>>>c0|b0>>>(c0-s0|0);break}if(s0=e[A>>2]|0,(s0|0)==(e[_>>2]|0)){e[U0>>2]=0;break}if(e[U0>>2]=e[s0>>2]<<m0>>>(32-V0|0),m0=(e[u>>2]|0)+V0|0,e[u>>2]=m0,(m0|0)!=32)break;e[A>>2]=s0+4,e[u>>2]=0}while(0);V0=e[k0>>2]|0,N0=B+(V0<<2)|0,e[N0>>2]=e[N0>>2]|e[(e[x>>2]|0)+(V0<<2)>>2],t0=t0+1|0}while(t0>>>0<(e[o>>2]|0)>>>0);y0=B}if(B=e[y0>>2]|0,e[f>>2]=B,e[v>>2]=e[y0+4>>2],e[c>>2]=e[y0+8>>2],t0=e[t>>2]|0,O=t0+4|0,l0=e[O>>2]|0,l0>>>0<(e[t0+8>>2]|0)>>>0?(e[l0>>2]=B,e[l0+4>>2]=e[v>>2],e[l0+8>>2]=e[c>>2],e[O>>2]=l0+12):he(t0,f),e[N>>2]=(e[N>>2]|0)+1,t0=P+1|0,t0>>>0>=L>>>0)break i;P=t0,M=e[o>>2]|0}}else if(L|0){O=0;do B=e[x>>2]|0,M=e[B>>2]|0,e[f>>2]=M,e[s>>2]=e[B+4>>2],e[d>>2]=e[B+8>>2],B=e[t>>2]|0,P=B+4|0,q=e[P>>2]|0,q>>>0<(e[B+8>>2]|0)>>>0?(e[q>>2]=M,e[q+4>>2]=e[s>>2],e[q+8>>2]=e[d>>2],e[P>>2]=q+12):he(B,f),e[N>>2]=(e[N>>2]|0)+1,O=O+1|0;while(O>>>0<L>>>0)}while(0);if(z=e[R>>2]|0,!z){E=1;break}}while(0);if(o=e[T>>2]|0,f=e[G>>2]|0,t=(f>>>0)/341|0,y0=o+(t<<2)|0,i=e[w>>2]|0,j0=i,p0=o,(i|0)!=(o|0)&&(n0=(e[y0>>2]|0)+((f-(t*341|0)|0)*12|0)|0,t=(e[R>>2]|0)+f|0,f=(t>>>0)/341|0,A0=(e[o+(f<<2)>>2]|0)+((t-(f*341|0)|0)*12|0)|0,(A0|0)!=(n0|0)))for(f=y0,y0=n0;n0=y0+12|0,(n0-(e[f>>2]|0)|0)==4092?(t=f+4|0,w0=t,R0=e[t>>2]|0):(w0=f,R0=n0),y0=R0,(A0|0)!=(y0|0);)f=w0;if(e[R>>2]=0,R=j0-p0>>2,R>>>0>2){p0=o;do Y(e[p0>>2]|0),p0=(e[T>>2]|0)+4|0,e[T>>2]=p0,T0=e[w>>2]|0,F0=T0-p0>>2;while(F0>>>0>2);I0=F0,D0=p0,z0=T0}else I0=R,D0=o,z0=i;switch(I0|0){case 1:{J0=170,Q0=87;break}case 2:{J0=341,Q0=87;break}default:}if((Q0|0)==87&&(e[G>>2]=J0),(D0|0)!=(z0|0)){J0=D0;do Y(e[J0>>2]|0),J0=J0+4|0;while((J0|0)!=(z0|0));z0=e[T>>2]|0,T=e[w>>2]|0,(T|0)!=(z0|0)&&(e[w>>2]=T+(~((T+-4-z0|0)>>>2)<<2))}return z0=e[l>>2]|0,z0?(Y(z0),U=n,E|0):(U=n,E|0)}function e3(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0;l=U,U=U+64|0,n=l+16|0,o=l,A=i+8|0,e[A>>2]=f,u=i+32|0,s=i+36|0,_=e[u>>2]|0,h=(e[s>>2]|0)-_>>2,h>>>0>=f>>>0?h>>>0>f>>>0&&(e[s>>2]=_+(f<<2)):u2(u,f-h|0),h=n,u=h+48|0;do e[h>>2]=0,h=h+4|0;while((h|0)<(u|0));if(e[o>>2]=0,f?(z2(n,f,o),k=e[n+12>>2]|0,b=e[n+16>>2]|0):(k=0,b=0),e[o>>2]=0,h=n+16|0,u=b-k>>2,u>>>0>=f>>>0?u>>>0>f>>>0&&(e[h>>2]=k+(f<<2)):z2(n+12|0,f-u|0,o),u=n+24|0,e[o>>2]=0,k=n+28|0,h=e[u>>2]|0,b=(e[k>>2]|0)-h>>2,b>>>0>=f>>>0?b>>>0>f>>>0&&(e[k>>2]=h+(f<<2)):z2(u,f-b|0,o),b=n+36|0,e[o>>2]=0,u=n+40|0,h=e[b>>2]|0,k=(e[u>>2]|0)-h>>2,k>>>0>=f>>>0?k>>>0>f>>>0&&(e[u>>2]=h+(f<<2)):z2(b,f-k|0,o),k=e[n>>2]|0,(e[A>>2]|0)>0){b=i+16|0,h=i+32|0,u=i+12|0,_=0;do{s=e[k+(_<<2)>>2]|0,p=e[b>>2]|0;do if((s|0)<=(p|0))if(w=e[u>>2]|0,d=e[h>>2]|0,m=d+(_<<2)|0,(s|0)<(w|0)){e[m>>2]=w,c=d;break}else{e[m>>2]=s,c=d;break}else d=e[h>>2]|0,e[d+(_<<2)>>2]=p,c=d;while(0);_=_+1|0,y=e[A>>2]|0}while((_|0)<(y|0));if((y|0)>0){y=i+20|0,_=0;do h=(e[r+(_<<2)>>2]|0)+(e[c+(_<<2)>>2]|0)|0,k=t+(_<<2)|0,e[k>>2]=h,(h|0)<=(e[b>>2]|0)?(h|0)<(e[u>>2]|0)&&(V=(e[y>>2]|0)+h|0,v=19):(V=h-(e[y>>2]|0)|0,v=19),(v|0)==19&&(v=0,e[k>>2]=V),_=_+1|0;while((_|0)<(e[A>>2]|0))}}_=e[i+48>>2]|0,V=e[i+52>>2]|0,y=v0(16)|0,e[y>>2]=0,e[y+4>>2]=0,e[y+8>>2]=0,e[y+12>>2]=0,e[o>>2]=0,u=o+4|0,e[u>>2]=0,b=o+8|0,e[b>>2]=0;do if(f)if(f>>>0>1073741823)W0(o);else{c=f<<2,k=v0(c)|0,e[o>>2]=k,h=k+(f<<2)|0,e[b>>2]=h,E0(k|0,0,c|0)|0,e[u>>2]=h,T=k;break}else T=0;while(0);b=e[i+56>>2]|0,k=e[b>>2]|0,h=(e[b+4>>2]|0)-k|0,c=h>>2;e:do if((h|0)>4){for(p=k,s=(f|0)>0,d=_+64|0,m=_+28|0,w=i+16|0,R=i+32|0,N=i+12|0,G=i+20|0,F=f<<2,E=(f|0)==1,Z=1;;){if(c>>>0<=Z>>>0){v=30;break}Q=e[p+(Z<<2)>>2]|0;do if((Q|0)!=-1){z=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0,C=(z|0)==-1,W=z>>>5,I=1<<(z&31),D=1,L=0,O=Q,x=e[_>>2]|0;i:for(;;){if(X=e[n+(L*12|0)>>2]|0,(e[x+(O>>>5<<2)>>2]&1<<(O&31)|0)==0&&(B=e[(e[(e[d>>2]|0)+12>>2]|0)+(O<<2)>>2]|0,(B|0)!=-1)&&(M=e[m>>2]|0,P=e[V>>2]|0,q=e[P+(e[M+(B<<2)>>2]<<2)>>2]|0,g=B+1|0,n0=e[P+(e[M+((((g>>>0)%3|0|0)==0?B+-2|0:g)<<2)>>2]<<2)>>2]|0,g=e[P+(e[M+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(q|0)<(Z|0)&(n0|0)<(Z|0)&(g|0)<(Z|0))){if(B=Z0(q,f)|0,q=Z0(n0,f)|0,n0=Z0(g,f)|0,s){g=0;do e[X+(g<<2)>>2]=(e[t+(g+n0<<2)>>2]|0)+(e[t+(g+q<<2)>>2]|0)-(e[t+(g+B<<2)>>2]|0),g=g+1|0;while((g|0)!=(f|0))}if(g=L+1|0,(g|0)==4){l0=4;break}else t0=g}else t0=L;do if(D)g=O+1|0,B=((g>>>0)%3|0|0)==0?O+-2|0:g,(B|0)!=-1?(g=e[_>>2]|0,(e[g+(B>>>5<<2)>>2]&1<<(B&31)|0)==0&&(q=e[(e[(e[d>>2]|0)+12>>2]|0)+(B<<2)>>2]|0,B=q+1|0,(q|0)!=-1)?(a=((B>>>0)%3|0|0)==0?q+-2|0:B,$=g):(a=-1,$=g)):(a=-1,$=x);else if(g=(((O>>>0)%3|0|0)==0?2:-1)+O|0,(g|0)!=-1&&(e[x+(g>>>5<<2)>>2]&1<<(g&31)|0)==0&&(B=e[(e[(e[d>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(B|0)!=-1))if((B>>>0)%3|0){a=B+-1|0,$=x;break}else{a=B+2|0,$=x;break}else a=-1,$=x;while(0);if((a|0)==(Q|0)){v=59;break}B=(a|0)!=-1,g=B|D^1;do if(g|C)e0=B&D,f0=g?a:-1,A0=$;else{if(q=e[_>>2]|0,e[q+(W<<2)>>2]&I|0){v=59;break i}if(n0=e[(e[(e[d>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(n0|0)==-1){v=59;break i}if((n0>>>0)%3|0){e0=0,f0=n0+-1|0,A0=q;break}else{e0=0,f0=n0+2|0,A0=q;break}}while(0);if((f0|0)==-1){v=59;break}else D=e0,L=t0,O=f0,x=A0}if((v|0)==59)if(v=0,(t0|0)>0)l0=t0;else{v=60;break}if(s)for(E0(e[o>>2]|0,0,F|0)|0,x=l0+-1|0,O=y+(x<<2)|0,L=i+60+(x*12|0)+4|0,D=i+60+(x*12|0)|0,x=e[o>>2]|0,z=0,I=0;;){if(W=e[O>>2]|0,e[O>>2]=W+1,(e[L>>2]|0)>>>0<=W>>>0){_0=x,h0=0;break e}if(e[(e[D>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31))p0=I;else{W=e[n+(z*12|0)>>2]|0,C=0;do g=x+(C<<2)|0,e[g>>2]=(e[g>>2]|0)+(e[W+(C<<2)>>2]|0),C=C+1|0;while((C|0)!=(f|0));p0=I+1|0}if(z=z+1|0,(z|0)>=(l0|0)){j0=p0;break}else I=p0}else for(I=l0+-1|0,z=y+(I<<2)|0,x=i+60+(I*12|0)|0,D=e[o>>2]|0,L=e[i+60+(I*12|0)+4>>2]|0,I=0,O=0,C=e[z>>2]|0;;){if(W=C,C=C+1|0,e[z>>2]=C,L>>>0<=W>>>0){_0=D,h0=0;break e}if(g=O+((e[(e[x>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)==0&1)|0,I=I+1|0,(I|0)>=(l0|0)){j0=g;break}else O=g}if(O=Z0(Z,f)|0,j0){if(I=e[o>>2]|0,s&&(e[I>>2]=(e[I>>2]|0)/(j0|0)|0,!E)){x=1;do D=I+(x<<2)|0,e[D>>2]=(e[D>>2]|0)/(j0|0)|0,x=x+1|0;while((x|0)!=(f|0))}if(x=r+(O<<2)|0,D=t+(O<<2)|0,(e[A>>2]|0)>0){L=0;do{C=e[I+(L<<2)>>2]|0,z=e[w>>2]|0;do if((C|0)<=(z|0))if(g=e[N>>2]|0,W=e[R>>2]|0,B=W+(L<<2)|0,(C|0)<(g|0)){e[B>>2]=g,y0=W;break}else{e[B>>2]=C,y0=W;break}else W=e[R>>2]|0,e[W+(L<<2)>>2]=z,y0=W;while(0);L=L+1|0,k0=e[A>>2]|0}while((L|0)<(k0|0));if((k0|0)>0){L=0;do{I=(e[x+(L<<2)>>2]|0)+(e[y0+(L<<2)>>2]|0)|0,z=D+(L<<2)|0,e[z>>2]=I;do if((I|0)>(e[w>>2]|0))N0=I-(e[G>>2]|0)|0,v=106;else{if((I|0)>=(e[N>>2]|0))break;N0=(e[G>>2]|0)+I|0,v=106}while(0);(v|0)==106&&(v=0,e[z>>2]=N0),L=L+1|0}while((L|0)<(e[A>>2]|0))}}}else V0=O,v=73}else v=60;while(0);if((v|0)==60&&(v=0,V0=Z0(Z,f)|0,v=73),(v|0)==73&&(v=0,Q=t+((Z0(Z+-1|0,f)|0)<<2)|0,L=r+(V0<<2)|0,D=t+(V0<<2)|0,(e[A>>2]|0)>0)){x=0;do{I=e[Q+(x<<2)>>2]|0,C=e[w>>2]|0;do if((I|0)<=(C|0))if(W=e[N>>2]|0,B=e[R>>2]|0,g=B+(x<<2)|0,(I|0)<(W|0)){e[g>>2]=W,U0=B;break}else{e[g>>2]=I,U0=B;break}else B=e[R>>2]|0,e[B+(x<<2)>>2]=C,U0=B;while(0);x=x+1|0,m0=e[A>>2]|0}while((x|0)<(m0|0));if((m0|0)>0){x=0;do Q=(e[L+(x<<2)>>2]|0)+(e[U0+(x<<2)>>2]|0)|0,C=D+(x<<2)|0,e[C>>2]=Q,(Q|0)<=(e[w>>2]|0)?(Q|0)<(e[N>>2]|0)&&(s0=(e[G>>2]|0)+Q|0,v=87):(s0=Q-(e[G>>2]|0)|0,v=87),(v|0)==87&&(v=0,e[C>>2]=s0),x=x+1|0;while((x|0)<(e[A>>2]|0))}}if(Z=Z+1|0,(Z|0)>=(c|0)){v=110;break}}if((v|0)==30)W0(b);else if((v|0)==110){_0=e[o>>2]|0,h0=1;break}}else _0=T,h0=1;while(0);return _0|0&&(e[u>>2]=_0,Y(_0)),Y(y),y=e[n+36>>2]|0,y|0&&(e[n+40>>2]=y,Y(y)),y=e[n+24>>2]|0,y|0&&(e[n+28>>2]=y,Y(y)),y=e[n+12>>2]|0,y|0&&(e[n+16>>2]=y,Y(y)),y=e[n>>2]|0,y?(e[n+4>>2]=y,Y(y),U=l,h0|0):(U=l,h0|0)}function i3(i,r,t,n,f,l){i=i|0,r=+r,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0,d=0,m=0,c=0,y=0,V=0,v=0,T=0,R=0,N=0,G=0,F=0,E=0,Z=0,Q=0,z=0,C=0,W=0,I=0,D=0,L=0,O=0,x=0,X=0,B=0,M=0,P=0,q=0,g=0,n0=0,l0=0,t0=0,a=0,$=0,e0=0,f0=0,A0=0,_0=0,h0=0,p0=0,j0=0,y0=0,k0=0,N0=0,V0=0,U0=0,m0=0,s0=0,G0=0,d0=0,b0=0,c0=0,w0=0,R0=0,T0=0,F0=0,I0=0,D0=0,z0=0,J0=0,Q0=0,C0=0,O0=0,x0=0,X0=0,$0=0,k2=0;o=U,U=U+560|0,A=o+8|0,u=o,s=o+524|0,_=s,h=o+512|0,e[u>>2]=0,k=h+12|0,b=If(r)|0,p=H,(p|0)<0?(w=-r,d=If(w)|0,m=w,c=1,y=14101,V=H,v=d):(m=r,c=(f&2049|0)!=0&1,y=(f&2048|0)==0?(f&1|0)==0?14102:14107:14104,V=p,v=b);do if(!0&(V&2146435072|0)==2146435072)b=(l&32|0)!=0,v=c+3|0,P2(i,32,t,v,f&-65537),J2(i,y,c),J2(i,m!=m|!1?b?14128:14132:b?14120:14124,3),P2(i,32,t,v,f^8192),T=v;else{if(r=+yb(m,u)*2,v=r!=0,v&&(e[u>>2]=(e[u>>2]|0)+-1),b=l|32,(b|0)==97){p=l&32,d=(p|0)==0?y:y+9|0,R=c|2,N=12-n|0;do if(n>>>0>11|(N|0)==0)F=r;else{w=8,G=N;do G=G+-1|0,w=w*16;while((G|0)!=0);if((j[d>>0]|0)==45){F=-(w+(-r-w));break}else{F=r+w-w;break}}while(0);for(N=e[u>>2]|0,G=(N|0)<0?0-N|0:N,E=Qi(G,((G|0)<0)<<31>>31,k)|0,(E|0)==(k|0)?(G=h+11|0,j[G>>0]=48,Z=G):Z=E,j[Z+-1>>0]=(N>>31&2)+43,N=Z+-2|0,j[N>>0]=l+15,E=(n|0)<1,G=(f&8|0)==0,Q=s,z=F;C=~~z,W=Q+1|0,j[Q>>0]=p|J[14136+C>>0],z=(z-+(C|0))*16,(W-_|0)==1&&!(G&(E&z==0))?(j[W>>0]=46,I=Q+2|0):I=W,z!=0;)Q=I;Q=I,(n|0)!=0&&(-2-_+Q|0)<(n|0)?(E=k,G=N,D=n+2+E-G|0,L=E,O=G):(G=k,E=N,D=G-_-E+Q|0,L=G,O=E),E=D+R|0,P2(i,32,t,E,f),J2(i,d,R),P2(i,48,t,E,f^65536),G=Q-_|0,J2(i,s,G),Q=L-O|0,P2(i,48,D-(G+Q)|0,0,0),J2(i,N,Q),P2(i,32,t,E,f^8192),T=E;break}E=(n|0)<0?6:n,v?(Q=(e[u>>2]|0)+-28|0,e[u>>2]=Q,x=r*268435456,X=Q):(x=r,X=e[u>>2]|0),Q=(X|0)<0?A:A+288|0,G=Q,z=x;do p=~~z>>>0,e[G>>2]=p,G=G+4|0,z=(z-+(p>>>0))*1e9;while(z!=0);if((X|0)>0)for(v=Q,N=G,R=X;;){if(d=(R|0)<29?R:29,p=N+-4|0,p>>>0>=v>>>0){W=p,p=0;do C=_1(e[W>>2]|0,0,d|0)|0,B=i0(C|0,H|0,p|0,0)|0,C=H,p=k1(B|0,C|0,1e9,0)|0,M=Y0(p|0,H|0,1e9,0)|0,P=H0(B|0,C|0,M|0,H|0)|0,e[W>>2]=P,W=W+-4|0;while(W>>>0>=v>>>0);p?(W=v+-4|0,e[W>>2]=p,q=W):q=v}else q=v;e:do if(N>>>0>q>>>0)for(W=N;;){if(P=W+-4|0,e[P>>2]|0){g=W;break e}if(P>>>0>q>>>0)W=P;else{g=P;break}}else g=N;while(0);if(p=(e[u>>2]|0)-d|0,e[u>>2]=p,(p|0)>0)v=q,N=g,R=p;else{n0=q,l0=g,t0=p;break}}else n0=Q,l0=G,t0=X;if((t0|0)<0)for(R=((E+25|0)/9|0)+1|0,N=(b|0)==102,v=n0,p=l0,W=t0;;){if(P=0-W|0,M=(P|0)<9?P:9,v>>>0<p>>>0){P=(1<<M)+-1|0,C=1e9>>>M,B=0,a=v;do $=e[a>>2]|0,e[a>>2]=($>>>M)+B,B=Z0($&P,C)|0,a=a+4|0;while(a>>>0<p>>>0);a=(e[v>>2]|0)==0?v+4|0:v,B?(e[p>>2]=B,e0=p+4|0,f0=a):(e0=p,f0=a)}else e0=p,f0=(e[v>>2]|0)==0?v+4|0:v;if(a=N?Q:f0,C=(e0-a>>2|0)>(R|0)?a+(R<<2)|0:e0,W=(e[u>>2]|0)+M|0,e[u>>2]=W,(W|0)>=0){A0=f0,_0=C;break}else v=f0,p=C}else A0=n0,_0=l0;if(p=Q,A0>>>0<_0>>>0)if(v=(p-A0>>2)*9|0,W=e[A0>>2]|0,W>>>0<10)h0=v;else for(R=v,v=10;;)if(v=v*10|0,N=R+1|0,W>>>0<v>>>0){h0=N;break}else R=N;else h0=0;if(R=(b|0)==103,v=(E|0)!=0,W=E-((b|0)==102?0:h0)+((v&R)<<31>>31)|0,(W|0)<(((_0-p>>2)*9|0)+-9|0)){if(N=W+9216|0,W=(N|0)/9|0,G=Q+4+(W+-1024<<2)|0,C=N-(W*9|0)|0,(C|0)<8)for(W=C,C=10;;)if(N=C*10|0,(W|0)<7)W=W+1|0,C=N;else{p0=N;break}else p0=10;if(C=e[G>>2]|0,W=(C>>>0)/(p0>>>0)|0,b=C-(Z0(W,p0)|0)|0,N=(G+4|0)==(_0|0),N&(b|0)==0)U0=G,m0=h0,s0=A0;else if(w=(W&1|0)==0?9007199254740992:9007199254740994,W=p0>>>1,z=b>>>0<W>>>0?.5:N&(b|0)==(W|0)?1:1.5,c?(W=(j[y>>0]|0)==45,j0=W?-z:z,y0=W?-w:w):(j0=z,y0=w),W=C-b|0,e[G>>2]=W,y0+j0!=y0){if(b=W+p0|0,e[G>>2]=b,b>>>0>999999999)for(b=G,W=A0;;)if(C=b+-4|0,e[b>>2]=0,C>>>0<W>>>0?(N=W+-4|0,e[N>>2]=0,k0=N):k0=W,N=(e[C>>2]|0)+1|0,e[C>>2]=N,N>>>0>999999999)b=C,W=k0;else{N0=C,V0=k0;break}else N0=G,V0=A0;if(W=(p-V0>>2)*9|0,b=e[V0>>2]|0,b>>>0<10)U0=N0,m0=W,s0=V0;else for(C=W,W=10;;)if(W=W*10|0,N=C+1|0,b>>>0<W>>>0){U0=N0,m0=N,s0=V0;break}else C=N}else U0=G,m0=h0,s0=A0;C=U0+4|0,G0=m0,d0=_0>>>0>C>>>0?C:_0,b0=s0}else G0=h0,d0=_0,b0=A0;C=0-G0|0;e:do if(d0>>>0>b0>>>0)for(W=d0;;){if(b=W+-4|0,e[b>>2]|0){c0=W,w0=1;break e}if(b>>>0>b0>>>0)W=b;else{c0=b,w0=0;break}}else c0=d0,w0=0;while(0);do if(R)if(G=E+((v^1)&1)|0,(G|0)>(G0|0)&(G0|0)>-5?(R0=l+-1|0,T0=G+-1-G0|0):(R0=l+-2|0,T0=G+-1|0),f&8)I0=R0,D0=T0;else{if(w0&&(G=e[c0+-4>>2]|0,(G|0)!=0))if((G>>>0)%10|0)F0=0;else for(W=0,M=10;;)if(M=M*10|0,B=W+1|0,(G>>>0)%(M>>>0)|0|0){F0=B;break}else W=B;else F0=9;if(W=((c0-p>>2)*9|0)+-9|0,(R0|32|0)==102){M=W-F0|0,G=(M|0)>0?M:0,I0=R0,D0=(T0|0)<(G|0)?T0:G;break}else{G=W+G0-F0|0,W=(G|0)>0?G:0,I0=R0,D0=(T0|0)<(W|0)?T0:W;break}}else I0=l,D0=E;while(0);if(E=(D0|0)!=0,p=E?1:f>>>3&1,v=(I0|32|0)==102,v)z0=0,J0=(G0|0)>0?G0:0;else{if(R=(G0|0)<0?C:G0,W=Qi(R,((R|0)<0)<<31>>31,k)|0,R=k,(R-W|0)<2)for(G=W;;)if(M=G+-1|0,j[M>>0]=48,(R-M|0)<2)G=M;else{Q0=M;break}else Q0=W;j[Q0+-1>>0]=(G0>>31&2)+43,G=Q0+-2|0,j[G>>0]=I0,z0=G,J0=R-G|0}if(G=c+1+D0+p+J0|0,P2(i,32,t,G,f),J2(i,y,c),P2(i,48,t,G,f^65536),v){C=b0>>>0>Q>>>0?Q:b0,M=s+9|0,B=M,b=s+8|0,N=C;do{if(a=Qi(e[N>>2]|0,0,M)|0,(N|0)==(C|0))(a|0)==(M|0)?(j[b>>0]=48,C0=b):C0=a;else if(a>>>0>s>>>0)for(E0(s|0,48,a-_|0)|0,P=a;;)if(d=P+-1|0,d>>>0>s>>>0)P=d;else{C0=d;break}else C0=a;J2(i,C0,B-C0|0),N=N+4|0}while(N>>>0<=Q>>>0);if((f&8|0)==0&(E^1)||J2(i,14152,1),N>>>0<c0>>>0&(D0|0)>0)for(Q=D0,B=N;;){if(b=Qi(e[B>>2]|0,0,M)|0,b>>>0>s>>>0)for(E0(s|0,48,b-_|0)|0,C=b;;)if(v=C+-1|0,v>>>0>s>>>0)C=v;else{O0=v;break}else O0=b;if(J2(i,O0,(Q|0)<9?Q:9),B=B+4|0,C=Q+-9|0,B>>>0<c0>>>0&(Q|0)>9)Q=C;else{x0=C;break}}else x0=D0;P2(i,48,x0+9|0,9,0)}else{if(Q=w0?c0:b0+4|0,b0>>>0<Q>>>0&(D0|0)>-1)for(B=s+9|0,M=(f&8|0)==0,N=B,E=0-_|0,C=s+8|0,a=D0,v=b0;;){p=Qi(e[v>>2]|0,0,B)|0,(p|0)==(B|0)?(j[C>>0]=48,X0=C):X0=p;do if((v|0)==(b0|0)){if(p=X0+1|0,J2(i,X0,1),M&(a|0)<1){$0=p;break}J2(i,14152,1),$0=p}else{if(X0>>>0<=s>>>0){$0=X0;break}for(E0(s|0,48,X0+E|0)|0,p=X0;;)if(R=p+-1|0,R>>>0>s>>>0)p=R;else{$0=R;break}}while(0);if(b=N-$0|0,J2(i,$0,(a|0)>(b|0)?b:a),p=a-b|0,v=v+4|0,v>>>0<Q>>>0&(p|0)>-1)a=p;else{k2=p;break}}else k2=D0;P2(i,48,k2+18|0,18,0),J2(i,z0,k-z0|0)}P2(i,32,t,G,f^8192),T=G}while(0);return U=o,((T|0)<(t|0)?t:T)|0}function r3(i){i=i|0,n2(i),n2(i+16|0),n2(i+32|0),n2(i+48|0),n2(i+64|0),n2(i+80|0),n2(i+96|0),n2(i+112|0),n2(i+128|0),n2(i+144|0),n2(i+160|0),n2(i+176|0),n2(i+192|0),n2(i+208|0),n2(i+224|0),n2(i+240|0),n2(i+256|0),n2(i+272|0),n2(i+288|0),n2(i+304|0),n2(i+320|0),n2(i+336|0),n2(i+352|0),n2(i+368|0),n2(i+384|0),n2(i+400|0),n2(i+416|0),n2(i+432|0),n2(i+448|0),n2(i+464|0),n2(i+480|0),n2(i+496|0)}function Lt(i,r){i=i|0,r=r|0;var t=0,n=a0,f=0,l=0,o=0;if((r|0)!=1?r+-1&r?t=E1(r)|0:t=r:t=2,r=e[i+4>>2]|0,t>>>0>r>>>0){it(i,t);return}t>>>0>=r>>>0||(n=o0((e[i+12>>2]|0)>>>0),f=~~o0(hi(o0(n/o0(q0[i+16>>2]))))>>>0,r>>>0>2&(r+-1&r|0)==0?(l=1<<32-(N2(f+-1|0)|0),o=f>>>0<2?f:l):o=E1(f)|0,f=t>>>0<o>>>0?o:t,!(f>>>0>=r>>>0)&&it(i,f))}function t3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0;if(n=U,U=U+80|0,f=n,l=n+64|0,o1(f),o=e[(e[i+8>>2]|0)+56>>2]|0,A=Z0(di(5)|0,t)|0,Jr(f,o,0,t&255,5,0,A,((A|0)<0)<<31>>31,0,0),A=v0(96)|0,Xr(A,f),j[A+84>>0]=1,e[A+72>>2]=e[A+68>>2],Oi(A,r)|0,e[l>>2]=A,i_(i,l),i=e[l>>2]|0,e[l>>2]=0,!i){U=n;return}l=i+88|0,A=e[l>>2]|0,e[l>>2]=0,A|0&&(l=e[A+8>>2]|0,l|0&&(e[A+12>>2]=l,Y(l)),Y(A)),A=e[i+68>>2]|0,A|0&&(e[i+72>>2]=A,Y(A)),A=i+64|0,l=e[A>>2]|0,e[A>>2]=0,l|0&&(A=e[l>>2]|0,A|0&&(e[l+4>>2]=A,Y(A)),Y(l)),Y(i),U=n}function f3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;switch(t=U,U=U+32|0,n=t+16|0,f=t,r<<24>>24){case 0:{r=v0(48)|0,Hh(r),e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=r,U=t;return}case 1:{r=v0(52)|0,vh(r),e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=r,U=t;return}default:{r=v0(32)|0,e[f>>2]=r,e[f+8>>2]=-2147483616,e[f+4>>2]=28,l=r,o=11853,A=l+28|0;do j[l>>0]=j[o>>0]|0,l=l+1|0,o=o+1|0;while((l|0)<(A|0));j[r+28>>0]=0,e[n>>2]=-1,r=n+4|0,c2(r,f),e[i>>2]=e[n>>2],c2(i+4|0,r),e[i+16>>2]=0,(j[r+11>>0]|0)<0&&Y(e[r>>2]|0),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),U=t;return}}}function Kt(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=i+8|0,n=e[t>>2]|0,f=j[n+24>>0]|0,l=f<<24>>24,o=l<<1,A=B2(l>>>0>2147483647?-1:l<<1)|0,u=e[i+16>>2]|0,e[u+80>>2]|0?s=(e[e[u>>2]>>2]|0)+(e[u+48>>2]|0)|0:s=0,!r){i2(A);return}if(f<<24>>24>0){for(f=0,u=0,i=0;;){for(_=0,h=i;P0[A+(_<<1)>>1]=e[s+(h<<2)>>2],_=_+1|0,(_|0)!=(l|0);)h=h+1|0;if(S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+u|0,A|0,o|0)|0,f=f+1|0,(f|0)==(r|0))break;u=u+o|0,i=i+l|0}i2(A);return}else{if(S0(e[e[n+64>>2]>>2]|0,A|0,o|0)|0,(r|0)==1){i2(A);return}n=0,l=1;do n=n+o|0,S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+n|0,A|0,o|0)|0,l=l+1|0;while((l|0)!=(r|0));i2(A);return}}function at(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=i+8|0,n=e[t>>2]|0,f=j[n+24>>0]|0,l=f<<24>>24,o=l<<2,A=B2(l>>>0>1073741823?-1:l<<2)|0,u=e[i+16>>2]|0,e[u+80>>2]|0?s=(e[e[u>>2]>>2]|0)+(e[u+48>>2]|0)|0:s=0,!r){i2(A);return}if(f<<24>>24>0){for(f=0,u=0,i=0;;){for(_=0,h=i;e[A+(_<<2)>>2]=e[s+(h<<2)>>2],_=_+1|0,(_|0)!=(l|0);)h=h+1|0;if(S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+u|0,A|0,o|0)|0,f=f+1|0,(f|0)==(r|0))break;u=u+o|0,i=i+l|0}i2(A);return}else{if(S0(e[e[n+64>>2]>>2]|0,A|0,o|0)|0,(r|0)==1){i2(A);return}n=0,l=1;do n=n+o|0,S0((e[e[(e[t>>2]|0)+64>>2]>>2]|0)+n|0,A|0,o|0)|0,l=l+1|0;while((l|0)!=(r|0));i2(A);return}}function n3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0)return s=0,s|0;_=(e[r>>2]|0)+o|0,h=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,_=t,e[_>>2]=l,e[_+4>>2]=u;do if((b2[r+38>>1]|0)<514){if(u=i0(o|0,A|0,8,0)|0,_=H,(f|0)<(_|0)|(f|0)==(_|0)&n>>>0<u>>>0)return s=0,s|0;l=t,e[l>>2]=u,e[l+4>>2]=_;break}while(0);return!(h&1)||(t=(N2(h|0)|0)^31,(t+-1|0)>>>0>28)?(s=0,s|0):(e[i+8>>2]=t+1,h=2<<t,e[i+12>>2]=h+-1,t=h+-2|0,e[i+16>>2]=t,e[i+20>>2]=(t|0)/2|0,s=1,s|0)}function l3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0;if(n=U,U=U+16|0,f=n,l=e[t>>2]|0,e[t>>2]=0,e[f>>2]=l,Et(i,r,f),l=e[f>>2]|0,e[f>>2]=0,l|0&&(f=l+88|0,t=e[f>>2]|0,e[f>>2]=0,t|0&&(f=e[t+8>>2]|0,f|0&&(e[t+12>>2]=f,Y(f)),Y(t)),t=e[l+68>>2]|0,t|0&&(e[l+72>>2]=t,Y(t)),t=l+64|0,f=e[t>>2]|0,e[t>>2]=0,f|0&&(t=e[f>>2]|0,t|0&&(e[f+4>>2]=t,Y(t)),Y(f)),Y(l)),l=i+84|0,f=i+88|0,i=e[l>>2]|0,t=(e[f>>2]|0)-i>>2,(t|0)>(r|0)){U=n;return}if(o=r+1|0,o>>>0>t>>>0){e8(l,o-t|0),U=n;return}if(o>>>0>=t>>>0){U=n;return}e[f>>2]=i+(o<<2),U=n}function pi(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,n-l>>3>>>0>=r>>>0){o=r,A=l;do u=A,e[u>>2]=0,e[u+4>>2]=0,A=(e[f>>2]|0)+8|0,e[f>>2]=A,o=o+-1|0;while((o|0)!=0);return}o=e[i>>2]|0,A=l-o|0,l=A>>3,u=l+r|0,u>>>0>536870911&&W0(i),s=n-o|0,n=s>>2,_=s>>3>>>0<268435455?n>>>0<u>>>0?u:n:536870911;do if(_)if(_>>>0>536870911)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{n=v0(_<<3)|0,h=n,k=n;break}else h=0,k=0;while(0);E0(h+(l<<3)|0,0,r<<3|0)|0,(A|0)>0&&S0(k|0,o|0,A|0)|0,e[i>>2]=h,e[f>>2]=h+(u<<3),e[t>>2]=h+(_<<3),o&&Y(o)}function A3(i,r){i=i|0,r=r|0;var t=0,n=a0,f=0,l=0,o=0;if((r|0)!=1?r+-1&r?t=E1(r)|0:t=r:t=2,r=e[i+4>>2]|0,t>>>0>r>>>0){rt(i,t);return}t>>>0>=r>>>0||(n=o0((e[i+12>>2]|0)>>>0),f=~~o0(hi(o0(n/o0(q0[i+16>>2]))))>>>0,r>>>0>2&(r+-1&r|0)==0?(l=1<<32-(N2(f+-1|0)|0),o=f>>>0<2?f:l):o=E1(f)|0,f=t>>>0<o>>>0?o:t,!(f>>>0>=r>>>0)&&rt(i,f))}function I1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=n-f|0,o=f;e:do if(l>>>0<r>>>0){if(A=r-l|0,u=i+8|0,s=e[u>>2]|0,(s-n|0)>>>0>=A>>>0){for(_=A,h=n;;)if(j[h>>0]=0,h=(e[t>>2]|0)+1|0,e[t>>2]=h,_=_+-1|0,!_)break e}(r|0)<0&&W0(i),_=s-f|0,h=_<<1,k=_>>>0<1073741823?h>>>0<r>>>0?r:h:2147483647,k?b=v0(k)|0:b=0,E0(b+l|0,0,A|0)|0,(l|0)>0&&S0(b|0,o|0,l|0)|0,e[i>>2]=b,e[t>>2]=b+r,e[u>>2]=b+k,f|0&&Y(o)}else l>>>0>r>>>0&&(e[t>>2]=o+r);while(0);r=i+24|0,i=r,o=i0(e[i>>2]|0,e[i+4>>2]|0,1,0)|0,i=r,e[i>>2]=o,e[i+4>>2]=H}function Ci(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(e[i>>2]=0,n=i+4|0,e[n>>2]=0,f=i+8|0,e[f>>2]=0,!!r){for(r>>>0>357913941&&W0(i),l=v0(r*12|0)|0,e[n>>2]=l,e[i>>2]=l,e[f>>2]=l+(r*12|0),f=t+4|0,i=r,r=l;;){if(e[r>>2]=0,l=r+4|0,e[l>>2]=0,o=r+8|0,e[o>>2]=0,A=(e[f>>2]|0)-(e[t>>2]|0)|0,u=A>>2,A|0){if(u>>>0>1073741823){s=7;break}_=v0(A)|0,e[l>>2]=_,e[r>>2]=_,e[o>>2]=_+(u<<2),u=e[t>>2]|0,o=(e[f>>2]|0)-u|0,(o|0)>0&&(S0(_|0,u|0,o|0)|0,e[l>>2]=_+(o>>>2<<2))}if(o=(e[n>>2]|0)+12|0,e[n>>2]=o,i=i+-1|0,i)r=o;else{s=11;break}}if((s|0)==7)W0(r);else if((s|0)==11)return}}function Tr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0;return t=U,U=U+16|0,n=t,r?(l=i+84|0,o=e[l>>2]|0,e[l>>2]=0,e[i+88>>2]=0,e[i+92>>2]=0,o|0&&Y(o),o=i+72|0,l=e[o>>2]|0,e[o>>2]=0,e[i+76>>2]=0,e[i+80>>2]=0,l|0&&Y(l),l=r+4|0,o=(e[l>>2]|0)-(e[r>>2]|0)>>2,j[n>>0]=0,Fe(i,o,n),o=r+24|0,A=r+28|0,u=(e[A>>2]|0)-(e[o>>2]|0)>>2,j[n>>0]=0,Fe(i+12|0,u,n),mr(i+28|0,(e[l>>2]|0)-(e[r>>2]|0)>>2,3764),Q2(i+52|0,(e[A>>2]|0)-(e[o>>2]|0)>>2),Q2(i+40|0,(e[A>>2]|0)-(e[o>>2]|0)>>2),e[i+64>>2]=r,j[i+24>>0]=1,f=1,U=t,f|0):(f=0,U=t,f|0)}function s3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=e[i+40>>2]|0,n=t,f=i+44|0,i=e[f>>2]|0,(i|0)!=(t|0)){for(l=n,o=t;(e[(e[o>>2]|0)+40>>2]|0)!=(r|0);)if(A=o+4|0,(i|0)==(A|0)){u=16;break}else l=A,o=A;if((u|0)!=16){if(o=t+(l-n>>2<<2)|0,n=o+4|0,(n|0)!=(i|0)){l=n,n=o;do t=e[l>>2]|0,e[l>>2]=0,r=e[n>>2]|0,e[n>>2]=t,r|0&&(de(r),Y(r)),l=l+4|0,n=n+4|0;while((l|0)!=(i|0));l=e[f>>2]|0,(l|0)==(n|0)?s=n:(_=n,h=l,u=10)}else _=o,h=i,u=10;if((u|0)==10){u=h;do u=u+-4|0,h=e[u>>2]|0,e[u>>2]=0,h|0&&(de(h),Y(h));while((u|0)!=(_|0));s=_}e[f>>2]=s}}}function o3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;return t=U,U=U+16|0,n=t,f=e[(e[i>>2]|0)+8>>2]|0,l=i+8|0,o=i+12|0,A=(e[o>>2]|0)-(e[l>>2]|0)>>2,u=e[r>>2]|0,e[r>>2]=0,e[n>>2]=u,o4[f&15](i,A,n),A=e[n>>2]|0,e[n>>2]=0,A?(n=A+88|0,i=e[n>>2]|0,e[n>>2]=0,i|0&&(n=e[i+8>>2]|0,n|0&&(e[i+12>>2]=n,Y(n)),Y(i)),i=e[A+68>>2]|0,i|0&&(e[A+72>>2]=i,Y(i)),i=A+64|0,n=e[i>>2]|0,e[i>>2]=0,n|0&&(i=e[n>>2]|0,i|0&&(e[n+4>>2]=i,Y(i)),Y(n)),Y(A),s=e[o>>2]|0,_=e[l>>2]|0,h=s-_|0,k=h>>2,b=k+-1|0,U=t,b|0):(s=e[o>>2]|0,_=e[l>>2]|0,h=s-_|0,k=h>>2,b=k+-1|0,U=t,b|0)}function He(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0;if(r=i+640|0,t=e[r>>2]|0,t|0){if(n=i+644|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do f=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[f+-8>>2]=A,Y(A));while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}if(l=i+628|0,t=e[l>>2]|0,t|0){if(n=i+632|0,r=e[n>>2]|0,(r|0)==(t|0))u=t;else{o=r;do r=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[r+-8>>2]=A,Y(A));while((o|0)!=(t|0));u=e[l>>2]|0}e[n>>2]=t,Y(u)}u=e[i+616>>2]|0,u|0&&(e[i+620>>2]=u,Y(u)),u=e[i+604>>2]|0,u|0&&(e[i+608>>2]=u,Y(u)),L2(i+584|0),L2(i+564|0),L2(i+544|0),ie(i+16|0)}function u3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(t=v0(72)|0,a6(t),n=t,(r|0)<0)return l2[e[(e[t>>2]|0)+4>>2]&127](t),f=0,f|0;t=i+8|0,l=i+12|0,i=e[l>>2]|0,o=e[t>>2]|0,A=i-o>>2;do if((A|0)<=(r|0)){if(u=r+1|0,s=i,u>>>0>A>>>0){N1(t,u-A|0);break}if(u>>>0<A>>>0){if(_=o+(u<<2)|0,(_|0)!=(s|0)){u=s;do u=u+-4|0,s=e[u>>2]|0,e[u>>2]=0,s|0&&l2[e[(e[s>>2]|0)+4>>2]&127](s);while((u|0)!=(_|0))}e[l>>2]=_}}while(0);return l=(e[t>>2]|0)+(r<<2)|0,r=e[l>>2]|0,e[l>>2]=n,r?(l2[e[(e[r>>2]|0)+4>>2]&127](r),f=1,f|0):(f=1,f|0)}function Ur(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;n=t+16|0,f=e[n>>2]|0,f?(l=f,o=5):$_(t)|0?A=0:(l=e[n>>2]|0,o=5);e:do if((o|0)==5){if(f=t+20|0,n=e[f>>2]|0,u=n,(l-n|0)>>>0<r>>>0){A=Ze[e[t+36>>2]&31](t,i,r)|0;break}i:do if((j[t+75>>0]|0)<0|(r|0)==0)s=0,_=i,h=r,k=u;else{for(n=r;b=n+-1|0,(j[i+b>>0]|0)!=10;)if(b)n=b;else{s=0,_=i,h=r,k=u;break i}if(b=Ze[e[t+36>>2]&31](t,i,n)|0,b>>>0<n>>>0){A=b;break e}s=n,_=i+n|0,h=r-n|0,k=e[f>>2]|0}while(0);S0(k|0,_|0,h|0)|0,e[f>>2]=(e[f>>2]|0)+h,A=s+h|0}while(0);return A|0}function _3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0;if(t=i+60|0,n=e[t>>2]|0,!n||(e[n+4>>2]=i+48,!(K0[e[(e[n>>2]|0)+12>>2]&127](n)|0)))return f=0,f|0;n=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0;e:do if((n|0)>0){for(l=0;;){if(o=(K0[e[(e[i>>2]|0)+28>>2]&127](i)|0)+4|0,A=e[o>>2]|0,o=_2[e[(e[i>>2]|0)+20>>2]&127](i,l)|0,u=e[t>>2]|0,l=l+1|0,!(_2[e[(e[u>>2]|0)+8>>2]&127](u,e[(e[A+8>>2]|0)+(o<<2)>>2]|0)|0)){f=0;break}if((l|0)>=(n|0))break e}return f|0}while(0);return!(_2[e[(e[i>>2]|0)+36>>2]&127](i,r)|0)||!(_2[e[(e[i>>2]|0)+40>>2]&127](i,r)|0)?(f=0,f|0):(f=K0[e[(e[i>>2]|0)+44>>2]&127](i)|0,f|0)}function k3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;return i=U,U=U+32|0,n=i+12|0,f=i,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,Yr(r,f,n)|0,r=n+11|0,l=j[r>>0]|0,o=l<<24>>24<0?e[n>>2]|0:n,(j[f+11>>0]|0)<0?(Y(e[f>>2]|0),h=j[r>>0]|0):h=l,h<<24>>24>=0?(U=i,o|0):(Y(e[n>>2]|0),U=i,o|0)}function h3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;t=v0(88)|0,n=t+60|0,f=t,l=f+60|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(l|0));e[n>>2]=t,n=t+64|0,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,e[n+12>>2]=0,e[n+16>>2]=0,e[n+20>>2]=0,n=Bu(t,r)|0,r=n?0:t,e[i>>2]=n?t:0,!n&&(i=e[r+76>>2]|0,i|0&&(e[r+80>>2]=i,Y(i)),i=e[r+64>>2]|0,i|0&&(e[r+68>>2]=i,Y(i)),i=e[r+48>>2]|0,i|0&&(e[r+52>>2]=i,Y(i)),i=e[r+24>>2]|0,i|0&&(e[r+28>>2]=i,Y(i)),i=e[r+12>>2]|0,i|0&&(e[r+16>>2]=i,Y(i)),i=e[r>>2]|0,i|0&&(e[r+4>>2]=i,Y(i)),Y(n?0:t))}function b3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;if(t=i+4|0,(K0[e[(e[r>>2]|0)+20>>2]&127](r)|0)<=0)return n=1,n|0;for(i=0;;){if(f=e[(e[t>>2]|0)+4>>2]|0,l=vf(f,_2[e[(e[r>>2]|0)+24>>2]&127](r,i)|0)|0,(l|0)==-1){n=0,o=9;break}if(f=e[t>>2]|0,((J[f+36>>0]|0)<<8&65535)<512){if(!(_2[e[(e[r>>2]|0)+28>>2]&127](r,e[(e[(e[f+4>>2]|0)+8>>2]|0)+(l<<2)>>2]|0)|0)){n=0,o=9;break}}else{if(A=S_(f,l)|0,!A){n=0,o=9;break}if(!(_2[e[(e[r>>2]|0)+28>>2]&127](r,A)|0)){n=0,o=9;break}}if(i=i+1|0,(i|0)>=(K0[e[(e[r>>2]|0)+20>>2]&127](r)|0)){n=1,o=9;break}}return(o|0)==9?n|0:0}function p3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0,p=0,w=0;if(n=(e[r+4>>2]|0)-(e[r>>2]|0)|0,r=n>>2,f=i+8|0,i=e[(e[f>>2]|0)+40>>2]|0,l=B2((i|0)>-1?i:-1)|0,o=t+8|0,(n|0)<=0)return A=1,i2(l),A|0;for(n=t+16|0,u=0,s=0;;){if(_=o,h=e[_>>2]|0,k=e[_+4>>2]|0,_=n,b=e[_>>2]|0,p=i0(b|0,e[_+4>>2]|0,i|0,0)|0,_=H,(k|0)<(_|0)|(k|0)==(_|0)&h>>>0<p>>>0){A=0,w=5;break}if(S0(l|0,(e[t>>2]|0)+b|0,i|0)|0,b=n,e[b>>2]=p,e[b+4>>2]=_,S0((e[e[(e[f>>2]|0)+64>>2]>>2]|0)+u|0,l|0,i|0)|0,s=s+1|0,(s|0)>=(r|0)){A=1,w=5;break}else u=u+i|0}return(w|0)==5?(i2(l),A|0):0}function Fr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(t=i+216|0,n=i+220|0,f=e[t>>2]|0,(e[n>>2]|0)==(f|0))return 0;l=i+4|0,i=0,o=f;e:for(;;){if(f=e[o+(i*144|0)>>2]|0,(f|0)>=0&&(A=e[l>>2]|0,u=e[A+8>>2]|0,(f|0)<((e[A+12>>2]|0)-u>>2|0))&&(A=e[u+(f<<2)>>2]|0,(K0[e[(e[A>>2]|0)+24>>2]&127](A)|0)>0)){f=0;do{if((_2[e[(e[A>>2]|0)+20>>2]&127](A,f)|0)==(r|0)){s=9;break e}f=f+1|0}while((f|0)<(K0[e[(e[A>>2]|0)+24>>2]&127](A)|0))}if(A=i+1|0,o=e[t>>2]|0,A>>>0>=(((e[n>>2]|0)-o|0)/144|0)>>>0){s=11;break}else i=A}return(s|0)==9?(o=e[t>>2]|0,((j[o+(i*144|0)+100>>0]|0)==0?0:o+(i*144|0)+4|0)|0):((s|0)==11,0)}function w3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=e[l+4>>2]|0,l=i0(o|0,A|0,4,0)|0,u=H,(f|0)<(u|0)|(f|0)==(u|0)&n>>>0<l>>>0||(_=(e[r>>2]|0)+o|0,r=J[_>>0]|J[_+1>>0]<<8|J[_+2>>0]<<16|J[_+3>>0]<<24,_=t,e[_>>2]=l,e[_+4>>2]=u,u=i0(o|0,A|0,8,0)|0,A=H,(f|0)<(A|0)|(f|0)==(A|0)&n>>>0<u>>>0)||(n=t,e[n>>2]=u,e[n+4>>2]=A,!(r&1))||(A=(N2(r|0)|0)^31,(A+-1|0)>>>0>28)?(s=0,s|0):(e[i+8>>2]=A+1,r=2<<A,e[i+12>>2]=r+-1,A=r+-2|0,e[i+16>>2]=A,e[i+20>>2]=(A|0)/2|0,s=1,s|0)}function $t(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0;if(r>>>0<64){if(r=e[i+12>>2]|0,r>>>0<=1)return f=0,f|0;for(n=e[t>>2]|0,t=0,l=1;;)if(o=(e[n+(t<<2)>>2]|0)>>>0>(e[n+(l<<2)>>2]|0)>>>0?l:t,l=l+1|0,l>>>0>=r>>>0){f=o;break}else t=o;return f|0}return t=i+580|0,r=e[t>>2]|0,l=32-r|0,n=i+576|0,(l|0)<4?(o=e[n>>2]|0,A=o+4|0,(A|0)==(e[i+568>>2]|0)?(f=0,f|0):(u=e[o>>2]<<r,o=4-l|0,e[t>>2]=o,e[n>>2]=A,s=32-o|0,f=(e[A>>2]|0)>>>s|u>>>(s-l|0),f|0)):(l=e[n>>2]|0,(l|0)==(e[i+568>>2]|0)?(f=0,f|0):(i=e[l>>2]<<r>>>28,s=r+4|0,e[t>>2]=s,(s|0)!=32?(f=i,f|0):(e[n>>2]=l+4,e[t>>2]=0,f=i,f|0)))}function Er(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;t=i+216|0,n=i+220|0,f=e[t>>2]|0;e:do if((e[n>>2]|0)!=(f|0)){l=i+4|0,o=0,A=f;i:for(;;){if(u=e[A+(o*144|0)>>2]|0,(u|0)>=0&&(s=e[l>>2]|0,_=e[s+8>>2]|0,(u|0)<((e[s+12>>2]|0)-_>>2|0))&&(s=e[_+(u<<2)>>2]|0,(K0[e[(e[s>>2]|0)+24>>2]&127](s)|0)>0)){u=0;do{if((_2[e[(e[s>>2]|0)+20>>2]&127](s,u)|0)==(r|0))break i;u=u+1|0}while((u|0)<(K0[e[(e[s>>2]|0)+24>>2]&127](s)|0))}if(s=o+1|0,A=e[t>>2]|0,s>>>0>=(((e[n>>2]|0)-A|0)/144|0)>>>0)break e;o=s}return h=(e[t>>2]|0)+(o*144|0)+104|0,h|0}while(0);return h=i+184|0,h|0}function xe(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(t=U,U=U+32|0,n=t+16|0,f=t+8|0,l=t,o=i+8|0,e[o>>2]<<5>>>0>=r>>>0){U=t;return}e[n>>2]=0,A=n+4|0,e[A>>2]=0,u=n+8|0,e[u>>2]=0,(r|0)<0&&W0(n),s=((r+-1|0)>>>5)+1|0,r=v0(s<<2)|0,e[n>>2]=r,e[A>>2]=0,e[u>>2]=s,s=e[i>>2]|0,e[f>>2]=s,e[f+4>>2]=0,r=i+4|0,_=e[r>>2]|0,e[l>>2]=s+(_>>>5<<2),e[l+4>>2]=_&31,Fu(n,f,l),l=e[i>>2]|0,e[i>>2]=e[n>>2],e[n>>2]=l,n=e[r>>2]|0,e[r>>2]=e[A>>2],e[A>>2]=n,n=e[o>>2]|0,e[o>>2]=e[u>>2],e[u>>2]=n,l|0&&Y(l),U=t}function d3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;r=U,U=U+16|0,n=r;do if(((J[(e[i+4>>2]|0)+36>>0]|0)<<8&65535)>511)if(f=t+8|0,l=e[f+4>>2]|0,o=t+16|0,A=o,u=e[A>>2]|0,s=e[A+4>>2]|0,(l|0)>(s|0)|((l|0)==(s|0)?(e[f>>2]|0)>>>0>u>>>0:0)){f=j[(e[t>>2]|0)+u>>0]|0,l=i0(u|0,s|0,1,0)|0,s=o,e[s>>2]=l,e[s+4>>2]=H,s=f&255,e[i+24>>2]=s,_=s;break}else return h=0,U=r,h|0;else _=e[i+24>>2]|0;while(0);return e[n>>2]=1200,e[n+4>>2]=-1,Jh(n,_),h=Sr(n,e[i+16>>2]|0)|0,U=r,h|0}function m3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;if(t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=n-f>>2,o=n,l>>>0<r>>>0){ru(i,r-l|0);return}if(!(l>>>0<=r>>>0)){if(l=f+(r<<2)|0,(l|0)!=(o|0)){r=o;do r=r+-4|0,o=e[r>>2]|0,e[r>>2]=0,o|0&&(f=o+88|0,i=e[f>>2]|0,e[f>>2]=0,i|0&&(f=e[i+8>>2]|0,f|0&&(e[i+12>>2]=f,Y(f)),Y(i)),i=e[o+68>>2]|0,i|0&&(e[o+72>>2]=i,Y(i)),i=o+64|0,f=e[i>>2]|0,e[i>>2]=0,f|0&&(i=e[f>>2]|0,i|0&&(e[f+4>>2]=i,Y(i)),Y(f)),Y(o));while((r|0)!=(l|0))}e[t>>2]=l}}function wi(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;t=i+4|0,n=e[i>>2]|0,f=(e[t>>2]|0)-n|0,l=(f|0)/12|0,o=l+1|0,o>>>0>357913941&&W0(i),A=i+8|0,u=((e[A>>2]|0)-n|0)/12|0,s=u<<1,_=u>>>0<178956970?s>>>0<o>>>0?o:s:357913941;do if(_)if(_>>>0>357913941)s=T2(8)|0,F2(s,13552),e[s>>2]=4908,U2(s|0,1128,105);else{h=v0(_*12|0)|0;break}else h=0;while(0);s=h+(l*12|0)|0,e[s>>2]=e[r>>2],e[s+4>>2]=e[r+4>>2],e[s+8>>2]=e[r+8>>2],r=s+(((f|0)/-12|0)*12|0)|0,(f|0)>0&&S0(r|0,n|0,f|0)|0,e[i>>2]=r,e[t>>2]=s+12,e[A>>2]=h+(_*12|0),n&&Y(n)}function v3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0;return t=U,U=U+16|0,n=t,f=pr(i,n,r)|0,l=e[f>>2]|0,l|0?(o=l,A=o+28|0,U=t,A|0):(l=v0(40)|0,c2(l+16|0,r),r=l+28|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,r=e[n>>2]|0,e[l>>2]=0,e[l+4>>2]=0,e[l+8>>2]=r,e[f>>2]=l,r=e[e[i>>2]>>2]|0,r?(e[i>>2]=r,u=e[f>>2]|0):u=l,br(e[i+4>>2]|0,u),u=i+8|0,e[u>>2]=(e[u>>2]|0)+1,o=l,A=o+28|0,U=t,A|0)}function zi(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=3776,r=e[i+68>>2]|0,r|0&&(e[i+72>>2]=r,Y(r)),r=e[i+56>>2]|0,r|0&&(e[i+60>>2]=r,Y(r)),r=e[i+44>>2]|0,r|0&&(e[i+48>>2]=r,Y(r)),r=e[i+32>>2]|0,r|0&&(e[i+36>>2]=r,Y(r)),r=e[i+20>>2]|0,r|0&&(e[i+24>>2]=r,Y(r)),Wr(i+8|0),r=i+4|0,i=e[r>>2]|0,e[r>>2]=0,!!i){if(r=i+40|0,t=e[r>>2]|0,t|0){if(n=i+44|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do o=o+-4|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&(de(f),Y(f));while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}de(i),Y(i)}}function y3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;t=U,U=U+112|0,n=t+96|0,f=t+16|0,l=t+4|0,o=t,A=f+76|0,u=f,s=u+76|0;do e[u>>2]=0,u=u+4|0;while((u|0)<(s|0));return e[A>>2]=-1,e[l>>2]=0,A=l+4|0,e[A>>2]=0,e[l+8>>2]=0,e[o>>2]=l,e[n>>2]=e[o>>2],Ao(f,i,n)|0?(n=e[l>>2]|0,ti(r,n,n+((e[A>>2]|0)-n>>2<<2)|0),_=e[f+68>>2]|0):_=0,n=e[l>>2]|0,n?(e[A>>2]=n,Y(n),tf(f),U=t,_|0):(tf(f),U=t,_|0)}function c3(i,r,t,n,f,l,o,A){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0,A=A|0;var u=0,s=0,_=0,h=0,k=0,b=0;u=U,U=U+16|0,s=u,(-18-r|0)>>>0<t>>>0&&W0(i),(j[i+11>>0]|0)<0?_=e[i>>2]|0:_=i,r>>>0<2147483623?(h=t+r|0,t=r<<1,k=h>>>0<t>>>0?t:h,b=k>>>0<11?11:k+16&-16):b=-17,k=v0(b)|0,f|0&&Ke(k,_,f)|0,o|0&&Ke(k+f|0,A,o)|0,A=n-l|0,n=A-f|0,n|0&&Ke(k+f+o|0,_+f+l|0,n)|0,(r|0)!=10&&Y(_),e[i>>2]=k,e[i+8>>2]=b|-2147483648,b=A+o|0,e[i+4>>2]=b,j[s>>0]=0,Li(k+b|0,s),U=u}function gt(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(r=i+12|0,t=e[r>>2]|0,e[r>>2]=0,t|0){if(r=e[t+28>>2]|0,r|0){n=r;do r=n,n=e[n>>2]|0,gt(r+8|0),Y(r);while((n|0)!=0)}if(n=t+20|0,r=e[n>>2]|0,e[n>>2]=0,r|0&&Y(r),r=e[t+8>>2]|0,r|0){n=r;do r=n,n=e[n>>2]|0,f=r+8|0,l=e[r+20>>2]|0,l|0&&(e[r+24>>2]=l,Y(l)),(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),Y(r);while((n|0)!=0)}n=e[t>>2]|0,e[t>>2]=0,n|0&&Y(n),Y(t)}(j[i+11>>0]|0)>=0||Y(e[i>>2]|0)}function u2(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(t=i+8|0,n=e[t>>2]|0,f=i+4|0,l=e[f>>2]|0,n-l>>2>>>0>=r>>>0){E0(l|0,0,r<<2|0)|0,e[f>>2]=l+(r<<2);return}o=e[i>>2]|0,A=l-o|0,l=A>>2,u=l+r|0,u>>>0>1073741823&&W0(i),s=n-o|0,n=s>>1,_=s>>2>>>0<536870911?n>>>0<u>>>0?u:n:1073741823;do if(_)if(_>>>0>1073741823)n=T2(8)|0,F2(n,13552),e[n>>2]=4908,U2(n|0,1128,105);else{n=v0(_<<2)|0,h=n,k=n;break}else h=0,k=0;while(0);n=h+(l<<2)|0,E0(n|0,0,r<<2|0)|0,(A|0)>0&&S0(k|0,o|0,A|0)|0,e[i>>2]=h,e[f>>2]=n+(r<<2),e[t>>2]=h+(_<<2),o&&Y(o)}function R3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0;return i=U,U=U+16|0,n=i,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,f=Ee(t)|0,f>>>0>4294967279&&W0(n),f>>>0<11?(j[n+11>>0]=f,f?(o=n,A=6):l=n):(u=f+16&-16,s=v0(u)|0,e[n>>2]=s,e[n+8>>2]=u|-2147483648,e[n+4>>2]=f,o=s,A=6),(A|0)==6&&(S0(o|0,t|0,f|0)|0,l=o),j[l+f>>0]=0,f=(c1(r,n)|0)!=0,(j[n+11>>0]|0)>=0?(U=i,f|0):(Y(e[n>>2]|0),U=i,f|0)}function G3(i){i=i|0;var r=0,t=0,n=0;e[i>>2]=3456,r=i+84|0,t=i+4|0,n=t+80|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+88>>2]=-1,e[i+92>>2]=-1,r=i+152|0,t=i+96|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=1065353216,r=i+212|0,t=i+156|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+216>>2]=0,e[i+220>>2]=0,e[i+224>>2]=0,Lr(i+232|0),r=i+380|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[i+400>>2]=-1,e[i+404>>2]=-1,e[i+408>>2]=2,e[i+412>>2]=7,r=i+416|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0}function V3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return i=U,U=U+32|0,n=i+12|0,f=i,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,l=Yr(r,f,n)|0,(j[f+11>>0]|0)<0&&Y(e[f>>2]|0),(j[n+11>>0]|0)>=0?(U=i,l|0):(Y(e[n>>2]|0),U=i,l|0)}function j3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;for(n=U,U=U+16|0,f=n,l=r+11|0,o=j[l>>0]|0,o<<24>>24<0?A=e[r+4>>2]|0:A=o&255,u=A,A=o;;){if(A<<24>>24<0?s=e[r>>2]|0:s=r,e[f>>2]=t,_=fk(s,u+1|0,16046,f)|0,(_|0)>-1)if(_>>>0>u>>>0)h=_;else break;else h=u<<1|1;Si(r,h,0),u=h,A=j[l>>0]|0}for(Si(r,_,0),e[i>>2]=e[r>>2],e[i+4>>2]=e[r+4>>2],e[i+8>>2]=e[r+8>>2],i=0;(i|0)!=3;)e[r+(i<<2)>>2]=0,i=i+1|0;U=n}function ef(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0;if(r=i+140|0,t=e[r>>2]|0,(t|0)<=0)return n=1,n|0;f=t<<4,l=B2(t>>>0>268435455|f>>>0>4294967291?-1:f+4|0)|0,e[l>>2]=t,f=l+4|0,l=f+(t<<4)|0,t=f;do n2(t),t=t+16|0;while((t|0)!=(l|0));if(l=i+136|0,t=e[l>>2]|0,e[l>>2]=f,t|0){if(f=t+-4|0,o=e[f>>2]|0,o|0){A=t+(o<<4)|0;do A=A+-16|0;while((A|0)!=(t|0))}i2(f)}if((e[r>>2]|0)<=0)return n=1,n|0;for(f=0;;){if(!(f2((e[l>>2]|0)+(f<<4)|0,i)|0)){n=0,u=13;break}if(f=f+1|0,(f|0)>=(e[r>>2]|0)){n=1,u=13;break}}return(u|0)==13?n|0:0}function Ir(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;if(t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=n-f|0,o=f,l>>>0>=r>>>0){if(l>>>0<=r>>>0)return;e[t>>2]=o+r;return}if(A=r-l|0,u=i+8|0,s=e[u>>2]|0,(s-n|0)>>>0>=A>>>0){_=A,h=n;do j[h>>0]=0,h=(e[t>>2]|0)+1|0,e[t>>2]=h,_=_+-1|0;while((_|0)!=0);return}(r|0)<0&&W0(i),_=s-f|0,s=_<<1,h=_>>>0<1073741823?s>>>0<r>>>0?r:s:2147483647,h?k=v0(h)|0:k=0,E0(k+l|0,0,A|0)|0,(l|0)>0&&S0(k|0,o|0,l|0)|0,e[i>>2]=k,e[t>>2]=k+r,e[u>>2]=k+h,f&&Y(o)}function rf(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=c1(i,r)|0,!n||(r=e[n+20>>2]|0,((e[n+24>>2]|0)-r|0)!=8)?(f=0,f|0):(n=r,r=n,i=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,r=n+4|0,n=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,r=t,t=r,j[t>>0]=i,j[t+1>>0]=i>>8,j[t+2>>0]=i>>16,j[t+3>>0]=i>>24,i=r+4|0,j[i>>0]=n,j[i+1>>0]=n>>8,j[i+2>>0]=n>>16,j[i+3>>0]=n>>24,f=1,f|0)}function N3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;do if(i){if(r>>>0<128){j[i>>0]=r,n=1;break}if(t=(Kf()|0)+188|0,!(e[e[t>>2]>>2]|0))if((r&-128|0)==57216){j[i>>0]=r,n=1;break}else{t=Gi()|0,e[t>>2]=84,n=-1;break}if(r>>>0<2048){j[i>>0]=r>>>6|192,j[i+1>>0]=r&63|128,n=2;break}if(r>>>0<55296|(r&-8192|0)==57344){j[i>>0]=r>>>12|224,j[i+1>>0]=r>>>6&63|128,j[i+2>>0]=r&63|128,n=3;break}if((r+-65536|0)>>>0<1048576){j[i>>0]=r>>>18|240,j[i+1>>0]=r>>>12&63|128,j[i+2>>0]=r>>>6&63|128,j[i+3>>0]=r&63|128,n=4;break}else{t=Gi()|0,e[t>>2]=84,n=-1;break}}else n=1;while(0);return n|0}function L0(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0;t=i+4|0,n=e[i>>2]|0,f=(e[t>>2]|0)-n|0,l=f>>2,o=l+1|0,o>>>0>1073741823&&W0(i),A=i+8|0,u=(e[A>>2]|0)-n|0,s=u>>1,_=u>>2>>>0<536870911?s>>>0<o>>>0?o:s:1073741823;do if(_)if(_>>>0>1073741823)s=T2(8)|0,F2(s,13552),e[s>>2]=4908,U2(s|0,1128,105);else{s=v0(_<<2)|0,h=s,k=s;break}else h=0,k=0;while(0);s=h+(l<<2)|0,e[s>>2]=e[r>>2],(f|0)>0&&S0(k|0,n|0,f|0)|0,e[i>>2]=h,e[t>>2]=s+4,e[A>>2]=h+(_<<2),n&&Y(n)}function Zr(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(r=e[i+4>>2]|0,t=i+8|0,n=e[t>>2]|0,(n|0)!=(r|0)){f=n;do n=f+-4|0,e[t>>2]=n,l=e[n>>2]|0,e[n>>2]=0,l|0&&(n=l+88|0,o=e[n>>2]|0,e[n>>2]=0,o|0&&(n=e[o+8>>2]|0,n|0&&(e[o+12>>2]=n,Y(n)),Y(o)),o=e[l+68>>2]|0,o|0&&(e[l+72>>2]=o,Y(o)),o=l+64|0,n=e[o>>2]|0,e[o>>2]=0,n|0&&(o=e[n>>2]|0,o|0&&(e[n+4>>2]=o,Y(o)),Y(n)),Y(l)),f=e[t>>2]|0;while((f|0)!=(r|0))}r=e[i>>2]|0,r&&Y(r)}function Wr(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0;if(r=e[i>>2]|0,!!r){if(t=i+4|0,n=e[t>>2]|0,(n|0)==(r|0))f=r;else{l=n;do l=l+-4|0,n=e[l>>2]|0,e[l>>2]=0,n|0&&(o=n+88|0,A=e[o>>2]|0,e[o>>2]=0,A|0&&(o=e[A+8>>2]|0,o|0&&(e[A+12>>2]=o,Y(o)),Y(A)),A=e[n+68>>2]|0,A|0&&(e[n+72>>2]=A,Y(A)),A=n+64|0,o=e[A>>2]|0,e[A>>2]=0,o|0&&(A=e[o>>2]|0,A|0&&(e[o+4>>2]=A,Y(A)),Y(o)),Y(n));while((l|0)!=(r|0));f=e[i>>2]|0}e[t>>2]=r,Y(f)}}function T3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;return i=U,U=U+32|0,n=i,f=i+8|0,D2[n>>3]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,rf(r,f,n)|0,h=+D2[n>>3],(j[f+11>>0]|0)>=0?(U=i,+h):(Y(e[f>>2]|0),U=i,+h)}function U3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;return t=U,U=U+32|0,r=t,(J[(e[i+4>>2]|0)+36>>0]<<8&65535)>511&&!(K0[e[(e[i>>2]|0)+52>>2]&127](i)|0)?(n=0,U=t,n|0):(e[r>>2]=1228,e[r+4>>2]=-1,f=r+8|0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,e[f+12>>2]=0,bf(r,e[i+24>>2]|0,e[i+28>>2]|0,j[(e[i+8>>2]|0)+24>>0]|0,o0(q0[i+32>>2])),l=Sr(r,e[i+16>>2]|0)|0,e[r>>2]=1228,i=e[f>>2]|0,i|0&&(e[r+12>>2]=i,Y(i)),n=l,U=t,n|0)}function F3(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;f=U,U=U+128|0,l=f+124|0,o=f,A=o,u=4048,s=A+124|0;do e[A>>2]=e[u>>2],A=A+4|0,u=u+4|0;while((A|0)<(s|0));return(r+-1|0)>>>0>2147483646?r?(l=Gi()|0,e[l>>2]=75,b=-1):(_=l,h=1,k=4):(_=i,h=r,k=4),(k|0)==4&&(k=-2-_|0,r=h>>>0>k>>>0?k:h,e[o+48>>2]=r,h=o+20|0,e[h>>2]=_,e[o+44>>2]=_,k=_+r|0,_=o+16|0,e[_>>2]=k,e[o+28>>2]=k,k=It(o,t,n)|0,r&&(r=e[h>>2]|0,j[r+(((r|0)==(e[_>>2]|0))<<31>>31)>>0]=0),b=k),U=f,b|0}function E3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(t=i+8|0,n=e[i>>2]|0,f=n,!((((e[t>>2]|0)-n|0)/12|0)>>>0>=r>>>0)){if(l=i+4|0,r>>>0>357913941&&(o=T2(8)|0,F2(o,13552),e[o>>2]=4908,U2(o|0,1128,105)),o=e[l>>2]|0,A=v0(r*12|0)|0,u=A+(((o-n|0)/12|0)*12|0)|0,s=u,_=A+(r*12|0)|0,r=o,(r|0)==(f|0))h=s;else{o=r,r=u;do u=r,r=r+-12|0,A=o,o=o+-12|0,e[r>>2]=e[o>>2],e[u+-8>>2]=e[A+-8>>2],e[u+-4>>2]=e[A+-4>>2];while((o|0)!=(f|0));h=r}e[i>>2]=h,e[l>>2]=s,e[t>>2]=_,n&&Y(n)}}function I3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return i=U,U=U+16|0,n=i+12|0,f=i,e[n>>2]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,nf(r,f,n)|0,r=e[n>>2]|0,(j[f+11>>0]|0)>=0?(U=i,r|0):(Y(e[f>>2]|0),U=i,r|0)}function Z3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=1416,r=i+60|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),t=e[i+48>>2]|0,t|0&&(e[i+52>>2]=t,Y(t)),t=i+36|0,r=e[t>>2]|0,r|0){if(n=i+40|0,f=e[n>>2]|0,(f|0)==(r|0))l=r;else{o=f;do o=o+-4|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&l2[e[(e[f>>2]|0)+4>>2]&127](f);while((o|0)!=(r|0));l=e[t>>2]|0}e[n>>2]=r,Y(l)}if(e[i>>2]=1256,l=e[i+16>>2]|0,l|0&&(e[i+20>>2]=l,Y(l)),l=e[i+4>>2]|0,!l){Y(i);return}e[i+8>>2]=l,Y(l),Y(i)}function W3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return i=U,U=U+32|0,n=i,f=i+8|0,D2[n>>3]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,l=rf(r,f,n)|0,(j[f+11>>0]|0)>=0?(U=i,l|0):(Y(e[f>>2]|0),U=i,l|0)}function Dr(i){i=i|0;var r=0,t=0,n=0,f=0;if(r=e[i>>2]|0,e[i>>2]=0,!!r){if(i=e[r+28>>2]|0,i|0){t=i;do i=t,t=e[t>>2]|0,n=i+8|0,Dr(i+20|0),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),Y(i);while((t|0)!=0)}if(t=r+20|0,i=e[t>>2]|0,e[t>>2]=0,i|0&&Y(i),i=e[r+8>>2]|0,i|0){t=i;do i=t,t=e[t>>2]|0,n=i+8|0,f=e[i+20>>2]|0,f|0&&(e[i+24>>2]=f,Y(f)),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),Y(i);while((t|0)!=0)}t=e[r>>2]|0,e[r>>2]=0,t|0&&Y(t),Y(r)}}function D3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return i=U,U=U+16|0,n=i+12|0,f=i,e[n>>2]=0,e[f>>2]=0,e[f+4>>2]=0,e[f+8>>2]=0,l=Ee(t)|0,l>>>0>4294967279&&W0(f),l>>>0<11?(j[f+11>>0]=l,l?(A=f,u=6):o=f):(s=l+16&-16,_=v0(s)|0,e[f>>2]=_,e[f+8>>2]=s|-2147483648,e[f+4>>2]=l,A=_,u=6),(u|0)==6&&(S0(A|0,t|0,l|0)|0,o=A),j[o+l>>0]=0,l=nf(r,f,n)|0,(j[f+11>>0]|0)>=0?(U=i,l|0):(Y(e[f>>2]|0),U=i,l|0)}function Br(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;if(t=i+4|0,n=e[t>>2]|0,f=e[i>>2]|0,l=(n-f|0)/144|0,o=n,l>>>0<r>>>0){Yo(i,r-l|0);return}if(!(l>>>0<=r>>>0)){if(l=f+(r*144|0)|0,(l|0)!=(o|0)){r=o;do o=e[r+-12>>2]|0,o|0&&(e[r+-8>>2]=o,Y(o)),o=e[r+-28>>2]|0,o|0&&(e[r+-24>>2]=o,Y(o)),o=e[r+-40>>2]|0,o|0&&(e[r+-36>>2]=o,Y(o)),Xi(r+-140|0),r=r+-144|0;while((r|0)!=(l|0))}e[t>>2]=l}}function B3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(r=i+8|0,t=e[r>>2]|0,(t|0)<0)return n=0,n|0;if(f=i+4|0,i=e[f>>2]|0,l=i+4|0,o=e[i>>2]|0,A=(e[l>>2]|0)-o>>2,t>>>0<=A>>>0?(t>>>0<A>>>0&&(e[l>>2]=o+(t<<2)),u=t):(u2(i,t-A|0),u=e[r>>2]|0),(u|0)<=0)return n=1,n|0;for(r=e[f>>2]|0,f=e[r>>2]|0,A=(e[r+4>>2]|0)-f>>2,t=f,f=0;;){if(A>>>0<=f>>>0){s=9;break}if(e[t+(f<<2)>>2]=f,f=f+1|0,(f|0)>=(u|0)){n=1,s=11;break}}if((s|0)==9)W0(r);else if((s|0)==11)return n|0;return 0}function M3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=1416,r=i+60|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),t=e[i+48>>2]|0,t|0&&(e[i+52>>2]=t,Y(t)),t=i+36|0,r=e[t>>2]|0,r|0){if(n=i+40|0,f=e[n>>2]|0,(f|0)==(r|0))l=r;else{o=f;do o=o+-4|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&l2[e[(e[f>>2]|0)+4>>2]&127](f);while((o|0)!=(r|0));l=e[t>>2]|0}e[n>>2]=r,Y(l)}e[i>>2]=1256,l=e[i+16>>2]|0,l|0&&(e[i+20>>2]=l,Y(l)),l=e[i+4>>2]|0,l&&(e[i+8>>2]=l,Y(l))}function qe(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(t=r+8|0,n=e[t+4>>2]|0,f=r+16|0,l=f,o=e[l>>2]|0,A=e[l+4>>2]|0,!((n|0)>(A|0)|((n|0)==(A|0)?(e[t>>2]|0)>>>0>o>>>0:0)))return u=0,u|0;t=j[(e[r>>2]|0)+o>>0]|0,n=i0(o|0,A|0,1,0)|0,A=f,e[A>>2]=n,e[A+4>>2]=H;do if(t<<24>>24<0)if(qe(i,r)|0){A=i,n=_1(e[A>>2]|0,e[A+4>>2]|0,7)|0,A=H,f=i,e[f>>2]=n,e[f+4>>2]=A,s=n|t&127,_=A;break}else return u=0,u|0;else s=t&255,_=0;while(0);return t=i,e[t>>2]=s,e[t+4>>2]=_,u=1,u|0}function Y3(i){i=i|0;var r=0,t=0,n=0;e[i>>2]=3408,r=i+84|0,t=i+4|0,n=t+80|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+88>>2]=-1,e[i+92>>2]=-1,r=i+152|0,t=i+96|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=1065353216,r=i+212|0,t=i+156|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+216>>2]=0,e[i+220>>2]=0,e[i+224>>2]=0,Lr(i+232|0),r=i+380|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,n2(i+400|0),e[i+416>>2]=-1,e[i+420>>2]=-1}function C3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0;do if(((J[(e[i+4>>2]|0)+36>>0]|0)<<8&65535)<512)if(n=t+8|0,f=e[n+4>>2]|0,l=t+16|0,o=l,A=e[o>>2]|0,u=e[o+4>>2]|0,(f|0)>(u|0)|((f|0)==(u|0)?(e[n>>2]|0)>>>0>A>>>0:0)){n=j[(e[t>>2]|0)+A>>0]|0,f=i0(A|0,u|0,1,0)|0,u=l,e[u>>2]=f,e[u+4>>2]=H,e[i+24>>2]=n&255;break}else return s=0,s|0;while(0);return s=Nr(i,r,t)|0,s|0}function z3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;return n=U,U=U+16|0,f=n,r|0&&(l=i+11|0,o=j[l>>0]|0,o<<24>>24<0?(A=e[i+4>>2]|0,u=(e[i+8>>2]&2147483647)+-1|0):(A=o&255,u=10),(u-A|0)>>>0<r>>>0?(q3(i,u,A+r-u|0,A,A,0,0),s=j[l>>0]|0):s=o,s<<24>>24<0?_=e[i>>2]|0:_=i,Tk(_+A|0,r,t)|0,t=A+r|0,(j[l>>0]|0)<0?e[i+4>>2]=t:j[l>>0]=t,j[f>>0]=0,Li(_+t|0,f)),U=n,i|0}function de(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(r=e[i+28>>2]|0,r|0){t=r;do r=t,t=e[t>>2]|0,n=r+8|0,f=r+20|0,l=e[f>>2]|0,e[f>>2]=0,l|0&&(de(l),Y(l)),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),Y(r);while((t|0)!=0)}if(t=i+20|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&Y(r),r=e[i+8>>2]|0,r|0){t=r;do r=t,t=e[t>>2]|0,n=r+8|0,l=e[r+20>>2]|0,l|0&&(e[r+24>>2]=l,Y(l)),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),Y(r);while((t|0)!=0)}t=e[i>>2]|0,e[i>>2]=0,t&&Y(t)}function Q3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0;n=U,U=U+16|0,f=n,l=i+11|0,o=j[l>>0]|0,A=o<<24>>24<0,A?u=(e[i+8>>2]&2147483647)+-1|0:u=10;do if(u>>>0>=t>>>0)if(A?s=e[i>>2]|0:s=i,ph(s,r,t)|0,j[f>>0]=0,Li(s+t|0,f),(j[l>>0]|0)<0){e[i+4>>2]=t;break}else{j[l>>0]=t;break}else A?_=e[i+4>>2]|0:_=o&255,c3(i,u,t-u|0,_,0,_,t,r);while(0);return U=n,i|0}function J3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0;if(r=e[i+196>>2]|0,r|0&&(e[i+200>>2]=r,Y(r)),r=i+184|0,t=e[r>>2]|0,t|0){if(n=i+188|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do f=o,o=o+-12|0,A=e[o>>2]|0,A|0&&(e[f+-8>>2]=A,Y(A));while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}if(l=e[i+156>>2]|0,l|0&&(e[i+160>>2]=l,Y(l)),l=i+136|0,i=e[l>>2]|0,e[l>>2]=0,!!i){if(l=i+-4|0,t=e[l>>2]|0,t|0){n=i+(t<<4)|0;do n=n+-16|0;while((n|0)!=(i|0))}i2(l)}}function tf(i){i=i|0;var r=0;r=e[i+56>>2]|0,r|0&&Y(r),r=e[i+32>>2]|0,r|0&&(e[i+36>>2]=r,Y(r)),r=e[i+20>>2]|0,r|0&&(e[i+24>>2]=r,Y(r)),r=e[i+8>>2]|0,r|0&&(e[i+12>>2]=r,Y(r)),r=i+4|0,i=e[r>>2]|0,e[r>>2]=0,i&&(r=e[i+76>>2]|0,r|0&&(e[i+80>>2]=r,Y(r)),r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=e[i+24>>2]|0,r|0&&(e[i+28>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&(e[i+16>>2]=r,Y(r)),r=e[i>>2]|0,r|0&&(e[i+4>>2]=r,Y(r)),Y(i))}function O3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;t=U,U=U+80|0,n=t,f=t+56|0,l=t+40|0,o=n,A=r,r=o+40|0;do e[o>>2]=e[A>>2],o=o+4|0,A=A+4|0;while((o|0)<(r|0));if(F1(l,n,f),n=e[l>>2]|0,n){e[i>>2]=n,n=l+4|0,c2(i+4|0,n),(j[n+11>>0]|0)<0&&Y(e[n>>2]|0),U=t;return}else{A=l+4|0,(j[A+11>>0]|0)<0&&Y(e[A>>2]|0),A=J[f+7>>0]|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=A,U=t;return}}function S3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;return t=e[i>>2]|0,!t||(f=e[r>>2]|0,!f)?(n=0,n|0):(l=e[f>>2]|0,Ft(t,l,(e[f+4>>2]|0)-l|0,0)|0,j[i+24>>0]=j[r+24>>0]|0,e[i+28>>2]=e[r+28>>2],j[i+32>>0]=j[r+32>>0]|0,l=r+40|0,f=e[l+4>>2]|0,t=i+40|0,e[t>>2]=e[l>>2],e[t+4>>2]=f,f=r+48|0,t=e[f+4>>2]|0,l=i+48|0,e[l>>2]=e[f>>2],e[l+4>>2]=t,e[i+56>>2]=e[r+56>>2],t=r+8|0,r=i+8|0,e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],n=1,n|0)}function Mr(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0,s=0,_=0;if(!i)return f=1,f|0;if(l=t+8|0,o=e[l+4>>2]|0,A=t+16|0,u=A,s=e[u>>2]|0,_=e[u+4>>2]|0,!((o|0)>(_|0)|((o|0)==(_|0)?(e[l>>2]|0)>>>0>s>>>0:0)))return f=0,f|0;switch(l=j[(e[t>>2]|0)+s>>0]|0,o=i0(s|0,_|0,1,0)|0,_=A,e[_>>2]=o,e[_+4>>2]=H,l<<24>>24){case 0:return f=fo(i,r,t,n)|0,f|0;case 1:return f=Ro(i,t,n)|0,f|0;default:return f=0,f|0}return 0}function Yr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;return n=c1(i,r)|0,!n||(r=n+20|0,i=e[r>>2]|0,l=n+24|0,n=e[l>>2]|0,(i|0)==(n|0))?(f=0,f|0):(Si(t,n-i|0,0),i=Pr(t,0)|0,t=e[r>>2]|0,S0(i|0,t|0,(e[l>>2]|0)-t|0)|0,f=1,f|0)}function X3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=1312,Wr(i+60|0),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=i+36|0,t=e[r>>2]|0,t|0){if(n=i+40|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do o=o+-24|0,l2[e[e[o>>2]>>2]&127](o);while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}if(e[i>>2]=1256,l=e[i+16>>2]|0,l|0&&(e[i+20>>2]=l,Y(l)),l=e[i+4>>2]|0,!l){Y(i);return}e[i+8>>2]=l,Y(l),Y(i)}function ff(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0;j[r+53>>0]=1;do if((e[r+4>>2]|0)==(n|0)){if(j[r+52>>0]=1,i=r+16|0,l=e[i>>2]|0,!l){if(e[i>>2]=t,e[r+24>>2]=f,e[r+36>>2]=1,!((f|0)==1&&(e[r+48>>2]|0)==1))break;j[r+54>>0]=1;break}if((l|0)!=(t|0)){l=r+36|0,e[l>>2]=(e[l>>2]|0)+1,j[r+54>>0]=1;break}l=r+24|0,i=e[l>>2]|0,(i|0)==2?(e[l>>2]=f,o=f):o=i,(o|0)==1&&(e[r+48>>2]|0)==1&&(j[r+54>>0]=1)}while(0)}function E0(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0;if(n=i+t|0,r=r&255,(t|0)>=67){for(;i&3;)j[i>>0]=r,i=i+1|0;for(f=n&-4|0,l=f-64|0,o=r|r<<8|r<<16|r<<24;(i|0)<=(l|0);)e[i>>2]=o,e[i+4>>2]=o,e[i+8>>2]=o,e[i+12>>2]=o,e[i+16>>2]=o,e[i+20>>2]=o,e[i+24>>2]=o,e[i+28>>2]=o,e[i+32>>2]=o,e[i+36>>2]=o,e[i+40>>2]=o,e[i+44>>2]=o,e[i+48>>2]=o,e[i+52>>2]=o,e[i+56>>2]=o,e[i+60>>2]=o,i=i+64|0;for(;(i|0)<(f|0);)e[i>>2]=o,i=i+4|0}for(;(i|0)<(n|0);)j[i>>0]=r,i=i+1|0;return n-t|0}function Z1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0,k=0,b=0;if(!r){n=0,e[t>>2]=n;return}for(f=i+8|0,l=i+4|0,o=0-(j[i+12>>0]|0)&255,A=r,r=0,u=e[f>>2]|0;;)if(s=r<<1,u>>>0<4096&&(_=e[l>>2]|0,(_|0)>0)?(h=e[i>>2]|0,k=_+-1|0,e[l>>2]=k,_=u<<8|(J[h+k>>0]|0),e[f>>2]=_,b=_):b=u,_=b&255,k=Z0(b>>>8,o)|0,h=_>>>0<o>>>0,u=h?k+_|0:b-o-k|0,e[f>>2]=u,k=s|h&1,A=A+-1|0,A)r=k;else{n=k;break}e[t>>2]=n}function P3(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0;do if(Je(i,e[r+8>>2]|0,f)|0)Rf(0,r,t,n);else if(Je(i,e[r>>2]|0,f)|0){if((e[r+16>>2]|0)!=(t|0)&&(l=r+20|0,(e[l>>2]|0)!=(t|0))){e[r+32>>2]=n,e[l>>2]=t,l=r+40|0,e[l>>2]=(e[l>>2]|0)+1,(e[r+36>>2]|0)==1&&(e[r+24>>2]|0)==2&&(j[r+54>>0]=1),e[r+44>>2]=4;break}(n|0)==1&&(e[r+32>>2]=1)}while(0)}function H3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=1312,Wr(i+60|0),r=e[i+48>>2]|0,r|0&&(e[i+52>>2]=r,Y(r)),r=i+36|0,t=e[r>>2]|0,t|0){if(n=i+40|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do o=o+-24|0,l2[e[e[o>>2]>>2]&127](o);while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l)}e[i>>2]=1256,l=e[i+16>>2]|0,l|0&&(e[i+20>>2]=l,Y(l)),l=e[i+4>>2]|0,l&&(e[i+8>>2]=l,Y(l))}function x3(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0;if(f=U,U=U+48|0,l=f+4|0,o=f,(n|0)!=1){e[i>>2]=0,U=f;return}n=e[r+12>>2]|0,A=e[r+4>>2]|0,r=l,u=r+36|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(u|0));Nu(o,t,n,A,l),A=e[l+24>>2]|0,A|0&&(e[l+28>>2]=A,Y(A)),e[i>>2]=e[o>>2],U=f}function q3(i,r,t,n,f,l,o){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0;var A=0,u=0,s=0,_=0;(-17-r|0)>>>0<t>>>0&&W0(i),(j[i+11>>0]|0)<0?A=e[i>>2]|0:A=i,r>>>0<2147483623?(u=t+r|0,t=r<<1,s=u>>>0<t>>>0?t:u,_=s>>>0<11?11:s+16&-16):_=-17,s=v0(_)|0,f|0&&Ke(s,A,f)|0,u=n-l-f|0,u|0&&Ke(s+f+o|0,A+f+l|0,u)|0,(r|0)!=10&&Y(A),e[i>>2]=s,e[i+8>>2]=_|-2147483648}function Cr(i,r){if(i=i|0,r=r|0,r){Cr(i,e[r>>2]|0),Cr(i,e[r+4>>2]|0),Ji(r+20|0,e[r+24>>2]|0),Y(r);return}else return}function L3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0;return n=U,U=U+32|0,f=n+20|0,l=n+16|0,o=n,A=j[i+24>>0]|0,e[o>>2]=e[294],e[o+4>>2]=e[295],e[o+8>>2]=e[296],e[o+12>>2]=e[297],e[l>>2]=r,e[f>>2]=e[l>>2],Pe(i,f,A,o)|0?(ti(t,o,o+(A<<24>>24<<2)|0),u=1,U=n,u|0):(u=0,U=n,u|0)}function K3(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0;if(n=U,U=U+64|0,f=n,Je(i,r,0)|0)u=1;else if((r|0)!=0&&(l=Wt(r,1072,1056,0)|0,(l|0)!=0)){r=f+4|0,o=r+52|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(o|0));e[f>>2]=l,e[f+8>>2]=i,e[f+12>>2]=-1,e[f+48>>2]=1,P1[e[(e[l>>2]|0)+28>>2]&7](l,f,e[t>>2]|0,1),(e[f+24>>2]|0)==1?(e[t>>2]=e[f+16>>2],A=1):A=0,u=A}else u=0;return U=n,u|0}function Qi(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0,s=0,_=0,h=0;if(r>>>0>0|(r|0)==0&i>>>0>4294967295){n=t,f=i,l=r;do r=f,f=k1(f|0,l|0,10,0)|0,o=l,l=H,A=Y0(f|0,l|0,10,0)|0,u=H0(r|0,o|0,A|0,H|0)|0,n=n+-1|0,j[n>>0]=u&255|48;while(o>>>0>9|(o|0)==9&r>>>0>4294967295);s=f,_=n}else s=i,_=t;if(!s)h=_;else for(t=s,s=_;;)if(_=t,t=(t>>>0)/10|0,i=s+-1|0,j[i>>0]=_-(t*10|0)|48,_>>>0<10){h=i;break}else s=i;return h|0}function nf(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=c1(i,r)|0,!n||(r=e[n+20>>2]|0,((e[n+24>>2]|0)-r|0)!=4)?(f=0,f|0):(n=r,r=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,j[t>>0]=r,j[t+1>>0]=r>>8,j[t+2>>0]=r>>16,j[t+3>>0]=r>>24,f=1,f|0)}function t2(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;if(t=r+8|0,n=e[t+4>>2]|0,f=r+16|0,l=f,o=e[l>>2]|0,A=e[l+4>>2]|0,!((n|0)>(A|0)|((n|0)==(A|0)?(e[t>>2]|0)>>>0>o>>>0:0)))return u=0,u|0;t=j[(e[r>>2]|0)+o>>0]|0,n=i0(o|0,A|0,1,0)|0,A=f,e[A>>2]=n,e[A+4>>2]=H,A=t&255;do if(A&128)if(t2(i,r)|0){n=e[i>>2]<<7,e[i>>2]=n,s=n|t&127;break}else return u=0,u|0;else s=A;while(0);return e[i>>2]=s,u=1,u|0}function a3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=3180,r=i+48|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),e[i>>2]=3608,t=e[i+20>>2]|0,t|0&&(e[i+24>>2]=t,Y(t)),t=i+8|0,r=e[t>>2]|0,!r){Y(i);return}if(n=i+12|0,f=e[n>>2]|0,(f|0)==(r|0))l=r;else{o=f;do o=o+-4|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&l2[e[(e[f>>2]|0)+4>>2]&127](f);while((o|0)!=(r|0));l=e[t>>2]|0}e[n>>2]=r,Y(l),Y(i)}function Ji(i,r){i=i|0,r=r|0;var t=0;!r||(Ji(i,e[r>>2]|0),Ji(i,e[r+4>>2]|0),i=r+16|0,t=r+28|0,(j[t+11>>0]|0)<0&&Y(e[t>>2]|0),(j[i+11>>0]|0)<0&&Y(e[i>>2]|0),Y(r))}function zr(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(r=e[i>>2]|0,!!r){if(t=i+4|0,n=e[t>>2]|0,(n|0)==(r|0))f=r;else{l=n;do n=e[l+-12>>2]|0,n|0&&(e[l+-8>>2]=n,Y(n)),n=e[l+-28>>2]|0,n|0&&(e[l+-24>>2]=n,Y(n)),n=e[l+-40>>2]|0,n|0&&(e[l+-36>>2]=n,Y(n)),Xi(l+-140|0),l=l+-144|0;while((l|0)!=(r|0));f=e[i>>2]|0}e[t>>2]=r,Y(f)}}function Ee(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0,s=0;r=i;e:do if(!(r&3))t=i,n=5;else for(f=i,l=r;;){if(!(j[f>>0]|0)){o=l;break e}if(A=f+1|0,l=A,l&3)f=A;else{t=A,n=5;break}}while(0);if((n|0)==5){for(n=t;u=e[n>>2]|0,!((u&-2139062144^-2139062144)&u+-16843009);)n=n+4|0;if(!((u&255)<<24>>24))s=n;else for(u=n;;)if(n=u+1|0,j[n>>0]|0)u=n;else{s=n;break}o=s}return o-r|0}function $3(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(e[i>>2]=3180,r=i+48|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),e[i>>2]=3608,t=e[i+20>>2]|0,t|0&&(e[i+24>>2]=t,Y(t)),t=i+8|0,r=e[t>>2]|0,!!r){if(n=i+12|0,i=e[n>>2]|0,(i|0)==(r|0))f=r;else{l=i;do l=l+-4|0,i=e[l>>2]|0,e[l>>2]=0,i|0&&l2[e[(e[i>>2]|0)+4>>2]&127](i);while((l|0)!=(r|0));f=e[t>>2]|0}e[n>>2]=r,Y(f)}}function Oi(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;return t=i+64|0,(e[t>>2]|0)==0&&(n=v0(32)|0,C1(n),f=e[t>>2]|0,e[t>>2]=n,f|0)&&(n=e[f>>2]|0,n|0&&(e[f+4>>2]=n,Y(n)),Y(f)),f=di(e[i+28>>2]|0)|0,n=Z0(f,j[i+24>>0]|0)|0,f=((n|0)<0)<<31>>31,l=e[t>>2]|0,o=Y0(n|0,f|0,r|0,0)|0,Ft(l,0,o,H)|0?(of(i,e[t>>2]|0,n,f,0,0),e[i+80>>2]=r,A=1,A|0):(A=0,A|0)}function Si(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0;n=U,U=U+16|0,f=n,l=i+11|0,o=j[l>>0]|0,A=o<<24>>24<0,A?u=e[i+4>>2]|0:u=o&255;do if(u>>>0>=r>>>0)if(A){o=(e[i>>2]|0)+r|0,j[f>>0]=0,Li(o,f),e[i+4>>2]=r;break}else{j[f>>0]=0,Li(i+r|0,f),j[l>>0]=r;break}else z3(i,r-u|0,t)|0;while(0);U=n}function Qr(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return r>>>0>1431655765|(t|r|0)<0?(n=0,n|0):(f=r*3|0,mr(i,f,3736),mr(i+12|0,f,3732),Q2(i+24|0,t),t=i+76|0,f=e[t>>2]|0,e[t>>2]=0,e[i+80>>2]=0,e[i+84>>2]=0,f|0&&Y(f),f=i+64|0,t=e[f>>2]|0,e[f>>2]=0,e[i+68>>2]=0,e[i+72>>2]=0,t?(Y(t),n=1,n|0):(n=1,n|0))}function Jr(i,r,t,n,f,l,o,A,u,s){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0,A=A|0,u=u|0,s=s|0;var _=0,h=0,k=0;e[i>>2]=t,t|0&&(_=t+16|0,h=e[_+4>>2]|0,k=i+8|0,e[k>>2]=e[_>>2],e[k+4>>2]=h,h=t+24|0,t=e[h+4>>2]|0,k=i+16|0,e[k>>2]=e[h>>2],e[k+4>>2]=t),j[i+24>>0]=n,e[i+28>>2]=f,j[i+32>>0]=l&1,l=i+40|0,e[l>>2]=o,e[l+4>>2]=A,A=i+48|0,e[A>>2]=u,e[A+4>>2]=s,e[i+56>>2]=r}function g3(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;t=U,U=U+16|0,n=t,f=t+4|0,e[n>>2]=r,r=v0(32)|0,e[f>>2]=r,e[f+8>>2]=-2147483616,e[f+4>>2]=24,l=r,o=11931,A=l+24|0;do j[l>>0]=j[o>>0]|0,l=l+1|0,o=o+1|0;while((l|0)<(A|0));if(j[r+24>>0]=0,n_(ro(i,n)|0,f,1),(j[f+11>>0]|0)>=0){U=t;return}Y(e[f>>2]|0),U=t}function e_(i){i=i|0;var r=0,t=0,n=0;e[i>>2]=3240,r=i+84|0,t=i+4|0,n=t+80|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+88>>2]=-1,e[i+92>>2]=-1,r=i+152|0,t=i+96|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=1065353216,r=i+212|0,t=i+156|0,n=t+56|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=-1,e[i+216>>2]=0,e[i+220>>2]=0,e[i+224>>2]=0,Lr(i+232|0)}function i_(i,r){i=i|0,r=r|0;var t=0;t=i+16|0,i=e[r>>2]|0,e[r>>2]=0,r=e[t>>2]|0,e[t>>2]=i,r&&(i=r+88|0,t=e[i>>2]|0,e[i>>2]=0,t|0&&(i=e[t+8>>2]|0,i|0&&(e[t+12>>2]=i,Y(i)),Y(t)),t=e[r+68>>2]|0,t|0&&(e[r+72>>2]=t,Y(t)),t=r+64|0,i=e[t>>2]|0,e[t>>2]=0,i|0&&(t=e[i>>2]|0,t|0&&(e[i+4>>2]=t,Y(t)),Y(i)),Y(r))}function r_(i){i=i|0;var r=0;if(e[i>>2]=3340,r=e[i+100>>2]|0,r|0&&(e[i+104>>2]=r,Y(r)),r=e[i+84>>2]|0,r|0&&(e[i+88>>2]=r,Y(r)),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+60>>2]|0,r|0&&(e[i+64>>2]=r,Y(r)),e[i+12>>2]=3364,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,!r){Y(i);return}Y(r),Y(i)}function t_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0;for(r=i;t=r+1|0,bb(j[r>>0]|0)|0;)r=t;switch(i=j[r>>0]|0,i|0){case 45:{n=1,f=5;break}case 43:{n=0,f=5;break}default:l=0,o=r,A=i}if((f|0)==5&&(l=n,o=t,A=j[t>>0]|0),!(Ri(A)|0))u=0;else for(A=0,t=o;;)if(o=(A*10|0)+48-(j[t>>0]|0)|0,t=t+1|0,Ri(j[t>>0]|0)|0)A=o;else{u=o;break}return((l|0)==0?0-u|0:u)|0}function f_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0;return r=e[i+32>>2]|0,t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=i0(o|0,e[l+4>>2]|0,4,0)|0,l=H,(f|0)<(l|0)|(f|0)==(l|0)&n>>>0<A>>>0||(n=(e[r>>2]|0)+o|0,o=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,n=t,e[n>>2]=A,e[n+4>>2]=l,(o|0)<0)?(u=0,u|0):(e[(e[i+4>>2]|0)+80>>2]=o,u=1,u|0)}function n_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;n=U,U=U+16|0,f=n,P_(f,t&1),t=v3(i,r)|0,r=t+11|0,(j[r>>0]|0)<0?(j[e[t>>2]>>0]=0,e[t+4>>2]=0):(j[t>>0]=0,j[r>>0]=0),Pu(t,0),e[t>>2]=e[f>>2],e[t+4>>2]=e[f+4>>2],e[t+8>>2]=e[f+8>>2],U=n}function l_(i){i=i|0;var r=0;e[i>>2]=3340,r=e[i+100>>2]|0,r|0&&(e[i+104>>2]=r,Y(r)),r=e[i+84>>2]|0,r|0&&(e[i+88>>2]=r,Y(r)),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+60>>2]|0,r|0&&(e[i+64>>2]=r,Y(r)),e[i+12>>2]=3364,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,r&&Y(r)}function lf(i,r){i=+i,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0,u=0;switch(D2[I2>>3]=i,t=e[I2>>2]|0,n=e[I2+4>>2]|0,f=me(t|0,n|0,52)|0,f&2047){case 0:{i!=0?(l=+lf(i*18446744073709552e3,r),o=l,A=(e[r>>2]|0)+-64|0):(o=i,A=0),e[r>>2]=A,u=o;break}case 2047:{u=i;break}default:e[r>>2]=(f&2047)+-1022,e[I2>>2]=t,e[I2+4>>2]=n&-2146435073|1071644672,u=+D2[I2>>3]}return+u}function A_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0,u=0;return r=e[i+32>>2]|0,t=r+8|0,n=e[t>>2]|0,f=e[t+4>>2]|0,t=r+16|0,l=t,o=e[l>>2]|0,A=i0(o|0,e[l+4>>2]|0,4,0)|0,l=H,(f|0)<(l|0)|(f|0)==(l|0)&n>>>0<A>>>0?(u=0,u|0):(n=(e[r>>2]|0)+o|0,o=J[n>>0]|J[n+1>>0]<<8|J[n+2>>0]<<16|J[n+3>>0]<<24,n=t,e[n>>2]=A,e[n+4>>2]=l,e[(e[i+4>>2]|0)+80>>2]=o,u=1,u|0)}function Or(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0;if(e[i>>2]=3608,r=e[i+20>>2]|0,r|0&&(e[i+24>>2]=r,Y(r)),r=i+8|0,t=e[r>>2]|0,!t){Y(i);return}if(n=i+12|0,f=e[n>>2]|0,(f|0)==(t|0))l=t;else{o=f;do o=o+-4|0,f=e[o>>2]|0,e[o>>2]=0,f|0&&l2[e[(e[f>>2]|0)+4>>2]&127](f);while((o|0)!=(t|0));l=e[r>>2]|0}e[n>>2]=t,Y(l),Y(i)}function s_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;for(t=0;;){if((J[14154+t>>0]|0)==(i|0)){n=4;break}if(f=t+1|0,(f|0)==87){l=87,n=5;break}else t=f}if((n|0)==4&&(t?(l=t,n=5):o=14242),(n|0)==5)for(n=14242,t=l;;){l=n;do i=l,l=l+1|0;while((j[i>>0]|0)!=0);if(t=t+-1|0,t)n=l;else{o=l;break}}return db(o,e[r+20>>2]|0)|0}function o_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0;n=U,U=U+16|0,f=n,t>>>0>4294967279&&W0(i),t>>>0<11?(j[i+11>>0]=t,l=i):(o=t+16&-16,A=v0(o)|0,e[i>>2]=A,e[i+8>>2]=o|-2147483648,e[i+4>>2]=t,l=A),Ke(l,r,t)|0,j[f>>0]=0,Li(l+t|0,f),U=n}function Q2(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;t=i+8|0,n=e[i>>2]|0,!((e[t>>2]|0)-n>>2>>>0>=r>>>0)&&(f=i+4|0,r>>>0>1073741823&&(l=T2(8)|0,F2(l,13552),e[l>>2]=4908,U2(l|0,1128,105)),l=(e[f>>2]|0)-n|0,o=v0(r<<2)|0,(l|0)>0&&S0(o|0,n|0,l|0)|0,e[i>>2]=o,e[f>>2]=o+(l>>2<<2),e[t>>2]=o+(r<<2),n&&Y(n))}function u_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;if(t=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,(t|0)<=0)return n=1,n|0;for(f=i+36|0,l=i+48|0,i=0;;){if(o=e[(e[f>>2]|0)+(i<<2)>>2]|0,i=i+1|0,!(Ze[e[(e[o>>2]|0)+20>>2]&31](o,l,r)|0)){n=0,A=5;break}if((i|0)>=(t|0)){n=1,A=5;break}}return(A|0)==5?n|0:0}function fi(i){i=i|0;var r=0,t=0;e[i>>2]=1368,r=i+16|0,i=e[r>>2]|0,e[r>>2]=0,i&&(r=i+88|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&(r=e[t+8>>2]|0,r|0&&(e[t+12>>2]=r,Y(r)),Y(t)),t=e[i+68>>2]|0,t|0&&(e[i+72>>2]=t,Y(t)),t=i+64|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&(t=e[r>>2]|0,t|0&&(e[r+4>>2]=t,Y(t)),Y(r)),Y(i))}function __(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;switch(t<<24>>24){case 0:{t=v0(20)|0,Ff(t),n=t;break}case 1:{t=v0(24)|0,gr(t),n=t;break}case 2:{t=v0(36)|0,ik(t),n=t;break}case 3:{t=v0(28)|0,eh(t),n=t;break}default:n=0}e[i>>2]=n}function k_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(e[i>>2]=3608,r=e[i+20>>2]|0,r|0&&(e[i+24>>2]=r,Y(r)),r=i+8|0,t=e[r>>2]|0,!!t){if(n=i+12|0,i=e[n>>2]|0,(i|0)==(t|0))f=t;else{l=i;do l=l+-4|0,i=e[l>>2]|0,e[l>>2]=0,i|0&&l2[e[(e[i>>2]|0)+4>>2]&127](i);while((l|0)!=(t|0));f=e[r>>2]|0}e[n>>2]=t,Y(f)}}function h_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;if(i=e[r+4>>2]|0,!i||(f=e[(e[(e[r+8>>2]|0)+(t<<2)>>2]|0)+60>>2]|0,t=e[i+40>>2]|0,r=e[i+44>>2]|0,(t|0)==(r|0)))return n=0,n|0;for(i=t;;){if(t=e[i>>2]|0,i=i+4|0,(e[t+40>>2]|0)==(f|0)){n=t,l=6;break}if((i|0)==(r|0)){n=0,l=6;break}}return(l|0)==6?n|0:0}function b_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0,A=0;if(t=K0[e[(e[i>>2]|0)+24>>2]&127](i)|0,(t|0)<=0)return n=1,n|0;for(f=i+36|0,l=i+48|0,i=0;;){if(o=e[(e[f>>2]|0)+(i<<2)>>2]|0,i=i+1|0,!(Ze[e[(e[o>>2]|0)+16>>2]&31](o,l,r)|0)){n=0,A=5;break}if((i|0)>=(t|0)){n=1,A=5;break}}return(A|0)==5?n|0:0}function p_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;return t=e[r>>2]|0,t?(f=i+44|0,l=e[f>>2]|0,l>>>0<(e[i+48>>2]|0)>>>0?(e[r>>2]=0,e[l>>2]=t,e[f>>2]=(e[f>>2]|0)+4,n=1,n|0):(Wu(i+40|0,r),n=1,n|0)):(n=0,n|0)}function W1(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;return n=Ku(i,r)|0,(n|0)!=(i+4|0)&&(i=n+28|0,(j[i+11>>0]|0)<0?f=e[i>>2]|0:f=i,i=t_(f)|0,(i|0)!=-1)?(l=(i|0)!=0,l|0):(l=t,l|0)}function Xi(i){i=i|0;var r=0;r=e[i+84>>2]|0,r|0&&(e[i+88>>2]=r,Y(r)),r=e[i+72>>2]|0,r|0&&(e[i+76>>2]=r,Y(r)),r=e[i+52>>2]|0,r|0&&(e[i+56>>2]=r,Y(r)),r=e[i+40>>2]|0,r|0&&(e[i+44>>2]=r,Y(r)),r=e[i+28>>2]|0,r|0&&(e[i+32>>2]=r,Y(r)),r=e[i+12>>2]|0,r|0&&Y(r),r=e[i>>2]|0,r&&Y(r)}function D1(i){i=i|0;var r=0;return!(e[i+44>>2]|0)||!(e[i+48>>2]|0)||!(e[i+24>>2]|0)||!(e[i+28>>2]|0)||!(e[i+32>>2]|0)||!(e[i+36>>2]|0)?(r=0,r|0):(r=(e[i+72>>2]|0)!=-1,r|0)}function w_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;e[r>>2]=2,t=i+4|0,i=r+8|0,n=e[i>>2]|0,f=(e[r+12>>2]|0)-n|0,f>>>0<4294967292?(I1(i,f+4|0,0),l=e[i>>2]|0):l=n,n=l+f|0,f=J[t>>0]|J[t+1>>0]<<8|J[t+2>>0]<<16|J[t+3>>0]<<24,j[n>>0]=f,j[n+1>>0]=f>>8,j[n+2>>0]=f>>16,j[n+3>>0]=f>>24}function Af(i){i=i|0;var r=0;return!(e[i+64>>2]|0)||!(e[i+68>>2]|0)||!(e[i+44>>2]|0)||!(e[i+48>>2]|0)||!(e[i+52>>2]|0)||!(e[i+56>>2]|0)?(r=0,r|0):(r=(e[i+92>>2]|0)!=-1,r|0)}function d_(i){i=i|0;var r=0;!i||(r=i+28|0,(j[r+11>>0]|0)<0&&Y(e[r>>2]|0),Cr(i+12|0,e[i+16>>2]|0),Ji(i,e[i+4>>2]|0),Y(i))}function m_(i){i=i|0;var r=0;if(e[i>>2]=2208,r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+84>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&Y(r),r=e[i+60>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function v_(i){i=i|0;var r=0;if(e[i>>2]=1760,r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+84>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&Y(r),r=e[i+60>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function sf(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0;i=r+16|0,f=e[i>>2]|0;do if(f){if((f|0)!=(t|0)){l=r+36|0,e[l>>2]=(e[l>>2]|0)+1,e[r+24>>2]=2,j[r+54>>0]=1;break}l=r+24|0,(e[l>>2]|0)==2&&(e[l>>2]=n)}else e[i>>2]=t,e[r+24>>2]=n,e[r+36>>2]=1;while(0)}function y_(i){i=i|0;var r=0;e[i>>2]=2208,r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+84>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&Y(r),r=e[i+60>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function c_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;return((J[(e[i+4>>2]|0)+36>>0]|0)<<8&65535)<512&&!(K0[e[(e[i>>2]|0)+52>>2]&127](i)|0)?(n=0,n|0):(n=Nr(i,r,t)|0,n|0)}function p2(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0;return f=r>>31|((r|0)<0?-1:0)<<1,l=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,o=n>>31|((n|0)<0?-1:0)<<1,A=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,u=H0(f^i|0,l^r|0,f|0,l|0)|0,r=H,i=o^f,f=A^l,H0((et(u,r,H0(o^t|0,A^n|0,o|0,A|0)|0,H,0)|0)^i|0,H^f|0,i|0,f|0)|0}function of(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0,A=0,u=0;e[i>>2]=r,o=r+16|0,A=e[o+4>>2]|0,u=i+8|0,e[u>>2]=e[o>>2],e[u+4>>2]=A,A=r+24|0,r=e[A+4>>2]|0,u=i+16|0,e[u>>2]=e[A>>2],e[u+4>>2]=r,r=i+40|0,e[r>>2]=t,e[r+4>>2]=n,n=i+48|0,e[n>>2]=f,e[n+4>>2]=l}function V2(i){i=i|0;var r=0,t=0,n=0,f=0,l=0,o=0,A=0;return r=j[i+12>>0]|0,t=i+8|0,n=e[t>>2]|0,n>>>0<4096&&(f=i+4|0,l=e[f>>2]|0,(l|0)>0)?(o=e[i>>2]|0,i=l+-1|0,e[f>>2]=i,f=n<<8|(J[o+i>>0]|0),e[t>>2]=f,A=f):A=n,n=A&255,f=0-r&255,r=Z0(A>>>8,f)|0,i=n>>>0<f>>>0,e[t>>2]=i?r+n|0:A-f-r|0,i|0}function R_(i){i=i|0;var r=0;e[i>>2]=1760,r=e[i+96>>2]|0,r|0&&Y(r),r=e[i+84>>2]|0,r|0&&Y(r),r=e[i+72>>2]|0,r|0&&Y(r),r=e[i+60>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function G_(i){i=i|0;var r=0,t=0;!i||(r=i+88|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&(r=e[t+8>>2]|0,r|0&&(e[t+12>>2]=r,Y(r)),Y(t)),t=e[i+68>>2]|0,t|0&&(e[i+72>>2]=t,Y(t)),t=i+64|0,r=e[t>>2]|0,e[t>>2]=0,r|0&&(t=e[r>>2]|0,t|0&&(e[r+4>>2]=t,Y(t)),Y(r)),Y(i))}function V_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=U,U=U+16|0,f=n,Au(f,i,r,t),t=i+24|0,e[t>>2]=e[f>>2],r=f+4|0,mf(i+28|0,r)|0,(j[r+11>>0]|0)>=0?(U=n,t|0):(Y(e[r>>2]|0),U=n,t|0)}function uf(i){i=i|0;var r=0,t=0,n=0;e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,j[i+24>>0]=1,r=i+68|0,t=i+28|0,n=t+40|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=i,r=i+72|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0}function j_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=U,U=U+16|0,f=n,_u(f,i,r,t),t=i+24|0,e[t>>2]=e[f>>2],r=f+4|0,mf(i+28|0,r)|0,(j[r+11>>0]|0)>=0?(U=n,t|0):(Y(e[r>>2]|0),U=n,t|0)}function P2(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0;var l=0,o=0,A=0;if(l=U,U=U+256|0,o=l,(t|0)>(n|0)&(f&73728|0)==0){if(f=t-n|0,E0(o|0,r<<24>>24|0,(f>>>0<256?f:256)|0)|0,f>>>0>255){r=t-n|0,n=f;do J2(i,o,256),n=n+-256|0;while(n>>>0>255);A=r&255}else A=f;J2(i,o,A)}U=l}function N_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(r=e[i+8>>2]|0,t=e[i+12>>2]|0,(r|0)==(t|0))return n=1,n|0;for(f=i+32|0,i=r;;){if(r=e[i>>2]|0,i=i+4|0,!(_2[e[(e[r>>2]|0)+16>>2]&127](r,e[f>>2]|0)|0)){n=0,l=5;break}if((i|0)==(t|0)){n=1,l=5;break}}return(l|0)==5?n|0:0}function T_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=e[i+8>>2]|0,(j[n+24>>0]|0)<1||!(Oi(n,(e[r+4>>2]|0)-(e[r>>2]|0)>>2)|0)?(f=0,f|0):(f=Ze[e[(e[i>>2]|0)+32>>2]&31](i,r,t)|0,f|0)}function U_(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0;var o=0;Je(i,e[r+8>>2]|0,l)|0?ff(0,r,t,n,f):(o=e[i+8>>2]|0,H1[e[(e[o>>2]|0)+20>>2]&3](o,r,t,n,f,l))}function F_(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(!!i){if(r=e[i>>2]|0,r|0){if(t=i+4|0,n=e[t>>2]|0,(n|0)==(r|0))f=r;else{l=n;do l=l+-12|0,(j[l+11>>0]|0)<0&&Y(e[l>>2]|0);while((l|0)!=(r|0));f=e[i>>2]|0}e[t>>2]=r,Y(f)}Y(i)}}function E_(i){i=i|0;var r=0;if(e[i>>2]=3292,r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),e[i+12>>2]=3316,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,!r){Y(i);return}Y(r),Y(i)}function I_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;if(t=e[i+12>>2]|0,n=e[i+8>>2]|0,i=n,(t|0)==(n|0))return f=0,f|0;for(l=t-n>>2,n=0;;){if(t=e[i+(n<<2)>>2]|0,(e[t+60>>2]|0)==(r|0)){f=t,o=5;break}if(n=n+1|0,n>>>0>=l>>>0){f=0,o=5;break}}return(o|0)==5?f|0:0}function Z_(i){i=i|0;var r=0,t=0;if(e[i>>2]=2264,r=e[i+76>>2]|0,r|0&&Y(r),r=i+68|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1536,t=e[i+32>>2]|0,!t){Y(i);return}e[i+36>>2]=t,Y(t),Y(i)}function _f(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0,o=0;if(t=e[i+12>>2]|0,n=e[i+8>>2]|0,i=n,(t|0)==(n|0))return f=-1,f|0;for(l=t-n>>2,n=0;;){if((e[(e[i+(n<<2)>>2]|0)+60>>2]|0)==(r|0)){f=n,o=5;break}if(n=n+1|0,n>>>0>=l>>>0){f=-1,o=5;break}}return(o|0)==5?f|0:0}function W_(i){i=i|0;var r=0;if(e[i>>2]=3384,r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),e[i+12>>2]=3364,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,!r){Y(i);return}Y(r),Y(i)}function E2(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0,A=0,u=0;e:do if(!t)n=0;else{for(f=i,l=t,o=r;A=j[f>>0]|0,u=j[o>>0]|0,A<<24>>24==u<<24>>24;)if(l=l+-1|0,l)f=f+1|0,o=o+1|0;else{n=0;break e}n=(A&255)-(u&255)|0}while(0);return n|0}function D_(i){i=i|0;var r=0,t=0;if(e[i>>2]=3052,r=i+28|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1476,t=i+20|0,r=e[t>>2]|0,e[t>>2]=0,!r){fi(i),Y(i);return}l2[e[(e[r>>2]|0)+4>>2]&127](r),fi(i),Y(i)}function B_(i){i=i|0;var r=0,t=0;if(e[i>>2]=1816,r=e[i+76>>2]|0,r|0&&Y(r),r=i+68|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1536,t=e[i+32>>2]|0,!t){Y(i);return}e[i+36>>2]=t,Y(t),Y(i)}function M_(i){i=i|0;var r=0,t=0;for(e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,r=0;(r|0)!=3;)e[i+(r<<2)>>2]=0,r=r+1|0;(j[i+11>>0]|0)<0?t=(e[i+8>>2]&2147483647)+-1|0:t=10,Si(i,t,0)}function Y_(i){i=i|0;var r=0;e[i>>2]=3292,r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),e[i+12>>2]=3316,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,r&&Y(r)}function C_(i){i=i|0;var r=0,t=0;e[i>>2]=2264,r=e[i+76>>2]|0,r|0&&Y(r),r=i+68|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1536,t=e[i+32>>2]|0,t&&(e[i+36>>2]=t,Y(t))}function z_(i){i=i|0;var r=0;e[i>>2]=3384,r=e[i+64>>2]|0,r|0&&(e[i+68>>2]=r,Y(r)),e[i+12>>2]=3364,r=e[i+32>>2]|0,r|0&&Y(r),r=e[i+20>>2]|0,r&&Y(r)}function Q_(i){i=i|0;var r=0,t=0;if(e[i>>2]=3052,r=i+28|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1476,t=i+20|0,r=e[t>>2]|0,e[t>>2]=0,!r){fi(i);return}l2[e[(e[r>>2]|0)+4>>2]&127](r),fi(i)}function J_(i){i=i|0;var r=0,t=0;e[i>>2]=1816,r=e[i+76>>2]|0,r|0&&Y(r),r=i+68|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&i2(t),e[i>>2]=1536,t=e[i+32>>2]|0,t&&(e[i+36>>2]=t,Y(t))}function O_(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0;Je(i,e[r+8>>2]|0,0)|0?sf(0,r,t,n):(f=e[i+8>>2]|0,P1[e[(e[f>>2]|0)+28>>2]&7](f,r,t,n))}function kf(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0,o=0,A=0,u=0;return f=Z0(t,r)|0,l=(r|0)==0?0:t,(e[n+76>>2]|0)>-1?(t=(Ie(n)|0)==0,o=Ur(i,f,n)|0,t||ie(n),A=o):A=Ur(i,f,n)|0,(A|0)==(f|0)?u=l:u=(A>>>0)/(r>>>0)|0,u|0}function S_(i,r){i=i|0,r=r|0;var t=0,n=0;return(r|0)<0||(n=e[i+4>>2]|0,((e[n+12>>2]|0)-(e[n+8>>2]|0)>>2|0)<=(r|0))?(t=0,t|0):(n=e[(e[i+8>>2]|0)+(e[(e[i+20>>2]|0)+(r<<2)>>2]<<2)>>2]|0,t=_2[e[(e[n>>2]|0)+32>>2]&127](n,r)|0,t|0)}function X_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;if(t=j[i>>0]|0,n=j[r>>0]|0,t<<24>>24==0||t<<24>>24!=n<<24>>24)f=n,l=t;else{t=r,r=i;do r=r+1|0,t=t+1|0,i=j[r>>0]|0,n=j[t>>0]|0;while(!(i<<24>>24==0||i<<24>>24!=n<<24>>24));f=n,l=i}return(l&255)-(f&255)|0}function Sr(i,r){i=i|0,r=r|0;var t=0;return t=v0(40)|0,e[t>>2]=-1,C1(t+8|0),gf[e[(e[i>>2]|0)+16>>2]&7](i,t),i=r+88|0,r=e[i>>2]|0,e[i>>2]=t,r&&(t=e[r+8>>2]|0,t|0&&(e[r+12>>2]=t,Y(t)),Y(r)),1}function P_(i,r){i=i|0,r=r|0;var t=0,n=0;t=U,U=U+16|0,n=t,M_(n),j3(i,n,r),kh(n),U=t}function H_(i,r){i=i|0,r=r|0;var t=0,n=0;return t=e[i+4>>2]|0,t|0&&((J[t+36>>0]|0)<<8&65535)<512?(n=1,n|0):(n=_2[e[(e[i>>2]|0)+48>>2]&127](i,(e[r+4>>2]|0)-(e[r>>2]|0)>>2)|0,n|0)}function x_(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0,o=0;return n=U,U=U+32|0,f=n,l=n+20|0,e[f>>2]=e[i+60>>2],e[f+4>>2]=0,e[f+8>>2]=r,e[f+12>>2]=l,e[f+16>>2]=t,(z1(Ps(140,f|0)|0)|0)<0?(e[l>>2]=-1,o=-1):o=e[l>>2]|0,U=n,o|0}function q_(i,r){i=i|0,r=r|0;var t=0,n=0;return(r|0)==-1|(r|0)>4||(n=e[i+20+(r*12|0)>>2]|0,((e[i+20+(r*12|0)+4>>2]|0)-n|0)<=0)||(r=e[n>>2]|0,(r|0)==-1)?(t=0,t|0):(t=e[(e[i+8>>2]|0)+(r<<2)>>2]|0,t|0)}function L_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0;return t=e[i+16>>2]|0,((e[i+20>>2]|0)-t>>2|0)<=(r|0)||(f=e[t+(r<<2)>>2]|0,(f|0)<0)?(n=0,n|0):(n=Zt(e[(e[i+36>>2]|0)+(f<<2)>>2]|0)|0,n|0)}function c2(i,r){i=i|0,r=r|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,(j[r+11>>0]|0)<0?o_(i,e[r>>2]|0,e[r+4>>2]|0):(e[i>>2]=e[r>>2],e[i+4>>2]=e[r+4>>2],e[i+8>>2]=e[r+8>>2])}function hf(i,r){i=i|0,r=r|0;var t=0;cf(i),e[i>>2]=1416,t=i+36|0,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,t=e[r>>2]|0,e[r>>2]=0,e[i+60>>2]=t}function K_(i,r){i=i|0,r=r|0;var t=0,n=0,f=0;a4(i,r),!((r|0)<=-1)&&(t=i+88|0,n=e[t>>2]|0,f=e[i+84>>2]|0,!((n-f>>2|0)<=(r|0))&&(i=f+(r<<2)|0,r=i+4|0,f=n-r|0,f|0&&q2(i|0,r|0,f|0)|0,e[t>>2]=i+(f>>2<<2)))}function Xr(i,r){i=i|0,r=r|0;var t=0,n=0;t=i,n=r,r=t+64|0;do e[t>>2]=e[n>>2],t=t+4|0,n=n+4|0;while((t|0)<(r|0));n=i+64|0,e[i+88>>2]=0,e[n>>2]=0,e[n+4>>2]=0,e[n+8>>2]=0,e[n+12>>2]=0,e[n+16>>2]=0,j[n+20>>0]=0}function a_(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0;if((i|0)==0&(r|0)==0)f=t;else for(l=t,t=r,r=i;;)if(i=l+-1|0,j[i>>0]=J[14136+(r&15)>>0]|0|n,r=me(r|0,t|0,4)|0,t=H,(r|0)==0&(t|0)==0){f=i;break}else l=i;return f|0}function $_(i){i=i|0;var r=0,t=0,n=0;return r=i+74|0,t=j[r>>0]|0,j[r>>0]=t+255|t,t=e[i>>2]|0,t&8?(e[i>>2]=t|32,n=-1):(e[i+8>>2]=0,e[i+4>>2]=0,r=e[i+44>>2]|0,e[i+28>>2]=r,e[i+20>>2]=r,e[i+16>>2]=r+(e[i+48>>2]|0),n=0),n|0}function B1(i){return i=i|0,!(e[i+60>>2]|0)||!(e[i+44>>2]|0)||!(e[i+48>>2]|0)?0:e[i+52>>2]|0?(e[i+56>>2]|0)!=0|0:0}function g_(i,r){i=i|0,r=r|0;var t=0,n=0;return t=e[r+88>>2]|0,!t||(e[t>>2]|0)!=2?(n=0,n|0):(r=e[t+8>>2]|0,e[i+4>>2]=J[r>>0]|J[r+1>>0]<<8|J[r+2>>0]<<16|J[r+3>>0]<<24,n=1,n|0)}function Pi(i){i=i|0;var r=0;return!(e[i+44>>2]|0)||!(e[i+48>>2]|0)||!(e[i+52>>2]|0)?(r=0,r|0):(r=(e[i+56>>2]|0)!=0,r|0)}function e6(i){i=i|0;var r=0;if(e[i>>2]=2488,r=e[i+76>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function Pr(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;return t=j[i+11>>0]|0,n=t<<24>>24<0,n?f=e[i+4>>2]|0:f=t&255,f>>>0<=r>>>0&&W0(i),n?l=e[i>>2]|0:l=i,l+r|0}function i6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;return n=U,U=U+32|0,f=n,e[i+36>>2]=15,(e[i>>2]&64|0)==0&&(e[f>>2]=e[i+60>>2],e[f+4>>2]=21523,e[f+8>>2]=n+16,Hs(54,f|0)|0)&&(j[i+75>>0]=-1),f=Ut(i,r,t)|0,U=n,f|0}function r6(i){i=i|0;var r=0;if(e[i>>2]=2040,r=e[i+76>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function Hr(i,r,t){if(i=i|0,r=r|0,t=t|0,(r|0)!=0&(t|0)!=0){j8(i,r,t);return}else{E8(i,0,0);return}}function bf(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=o0(f),e[i+4>>2]=r,ti(i+8|0,t,t+(n<<2)|0),q0[i+20>>2]=f}function t6(i,r){i=i|0,r=r|0;var t=0;return!(_2[e[(e[i>>2]|0)+36>>2]&127](i,r)|0)||!(_2[e[(e[i>>2]|0)+40>>2]&127](i,r)|0)?(t=0,t|0):(t=K0[e[(e[i>>2]|0)+44>>2]&127](i)|0,t|0)}function pf(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0;for(n=e[t>>2]|0,t=i,f=r-i>>2;f;)i=(f|0)/2|0,r=t+(i<<2)|0,l=(e[r>>2]|0)>>>0<n>>>0,t=l?r+4|0:t,f=l?f+-1-i|0:i;return t|0}function f6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;return!(ar(i,r,t)|0)||(t=e[i+8>>2]|0,(j[t+24>>0]|0)!=3)?(n=0,n|0):(n=(e[t+28>>2]|0)==9,n|0)}function o1(i){i=i|0;var r=0;e[i>>2]=0,r=i+8|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,j[i+24>>0]=1,e[i+28>>2]=9,r=i+40|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[i+56>>2]=-1,e[i+60>>2]=0}function M1(i,r){i=i|0,r=r|0;var t=0;return e[r+56>>2]|0||(j[r+24>>0]|0)!=3?(t=0,t|0):(e[i+44>>2]=r,t=1,t|0)}function n6(i,r){i=i|0,r=r|0;var t=0,n=0;return i=U,U=U+32|0,t=i,O3(t,r),r=e[t+16>>2]|0,n=t+4|0,(j[n+11>>0]|0)>=0?(U=i,r|0):(Y(e[n>>2]|0),U=i,r|0)}function l6(i){i=i|0;var r=0;e[i>>2]=2488,r=e[i+76>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function wf(i){i=i|0;var r=0,t=0,n=0,f=0,l=0;if(!(Ri(j[e[i>>2]>>0]|0)|0))r=0;else for(t=0;;)if(n=e[i>>2]|0,f=(t*10|0)+-48+(j[n>>0]|0)|0,l=n+1|0,e[i>>2]=l,Ri(j[l>>0]|0)|0)t=f;else{r=f;break}return r|0}function df(i,r){i=i|0,r=r|0;var t=0;return e[r+56>>2]|0||(j[r+24>>0]|0)!=3?(t=0,t|0):(e[i+64>>2]=r,t=1,t|0)}function A6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;return ar(i,r,t)|0?(n=(e[(e[(e[(e[r+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0)+28>>2]|0)==9,n|0):(n=0,n|0)}function ni(i){i=i|0;var r=0,t=0;return r=e[ur>>2]|0,t=r+i|0,(i|0)>0&(t|0)<(r|0)|(t|0)<0?(Ss()|0,L4(12),-1):(e[ur>>2]=t,(t|0)>(Os()|0)&&(Js()|0)==0?(e[ur>>2]=r,L4(12),-1):r|0)}function s6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;if((i|0)==0&(r|0)==0)n=t;else for(f=t,t=r,r=i;;)if(i=f+-1|0,j[i>>0]=r&7|48,r=me(r|0,t|0,3)|0,t=H,(r|0)==0&(t|0)==0){n=i;break}else f=i;return n|0}function o6(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,Je(i,e[r+8>>2]|0,l)|0&&ff(0,r,t,n,f)}function u6(i){i=i|0;var r=0;e[i>>2]=2040,r=e[i+76>>2]|0,r|0&&Y(r),e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function _6(i){i=i|0;var r=0,t=0,n=0,f=0;r=U,U=U+16|0,t=r,n=e[i+4>>2]|0,f=(e[n+56>>2]|0)-(e[n+52>>2]|0)>>2,j[t>>0]=0,Fe(i+20|0,f,t),U=r}function Y1(i,r){i=i|0,r=r|0;var t=0;return(r|0)!=0&&(e[r+56>>2]|0)==0&&(j[r+24>>0]|0)==3?(e[i+60>>2]=r,t=1):t=0,t|0}function di(i){i=i|0;var r=0;switch(i|0){case 11:case 2:case 1:{r=1;break}case 4:case 3:{r=2;break}case 6:case 5:{r=4;break}case 8:case 7:{r=8;break}case 9:{r=4;break}case 10:{r=8;break}default:r=-1}return r|0}function li(i){i=i|0;var r=0,t=0,n=0;j[i+36>>0]=0,r=i0(e[i+32>>2]|0,0,7,0)|0,t=me(r|0,H|0,3)|0,r=i+16|0,i=r,n=i0(t|0,H|0,e[i>>2]|0,e[i+4>>2]|0)|0,i=r,e[i>>2]=n,e[i+4>>2]=H}function k6(i){i=i|0;var r=0,t=0,n=0,f=0;r=U,U=U+16|0,t=r,n=e[i+4>>2]|0,f=(e[n+28>>2]|0)-(e[n+24>>2]|0)>>2,j[t>>0]=0,Fe(i+20|0,f,t),U=r}function xr(i){i=i|0;var r=0,t=0,n=0;r=i+60|0,t=i,n=t+60|0;do e[t>>2]=0,t=t+4|0;while((t|0)<(n|0));e[r>>2]=i,r=i+64|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0}function h6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;return n=(e[i+96>>2]|0)+(r*12|0)|0,ti(t,n,n+12|0),1}function b6(i){i=i|0;var r=0;if(e[i>>2]=2376,e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function mf(i,r){i=i|0,r=r|0;var t=0,n=0;return(i|0)!=(r|0)&&(t=j[r+11>>0]|0,n=t<<24>>24<0,Q3(i,n?e[r>>2]|0:r,n?e[r+4>>2]|0:t&255)|0),i|0}function p6(i,r){i=i|0,r=r|0;var t=0,n=0,f=0,l=0;return t=i&65535,n=r&65535,f=Z0(n,t)|0,l=i>>>16,i=(f>>>16)+(Z0(n,l)|0)|0,n=r>>>16,r=Z0(n,t)|0,H=(i>>>16)+(Z0(n,l)|0)+(((i&65535)+r|0)>>>16)|0,i+r<<16|f&65535|0|0}function w6(i,r){i=i|0,r=r|0;var t=0,n=0,f=0;t=Ee(r)|0,n=v0(t+13|0)|0,e[n>>2]=t,e[n+4>>2]=t,e[n+8>>2]=0,f=ah(n)|0,S0(f|0,r|0,t+1|0)|0,e[i>>2]=f}function vf(i,r){i=i|0,r=r|0;var t=0,n=0;return(r|0)==-1|(r|0)>4||(n=e[i+20+(r*12|0)>>2]|0,((e[i+20+(r*12|0)+4>>2]|0)-n|0)<=0)?(t=-1,t|0):(t=e[n>>2]|0,t|0)}function d6(){var i=0,r=0;return i=v0(40)|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=1065353216,r=i+20|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[i+36>>2]=1065353216,i|0}function m6(i){i=i|0;var r=0;if(e[i>>2]=1928,e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function v6(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,e[r+44>>2]=f,$4(i,r,t,n,f)}function y6(i){i=i|0;var r=0;if(e[i>>2]=3748,r=e[i+96>>2]|0,r|0&&(e[i+100>>2]=r,Y(r)),r=e[i+84>>2]|0,!r){zi(i),Y(i);return}e[i+88>>2]=r,Y(r),zi(i),Y(i)}function c6(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0,Je(i,e[r+8>>2]|0,0)|0&&sf(0,r,t,n)}function qr(i){i=i|0;var r=0;e[i>>2]=3608,r=i+4|0,e[i+40>>2]=0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0,e[r+24>>2]=0,e[r+28>>2]=0,P0[r+32>>1]=0}function q2(i,r,t){i=i|0,r=r|0,t=t|0;var n=0;if((r|0)<(i|0)&(i|0)<(r+t|0)){for(n=i,r=r+t|0,i=i+t|0;(t|0)>0;)i=i-1|0,r=r-1|0,t=t-1|0,j[i>>0]=j[r>>0]|0;i=n}else S0(i,r,t)|0;return i|0}function R6(i){i=i|0;var r=0;e[i>>2]=2376,e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function G6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;return n=U,U=U+16|0,f=n,e[f>>2]=e[t>>2],l=Ze[e[(e[i>>2]|0)+16>>2]&31](i,r,f)|0,l&&(e[t>>2]=e[f>>2]),U=n,l&1|0}function Hi(i,r){i=i|0,r=r|0;var t=0;return r>>>0>=2?(t=0,t|0):(e[i+28>>2]=r,t=1,t|0)}function V6(i){i=i|0;var r=0;e[i>>2]=1928,e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function j6(i){i=i|0;var r=0;if(e[i>>2]=3748,r=e[i+96>>2]|0,r|0&&(e[i+100>>2]=r,Y(r)),r=e[i+84>>2]|0,!r){zi(i);return}e[i+88>>2]=r,Y(r),zi(i)}function N6(i){i=i|0;var r=0,t=0;j2(i)|0&&(r=tb(e[i>>2]|0)|0,i=r+8|0,t=e[i>>2]|0,e[i>>2]=t+-1,(t+-1|0)<0)&&Y(r)}function T6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0;if(!((r|0)<=0)){n=0;do f=e[i+(n<<2)>>2]|0,e[t+(n<<2)>>2]=f<<31>>31^f>>>1,n=n+1|0;while((n|0)!=(r|0))}}function ze(i){i=i|0;var r=0;e[i>>2]=0,r=i+8|0,P0[i+38>>1]=0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0,e[r+24>>2]=0,j[r+28>>0]=0}function yf(i){i=i|0;var r=0,t=0;e[i>>2]=1476,r=i+20|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),fi(i),Y(i)}function U6(i,r,t){i=i|0,r=r|0,t=t|0,A8(i,r,t)}function Lr(i){i=i|0,ze(i),ze(i+40|0),n2(i+80|0),ze(i+96|0),e[i+136>>2]=0,e[i+140>>2]=0,e[i+144>>2]=0}function F6(i){i=i|0;var r=0,t=0;e[i>>2]=1476,r=i+20|0,t=e[r>>2]|0,e[r>>2]=0,t|0&&l2[e[(e[t>>2]|0)+4>>2]&127](t),fi(i)}function E6(i,r,t){return i=i|0,r=r|0,t=t|0,Uo(i,r,5,6,t)|0}function I6(i,r,t){return i=i|0,r=r|0,t=t|0,No(i,r,3,4,t)|0}function cf(i){i=i|0;var r=0;e[i>>2]=1256,r=i+4|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0,e[r+24>>2]=0,e[r+28>>2]=0}function Z6(i,r,t){return i=i|0,r=r|0,t=t|0,Eo(i,r,1,2,t)|0}function W6(i,r,t){return i=i|0,r=r|0,t=t|0,To(i,r,3,4,t)|0}function D6(i,r,t){return i=i|0,r=r|0,t=t|0,Fo(i,r,5,6,t)|0}function B6(i,r,t){i=i|0,r=r|0,t=t|0;var n=0,f=0,l=0;return n=i+20|0,f=e[n>>2]|0,l=(e[i+16>>2]|0)-f|0,i=l>>>0>t>>>0?t:l,S0(f|0,r|0,i|0)|0,e[n>>2]=(e[n>>2]|0)+i,t|0}function M6(i,r,t){return i=i|0,r=r|0,t=t|0,Io(i,r,1,2,t)|0}function Y6(i){i=i|0;var r=0;if(e[i>>2]=3316,r=e[i+20>>2]|0,r|0&&Y(r),r=e[i+8>>2]|0,!r){Y(i);return}Y(r),Y(i)}function C6(){var i=0,r=0;return i=v0(24)|0,e[i>>2]=1228,e[i+4>>2]=-1,r=i+8|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,i|0}function z6(i){i=i|0;var r=0;o1(i),r=i+64|0,e[i+88>>2]=0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,j[r+20>>0]=0}function Rf(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0,(e[r+4>>2]|0)==(t|0)&&(t=r+28|0,(e[t>>2]|0)!=1)&&(e[t>>2]=n)}function Q6(i){i=i|0;var r=0;if(e[i>>2]=3364,r=e[i+20>>2]|0,r|0&&Y(r),r=e[i+8>>2]|0,!r){Y(i);return}Y(r),Y(i)}function Le(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0,e[i>>2]=r,r=i+8|0,e[r>>2]=t,e[r+4>>2]=0,P0[i+38>>1]=n,n=i+16|0,e[n>>2]=0,e[n+4>>2]=0}function Kr(i,r,t){i=i|0,r=o0(r),t=t|0;var n=0,f=a0;return(t|0)<1?(n=0,n|0):(f=o0(o0(1)/o0(t|0)),q0[i+4>>2]=f,q0[i>>2]=r,n=1,n|0)}function J6(i){i=i|0;var r=0;e[i>>2]=1256,r=e[i+16>>2]|0,r|0&&(e[i+20>>2]=r,Y(r)),r=e[i+4>>2]|0,r&&(e[i+8>>2]=r,Y(r))}function u1(i){i=i|0;var r=0;if(e[i>>2]=1536,r=e[i+32>>2]|0,!r){Y(i);return}e[i+36>>2]=r,Y(r),Y(i)}function Gf(i,r,t){return i=i|0,r=r|0,t=t|0,e[i+4>>2]=r,e[i+8>>2]=e[(e[(e[r+4>>2]|0)+8>>2]|0)+(t<<2)>>2],e[i+12>>2]=t,1}function O6(i){i=i|0;var r=0;zf(i),e[i+16>>2]=0,e[i+20>>2]=0,e[i+12>>2]=i+16,r=i+24|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0}function S6(i){i=i|0;var r=0;Uf(i),e[i>>2]=3748,r=i+84|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0,e[r+16>>2]=0,e[r+20>>2]=0}function v0(i){i=i|0;var r=0,t=0;for(r=(i|0)==0?1:i;;){if(i=qt(r)|0,i|0){t=i;break}if(i=fb()|0,!i){t=0;break}$f[i&1]()}return t|0}function X6(i){i=i|0;var r=0;e[i>>2]=3316,r=e[i+20>>2]|0,r|0&&Y(r),r=e[i+8>>2]|0,r&&Y(r)}function P6(i){i=i|0;var r=0,t=0,n=0;return r=U,U=U+16|0,t=r,n=Ib(e[i+60>>2]|0)|0,e[t>>2]=n,n=z1(xs(6,t|0)|0)|0,U=r,n|0}function L2(i){i=i|0;var r=0,t=0;r=e[i>>2]|0,t=i+4|0,e[t>>2]=r,e[i+16>>2]=0,e[i+12>>2]=r,r&&(e[t>>2]=r,Y(r))}function H6(i){i=i|0;var r=0;e[i>>2]=3364,r=e[i+20>>2]|0,r|0&&Y(r),r=e[i+8>>2]|0,r&&Y(r)}function Y0(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0;return f=i,i=t,t=p6(f,i)|0,l=H,H=(Z0(r,i)|0)+(Z0(n,f)|0)+l|l&0,t|0|0|0}function x6(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,E6(r,t,n)|0}function q6(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,I6(r,t,n)|0}function L6(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,iu(r,t,n)|0}function K6(i){i=i|0;var r=0;e[i>>2]=1536,r=e[i+32>>2]|0,r&&(e[i+36>>2]=r,Y(r))}function a6(i){i=i|0;var r=0;cf(i),e[i>>2]=1312,r=i+36|0,i=r+36|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(i|0))}function $6(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,Z6(r,t,n)|0}function g6(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,W6(r,t,n)|0}function ek(i){i=i|0,e[i>>2]=2716,Y(i)}function C1(i){i=i|0;var r=0;e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,r=i+16|0,e[r>>2]=0,e[r+4>>2]=0,e[r+8>>2]=0,e[r+12>>2]=0}function ik(i){i=i|0,gr(i),e[i>>2]=3052,e[i+24>>2]=-1,e[i+28>>2]=0,q0[i+32>>2]=o0(0)}function rk(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,M6(r,t,n)|0}function Vf(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,D6(r,t,n)|0}function tk(i,r,t){i=i|0,r=r|0,t=t|0,e[i>>2]=r,r=i+8|0,e[r>>2]=t,e[r+4>>2]=0,r=i+16|0,e[r>>2]=0,e[r+4>>2]=0}function xi(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,(((e[i+12>>2]|0)+-1|0)==(n|0)?0:n+1|0)|0}function fk(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0,l=0;return f=U,U=U+16|0,l=f,e[l>>2]=n,n=F3(i,r,t,l)|0,U=f,n|0}function nk(i){i=i|0;var r=0;if(e[i>>2]=1228,r=e[i+8>>2]|0,!r){Y(i);return}e[i+12>>2]=r,Y(r),Y(i)}function lk(i){i=i|0,e[i>>2]=2800,Y(i)}function Ak(i){i=i|0,e[i>>2]=2884,Y(i)}function sk(i){i=i|0,e[i>>2]=2716}function ok(i,r,t){return i=i|0,r=r|0,t=t|0,1}function ar(i,r,t){return i=i|0,r=r|0,t=t|0,Gf(i,r,t)|0}function uk(i){i=i|0;var r=0;!i||(r=e[i+8>>2]|0,r|0&&(e[i+12>>2]=r,Y(r)),Y(i))}function _k(i,r,t,n,f,l,o){return i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0,af[i&31](r|0,t|0,n|0,f|0,l|0,o|0)|0}function kk(i){i=i|0,e[i>>2]=2968,Y(i)}function hk(i){i=i|0,e[i>>2]=2800}function bk(i){i=i|0,e[i>>2]=2884}function pk(i,r){i=i|0,r=r|0;var t=0;return t=e[i+48>>2]|0,_2[e[(e[t>>2]|0)+16>>2]&127](t,r)|0}function wk(i,r,t){return i=i|0,r=r|0,t=t|0,vf(r,t)|0}function dk(i,r){i=i|0,r=r|0;var t=0;return t=e[i+48>>2]|0,_2[e[(e[t>>2]|0)+12>>2]&127](t,r)|0}function mk(i){i=i|0,ot(i),Y(i)}function vk(i,r){i=i|0,r=r|0;var t=0;return t=e[i+48>>2]|0,_2[e[(e[t>>2]|0)+20>>2]&127](t,r)|0}function yk(i){i=i|0;var r=0,t=0;return r=i+4|0,(j[r+11>>0]|0)<0?(t=e[r>>2]|0,t|0):(t=r,t|0)}function ck(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,Uu(r,t,n)|0}function Rk(i){i=i|0,Rt(i),Y(i)}function Gk(i,r){i=i|0,r=r|0;var t=0;return r?t=gu(e[r>>2]|0,e[r+4>>2]|0,i)|0:t=0,((t|0)==0?i:t)|0}function Vk(i,r,t,n,f,l,o){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,o=o|0,H1[i&3](r|0,t|0,n|0,f|0,l|0,o|0)}function jf(i,r){i=i|0,r=r|0;var t=0,n=0;return t=U,U=U+16|0,n=t,e[n>>2]=r,r=It(e[980]|0,i,n)|0,U=t,r|0}function mi(i){i=i|0;var r=0;!i||(r=e[i>>2]|0,r|0&&(e[i+4>>2]=r,Y(r)),Y(i))}function jk(i){return i=i|0,e[i+44>>2]|0?K0[e[(e[i>>2]|0)+48>>2]&127](i)|0:0}function Nk(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,L3(r,t,n)|0}function Tk(i,r,t){return i=i|0,r=r|0,t=t|0,r|0&&E0(i|0,(mb(t)|0)&255|0,r|0)|0,i|0}function Nf(i){return i=i|0,4}function Uk(i){i=i|0,e[i>>2]=2968}function _1(i,r,t){return i=i|0,r=r|0,t=t|0,(t|0)<32?(H=r<<t|(i&(1<<t)-1<<32-t)>>>32-t,i<<t):(H=i<<t-32,0)}function Fk(i){i=i|0;var r=0;e[i>>2]=1228,r=e[i+8>>2]|0,r&&(e[i+12>>2]=r,Y(r))}function Ek(i){i=i|0;var r=0;!i||(r=i+4|0,(j[r+11>>0]|0)<0&&Y(e[r>>2]|0),Y(i))}function Ik(){}function i0(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0;return f=i+t>>>0,H=r+n+(f>>>0<i>>>0|0)>>>0,f|0|0}function H0(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0;var f=0;return f=r-n>>>0,f=r-n-(t>>>0>i>>>0|0)>>>0,H=f,i-t>>>0|0|0}function me(i,r,t){return i=i|0,r=r|0,t=t|0,(t|0)<32?(H=r>>>t,i>>>t|(r&(1<<t)-1)<<32-t):(H=0,r>>>t-32|0)}function Zk(i,r,t){return i=i|0,r=r|0,t=t|0,V_(i,r,t)|0}function Wk(i){i=i|0,dt(i),Y(i)}function Tf(i){return i=i|0,5}function Uf(i){i=i|0;var r=0;e[i>>2]=3776,r=i+4|0,i=r+80|0;do e[r>>2]=0,r=r+4|0;while((r|0)<(i|0))}function qi(i){return i=i|0,6}function Dk(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,h6(r,t,n)|0}function Bk(i,r,t){return i=i|0,r=r|0,t=t|0,e[i+28>>2]=r,e[i+32>>2]=t,1}function Mk(i,r){return i=i|0,r=r|0,j[r+84>>0]=1,e[r+72>>2]=e[r+68>>2],1}function Yk(i,r,t){return i=i|0,r=r|0,t=t|0,wk(i,r,t)|0}function Ck(i){i=i|0;var r=0;return r=e[i+48>>2]|0,K0[e[(e[r>>2]|0)+28>>2]&127](r)|0}function zk(i,r,t){return i=i|0,r=r|0,t=t|0,y3(r,t)|0}function Ff(i){i=i|0,e[i>>2]=1368,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=-1,e[i+16>>2]=0}function Qk(i){i=i|0;var r=0;return r=e[i+48>>2]|0,K0[e[(e[r>>2]|0)+24>>2]&127](r)|0}function Jk(i,r){i=i|0,r=r|0,g3(i,r)}function Ok(i){i=i|0;var r=0;return r=e[i+48>>2]|0,K0[e[(e[r>>2]|0)+36>>2]&127](r)|0}function Sk(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,u4[i&3](r|0,t|0,n|0,f|0,l|0)}function z1(i){i=i|0;var r=0,t=0;return i>>>0>4294963200?(r=Gi()|0,e[r>>2]=0-i,t=-1):t=i,t|0}function Xk(i,r,t){return i=i|0,r=r|0,t=t|0,j_(i,r,t)|0}function Pk(i,r,t){return i=i|0,r=r|0,t=t|0,V3(i,r,t)|0}function Hk(i,r,t){return i=i|0,r=r|0,t=t|0,W3(i,r,t)|0}function xk(i,r,t){return i=i|0,r=r|0,t=t|0,k3(i,r,t)|0}function qk(i,r,t){return i=i|0,r=r|0,t=t|0,+ +T3(i,r,t)}function Ef(i,r){return i=i|0,r=r|0,_2[e[(e[i>>2]|0)+12>>2]&127](i,r)|0}function Lk(i,r){return i=i|0,r=r|0,_2[e[(e[i>>2]|0)+56>>2]&127](i,r)|0}function Qe(i){i=i|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i+16>>2]=0}function Kk(i,r,t){return i=i|0,r=r|0,t=t|0,h_(i,r,t)|0}function $r(i,r){return i=i|0,r=r|0,e[i+4>>2]=r,1}function ak(i,r,t){return i=i|0,r=r|0,t=t|0,hh(r,t)|0}function $k(i,r,t){return i=i|0,r=r|0,t=t|0,D3(i,r,t)|0}function gk(i,r,t){return i=i|0,r=r|0,t=t|0,I3(i,r,t)|0}function eh(i){i=i|0,gr(i),e[i>>2]=2544,e[i+24>>2]=-1}function ih(i,r){return i=i|0,r=r|0,e[i+8>>2]=r,e[i+12>>2]=-1,1}function rh(i,r,t){return i=i|0,r=r|0,t=t|0,i8(i,r,t)|0}function th(i,r,t){return i=i|0,r=r|0,t=t|0,r8(r,t)|0}function If(i){i=+i;var r=0;return D2[I2>>3]=i,r=e[I2>>2]|0,H=e[I2+4>>2]|0,r|0}function fh(i){i=i|0,e[i+12>>2]=0,e[i+16>>2]=0,e[i>>2]=0,q0[i+4>>2]=o0(0)}function nh(){var i=0;return i=v0(40)|0,e[i>>2]=-1,C1(i+8|0),i|0}function lh(){var i=0;return i=v0(8)|0,e[i>>2]=1200,e[i+4>>2]=-1,i|0}function Ah(i,r,t){return i=i|0,r=r|0,t=t|0,R3(i,r,t)|0}function gr(i){i=i|0,Ff(i),e[i>>2]=1476,e[i+20>>2]=0}function sh(i,r){i=i|0,r=r|0,Jk(i,r)}function oh(i){i=i|0;var r=0;return i?r=(Wt(i,1072,1160,0)|0)!=0&1:r=0,r|0}function uh(i,r){return i=i|0,r=r|0,o0(q0[(e[i+8>>2]|0)+(r<<2)>>2])}function _h(i,r){return i=i|0,r=r|0,n6(i,r)|0}function kh(i){i=i|0,(j[i+11>>0]|0)<0&&Y(e[i>>2]|0)}function Q1(i){i=i|0,i&&l2[e[(e[i>>2]|0)+4>>2]&127](i)}function hh(i,r){return i=i|0,r=r|0,I_(i,r)|0}function bh(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,P1[i&7](r|0,t|0,n|0,f|0)}function ph(i,r,t){return i=i|0,r=r|0,t=t|0,t|0&&q2(i|0,r|0,t|0)|0,i|0}function wh(i,r,t){return i=i|0,r=r|0,t=t|0,Rh(r,t)|0}function Ke(i,r,t){return i=i|0,r=r|0,t=t|0,t|0&&S0(i|0,r|0,t|0)|0,i|0}function e4(i,r){return i=i|0,r=r|0,-1}function i4(i){return i=i|0,3}function dh(i,r){return i=i|0,r=r|0,Xh(i,r)|0}function n2(i){i=i|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,j[i+12>>0]=0}function mh(i){i=i|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0}function vh(i){i=i|0,Wf(i),e[i>>2]=3180,e[i+48>>2]=0}function yh(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,Ze[i&31](r|0,t|0,n|0)|0}function ch(i,r,t){i=i|0,r=r|0,t=t|0,tk(i,r,t)}function F2(i,r){i=i|0,r=r|0,e[i>>2]=4888,w6(i+4|0,r)}function Rh(i,r){return i=i|0,r=r|0,e[(e[i+8>>2]|0)+(r<<2)>>2]|0}function Zf(i,r){i=i|0,r=r|0;var t=0;return i?t=N3(i,r,0)|0:t=0,t|0}function Gh(i,r){return i=i|0,r=r|0,e[(e[i+4>>2]|0)+(r<<2)>>2]|0}function Vh(){var i=0;return i=v0(64)|0,o1(i),i|0}function jh(i,r){return i=i|0,r=r|0,o0(Fh(i,r))}function r4(i){return i=i|0,e[i+8>>2]|0}function Wf(i){i=i|0,qr(i),e[i>>2]=3120,e[i+44>>2]=0}function Nh(i){i=i|0,i&&(de(i),Y(i))}function Th(i,r){return i=i|0,r=r|0,qh(i,r)|0}function Uh(i){return i=i|0,j[(e[i+8>>2]|0)+24>>0]|0}function Fh(i,r){return i=i|0,r=r|0,o0(q0[(e[i>>2]|0)+(r<<2)>>2])}function J2(i,r,t){i=i|0,r=r|0,t=t|0,e[i>>2]&32||Ur(r,t,i)|0}function Eh(i){return i=i|0,(e[i+8>>2]|0)-(e[i+4>>2]|0)>>2|0}function Ih(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0,o4[i&15](r|0,t|0,n|0)}function Zh(){var i=0;return i=v0(96)|0,z6(i),i|0}function Wh(i){i=i|0;var r=0;return r=U,U=U+i|0,U=U+15&-16,r|0}function Dh(i){i=i|0;var r=0;return r=(Kf()|0)+188|0,s_(i,e[r>>2]|0)|0}function Bh(i){return i=i|0,((e[i+100>>2]|0)-(e[i+96>>2]|0)|0)/12|0|0}function Mh(){var i=0;return i=v0(16)|0,mh(i),i|0}function Yh(){var i=0;return i=v0(40)|0,ze(i),i|0}function Df(i,r){return i=i|0,r=r|0,1}function Bf(i,r){return i=i|0,r=r|0,zh(i,r)|0}function Mf(i,r){return i=i|0,r=r|0,Qh(i,r)|0}function ve(i,r,t,n,f,l){return i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,Ue(3),0}function Yf(i,r){return i=i|0,r=r|0,xh(i,r)|0}function vi(){var i=0;return i=v0(12)|0,Sh(i),i|0}function Ch(i){i=i|0,fi(i),Y(i)}function t4(i){i=i|0,q0[i>>2]=o0(1),q0[i+4>>2]=o0(1)}function Je(i,r,t){return i=i|0,r=r|0,t=t|0,(i|0)==(r|0)|0}function yi(i,r){i=i|0,r=r|0;var t=0;return t=Sf(i|0)|0,((r|0)==0?i:t)|0}function Cf(i){return i=i|0,(e[i+12>>2]|0)-(e[i+8>>2]|0)>>2|0}function zh(i,r){return i=i|0,r=r|0,e[(e[i>>2]|0)+(r<<2)>>2]|0}function Qh(i,r){return i=i|0,r=r|0,P0[(e[i>>2]|0)+(r<<1)>>1]|0}function Jh(i,r){i=i|0,r=r|0,e[i+4>>2]=r}function k1(i,r,t,n){return i=i|0,r=r|0,t=t|0,n=n|0,et(i,r,t,n,0)|0}function zf(i){i=i|0,e[i+4>>2]=0,e[i+8>>2]=0,e[i>>2]=i+4}function Oh(){var i=0;return i=v0(84)|0,Uf(i),i|0}function f4(i){return i=i|0,(e[i+4>>2]|0)-(e[i>>2]|0)>>2|0}function Qf(i){return i=i|0,(e[i+4>>2]|0)-(e[i>>2]|0)>>1|0}function Sh(i){i=i|0,e[i>>2]=0,e[i+4>>2]=0,e[i+8>>2]=0}function Jf(i){i=i|0,e[i>>2]=4888,N6(i+4|0)}function Xh(i,r){return i=i|0,r=r|0,e[r+12>>2]|0}function Ph(i,r,t){return i=i|0,r=r|0,t=t|0,_2[i&127](r|0,t|0)|0}function Of(i,r,t,n,f,l){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,l=l|0,Ue(10)}function Sf(i){return i=i|0,(i&255)<<24|(i>>8&255)<<16|(i>>16&255)<<8|i>>>24|0}function Hh(i){i=i|0,Wf(i),e[i>>2]=3524}function Li(i,r){i=i|0,r=r|0,j[i>>0]=j[r>>0]|0}function xh(i,r){return i=i|0,r=r|0,j[(e[i>>2]|0)+r>>0]|0}function Xf(i){return i=i|0,(e[i+4>>2]|0)-(e[i>>2]|0)|0}function qh(i,r){return i=i|0,r=r|0,e[r+4>>2]|0}function Lh(i){return i=i|0,o0(q0[i+20>>2])}function Ai(i){return i=i|0,e[i+4>>2]|0}function n4(i){i=i|0,i&&Y(i)}function Kh(i,r){i=i|0,r=r|0,H4||(H4=i,Qs=r)}function ah(i){return i=i|0,i+12|0}function $h(i){return i=i|0,e[i+88>>2]|0}function gh(i,r,t){i=i|0,r=r|0,t=t|0,gf[i&7](r|0,t|0)}function eb(){var i=0;return i=v0(40)|0,O6(i),i|0}function ib(){var i=0;return i=v0(108)|0,S6(i),i|0}function rb(i){return i=i|0,(j[i+32>>0]|0)!=0|0}function tb(i){return i=i|0,i+-12|0}function Pf(i,r,t,n,f){i=i|0,r=r|0,t=t|0,n=n|0,f=f|0,Ue(9)}function fb(){var i=0;return i=e[4213]|0,e[4213]=i+0,i|0}function nb(i){return i=i|0,A4(i+4|0)|0}function lb(i){return i=i|0,e[i+56>>2]|0}function Ab(i){i=i|0,zi(i),Y(i)}function Hf(i){i=i|0,ie(i),Y(i)}function sb(i){return i=i|0,j[i+24>>0]|0}function ee(i,r){return i=i|0,r=r|0,0}function ob(i){return i=i|0,e[i+40>>2]|0}function ub(i){return i=i|0,e[i+48>>2]|0}function xf(i){return i=i|0,(i?31-(N2(i^i-1)|0)|0:32)|0}function _b(i,r){return i=i|0,r=r|0,K0[i&127](r|0)|0}function kb(i){return i=i|0,e[i+60>>2]|0}function si(i){return i=i|0,e[i+28>>2]|0}function qf(i){i=i|0,Jf(i),Y(i)}function W0(i){i=i|0,qs()}function hb(i,r){i=i|0,r=r|0,U=i,zs=r}function bb(i){return i=i|0,((i|0)==32|(i+-9|0)>>>0<5)&1|0}function pb(i){return i=i|0,(e[i>>2]|0)==0|0}function l4(i){return i=i|0,e[i+80>>2]|0}function J1(i,r,t,n){i=i|0,r=r|0,t=t|0,n=n|0,Ue(8)}function wb(i,r){i=i|0,r=r|0,l2[i&127](r|0)}function db(i,r){return i=i|0,r=r|0,Gk(i,r)|0}function mb(i){return i=i|0,i&255|0}function vb(i){i=i|0,e[i>>2]=0}function ye(i,r,t){return i=i|0,r=r|0,t=t|0,Ue(2),0}function A4(i){return i=i|0,e[i>>2]|0}function h1(i){return i=i|0,2}function j2(i){return i=i|0,1}function yb(i,r){return i=+i,r=r|0,+ +lf(i,r)}function cb(){return 3}function ci(i,r,t){i=i|0,r=r|0,t=t|0,Ue(7)}function Rb(){return-4}function Gb(){return 4}function Ri(i){return i=i|0,(i+-48|0)>>>0<10|0}function Vb(){return-3}function s4(){return 1}function Lf(){return 2}function jb(){return-5}function w2(i,r){return i=i|0,r=r|0,Ue(1),0}function oi(i){i=i|0,Ks()}function Nb(i){i=i|0,$f[i&1]()}function Tb(){return-2}function Ub(){Xs()}function O1(){return-1}function Kf(){return Db()|0}function S1(i,r){i=i|0,r=r|0,Ue(6)}function X1(){return 0}function B2(i){return i=i|0,v0(i)|0}function i2(i){i=i|0,Y(i)}function Fb(i){i=i|0,U=i}function Y(i){i=i|0,St(i)}function Eb(i){i=i|0,H=i}function Ib(i){return i=i|0,i|0}function H2(i){return i=i|0,Ue(0),0}function ie(i){i=i|0}function Ie(i){return i=i|0,0}function Zb(){return H|0}function Gi(){return 16848}function Wb(){return U|0}function W2(i){i=i|0,Ue(5)}function Db(){return 4172}function Bb(){Ue(4)}var K0=[H2,h1,j2,Eh,si,j2,u8,to,Uh,Ai,Ie,Ie,j2,Ie,j2,j2,Pi,h1,Pi,Nf,Pi,i4,B1,j2,qi,Af,j2,si,Tf,B1,j2,j2,Pi,h1,Pi,Nf,Pi,i4,B1,j2,qi,Af,j2,si,Tf,B1,j2,h1,Ie,Ai,j2,Ie,j2,h1,Ie,Ai,j2,Ie,j2,i4,qi,D1,j2,si,qi,D1,j2,si,qi,D1,j2,si,qi,D1,j2,si,uu,j2,j2,jk,Wo,N_,j2,Ie,Tu,Ck,Ok,Qk,z8,j2,Ai,r4,cu,$o,Ru,Y8,j2,Ai,r4,C8,j2,Ai,r4,n8,B3,Ie,j2,f_,A_,P6,nb,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2,H2],_2=[w2,g_,au,Pt,t6,Gh,ee,Df,h8,f8,ih,Df,b3,Qo,_3,L_,b_,u_,H_,Go,e4,ee,Lu,Ht,ee,Y1,ft,ee,df,mt,Hi,ee,Y1,nt,Ht,ee,Y1,ft,ee,df,mt,Hi,ee,Y1,nt,$u,e4,ee,n3,e4,ee,w3,ee,M1,Nt,Hi,ee,M1,Nt,Hi,ee,M1,Gt,Hi,ee,M1,Gt,Hi,Lk,fu,ee,ee,vk,dk,pk,$r,Fr,Er,Rr,ku,tu,eu,$r,Fr,Er,Rr,$r,Fr,Er,Rr,Tt,Mk,u3,Tt,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2,w2],Ze=[ye,Bk,Gf,T_,ok,p3,ar,nu,Nr,f6,d3,C3,A6,U3,c_,Ut,x_,i6,B6,K3,ye,ye,ye,ye,ye,ye,ye,ye,ye,ye,ye,ye],af=[ve,no,d8,_8,t8,uo,R8,co,m8,k8,e3,oo,c8,yo,Xu,Ju,N8,T8,U8,F8,ve,ve,ve,ve,ve,ve,ve,ve,ve,ve,ve,ve],$f=[Bb,Ub],l2=[W2,ie,i2,Fk,nk,J6,oi,H3,X3,fi,Ch,M3,Z3,F6,yf,K6,oi,u1,u1,u1,R_,v_,J_,B_,oi,V6,m6,ie,oi,i2,u6,r6,u1,u1,y_,m_,C_,Z_,oi,R6,b6,ie,oi,i2,l6,e6,yf,ie,i2,i2,sk,ek,ie,i2,hk,lk,ie,i2,bk,Ak,ie,i2,Uk,kk,ie,i2,Q_,D_,k_,oi,$3,a3,dt,Wk,Y_,E_,X6,Y6,_6,l_,r_,H6,Q6,k6,z_,W_,ot,mk,Rt,Rk,Or,ie,i2,oi,Or,Or,j6,y6,zi,Ab,ie,Hf,ie,ie,Hf,Jf,qf,qf,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2,W2],gf=[S1,w_,yu,K_,a4,S1,S1,S1],o4=[ci,__,Bi,Yi,Yi,Bi,Yi,Bi,l3,Et,ci,ci,ci,ci,ci,ci],P1=[J1,x3,Zo,c6,O_,J1,J1,J1],u4=[Pf,P3,Du,Pf],H1=[Of,o6,U_,Of];return{___cxa_can_catch:G6,___cxa_is_pointer_type:oh,___divdi3:p2,___muldi3:Y0,___udivdi3:k1,_bitshift64Lshr:me,_bitshift64Shl:_1,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:lh,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Ef,_emscripten_bind_AttributeOctahedronTransform___destroy___0:Q1,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:Ai,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:C6,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Ef,_emscripten_bind_AttributeQuantizationTransform___destroy___0:Q1,_emscripten_bind_AttributeQuantizationTransform_min_value_1:uh,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:Ai,_emscripten_bind_AttributeQuantizationTransform_range_0:Lh,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:nh,_emscripten_bind_AttributeTransformData___destroy___0:uk,_emscripten_bind_AttributeTransformData_transform_type_0:A4,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Yh,_emscripten_bind_DecoderBuffer_Init_2:ch,_emscripten_bind_DecoderBuffer___destroy___0:n4,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Xk,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Zk,_emscripten_bind_Decoder_Decoder_0:eb,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:ak,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:L6,_emscripten_bind_Decoder_GetAttributeFloat_3:Nk,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:ck,_emscripten_bind_Decoder_GetAttributeIdByName_2:th,_emscripten_bind_Decoder_GetAttributeId_2:Yk,_emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3:g6,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:Vf,_emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3:rk,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Vf,_emscripten_bind_Decoder_GetAttributeMetadata_2:Kk,_emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3:q6,_emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3:x6,_emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3:$6,_emscripten_bind_Decoder_GetAttribute_2:wh,_emscripten_bind_Decoder_GetEncodedGeometryType_1:_h,_emscripten_bind_Decoder_GetFaceFromMesh_3:Dk,_emscripten_bind_Decoder_GetMetadata_1:Th,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:zk,_emscripten_bind_Decoder_SkipAttributeTransform_1:sh,_emscripten_bind_Decoder___destroy___0:d_,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:vi,_emscripten_bind_DracoFloat32Array_GetValue_1:jh,_emscripten_bind_DracoFloat32Array___destroy___0:mi,_emscripten_bind_DracoFloat32Array_size_0:f4,_emscripten_bind_DracoInt16Array_DracoInt16Array_0:vi,_emscripten_bind_DracoInt16Array_GetValue_1:Mf,_emscripten_bind_DracoInt16Array___destroy___0:mi,_emscripten_bind_DracoInt16Array_size_0:Qf,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:vi,_emscripten_bind_DracoInt32Array_GetValue_1:Bf,_emscripten_bind_DracoInt32Array___destroy___0:mi,_emscripten_bind_DracoInt32Array_size_0:f4,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:vi,_emscripten_bind_DracoInt8Array_GetValue_1:Yf,_emscripten_bind_DracoInt8Array___destroy___0:mi,_emscripten_bind_DracoInt8Array_size_0:Xf,_emscripten_bind_DracoUInt16Array_DracoUInt16Array_0:vi,_emscripten_bind_DracoUInt16Array_GetValue_1:Mf,_emscripten_bind_DracoUInt16Array___destroy___0:mi,_emscripten_bind_DracoUInt16Array_size_0:Qf,_emscripten_bind_DracoUInt32Array_DracoUInt32Array_0:vi,_emscripten_bind_DracoUInt32Array_GetValue_1:Bf,_emscripten_bind_DracoUInt32Array___destroy___0:mi,_emscripten_bind_DracoUInt32Array_size_0:f4,_emscripten_bind_DracoUInt8Array_DracoUInt8Array_0:vi,_emscripten_bind_DracoUInt8Array_GetValue_1:Yf,_emscripten_bind_DracoUInt8Array___destroy___0:mi,_emscripten_bind_DracoUInt8Array_size_0:Xf,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Vh,_emscripten_bind_GeometryAttribute___destroy___0:n4,_emscripten_bind_Mesh_Mesh_0:ib,_emscripten_bind_Mesh___destroy___0:Q1,_emscripten_bind_Mesh_num_attributes_0:Cf,_emscripten_bind_Mesh_num_faces_0:Bh,_emscripten_bind_Mesh_num_points_0:l4,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:qk,_emscripten_bind_MetadataQuerier_GetEntryName_2:rh,_emscripten_bind_MetadataQuerier_GetIntEntry_2:gk,_emscripten_bind_MetadataQuerier_GetStringEntry_2:xk,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Hk,_emscripten_bind_MetadataQuerier_HasEntry_2:Ah,_emscripten_bind_MetadataQuerier_HasIntEntry_2:$k,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Pk,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:Mh,_emscripten_bind_MetadataQuerier_NumEntries_1:dh,_emscripten_bind_MetadataQuerier___destroy___0:F_,_emscripten_bind_Metadata_Metadata_0:d6,_emscripten_bind_Metadata___destroy___0:Nh,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:$h,_emscripten_bind_PointAttribute_PointAttribute_0:Zh,_emscripten_bind_PointAttribute___destroy___0:G_,_emscripten_bind_PointAttribute_attribute_type_0:lb,_emscripten_bind_PointAttribute_byte_offset_0:ub,_emscripten_bind_PointAttribute_byte_stride_0:ob,_emscripten_bind_PointAttribute_data_type_0:si,_emscripten_bind_PointAttribute_normalized_0:rb,_emscripten_bind_PointAttribute_num_components_0:sb,_emscripten_bind_PointAttribute_size_0:l4,_emscripten_bind_PointAttribute_unique_id_0:kb,_emscripten_bind_PointCloud_PointCloud_0:Oh,_emscripten_bind_PointCloud___destroy___0:Q1,_emscripten_bind_PointCloud_num_attributes_0:Cf,_emscripten_bind_PointCloud_num_points_0:l4,_emscripten_bind_Status___destroy___0:Ek,_emscripten_bind_Status_code_0:A4,_emscripten_bind_Status_error_msg_0:yk,_emscripten_bind_Status_ok_0:pb,_emscripten_bind_VoidPtr___destroy___0:n4,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:O1,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:X1,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:Lf,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:s4,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:O1,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:X1,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:s4,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Lf,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Gb,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:O1,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:s4,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:X1,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:cb,_emscripten_enum_draco_StatusCode_ERROR:O1,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:Vb,_emscripten_enum_draco_StatusCode_IO_ERROR:Tb,_emscripten_enum_draco_StatusCode_OK:X1,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:jb,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:Rb,_emscripten_replace_memory:as,_free:St,_i64Add:i0,_i64Subtract:H0,_llvm_bswap_i32:Sf,_malloc:qt,_memcpy:S0,_memmove:q2,_memset:E0,_sbrk:ni,dynCall_ii:_b,dynCall_iii:Ph,dynCall_iiii:yh,dynCall_iiiiiii:_k,dynCall_v:Nb,dynCall_vi:wb,dynCall_vii:gh,dynCall_viii:Ih,dynCall_viiii:bh,dynCall_viiiii:Sk,dynCall_viiiiii:Vk,establishStackSpace:hb,getTempRet0:Zb,runPostSets:Ik,setTempRet0:Eb,setThrew:Kh,stackAlloc:Wh,stackRestore:Fb,stackSave:Wb}}(r0.asmGlobalArg,r0.asmLibraryArg,te),bp=r0.___cxa_can_catch=M0.___cxa_can_catch,pp=r0.___cxa_is_pointer_type=M0.___cxa_is_pointer_type,wp=r0.___divdi3=M0.___divdi3,dp=r0.___muldi3=M0.___muldi3,mp=r0.___udivdi3=M0.___udivdi3,vp=r0._bitshift64Lshr=M0._bitshift64Lshr,yp=r0._bitshift64Shl=M0._bitshift64Shl,ol=r0._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=M0._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0,ul=r0._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=M0._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1,_l=r0._emscripten_bind_AttributeOctahedronTransform___destroy___0=M0._emscripten_bind_AttributeOctahedronTransform___destroy___0,kl=r0._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=M0._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0,hl=r0._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=M0._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0,bl=r0._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=M0._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1,pl=r0._emscripten_bind_AttributeQuantizationTransform___destroy___0=M0._emscripten_bind_AttributeQuantizationTransform___destroy___0,wl=r0._emscripten_bind_AttributeQuantizationTransform_min_value_1=M0._emscripten_bind_AttributeQuantizationTransform_min_value_1,dl=r0._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=M0._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0,ml=r0._emscripten_bind_AttributeQuantizationTransform_range_0=M0._emscripten_bind_AttributeQuantizationTransform_range_0,vl=r0._emscripten_bind_AttributeTransformData_AttributeTransformData_0=M0._emscripten_bind_AttributeTransformData_AttributeTransformData_0,yl=r0._emscripten_bind_AttributeTransformData___destroy___0=M0._emscripten_bind_AttributeTransformData___destroy___0,cl=r0._emscripten_bind_AttributeTransformData_transform_type_0=M0._emscripten_bind_AttributeTransformData_transform_type_0,Rl=r0._emscripten_bind_DecoderBuffer_DecoderBuffer_0=M0._emscripten_bind_DecoderBuffer_DecoderBuffer_0,Gl=r0._emscripten_bind_DecoderBuffer_Init_2=M0._emscripten_bind_DecoderBuffer_Init_2,Vl=r0._emscripten_bind_DecoderBuffer___destroy___0=M0._emscripten_bind_DecoderBuffer___destroy___0,jl=r0._emscripten_bind_Decoder_DecodeBufferToMesh_2=M0._emscripten_bind_Decoder_DecodeBufferToMesh_2,Nl=r0._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=M0._emscripten_bind_Decoder_DecodeBufferToPointCloud_2,Tl=r0._emscripten_bind_Decoder_Decoder_0=M0._emscripten_bind_Decoder_Decoder_0,Ul=r0._emscripten_bind_Decoder_GetAttributeByUniqueId_2=M0._emscripten_bind_Decoder_GetAttributeByUniqueId_2,Fl=r0._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3,El=r0._emscripten_bind_Decoder_GetAttributeFloat_3=M0._emscripten_bind_Decoder_GetAttributeFloat_3,Il=r0._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=M0._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3,Zl=r0._emscripten_bind_Decoder_GetAttributeIdByName_2=M0._emscripten_bind_Decoder_GetAttributeIdByName_2,Wl=r0._emscripten_bind_Decoder_GetAttributeId_2=M0._emscripten_bind_Decoder_GetAttributeId_2,Dl=r0._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3,Bl=r0._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3,Ml=r0._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3,Yl=r0._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3,Cl=r0._emscripten_bind_Decoder_GetAttributeMetadata_2=M0._emscripten_bind_Decoder_GetAttributeMetadata_2,zl=r0._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3,Ql=r0._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3,Jl=r0._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=M0._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3,Ol=r0._emscripten_bind_Decoder_GetAttribute_2=M0._emscripten_bind_Decoder_GetAttribute_2,Sl=r0._emscripten_bind_Decoder_GetEncodedGeometryType_1=M0._emscripten_bind_Decoder_GetEncodedGeometryType_1,Xl=r0._emscripten_bind_Decoder_GetFaceFromMesh_3=M0._emscripten_bind_Decoder_GetFaceFromMesh_3,Pl=r0._emscripten_bind_Decoder_GetMetadata_1=M0._emscripten_bind_Decoder_GetMetadata_1,Hl=r0._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=M0._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2,xl=r0._emscripten_bind_Decoder_SkipAttributeTransform_1=M0._emscripten_bind_Decoder_SkipAttributeTransform_1,ql=r0._emscripten_bind_Decoder___destroy___0=M0._emscripten_bind_Decoder___destroy___0,Ll=r0._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=M0._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0,Kl=r0._emscripten_bind_DracoFloat32Array_GetValue_1=M0._emscripten_bind_DracoFloat32Array_GetValue_1,al=r0._emscripten_bind_DracoFloat32Array___destroy___0=M0._emscripten_bind_DracoFloat32Array___destroy___0,$l=r0._emscripten_bind_DracoFloat32Array_size_0=M0._emscripten_bind_DracoFloat32Array_size_0,gl=r0._emscripten_bind_DracoInt16Array_DracoInt16Array_0=M0._emscripten_bind_DracoInt16Array_DracoInt16Array_0,eA=r0._emscripten_bind_DracoInt16Array_GetValue_1=M0._emscripten_bind_DracoInt16Array_GetValue_1,iA=r0._emscripten_bind_DracoInt16Array___destroy___0=M0._emscripten_bind_DracoInt16Array___destroy___0,rA=r0._emscripten_bind_DracoInt16Array_size_0=M0._emscripten_bind_DracoInt16Array_size_0,tA=r0._emscripten_bind_DracoInt32Array_DracoInt32Array_0=M0._emscripten_bind_DracoInt32Array_DracoInt32Array_0,fA=r0._emscripten_bind_DracoInt32Array_GetValue_1=M0._emscripten_bind_DracoInt32Array_GetValue_1,nA=r0._emscripten_bind_DracoInt32Array___destroy___0=M0._emscripten_bind_DracoInt32Array___destroy___0,lA=r0._emscripten_bind_DracoInt32Array_size_0=M0._emscripten_bind_DracoInt32Array_size_0,AA=r0._emscripten_bind_DracoInt8Array_DracoInt8Array_0=M0._emscripten_bind_DracoInt8Array_DracoInt8Array_0,sA=r0._emscripten_bind_DracoInt8Array_GetValue_1=M0._emscripten_bind_DracoInt8Array_GetValue_1,oA=r0._emscripten_bind_DracoInt8Array___destroy___0=M0._emscripten_bind_DracoInt8Array___destroy___0,uA=r0._emscripten_bind_DracoInt8Array_size_0=M0._emscripten_bind_DracoInt8Array_size_0,_A=r0._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=M0._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0,kA=r0._emscripten_bind_DracoUInt16Array_GetValue_1=M0._emscripten_bind_DracoUInt16Array_GetValue_1,hA=r0._emscripten_bind_DracoUInt16Array___destroy___0=M0._emscripten_bind_DracoUInt16Array___destroy___0,bA=r0._emscripten_bind_DracoUInt16Array_size_0=M0._emscripten_bind_DracoUInt16Array_size_0,pA=r0._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=M0._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0,wA=r0._emscripten_bind_DracoUInt32Array_GetValue_1=M0._emscripten_bind_DracoUInt32Array_GetValue_1,dA=r0._emscripten_bind_DracoUInt32Array___destroy___0=M0._emscripten_bind_DracoUInt32Array___destroy___0,mA=r0._emscripten_bind_DracoUInt32Array_size_0=M0._emscripten_bind_DracoUInt32Array_size_0,vA=r0._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=M0._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0,yA=r0._emscripten_bind_DracoUInt8Array_GetValue_1=M0._emscripten_bind_DracoUInt8Array_GetValue_1,cA=r0._emscripten_bind_DracoUInt8Array___destroy___0=M0._emscripten_bind_DracoUInt8Array___destroy___0,RA=r0._emscripten_bind_DracoUInt8Array_size_0=M0._emscripten_bind_DracoUInt8Array_size_0,GA=r0._emscripten_bind_GeometryAttribute_GeometryAttribute_0=M0._emscripten_bind_GeometryAttribute_GeometryAttribute_0,VA=r0._emscripten_bind_GeometryAttribute___destroy___0=M0._emscripten_bind_GeometryAttribute___destroy___0,jA=r0._emscripten_bind_Mesh_Mesh_0=M0._emscripten_bind_Mesh_Mesh_0,NA=r0._emscripten_bind_Mesh___destroy___0=M0._emscripten_bind_Mesh___destroy___0,TA=r0._emscripten_bind_Mesh_num_attributes_0=M0._emscripten_bind_Mesh_num_attributes_0,UA=r0._emscripten_bind_Mesh_num_faces_0=M0._emscripten_bind_Mesh_num_faces_0,FA=r0._emscripten_bind_Mesh_num_points_0=M0._emscripten_bind_Mesh_num_points_0,EA=r0._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=M0._emscripten_bind_MetadataQuerier_GetDoubleEntry_2,IA=r0._emscripten_bind_MetadataQuerier_GetEntryName_2=M0._emscripten_bind_MetadataQuerier_GetEntryName_2,ZA=r0._emscripten_bind_MetadataQuerier_GetIntEntry_2=M0._emscripten_bind_MetadataQuerier_GetIntEntry_2,WA=r0._emscripten_bind_MetadataQuerier_GetStringEntry_2=M0._emscripten_bind_MetadataQuerier_GetStringEntry_2,DA=r0._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=M0._emscripten_bind_MetadataQuerier_HasDoubleEntry_2,BA=r0._emscripten_bind_MetadataQuerier_HasEntry_2=M0._emscripten_bind_MetadataQuerier_HasEntry_2,MA=r0._emscripten_bind_MetadataQuerier_HasIntEntry_2=M0._emscripten_bind_MetadataQuerier_HasIntEntry_2,YA=r0._emscripten_bind_MetadataQuerier_HasStringEntry_2=M0._emscripten_bind_MetadataQuerier_HasStringEntry_2,CA=r0._emscripten_bind_MetadataQuerier_MetadataQuerier_0=M0._emscripten_bind_MetadataQuerier_MetadataQuerier_0,zA=r0._emscripten_bind_MetadataQuerier_NumEntries_1=M0._emscripten_bind_MetadataQuerier_NumEntries_1,QA=r0._emscripten_bind_MetadataQuerier___destroy___0=M0._emscripten_bind_MetadataQuerier___destroy___0,JA=r0._emscripten_bind_Metadata_Metadata_0=M0._emscripten_bind_Metadata_Metadata_0,OA=r0._emscripten_bind_Metadata___destroy___0=M0._emscripten_bind_Metadata___destroy___0,SA=r0._emscripten_bind_PointAttribute_GetAttributeTransformData_0=M0._emscripten_bind_PointAttribute_GetAttributeTransformData_0,XA=r0._emscripten_bind_PointAttribute_PointAttribute_0=M0._emscripten_bind_PointAttribute_PointAttribute_0,PA=r0._emscripten_bind_PointAttribute___destroy___0=M0._emscripten_bind_PointAttribute___destroy___0,HA=r0._emscripten_bind_PointAttribute_attribute_type_0=M0._emscripten_bind_PointAttribute_attribute_type_0,xA=r0._emscripten_bind_PointAttribute_byte_offset_0=M0._emscripten_bind_PointAttribute_byte_offset_0,qA=r0._emscripten_bind_PointAttribute_byte_stride_0=M0._emscripten_bind_PointAttribute_byte_stride_0,LA=r0._emscripten_bind_PointAttribute_data_type_0=M0._emscripten_bind_PointAttribute_data_type_0,KA=r0._emscripten_bind_PointAttribute_normalized_0=M0._emscripten_bind_PointAttribute_normalized_0,aA=r0._emscripten_bind_PointAttribute_num_components_0=M0._emscripten_bind_PointAttribute_num_components_0,$A=r0._emscripten_bind_PointAttribute_size_0=M0._emscripten_bind_PointAttribute_size_0,gA=r0._emscripten_bind_PointAttribute_unique_id_0=M0._emscripten_bind_PointAttribute_unique_id_0,es=r0._emscripten_bind_PointCloud_PointCloud_0=M0._emscripten_bind_PointCloud_PointCloud_0,is=r0._emscripten_bind_PointCloud___destroy___0=M0._emscripten_bind_PointCloud___destroy___0,rs=r0._emscripten_bind_PointCloud_num_attributes_0=M0._emscripten_bind_PointCloud_num_attributes_0,ts=r0._emscripten_bind_PointCloud_num_points_0=M0._emscripten_bind_PointCloud_num_points_0,fs=r0._emscripten_bind_Status___destroy___0=M0._emscripten_bind_Status___destroy___0,ns=r0._emscripten_bind_Status_code_0=M0._emscripten_bind_Status_code_0,ls=r0._emscripten_bind_Status_error_msg_0=M0._emscripten_bind_Status_error_msg_0,As=r0._emscripten_bind_Status_ok_0=M0._emscripten_bind_Status_ok_0,ss=r0._emscripten_bind_VoidPtr___destroy___0=M0._emscripten_bind_VoidPtr___destroy___0,os=r0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=M0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM,us=r0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=M0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM,_s=r0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=M0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM,ks=r0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=M0._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM,hs=r0._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=M0._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE,bs=r0._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=M0._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD,ps=r0._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=M0._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH,ws=r0._emscripten_enum_draco_GeometryAttribute_Type_COLOR=M0._emscripten_enum_draco_GeometryAttribute_Type_COLOR,ds=r0._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=M0._emscripten_enum_draco_GeometryAttribute_Type_GENERIC,ms=r0._emscripten_enum_draco_GeometryAttribute_Type_INVALID=M0._emscripten_enum_draco_GeometryAttribute_Type_INVALID,vs=r0._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=M0._emscripten_enum_draco_GeometryAttribute_Type_NORMAL,ys=r0._emscripten_enum_draco_GeometryAttribute_Type_POSITION=M0._emscripten_enum_draco_GeometryAttribute_Type_POSITION,cs=r0._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=M0._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD,Rs=r0._emscripten_enum_draco_StatusCode_ERROR=M0._emscripten_enum_draco_StatusCode_ERROR,Gs=r0._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=M0._emscripten_enum_draco_StatusCode_INVALID_PARAMETER,Vs=r0._emscripten_enum_draco_StatusCode_IO_ERROR=M0._emscripten_enum_draco_StatusCode_IO_ERROR,js=r0._emscripten_enum_draco_StatusCode_OK=M0._emscripten_enum_draco_StatusCode_OK,Ns=r0._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=M0._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION,Ts=r0._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=M0._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION,Us=r0._emscripten_replace_memory=M0._emscripten_replace_memory,cp=r0._free=M0._free,Rp=r0._i64Add=M0._i64Add,Gp=r0._i64Subtract=M0._i64Subtract,Vp=r0._llvm_bswap_i32=M0._llvm_bswap_i32,C4=r0._malloc=M0._malloc,jp=r0._memcpy=M0._memcpy,Np=r0._memmove=M0._memmove,Tp=r0._memset=M0._memset,Up=r0._sbrk=M0._sbrk,Fp=r0.establishStackSpace=M0.establishStackSpace,Ep=r0.getTempRet0=M0.getTempRet0,Ip=r0.runPostSets=M0.runPostSets,v1=r0.setTempRet0=M0.setTempRet0,Zp=r0.setThrew=M0.setThrew,z4=r0.stackAlloc=M0.stackAlloc,Q4=r0.stackRestore=M0.stackRestore,J4=r0.stackSave=M0.stackSave,Wp=r0.dynCall_ii=M0.dynCall_ii,Dp=r0.dynCall_iii=M0.dynCall_iii,Bp=r0.dynCall_iiii=M0.dynCall_iiii,Mp=r0.dynCall_iiiiiii=M0.dynCall_iiiiiii,Yp=r0.dynCall_v=M0.dynCall_v,Cp=r0.dynCall_vi=M0.dynCall_vi,zp=r0.dynCall_vii=M0.dynCall_vii,Qp=r0.dynCall_viii=M0.dynCall_viii,Jp=r0.dynCall_viiii=M0.dynCall_viiii,Op=r0.dynCall_viiiii=M0.dynCall_viiiii,Sp=r0.dynCall_viiiiii=M0.dynCall_viiiiii;if(r0.asm=M0,Ge)if(M4(Ge)||(typeof r0.locateFile=="function"?Ge=r0.locateFile(Ge):r0.memoryInitializerPrefixURL&&(Ge=r0.memoryInitializerPrefixURL+Ge)),$e||b1){var Fs=r0.readBinary(Ge);Re.set(Fs,$1)}else{let S=function(){r0.readAsync(Ge,Ar,function(){throw"could not load memory initializer "+Ge})};En("memory initializer");var Ar=function(K){K.byteLength&&(K=new Uint8Array(K)),Re.set(K,$1),r0.memoryInitializerRequest&&delete r0.memoryInitializerRequest.response,In("memory initializer")},O4=ii(Ge);if(O4)Ar(O4.buffer);else if(r0.memoryInitializerRequest){let K=function(){var u0=r0.memoryInitializerRequest,B0=u0.response;if(u0.status!==200&&u0.status!==0){var j=ii(r0.memoryInitializerRequestURL);if(j)B0=j.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+u0.status+", retrying "+Ge),S();return}}Ar(B0)};r0.memoryInitializerRequest.response?setTimeout(K,0):r0.memoryInitializerRequest.addEventListener("load",K)}else S()}r0.then=function(S){if(r0.calledRun)S(r0);else{var K=r0.onRuntimeInitialized;r0.onRuntimeInitialized=function(){K&&K(),S(r0)}}return r0};function l1(S){this.name="ExitStatus",this.message="Program terminated with exit("+S+")",this.status=S}l1.prototype=new Error,l1.prototype.constructor=l1;var Es;t1=function S(){r0.calledRun||sr(),r0.calledRun||(t1=S)};function sr(S){if(S=S||r0.arguments,ki>0||(vn(),ki>0)||r0.calledRun)return;function K(){r0.calledRun||(r0.calledRun=!0,!e1&&(yn(),cn(),r0.onRuntimeInitialized&&r0.onRuntimeInitialized(),Gn()))}r0.setStatus?(r0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r0.setStatus("")},1),K()},1)):K()}r0.run=sr;function Is(S,K){K&&r0.noExitRuntime&&S===0||(r0.noExitRuntime||(e1=!0,m4=S,w1=Es,Rn(),r0.onExit&&r0.onExit(S)),$e&&process.exit(S),r0.quit(S,new l1(S)))}r0.exit=Is;function Be(S){throw r0.onAbort&&r0.onAbort(S),S!==void 0?(r0.print(S),r0.printErr(S),S=JSON.stringify(S)):S="",e1=!0,m4=1,"abort("+S+"). Build with -s ASSERTIONS=1 for more info."}if(r0.abort=Be,r0.preInit)for(typeof r0.preInit=="function"&&(r0.preInit=[r0.preInit]);r0.preInit.length>0;)r0.preInit.pop()();r0.noExitRuntime=!0,sr();function v2(){}v2.prototype=Object.create(v2.prototype),v2.prototype.constructor=v2,v2.prototype.__class__=v2,v2.__cache__={},r0.WrapperObject=v2;function Z2(S){return(S||v2).__cache__}r0.getCache=Z2;function Me(S,K){var u0=Z2(K),B0=u0[S];return B0||(B0=Object.create((K||v2).prototype),B0.ptr=S,u0[S]=B0)}r0.wrapPointer=Me;function Zs(S,K){return Me(S.ptr,K)}r0.castObject=Zs,r0.NULL=Me(0);function Ws(S){if(!S.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";S.__destroy__(),delete Z2(S.__class__)[S.ptr]}r0.destroy=Ws;function Ds(S,K){return S.ptr===K.ptr}r0.compare=Ds;function Bs(S){return S.ptr}r0.getPointer=Bs;function Ms(S){return S.__class__}r0.getClass=Ms;var h2={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(h2.needed){for(var S=0;S<h2.temps.length;S++)r0._free(h2.temps[S]);h2.temps.length=0,r0._free(h2.buffer),h2.buffer=0,h2.size+=h2.needed,h2.needed=0}h2.buffer||(h2.size+=128,h2.buffer=r0._malloc(h2.size),$2(h2.buffer)),h2.pos=0},alloc:function(S,K){$2(h2.buffer);var u0=K.BYTES_PER_ELEMENT,B0=S.length*u0;B0=B0+7&-8;var j;return h2.pos+B0>=h2.size?($2(B0>0),h2.needed+=B0,j=r0._malloc(B0),h2.temps.push(j)):(j=h2.buffer+h2.pos,h2.pos+=B0),j},copy:function(S,K,u0){var B0=u0,j=K.BYTES_PER_ELEMENT;switch(j){case 2:B0>>=1;break;case 4:B0>>=2;break;case 8:B0>>=3;break}for(var e2=0;e2<S.length;e2++)K[B0+e2]=S[e2]}};function Ye(S){if(typeof S=="string"){var K=Ln(S),u0=h2.alloc(K,Te);return h2.copy(K,Te,u0),u0}return S}function Ys(S){if(typeof S=="object"){var K=h2.alloc(S,Te);return h2.copy(S,Te,K),K}return S}function x2(){throw"cannot construct a Status, no constructor in IDL"}x2.prototype=Object.create(v2.prototype),x2.prototype.constructor=x2,x2.prototype.__class__=x2,x2.__cache__={},r0.Status=x2,x2.prototype.code=x2.prototype.code=function(){var S=this.ptr;return ns(S)},x2.prototype.ok=x2.prototype.ok=function(){var S=this.ptr;return!!As(S)},x2.prototype.error_msg=x2.prototype.error_msg=function(){var S=this.ptr;return i1(ls(S))},x2.prototype.__destroy__=x2.prototype.__destroy__=function(){var S=this.ptr;fs(S)};function fe(){this.ptr=_A(),Z2(fe)[this.ptr]=this}fe.prototype=Object.create(v2.prototype),fe.prototype.constructor=fe,fe.prototype.__class__=fe,fe.__cache__={},r0.DracoUInt16Array=fe,fe.prototype.GetValue=fe.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),kA(K,S)},fe.prototype.size=fe.prototype.size=function(){var S=this.ptr;return bA(S)},fe.prototype.__destroy__=fe.prototype.__destroy__=function(){var S=this.ptr;hA(S)};function ne(){this.ptr=es(),Z2(ne)[this.ptr]=this}ne.prototype=Object.create(v2.prototype),ne.prototype.constructor=ne,ne.prototype.__class__=ne,ne.__cache__={},r0.PointCloud=ne,ne.prototype.num_attributes=ne.prototype.num_attributes=function(){var S=this.ptr;return rs(S)},ne.prototype.num_points=ne.prototype.num_points=function(){var S=this.ptr;return ts(S)},ne.prototype.__destroy__=ne.prototype.__destroy__=function(){var S=this.ptr;is(S)};function le(){this.ptr=vA(),Z2(le)[this.ptr]=this}le.prototype=Object.create(v2.prototype),le.prototype.constructor=le,le.prototype.__class__=le,le.__cache__={},r0.DracoUInt8Array=le,le.prototype.GetValue=le.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),yA(K,S)},le.prototype.size=le.prototype.size=function(){var S=this.ptr;return RA(S)},le.prototype.__destroy__=le.prototype.__destroy__=function(){var S=this.ptr;cA(S)};function Ae(){this.ptr=pA(),Z2(Ae)[this.ptr]=this}Ae.prototype=Object.create(v2.prototype),Ae.prototype.constructor=Ae,Ae.prototype.__class__=Ae,Ae.__cache__={},r0.DracoUInt32Array=Ae,Ae.prototype.GetValue=Ae.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),wA(K,S)},Ae.prototype.size=Ae.prototype.size=function(){var S=this.ptr;return mA(S)},Ae.prototype.__destroy__=Ae.prototype.__destroy__=function(){var S=this.ptr;dA(S)};function se(){this.ptr=ol(),Z2(se)[this.ptr]=this}se.prototype=Object.create(v2.prototype),se.prototype.constructor=se,se.prototype.__class__=se,se.__cache__={},r0.AttributeOctahedronTransform=se,se.prototype.InitFromAttribute=se.prototype.InitFromAttribute=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),!!ul(K,S)},se.prototype.quantization_bits=se.prototype.quantization_bits=function(){var S=this.ptr;return kl(S)},se.prototype.__destroy__=se.prototype.__destroy__=function(){var S=this.ptr;_l(S)};function y2(){this.ptr=XA(),Z2(y2)[this.ptr]=this}y2.prototype=Object.create(v2.prototype),y2.prototype.constructor=y2,y2.prototype.__class__=y2,y2.__cache__={},r0.PointAttribute=y2,y2.prototype.size=y2.prototype.size=function(){var S=this.ptr;return $A(S)},y2.prototype.GetAttributeTransformData=y2.prototype.GetAttributeTransformData=function(){var S=this.ptr;return Me(SA(S),we)},y2.prototype.attribute_type=y2.prototype.attribute_type=function(){var S=this.ptr;return HA(S)},y2.prototype.data_type=y2.prototype.data_type=function(){var S=this.ptr;return LA(S)},y2.prototype.num_components=y2.prototype.num_components=function(){var S=this.ptr;return aA(S)},y2.prototype.normalized=y2.prototype.normalized=function(){var S=this.ptr;return!!KA(S)},y2.prototype.byte_stride=y2.prototype.byte_stride=function(){var S=this.ptr;return qA(S)},y2.prototype.byte_offset=y2.prototype.byte_offset=function(){var S=this.ptr;return xA(S)},y2.prototype.unique_id=y2.prototype.unique_id=function(){var S=this.ptr;return gA(S)},y2.prototype.__destroy__=y2.prototype.__destroy__=function(){var S=this.ptr;PA(S)};function we(){this.ptr=vl(),Z2(we)[this.ptr]=this}we.prototype=Object.create(v2.prototype),we.prototype.constructor=we,we.prototype.__class__=we,we.__cache__={},r0.AttributeTransformData=we,we.prototype.transform_type=we.prototype.transform_type=function(){var S=this.ptr;return cl(S)},we.prototype.__destroy__=we.prototype.__destroy__=function(){var S=this.ptr;yl(S)};function X2(){this.ptr=hl(),Z2(X2)[this.ptr]=this}X2.prototype=Object.create(v2.prototype),X2.prototype.constructor=X2,X2.prototype.__class__=X2,X2.__cache__={},r0.AttributeQuantizationTransform=X2,X2.prototype.InitFromAttribute=X2.prototype.InitFromAttribute=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),!!bl(K,S)},X2.prototype.quantization_bits=X2.prototype.quantization_bits=function(){var S=this.ptr;return dl(S)},X2.prototype.min_value=X2.prototype.min_value=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),wl(K,S)},X2.prototype.range=X2.prototype.range=function(){var S=this.ptr;return ml(S)},X2.prototype.__destroy__=X2.prototype.__destroy__=function(){var S=this.ptr;pl(S)};function oe(){this.ptr=AA(),Z2(oe)[this.ptr]=this}oe.prototype=Object.create(v2.prototype),oe.prototype.constructor=oe,oe.prototype.__class__=oe,oe.__cache__={},r0.DracoInt8Array=oe,oe.prototype.GetValue=oe.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),sA(K,S)},oe.prototype.size=oe.prototype.size=function(){var S=this.ptr;return uA(S)},oe.prototype.__destroy__=oe.prototype.__destroy__=function(){var S=this.ptr;oA(S)};function G2(){this.ptr=CA(),Z2(G2)[this.ptr]=this}G2.prototype=Object.create(v2.prototype),G2.prototype.constructor=G2,G2.prototype.__class__=G2,G2.__cache__={},r0.MetadataQuerier=G2,G2.prototype.HasEntry=G2.prototype.HasEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),!!BA(u0,S,K)},G2.prototype.HasIntEntry=G2.prototype.HasIntEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),!!MA(u0,S,K)},G2.prototype.GetIntEntry=G2.prototype.GetIntEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),ZA(u0,S,K)},G2.prototype.HasDoubleEntry=G2.prototype.HasDoubleEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),!!DA(u0,S,K)},G2.prototype.GetDoubleEntry=G2.prototype.GetDoubleEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),EA(u0,S,K)},G2.prototype.HasStringEntry=G2.prototype.HasStringEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),!!YA(u0,S,K)},G2.prototype.GetStringEntry=G2.prototype.GetStringEntry=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),i1(WA(u0,S,K))},G2.prototype.NumEntries=G2.prototype.NumEntries=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),zA(K,S)},G2.prototype.GetEntryName=G2.prototype.GetEntryName=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),i1(IA(u0,S,K))},G2.prototype.__destroy__=G2.prototype.__destroy__=function(){var S=this.ptr;QA(S)};function ue(){this.ptr=gl(),Z2(ue)[this.ptr]=this}ue.prototype=Object.create(v2.prototype),ue.prototype.constructor=ue,ue.prototype.__class__=ue,ue.__cache__={},r0.DracoInt16Array=ue,ue.prototype.GetValue=ue.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),eA(K,S)},ue.prototype.size=ue.prototype.size=function(){var S=this.ptr;return rA(S)},ue.prototype.__destroy__=ue.prototype.__destroy__=function(){var S=this.ptr;iA(S)};function _e(){this.ptr=Ll(),Z2(_e)[this.ptr]=this}_e.prototype=Object.create(v2.prototype),_e.prototype.constructor=_e,_e.prototype.__class__=_e,_e.__cache__={},r0.DracoFloat32Array=_e,_e.prototype.GetValue=_e.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),Kl(K,S)},_e.prototype.size=_e.prototype.size=function(){var S=this.ptr;return $l(S)},_e.prototype.__destroy__=_e.prototype.__destroy__=function(){var S=this.ptr;al(S)};function Ce(){this.ptr=GA(),Z2(Ce)[this.ptr]=this}Ce.prototype=Object.create(v2.prototype),Ce.prototype.constructor=Ce,Ce.prototype.__class__=Ce,Ce.__cache__={},r0.GeometryAttribute=Ce,Ce.prototype.__destroy__=Ce.prototype.__destroy__=function(){var S=this.ptr;VA(S)};function Ve(){this.ptr=Rl(),Z2(Ve)[this.ptr]=this}Ve.prototype=Object.create(v2.prototype),Ve.prototype.constructor=Ve,Ve.prototype.__class__=Ve,Ve.__cache__={},r0.DecoderBuffer=Ve,Ve.prototype.Init=Ve.prototype.Init=function(S,K){var u0=this.ptr;h2.prepare(),typeof S=="object"&&(S=Ys(S)),K&&typeof K=="object"&&(K=K.ptr),Gl(u0,S,K)},Ve.prototype.__destroy__=Ve.prototype.__destroy__=function(){var S=this.ptr;Vl(S)};function r2(){this.ptr=Tl(),Z2(r2)[this.ptr]=this}r2.prototype=Object.create(v2.prototype),r2.prototype.constructor=r2,r2.prototype.__class__=r2,r2.__cache__={},r0.Decoder=r2,r2.prototype.GetEncodedGeometryType=r2.prototype.GetEncodedGeometryType=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),Sl(K,S)},r2.prototype.DecodeBufferToPointCloud=r2.prototype.DecodeBufferToPointCloud=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Me(Nl(u0,S,K),x2)},r2.prototype.DecodeBufferToMesh=r2.prototype.DecodeBufferToMesh=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Me(jl(u0,S,K),x2)},r2.prototype.GetAttributeId=r2.prototype.GetAttributeId=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Wl(u0,S,K)},r2.prototype.GetAttributeIdByName=r2.prototype.GetAttributeIdByName=function(S,K){var u0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),Zl(u0,S,K)},r2.prototype.GetAttributeIdByMetadataEntry=r2.prototype.GetAttributeIdByMetadataEntry=function(S,K,u0){var B0=this.ptr;return h2.prepare(),S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"?K=K.ptr:K=Ye(K),u0&&typeof u0=="object"?u0=u0.ptr:u0=Ye(u0),Il(B0,S,K,u0)},r2.prototype.GetAttribute=r2.prototype.GetAttribute=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Me(Ol(u0,S,K),y2)},r2.prototype.GetAttributeByUniqueId=r2.prototype.GetAttributeByUniqueId=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Me(Ul(u0,S,K),y2)},r2.prototype.GetMetadata=r2.prototype.GetMetadata=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),Me(Pl(K,S),je)},r2.prototype.GetAttributeMetadata=r2.prototype.GetAttributeMetadata=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Me(Cl(u0,S,K),je)},r2.prototype.GetFaceFromMesh=r2.prototype.GetFaceFromMesh=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Xl(B0,S,K,u0)},r2.prototype.GetTriangleStripsFromMesh=r2.prototype.GetTriangleStripsFromMesh=function(S,K){var u0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),Hl(u0,S,K)},r2.prototype.GetAttributeFloat=r2.prototype.GetAttributeFloat=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!El(B0,S,K,u0)},r2.prototype.GetAttributeFloatForAllPoints=r2.prototype.GetAttributeFloatForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Fl(B0,S,K,u0)},r2.prototype.GetAttributeIntForAllPoints=r2.prototype.GetAttributeIntForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Yl(B0,S,K,u0)},r2.prototype.GetAttributeInt8ForAllPoints=r2.prototype.GetAttributeInt8ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Ml(B0,S,K,u0)},r2.prototype.GetAttributeUInt8ForAllPoints=r2.prototype.GetAttributeUInt8ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Jl(B0,S,K,u0)},r2.prototype.GetAttributeInt16ForAllPoints=r2.prototype.GetAttributeInt16ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Dl(B0,S,K,u0)},r2.prototype.GetAttributeUInt16ForAllPoints=r2.prototype.GetAttributeUInt16ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!zl(B0,S,K,u0)},r2.prototype.GetAttributeInt32ForAllPoints=r2.prototype.GetAttributeInt32ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Bl(B0,S,K,u0)},r2.prototype.GetAttributeUInt32ForAllPoints=r2.prototype.GetAttributeUInt32ForAllPoints=function(S,K,u0){var B0=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),K&&typeof K=="object"&&(K=K.ptr),u0&&typeof u0=="object"&&(u0=u0.ptr),!!Ql(B0,S,K,u0)},r2.prototype.SkipAttributeTransform=r2.prototype.SkipAttributeTransform=function(S){var K=this.ptr;S&&typeof S=="object"&&(S=S.ptr),xl(K,S)},r2.prototype.__destroy__=r2.prototype.__destroy__=function(){var S=this.ptr;ql(S)};function g2(){this.ptr=jA(),Z2(g2)[this.ptr]=this}g2.prototype=Object.create(v2.prototype),g2.prototype.constructor=g2,g2.prototype.__class__=g2,g2.__cache__={},r0.Mesh=g2,g2.prototype.num_faces=g2.prototype.num_faces=function(){var S=this.ptr;return UA(S)},g2.prototype.num_attributes=g2.prototype.num_attributes=function(){var S=this.ptr;return TA(S)},g2.prototype.num_points=g2.prototype.num_points=function(){var S=this.ptr;return FA(S)},g2.prototype.__destroy__=g2.prototype.__destroy__=function(){var S=this.ptr;NA(S)};function Se(){throw"cannot construct a VoidPtr, no constructor in IDL"}Se.prototype=Object.create(v2.prototype),Se.prototype.constructor=Se,Se.prototype.__class__=Se,Se.__cache__={},r0.VoidPtr=Se,Se.prototype.__destroy__=Se.prototype.__destroy__=function(){var S=this.ptr;ss(S)};function ke(){this.ptr=tA(),Z2(ke)[this.ptr]=this}ke.prototype=Object.create(v2.prototype),ke.prototype.constructor=ke,ke.prototype.__class__=ke,ke.__cache__={},r0.DracoInt32Array=ke,ke.prototype.GetValue=ke.prototype.GetValue=function(S){var K=this.ptr;return S&&typeof S=="object"&&(S=S.ptr),fA(K,S)},ke.prototype.size=ke.prototype.size=function(){var S=this.ptr;return lA(S)},ke.prototype.__destroy__=ke.prototype.__destroy__=function(){var S=this.ptr;nA(S)};function je(){this.ptr=JA(),Z2(je)[this.ptr]=this}return je.prototype=Object.create(v2.prototype),je.prototype.constructor=je,je.prototype.__class__=je,je.__cache__={},r0.Metadata=je,je.prototype.__destroy__=je.prototype.__destroy__=function(){var S=this.ptr;OA(S)},function(){function S(){r0.OK=js(),r0.ERROR=Rs(),r0.IO_ERROR=Vs(),r0.INVALID_PARAMETER=Gs(),r0.UNSUPPORTED_VERSION=Ts(),r0.UNKNOWN_VERSION=Ns(),r0.INVALID_GEOMETRY_TYPE=hs(),r0.POINT_CLOUD=bs(),r0.TRIANGULAR_MESH=ps(),r0.ATTRIBUTE_INVALID_TRANSFORM=os(),r0.ATTRIBUTE_NO_TRANSFORM=us(),r0.ATTRIBUTE_QUANTIZATION_TRANSFORM=ks(),r0.ATTRIBUTE_OCTAHEDRON_TRANSFORM=_s(),r0.INVALID=ms(),r0.POSITION=ys(),r0.NORMAL=vs(),r0.COLOR=ws(),r0.TEX_COORD=cs(),r0.GENERIC=ds()}r0.calledRun?S():jn(S)}(),typeof r0.onModuleParsed=="function"&&r0.onModuleParsed(),ai};typeof exports=="object"&&typeof module=="object"?module.exports=DracoDecoderModule:typeof define=="function"&&define.amd?define([],function(){return DracoDecoderModule}):typeof exports=="object"&&(exports.DracoDecoderModule=DracoDecoderModule);